diff --git a/integration-cli/docker_cli_build_test.go b/integration-cli/docker_cli_build_test.go index 06cd0018ec..b8d57c49db 100644 --- a/integration-cli/docker_cli_build_test.go +++ b/integration-cli/docker_cli_build_test.go @@ -1195,3 +1195,23 @@ func TestBuldForbiddenContextPath(t *testing.T) { } logDone("build - forbidden context path") } + +func TestBuildADDFileNotFound(t *testing.T) { + name := "testbuildaddnotfound" + defer deleteImages(name) + ctx, err := fakeContext(`FROM scratch + ADD foo /usr/local/bar`, + map[string]string{"bar": "hello"}) + defer ctx.Close() + if err != nil { + t.Fatal(err) + } + if _, err := buildImageFromContext(name, ctx, true); err != nil { + if !strings.Contains(err.Error(), "foo: no such file or directory") { + t.Fatalf("Wrong error %v, must be about missing foo file or directory", err) + } + } else { + t.Fatal("Error must not be nil") + } + logDone("build - add file not found") +} diff --git a/integration/buildfile_test.go b/integration/buildfile_test.go index 14fe20b3ed..640de5653a 100644 --- a/integration/buildfile_test.go +++ b/integration/buildfile_test.go @@ -414,52 +414,6 @@ func buildImage(context testContextTemplate, t *testing.T, eng *engine.Engine, u return image, err } -func TestBuildADDFileNotFound(t *testing.T) { - eng := NewTestEngine(t) - defer nuke(mkDaemonFromEngine(eng, t)) - - context := testContextTemplate{` - from {IMAGE} - add foo /usr/local/bar - `, - nil, nil} - - httpServer, err := mkTestingFileServer(context.remoteFiles) - if err != nil { - t.Fatal(err) - } - defer httpServer.Close() - - idx := strings.LastIndex(httpServer.URL, ":") - if idx < 0 { - t.Fatalf("could not get port from test http server address %s", httpServer.URL) - } - port := httpServer.URL[idx+1:] - - iIP := eng.Hack_GetGlobalVar("httpapi.bridgeIP") - if iIP == nil { - t.Fatal("Legacy bridgeIP field not set in engine") - } - ip, ok := iIP.(net.IP) - if !ok { - panic("Legacy bridgeIP field in engine does not cast to net.IP") - } - dockerfile := constructDockerfile(context.dockerfile, ip, port) - - buildfile := server.NewBuildFile(mkServerFromEngine(eng, t), ioutil.Discard, ioutil.Discard, false, true, false, false, ioutil.Discard, utils.NewStreamFormatter(false), nil, nil) - _, err = buildfile.Build(context.Archive(dockerfile, t)) - - if err == nil { - t.Log("Error should not be nil") - t.Fail() - } - - if err.Error() != "foo: no such file or directory" { - t.Logf("Error message is not expected: %s", err.Error()) - t.Fail() - } -} - func TestBuildInheritance(t *testing.T) { eng := NewTestEngine(t) defer nuke(mkDaemonFromEngine(eng, t))