Remove deprecated environment.DaemonPlatform()

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
Sebastiaan van Stijn 2018-01-15 15:32:06 +01:00
parent dfedc9ef62
commit 18a771a761
No known key found for this signature in database
GPG Key ID: 76698F39D527CE8C
25 changed files with 97 additions and 106 deletions

View File

@ -30,7 +30,7 @@ func (s *DockerSuite) TestBuildAPIDockerFileRemote(c *check.C) {
testRequires(c, NotUserNamespace) testRequires(c, NotUserNamespace)
var testD string var testD string
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
testD = `FROM busybox testD = `FROM busybox
RUN find / -name ba* RUN find / -name ba*
RUN find /tmp/` RUN find /tmp/`

View File

@ -1016,7 +1016,7 @@ func (s *DockerSuite) TestContainerAPIWait(c *check.C) {
name := "test-api-wait" name := "test-api-wait"
sleepCmd := "/bin/sleep" sleepCmd := "/bin/sleep"
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
sleepCmd = "sleep" sleepCmd = "sleep"
} }
dockerCmd(c, "run", "--name", name, "busybox", sleepCmd, "2") dockerCmd(c, "run", "--name", name, "busybox", sleepCmd, "2")
@ -1216,7 +1216,7 @@ func (s *DockerSuite) TestContainerAPIDeleteRemoveVolume(c *check.C) {
testRequires(c, SameHostDaemon) testRequires(c, SameHostDaemon)
vol := "/testvolume" vol := "/testvolume"
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
vol = `c:\testvolume` vol = `c:\testvolume`
} }
@ -1890,7 +1890,7 @@ func (s *DockerSuite) TestContainersAPICreateMountsCreate(c *check.C) {
var ( var (
testImg string testImg string
) )
if testEnv.DaemonPlatform() != "windows" { if testEnv.OSType != "windows" {
testImg = "test-mount-config" testImg = "test-mount-config"
buildImageSuccessfully(c, testImg, build.WithDockerfile(` buildImageSuccessfully(c, testImg, build.WithDockerfile(`
FROM busybox FROM busybox
@ -1987,7 +1987,7 @@ func (s *DockerSuite) TestContainersAPICreateMountsCreate(c *check.C) {
} }
} }
if testEnv.DaemonPlatform() != "windows" { // Windows does not support volume populate if testEnv.OSType != "windows" { // Windows does not support volume populate
cases = append(cases, []testCase{ cases = append(cases, []testCase{
{ {
spec: mounttypes.Mount{Type: "volume", Target: destPath, VolumeOptions: &mounttypes.VolumeOptions{NoCopy: true}}, spec: mounttypes.Mount{Type: "volume", Target: destPath, VolumeOptions: &mounttypes.VolumeOptions{NoCopy: true}},

View File

@ -80,7 +80,7 @@ func (s *DockerSuite) TestAPIImagesDelete(c *check.C) {
c.Assert(err, checker.IsNil) c.Assert(err, checker.IsNil)
defer cli.Close() defer cli.Close()
if testEnv.DaemonPlatform() != "windows" { if testEnv.OSType != "windows" {
testRequires(c, Network) testRequires(c, Network)
} }
name := "test-api-images-delete" name := "test-api-images-delete"
@ -104,7 +104,7 @@ func (s *DockerSuite) TestAPIImagesHistory(c *check.C) {
c.Assert(err, checker.IsNil) c.Assert(err, checker.IsNil)
defer cli.Close() defer cli.Close()
if testEnv.DaemonPlatform() != "windows" { if testEnv.OSType != "windows" {
testRequires(c, Network) testRequires(c, Network)
} }
name := "test-api-images-history" name := "test-api-images-history"

View File

@ -28,7 +28,7 @@ func (s *DockerSuite) TestInspectAPIContainerResponse(c *check.C) {
var cases []acase var cases []acase
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
cases = []acase{ cases = []acase{
{"v1.25", append(keysBase, "Mounts")}, {"v1.25", append(keysBase, "Mounts")},
} }

View File

@ -39,7 +39,7 @@ func (s *DockerSuite) TestAPIStatsNoStreamGetCpu(c *check.C) {
var cpuPercent = 0.0 var cpuPercent = 0.0
if testEnv.DaemonPlatform() != "windows" { if testEnv.OSType != "windows" {
cpuDelta := float64(v.CPUStats.CPUUsage.TotalUsage - v.PreCPUStats.CPUUsage.TotalUsage) cpuDelta := float64(v.CPUStats.CPUUsage.TotalUsage - v.PreCPUStats.CPUUsage.TotalUsage)
systemDelta := float64(v.CPUStats.SystemUsage - v.PreCPUStats.SystemUsage) systemDelta := float64(v.CPUStats.SystemUsage - v.PreCPUStats.SystemUsage)
cpuPercent = (cpuDelta / systemDelta) * float64(len(v.CPUStats.CPUUsage.PercpuUsage)) * 100.0 cpuPercent = (cpuDelta / systemDelta) * float64(len(v.CPUStats.CPUUsage.PercpuUsage)) * 100.0
@ -105,7 +105,7 @@ func (s *DockerSuite) TestAPIStatsNetworkStats(c *check.C) {
// Retrieve the container address // Retrieve the container address
net := "bridge" net := "bridge"
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
net = "nat" net = "nat"
} }
contIP := findContainerIP(c, id, net) contIP := findContainerIP(c, id, net)
@ -153,7 +153,7 @@ func (s *DockerSuite) TestAPIStatsNetworkStats(c *check.C) {
// On Linux, account for ARP. // On Linux, account for ARP.
expRxPkts := preRxPackets + uint64(numPings) expRxPkts := preRxPackets + uint64(numPings)
expTxPkts := preTxPackets + uint64(numPings) expTxPkts := preTxPackets + uint64(numPings)
if testEnv.DaemonPlatform() != "windows" { if testEnv.OSType != "windows" {
expRxPkts++ expRxPkts++
expTxPkts++ expTxPkts++
} }

View File

@ -33,7 +33,7 @@ func (s *DockerSuite) TestAPIGetEnabledCORS(c *check.C) {
} }
func (s *DockerSuite) TestAPIClientVersionOldNotSupported(c *check.C) { func (s *DockerSuite) TestAPIClientVersionOldNotSupported(c *check.C) {
if testEnv.DaemonPlatform() != runtime.GOOS { if testEnv.OSType != runtime.GOOS {
c.Skip("Daemon platform doesn't match test platform") c.Skip("Daemon platform doesn't match test platform")
} }
if api.MinVersion == api.DefaultVersion { if api.MinVersion == api.DefaultVersion {

View File

@ -40,7 +40,7 @@ func (s *DockerSuite) TestBuildJSONEmptyRun(c *check.C) {
func (s *DockerSuite) TestBuildShCmdJSONEntrypoint(c *check.C) { func (s *DockerSuite) TestBuildShCmdJSONEntrypoint(c *check.C) {
name := "testbuildshcmdjsonentrypoint" name := "testbuildshcmdjsonentrypoint"
expected := "/bin/sh -c echo test" expected := "/bin/sh -c echo test"
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
expected = "cmd /S /C echo test" expected = "cmd /S /C echo test"
} }
@ -78,7 +78,7 @@ func (s *DockerSuite) TestBuildEnvironmentReplacementVolume(c *check.C) {
var volumePath string var volumePath string
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
volumePath = "c:/quux" volumePath = "c:/quux"
} else { } else {
volumePath = "/quux" volumePath = "/quux"
@ -135,7 +135,7 @@ func (s *DockerSuite) TestBuildEnvironmentReplacementWorkdir(c *check.C) {
res := inspectFieldJSON(c, name, "Config.WorkingDir") res := inspectFieldJSON(c, name, "Config.WorkingDir")
expected := `"/work"` expected := `"/work"`
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
expected = `"C:\\work"` expected = `"C:\\work"`
} }
if res != expected { if res != expected {
@ -1304,7 +1304,7 @@ func (s *DockerSuite) TestBuildRelativeWorkdir(c *check.C) {
expectedFinal string expectedFinal string
) )
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
expected1 = `C:/` expected1 = `C:/`
expected2 = `C:/test1` expected2 = `C:/test1`
expected3 = `C:/test2` expected3 = `C:/test2`
@ -1383,7 +1383,7 @@ func (s *DockerSuite) TestBuildWorkdirWithEnvVariables(c *check.C) {
name := "testbuildworkdirwithenvvariables" name := "testbuildworkdirwithenvvariables"
var expected string var expected string
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
expected = `C:\test1\test2` expected = `C:\test1\test2`
} else { } else {
expected = `/test1/test2` expected = `/test1/test2`
@ -1405,7 +1405,7 @@ func (s *DockerSuite) TestBuildRelativeCopy(c *check.C) {
testRequires(c, NotUserNamespace) testRequires(c, NotUserNamespace)
var expected string var expected string
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
expected = `C:/test1/test2` expected = `C:/test1/test2`
} else { } else {
expected = `/test1/test2` expected = `/test1/test2`
@ -2189,7 +2189,7 @@ func (s *DockerSuite) TestBuildAddFileNotFound(c *check.C) {
name := "testbuildaddnotfound" name := "testbuildaddnotfound"
expected := "foo: no such file or directory" expected := "foo: no such file or directory"
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
expected = "foo: The system cannot find the file specified" expected = "foo: The system cannot find the file specified"
} }
@ -2243,7 +2243,7 @@ func (s *DockerSuite) TestBuildOnBuild(c *check.C) {
// gh #2446 // gh #2446
func (s *DockerSuite) TestBuildAddToSymlinkDest(c *check.C) { func (s *DockerSuite) TestBuildAddToSymlinkDest(c *check.C) {
makeLink := `ln -s /foo /bar` makeLink := `ln -s /foo /bar`
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
makeLink = `mklink /D C:\bar C:\foo` makeLink = `mklink /D C:\bar C:\foo`
} }
name := "testbuildaddtosymlinkdest" name := "testbuildaddtosymlinkdest"
@ -3198,7 +3198,7 @@ func (s *DockerSuite) TestBuildCmdShDashC(c *check.C) {
res := inspectFieldJSON(c, name, "Config.Cmd") res := inspectFieldJSON(c, name, "Config.Cmd")
expected := `["/bin/sh","-c","echo cmd"]` expected := `["/bin/sh","-c","echo cmd"]`
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
expected = `["cmd","/S","/C","echo cmd"]` expected = `["cmd","/S","/C","echo cmd"]`
} }
if res != expected { if res != expected {
@ -3271,7 +3271,7 @@ func (s *DockerSuite) TestBuildEntrypointCanBeOverriddenByChildInspect(c *check.
expected = `["/bin/sh","-c","echo quux"]` expected = `["/bin/sh","-c","echo quux"]`
) )
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
expected = `["cmd","/S","/C","echo quux"]` expected = `["cmd","/S","/C","echo quux"]`
} }
@ -3328,7 +3328,7 @@ func (s *DockerSuite) TestBuildVerifySingleQuoteFails(c *check.C) {
// it should barf on it. // it should barf on it.
name := "testbuildsinglequotefails" name := "testbuildsinglequotefails"
expectedExitCode := 2 expectedExitCode := 2
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
expectedExitCode = 127 expectedExitCode = 127
} }
@ -3344,7 +3344,7 @@ func (s *DockerSuite) TestBuildVerboseOut(c *check.C) {
name := "testbuildverboseout" name := "testbuildverboseout"
expected := "\n123\n" expected := "\n123\n"
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
expected = "\n123\r\n" expected = "\n123\r\n"
} }
@ -3360,7 +3360,7 @@ func (s *DockerSuite) TestBuildWithTabs(c *check.C) {
res := inspectFieldJSON(c, name, "ContainerConfig.Cmd") res := inspectFieldJSON(c, name, "ContainerConfig.Cmd")
expected1 := `["/bin/sh","-c","echo\tone\t\ttwo"]` expected1 := `["/bin/sh","-c","echo\tone\t\ttwo"]`
expected2 := `["/bin/sh","-c","echo\u0009one\u0009\u0009two"]` // syntactically equivalent, and what Go 1.3 generates expected2 := `["/bin/sh","-c","echo\u0009one\u0009\u0009two"]` // syntactically equivalent, and what Go 1.3 generates
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
expected1 = `["cmd","/S","/C","echo\tone\t\ttwo"]` expected1 = `["cmd","/S","/C","echo\tone\t\ttwo"]`
expected2 = `["cmd","/S","/C","echo\u0009one\u0009\u0009two"]` // syntactically equivalent, and what Go 1.3 generates expected2 = `["cmd","/S","/C","echo\u0009one\u0009\u0009two"]` // syntactically equivalent, and what Go 1.3 generates
} }
@ -3555,7 +3555,7 @@ func (s *DockerSuite) TestBuildStderr(c *check.C) {
result.Assert(c, icmd.Success) result.Assert(c, icmd.Success)
// Windows to non-Windows should have a security warning // Windows to non-Windows should have a security warning
if runtime.GOOS == "windows" && testEnv.DaemonPlatform() != "windows" && !strings.Contains(result.Stdout(), "SECURITY WARNING:") { if runtime.GOOS == "windows" && testEnv.OSType != "windows" && !strings.Contains(result.Stdout(), "SECURITY WARNING:") {
c.Fatalf("Stdout contains unexpected output: %q", result.Stdout()) c.Fatalf("Stdout contains unexpected output: %q", result.Stdout())
} }
@ -3667,7 +3667,7 @@ func (s *DockerSuite) TestBuildVolumesRetainContents(c *check.C) {
volName = "/foo" volName = "/foo"
) )
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
volName = "C:/foo" volName = "C:/foo"
} }
@ -3968,7 +3968,7 @@ RUN echo " \
expected := "\n foo \n" expected := "\n foo \n"
// Windows uses the builtin echo, which preserves quotes // Windows uses the builtin echo, which preserves quotes
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
expected = "\" foo \"" expected = "\" foo \""
} }
@ -4002,7 +4002,7 @@ func (s *DockerSuite) TestBuildMissingArgs(c *check.C) {
"INSERT": {}, "INSERT": {},
} }
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
skipCmds = map[string]struct{}{ skipCmds = map[string]struct{}{
"CMD": {}, "CMD": {},
"RUN": {}, "RUN": {},
@ -4135,7 +4135,7 @@ func (s *DockerSuite) TestBuildRUNErrMsg(c *check.C) {
name := "testbuildbadrunerrmsg" name := "testbuildbadrunerrmsg"
shell := "/bin/sh -c" shell := "/bin/sh -c"
exitCode := 127 exitCode := 127
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
shell = "cmd /S /C" shell = "cmd /S /C"
// architectural - Windows has to start the container to determine the exe is bad, Linux does not // architectural - Windows has to start the container to determine the exe is bad, Linux does not
exitCode = 1 exitCode = 1
@ -4287,7 +4287,7 @@ func (s *DockerTrustSuite) TestTrustedBuildTagIgnoresOtherDelegationRoles(c *che
func (s *DockerSuite) TestBuildNullStringInAddCopyVolume(c *check.C) { func (s *DockerSuite) TestBuildNullStringInAddCopyVolume(c *check.C) {
name := "testbuildnullstringinaddcopyvolume" name := "testbuildnullstringinaddcopyvolume"
volName := "nullvolume" volName := "nullvolume"
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
volName = `C:\\nullvolume` volName = `C:\\nullvolume`
} }
@ -4327,7 +4327,7 @@ func (s *DockerSuite) TestBuildBuildTimeArg(c *check.C) {
envKey := "foo" envKey := "foo"
envVal := "bar" envVal := "bar"
var dockerfile string var dockerfile string
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
// Bugs in Windows busybox port - use the default base image and native cmd stuff // Bugs in Windows busybox port - use the default base image and native cmd stuff
dockerfile = fmt.Sprintf(`FROM `+minimalBaseImage()+` dockerfile = fmt.Sprintf(`FROM `+minimalBaseImage()+`
ARG %s ARG %s
@ -4942,7 +4942,7 @@ func (s *DockerSuite) TestBuildMultiStageUnusedArg(c *check.C) {
func (s *DockerSuite) TestBuildNoNamedVolume(c *check.C) { func (s *DockerSuite) TestBuildNoNamedVolume(c *check.C) {
volName := "testname:/foo" volName := "testname:/foo"
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
volName = "testname:C:\\foo" volName = "testname:C:\\foo"
} }
dockerCmd(c, "run", "-v", volName, "busybox", "sh", "-c", "touch /foo/oops") dockerCmd(c, "run", "-v", volName, "busybox", "sh", "-c", "touch /foo/oops")
@ -6345,7 +6345,7 @@ WORKDIR /foo/bar
// The Windows busybox image has a blank `cmd` // The Windows busybox image has a blank `cmd`
lookingFor := `["sh"]` lookingFor := `["sh"]`
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
lookingFor = "null" lookingFor = "null"
} }
c.Assert(strings.TrimSpace(out), checker.Equals, lookingFor) c.Assert(strings.TrimSpace(out), checker.Equals, lookingFor)

View File

@ -125,7 +125,7 @@ func (s *DockerSuite) TestCommitChange(c *check.C) {
// ENV. On windows, the container doesn't have a `PATH` ENV variable so // ENV. On windows, the container doesn't have a `PATH` ENV variable so
// the ordering is the same as the cli. // the ordering is the same as the cli.
expectedEnv := "[PATH=/foo DEBUG=true test=1]" expectedEnv := "[PATH=/foo DEBUG=true test=1]"
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
expectedEnv = "[DEBUG=true test=1 PATH=/foo]" expectedEnv = "[DEBUG=true test=1 PATH=/foo]"
} }

View File

@ -60,7 +60,7 @@ func (s *DockerSuite) TestCreateArgs(c *check.C) {
// Make sure we can grow the container's rootfs at creation time. // Make sure we can grow the container's rootfs at creation time.
func (s *DockerSuite) TestCreateGrowRootfs(c *check.C) { func (s *DockerSuite) TestCreateGrowRootfs(c *check.C) {
// Windows and Devicemapper support growing the rootfs // Windows and Devicemapper support growing the rootfs
if testEnv.DaemonPlatform() != "windows" { if testEnv.OSType != "windows" {
testRequires(c, Devicemapper) testRequires(c, Devicemapper)
} }
out, _ := dockerCmd(c, "create", "--storage-opt", "size=120G", "busybox") out, _ := dockerCmd(c, "create", "--storage-opt", "size=120G", "busybox")
@ -224,7 +224,7 @@ func (s *DockerSuite) TestCreateLabelFromImage(c *check.C) {
func (s *DockerSuite) TestCreateHostnameWithNumber(c *check.C) { func (s *DockerSuite) TestCreateHostnameWithNumber(c *check.C) {
image := "busybox" image := "busybox"
// Busybox on Windows does not implement hostname command // Busybox on Windows does not implement hostname command
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
image = testEnv.PlatformDefaults.BaseImage image = testEnv.PlatformDefaults.BaseImage
} }
out, _ := dockerCmd(c, "run", "-h", "web.0", image, "hostname") out, _ := dockerCmd(c, "run", "-h", "web.0", image, "hostname")
@ -378,7 +378,7 @@ func (s *DockerSuite) TestCreateWithWorkdir(c *check.C) {
dockerCmd(c, "create", "--name", name, "-w", dir, "busybox") dockerCmd(c, "create", "--name", name, "-w", dir, "busybox")
// Windows does not create the workdir until the container is started // Windows does not create the workdir until the container is started
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
dockerCmd(c, "start", name) dockerCmd(c, "start", name)
} }
dockerCmd(c, "cp", fmt.Sprintf("%s:%s", name, dir), prefix+slash+"tmp") dockerCmd(c, "cp", fmt.Sprintf("%s:%s", name, dir), prefix+slash+"tmp")

View File

@ -20,7 +20,7 @@ func (s *DockerSuite) TestDiffFilenameShownInOutput(c *check.C) {
// a "Files/" prefix. // a "Files/" prefix.
containerID := strings.TrimSpace(out) containerID := strings.TrimSpace(out)
lookingFor := "A /foo/bar" lookingFor := "A /foo/bar"
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
cli.WaitExited(c, containerID, 60*time.Second) cli.WaitExited(c, containerID, 60*time.Second)
lookingFor = "C Files/foo/bar" lookingFor = "C Files/foo/bar"
} }

View File

@ -659,7 +659,7 @@ func (s *DockerSuite) TestEventsContainerRestart(c *check.C) {
// wait until test2 is auto removed. // wait until test2 is auto removed.
waitTime := 10 * time.Second waitTime := 10 * time.Second
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
// Windows takes longer... // Windows takes longer...
waitTime = 90 * time.Second waitTime = 90 * time.Second
} }

View File

@ -36,7 +36,7 @@ func (s *DockerSuite) TestInfoEnsureSucceeds(c *check.C) {
"Live Restore Enabled:", "Live Restore Enabled:",
} }
if testEnv.DaemonPlatform() == "linux" { if testEnv.OSType == "linux" {
stringsToCheck = append(stringsToCheck, "Init Binary:", "Security Options:", "containerd version:", "runc version:", "init version:") stringsToCheck = append(stringsToCheck, "Init Binary:", "Security Options:", "containerd version:", "runc version:", "init version:")
} }

View File

@ -61,7 +61,7 @@ func (s *DockerSuite) TestInspectStatus(c *check.C) {
// Windows does not support pause/unpause on Windows Server Containers. // Windows does not support pause/unpause on Windows Server Containers.
// (RS1 does for Hyper-V Containers, but production CI is not setup for that) // (RS1 does for Hyper-V Containers, but production CI is not setup for that)
if testEnv.DaemonPlatform() != "windows" { if testEnv.OSType != "windows" {
dockerCmd(c, "pause", out) dockerCmd(c, "pause", out)
inspectOut = inspectField(c, out, "State.Status") inspectOut = inspectField(c, out, "State.Status")
c.Assert(inspectOut, checker.Equals, "paused") c.Assert(inspectOut, checker.Equals, "paused")
@ -206,7 +206,7 @@ func (s *DockerSuite) TestInspectContainerGraphDriver(c *check.C) {
func (s *DockerSuite) TestInspectBindMountPoint(c *check.C) { func (s *DockerSuite) TestInspectBindMountPoint(c *check.C) {
modifier := ",z" modifier := ",z"
prefix, slash := getPrefixAndSlashFromDaemonPlatform() prefix, slash := getPrefixAndSlashFromDaemonPlatform()
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
modifier = "" modifier = ""
// Linux creates the host directory if it doesn't exist. Windows does not. // Linux creates the host directory if it doesn't exist. Windows does not.
os.Mkdir(`c:\data`, os.ModeDir) os.Mkdir(`c:\data`, os.ModeDir)
@ -229,7 +229,7 @@ func (s *DockerSuite) TestInspectBindMountPoint(c *check.C) {
c.Assert(m.Driver, checker.Equals, "") c.Assert(m.Driver, checker.Equals, "")
c.Assert(m.Source, checker.Equals, prefix+slash+"data") c.Assert(m.Source, checker.Equals, prefix+slash+"data")
c.Assert(m.Destination, checker.Equals, prefix+slash+"data") c.Assert(m.Destination, checker.Equals, prefix+slash+"data")
if testEnv.DaemonPlatform() != "windows" { // Windows does not set mode if testEnv.OSType != "windows" { // Windows does not set mode
c.Assert(m.Mode, checker.Equals, "ro"+modifier) c.Assert(m.Mode, checker.Equals, "ro"+modifier)
} }
c.Assert(m.RW, checker.Equals, false) c.Assert(m.RW, checker.Equals, false)

View File

@ -216,7 +216,7 @@ func (s *DockerSuite) TestPsListContainersFilterStatus(c *check.C) {
}) })
// Windows doesn't support pausing of containers // Windows doesn't support pausing of containers
if testEnv.DaemonPlatform() != "windows" { if testEnv.OSType != "windows" {
// pause running container // pause running container
out = cli.DockerCmd(c, "run", "-itd", "busybox").Combined() out = cli.DockerCmd(c, "run", "-itd", "busybox").Combined()
pausedID := strings.TrimSpace(out) pausedID := strings.TrimSpace(out)

View File

@ -93,7 +93,7 @@ func (s *DockerSuite) TestRenameAnonymousContainer(c *check.C) {
dockerCmd(c, "start", "container1") dockerCmd(c, "start", "container1")
count := "-c" count := "-c"
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
count = "-n" count = "-n"
} }

View File

@ -269,7 +269,7 @@ func (s *DockerSuite) TestRestartContainerwithRestartPolicy(c *check.C) {
id1 := strings.TrimSpace(string(out1)) id1 := strings.TrimSpace(string(out1))
id2 := strings.TrimSpace(string(out2)) id2 := strings.TrimSpace(string(out2))
waitTimeout := 15 * time.Second waitTimeout := 15 * time.Second
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
waitTimeout = 150 * time.Second waitTimeout = 150 * time.Second
} }
err := waitInspect(id1, "{{ .State.Restarting }} {{ .State.Running }}", "false false", waitTimeout) err := waitInspect(id1, "{{ .State.Restarting }} {{ .State.Running }}", "false false", waitTimeout)

View File

@ -68,7 +68,7 @@ func (s *DockerSuite) TestRmiImgIDMultipleTag(c *check.C) {
// Wait for it to exit as cannot commit a running container on Windows, and // Wait for it to exit as cannot commit a running container on Windows, and
// it will take a few seconds to exit // it will take a few seconds to exit
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
cli.WaitExited(c, containerID, 60*time.Second) cli.WaitExited(c, containerID, 60*time.Second)
} }
@ -109,7 +109,7 @@ func (s *DockerSuite) TestRmiImgIDForce(c *check.C) {
// Wait for it to exit as cannot commit a running container on Windows, and // Wait for it to exit as cannot commit a running container on Windows, and
// it will take a few seconds to exit // it will take a few seconds to exit
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
cli.WaitExited(c, containerID, 60*time.Second) cli.WaitExited(c, containerID, 60*time.Second)
} }

View File

@ -72,7 +72,7 @@ func (s *DockerSuite) TestRunLeakyFileDescriptors(c *check.C) {
// this will fail when Internet access is unavailable // this will fail when Internet access is unavailable
func (s *DockerSuite) TestRunLookupGoogleDNS(c *check.C) { func (s *DockerSuite) TestRunLookupGoogleDNS(c *check.C) {
testRequires(c, Network, NotArm) testRequires(c, Network, NotArm)
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
// nslookup isn't present in Windows busybox. Is built-in. Further, // nslookup isn't present in Windows busybox. Is built-in. Further,
// nslookup isn't present in nanoserver. Hence just use PowerShell... // nslookup isn't present in nanoserver. Hence just use PowerShell...
dockerCmd(c, "run", testEnv.PlatformDefaults.BaseImage, "powershell", "Resolve-DNSName", "google.com") dockerCmd(c, "run", testEnv.PlatformDefaults.BaseImage, "powershell", "Resolve-DNSName", "google.com")
@ -137,7 +137,7 @@ func (s *DockerSuite) TestRunDetachedContainerIDPrinting(c *check.C) {
func (s *DockerSuite) TestRunWorkingDirectory(c *check.C) { func (s *DockerSuite) TestRunWorkingDirectory(c *check.C) {
dir := "/root" dir := "/root"
image := "busybox" image := "busybox"
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
dir = `C:/Windows` dir = `C:/Windows`
} }
@ -160,7 +160,7 @@ func (s *DockerSuite) TestRunWorkingDirectory(c *check.C) {
func (s *DockerSuite) TestRunWithoutNetworking(c *check.C) { func (s *DockerSuite) TestRunWithoutNetworking(c *check.C) {
count := "-c" count := "-c"
image := "busybox" image := "busybox"
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
count = "-n" count = "-n"
image = testEnv.PlatformDefaults.BaseImage image = testEnv.PlatformDefaults.BaseImage
} }
@ -354,7 +354,7 @@ func (s *DockerSuite) TestRunWithVolumesFromExited(c *check.C) {
) )
// Create a file in a volume // Create a file in a volume
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
out, exitCode = dockerCmd(c, "run", "--name", "test-data", "--volume", `c:\some\dir`, testEnv.PlatformDefaults.BaseImage, "cmd", "/c", `echo hello > c:\some\dir\file`) out, exitCode = dockerCmd(c, "run", "--name", "test-data", "--volume", `c:\some\dir`, testEnv.PlatformDefaults.BaseImage, "cmd", "/c", `echo hello > c:\some\dir\file`)
} else { } else {
out, exitCode = dockerCmd(c, "run", "--name", "test-data", "--volume", "/some/dir", "busybox", "touch", "/some/dir/file") out, exitCode = dockerCmd(c, "run", "--name", "test-data", "--volume", "/some/dir", "busybox", "touch", "/some/dir/file")
@ -364,7 +364,7 @@ func (s *DockerSuite) TestRunWithVolumesFromExited(c *check.C) {
} }
// Read the file from another container using --volumes-from to access the volume in the second container // Read the file from another container using --volumes-from to access the volume in the second container
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
out, exitCode = dockerCmd(c, "run", "--volumes-from", "test-data", testEnv.PlatformDefaults.BaseImage, "cmd", "/c", `type c:\some\dir\file`) out, exitCode = dockerCmd(c, "run", "--volumes-from", "test-data", testEnv.PlatformDefaults.BaseImage, "cmd", "/c", `type c:\some\dir\file`)
} else { } else {
out, exitCode = dockerCmd(c, "run", "--volumes-from", "test-data", "busybox", "cat", "/some/dir/file") out, exitCode = dockerCmd(c, "run", "--volumes-from", "test-data", "busybox", "cat", "/some/dir/file")
@ -396,7 +396,7 @@ func (s *DockerSuite) TestRunCreateVolumesInSymlinkDir(c *check.C) {
// In the case of Windows to Windows CI, if the machine is setup so that // In the case of Windows to Windows CI, if the machine is setup so that
// the temp directory is not the C: drive, this test is invalid and will // the temp directory is not the C: drive, this test is invalid and will
// not work. // not work.
if testEnv.DaemonPlatform() == "windows" && strings.ToLower(dir[:1]) != "c" { if testEnv.OSType == "windows" && strings.ToLower(dir[:1]) != "c" {
c.Skip("Requires TEMP to point to C: drive") c.Skip("Requires TEMP to point to C: drive")
} }
@ -406,7 +406,7 @@ func (s *DockerSuite) TestRunCreateVolumesInSymlinkDir(c *check.C) {
} }
f.Close() f.Close()
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
dockerFile = fmt.Sprintf("FROM %s\nRUN mkdir %s\nRUN mklink /D c:\\test %s", testEnv.PlatformDefaults.BaseImage, dir, dir) dockerFile = fmt.Sprintf("FROM %s\nRUN mkdir %s\nRUN mklink /D c:\\test %s", testEnv.PlatformDefaults.BaseImage, dir, dir)
containerPath = `c:\test\test` containerPath = `c:\test\test`
cmd = "tasklist" cmd = "tasklist"
@ -431,7 +431,7 @@ func (s *DockerSuite) TestRunCreateVolumesInSymlinkDir2(c *check.C) {
testRequires(c, SameHostDaemon, DaemonIsLinux) testRequires(c, SameHostDaemon, DaemonIsLinux)
name := "test-volume-symlink2" name := "test-volume-symlink2"
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
dockerFile = fmt.Sprintf("FROM %s\nRUN mkdir c:\\%s\nRUN mklink /D c:\\test c:\\%s", testEnv.PlatformDefaults.BaseImage, name, name) dockerFile = fmt.Sprintf("FROM %s\nRUN mkdir c:\\%s\nRUN mklink /D c:\\test c:\\%s", testEnv.PlatformDefaults.BaseImage, name, name)
containerPath = `c:\test\test` containerPath = `c:\test\test`
cmd = "tasklist" cmd = "tasklist"
@ -455,7 +455,7 @@ func (s *DockerSuite) TestRunVolumesFromInReadonlyModeFails(c *check.C) {
volumeDir string volumeDir string
fileInVol string fileInVol string
) )
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
volumeDir = `c:/test` // Forward-slash as using busybox volumeDir = `c:/test` // Forward-slash as using busybox
fileInVol = `c:/test/file` fileInVol = `c:/test/file`
} else { } else {
@ -476,7 +476,7 @@ func (s *DockerSuite) TestRunVolumesFromInReadWriteMode(c *check.C) {
volumeDir string volumeDir string
fileInVol string fileInVol string
) )
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
volumeDir = `c:/test` // Forward-slash as using busybox volumeDir = `c:/test` // Forward-slash as using busybox
fileInVol = `c:/test/file` fileInVol = `c:/test/file`
} else { } else {
@ -497,7 +497,7 @@ func (s *DockerSuite) TestRunVolumesFromInReadWriteMode(c *check.C) {
func (s *DockerSuite) TestVolumesFromGetsProperMode(c *check.C) { func (s *DockerSuite) TestVolumesFromGetsProperMode(c *check.C) {
testRequires(c, SameHostDaemon) testRequires(c, SameHostDaemon)
prefix, slash := getPrefixAndSlashFromDaemonPlatform() prefix, slash := getPrefixAndSlashFromDaemonPlatform()
hostpath := RandomTmpDirPath("test", testEnv.DaemonPlatform()) hostpath := RandomTmpDirPath("test", testEnv.OSType)
if err := os.MkdirAll(hostpath, 0755); err != nil { if err := os.MkdirAll(hostpath, 0755); err != nil {
c.Fatalf("Failed to create %s: %q", hostpath, err) c.Fatalf("Failed to create %s: %q", hostpath, err)
} }
@ -520,11 +520,11 @@ func (s *DockerSuite) TestVolumesFromGetsProperMode(c *check.C) {
// Test for GH#10618 // Test for GH#10618
func (s *DockerSuite) TestRunNoDupVolumes(c *check.C) { func (s *DockerSuite) TestRunNoDupVolumes(c *check.C) {
path1 := RandomTmpDirPath("test1", testEnv.DaemonPlatform()) path1 := RandomTmpDirPath("test1", testEnv.OSType)
path2 := RandomTmpDirPath("test2", testEnv.DaemonPlatform()) path2 := RandomTmpDirPath("test2", testEnv.OSType)
someplace := ":/someplace" someplace := ":/someplace"
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
// Windows requires that the source directory exists before calling HCS // Windows requires that the source directory exists before calling HCS
testRequires(c, SameHostDaemon) testRequires(c, SameHostDaemon)
someplace = `:c:\someplace` someplace = `:c:\someplace`
@ -573,7 +573,7 @@ func (s *DockerSuite) TestRunNoDupVolumes(c *check.C) {
// Test for #1351 // Test for #1351
func (s *DockerSuite) TestRunApplyVolumesFromBeforeVolumes(c *check.C) { func (s *DockerSuite) TestRunApplyVolumesFromBeforeVolumes(c *check.C) {
prefix := "" prefix := ""
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
prefix = `c:` prefix = `c:`
} }
dockerCmd(c, "run", "--name", "parent", "-v", prefix+"/test", "busybox", "touch", prefix+"/test/foo") dockerCmd(c, "run", "--name", "parent", "-v", prefix+"/test", "busybox", "touch", prefix+"/test/foo")
@ -582,7 +582,7 @@ func (s *DockerSuite) TestRunApplyVolumesFromBeforeVolumes(c *check.C) {
func (s *DockerSuite) TestRunMultipleVolumesFrom(c *check.C) { func (s *DockerSuite) TestRunMultipleVolumesFrom(c *check.C) {
prefix := "" prefix := ""
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
prefix = `c:` prefix = `c:`
} }
dockerCmd(c, "run", "--name", "parent1", "-v", prefix+"/test", "busybox", "touch", prefix+"/test/foo") dockerCmd(c, "run", "--name", "parent1", "-v", prefix+"/test", "busybox", "touch", prefix+"/test/foo")
@ -612,7 +612,7 @@ func (s *DockerSuite) TestRunVerifyContainerID(c *check.C) {
// Test that creating a container with a volume doesn't crash. Regression test for #995. // Test that creating a container with a volume doesn't crash. Regression test for #995.
func (s *DockerSuite) TestRunCreateVolume(c *check.C) { func (s *DockerSuite) TestRunCreateVolume(c *check.C) {
prefix := "" prefix := ""
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
prefix = `c:` prefix = `c:`
} }
dockerCmd(c, "run", "-v", prefix+"/var/lib/data", "busybox", "true") dockerCmd(c, "run", "-v", prefix+"/var/lib/data", "busybox", "true")
@ -668,7 +668,7 @@ func (s *DockerSuite) TestRunVolumesFromSymlinkPath(c *check.C) {
RUN ln -s home /foo RUN ln -s home /foo
VOLUME ["/foo/bar"]` VOLUME ["/foo/bar"]`
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
prefix = `c:` prefix = `c:`
dfContents = `FROM ` + testEnv.PlatformDefaults.BaseImage + ` dfContents = `FROM ` + testEnv.PlatformDefaults.BaseImage + `
RUN mkdir c:\home RUN mkdir c:\home
@ -714,7 +714,7 @@ func (s *DockerSuite) TestRunExitCode(c *check.C) {
func (s *DockerSuite) TestRunUserDefaults(c *check.C) { func (s *DockerSuite) TestRunUserDefaults(c *check.C) {
expected := "uid=0(root) gid=0(root)" expected := "uid=0(root) gid=0(root)"
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
expected = "uid=1000(ContainerAdministrator) gid=1000(ContainerAdministrator)" expected = "uid=1000(ContainerAdministrator) gid=1000(ContainerAdministrator)"
} }
out, _ := dockerCmd(c, "run", "busybox", "id") out, _ := dockerCmd(c, "run", "busybox", "id")
@ -920,7 +920,7 @@ func (s *DockerSuite) TestRunEnvironmentOverride(c *check.C) {
} }
func (s *DockerSuite) TestRunContainerNetwork(c *check.C) { func (s *DockerSuite) TestRunContainerNetwork(c *check.C) {
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
// Windows busybox does not have ping. Use built in ping instead. // Windows busybox does not have ping. Use built in ping instead.
dockerCmd(c, "run", testEnv.PlatformDefaults.BaseImage, "ping", "-n", "1", "127.0.0.1") dockerCmd(c, "run", testEnv.PlatformDefaults.BaseImage, "ping", "-n", "1", "127.0.0.1")
} else { } else {
@ -1220,7 +1220,7 @@ func (s *DockerSuite) TestRunModeHostname(c *check.C) {
func (s *DockerSuite) TestRunRootWorkdir(c *check.C) { func (s *DockerSuite) TestRunRootWorkdir(c *check.C) {
out, _ := dockerCmd(c, "run", "--workdir", "/", "busybox", "pwd") out, _ := dockerCmd(c, "run", "--workdir", "/", "busybox", "pwd")
expected := "/\n" expected := "/\n"
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
expected = "C:" + expected expected = "C:" + expected
} }
if out != expected { if out != expected {
@ -1229,7 +1229,7 @@ func (s *DockerSuite) TestRunRootWorkdir(c *check.C) {
} }
func (s *DockerSuite) TestRunAllowBindMountingRoot(c *check.C) { func (s *DockerSuite) TestRunAllowBindMountingRoot(c *check.C) {
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
// Windows busybox will fail with Permission Denied on items such as pagefile.sys // Windows busybox will fail with Permission Denied on items such as pagefile.sys
dockerCmd(c, "run", "-v", `c:\:c:\host`, testEnv.PlatformDefaults.BaseImage, "cmd", "-c", "dir", `c:\host`) dockerCmd(c, "run", "-v", `c:\:c:\host`, testEnv.PlatformDefaults.BaseImage, "cmd", "-c", "dir", `c:\host`)
} else { } else {
@ -1240,7 +1240,7 @@ func (s *DockerSuite) TestRunAllowBindMountingRoot(c *check.C) {
func (s *DockerSuite) TestRunDisallowBindMountingRootToRoot(c *check.C) { func (s *DockerSuite) TestRunDisallowBindMountingRootToRoot(c *check.C) {
mount := "/:/" mount := "/:/"
targetDir := "/host" targetDir := "/host"
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
mount = `c:\:c\` mount = `c:\:c\`
targetDir = "c:/host" // Forward slash as using busybox targetDir = "c:/host" // Forward slash as using busybox
} }
@ -1704,7 +1704,7 @@ func (s *DockerSuite) TestRunCleanupCmdOnEntrypoint(c *check.C) {
} }
out = strings.TrimSpace(out) out = strings.TrimSpace(out)
expected := "root" expected := "root"
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
if strings.Contains(testEnv.PlatformDefaults.BaseImage, "windowsservercore") { if strings.Contains(testEnv.PlatformDefaults.BaseImage, "windowsservercore") {
expected = `user manager\containeradministrator` expected = `user manager\containeradministrator`
} else { } else {
@ -1720,7 +1720,7 @@ func (s *DockerSuite) TestRunCleanupCmdOnEntrypoint(c *check.C) {
func (s *DockerSuite) TestRunWorkdirExistsAndIsFile(c *check.C) { func (s *DockerSuite) TestRunWorkdirExistsAndIsFile(c *check.C) {
existingFile := "/bin/cat" existingFile := "/bin/cat"
expected := "not a directory" expected := "not a directory"
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
existingFile = `\windows\system32\ntdll.dll` existingFile = `\windows\system32\ntdll.dll`
expected = `The directory name is invalid.` expected = `The directory name is invalid.`
} }
@ -1736,7 +1736,7 @@ func (s *DockerSuite) TestRunExitOnStdinClose(c *check.C) {
meow := "/bin/cat" meow := "/bin/cat"
delay := 60 delay := 60
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
meow = "cat" meow = "cat"
} }
runCmd := exec.Command(dockerBinary, "run", "--name", name, "-i", "busybox", meow) runCmd := exec.Command(dockerBinary, "run", "--name", name, "-i", "busybox", meow)
@ -1881,7 +1881,7 @@ func (s *DockerSuite) TestRunEntrypoint(c *check.C) {
func (s *DockerSuite) TestRunBindMounts(c *check.C) { func (s *DockerSuite) TestRunBindMounts(c *check.C) {
testRequires(c, SameHostDaemon) testRequires(c, SameHostDaemon)
if testEnv.DaemonPlatform() == "linux" { if testEnv.OSType == "linux" {
testRequires(c, DaemonIsLinux, NotUserNamespace) testRequires(c, DaemonIsLinux, NotUserNamespace)
} }
@ -1902,7 +1902,7 @@ func (s *DockerSuite) TestRunBindMounts(c *check.C) {
} }
// test writing to bind mount // test writing to bind mount
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
dockerCmd(c, "run", "-v", fmt.Sprintf(`%s:c:\tmp:rw`, tmpDir), "busybox", "touch", "c:/tmp/holla") dockerCmd(c, "run", "-v", fmt.Sprintf(`%s:c:\tmp:rw`, tmpDir), "busybox", "touch", "c:/tmp/holla")
} else { } else {
dockerCmd(c, "run", "-v", fmt.Sprintf("%s:/tmp:rw", tmpDir), "busybox", "touch", "/tmp/holla") dockerCmd(c, "run", "-v", fmt.Sprintf("%s:/tmp:rw", tmpDir), "busybox", "touch", "/tmp/holla")
@ -1917,7 +1917,7 @@ func (s *DockerSuite) TestRunBindMounts(c *check.C) {
} }
// Windows does not (and likely never will) support mounting a single file // Windows does not (and likely never will) support mounting a single file
if testEnv.DaemonPlatform() != "windows" { if testEnv.OSType != "windows" {
// test mount a file // test mount a file
dockerCmd(c, "run", "-v", fmt.Sprintf("%s/holla:/tmp/holla:rw", tmpDir), "busybox", "sh", "-c", "echo -n 'yotta' > /tmp/holla") dockerCmd(c, "run", "-v", fmt.Sprintf("%s/holla:/tmp/holla:rw", tmpDir), "busybox", "sh", "-c", "echo -n 'yotta' > /tmp/holla")
content := readFile(path.Join(tmpDir, "holla"), c) // Will fail if the file doesn't exist content := readFile(path.Join(tmpDir, "holla"), c) // Will fail if the file doesn't exist
@ -1942,7 +1942,7 @@ func (s *DockerSuite) TestRunCidFileCleanupIfEmpty(c *check.C) {
tmpCidFile := path.Join(tmpDir, "cid") tmpCidFile := path.Join(tmpDir, "cid")
image := "emptyfs" image := "emptyfs"
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
// Windows can't support an emptyfs image. Just use the regular Windows image // Windows can't support an emptyfs image. Just use the regular Windows image
image = testEnv.PlatformDefaults.BaseImage image = testEnv.PlatformDefaults.BaseImage
} }
@ -1988,7 +1988,7 @@ func (s *DockerSuite) TestRunCidFileCheckIDLength(c *check.C) {
func (s *DockerSuite) TestRunSetMacAddress(c *check.C) { func (s *DockerSuite) TestRunSetMacAddress(c *check.C) {
mac := "12:34:56:78:9a:bc" mac := "12:34:56:78:9a:bc"
var out string var out string
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
out, _ = dockerCmd(c, "run", "-i", "--rm", fmt.Sprintf("--mac-address=%s", mac), "busybox", "sh", "-c", "ipconfig /all | grep 'Physical Address' | awk '{print $12}'") out, _ = dockerCmd(c, "run", "-i", "--rm", fmt.Sprintf("--mac-address=%s", mac), "busybox", "sh", "-c", "ipconfig /all | grep 'Physical Address' | awk '{print $12}'")
mac = strings.Replace(strings.ToUpper(mac), ":", "-", -1) // To Windows-style MACs mac = strings.Replace(strings.ToUpper(mac), ":", "-", -1) // To Windows-style MACs
} else { } else {
@ -2185,7 +2185,7 @@ func (s *DockerSuite) TestVolumesNoCopyData(c *check.C) {
c.Fatalf("Data was copied on volumes-from but shouldn't be:\n%q", out) c.Fatalf("Data was copied on volumes-from but shouldn't be:\n%q", out)
} }
tmpDir := RandomTmpDirPath("docker_test_bind_mount_copy_data", testEnv.DaemonPlatform()) tmpDir := RandomTmpDirPath("docker_test_bind_mount_copy_data", testEnv.OSType)
if out, _, err := dockerCmdWithError("run", "-v", tmpDir+":/foo", "dataimage", "ls", "-lh", "/foo/bar"); err == nil || !strings.Contains(out, "No such file or directory") { 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) c.Fatalf("Data was copied on bind mount but shouldn't be:\n%q", out)
} }
@ -2558,7 +2558,7 @@ func (s *DockerSuite) TestRunNonLocalMacAddress(c *check.C) {
args := []string{"run", "--mac-address", addr} args := []string{"run", "--mac-address", addr}
expected := addr expected := addr
if testEnv.DaemonPlatform() != "windows" { if testEnv.OSType != "windows" {
args = append(args, "busybox", "ifconfig") args = append(args, "busybox", "ifconfig")
} else { } else {
args = append(args, testEnv.PlatformDefaults.BaseImage, "ipconfig", "/all") args = append(args, testEnv.PlatformDefaults.BaseImage, "ipconfig", "/all")
@ -2654,7 +2654,7 @@ func (s *DockerSuite) TestRunSetDefaultRestartPolicy(c *check.C) {
func (s *DockerSuite) TestRunRestartMaxRetries(c *check.C) { func (s *DockerSuite) TestRunRestartMaxRetries(c *check.C) {
out, _ := dockerCmd(c, "run", "-d", "--restart=on-failure:3", "busybox", "false") out, _ := dockerCmd(c, "run", "-d", "--restart=on-failure:3", "busybox", "false")
timeout := 10 * time.Second timeout := 10 * time.Second
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
timeout = 120 * time.Second timeout = 120 * time.Second
} }
@ -3022,7 +3022,7 @@ func (s *DockerSuite) TestVolumeFromMixedRWOptions(c *check.C) {
dockerCmd(c, "run", "--volumes-from", "parent:ro", "--name", "test-volumes-1", "busybox", "true") dockerCmd(c, "run", "--volumes-from", "parent:ro", "--name", "test-volumes-1", "busybox", "true")
dockerCmd(c, "run", "--volumes-from", "parent:rw", "--name", "test-volumes-2", "busybox", "true") dockerCmd(c, "run", "--volumes-from", "parent:rw", "--name", "test-volumes-2", "busybox", "true")
if testEnv.DaemonPlatform() != "windows" { if testEnv.OSType != "windows" {
mRO, err := inspectMountPoint("test-volumes-1", prefix+slash+"test") mRO, err := inspectMountPoint("test-volumes-1", prefix+slash+"test")
c.Assert(err, checker.IsNil, check.Commentf("failed to inspect mount point")) c.Assert(err, checker.IsNil, check.Commentf("failed to inspect mount point"))
if mRO.RW { if mRO.RW {
@ -3482,7 +3482,7 @@ func (s *DockerSuite) TestRunLoopbackOnlyExistsWhenNetworkingDisabled(c *check.C
// Issue #4681 // Issue #4681
func (s *DockerSuite) TestRunLoopbackWhenNetworkDisabled(c *check.C) { func (s *DockerSuite) TestRunLoopbackWhenNetworkDisabled(c *check.C) {
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
dockerCmd(c, "run", "--net=none", testEnv.PlatformDefaults.BaseImage, "ping", "-n", "1", "127.0.0.1") dockerCmd(c, "run", "--net=none", testEnv.PlatformDefaults.BaseImage, "ping", "-n", "1", "127.0.0.1")
} else { } else {
dockerCmd(c, "run", "--net=none", "busybox", "ping", "-c", "1", "127.0.0.1") dockerCmd(c, "run", "--net=none", "busybox", "ping", "-c", "1", "127.0.0.1")
@ -3749,7 +3749,7 @@ func (s *DockerSuite) TestRunNonExistingCmd(c *check.C) {
// as that's when the check is made (and yes, by its design...) // as that's when the check is made (and yes, by its design...)
func (s *DockerSuite) TestCmdCannotBeInvoked(c *check.C) { func (s *DockerSuite) TestCmdCannotBeInvoked(c *check.C) {
expected := 126 expected := 126
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
expected = 127 expected = 127
} }
name := "testCmdCannotBeInvoked" name := "testCmdCannotBeInvoked"

View File

@ -13,7 +13,7 @@ func (s *DockerSuite) TestTopMultipleArgs(c *check.C) {
cleanedContainerID := strings.TrimSpace(out) cleanedContainerID := strings.TrimSpace(out)
var expected icmd.Expected var expected icmd.Expected
switch testEnv.DaemonPlatform() { switch testEnv.OSType {
case "windows": case "windows":
expected = icmd.Expected{ExitCode: 1, Err: "Windows does not support arguments to top"} expected = icmd.Expected{ExitCode: 1, Err: "Windows does not support arguments to top"}
default: default:
@ -34,7 +34,7 @@ func (s *DockerSuite) TestTopNonPrivileged(c *check.C) {
// Windows will list the name of the launched executable which in this case is busybox.exe, without the parameters. // Windows will list the name of the launched executable which in this case is busybox.exe, without the parameters.
// Linux will display the command executed in the container // Linux will display the command executed in the container
var lookingFor string var lookingFor string
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
lookingFor = "busybox.exe" lookingFor = "busybox.exe"
} else { } else {
lookingFor = "top" lookingFor = "top"

View File

@ -13,7 +13,7 @@ import (
func (s *DockerSuite) TestUpdateRestartPolicy(c *check.C) { func (s *DockerSuite) TestUpdateRestartPolicy(c *check.C) {
out := cli.DockerCmd(c, "run", "-d", "--restart=on-failure:3", "busybox", "sh", "-c", "sleep 1 && false").Combined() out := cli.DockerCmd(c, "run", "-d", "--restart=on-failure:3", "busybox", "sh", "-c", "sleep 1 && false").Combined()
timeout := 60 * time.Second timeout := 60 * time.Second
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
timeout = 180 * time.Second timeout = 180 * time.Second
} }

View File

@ -36,7 +36,7 @@ func (s *DockerSuite) TestDeprecatedContainerAPIStartVolumeBinds(c *check.C) {
// TODO Windows CI: Investigate further why this fails on Windows to Windows CI. // TODO Windows CI: Investigate further why this fails on Windows to Windows CI.
testRequires(c, DaemonIsLinux) testRequires(c, DaemonIsLinux)
path := "/foo" path := "/foo"
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
path = `c:\foo` path = `c:\foo`
} }
name := "testing" name := "testing"
@ -49,7 +49,7 @@ func (s *DockerSuite) TestDeprecatedContainerAPIStartVolumeBinds(c *check.C) {
c.Assert(err, checker.IsNil) c.Assert(err, checker.IsNil)
c.Assert(res.StatusCode, checker.Equals, http.StatusCreated) c.Assert(res.StatusCode, checker.Equals, http.StatusCreated)
bindPath := RandomTmpDirPath("test", testEnv.DaemonPlatform()) bindPath := RandomTmpDirPath("test", testEnv.OSType)
config = map[string]interface{}{ config = map[string]interface{}{
"Binds": []string{bindPath + ":" + path}, "Binds": []string{bindPath + ":" + path},
} }
@ -76,8 +76,8 @@ func (s *DockerSuite) TestDeprecatedContainerAPIStartDupVolumeBinds(c *check.C)
c.Assert(err, checker.IsNil) c.Assert(err, checker.IsNil)
c.Assert(res.StatusCode, checker.Equals, http.StatusCreated) c.Assert(res.StatusCode, checker.Equals, http.StatusCreated)
bindPath1 := RandomTmpDirPath("test1", testEnv.DaemonPlatform()) bindPath1 := RandomTmpDirPath("test1", testEnv.OSType)
bindPath2 := RandomTmpDirPath("test2", testEnv.DaemonPlatform()) bindPath2 := RandomTmpDirPath("test2", testEnv.OSType)
config = map[string]interface{}{ config = map[string]interface{}{
"Binds": []string{bindPath1 + ":/tmp", bindPath2 + ":/tmp"}, "Binds": []string{bindPath1 + ":/tmp", bindPath2 + ":/tmp"},

View File

@ -48,12 +48,3 @@ func New() (*Execution, error) {
dockerBinary: dockerBinary, dockerBinary: dockerBinary,
}, nil }, nil
} }
// DaemonPlatform is held globally so that tests can make intelligent
// decisions on how to configure themselves according to the platform
// of the daemon. This is initialized in docker_utils by sending
// a version call to the daemon and examining the response header.
// Deprecated: use Execution.OSType
func (e *Execution) DaemonPlatform() string {
return e.OSType
}

View File

@ -38,7 +38,7 @@ func ensureSyscallTest(c *check.C) {
// if no match, must build in docker, which is significantly slower // if no match, must build in docker, which is significantly slower
// (slower mostly because of the vfs graphdriver) // (slower mostly because of the vfs graphdriver)
if testEnv.DaemonPlatform() != runtime.GOOS { if testEnv.OSType != runtime.GOOS {
ensureSyscallTestBuild(c) ensureSyscallTestBuild(c)
return return
} }
@ -93,7 +93,7 @@ func ensureSyscallTestBuild(c *check.C) {
func ensureNNPTest(c *check.C) { func ensureNNPTest(c *check.C) {
defer testEnv.ProtectImage(c, "nnp-test:latest") defer testEnv.ProtectImage(c, "nnp-test:latest")
if testEnv.DaemonPlatform() != runtime.GOOS { if testEnv.OSType != runtime.GOOS {
ensureNNPTestBuild(c) ensureNNPTestBuild(c)
return return
} }

View File

@ -4,7 +4,7 @@ package main
// the command is for a sleeping container based on the daemon platform. // the command is for a sleeping container based on the daemon platform.
// The Windows busybox image does not have a `top` command. // The Windows busybox image does not have a `top` command.
func sleepCommandForDaemonPlatform() []string { func sleepCommandForDaemonPlatform() []string {
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
return []string{"sleep", "240"} return []string{"sleep", "240"}
} }
return []string{"top"} return []string{"top"}

View File

@ -14,7 +14,7 @@ import (
) )
func getPrefixAndSlashFromDaemonPlatform() (prefix, slash string) { func getPrefixAndSlashFromDaemonPlatform() (prefix, slash string) {
if testEnv.DaemonPlatform() == "windows" { if testEnv.OSType == "windows" {
return "c:", `\` return "c:", `\`
} }
return "", "/" return "", "/"