diff --git a/integration-cli/docker_cli_build_test.go b/integration-cli/docker_cli_build_test.go index b8d57c49db..98eee5807c 100644 --- a/integration-cli/docker_cli_build_test.go +++ b/integration-cli/docker_cli_build_test.go @@ -1215,3 +1215,44 @@ func TestBuildADDFileNotFound(t *testing.T) { } logDone("build - add file not found") } + +func TestBuildInheritance(t *testing.T) { + name := "testbuildinheritance" + defer deleteImages(name) + + _, err := buildImage(name, + `FROM scratch + EXPOSE 2375`, + true) + if err != nil { + t.Fatal(err) + } + ports1, err := inspectField(name, "Config.ExposedPorts") + if err != nil { + t.Fatal(err) + } + + _, err = buildImage(name, + fmt.Sprintf(`FROM %s + ENTRYPOINT ["/bin/echo"]`, name), + true) + if err != nil { + t.Fatal(err) + } + + res, err := inspectField(name, "Config.Entrypoint") + if err != nil { + t.Fatal(err) + } + if expected := "[/bin/echo]"; res != expected { + t.Fatalf("Entrypoint %s, expected %s", res, expected) + } + ports2, err := inspectField(name, "Config.ExposedPorts") + if err != nil { + t.Fatal(err) + } + if ports1 != ports2 { + t.Fatalf("Ports must be same: %s != %s", ports1, ports2) + } + logDone("build - inheritance") +} diff --git a/integration/buildfile_test.go b/integration/buildfile_test.go index 640de5653a..4a14076942 100644 --- a/integration/buildfile_test.go +++ b/integration/buildfile_test.go @@ -14,7 +14,6 @@ import ( "github.com/dotcloud/docker/archive" "github.com/dotcloud/docker/engine" "github.com/dotcloud/docker/image" - "github.com/dotcloud/docker/nat" "github.com/dotcloud/docker/server" "github.com/dotcloud/docker/utils" ) @@ -414,41 +413,6 @@ func buildImage(context testContextTemplate, t *testing.T, eng *engine.Engine, u return image, err } -func TestBuildInheritance(t *testing.T) { - eng := NewTestEngine(t) - defer nuke(mkDaemonFromEngine(eng, t)) - - img, err := buildImage(testContextTemplate{` - from {IMAGE} - expose 2375 - `, - nil, nil}, t, eng, true) - - if err != nil { - t.Fatal(err) - } - - img2, _ := buildImage(testContextTemplate{fmt.Sprintf(` - from %s - entrypoint ["/bin/echo"] - `, img.ID), - nil, nil}, t, eng, true) - - if err != nil { - t.Fatal(err) - } - - // from child - if img2.Config.Entrypoint[0] != "/bin/echo" { - t.Fail() - } - - // from parent - if _, exists := img.Config.ExposedPorts[nat.NewPort("tcp", "2375")]; !exists { - t.Fail() - } -} - func TestBuildFails(t *testing.T) { _, err := buildImage(testContextTemplate{` from {IMAGE}