Skip to content
This repository was archived by the owner on Feb 8, 2021. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 22 additions & 14 deletions integration-cli/final/cli/hyper_cli_create_test.go
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -8,22 +8,20 @@ import (
"strings"
"time"

// "os/exec"

// "io/ioutil"

"github.com/docker/docker/pkg/integration/checker"
"github.com/go-check/check"
)

// Make sure we can create a simple container with some args
func (s *DockerSuite) TestCreateArgs(c *check.C) {
printTestCaseName(); defer printTestDuration(time.Now())
printTestCaseName()
defer printTestDuration(time.Now())
// TODO Windows. This requires further investigation for porting to
// Windows CI. Currently fails.
if daemonPlatform == "windows" {
c.Skip("Fails on Windows CI")
}
pullImageIfNotExist("busybox")
out, _ := dockerCmd(c, "create", "busybox", "command", "arg1", "arg2", "arg with space")

cleanedContainerID := getIDfromOutput(c, out)
Expand Down Expand Up @@ -61,7 +59,9 @@ func (s *DockerSuite) TestCreateArgs(c *check.C) {

// Make sure we can set hostconfig options too
func (s *DockerSuite) TestCreateHostConfig(c *check.C) {
printTestCaseName(); defer printTestDuration(time.Now())
printTestCaseName()
defer printTestDuration(time.Now())
pullImageIfNotExist("busybox")
out, _ := dockerCmd(c, "create", "busybox", "echo")

cleanedContainerID := getIDfromOutput(c, out)
Expand All @@ -85,18 +85,21 @@ func (s *DockerSuite) TestCreateHostConfig(c *check.C) {

// "test123" should be printed by docker create + start
func (s *DockerSuite) TestCreateEchoStdout(c *check.C) {
printTestCaseName(); defer printTestDuration(time.Now())
printTestCaseName()
defer printTestDuration(time.Now())
pullImageIfNotExist("busybox")
out, _ := dockerCmd(c, "create", "busybox", "echo", "test123")

cleanedContainerID := getIDfromOutput(c, out)

out, _ = dockerCmd(c, "start", "-ai", cleanedContainerID)
time.Sleep( 5 * time.Second )
time.Sleep(5 * time.Second)
c.Assert(out, checker.Equals, "test123\n", check.Commentf("container should've printed 'test123', got %q", out))
}

func (s *DockerSuite) TestCreateVolumesCreated(c *check.C) {
printTestCaseName(); defer printTestDuration(time.Now())
printTestCaseName()
defer printTestDuration(time.Now())
testRequires(c, SameHostDaemon)
prefix := "/"
if daemonPlatform == "windows" {
Expand All @@ -119,7 +122,8 @@ func (s *DockerSuite) TestCreateVolumesCreated(c *check.C) {
}

func (s *DockerSuite) TestCreateLabels(c *check.C) {
printTestCaseName(); defer printTestDuration(time.Now())
printTestCaseName()
defer printTestDuration(time.Now())
name := "test-create-labels"
expected := map[string]string{"k1": "v1", "k2": "v2", "sh.hyper.fip": "", "sh_hyper_instancetype": "xs"}
dockerCmd(c, "create", "--name", name, "-l", "k1=v1", "--label", "k2=v2", "busybox")
Expand All @@ -132,13 +136,14 @@ func (s *DockerSuite) TestCreateLabels(c *check.C) {
}
}


func (s *DockerSuite) TestCreateRM(c *check.C) {
printTestCaseName(); defer printTestDuration(time.Now())
printTestCaseName()
defer printTestDuration(time.Now())
// Test to make sure we can 'rm' a new container that is in
// "Created" state, and has ever been run. Test "rm -f" too.

// create a container
pullImageIfNotExist("busybox")
out, _ := dockerCmd(c, "create", "busybox")
cID := getIDfromOutput(c, out)

Expand All @@ -152,11 +157,13 @@ func (s *DockerSuite) TestCreateRM(c *check.C) {
}

func (s *DockerSuite) TestCreateModeIpcContainer(c *check.C) {
printTestCaseName(); defer printTestDuration(time.Now())
printTestCaseName()
defer printTestDuration(time.Now())
// Uses Linux specific functionality (--ipc)
testRequires(c, DaemonIsLinux)
testRequires(c, SameHostDaemon, NotUserNamespace)

pullImageIfNotExist("busybox")
out, _ := dockerCmd(c, "create", "busybox")
id := strings.TrimSpace(out)

Expand Down Expand Up @@ -299,7 +306,8 @@ func (s *DockerTrustSuite) TestTrustedCreateFromBadTrustServer(c *check.C) {
*/

func (s *DockerSuite) TestCreateWithWorkdir(c *check.C) {
printTestCaseName(); defer printTestDuration(time.Now())
printTestCaseName()
defer printTestDuration(time.Now())
// TODO Windows. This requires further investigation for porting to
// Windows CI. Currently fails.
if daemonPlatform == "windows" {
Expand Down
64 changes: 42 additions & 22 deletions integration-cli/final/cli/hyper_cli_inspect_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@ func checkValidGraphDriver(c *check.C, name string) {
}

func (s *DockerSuite) TestInspectImage(c *check.C) {
printTestCaseName(); defer printTestDuration(time.Now())
printTestCaseName()
defer printTestDuration(time.Now())
testRequires(c, DaemonIsLinux)
imageTest := "busybox"
ensureImageExist(c, imageTest)
Expand All @@ -29,14 +30,15 @@ func (s *DockerSuite) TestInspectImage(c *check.C) {
// fails, fix the difference in the image serialization instead of
// updating this hash.
// Warning: before test , make sure imageTest and imageTestId are match
imageTestID := "sha256:47bcc53f74dc94b1920f0b34f6036096526296767650f223433fe65c35f149eb"
imageTestID := "sha256:2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749"
id := inspectField(c, imageTest, "Id")

c.Assert(id, checker.Equals, imageTestID)
}

func (s *DockerSuite) TestInspectInt64(c *check.C) {
printTestCaseName(); defer printTestDuration(time.Now())
printTestCaseName()
defer printTestDuration(time.Now())
testRequires(c, DaemonIsLinux)

dockerCmd(c, "run", "-d", "--name", "inspect-test", "busybox", "true")
Expand All @@ -45,7 +47,8 @@ func (s *DockerSuite) TestInspectInt64(c *check.C) {
}

func (s *DockerSuite) TestInspectDefault(c *check.C) {
printTestCaseName(); defer printTestDuration(time.Now())
printTestCaseName()
defer printTestDuration(time.Now())
testRequires(c, DaemonIsLinux)
//Both the container and image are named busybox. docker inspect will fetch the container JSON.
//If the container JSON is not available, it will go for the image JSON.
Expand All @@ -58,8 +61,9 @@ func (s *DockerSuite) TestInspectDefault(c *check.C) {
}

func (s *DockerSuite) TestInspectStatus(c *check.C) {
printTestCaseName(); defer printTestDuration(time.Now())
// defer unpauseAllContainers()
printTestCaseName()
defer printTestDuration(time.Now())
// defer unpauseAllContainers()
testRequires(c, DaemonIsLinux)
out, _ := dockerCmd(c, "run", "-d", "busybox", "top")
out = getIDfromOutput(c, out)
Expand All @@ -74,7 +78,8 @@ func (s *DockerSuite) TestInspectStatus(c *check.C) {
}

func (s *DockerSuite) TestInspectTypeFlagContainer(c *check.C) {
printTestCaseName(); defer printTestDuration(time.Now())
printTestCaseName()
defer printTestDuration(time.Now())
testRequires(c, DaemonIsLinux)
//Both the container and image are named busybox. docker inspect will fetch container
//JSON State.Running field. If the field is true, it's a container.
Expand All @@ -87,7 +92,8 @@ func (s *DockerSuite) TestInspectTypeFlagContainer(c *check.C) {
}

func (s *DockerSuite) TestInspectTypeFlagWithNoContainer(c *check.C) {
printTestCaseName(); defer printTestDuration(time.Now())
printTestCaseName()
defer printTestDuration(time.Now())
testRequires(c, DaemonIsLinux)
//Run this test on an image named busybox. docker inspect will try to fetch container
//JSON. Since there is no container named busybox and --type=container, docker inspect will
Expand All @@ -101,7 +107,8 @@ func (s *DockerSuite) TestInspectTypeFlagWithNoContainer(c *check.C) {
}

func (s *DockerSuite) TestInspectTypeFlagWithImage(c *check.C) {
printTestCaseName(); defer printTestDuration(time.Now())
printTestCaseName()
defer printTestDuration(time.Now())
testRequires(c, DaemonIsLinux)
//Both the container and image are named busybox. docker inspect will fetch image
//JSON as --type=image. if there is no image with name busybox, docker inspect
Expand All @@ -114,7 +121,8 @@ func (s *DockerSuite) TestInspectTypeFlagWithImage(c *check.C) {
}

func (s *DockerSuite) TestInspectTypeFlagWithInvalidValue(c *check.C) {
printTestCaseName(); defer printTestDuration(time.Now())
printTestCaseName()
defer printTestDuration(time.Now())
testRequires(c, DaemonIsLinux)
//Both the container and image are named busybox. docker inspect will fail
//as --type=foobar is not a valid value for the flag.
Expand All @@ -128,7 +136,8 @@ func (s *DockerSuite) TestInspectTypeFlagWithInvalidValue(c *check.C) {
}

func (s *DockerSuite) TestInspectImageFilterInt(c *check.C) {
printTestCaseName(); defer printTestDuration(time.Now())
printTestCaseName()
defer printTestDuration(time.Now())
testRequires(c, DaemonIsLinux)
imageTest := "busybox"
ensureImageExist(c, imageTest)
Expand All @@ -146,7 +155,8 @@ func (s *DockerSuite) TestInspectImageFilterInt(c *check.C) {
}

func (s *DockerSuite) TestInspectContainerFilterInt(c *check.C) {
printTestCaseName(); defer printTestDuration(time.Now())
printTestCaseName()
defer printTestDuration(time.Now())
testRequires(c, DaemonIsLinux)
out, _ := dockerCmd(c, "run", "-d", "busybox", "top")
id := getIDfromOutput(c, out)
Expand All @@ -165,7 +175,8 @@ func (s *DockerSuite) TestInspectContainerFilterInt(c *check.C) {
}

func (s *DockerSuite) TestInspectImageGraphDriver(c *check.C) {
printTestCaseName(); defer printTestDuration(time.Now())
printTestCaseName()
defer printTestDuration(time.Now())
testRequires(c, DaemonIsLinux)
imageTest := "busybox"
ensureImageExist(c, imageTest)
Expand All @@ -190,7 +201,8 @@ func (s *DockerSuite) TestInspectImageGraphDriver(c *check.C) {

// #14947
func (s *DockerSuite) TestInspectTimesAsRFC3339Nano(c *check.C) {
printTestCaseName(); defer printTestDuration(time.Now())
printTestCaseName()
defer printTestDuration(time.Now())
testRequires(c, DaemonIsLinux)
out, _ := dockerCmd(c, "run", "-d", "busybox", "true")
id := getIDfromOutput(c, out)
Expand All @@ -214,7 +226,8 @@ func (s *DockerSuite) TestInspectTimesAsRFC3339Nano(c *check.C) {

// #15633
func (s *DockerSuite) TestInspectLogConfigNoType(c *check.C) {
printTestCaseName(); defer printTestDuration(time.Now())
printTestCaseName()
defer printTestDuration(time.Now())
testRequires(c, DaemonIsLinux)
dockerCmd(c, "create", "--name=test", "busybox")
var logConfig container.LogConfig
Expand All @@ -229,7 +242,8 @@ func (s *DockerSuite) TestInspectLogConfigNoType(c *check.C) {
}

func (s *DockerSuite) TestInspectNoSizeFlagContainer(c *check.C) {
printTestCaseName(); defer printTestDuration(time.Now())
printTestCaseName()
defer printTestDuration(time.Now())

//Both the container and image are named busybox. docker inspect will fetch container
//JSON SizeRw and SizeRootFs field. If there is no flag --size/-s, there are no size fields.
Expand All @@ -242,7 +256,8 @@ func (s *DockerSuite) TestInspectNoSizeFlagContainer(c *check.C) {
}

func (s *DockerSuite) TestInspectSizeFlagContainer(c *check.C) {
printTestCaseName(); defer printTestDuration(time.Now())
printTestCaseName()
defer printTestDuration(time.Now())
dockerCmd(c, "run", "--name=busybox", "-d", "busybox", "top")

formatStr := "--format='{{.SizeRw}},{{.SizeRootFs}}'"
Expand All @@ -254,7 +269,8 @@ func (s *DockerSuite) TestInspectSizeFlagContainer(c *check.C) {
}

func (s *DockerSuite) TestInspectSizeFlagImage(c *check.C) {
printTestCaseName(); defer printTestDuration(time.Now())
printTestCaseName()
defer printTestDuration(time.Now())
dockerCmd(c, "run", "--name=busybox", "-d", "busybox", "top")

formatStr := "--format='{{.SizeRw}},{{.SizeRootFs}}'"
Expand All @@ -267,7 +283,8 @@ func (s *DockerSuite) TestInspectSizeFlagImage(c *check.C) {
}

func (s *DockerSuite) TestInspectTempateError(c *check.C) {
printTestCaseName(); defer printTestDuration(time.Now())
printTestCaseName()
defer printTestDuration(time.Now())
// Template parsing error for both the container and image.

dockerCmd(c, "run", "--name=container1", "-d", "busybox", "top")
Expand All @@ -282,7 +299,8 @@ func (s *DockerSuite) TestInspectTempateError(c *check.C) {
}

func (s *DockerSuite) TestInspectJSONFields(c *check.C) {
printTestCaseName(); defer printTestDuration(time.Now())
printTestCaseName()
defer printTestDuration(time.Now())
dockerCmd(c, "run", "--name=busybox", "-d", "busybox", "top")
out, _, err := dockerCmdWithError("inspect", "--type=container", "--format='{{.HostConfig.Dns}}'", "busybox")

Expand All @@ -291,7 +309,8 @@ func (s *DockerSuite) TestInspectJSONFields(c *check.C) {
}

func (s *DockerSuite) TestInspectByPrefix(c *check.C) {
printTestCaseName(); defer printTestDuration(time.Now())
printTestCaseName()
defer printTestDuration(time.Now())
imageTest := "busybox"
ensureImageExist(c, imageTest)
id := inspectField(c, imageTest, "Id")
Expand All @@ -305,7 +324,8 @@ func (s *DockerSuite) TestInspectByPrefix(c *check.C) {
}

func (s *DockerSuite) TestInspectStopWhenNotFound(c *check.C) {
printTestCaseName(); defer printTestDuration(time.Now())
printTestCaseName()
defer printTestDuration(time.Now())
dockerCmd(c, "run", "--name=busybox", "-d", "busybox", "top")
dockerCmd(c, "run", "--name=not-shown", "-d", "busybox", "top")
out, _, err := dockerCmdWithError("inspect", "--type=container", "--format='{{.Name}}'", "busybox", "missing", "not-shown")
Expand Down
Loading