Add a getPrefixAndSlashFromDaemonPlatform …

… to limit code duplication in integration tests :P

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
This commit is contained in:
Vincent Demeester 2016-02-03 15:16:00 +01:00
parent bc08203314
commit 382c96ee7b
6 changed files with 24 additions and 74 deletions

View File

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

View File

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

View File

@ -12,12 +12,7 @@ import (
func (s *DockerSuite) TestRmContainerWithRemovedVolume(c *check.C) {
testRequires(c, SameHostDaemon)
prefix := ""
slash := "/"
if daemonPlatform == "windows" {
prefix = "c:"
slash = `\`
}
prefix, slash := getPrefixAndSlashFromDaemonPlatform()
tempDir, err := ioutil.TempDir("", "test-rm-container-with-removed-volume-")
if err != nil {
@ -34,12 +29,7 @@ func (s *DockerSuite) TestRmContainerWithRemovedVolume(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")

View File

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

View File

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

View File

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