Przeglądaj źródła

Add a getPrefixAndSlashFromDaemonPlatform …

… to limit code duplication in integration tests :P

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Vincent Demeester 9 lat temu
rodzic
commit
382c96ee7b

+ 2 - 8
integration-cli/docker_api_volumes_test.go

@@ -11,10 +11,7 @@ import (
 )
 )
 
 
 func (s *DockerSuite) TestVolumesApiList(c *check.C) {
 func (s *DockerSuite) TestVolumesApiList(c *check.C) {
-	prefix := ""
-	if daemonPlatform == "windows" {
-		prefix = "c:"
-	}
+	prefix, _ := getPrefixAndSlashFromDaemonPlatform()
 	dockerCmd(c, "run", "-d", "-v", prefix+"/foo", "busybox")
 	dockerCmd(c, "run", "-d", "-v", prefix+"/foo", "busybox")
 
 
 	status, b, err := sockRequest("GET", "/volumes", nil)
 	status, b, err := sockRequest("GET", "/volumes", nil)
@@ -43,10 +40,7 @@ func (s *DockerSuite) TestVolumesApiCreate(c *check.C) {
 }
 }
 
 
 func (s *DockerSuite) TestVolumesApiRemove(c *check.C) {
 func (s *DockerSuite) TestVolumesApiRemove(c *check.C) {
-	prefix := ""
-	if daemonPlatform == "windows" {
-		prefix = "c:"
-	}
+	prefix, _ := getPrefixAndSlashFromDaemonPlatform()
 	dockerCmd(c, "run", "-d", "-v", prefix+"/foo", "--name=test", "busybox")
 	dockerCmd(c, "run", "-d", "-v", prefix+"/foo", "--name=test", "busybox")
 
 
 	status, b, err := sockRequest("GET", "/volumes", nil)
 	status, b, err := sockRequest("GET", "/volumes", nil)

+ 2 - 6
integration-cli/docker_cli_create_test.go

@@ -429,12 +429,8 @@ func (s *DockerSuite) TestCreateWithWorkdir(c *check.C) {
 		c.Skip("Fails on Windows CI")
 		c.Skip("Fails on Windows CI")
 	}
 	}
 	name := "foo"
 	name := "foo"
-	slash := "/"
-	prefix := ""
-	if daemonPlatform == "windows" {
-		prefix = "c:"
-		slash = `/`
-	}
+
+	prefix, slash := getPrefixAndSlashFromDaemonPlatform()
 	dir := prefix + slash + "home" + slash + "foo" + slash + "bar"
 	dir := prefix + slash + "home" + slash + "foo" + slash + "bar"
 
 
 	dockerCmd(c, "create", "--name", name, "-w", dir, "busybox")
 	dockerCmd(c, "create", "--name", name, "-w", dir, "busybox")

+ 2 - 12
integration-cli/docker_cli_rm_test.go

@@ -12,12 +12,7 @@ import (
 func (s *DockerSuite) TestRmContainerWithRemovedVolume(c *check.C) {
 func (s *DockerSuite) TestRmContainerWithRemovedVolume(c *check.C) {
 	testRequires(c, SameHostDaemon)
 	testRequires(c, SameHostDaemon)
 
 
-	prefix := ""
-	slash := "/"
-	if daemonPlatform == "windows" {
-		prefix = "c:"
-		slash = `\`
-	}
+	prefix, slash := getPrefixAndSlashFromDaemonPlatform()
 
 
 	tempDir, err := ioutil.TempDir("", "test-rm-container-with-removed-volume-")
 	tempDir, err := ioutil.TempDir("", "test-rm-container-with-removed-volume-")
 	if err != nil {
 	if err != nil {
@@ -34,12 +29,7 @@ func (s *DockerSuite) TestRmContainerWithRemovedVolume(c *check.C) {
 }
 }
 
 
 func (s *DockerSuite) TestRmContainerWithVolume(c *check.C) {
 func (s *DockerSuite) TestRmContainerWithVolume(c *check.C) {
-	prefix := ""
-	slash := "/"
-	if daemonPlatform == "windows" {
-		prefix = "c:"
-		slash = `\`
-	}
+	prefix, slash := getPrefixAndSlashFromDaemonPlatform()
 
 
 	dockerCmd(c, "run", "--name", "foo", "-v", prefix+slash+"srv", "busybox", "true")
 	dockerCmd(c, "run", "--name", "foo", "-v", prefix+slash+"srv", "busybox", "true")
 
 

+ 8 - 36
integration-cli/docker_cli_run_test.go

@@ -2102,10 +2102,7 @@ func (s *DockerSuite) TestRunAllocatePortInReservedRange(c *check.C) {
 func (s *DockerSuite) TestRunMountOrdering(c *check.C) {
 func (s *DockerSuite) TestRunMountOrdering(c *check.C) {
 	// TODO Windows: Post TP4. Updated, but Windows does not support nested mounts currently.
 	// TODO Windows: Post TP4. Updated, but Windows does not support nested mounts currently.
 	testRequires(c, SameHostDaemon, DaemonIsLinux, NotUserNamespace)
 	testRequires(c, SameHostDaemon, DaemonIsLinux, NotUserNamespace)
-	prefix := ""
-	if daemonPlatform == "windows" {
-		prefix = "c:"
-	}
+	prefix, _ := getPrefixAndSlashFromDaemonPlatform()
 
 
 	tmpDir, err := ioutil.TempDir("", "docker_nested_mount_test")
 	tmpDir, err := ioutil.TempDir("", "docker_nested_mount_test")
 	if err != nil {
 	if err != nil {
@@ -2150,10 +2147,7 @@ func (s *DockerSuite) TestRunMountOrdering(c *check.C) {
 func (s *DockerSuite) TestRunReuseBindVolumeThatIsSymlink(c *check.C) {
 func (s *DockerSuite) TestRunReuseBindVolumeThatIsSymlink(c *check.C) {
 	// Not applicable on Windows as Windows does not support volumes
 	// Not applicable on Windows as Windows does not support volumes
 	testRequires(c, SameHostDaemon, DaemonIsLinux, NotUserNamespace)
 	testRequires(c, SameHostDaemon, DaemonIsLinux, NotUserNamespace)
-	prefix := ""
-	if daemonPlatform == "windows" {
-		prefix = "c:"
-	}
+	prefix, _ := getPrefixAndSlashFromDaemonPlatform()
 
 
 	tmpDir, err := ioutil.TempDir(os.TempDir(), "testlink")
 	tmpDir, err := ioutil.TempDir(os.TempDir(), "testlink")
 	if err != nil {
 	if err != nil {
@@ -2236,12 +2230,7 @@ func (s *DockerSuite) TestRunNoOutputFromPullInStdout(c *check.C) {
 
 
 func (s *DockerSuite) TestRunVolumesCleanPaths(c *check.C) {
 func (s *DockerSuite) TestRunVolumesCleanPaths(c *check.C) {
 	testRequires(c, SameHostDaemon)
 	testRequires(c, SameHostDaemon)
-	prefix := ""
-	slash := `/`
-	if daemonPlatform == "windows" {
-		prefix = "c:"
-		slash = `\`
-	}
+	prefix, slash := getPrefixAndSlashFromDaemonPlatform()
 	if _, err := buildImage("run_volumes_clean_paths",
 	if _, err := buildImage("run_volumes_clean_paths",
 		`FROM busybox
 		`FROM busybox
 		VOLUME `+prefix+`/foo/`,
 		VOLUME `+prefix+`/foo/`,
@@ -2802,10 +2791,7 @@ func (s *DockerSuite) TestRunContainerWithReadonlyRootfsWithAddHostFlag(c *check
 }
 }
 
 
 func (s *DockerSuite) TestRunVolumesFromRestartAfterRemoved(c *check.C) {
 func (s *DockerSuite) TestRunVolumesFromRestartAfterRemoved(c *check.C) {
-	prefix := ""
-	if daemonPlatform == "windows" {
-		prefix = "c:"
-	}
+	prefix, _ := getPrefixAndSlashFromDaemonPlatform()
 	dockerCmd(c, "run", "-d", "--name", "voltest", "-v", prefix+"/foo", "busybox", "sleep", "60")
 	dockerCmd(c, "run", "-d", "--name", "voltest", "-v", prefix+"/foo", "busybox", "sleep", "60")
 	dockerCmd(c, "run", "-d", "--name", "restarter", "--volumes-from", "voltest", "busybox", "sleep", "60")
 	dockerCmd(c, "run", "-d", "--name", "restarter", "--volumes-from", "voltest", "busybox", "sleep", "60")
 
 
@@ -3039,12 +3025,7 @@ func (s *DockerSuite) TestRunCapAddCHOWN(c *check.C) {
 func (s *DockerSuite) TestVolumeFromMixedRWOptions(c *check.C) {
 func (s *DockerSuite) TestVolumeFromMixedRWOptions(c *check.C) {
 	// TODO Windows post TP4. Enable the read-only bits once they are
 	// TODO Windows post TP4. Enable the read-only bits once they are
 	// supported on the platform.
 	// supported on the platform.
-	prefix := ""
-	slash := `/`
-	if daemonPlatform == "windows" {
-		prefix = "c:"
-		slash = `\`
-	}
+	prefix, slash := getPrefixAndSlashFromDaemonPlatform()
 
 
 	dockerCmd(c, "run", "--name", "parent", "-v", prefix+"/test", "busybox", "true")
 	dockerCmd(c, "run", "--name", "parent", "-v", prefix+"/test", "busybox", "true")
 	if daemonPlatform != "windows" {
 	if daemonPlatform != "windows" {
@@ -3391,10 +3372,7 @@ func (s *DockerSuite) TestRunCreateContainerFailedCleanUp(c *check.C) {
 }
 }
 
 
 func (s *DockerSuite) TestRunNamedVolume(c *check.C) {
 func (s *DockerSuite) TestRunNamedVolume(c *check.C) {
-	prefix := ""
-	if daemonPlatform == "windows" {
-		prefix = "c:"
-	}
+	prefix, _ := getPrefixAndSlashFromDaemonPlatform()
 	testRequires(c, DaemonIsLinux)
 	testRequires(c, DaemonIsLinux)
 	dockerCmd(c, "run", "--name=test", "-v", "testing:"+prefix+"/foo", "busybox", "sh", "-c", "echo hello > "+prefix+"/foo/bar")
 	dockerCmd(c, "run", "--name=test", "-v", "testing:"+prefix+"/foo", "busybox", "sh", "-c", "echo hello > "+prefix+"/foo/bar")
 
 
@@ -4147,10 +4125,7 @@ func (s *DockerSuite) TestRunNamedVolumeCopyImageData(c *check.C) {
 }
 }
 
 
 func (s *DockerSuite) TestRunNamedVolumeNotRemoved(c *check.C) {
 func (s *DockerSuite) TestRunNamedVolumeNotRemoved(c *check.C) {
-	prefix := ""
-	if daemonPlatform == "windows" {
-		prefix = "c:"
-	}
+	prefix, _ := getPrefixAndSlashFromDaemonPlatform()
 
 
 	dockerCmd(c, "volume", "create", "--name", "test")
 	dockerCmd(c, "volume", "create", "--name", "test")
 
 
@@ -4167,10 +4142,7 @@ func (s *DockerSuite) TestRunNamedVolumeNotRemoved(c *check.C) {
 }
 }
 
 
 func (s *DockerSuite) TestRunNamedVolumesFromNotRemoved(c *check.C) {
 func (s *DockerSuite) TestRunNamedVolumesFromNotRemoved(c *check.C) {
-	prefix := ""
-	if daemonPlatform == "windows" {
-		prefix = "c:"
-	}
+	prefix, _ := getPrefixAndSlashFromDaemonPlatform()
 
 
 	dockerCmd(c, "volume", "create", "--name", "test")
 	dockerCmd(c, "volume", "create", "--name", "test")
 	dockerCmd(c, "run", "--name=parent", "-v", "test:"+prefix+"/foo", "-v", prefix+"/bar", "busybox", "true")
 	dockerCmd(c, "run", "--name=parent", "-v", "test:"+prefix+"/foo", "-v", prefix+"/bar", "busybox", "true")

+ 3 - 12
integration-cli/docker_cli_volume_test.go

@@ -64,10 +64,7 @@ func (s *DockerSuite) TestVolumeCliInspectMulti(c *check.C) {
 }
 }
 
 
 func (s *DockerSuite) TestVolumeCliLs(c *check.C) {
 func (s *DockerSuite) TestVolumeCliLs(c *check.C) {
-	prefix := ""
-	if daemonPlatform == "windows" {
-		prefix = "c:"
-	}
+	prefix, _ := getPrefixAndSlashFromDaemonPlatform()
 	out, _ := dockerCmd(c, "volume", "create")
 	out, _ := dockerCmd(c, "volume", "create")
 	id := strings.TrimSpace(out)
 	id := strings.TrimSpace(out)
 
 
@@ -84,10 +81,7 @@ func (s *DockerSuite) TestVolumeCliLs(c *check.C) {
 }
 }
 
 
 func (s *DockerSuite) TestVolumeCliLsFilterDangling(c *check.C) {
 func (s *DockerSuite) TestVolumeCliLsFilterDangling(c *check.C) {
-	prefix := ""
-	if daemonPlatform == "windows" {
-		prefix = "c:"
-	}
+	prefix, _ := getPrefixAndSlashFromDaemonPlatform()
 	dockerCmd(c, "volume", "create", "--name", "testnotinuse1")
 	dockerCmd(c, "volume", "create", "--name", "testnotinuse1")
 	dockerCmd(c, "volume", "create", "--name", "testisinuse1")
 	dockerCmd(c, "volume", "create", "--name", "testisinuse1")
 	dockerCmd(c, "volume", "create", "--name", "testisinuse2")
 	dockerCmd(c, "volume", "create", "--name", "testisinuse2")
@@ -144,10 +138,7 @@ func (s *DockerSuite) TestVolumeCliLsWithIncorrectFilterValue(c *check.C) {
 }
 }
 
 
 func (s *DockerSuite) TestVolumeCliRm(c *check.C) {
 func (s *DockerSuite) TestVolumeCliRm(c *check.C) {
-	prefix := ""
-	if daemonPlatform == "windows" {
-		prefix = "c:"
-	}
+	prefix, _ := getPrefixAndSlashFromDaemonPlatform()
 	out, _ := dockerCmd(c, "volume", "create")
 	out, _ := dockerCmd(c, "volume", "create")
 	id := strings.TrimSpace(out)
 	id := strings.TrimSpace(out)
 
 

+ 7 - 0
integration-cli/utils.go

@@ -9,6 +9,13 @@ import (
 	"github.com/docker/docker/pkg/integration"
 	"github.com/docker/docker/pkg/integration"
 )
 )
 
 
+func getPrefixAndSlashFromDaemonPlatform() (prefix, slash string) {
+	if daemonPlatform == "windows" {
+		return "c:", `\`
+	}
+	return "", "/"
+}
+
 func getExitCode(err error) (int, error) {
 func getExitCode(err error) (int, error) {
 	return integration.GetExitCode(err)
 	return integration.GetExitCode(err)
 }
 }