From e65a7dabb9632b30df9c67ca5783d6dd55e91a7b Mon Sep 17 00:00:00 2001 From: John Howard Date: Thu, 24 Sep 2015 10:53:47 -0700 Subject: [PATCH] Fixes 16556 CI failures Signed-off-by: John Howard --- integration-cli/docker_api_containers_test.go | 6 +++--- integration-cli/docker_cli_run_test.go | 6 +++--- integration-cli/utils.go | 4 ++-- pkg/integration/utils.go | 11 +++++++---- pkg/integration/utils_test.go | 2 +- 5 files changed, 16 insertions(+), 13 deletions(-) diff --git a/integration-cli/docker_api_containers_test.go b/integration-cli/docker_api_containers_test.go index 253a699f6d..07267c288c 100644 --- a/integration-cli/docker_api_containers_test.go +++ b/integration-cli/docker_api_containers_test.go @@ -191,7 +191,7 @@ func (s *DockerSuite) TestContainerApiStartVolumeBinds(c *check.C) { c.Assert(err, check.IsNil) c.Assert(status, check.Equals, http.StatusCreated) - bindPath := randomTmpDirPath("test") + bindPath := randomTmpDirPath("test", daemonPlatform) config = map[string]interface{}{ "Binds": []string{bindPath + ":/tmp"}, } @@ -222,8 +222,8 @@ func (s *DockerSuite) TestContainerApiStartDupVolumeBinds(c *check.C) { c.Assert(err, check.IsNil) c.Assert(status, check.Equals, http.StatusCreated) - bindPath1 := randomTmpDirPath("test1") - bindPath2 := randomTmpDirPath("test2") + bindPath1 := randomTmpDirPath("test1", daemonPlatform) + bindPath2 := randomTmpDirPath("test2", daemonPlatform) config = map[string]interface{}{ "Binds": []string{bindPath1 + ":/tmp", bindPath2 + ":/tmp"}, diff --git a/integration-cli/docker_cli_run_test.go b/integration-cli/docker_cli_run_test.go index e77e12e204..7c4e7fc393 100644 --- a/integration-cli/docker_cli_run_test.go +++ b/integration-cli/docker_cli_run_test.go @@ -322,8 +322,8 @@ func (s *DockerSuite) TestRunNoDupVolumes(c *check.C) { // TODO Windows: This test cannot run on a Windows daemon as Windows does // not support volumes testRequires(c, DaemonIsLinux) - mountstr1 := randomTmpDirPath("test1") + ":/someplace" - mountstr2 := randomTmpDirPath("test2") + ":/someplace" + mountstr1 := randomTmpDirPath("test1", daemonPlatform) + ":/someplace" + mountstr2 := randomTmpDirPath("test2", daemonPlatform) + ":/someplace" if out, _, err := dockerCmdWithError("run", "-v", mountstr1, "-v", mountstr2, "busybox", "true"); err == nil { c.Fatal("Expected error about duplicate volume definitions") @@ -2015,7 +2015,7 @@ func (s *DockerSuite) TestVolumesNoCopyData(c *check.C) { c.Fatalf("Data was copied on volumes-from but shouldn't be:\n%q", out) } - tmpDir := randomTmpDirPath("docker_test_bind_mount_copy_data") + tmpDir := randomTmpDirPath("docker_test_bind_mount_copy_data", daemonPlatform) if out, _, err := dockerCmdWithError("run", "-v", tmpDir+":/foo", "dataimage", "ls", "-lh", "/foo/bar"); err == nil || !strings.Contains(out, "No such file or directory") { c.Fatalf("Data was copied on bind-mount but shouldn't be:\n%q", out) } diff --git a/integration-cli/utils.go b/integration-cli/utils.go index d00a691bb9..b24cce3f16 100644 --- a/integration-cli/utils.go +++ b/integration-cli/utils.go @@ -61,8 +61,8 @@ func listTar(f io.Reader) ([]string, error) { return integration.ListTar(f) } -func randomTmpDirPath(s string) string { - return integration.RandomTmpDirPath(s) +func randomTmpDirPath(s string, platform string) string { + return integration.RandomTmpDirPath(s, platform) } func consumeWithSpeed(reader io.Reader, chunkSize int, interval time.Duration, stop chan bool) (n int, err error) { diff --git a/pkg/integration/utils.go b/pkg/integration/utils.go index 9c78cd0ad2..469f720169 100644 --- a/pkg/integration/utils.go +++ b/pkg/integration/utils.go @@ -11,7 +11,6 @@ import ( "os/exec" "path/filepath" "reflect" - "runtime" "strings" "syscall" "time" @@ -247,12 +246,16 @@ func ListTar(f io.Reader) ([]string, error) { // RandomTmpDirPath provides a temporary path with rand string appended. // does not create or checks if it exists. -func RandomTmpDirPath(s string) string { +func RandomTmpDirPath(s string, platform string) string { tmp := "/tmp" - if runtime.GOOS == "windows" { + if platform == "windows" { tmp = os.Getenv("TEMP") } - return filepath.Join(tmp, fmt.Sprintf("%s.%s", s, stringutils.GenerateRandomAlphaOnlyString(10))) + path := filepath.Join(tmp, fmt.Sprintf("%s.%s", s, stringutils.GenerateRandomAlphaOnlyString(10))) + if platform == "windows" { + return filepath.FromSlash(path) // Using \ + } + return filepath.ToSlash(path) // Using / } // ConsumeWithSpeed reads chunkSize bytes from reader after every interval. diff --git a/pkg/integration/utils_test.go b/pkg/integration/utils_test.go index 0c0bcebc89..7c5df4e90a 100644 --- a/pkg/integration/utils_test.go +++ b/pkg/integration/utils_test.go @@ -343,7 +343,7 @@ func TestListTar(t *testing.T) { } func TestRandomTmpDirPath(t *testing.T) { - path := RandomTmpDirPath("something") + path := RandomTmpDirPath("something", runtime.GOOS) prefix := "/tmp/something" if runtime.GOOS == "windows" {