mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Merge pull request #36018 from thaJeztah/remove-deprecated-testenv-functions
Remove deprecated integration-cli/environment functions
This commit is contained in:
commit
8c31aacebf
36 changed files with 159 additions and 188 deletions
|
@ -129,7 +129,7 @@ func (s *DockerRegistrySuite) SetUpTest(c *check.C) {
|
|||
testRequires(c, DaemonIsLinux, registry.Hosting, SameHostDaemon)
|
||||
s.reg = setupRegistry(c, false, "", "")
|
||||
s.d = daemon.New(c, dockerBinary, dockerdBinary, daemon.Config{
|
||||
Experimental: testEnv.ExperimentalDaemon(),
|
||||
Experimental: testEnv.DaemonInfo.ExperimentalBuild,
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -163,7 +163,7 @@ func (s *DockerSchema1RegistrySuite) SetUpTest(c *check.C) {
|
|||
testRequires(c, DaemonIsLinux, registry.Hosting, NotArm64, SameHostDaemon)
|
||||
s.reg = setupRegistry(c, true, "", "")
|
||||
s.d = daemon.New(c, dockerBinary, dockerdBinary, daemon.Config{
|
||||
Experimental: testEnv.ExperimentalDaemon(),
|
||||
Experimental: testEnv.DaemonInfo.ExperimentalBuild,
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -197,7 +197,7 @@ func (s *DockerRegistryAuthHtpasswdSuite) SetUpTest(c *check.C) {
|
|||
testRequires(c, DaemonIsLinux, registry.Hosting, SameHostDaemon)
|
||||
s.reg = setupRegistry(c, false, "htpasswd", "")
|
||||
s.d = daemon.New(c, dockerBinary, dockerdBinary, daemon.Config{
|
||||
Experimental: testEnv.ExperimentalDaemon(),
|
||||
Experimental: testEnv.DaemonInfo.ExperimentalBuild,
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -232,7 +232,7 @@ func (s *DockerRegistryAuthTokenSuite) OnTimeout(c *check.C) {
|
|||
func (s *DockerRegistryAuthTokenSuite) SetUpTest(c *check.C) {
|
||||
testRequires(c, DaemonIsLinux, registry.Hosting, SameHostDaemon)
|
||||
s.d = daemon.New(c, dockerBinary, dockerdBinary, daemon.Config{
|
||||
Experimental: testEnv.ExperimentalDaemon(),
|
||||
Experimental: testEnv.DaemonInfo.ExperimentalBuild,
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -273,7 +273,7 @@ func (s *DockerDaemonSuite) OnTimeout(c *check.C) {
|
|||
func (s *DockerDaemonSuite) SetUpTest(c *check.C) {
|
||||
testRequires(c, DaemonIsLinux, SameHostDaemon)
|
||||
s.d = daemon.New(c, dockerBinary, dockerdBinary, daemon.Config{
|
||||
Experimental: testEnv.ExperimentalDaemon(),
|
||||
Experimental: testEnv.DaemonInfo.ExperimentalBuild,
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -331,7 +331,7 @@ func (s *DockerSwarmSuite) SetUpTest(c *check.C) {
|
|||
func (s *DockerSwarmSuite) AddDaemon(c *check.C, joinSwarm, manager bool) *daemon.Swarm {
|
||||
d := &daemon.Swarm{
|
||||
Daemon: daemon.New(c, dockerBinary, dockerdBinary, daemon.Config{
|
||||
Experimental: testEnv.ExperimentalDaemon(),
|
||||
Experimental: testEnv.DaemonInfo.ExperimentalBuild,
|
||||
}),
|
||||
Port: defaultSwarmPort + s.portIndex,
|
||||
}
|
||||
|
|
|
@ -30,7 +30,7 @@ func (s *DockerSuite) TestBuildAPIDockerFileRemote(c *check.C) {
|
|||
testRequires(c, NotUserNamespace)
|
||||
|
||||
var testD string
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
testD = `FROM busybox
|
||||
RUN find / -name ba*
|
||||
RUN find /tmp/`
|
||||
|
|
|
@ -1016,7 +1016,7 @@ func (s *DockerSuite) TestContainerAPIWait(c *check.C) {
|
|||
name := "test-api-wait"
|
||||
|
||||
sleepCmd := "/bin/sleep"
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
sleepCmd = "sleep"
|
||||
}
|
||||
dockerCmd(c, "run", "--name", name, "busybox", sleepCmd, "2")
|
||||
|
@ -1216,7 +1216,7 @@ func (s *DockerSuite) TestContainerAPIDeleteRemoveVolume(c *check.C) {
|
|||
testRequires(c, SameHostDaemon)
|
||||
|
||||
vol := "/testvolume"
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
vol = `c:\testvolume`
|
||||
}
|
||||
|
||||
|
@ -1890,7 +1890,7 @@ func (s *DockerSuite) TestContainersAPICreateMountsCreate(c *check.C) {
|
|||
var (
|
||||
testImg string
|
||||
)
|
||||
if testEnv.DaemonPlatform() != "windows" {
|
||||
if testEnv.OSType != "windows" {
|
||||
testImg = "test-mount-config"
|
||||
buildImageSuccessfully(c, testImg, build.WithDockerfile(`
|
||||
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{
|
||||
{
|
||||
spec: mounttypes.Mount{Type: "volume", Target: destPath, VolumeOptions: &mounttypes.VolumeOptions{NoCopy: true}},
|
||||
|
|
|
@ -47,7 +47,7 @@ func (s *DockerSuite) TestContainersAPICreateMountsBindNamedPipe(c *check.C) {
|
|||
|
||||
name := "test-bind-npipe"
|
||||
data := map[string]interface{}{
|
||||
"Image": testEnv.MinimalBaseImage(),
|
||||
"Image": testEnv.PlatformDefaults.BaseImage,
|
||||
"Cmd": []string{"cmd", "/c", cmd},
|
||||
"HostConfig": map[string]interface{}{"Mounts": []map[string]interface{}{{"Type": "npipe", "Source": hostPipeName, "Target": containerPipeName}}},
|
||||
}
|
||||
|
|
|
@ -80,7 +80,7 @@ func (s *DockerSuite) TestAPIImagesDelete(c *check.C) {
|
|||
c.Assert(err, checker.IsNil)
|
||||
defer cli.Close()
|
||||
|
||||
if testEnv.DaemonPlatform() != "windows" {
|
||||
if testEnv.OSType != "windows" {
|
||||
testRequires(c, Network)
|
||||
}
|
||||
name := "test-api-images-delete"
|
||||
|
@ -104,7 +104,7 @@ func (s *DockerSuite) TestAPIImagesHistory(c *check.C) {
|
|||
c.Assert(err, checker.IsNil)
|
||||
defer cli.Close()
|
||||
|
||||
if testEnv.DaemonPlatform() != "windows" {
|
||||
if testEnv.OSType != "windows" {
|
||||
testRequires(c, Network)
|
||||
}
|
||||
name := "test-api-images-history"
|
||||
|
|
|
@ -28,7 +28,7 @@ func (s *DockerSuite) TestInspectAPIContainerResponse(c *check.C) {
|
|||
|
||||
var cases []acase
|
||||
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
cases = []acase{
|
||||
{"v1.25", append(keysBase, "Mounts")},
|
||||
}
|
||||
|
|
|
@ -39,7 +39,7 @@ func (s *DockerSuite) TestAPIStatsNoStreamGetCpu(c *check.C) {
|
|||
|
||||
var cpuPercent = 0.0
|
||||
|
||||
if testEnv.DaemonPlatform() != "windows" {
|
||||
if testEnv.OSType != "windows" {
|
||||
cpuDelta := float64(v.CPUStats.CPUUsage.TotalUsage - v.PreCPUStats.CPUUsage.TotalUsage)
|
||||
systemDelta := float64(v.CPUStats.SystemUsage - v.PreCPUStats.SystemUsage)
|
||||
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
|
||||
net := "bridge"
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
net = "nat"
|
||||
}
|
||||
contIP := findContainerIP(c, id, net)
|
||||
|
@ -153,7 +153,7 @@ func (s *DockerSuite) TestAPIStatsNetworkStats(c *check.C) {
|
|||
// On Linux, account for ARP.
|
||||
expRxPkts := preRxPackets + uint64(numPings)
|
||||
expTxPkts := preTxPackets + uint64(numPings)
|
||||
if testEnv.DaemonPlatform() != "windows" {
|
||||
if testEnv.OSType != "windows" {
|
||||
expRxPkts++
|
||||
expTxPkts++
|
||||
}
|
||||
|
|
|
@ -33,7 +33,7 @@ func (s *DockerSuite) TestAPIGetEnabledCORS(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")
|
||||
}
|
||||
if api.MinVersion == api.DefaultVersion {
|
||||
|
|
|
@ -40,7 +40,7 @@ func (s *DockerSuite) TestBuildJSONEmptyRun(c *check.C) {
|
|||
func (s *DockerSuite) TestBuildShCmdJSONEntrypoint(c *check.C) {
|
||||
name := "testbuildshcmdjsonentrypoint"
|
||||
expected := "/bin/sh -c echo test"
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
expected = "cmd /S /C echo test"
|
||||
}
|
||||
|
||||
|
@ -78,7 +78,7 @@ func (s *DockerSuite) TestBuildEnvironmentReplacementVolume(c *check.C) {
|
|||
|
||||
var volumePath string
|
||||
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
volumePath = "c:/quux"
|
||||
} else {
|
||||
volumePath = "/quux"
|
||||
|
@ -135,7 +135,7 @@ func (s *DockerSuite) TestBuildEnvironmentReplacementWorkdir(c *check.C) {
|
|||
res := inspectFieldJSON(c, name, "Config.WorkingDir")
|
||||
|
||||
expected := `"/work"`
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
expected = `"C:\\work"`
|
||||
}
|
||||
if res != expected {
|
||||
|
@ -610,7 +610,7 @@ RUN [ $(cat "/test dir/test_file6") = 'test6' ]`, command, command, command, com
|
|||
|
||||
func (s *DockerSuite) TestBuildCopyFileWithWhitespaceOnWindows(c *check.C) {
|
||||
testRequires(c, DaemonIsWindows)
|
||||
dockerfile := `FROM ` + testEnv.MinimalBaseImage() + `
|
||||
dockerfile := `FROM ` + testEnv.PlatformDefaults.BaseImage + `
|
||||
RUN mkdir "C:/test dir"
|
||||
RUN mkdir "C:/test_dir"
|
||||
COPY [ "test file1", "/test_file1" ]
|
||||
|
@ -1311,7 +1311,7 @@ func (s *DockerSuite) TestBuildRelativeWorkdir(c *check.C) {
|
|||
expectedFinal string
|
||||
)
|
||||
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
expected1 = `C:/`
|
||||
expected2 = `C:/test1`
|
||||
expected3 = `C:/test2`
|
||||
|
@ -1390,7 +1390,7 @@ func (s *DockerSuite) TestBuildWorkdirWithEnvVariables(c *check.C) {
|
|||
name := "testbuildworkdirwithenvvariables"
|
||||
|
||||
var expected string
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
expected = `C:\test1\test2`
|
||||
} else {
|
||||
expected = `/test1/test2`
|
||||
|
@ -1412,7 +1412,7 @@ func (s *DockerSuite) TestBuildRelativeCopy(c *check.C) {
|
|||
testRequires(c, NotUserNamespace)
|
||||
|
||||
var expected string
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
expected = `C:/test1/test2`
|
||||
} else {
|
||||
expected = `/test1/test2`
|
||||
|
@ -1521,7 +1521,7 @@ func (s *DockerSuite) TestBuildContextCleanup(c *check.C) {
|
|||
testRequires(c, SameHostDaemon)
|
||||
|
||||
name := "testbuildcontextcleanup"
|
||||
entries, err := ioutil.ReadDir(filepath.Join(testEnv.DockerBasePath(), "tmp"))
|
||||
entries, err := ioutil.ReadDir(filepath.Join(testEnv.DaemonInfo.DockerRootDir, "tmp"))
|
||||
if err != nil {
|
||||
c.Fatalf("failed to list contents of tmp dir: %s", err)
|
||||
}
|
||||
|
@ -1529,7 +1529,7 @@ func (s *DockerSuite) TestBuildContextCleanup(c *check.C) {
|
|||
buildImageSuccessfully(c, name, build.WithDockerfile(`FROM `+minimalBaseImage()+`
|
||||
ENTRYPOINT ["/bin/echo"]`))
|
||||
|
||||
entriesFinal, err := ioutil.ReadDir(filepath.Join(testEnv.DockerBasePath(), "tmp"))
|
||||
entriesFinal, err := ioutil.ReadDir(filepath.Join(testEnv.DaemonInfo.DockerRootDir, "tmp"))
|
||||
if err != nil {
|
||||
c.Fatalf("failed to list contents of tmp dir: %s", err)
|
||||
}
|
||||
|
@ -1543,7 +1543,7 @@ func (s *DockerSuite) TestBuildContextCleanupFailedBuild(c *check.C) {
|
|||
testRequires(c, SameHostDaemon)
|
||||
|
||||
name := "testbuildcontextcleanup"
|
||||
entries, err := ioutil.ReadDir(filepath.Join(testEnv.DockerBasePath(), "tmp"))
|
||||
entries, err := ioutil.ReadDir(filepath.Join(testEnv.DaemonInfo.DockerRootDir, "tmp"))
|
||||
if err != nil {
|
||||
c.Fatalf("failed to list contents of tmp dir: %s", err)
|
||||
}
|
||||
|
@ -1553,7 +1553,7 @@ func (s *DockerSuite) TestBuildContextCleanupFailedBuild(c *check.C) {
|
|||
ExitCode: 1,
|
||||
})
|
||||
|
||||
entriesFinal, err := ioutil.ReadDir(filepath.Join(testEnv.DockerBasePath(), "tmp"))
|
||||
entriesFinal, err := ioutil.ReadDir(filepath.Join(testEnv.DaemonInfo.DockerRootDir, "tmp"))
|
||||
if err != nil {
|
||||
c.Fatalf("failed to list contents of tmp dir: %s", err)
|
||||
}
|
||||
|
@ -2196,7 +2196,7 @@ func (s *DockerSuite) TestBuildAddFileNotFound(c *check.C) {
|
|||
name := "testbuildaddnotfound"
|
||||
expected := "foo: no such file or directory"
|
||||
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
expected = "foo: The system cannot find the file specified"
|
||||
}
|
||||
|
||||
|
@ -2250,7 +2250,7 @@ func (s *DockerSuite) TestBuildOnBuild(c *check.C) {
|
|||
// gh #2446
|
||||
func (s *DockerSuite) TestBuildAddToSymlinkDest(c *check.C) {
|
||||
makeLink := `ln -s /foo /bar`
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
makeLink = `mklink /D C:\bar C:\foo`
|
||||
}
|
||||
name := "testbuildaddtosymlinkdest"
|
||||
|
@ -3205,7 +3205,7 @@ func (s *DockerSuite) TestBuildCmdShDashC(c *check.C) {
|
|||
|
||||
res := inspectFieldJSON(c, name, "Config.Cmd")
|
||||
expected := `["/bin/sh","-c","echo cmd"]`
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
expected = `["cmd","/S","/C","echo cmd"]`
|
||||
}
|
||||
if res != expected {
|
||||
|
@ -3278,7 +3278,7 @@ func (s *DockerSuite) TestBuildEntrypointCanBeOverriddenByChildInspect(c *check.
|
|||
expected = `["/bin/sh","-c","echo quux"]`
|
||||
)
|
||||
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
expected = `["cmd","/S","/C","echo quux"]`
|
||||
}
|
||||
|
||||
|
@ -3335,7 +3335,7 @@ func (s *DockerSuite) TestBuildVerifySingleQuoteFails(c *check.C) {
|
|||
// it should barf on it.
|
||||
name := "testbuildsinglequotefails"
|
||||
expectedExitCode := 2
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
expectedExitCode = 127
|
||||
}
|
||||
|
||||
|
@ -3351,7 +3351,7 @@ func (s *DockerSuite) TestBuildVerboseOut(c *check.C) {
|
|||
name := "testbuildverboseout"
|
||||
expected := "\n123\n"
|
||||
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
expected = "\n123\r\n"
|
||||
}
|
||||
|
||||
|
@ -3367,7 +3367,7 @@ func (s *DockerSuite) TestBuildWithTabs(c *check.C) {
|
|||
res := inspectFieldJSON(c, name, "ContainerConfig.Cmd")
|
||||
expected1 := `["/bin/sh","-c","echo\tone\t\ttwo"]`
|
||||
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"]`
|
||||
expected2 = `["cmd","/S","/C","echo\u0009one\u0009\u0009two"]` // syntactically equivalent, and what Go 1.3 generates
|
||||
}
|
||||
|
@ -3562,7 +3562,7 @@ func (s *DockerSuite) TestBuildStderr(c *check.C) {
|
|||
result.Assert(c, icmd.Success)
|
||||
|
||||
// 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())
|
||||
}
|
||||
|
||||
|
@ -3674,7 +3674,7 @@ func (s *DockerSuite) TestBuildVolumesRetainContents(c *check.C) {
|
|||
volName = "/foo"
|
||||
)
|
||||
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
volName = "C:/foo"
|
||||
}
|
||||
|
||||
|
@ -3975,7 +3975,7 @@ RUN echo " \
|
|||
|
||||
expected := "\n foo \n"
|
||||
// Windows uses the builtin echo, which preserves quotes
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
expected = "\" foo \""
|
||||
}
|
||||
|
||||
|
@ -4009,7 +4009,7 @@ func (s *DockerSuite) TestBuildMissingArgs(c *check.C) {
|
|||
"INSERT": {},
|
||||
}
|
||||
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
skipCmds = map[string]struct{}{
|
||||
"CMD": {},
|
||||
"RUN": {},
|
||||
|
@ -4142,7 +4142,7 @@ func (s *DockerSuite) TestBuildRUNErrMsg(c *check.C) {
|
|||
name := "testbuildbadrunerrmsg"
|
||||
shell := "/bin/sh -c"
|
||||
exitCode := 127
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
shell = "cmd /S /C"
|
||||
// architectural - Windows has to start the container to determine the exe is bad, Linux does not
|
||||
exitCode = 1
|
||||
|
@ -4294,7 +4294,7 @@ func (s *DockerTrustSuite) TestTrustedBuildTagIgnoresOtherDelegationRoles(c *che
|
|||
func (s *DockerSuite) TestBuildNullStringInAddCopyVolume(c *check.C) {
|
||||
name := "testbuildnullstringinaddcopyvolume"
|
||||
volName := "nullvolume"
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
volName = `C:\\nullvolume`
|
||||
}
|
||||
|
||||
|
@ -4334,7 +4334,7 @@ func (s *DockerSuite) TestBuildBuildTimeArg(c *check.C) {
|
|||
envKey := "foo"
|
||||
envVal := "bar"
|
||||
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
|
||||
dockerfile = fmt.Sprintf(`FROM `+minimalBaseImage()+`
|
||||
ARG %s
|
||||
|
@ -4949,7 +4949,7 @@ func (s *DockerSuite) TestBuildMultiStageUnusedArg(c *check.C) {
|
|||
func (s *DockerSuite) TestBuildNoNamedVolume(c *check.C) {
|
||||
volName := "testname:/foo"
|
||||
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
volName = "testname:C:\\foo"
|
||||
}
|
||||
dockerCmd(c, "run", "-v", volName, "busybox", "sh", "-c", "touch /foo/oops")
|
||||
|
@ -5155,7 +5155,7 @@ func (s *DockerSuite) TestBuildWorkdirWindowsPath(c *check.C) {
|
|||
testRequires(c, DaemonIsWindows)
|
||||
name := "testbuildworkdirwindowspath"
|
||||
buildImageSuccessfully(c, name, build.WithDockerfile(`
|
||||
FROM `+testEnv.MinimalBaseImage()+`
|
||||
FROM `+testEnv.PlatformDefaults.BaseImage+`
|
||||
RUN mkdir C:\\work
|
||||
WORKDIR C:\\work
|
||||
RUN if "%CD%" NEQ "C:\work" exit -1
|
||||
|
@ -6150,7 +6150,7 @@ func (s *DockerTrustSuite) TestBuildMultiStageTrusted(c *check.C) {
|
|||
func (s *DockerSuite) TestBuildMultiStageMultipleBuildsWindows(c *check.C) {
|
||||
testRequires(c, DaemonIsWindows)
|
||||
dockerfile := `
|
||||
FROM ` + testEnv.MinimalBaseImage() + `
|
||||
FROM ` + testEnv.PlatformDefaults.BaseImage + `
|
||||
COPY foo c:\\bar`
|
||||
ctx := fakecontext.New(c, "",
|
||||
fakecontext.WithDockerfile(dockerfile),
|
||||
|
@ -6163,7 +6163,7 @@ func (s *DockerSuite) TestBuildMultiStageMultipleBuildsWindows(c *check.C) {
|
|||
|
||||
dockerfile = `
|
||||
FROM build1:latest
|
||||
FROM ` + testEnv.MinimalBaseImage() + `
|
||||
FROM ` + testEnv.PlatformDefaults.BaseImage + `
|
||||
COPY --from=0 c:\\bar /
|
||||
COPY foo /`
|
||||
ctx = fakecontext.New(c, "",
|
||||
|
@ -6184,8 +6184,8 @@ func (s *DockerSuite) TestBuildMultiStageMultipleBuildsWindows(c *check.C) {
|
|||
func (s *DockerSuite) TestBuildCopyFromForbidWindowsSystemPaths(c *check.C) {
|
||||
testRequires(c, DaemonIsWindows)
|
||||
dockerfile := `
|
||||
FROM ` + testEnv.MinimalBaseImage() + `
|
||||
FROM ` + testEnv.MinimalBaseImage() + `
|
||||
FROM ` + testEnv.PlatformDefaults.BaseImage + `
|
||||
FROM ` + testEnv.PlatformDefaults.BaseImage + `
|
||||
COPY --from=0 %s c:\\oscopy
|
||||
`
|
||||
exp := icmd.Expected{
|
||||
|
@ -6201,8 +6201,8 @@ func (s *DockerSuite) TestBuildCopyFromForbidWindowsSystemPaths(c *check.C) {
|
|||
func (s *DockerSuite) TestBuildCopyFromForbidWindowsRelativePaths(c *check.C) {
|
||||
testRequires(c, DaemonIsWindows)
|
||||
dockerfile := `
|
||||
FROM ` + testEnv.MinimalBaseImage() + `
|
||||
FROM ` + testEnv.MinimalBaseImage() + `
|
||||
FROM ` + testEnv.PlatformDefaults.BaseImage + `
|
||||
FROM ` + testEnv.PlatformDefaults.BaseImage + `
|
||||
COPY --from=0 %s c:\\oscopy
|
||||
`
|
||||
exp := icmd.Expected{
|
||||
|
@ -6219,9 +6219,9 @@ func (s *DockerSuite) TestBuildCopyFromForbidWindowsRelativePaths(c *check.C) {
|
|||
func (s *DockerSuite) TestBuildCopyFromWindowsIsCaseInsensitive(c *check.C) {
|
||||
testRequires(c, DaemonIsWindows)
|
||||
dockerfile := `
|
||||
FROM ` + testEnv.MinimalBaseImage() + `
|
||||
FROM ` + testEnv.PlatformDefaults.BaseImage + `
|
||||
COPY foo /
|
||||
FROM ` + testEnv.MinimalBaseImage() + `
|
||||
FROM ` + testEnv.PlatformDefaults.BaseImage + `
|
||||
COPY --from=0 c:\\fOo c:\\copied
|
||||
RUN type c:\\copied
|
||||
`
|
||||
|
@ -6301,7 +6301,7 @@ func (s *DockerSuite) TestBuildOpaqueDirectory(c *check.C) {
|
|||
func (s *DockerSuite) TestBuildWindowsUser(c *check.C) {
|
||||
testRequires(c, DaemonIsWindows)
|
||||
name := "testbuildwindowsuser"
|
||||
buildImage(name, build.WithDockerfile(`FROM `+testEnv.MinimalBaseImage()+`
|
||||
buildImage(name, build.WithDockerfile(`FROM `+testEnv.PlatformDefaults.BaseImage+`
|
||||
RUN net user user /add
|
||||
USER user
|
||||
RUN set username
|
||||
|
@ -6332,7 +6332,7 @@ func (s *DockerSuite) TestBuildWindowsEnvCaseInsensitive(c *check.C) {
|
|||
testRequires(c, DaemonIsWindows)
|
||||
name := "testbuildwindowsenvcaseinsensitive"
|
||||
buildImageSuccessfully(c, name, build.WithDockerfile(`
|
||||
FROM `+testEnv.MinimalBaseImage()+`
|
||||
FROM `+testEnv.PlatformDefaults.BaseImage+`
|
||||
ENV FOO=bar foo=baz
|
||||
`))
|
||||
res := inspectFieldJSON(c, name, "Config.Env")
|
||||
|
@ -6352,7 +6352,7 @@ WORKDIR /foo/bar
|
|||
|
||||
// The Windows busybox image has a blank `cmd`
|
||||
lookingFor := `["sh"]`
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
lookingFor = "null"
|
||||
}
|
||||
c.Assert(strings.TrimSpace(out), checker.Equals, lookingFor)
|
||||
|
|
|
@ -635,7 +635,7 @@ func (s *DockerRegistrySuite) TestPullFailsWithAlteredLayer(c *check.C) {
|
|||
// digest verification for the target layer digest.
|
||||
|
||||
// Remove distribution cache to force a re-pull of the blobs
|
||||
if err := os.RemoveAll(filepath.Join(testEnv.DockerBasePath(), "image", s.d.StorageDriver(), "distribution")); err != nil {
|
||||
if err := os.RemoveAll(filepath.Join(testEnv.DaemonInfo.DockerRootDir, "image", s.d.StorageDriver(), "distribution")); err != nil {
|
||||
c.Fatalf("error clearing distribution cache: %v", err)
|
||||
}
|
||||
|
||||
|
@ -678,7 +678,7 @@ func (s *DockerSchema1RegistrySuite) TestPullFailsWithAlteredLayer(c *check.C) {
|
|||
// digest verification for the target layer digest.
|
||||
|
||||
// Remove distribution cache to force a re-pull of the blobs
|
||||
if err := os.RemoveAll(filepath.Join(testEnv.DockerBasePath(), "image", s.d.StorageDriver(), "distribution")); err != nil {
|
||||
if err := os.RemoveAll(filepath.Join(testEnv.DaemonInfo.DockerRootDir, "image", s.d.StorageDriver(), "distribution")); err != nil {
|
||||
c.Fatalf("error clearing distribution cache: %v", err)
|
||||
}
|
||||
|
||||
|
|
|
@ -125,7 +125,7 @@ func (s *DockerSuite) TestCommitChange(c *check.C) {
|
|||
// ENV. On windows, the container doesn't have a `PATH` ENV variable so
|
||||
// the ordering is the same as the cli.
|
||||
expectedEnv := "[PATH=/foo DEBUG=true test=1]"
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
expectedEnv = "[DEBUG=true test=1 PATH=/foo]"
|
||||
}
|
||||
|
||||
|
|
|
@ -64,7 +64,7 @@ func (s *DockerSuite) TestCpCheckDestOwnership(c *check.C) {
|
|||
}
|
||||
|
||||
func getRootUIDGID() (int, int, error) {
|
||||
uidgid := strings.Split(filepath.Base(testEnv.DockerBasePath()), ".")
|
||||
uidgid := strings.Split(filepath.Base(testEnv.DaemonInfo.DockerRootDir), ".")
|
||||
if len(uidgid) == 1 {
|
||||
//user namespace remapping is not turned on; return 0
|
||||
return 0, 0, nil
|
||||
|
|
|
@ -60,7 +60,7 @@ func (s *DockerSuite) TestCreateArgs(c *check.C) {
|
|||
// Make sure we can grow the container's rootfs at creation time.
|
||||
func (s *DockerSuite) TestCreateGrowRootfs(c *check.C) {
|
||||
// Windows and Devicemapper support growing the rootfs
|
||||
if testEnv.DaemonPlatform() != "windows" {
|
||||
if testEnv.OSType != "windows" {
|
||||
testRequires(c, Devicemapper)
|
||||
}
|
||||
out, _ := dockerCmd(c, "create", "--storage-opt", "size=120G", "busybox")
|
||||
|
@ -224,8 +224,8 @@ func (s *DockerSuite) TestCreateLabelFromImage(c *check.C) {
|
|||
func (s *DockerSuite) TestCreateHostnameWithNumber(c *check.C) {
|
||||
image := "busybox"
|
||||
// Busybox on Windows does not implement hostname command
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
image = testEnv.MinimalBaseImage()
|
||||
if testEnv.OSType == "windows" {
|
||||
image = testEnv.PlatformDefaults.BaseImage
|
||||
}
|
||||
out, _ := dockerCmd(c, "run", "-h", "web.0", image, "hostname")
|
||||
c.Assert(strings.TrimSpace(out), checker.Equals, "web.0", check.Commentf("hostname not set, expected `web.0`, got: %s", out))
|
||||
|
@ -378,7 +378,7 @@ func (s *DockerSuite) TestCreateWithWorkdir(c *check.C) {
|
|||
|
||||
dockerCmd(c, "create", "--name", name, "-w", dir, "busybox")
|
||||
// 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, "cp", fmt.Sprintf("%s:%s", name, dir), prefix+slash+"tmp")
|
||||
|
|
|
@ -1433,7 +1433,7 @@ func (s *DockerDaemonSuite) TestDaemonRestartWithSocketAsVolume(c *check.C) {
|
|||
// A subsequent daemon restart should clean up said mounts.
|
||||
func (s *DockerDaemonSuite) TestCleanupMountsAfterDaemonAndContainerKill(c *check.C) {
|
||||
d := daemon.New(c, dockerBinary, dockerdBinary, daemon.Config{
|
||||
Experimental: testEnv.ExperimentalDaemon(),
|
||||
Experimental: testEnv.DaemonInfo.ExperimentalBuild,
|
||||
})
|
||||
d.StartWithBusybox(c)
|
||||
|
||||
|
@ -1473,7 +1473,7 @@ func (s *DockerDaemonSuite) TestCleanupMountsAfterDaemonAndContainerKill(c *chec
|
|||
// os.Interrupt should perform a graceful daemon shutdown and hence cleanup mounts.
|
||||
func (s *DockerDaemonSuite) TestCleanupMountsAfterGracefulShutdown(c *check.C) {
|
||||
d := daemon.New(c, dockerBinary, dockerdBinary, daemon.Config{
|
||||
Experimental: testEnv.ExperimentalDaemon(),
|
||||
Experimental: testEnv.DaemonInfo.ExperimentalBuild,
|
||||
})
|
||||
d.StartWithBusybox(c)
|
||||
|
||||
|
@ -1694,7 +1694,7 @@ func (s *DockerDaemonSuite) TestDaemonRestartLocalVolumes(c *check.C) {
|
|||
// FIXME(vdemeester) should be a unit test
|
||||
func (s *DockerDaemonSuite) TestDaemonCorruptedLogDriverAddress(c *check.C) {
|
||||
d := daemon.New(c, dockerBinary, dockerdBinary, daemon.Config{
|
||||
Experimental: testEnv.ExperimentalDaemon(),
|
||||
Experimental: testEnv.DaemonInfo.ExperimentalBuild,
|
||||
})
|
||||
c.Assert(d.StartWithError("--log-driver=syslog", "--log-opt", "syslog-address=corrupted:42"), check.NotNil)
|
||||
expected := "Failed to set log opts: syslog-address should be in form proto://address"
|
||||
|
@ -1704,7 +1704,7 @@ func (s *DockerDaemonSuite) TestDaemonCorruptedLogDriverAddress(c *check.C) {
|
|||
// FIXME(vdemeester) should be a unit test
|
||||
func (s *DockerDaemonSuite) TestDaemonCorruptedFluentdAddress(c *check.C) {
|
||||
d := daemon.New(c, dockerBinary, dockerdBinary, daemon.Config{
|
||||
Experimental: testEnv.ExperimentalDaemon(),
|
||||
Experimental: testEnv.DaemonInfo.ExperimentalBuild,
|
||||
})
|
||||
c.Assert(d.StartWithError("--log-driver=fluentd", "--log-opt", "fluentd-address=corrupted:c"), check.NotNil)
|
||||
expected := "Failed to set log opts: invalid fluentd-address corrupted:c: "
|
||||
|
@ -3081,7 +3081,7 @@ func (s *DockerDaemonSuite) TestDaemonIpcModeShareableFromConfig(c *check.C) {
|
|||
|
||||
func testDaemonStartIpcMode(c *check.C, from, mode string, valid bool) {
|
||||
d := daemon.New(c, dockerBinary, dockerdBinary, daemon.Config{
|
||||
Experimental: testEnv.ExperimentalDaemon(),
|
||||
Experimental: testEnv.DaemonInfo.ExperimentalBuild,
|
||||
})
|
||||
c.Logf("Checking IpcMode %s set from %s\n", mode, from)
|
||||
var serr error
|
||||
|
|
|
@ -20,7 +20,7 @@ func (s *DockerSuite) TestDiffFilenameShownInOutput(c *check.C) {
|
|||
// a "Files/" prefix.
|
||||
containerID := strings.TrimSpace(out)
|
||||
lookingFor := "A /foo/bar"
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
cli.WaitExited(c, containerID, 60*time.Second)
|
||||
lookingFor = "C Files/foo/bar"
|
||||
}
|
||||
|
|
|
@ -659,7 +659,7 @@ func (s *DockerSuite) TestEventsContainerRestart(c *check.C) {
|
|||
|
||||
// wait until test2 is auto removed.
|
||||
waitTime := 10 * time.Second
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
// Windows takes longer...
|
||||
waitTime = 90 * time.Second
|
||||
}
|
||||
|
|
|
@ -53,7 +53,7 @@ type graphEventsCounter struct {
|
|||
|
||||
func (s *DockerExternalGraphdriverSuite) SetUpTest(c *check.C) {
|
||||
s.d = daemon.New(c, dockerBinary, dockerdBinary, daemon.Config{
|
||||
Experimental: testEnv.ExperimentalDaemon(),
|
||||
Experimental: testEnv.DaemonInfo.ExperimentalBuild,
|
||||
})
|
||||
}
|
||||
|
||||
|
|
|
@ -52,7 +52,7 @@ type DockerExternalVolumeSuite struct {
|
|||
func (s *DockerExternalVolumeSuite) SetUpTest(c *check.C) {
|
||||
testRequires(c, SameHostDaemon)
|
||||
s.d = daemon.New(c, dockerBinary, dockerdBinary, daemon.Config{
|
||||
Experimental: testEnv.ExperimentalDaemon(),
|
||||
Experimental: testEnv.DaemonInfo.ExperimentalBuild,
|
||||
})
|
||||
s.ec = &eventCounter{}
|
||||
}
|
||||
|
|
|
@ -36,7 +36,7 @@ func (s *DockerSuite) TestInfoEnsureSucceeds(c *check.C) {
|
|||
"Live Restore Enabled:",
|
||||
}
|
||||
|
||||
if testEnv.DaemonPlatform() == "linux" {
|
||||
if testEnv.OSType == "linux" {
|
||||
stringsToCheck = append(stringsToCheck, "Init Binary:", "Security Options:", "containerd version:", "runc version:", "init version:")
|
||||
}
|
||||
|
||||
|
@ -44,7 +44,7 @@ func (s *DockerSuite) TestInfoEnsureSucceeds(c *check.C) {
|
|||
stringsToCheck = append(stringsToCheck, "Runtimes:", "Default Runtime: runc")
|
||||
}
|
||||
|
||||
if testEnv.ExperimentalDaemon() {
|
||||
if testEnv.DaemonInfo.ExperimentalBuild {
|
||||
stringsToCheck = append(stringsToCheck, "Experimental: true")
|
||||
} else {
|
||||
stringsToCheck = append(stringsToCheck, "Experimental: false")
|
||||
|
@ -72,7 +72,7 @@ func (s *DockerSuite) TestInfoDiscoveryBackend(c *check.C) {
|
|||
testRequires(c, SameHostDaemon, DaemonIsLinux)
|
||||
|
||||
d := daemon.New(c, dockerBinary, dockerdBinary, daemon.Config{
|
||||
Experimental: testEnv.ExperimentalDaemon(),
|
||||
Experimental: testEnv.DaemonInfo.ExperimentalBuild,
|
||||
})
|
||||
discoveryBackend := "consul://consuladdr:consulport/some/path"
|
||||
discoveryAdvertise := "1.1.1.1:2375"
|
||||
|
@ -91,7 +91,7 @@ func (s *DockerSuite) TestInfoDiscoveryInvalidAdvertise(c *check.C) {
|
|||
testRequires(c, SameHostDaemon, DaemonIsLinux)
|
||||
|
||||
d := daemon.New(c, dockerBinary, dockerdBinary, daemon.Config{
|
||||
Experimental: testEnv.ExperimentalDaemon(),
|
||||
Experimental: testEnv.DaemonInfo.ExperimentalBuild,
|
||||
})
|
||||
discoveryBackend := "consul://consuladdr:consulport/some/path"
|
||||
|
||||
|
@ -110,7 +110,7 @@ func (s *DockerSuite) TestInfoDiscoveryAdvertiseInterfaceName(c *check.C) {
|
|||
testRequires(c, SameHostDaemon, Network, DaemonIsLinux)
|
||||
|
||||
d := daemon.New(c, dockerBinary, dockerdBinary, daemon.Config{
|
||||
Experimental: testEnv.ExperimentalDaemon(),
|
||||
Experimental: testEnv.DaemonInfo.ExperimentalBuild,
|
||||
})
|
||||
discoveryBackend := "consul://consuladdr:consulport/some/path"
|
||||
discoveryAdvertise := "eth0"
|
||||
|
@ -183,7 +183,7 @@ func (s *DockerSuite) TestInfoDebug(c *check.C) {
|
|||
testRequires(c, SameHostDaemon, DaemonIsLinux)
|
||||
|
||||
d := daemon.New(c, dockerBinary, dockerdBinary, daemon.Config{
|
||||
Experimental: testEnv.ExperimentalDaemon(),
|
||||
Experimental: testEnv.DaemonInfo.ExperimentalBuild,
|
||||
})
|
||||
d.Start(c, "--debug")
|
||||
defer d.Stop(c)
|
||||
|
@ -206,7 +206,7 @@ func (s *DockerSuite) TestInsecureRegistries(c *check.C) {
|
|||
registryHost := "insecurehost.com:5000"
|
||||
|
||||
d := daemon.New(c, dockerBinary, dockerdBinary, daemon.Config{
|
||||
Experimental: testEnv.ExperimentalDaemon(),
|
||||
Experimental: testEnv.DaemonInfo.ExperimentalBuild,
|
||||
})
|
||||
d.Start(c, "--insecure-registry="+registryCIDR, "--insecure-registry="+registryHost)
|
||||
defer d.Stop(c)
|
||||
|
|
|
@ -61,7 +61,7 @@ func (s *DockerSuite) TestInspectStatus(c *check.C) {
|
|||
|
||||
// Windows does not support pause/unpause on Windows Server Containers.
|
||||
// (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)
|
||||
inspectOut = inspectField(c, out, "State.Status")
|
||||
c.Assert(inspectOut, checker.Equals, "paused")
|
||||
|
@ -206,7 +206,7 @@ func (s *DockerSuite) TestInspectContainerGraphDriver(c *check.C) {
|
|||
func (s *DockerSuite) TestInspectBindMountPoint(c *check.C) {
|
||||
modifier := ",z"
|
||||
prefix, slash := getPrefixAndSlashFromDaemonPlatform()
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
modifier = ""
|
||||
// Linux creates the host directory if it doesn't exist. Windows does not.
|
||||
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.Source, 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.RW, checker.Equals, false)
|
||||
|
|
|
@ -50,7 +50,7 @@ type DockerNetworkSuite struct {
|
|||
|
||||
func (s *DockerNetworkSuite) SetUpTest(c *check.C) {
|
||||
s.d = daemon.New(c, dockerBinary, dockerdBinary, daemon.Config{
|
||||
Experimental: testEnv.ExperimentalDaemon(),
|
||||
Experimental: testEnv.DaemonInfo.ExperimentalBuild,
|
||||
})
|
||||
}
|
||||
|
||||
|
|
|
@ -55,7 +55,7 @@ func (ps *DockerPluginSuite) TestPluginBasicOps(c *check.C) {
|
|||
c.Assert(err, checker.IsNil)
|
||||
c.Assert(out, checker.Contains, plugin)
|
||||
|
||||
_, err = os.Stat(filepath.Join(testEnv.DockerBasePath(), "plugins", id))
|
||||
_, err = os.Stat(filepath.Join(testEnv.DaemonInfo.DockerRootDir, "plugins", id))
|
||||
if !os.IsNotExist(err) {
|
||||
c.Fatal(err)
|
||||
}
|
||||
|
@ -506,14 +506,14 @@ func (s *DockerSuite) TestPluginUpgrade(c *check.C) {
|
|||
id := strings.TrimSpace(out)
|
||||
|
||||
// make sure "v2" does not exists
|
||||
_, err = os.Stat(filepath.Join(testEnv.DockerBasePath(), "plugins", id, "rootfs", "v2"))
|
||||
_, err = os.Stat(filepath.Join(testEnv.DaemonInfo.DockerRootDir, "plugins", id, "rootfs", "v2"))
|
||||
c.Assert(os.IsNotExist(err), checker.True, check.Commentf(out))
|
||||
|
||||
dockerCmd(c, "plugin", "disable", "-f", plugin)
|
||||
dockerCmd(c, "plugin", "upgrade", "--grant-all-permissions", "--skip-remote-check", plugin, pluginV2)
|
||||
|
||||
// make sure "v2" file exists
|
||||
_, err = os.Stat(filepath.Join(testEnv.DockerBasePath(), "plugins", id, "rootfs", "v2"))
|
||||
_, err = os.Stat(filepath.Join(testEnv.DaemonInfo.DockerRootDir, "plugins", id, "rootfs", "v2"))
|
||||
c.Assert(err, checker.IsNil)
|
||||
|
||||
dockerCmd(c, "plugin", "enable", plugin)
|
||||
|
|
|
@ -216,7 +216,7 @@ func (s *DockerSuite) TestPsListContainersFilterStatus(c *check.C) {
|
|||
})
|
||||
|
||||
// Windows doesn't support pausing of containers
|
||||
if testEnv.DaemonPlatform() != "windows" {
|
||||
if testEnv.OSType != "windows" {
|
||||
// pause running container
|
||||
out = cli.DockerCmd(c, "run", "-itd", "busybox").Combined()
|
||||
pausedID := strings.TrimSpace(out)
|
||||
|
|
|
@ -93,7 +93,7 @@ func (s *DockerSuite) TestRenameAnonymousContainer(c *check.C) {
|
|||
dockerCmd(c, "start", "container1")
|
||||
|
||||
count := "-c"
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
count = "-n"
|
||||
}
|
||||
|
||||
|
|
|
@ -269,7 +269,7 @@ func (s *DockerSuite) TestRestartContainerwithRestartPolicy(c *check.C) {
|
|||
id1 := strings.TrimSpace(string(out1))
|
||||
id2 := strings.TrimSpace(string(out2))
|
||||
waitTimeout := 15 * time.Second
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
waitTimeout = 150 * time.Second
|
||||
}
|
||||
err := waitInspect(id1, "{{ .State.Restarting }} {{ .State.Running }}", "false false", waitTimeout)
|
||||
|
|
|
@ -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
|
||||
// it will take a few seconds to exit
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
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
|
||||
// it will take a few seconds to exit
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
cli.WaitExited(c, containerID, 60*time.Second)
|
||||
}
|
||||
|
||||
|
|
|
@ -72,10 +72,10 @@ func (s *DockerSuite) TestRunLeakyFileDescriptors(c *check.C) {
|
|||
// this will fail when Internet access is unavailable
|
||||
func (s *DockerSuite) TestRunLookupGoogleDNS(c *check.C) {
|
||||
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 nanoserver. Hence just use PowerShell...
|
||||
dockerCmd(c, "run", testEnv.MinimalBaseImage(), "powershell", "Resolve-DNSName", "google.com")
|
||||
dockerCmd(c, "run", testEnv.PlatformDefaults.BaseImage, "powershell", "Resolve-DNSName", "google.com")
|
||||
} else {
|
||||
dockerCmd(c, "run", "busybox", "nslookup", "google.com")
|
||||
}
|
||||
|
@ -137,7 +137,7 @@ func (s *DockerSuite) TestRunDetachedContainerIDPrinting(c *check.C) {
|
|||
func (s *DockerSuite) TestRunWorkingDirectory(c *check.C) {
|
||||
dir := "/root"
|
||||
image := "busybox"
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
dir = `C:/Windows`
|
||||
}
|
||||
|
||||
|
@ -160,9 +160,9 @@ func (s *DockerSuite) TestRunWorkingDirectory(c *check.C) {
|
|||
func (s *DockerSuite) TestRunWithoutNetworking(c *check.C) {
|
||||
count := "-c"
|
||||
image := "busybox"
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
count = "-n"
|
||||
image = testEnv.MinimalBaseImage()
|
||||
image = testEnv.PlatformDefaults.BaseImage
|
||||
}
|
||||
|
||||
// First using the long form --net
|
||||
|
@ -354,8 +354,8 @@ func (s *DockerSuite) TestRunWithVolumesFromExited(c *check.C) {
|
|||
)
|
||||
|
||||
// Create a file in a volume
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
out, exitCode = dockerCmd(c, "run", "--name", "test-data", "--volume", `c:\some\dir`, testEnv.MinimalBaseImage(), "cmd", "/c", `echo hello > c:\some\dir\file`)
|
||||
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`)
|
||||
} else {
|
||||
out, exitCode = dockerCmd(c, "run", "--name", "test-data", "--volume", "/some/dir", "busybox", "touch", "/some/dir/file")
|
||||
}
|
||||
|
@ -364,8 +364,8 @@ func (s *DockerSuite) TestRunWithVolumesFromExited(c *check.C) {
|
|||
}
|
||||
|
||||
// Read the file from another container using --volumes-from to access the volume in the second container
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
out, exitCode = dockerCmd(c, "run", "--volumes-from", "test-data", testEnv.MinimalBaseImage(), "cmd", "/c", `type c:\some\dir\file`)
|
||||
if testEnv.OSType == "windows" {
|
||||
out, exitCode = dockerCmd(c, "run", "--volumes-from", "test-data", testEnv.PlatformDefaults.BaseImage, "cmd", "/c", `type c:\some\dir\file`)
|
||||
} else {
|
||||
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
|
||||
// the temp directory is not the C: drive, this test is invalid and will
|
||||
// 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")
|
||||
}
|
||||
|
||||
|
@ -406,8 +406,8 @@ func (s *DockerSuite) TestRunCreateVolumesInSymlinkDir(c *check.C) {
|
|||
}
|
||||
f.Close()
|
||||
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
dockerFile = fmt.Sprintf("FROM %s\nRUN mkdir %s\nRUN mklink /D c:\\test %s", testEnv.MinimalBaseImage(), dir, dir)
|
||||
if testEnv.OSType == "windows" {
|
||||
dockerFile = fmt.Sprintf("FROM %s\nRUN mkdir %s\nRUN mklink /D c:\\test %s", testEnv.PlatformDefaults.BaseImage, dir, dir)
|
||||
containerPath = `c:\test\test`
|
||||
cmd = "tasklist"
|
||||
} else {
|
||||
|
@ -431,8 +431,8 @@ func (s *DockerSuite) TestRunCreateVolumesInSymlinkDir2(c *check.C) {
|
|||
testRequires(c, SameHostDaemon, DaemonIsLinux)
|
||||
name := "test-volume-symlink2"
|
||||
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
dockerFile = fmt.Sprintf("FROM %s\nRUN mkdir c:\\%s\nRUN mklink /D c:\\test c:\\%s", testEnv.MinimalBaseImage(), name, name)
|
||||
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)
|
||||
containerPath = `c:\test\test`
|
||||
cmd = "tasklist"
|
||||
} else {
|
||||
|
@ -455,7 +455,7 @@ func (s *DockerSuite) TestRunVolumesFromInReadonlyModeFails(c *check.C) {
|
|||
volumeDir string
|
||||
fileInVol string
|
||||
)
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
volumeDir = `c:/test` // Forward-slash as using busybox
|
||||
fileInVol = `c:/test/file`
|
||||
} else {
|
||||
|
@ -476,7 +476,7 @@ func (s *DockerSuite) TestRunVolumesFromInReadWriteMode(c *check.C) {
|
|||
volumeDir string
|
||||
fileInVol string
|
||||
)
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
volumeDir = `c:/test` // Forward-slash as using busybox
|
||||
fileInVol = `c:/test/file`
|
||||
} else {
|
||||
|
@ -497,7 +497,7 @@ func (s *DockerSuite) TestRunVolumesFromInReadWriteMode(c *check.C) {
|
|||
func (s *DockerSuite) TestVolumesFromGetsProperMode(c *check.C) {
|
||||
testRequires(c, SameHostDaemon)
|
||||
prefix, slash := getPrefixAndSlashFromDaemonPlatform()
|
||||
hostpath := RandomTmpDirPath("test", testEnv.DaemonPlatform())
|
||||
hostpath := RandomTmpDirPath("test", testEnv.OSType)
|
||||
if err := os.MkdirAll(hostpath, 0755); err != nil {
|
||||
c.Fatalf("Failed to create %s: %q", hostpath, err)
|
||||
}
|
||||
|
@ -520,11 +520,11 @@ func (s *DockerSuite) TestVolumesFromGetsProperMode(c *check.C) {
|
|||
|
||||
// Test for GH#10618
|
||||
func (s *DockerSuite) TestRunNoDupVolumes(c *check.C) {
|
||||
path1 := RandomTmpDirPath("test1", testEnv.DaemonPlatform())
|
||||
path2 := RandomTmpDirPath("test2", testEnv.DaemonPlatform())
|
||||
path1 := RandomTmpDirPath("test1", testEnv.OSType)
|
||||
path2 := RandomTmpDirPath("test2", testEnv.OSType)
|
||||
|
||||
someplace := ":/someplace"
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
// Windows requires that the source directory exists before calling HCS
|
||||
testRequires(c, SameHostDaemon)
|
||||
someplace = `:c:\someplace`
|
||||
|
@ -573,7 +573,7 @@ func (s *DockerSuite) TestRunNoDupVolumes(c *check.C) {
|
|||
// Test for #1351
|
||||
func (s *DockerSuite) TestRunApplyVolumesFromBeforeVolumes(c *check.C) {
|
||||
prefix := ""
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
prefix = `c:`
|
||||
}
|
||||
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) {
|
||||
prefix := ""
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
prefix = `c:`
|
||||
}
|
||||
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.
|
||||
func (s *DockerSuite) TestRunCreateVolume(c *check.C) {
|
||||
prefix := ""
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
prefix = `c:`
|
||||
}
|
||||
dockerCmd(c, "run", "-v", prefix+"/var/lib/data", "busybox", "true")
|
||||
|
@ -668,9 +668,9 @@ func (s *DockerSuite) TestRunVolumesFromSymlinkPath(c *check.C) {
|
|||
RUN ln -s home /foo
|
||||
VOLUME ["/foo/bar"]`
|
||||
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
prefix = `c:`
|
||||
dfContents = `FROM ` + testEnv.MinimalBaseImage() + `
|
||||
dfContents = `FROM ` + testEnv.PlatformDefaults.BaseImage + `
|
||||
RUN mkdir c:\home
|
||||
RUN mklink /D c:\foo c:\home
|
||||
VOLUME ["c:/foo/bar"]
|
||||
|
@ -714,7 +714,7 @@ func (s *DockerSuite) TestRunExitCode(c *check.C) {
|
|||
|
||||
func (s *DockerSuite) TestRunUserDefaults(c *check.C) {
|
||||
expected := "uid=0(root) gid=0(root)"
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
expected = "uid=1000(ContainerAdministrator) gid=1000(ContainerAdministrator)"
|
||||
}
|
||||
out, _ := dockerCmd(c, "run", "busybox", "id")
|
||||
|
@ -920,9 +920,9 @@ func (s *DockerSuite) TestRunEnvironmentOverride(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.
|
||||
dockerCmd(c, "run", testEnv.MinimalBaseImage(), "ping", "-n", "1", "127.0.0.1")
|
||||
dockerCmd(c, "run", testEnv.PlatformDefaults.BaseImage, "ping", "-n", "1", "127.0.0.1")
|
||||
} else {
|
||||
dockerCmd(c, "run", "busybox", "ping", "-c", "1", "127.0.0.1")
|
||||
}
|
||||
|
@ -1220,7 +1220,7 @@ func (s *DockerSuite) TestRunModeHostname(c *check.C) {
|
|||
func (s *DockerSuite) TestRunRootWorkdir(c *check.C) {
|
||||
out, _ := dockerCmd(c, "run", "--workdir", "/", "busybox", "pwd")
|
||||
expected := "/\n"
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
expected = "C:" + expected
|
||||
}
|
||||
if out != expected {
|
||||
|
@ -1229,9 +1229,9 @@ func (s *DockerSuite) TestRunRootWorkdir(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
|
||||
dockerCmd(c, "run", "-v", `c:\:c:\host`, testEnv.MinimalBaseImage(), "cmd", "-c", "dir", `c:\host`)
|
||||
dockerCmd(c, "run", "-v", `c:\:c:\host`, testEnv.PlatformDefaults.BaseImage, "cmd", "-c", "dir", `c:\host`)
|
||||
} else {
|
||||
dockerCmd(c, "run", "-v", "/:/host", "busybox", "ls", "/host")
|
||||
}
|
||||
|
@ -1240,7 +1240,7 @@ func (s *DockerSuite) TestRunAllowBindMountingRoot(c *check.C) {
|
|||
func (s *DockerSuite) TestRunDisallowBindMountingRootToRoot(c *check.C) {
|
||||
mount := "/:/"
|
||||
targetDir := "/host"
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
mount = `c:\:c\`
|
||||
targetDir = "c:/host" // Forward slash as using busybox
|
||||
}
|
||||
|
@ -1704,15 +1704,15 @@ func (s *DockerSuite) TestRunCleanupCmdOnEntrypoint(c *check.C) {
|
|||
}
|
||||
out = strings.TrimSpace(out)
|
||||
expected := "root"
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if strings.Contains(testEnv.MinimalBaseImage(), "windowsservercore") {
|
||||
if testEnv.OSType == "windows" {
|
||||
if strings.Contains(testEnv.PlatformDefaults.BaseImage, "windowsservercore") {
|
||||
expected = `user manager\containeradministrator`
|
||||
} else {
|
||||
expected = `ContainerAdministrator` // nanoserver
|
||||
}
|
||||
}
|
||||
if out != expected {
|
||||
c.Fatalf("Expected output %s, got %q. %s", expected, out, testEnv.MinimalBaseImage())
|
||||
c.Fatalf("Expected output %s, got %q. %s", expected, out, testEnv.PlatformDefaults.BaseImage)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1720,7 +1720,7 @@ func (s *DockerSuite) TestRunCleanupCmdOnEntrypoint(c *check.C) {
|
|||
func (s *DockerSuite) TestRunWorkdirExistsAndIsFile(c *check.C) {
|
||||
existingFile := "/bin/cat"
|
||||
expected := "not a directory"
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
existingFile = `\windows\system32\ntdll.dll`
|
||||
expected = `The directory name is invalid.`
|
||||
}
|
||||
|
@ -1736,7 +1736,7 @@ func (s *DockerSuite) TestRunExitOnStdinClose(c *check.C) {
|
|||
|
||||
meow := "/bin/cat"
|
||||
delay := 60
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
meow = "cat"
|
||||
}
|
||||
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) {
|
||||
testRequires(c, SameHostDaemon)
|
||||
if testEnv.DaemonPlatform() == "linux" {
|
||||
if testEnv.OSType == "linux" {
|
||||
testRequires(c, DaemonIsLinux, NotUserNamespace)
|
||||
}
|
||||
|
||||
|
@ -1902,7 +1902,7 @@ func (s *DockerSuite) TestRunBindMounts(c *check.C) {
|
|||
}
|
||||
|
||||
// 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")
|
||||
} else {
|
||||
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
|
||||
if testEnv.DaemonPlatform() != "windows" {
|
||||
if testEnv.OSType != "windows" {
|
||||
// test mount a file
|
||||
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
|
||||
|
@ -1942,9 +1942,9 @@ func (s *DockerSuite) TestRunCidFileCleanupIfEmpty(c *check.C) {
|
|||
tmpCidFile := path.Join(tmpDir, "cid")
|
||||
|
||||
image := "emptyfs"
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
// Windows can't support an emptyfs image. Just use the regular Windows image
|
||||
image = testEnv.MinimalBaseImage()
|
||||
image = testEnv.PlatformDefaults.BaseImage
|
||||
}
|
||||
out, _, err := dockerCmdWithError("run", "--cidfile", tmpCidFile, image)
|
||||
if err == nil {
|
||||
|
@ -1988,7 +1988,7 @@ func (s *DockerSuite) TestRunCidFileCheckIDLength(c *check.C) {
|
|||
func (s *DockerSuite) TestRunSetMacAddress(c *check.C) {
|
||||
mac := "12:34:56:78:9a:bc"
|
||||
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}'")
|
||||
mac = strings.Replace(strings.ToUpper(mac), ":", "-", -1) // To Windows-style MACs
|
||||
} 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)
|
||||
}
|
||||
|
||||
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") {
|
||||
c.Fatalf("Data was copied on bind mount but shouldn't be:\n%q", out)
|
||||
}
|
||||
|
@ -2567,10 +2567,10 @@ func (s *DockerSuite) TestRunNonLocalMacAddress(c *check.C) {
|
|||
args := []string{"run", "--mac-address", addr}
|
||||
expected := addr
|
||||
|
||||
if testEnv.DaemonPlatform() != "windows" {
|
||||
if testEnv.OSType != "windows" {
|
||||
args = append(args, "busybox", "ifconfig")
|
||||
} else {
|
||||
args = append(args, testEnv.MinimalBaseImage(), "ipconfig", "/all")
|
||||
args = append(args, testEnv.PlatformDefaults.BaseImage, "ipconfig", "/all")
|
||||
expected = strings.Replace(strings.ToUpper(addr), ":", "-", -1)
|
||||
}
|
||||
|
||||
|
@ -2663,7 +2663,7 @@ func (s *DockerSuite) TestRunSetDefaultRestartPolicy(c *check.C) {
|
|||
func (s *DockerSuite) TestRunRestartMaxRetries(c *check.C) {
|
||||
out, _ := dockerCmd(c, "run", "-d", "--restart=on-failure:3", "busybox", "false")
|
||||
timeout := 10 * time.Second
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
timeout = 120 * time.Second
|
||||
}
|
||||
|
||||
|
@ -3031,7 +3031,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:rw", "--name", "test-volumes-2", "busybox", "true")
|
||||
|
||||
if testEnv.DaemonPlatform() != "windows" {
|
||||
if testEnv.OSType != "windows" {
|
||||
mRO, err := inspectMountPoint("test-volumes-1", prefix+slash+"test")
|
||||
c.Assert(err, checker.IsNil, check.Commentf("failed to inspect mount point"))
|
||||
if mRO.RW {
|
||||
|
@ -3491,8 +3491,8 @@ func (s *DockerSuite) TestRunLoopbackOnlyExistsWhenNetworkingDisabled(c *check.C
|
|||
|
||||
// Issue #4681
|
||||
func (s *DockerSuite) TestRunLoopbackWhenNetworkDisabled(c *check.C) {
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
dockerCmd(c, "run", "--net=none", testEnv.MinimalBaseImage(), "ping", "-n", "1", "127.0.0.1")
|
||||
if testEnv.OSType == "windows" {
|
||||
dockerCmd(c, "run", "--net=none", testEnv.PlatformDefaults.BaseImage, "ping", "-n", "1", "127.0.0.1")
|
||||
} else {
|
||||
dockerCmd(c, "run", "--net=none", "busybox", "ping", "-c", "1", "127.0.0.1")
|
||||
}
|
||||
|
@ -3758,7 +3758,7 @@ func (s *DockerSuite) TestRunNonExistingCmd(c *check.C) {
|
|||
// as that's when the check is made (and yes, by its design...)
|
||||
func (s *DockerSuite) TestCmdCannotBeInvoked(c *check.C) {
|
||||
expected := 126
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
expected = 127
|
||||
}
|
||||
name := "testCmdCannotBeInvoked"
|
||||
|
@ -4241,7 +4241,7 @@ func (s *DockerSuite) TestRunCredentialSpecFailures(c *check.C) {
|
|||
func (s *DockerSuite) TestRunCredentialSpecWellFormed(c *check.C) {
|
||||
testRequires(c, DaemonIsWindows, SameHostDaemon)
|
||||
validCS := readFile(`fixtures\credentialspecs\valid.json`, c)
|
||||
writeFile(filepath.Join(testEnv.DockerBasePath(), `credentialspecs\valid.json`), validCS, c)
|
||||
writeFile(filepath.Join(testEnv.DaemonInfo.DockerRootDir, `credentialspecs\valid.json`), validCS, c)
|
||||
dockerCmd(c, "run", `--security-opt=credentialspec=file://valid.json`, "busybox", "true")
|
||||
}
|
||||
|
||||
|
@ -4262,7 +4262,7 @@ func (s *DockerSuite) TestRunServicingContainer(c *check.C) {
|
|||
c.Skip("Disabled on post-RS3 builds")
|
||||
}
|
||||
|
||||
out := cli.DockerCmd(c, "run", "-d", testEnv.MinimalBaseImage(), "cmd", "/c", "mkdir c:\\programdata\\Microsoft\\Windows\\ContainerUpdates\\000_000_d99f45d0-ffc8-4af7-bd9c-ea6a62e035c9_200 && sc control cexecsvc 255").Combined()
|
||||
out := cli.DockerCmd(c, "run", "-d", testEnv.PlatformDefaults.BaseImage, "cmd", "/c", "mkdir c:\\programdata\\Microsoft\\Windows\\ContainerUpdates\\000_000_d99f45d0-ffc8-4af7-bd9c-ea6a62e035c9_200 && sc control cexecsvc 255").Combined()
|
||||
containerID := strings.TrimSpace(out)
|
||||
cli.WaitExited(c, containerID, 60*time.Second)
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ func (s *DockerSuite) TestTopMultipleArgs(c *check.C) {
|
|||
cleanedContainerID := strings.TrimSpace(out)
|
||||
|
||||
var expected icmd.Expected
|
||||
switch testEnv.DaemonPlatform() {
|
||||
switch testEnv.OSType {
|
||||
case "windows":
|
||||
expected = icmd.Expected{ExitCode: 1, Err: "Windows does not support arguments to top"}
|
||||
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.
|
||||
// Linux will display the command executed in the container
|
||||
var lookingFor string
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
lookingFor = "busybox.exe"
|
||||
} else {
|
||||
lookingFor = "top"
|
||||
|
|
|
@ -13,7 +13,7 @@ import (
|
|||
func (s *DockerSuite) TestUpdateRestartPolicy(c *check.C) {
|
||||
out := cli.DockerCmd(c, "run", "-d", "--restart=on-failure:3", "busybox", "sh", "-c", "sleep 1 && false").Combined()
|
||||
timeout := 60 * time.Second
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
timeout = 180 * time.Second
|
||||
}
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ func (s *DockerSuite) TestDeprecatedContainerAPIStartVolumeBinds(c *check.C) {
|
|||
// TODO Windows CI: Investigate further why this fails on Windows to Windows CI.
|
||||
testRequires(c, DaemonIsLinux)
|
||||
path := "/foo"
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
path = `c:\foo`
|
||||
}
|
||||
name := "testing"
|
||||
|
@ -49,7 +49,7 @@ func (s *DockerSuite) TestDeprecatedContainerAPIStartVolumeBinds(c *check.C) {
|
|||
c.Assert(err, checker.IsNil)
|
||||
c.Assert(res.StatusCode, checker.Equals, http.StatusCreated)
|
||||
|
||||
bindPath := RandomTmpDirPath("test", testEnv.DaemonPlatform())
|
||||
bindPath := RandomTmpDirPath("test", testEnv.OSType)
|
||||
config = map[string]interface{}{
|
||||
"Binds": []string{bindPath + ":" + path},
|
||||
}
|
||||
|
@ -76,8 +76,8 @@ func (s *DockerSuite) TestDeprecatedContainerAPIStartDupVolumeBinds(c *check.C)
|
|||
c.Assert(err, checker.IsNil)
|
||||
c.Assert(res.StatusCode, checker.Equals, http.StatusCreated)
|
||||
|
||||
bindPath1 := RandomTmpDirPath("test1", testEnv.DaemonPlatform())
|
||||
bindPath2 := RandomTmpDirPath("test2", testEnv.DaemonPlatform())
|
||||
bindPath1 := RandomTmpDirPath("test1", testEnv.OSType)
|
||||
bindPath2 := RandomTmpDirPath("test2", testEnv.OSType)
|
||||
|
||||
config = map[string]interface{}{
|
||||
"Binds": []string{bindPath1 + ":/tmp", bindPath2 + ":/tmp"},
|
||||
|
|
|
@ -41,7 +41,7 @@ func newDockerHubPullSuite() *DockerHubPullSuite {
|
|||
func (s *DockerHubPullSuite) SetUpSuite(c *check.C) {
|
||||
testRequires(c, DaemonIsLinux, SameHostDaemon)
|
||||
s.d = daemon.New(c, dockerBinary, dockerdBinary, daemon.Config{
|
||||
Experimental: testEnv.ExperimentalDaemon(),
|
||||
Experimental: testEnv.DaemonInfo.ExperimentalBuild,
|
||||
})
|
||||
s.d.Start(c)
|
||||
}
|
||||
|
|
|
@ -399,7 +399,7 @@ func runSleepingContainerInImage(c *check.C, image string, extraArgs ...string)
|
|||
// minimalBaseImage returns the name of the minimal base image for the current
|
||||
// daemon platform.
|
||||
func minimalBaseImage() string {
|
||||
return testEnv.MinimalBaseImage()
|
||||
return testEnv.PlatformDefaults.BaseImage
|
||||
}
|
||||
|
||||
func getGoroutineNumber() (int, error) {
|
||||
|
|
|
@ -48,32 +48,3 @@ func New() (*Execution, error) {
|
|||
dockerBinary: dockerBinary,
|
||||
}, nil
|
||||
}
|
||||
|
||||
// DockerBasePath is the base path of the docker folder (by default it is -/var/run/docker)
|
||||
// TODO: remove
|
||||
// Deprecated: use Execution.DaemonInfo.DockerRootDir
|
||||
func (e *Execution) DockerBasePath() string {
|
||||
return e.DaemonInfo.DockerRootDir
|
||||
}
|
||||
|
||||
// ExperimentalDaemon tell whether the main daemon has
|
||||
// experimental features enabled or not
|
||||
// Deprecated: use DaemonInfo.ExperimentalBuild
|
||||
func (e *Execution) ExperimentalDaemon() bool {
|
||||
return e.DaemonInfo.ExperimentalBuild
|
||||
}
|
||||
|
||||
// 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
|
||||
}
|
||||
|
||||
// MinimalBaseImage is the image used for minimal builds (it depends on the platform)
|
||||
// Deprecated: use Execution.PlatformDefaults.BaseImage
|
||||
func (e *Execution) MinimalBaseImage() string {
|
||||
return e.PlatformDefaults.BaseImage
|
||||
}
|
||||
|
|
|
@ -38,7 +38,7 @@ func ensureSyscallTest(c *check.C) {
|
|||
|
||||
// if no match, must build in docker, which is significantly slower
|
||||
// (slower mostly because of the vfs graphdriver)
|
||||
if testEnv.DaemonPlatform() != runtime.GOOS {
|
||||
if testEnv.OSType != runtime.GOOS {
|
||||
ensureSyscallTestBuild(c)
|
||||
return
|
||||
}
|
||||
|
@ -93,7 +93,7 @@ func ensureSyscallTestBuild(c *check.C) {
|
|||
|
||||
func ensureNNPTest(c *check.C) {
|
||||
defer testEnv.ProtectImage(c, "nnp-test:latest")
|
||||
if testEnv.DaemonPlatform() != runtime.GOOS {
|
||||
if testEnv.OSType != runtime.GOOS {
|
||||
ensureNNPTestBuild(c)
|
||||
return
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@ package main
|
|||
// the command is for a sleeping container based on the daemon platform.
|
||||
// The Windows busybox image does not have a `top` command.
|
||||
func sleepCommandForDaemonPlatform() []string {
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
return []string{"sleep", "240"}
|
||||
}
|
||||
return []string{"top"}
|
||||
|
|
|
@ -14,7 +14,7 @@ import (
|
|||
)
|
||||
|
||||
func getPrefixAndSlashFromDaemonPlatform() (prefix, slash string) {
|
||||
if testEnv.DaemonPlatform() == "windows" {
|
||||
if testEnv.OSType == "windows" {
|
||||
return "c:", `\`
|
||||
}
|
||||
return "", "/"
|
||||
|
|
Loading…
Reference in a new issue