Browse code

Windows CI: Port docker_cli_restart_test.go

Signed-off-by: John Howard <jhoward@microsoft.com>

John Howard authored on 2016/02/25 08:21:56
Showing 1 changed files
... ...
@@ -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