From 30519330c723374526e7dbfc14807cc8da86c2c0 Mon Sep 17 00:00:00 2001 From: Johan Euphrosine Date: Mon, 21 Jul 2014 11:55:43 -0700 Subject: [PATCH 1/3] integration-cli: add more tests for BuildAddTar Docker-DCO-1.1-Signed-off-by: Johan Euphrosine (github: proppy) --- .../build_tests/TestBuildAddTar/1/Dockerfile | 3 -- .../build_tests/TestBuildAddTar/2/Dockerfile | 3 -- .../build_tests/TestBuildAddTar/2/test.tar | Bin 2560 -> 0 bytes .../build_tests/TestBuildAddTar/Dockerfile | 14 ++++++++ .../TestBuildAddTar/{1 => }/test.tar | Bin integration-cli/docker_cli_build_test.go | 33 ++++-------------- 6 files changed, 20 insertions(+), 33 deletions(-) delete mode 100644 integration-cli/build_tests/TestBuildAddTar/1/Dockerfile delete mode 100644 integration-cli/build_tests/TestBuildAddTar/2/Dockerfile delete mode 100644 integration-cli/build_tests/TestBuildAddTar/2/test.tar create mode 100644 integration-cli/build_tests/TestBuildAddTar/Dockerfile rename integration-cli/build_tests/TestBuildAddTar/{1 => }/test.tar (100%) diff --git a/integration-cli/build_tests/TestBuildAddTar/1/Dockerfile b/integration-cli/build_tests/TestBuildAddTar/1/Dockerfile deleted file mode 100644 index 2091b0e4d9..0000000000 --- a/integration-cli/build_tests/TestBuildAddTar/1/Dockerfile +++ /dev/null @@ -1,3 +0,0 @@ -FROM busybox -ADD test.tar /test.tar -RUN cat /test.tar/test/foo diff --git a/integration-cli/build_tests/TestBuildAddTar/2/Dockerfile b/integration-cli/build_tests/TestBuildAddTar/2/Dockerfile deleted file mode 100644 index 830e9ddbee..0000000000 --- a/integration-cli/build_tests/TestBuildAddTar/2/Dockerfile +++ /dev/null @@ -1,3 +0,0 @@ -FROM busybox -ADD test.tar / -RUN cat /test/foo diff --git a/integration-cli/build_tests/TestBuildAddTar/2/test.tar b/integration-cli/build_tests/TestBuildAddTar/2/test.tar deleted file mode 100644 index 33639c647642cce352588cd4f13c021a0b222455..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2560 zcmeH^K?=k$2t~7=Q+R`M8WXQD*XTe4T?Ja_{$rYUGtle;h3ZC(V!rRow93=<4MgM+ zz?B?p#(}n4pSFP4;6r3aW(L%P$U*2Ut8V|UGA=4j=1*Q4AL>|2jsAW|IZ^`}lb32q t@jvC -2 { - t.Fatalf("Could not find contents of %s in build output", x) - } - } - for _, n := range []string{"1", "2"} { - buildDirectory := filepath.Join(workingDirectory, "build_tests", "TestBuildAddTar", n) - buildCmd := exec.Command(dockerBinary, "build", "-t", name, ".") - buildCmd.Dir = buildDirectory - out, _, err := runCommandWithOutput(buildCmd) - errorOut(err, t, fmt.Sprintf("build failed to complete for TestBuildAddTar/%s: %v", n, err)) - checkOutput(out) - } + buildDirectory := filepath.Join(workingDirectory, "build_tests", "TestBuildAddTar") + buildCmd := exec.Command(dockerBinary, "build", "-t", name, ".") + buildCmd.Dir = buildDirectory + out, _, err := runCommandWithOutput(buildCmd) + errorOut(err, t, fmt.Sprintf("build failed to complete for TestBuildAddTar/%s: %v", n, err)) + logDone("build - ADD tar") } From 24c00c8508b33de4229280f0be2e7b5761d6ed0e Mon Sep 17 00:00:00 2001 From: Johan Euphrosine Date: Mon, 21 Jul 2014 12:10:47 -0700 Subject: [PATCH 2/3] integration-cli/TestBuildAddTar: generate context from test Docker-DCO-1.1-Signed-off-by: Johan Euphrosine (github: proppy) --- .../build_tests/TestBuildAddTar/test.tar | Bin 2560 -> 0 bytes integration-cli/docker_cli_build_test.go | 50 ++++++++++++++++-- 2 files changed, 45 insertions(+), 5 deletions(-) delete mode 100644 integration-cli/build_tests/TestBuildAddTar/test.tar diff --git a/integration-cli/build_tests/TestBuildAddTar/test.tar b/integration-cli/build_tests/TestBuildAddTar/test.tar deleted file mode 100644 index 33639c647642cce352588cd4f13c021a0b222455..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2560 zcmeH^K?=k$2t~7=Q+R`M8WXQD*XTe4T?Ja_{$rYUGtle;h3ZC(V!rRow93=<4MgM+ zz?B?p#(}n4pSFP4;6r3aW(L%P$U*2Ut8V|UGA=4j=1*Q4AL>|2jsAW|IZ^`}lb32q t@jvC Date: Mon, 21 Jul 2014 15:02:31 -0700 Subject: [PATCH 3/3] integration-cli/TestBuildAddTar: embed Dockerfile Docker-DCO-1.1-Signed-off-by: Johan Euphrosine (github: proppy) --- .../build_tests/TestBuildAddTar/Dockerfile | 14 ---------- integration-cli/docker_cli_build_test.go | 28 +++++++++++-------- 2 files changed, 16 insertions(+), 26 deletions(-) delete mode 100644 integration-cli/build_tests/TestBuildAddTar/Dockerfile diff --git a/integration-cli/build_tests/TestBuildAddTar/Dockerfile b/integration-cli/build_tests/TestBuildAddTar/Dockerfile deleted file mode 100644 index df4e9c9016..0000000000 --- a/integration-cli/build_tests/TestBuildAddTar/Dockerfile +++ /dev/null @@ -1,14 +0,0 @@ -FROM busybox -ADD test.tar / -RUN cat /test/foo | grep Hi -ADD test.tar /test.tar -RUN cat /test.tar/test/foo | grep Hi -ADD test.tar /unlikely-to-exist -RUN cat /unlikely-to-exist/test/foo | grep Hi -ADD test.tar /unlikely-to-exist-trailing-slash/ -RUN cat /unlikely-to-exist-trailing-slash/test/foo | grep Hi -RUN mkdir /existing-directory -ADD test.tar /existing-directory -RUN cat /existing-directory/test/foo | grep Hi -ADD test.tar /existing-directory-trailing-slash/ -RUN cat /existing-directory-trailing-slash/test/foo | grep Hi diff --git a/integration-cli/docker_cli_build_test.go b/integration-cli/docker_cli_build_test.go index 0cde4af086..32005e87ff 100644 --- a/integration-cli/docker_cli_build_test.go +++ b/integration-cli/docker_cli_build_test.go @@ -3,7 +3,6 @@ package main import ( "archive/tar" "fmt" - "io" "io/ioutil" "os" "os/exec" @@ -1752,6 +1751,21 @@ func TestBuildAddTar(t *testing.T) { defer deleteImages(name) ctx := func() *FakeContext { + dockerfile := ` +FROM busybox +ADD test.tar / +RUN cat /test/foo | grep Hi +ADD test.tar /test.tar +RUN cat /test.tar/test/foo | grep Hi +ADD test.tar /unlikely-to-exist +RUN cat /unlikely-to-exist/test/foo | grep Hi +ADD test.tar /unlikely-to-exist-trailing-slash/ +RUN cat /unlikely-to-exist-trailing-slash/test/foo | grep Hi +RUN mkdir /existing-directory +ADD test.tar /existing-directory +RUN cat /existing-directory/test/foo | grep Hi +ADD test.tar /existing-directory-trailing-slash/ +RUN cat /existing-directory-trailing-slash/test/foo | grep Hi` tmpDir, err := ioutil.TempDir("", "fake-context") testTar, err := os.Create(filepath.Join(tmpDir, "test.tar")) if err != nil { @@ -1774,19 +1788,9 @@ func TestBuildAddTar(t *testing.T) { t.Fatalf("failed to close tar archive: %v", err) } - dockerfile, err := os.Open(filepath.Join(workingDirectory, "build_tests", "TestBuildAddTar", "Dockerfile")) - if err != nil { - t.Fatalf("failed to open source dockerfile: %v", err) - } - defer dockerfile.Close() - dest, err := os.Create(filepath.Join(tmpDir, "Dockerfile")) - if err != nil { + if err := ioutil.WriteFile(filepath.Join(tmpDir, "Dockerfile"), []byte(dockerfile), 0644); err != nil { t.Fatalf("failed to open destination dockerfile: %v", err) } - if _, err := io.Copy(dest, dockerfile); err != nil { - t.Fatalf("failed top copy dockerfile: %v", err) - } - defer dest.Close() return &FakeContext{Dir: tmpDir} }()