Signed-off-by: John Howard <jhoward@microsoft.com>
| ... | ... |
@@ -11,7 +11,6 @@ import ( |
| 11 | 11 |
) |
| 12 | 12 |
|
| 13 | 13 |
func (s *DockerSuite) TestRestartStoppedContainer(c *check.C) {
|
| 14 |
- testRequires(c, DaemonIsLinux) |
|
| 15 | 14 |
out, _ := dockerCmd(c, "run", "-d", "busybox", "echo", "foobar") |
| 16 | 15 |
|
| 17 | 16 |
cleanedContainerID := strings.TrimSpace(out) |
| ... | ... |
@@ -27,7 +26,6 @@ func (s *DockerSuite) TestRestartStoppedContainer(c *check.C) {
|
| 27 | 27 |
} |
| 28 | 28 |
|
| 29 | 29 |
func (s *DockerSuite) TestRestartRunningContainer(c *check.C) {
|
| 30 |
- testRequires(c, DaemonIsLinux) |
|
| 31 | 30 |
out, _ := dockerCmd(c, "run", "-d", "busybox", "sh", "-c", "echo foobar && sleep 30 && echo 'should not print this'") |
| 32 | 31 |
|
| 33 | 32 |
cleanedContainerID := strings.TrimSpace(out) |
| ... | ... |
@@ -48,8 +46,8 @@ func (s *DockerSuite) TestRestartRunningContainer(c *check.C) {
|
| 48 | 48 |
|
| 49 | 49 |
// Test that restarting a container with a volume does not create a new volume on restart. Regression test for #819. |
| 50 | 50 |
func (s *DockerSuite) TestRestartWithVolumes(c *check.C) {
|
| 51 |
- testRequires(c, DaemonIsLinux) |
|
| 52 |
- out, _ := dockerCmd(c, "run", "-d", "-v", "/test", "busybox", "top") |
|
| 51 |
+ prefix, slash := getPrefixAndSlashFromDaemonPlatform() |
|
| 52 |
+ out, _ := runSleepingContainer(c, "-d", "-v", prefix+slash+"test") |
|
| 53 | 53 |
|
| 54 | 54 |
cleanedContainerID := strings.TrimSpace(out) |
| 55 | 55 |
out, err := inspectFilter(cleanedContainerID, "len .Mounts") |
| ... | ... |
@@ -57,7 +55,7 @@ func (s *DockerSuite) TestRestartWithVolumes(c *check.C) {
|
| 57 | 57 |
out = strings.Trim(out, " \n\r") |
| 58 | 58 |
c.Assert(out, checker.Equals, "1") |
| 59 | 59 |
|
| 60 |
- source, err := inspectMountSourceField(cleanedContainerID, "/test") |
|
| 60 |
+ source, err := inspectMountSourceField(cleanedContainerID, prefix+slash+"test") |
|
| 61 | 61 |
c.Assert(err, checker.IsNil) |
| 62 | 62 |
|
| 63 | 63 |
dockerCmd(c, "restart", cleanedContainerID) |
| ... | ... |
@@ -67,13 +65,12 @@ func (s *DockerSuite) TestRestartWithVolumes(c *check.C) {
|
| 67 | 67 |
out = strings.Trim(out, " \n\r") |
| 68 | 68 |
c.Assert(out, checker.Equals, "1") |
| 69 | 69 |
|
| 70 |
- sourceAfterRestart, err := inspectMountSourceField(cleanedContainerID, "/test") |
|
| 70 |
+ sourceAfterRestart, err := inspectMountSourceField(cleanedContainerID, prefix+slash+"test") |
|
| 71 | 71 |
c.Assert(err, checker.IsNil) |
| 72 | 72 |
c.Assert(source, checker.Equals, sourceAfterRestart) |
| 73 | 73 |
} |
| 74 | 74 |
|
| 75 | 75 |
func (s *DockerSuite) TestRestartPolicyNO(c *check.C) {
|
| 76 |
- testRequires(c, DaemonIsLinux) |
|
| 77 | 76 |
out, _ := dockerCmd(c, "run", "-d", "--restart=no", "busybox", "false") |
| 78 | 77 |
|
| 79 | 78 |
id := strings.TrimSpace(string(out)) |
| ... | ... |
@@ -82,7 +79,6 @@ func (s *DockerSuite) TestRestartPolicyNO(c *check.C) {
|
| 82 | 82 |
} |
| 83 | 83 |
|
| 84 | 84 |
func (s *DockerSuite) TestRestartPolicyAlways(c *check.C) {
|
| 85 |
- testRequires(c, DaemonIsLinux) |
|
| 86 | 85 |
out, _ := dockerCmd(c, "run", "-d", "--restart=always", "busybox", "false") |
| 87 | 86 |
|
| 88 | 87 |
id := strings.TrimSpace(string(out)) |
| ... | ... |
@@ -96,7 +92,6 @@ func (s *DockerSuite) TestRestartPolicyAlways(c *check.C) {
|
| 96 | 96 |
} |
| 97 | 97 |
|
| 98 | 98 |
func (s *DockerSuite) TestRestartPolicyOnFailure(c *check.C) {
|
| 99 |
- testRequires(c, DaemonIsLinux) |
|
| 100 | 99 |
out, _ := dockerCmd(c, "run", "-d", "--restart=on-failure:1", "busybox", "false") |
| 101 | 100 |
|
| 102 | 101 |
id := strings.TrimSpace(string(out)) |
| ... | ... |
@@ -107,12 +102,11 @@ func (s *DockerSuite) TestRestartPolicyOnFailure(c *check.C) {
|
| 107 | 107 |
|
| 108 | 108 |
// a good container with --restart=on-failure:3 |
| 109 | 109 |
// MaximumRetryCount!=0; RestartCount=0 |
| 110 |
-func (s *DockerSuite) TestContainerRestartwithGoodContainer(c *check.C) {
|
|
| 111 |
- testRequires(c, DaemonIsLinux) |
|
| 110 |
+func (s *DockerSuite) TestRestartContainerwithGoodContainer(c *check.C) {
|
|
| 112 | 111 |
out, _ := dockerCmd(c, "run", "-d", "--restart=on-failure:3", "busybox", "true") |
| 113 | 112 |
|
| 114 | 113 |
id := strings.TrimSpace(string(out)) |
| 115 |
- err := waitInspect(id, "{{ .State.Restarting }} {{ .State.Running }}", "false false", 5*time.Second)
|
|
| 114 |
+ err := waitInspect(id, "{{ .State.Restarting }} {{ .State.Running }}", "false false", 30*time.Second)
|
|
| 116 | 115 |
c.Assert(err, checker.IsNil) |
| 117 | 116 |
|
| 118 | 117 |
count := inspectField(c, id, "RestartCount") |
| ... | ... |
@@ -123,10 +117,10 @@ func (s *DockerSuite) TestContainerRestartwithGoodContainer(c *check.C) {
|
| 123 | 123 |
|
| 124 | 124 |
} |
| 125 | 125 |
|
| 126 |
-func (s *DockerSuite) TestContainerRestartSuccess(c *check.C) {
|
|
| 127 |
- testRequires(c, DaemonIsLinux, SameHostDaemon) |
|
| 126 |
+func (s *DockerSuite) TestRestartContainerSuccess(c *check.C) {
|
|
| 127 |
+ testRequires(c, SameHostDaemon) |
|
| 128 | 128 |
|
| 129 |
- out, _ := dockerCmd(c, "run", "-d", "--restart=always", "busybox", "top") |
|
| 129 |
+ out, _ := runSleepingContainer(c, "-d", "--restart=always") |
|
| 130 | 130 |
id := strings.TrimSpace(out) |
| 131 | 131 |
c.Assert(waitRun(id), check.IsNil) |
| 132 | 132 |
|
| ... | ... |
@@ -142,14 +136,15 @@ func (s *DockerSuite) TestContainerRestartSuccess(c *check.C) {
|
| 142 | 142 |
err = p.Kill() |
| 143 | 143 |
c.Assert(err, check.IsNil) |
| 144 | 144 |
|
| 145 |
- err = waitInspect(id, "{{.RestartCount}}", "1", 5*time.Second)
|
|
| 145 |
+ err = waitInspect(id, "{{.RestartCount}}", "1", 30*time.Second)
|
|
| 146 | 146 |
c.Assert(err, check.IsNil) |
| 147 | 147 |
|
| 148 |
- err = waitInspect(id, "{{.State.Status}}", "running", 5*time.Second)
|
|
| 148 |
+ err = waitInspect(id, "{{.State.Status}}", "running", 30*time.Second)
|
|
| 149 | 149 |
c.Assert(err, check.IsNil) |
| 150 | 150 |
} |
| 151 | 151 |
|
| 152 |
-func (s *DockerSuite) TestUserDefinedNetworkWithRestartPolicy(c *check.C) {
|
|
| 152 |
+func (s *DockerSuite) TestRestartWithPolicyUserDefinedNetwork(c *check.C) {
|
|
| 153 |
+ // TODO Windows. This may be portable following HNS integration post TP5. |
|
| 153 | 154 |
testRequires(c, DaemonIsLinux, SameHostDaemon, NotUserNamespace, NotArm) |
| 154 | 155 |
dockerCmd(c, "network", "create", "-d", "bridge", "udNet") |
| 155 | 156 |
|