From 195cee99839a77afec7aaf7fe43cb5a9ceae4f57 Mon Sep 17 00:00:00 2001 From: Alexandr Morozov Date: Mon, 1 Sep 2014 20:15:20 +0400 Subject: [PATCH] Move TestRunCidFileCheckIDLength to integration-cli Signed-off-by: Alexandr Morozov --- integration-cli/docker_cli_run_test.go | 31 +++++++++++++++ integration/commands_test.go | 54 -------------------------- 2 files changed, 31 insertions(+), 54 deletions(-) diff --git a/integration-cli/docker_cli_run_test.go b/integration-cli/docker_cli_run_test.go index 189ac917b..81198ce21 100644 --- a/integration-cli/docker_cli_run_test.go +++ b/integration-cli/docker_cli_run_test.go @@ -1795,3 +1795,34 @@ func TestRunCidFileCleanupIfEmpty(t *testing.T) { deleteAllContainers() logDone("run - cleanup empty cidfile on fail") } + +// #2098 - Docker cidFiles only contain short version of the containerId +//sudo docker run --cidfile /tmp/docker_test.cid ubuntu echo "test" +// TestRunCidFile tests that run --cidfile returns the longid +func TestRunCidFileCheckIDLength(t *testing.T) { + tmpDir, err := ioutil.TempDir("", "TestRunCidFile") + if err != nil { + t.Fatal(err) + } + tmpCidFile := path.Join(tmpDir, "cid") + defer os.RemoveAll(tmpDir) + cmd := exec.Command(dockerBinary, "run", "-d", "--cidfile", tmpCidFile, "busybox", "true") + out, _, err := runCommandWithOutput(cmd) + if err != nil { + t.Fatal(err) + } + id := strings.TrimSpace(out) + buffer, err := ioutil.ReadFile(tmpCidFile) + if err != nil { + t.Fatal(err) + } + cid := string(buffer) + if len(cid) != 64 { + t.Fatalf("--cidfile should be a long id, not '%s'", id) + } + if cid != id { + t.Fatalf("cid must be equal to %s, got %s", id, cid) + } + deleteAllContainers() + logDone("run - cidfile contains long id") +} diff --git a/integration/commands_test.go b/integration/commands_test.go index 60deac5b6..a4422a4c4 100644 --- a/integration/commands_test.go +++ b/integration/commands_test.go @@ -5,8 +5,6 @@ import ( "fmt" "io" "io/ioutil" - "os" - "path" "strings" "testing" "time" @@ -531,55 +529,3 @@ func TestRunErrorBindNonExistingSource(t *testing.T) { <-c }) } - -// #2098 - Docker cidFiles only contain short version of the containerId -//sudo docker run --cidfile /tmp/docker_test.cid ubuntu echo "test" -// TestRunCidFile tests that run --cidfile returns the longid -func TestRunCidFileCheckIDLength(t *testing.T) { - stdout, stdoutPipe := io.Pipe() - - tmpDir, err := ioutil.TempDir("", "TestRunCidFile") - if err != nil { - t.Fatal(err) - } - tmpCidFile := path.Join(tmpDir, "cid") - - cli := client.NewDockerCli(nil, stdoutPipe, ioutil.Discard, testDaemonProto, testDaemonAddr, nil) - defer cleanup(globalEngine, t) - - c := make(chan struct{}) - go func() { - defer close(c) - if err := cli.CmdRun("--cidfile", tmpCidFile, unitTestImageID, "ls"); err != nil { - t.Fatal(err) - } - }() - - defer os.RemoveAll(tmpDir) - setTimeout(t, "Reading command output time out", 2*time.Second, func() { - cmdOutput, err := bufio.NewReader(stdout).ReadString('\n') - if err != nil { - t.Fatal(err) - } - if len(cmdOutput) < 1 { - t.Fatalf("'ls' should return something , not '%s'", cmdOutput) - } - //read the tmpCidFile - buffer, err := ioutil.ReadFile(tmpCidFile) - if err != nil { - t.Fatal(err) - } - id := string(buffer) - - if len(id) != len("2bf44ea18873287bd9ace8a4cb536a7cbe134bed67e805fdf2f58a57f69b320c") { - t.Fatalf("--cidfile should be a long id, not '%s'", id) - } - //test that its a valid cid? (though the container is gone..) - //remove the file and dir. - }) - - setTimeout(t, "CmdRun timed out", 5*time.Second, func() { - <-c - }) - -}