Browse code

Use checker for docker_cli_run_unix_test.go

Signed-off-by: Vincent Demeester <vincent@sbr.pm>

Vincent Demeester authored on 2015/11/07 06:49:16
Showing 1 changed files
... ...
@@ -25,16 +25,12 @@ import (
25 25
 func (s *DockerSuite) TestRunRedirectStdout(c *check.C) {
26 26
 	checkRedirect := func(command string) {
27 27
 		_, tty, err := pty.Open()
28
-		if err != nil {
29
-			c.Fatalf("Could not open pty: %v", err)
30
-		}
28
+		c.Assert(err, checker.IsNil, check.Commentf("Could not open pty"))
31 29
 		cmd := exec.Command("sh", "-c", command)
32 30
 		cmd.Stdin = tty
33 31
 		cmd.Stdout = tty
34 32
 		cmd.Stderr = tty
35
-		if err := cmd.Start(); err != nil {
36
-			c.Fatalf("start err: %v", err)
37
-		}
33
+		c.Assert(cmd.Start(), checker.IsNil)
38 34
 		ch := make(chan error)
39 35
 		go func() {
40 36
 			ch <- cmd.Wait()
... ...
@@ -45,9 +41,7 @@ func (s *DockerSuite) TestRunRedirectStdout(c *check.C) {
45 45
 		case <-time.After(10 * time.Second):
46 46
 			c.Fatal("command timeout")
47 47
 		case err := <-ch:
48
-			if err != nil {
49
-				c.Fatalf("wait err=%v", err)
50
-			}
48
+			c.Assert(err, checker.IsNil, check.Commentf("wait err"))
51 49
 		}
52 50
 	}
53 51
 
... ...
@@ -60,35 +54,23 @@ func (s *DockerSuite) TestRunWithVolumesIsRecursive(c *check.C) {
60 60
 	// /tmp gets permission denied
61 61
 	testRequires(c, NotUserNamespace)
62 62
 	tmpDir, err := ioutil.TempDir("", "docker_recursive_mount_test")
63
-	if err != nil {
64
-		c.Fatal(err)
65
-	}
63
+	c.Assert(err, checker.IsNil)
66 64
 
67 65
 	defer os.RemoveAll(tmpDir)
68 66
 
69 67
 	// Create a temporary tmpfs mount.
70 68
 	tmpfsDir := filepath.Join(tmpDir, "tmpfs")
71
-	if err := os.MkdirAll(tmpfsDir, 0777); err != nil {
72
-		c.Fatalf("failed to mkdir at %s - %s", tmpfsDir, err)
73
-	}
74
-	if err := mount.Mount("tmpfs", tmpfsDir, "tmpfs", ""); err != nil {
75
-		c.Fatalf("failed to create a tmpfs mount at %s - %s", tmpfsDir, err)
76
-	}
69
+	c.Assert(os.MkdirAll(tmpfsDir, 0777), checker.IsNil, check.Commentf("failed to mkdir at %s", tmpfsDir))
70
+	c.Assert(mount.Mount("tmpfs", tmpfsDir, "tmpfs", ""), checker.IsNil, check.Commentf("failed to create a tmpfs mount at %s", tmpfsDir))
77 71
 
78 72
 	f, err := ioutil.TempFile(tmpfsDir, "touch-me")
79
-	if err != nil {
80
-		c.Fatal(err)
81
-	}
73
+	c.Assert(err, checker.IsNil)
82 74
 	defer f.Close()
83 75
 
84 76
 	runCmd := exec.Command(dockerBinary, "run", "--name", "test-data", "--volume", fmt.Sprintf("%s:/tmp:ro", tmpDir), "busybox:latest", "ls", "/tmp/tmpfs")
85
-	out, stderr, exitCode, err := runCommandWithStdoutStderr(runCmd)
86
-	if err != nil && exitCode != 0 {
87
-		c.Fatal(out, stderr, err)
88
-	}
89
-	if !strings.Contains(out, filepath.Base(f.Name())) {
90
-		c.Fatal("Recursive bind mount test failed. Expected file not found")
91
-	}
77
+	out, _, _, err := runCommandWithStdoutStderr(runCmd)
78
+	c.Assert(err, checker.IsNil)
79
+	c.Assert(out, checker.Contains, filepath.Base(f.Name()), check.Commentf("Recursive bind mount test failed. Expected file not found"))
92 80
 }
93 81
 
94 82
 func (s *DockerSuite) TestRunDeviceDirectory(c *check.C) {
... ...
@@ -98,14 +80,10 @@ func (s *DockerSuite) TestRunDeviceDirectory(c *check.C) {
98 98
 	}
99 99
 
100 100
 	out, _ := dockerCmd(c, "run", "--device", "/dev/snd:/dev/snd", "busybox", "sh", "-c", "ls /dev/snd/")
101
-	if actual := strings.Trim(out, "\r\n"); !strings.Contains(out, "timer") {
102
-		c.Fatalf("expected output /dev/snd/timer, received %s", actual)
103
-	}
101
+	c.Assert(strings.Trim(out, "\r\n"), checker.Contains, "timer", check.Commentf("expected output /dev/snd/timer"))
104 102
 
105 103
 	out, _ = dockerCmd(c, "run", "--device", "/dev/snd:/dev/othersnd", "busybox", "sh", "-c", "ls /dev/othersnd/")
106
-	if actual := strings.Trim(out, "\r\n"); !strings.Contains(out, "seq") {
107
-		c.Fatalf("expected output /dev/othersnd/seq, received %s", actual)
108
-	}
104
+	c.Assert(strings.Trim(out, "\r\n"), checker.Contains, "seq", check.Commentf("expected output /dev/othersnd/seq"))
109 105
 }
110 106
 
111 107
 // TestRunDetach checks attaching and detaching with the escape sequence.
... ...
@@ -113,40 +91,27 @@ func (s *DockerSuite) TestRunAttachDetach(c *check.C) {
113 113
 	name := "attach-detach"
114 114
 	cmd := exec.Command(dockerBinary, "run", "--name", name, "-it", "busybox", "cat")
115 115
 	stdout, err := cmd.StdoutPipe()
116
-	if err != nil {
117
-		c.Fatal(err)
118
-	}
116
+	c.Assert(err, checker.IsNil)
119 117
 	cpty, tty, err := pty.Open()
120
-	if err != nil {
121
-		c.Fatal(err)
122
-	}
118
+	c.Assert(err, checker.IsNil)
123 119
 	defer cpty.Close()
124 120
 	cmd.Stdin = tty
125
-	if err := cmd.Start(); err != nil {
126
-		c.Fatal(err)
127
-	}
121
+	c.Assert(cmd.Start(), checker.IsNil)
128 122
 	c.Assert(waitRun(name), check.IsNil)
129 123
 
130
-	if _, err := cpty.Write([]byte("hello\n")); err != nil {
131
-		c.Fatal(err)
132
-	}
124
+	_, err = cpty.Write([]byte("hello\n"))
125
+	c.Assert(err, checker.IsNil)
133 126
 
134 127
 	out, err := bufio.NewReader(stdout).ReadString('\n')
135
-	if err != nil {
136
-		c.Fatal(err)
137
-	}
138
-	if strings.TrimSpace(out) != "hello" {
139
-		c.Fatalf("expected 'hello', got %q", out)
140
-	}
128
+	c.Assert(err, checker.IsNil)
129
+	c.Assert(strings.TrimSpace(out), checker.Equals, "hello")
141 130
 
142 131
 	// escape sequence
143
-	if _, err := cpty.Write([]byte{16}); err != nil {
144
-		c.Fatal(err)
145
-	}
132
+	_, err = cpty.Write([]byte{16})
133
+	c.Assert(err, checker.IsNil)
146 134
 	time.Sleep(100 * time.Millisecond)
147
-	if _, err := cpty.Write([]byte{17}); err != nil {
148
-		c.Fatal(err)
149
-	}
135
+	_, err = cpty.Write([]byte{17})
136
+	c.Assert(err, checker.IsNil)
150 137
 
151 138
 	ch := make(chan struct{})
152 139
 	go func() {
... ...
@@ -155,12 +120,8 @@ func (s *DockerSuite) TestRunAttachDetach(c *check.C) {
155 155
 	}()
156 156
 
157 157
 	running, err := inspectField(name, "State.Running")
158
-	if err != nil {
159
-		c.Fatal(err)
160
-	}
161
-	if running != "true" {
162
-		c.Fatal("expected container to still be running")
163
-	}
158
+	c.Assert(err, checker.IsNil)
159
+	c.Assert(running, checker.Equals, "true", check.Commentf("expected container to still be running"))
164 160
 
165 161
 	go func() {
166 162
 		exec.Command(dockerBinary, "kill", name).Run()
... ...
@@ -178,34 +139,24 @@ func (s *DockerSuite) TestRunEchoStdoutWithCPUQuota(c *check.C) {
178 178
 	testRequires(c, cpuCfsQuota)
179 179
 
180 180
 	out, _, err := dockerCmdWithError("run", "--cpu-quota", "8000", "--name", "test", "busybox", "echo", "test")
181
-	if err != nil {
182
-		c.Fatalf("failed to run container: %v, output: %q", err, out)
183
-	}
181
+	c.Assert(err, checker.IsNil, check.Commentf("failed to run container, output: %q", out))
184 182
 	out = strings.TrimSpace(out)
185
-	if out != "test" {
186
-		c.Errorf("container should've printed 'test'")
187
-	}
183
+	c.Assert(out, checker.Equals, "test", check.Commentf("container should've printed 'test'"))
188 184
 
189 185
 	out, err = inspectField("test", "HostConfig.CpuQuota")
190 186
 	c.Assert(err, check.IsNil)
191 187
 
192
-	if out != "8000" {
193
-		c.Fatalf("setting the CPU CFS quota failed")
194
-	}
188
+	c.Assert(out, checker.Equals, "8000", check.Commentf("setting the CPU CFS quota failed"))
195 189
 }
196 190
 
197 191
 func (s *DockerSuite) TestRunWithCpuPeriod(c *check.C) {
198 192
 	testRequires(c, cpuCfsPeriod)
199 193
 
200
-	if _, _, err := dockerCmdWithError("run", "--cpu-period", "50000", "--name", "test", "busybox", "true"); err != nil {
201
-		c.Fatalf("failed to run container: %v", err)
202
-	}
194
+	dockerCmd(c, "run", "--cpu-period", "50000", "--name", "test", "busybox", "true")
203 195
 
204 196
 	out, err := inspectField("test", "HostConfig.CpuPeriod")
205 197
 	c.Assert(err, check.IsNil)
206
-	if out != "50000" {
207
-		c.Fatalf("setting the CPU CFS period failed")
208
-	}
198
+	c.Assert(out, checker.Equals, "50000", check.Commentf("setting the CPU CFS period failed"))
209 199
 }
210 200
 
211 201
 func (s *DockerSuite) TestRunWithKernelMemory(c *check.C) {
... ...
@@ -227,9 +178,7 @@ func (s *DockerSuite) TestRunWithKernelMemory(c *check.C) {
227 227
 func (s *DockerSuite) TestRunEchoStdoutWitCPUShares(c *check.C) {
228 228
 	testRequires(c, cpuShare)
229 229
 	out, _ := dockerCmd(c, "run", "--cpu-shares", "1000", "busybox", "echo", "test")
230
-	if out != "test\n" {
231
-		c.Errorf("container should've printed 'test', got %q instead", out)
232
-	}
230
+	c.Assert(out, checker.Equals, "test\n", check.Commentf("container should've printed 'test'"))
233 231
 }
234 232
 
235 233
 // "test" should be printed
... ...
@@ -237,37 +186,27 @@ func (s *DockerSuite) TestRunEchoStdoutWithCPUSharesAndMemoryLimit(c *check.C) {
237 237
 	testRequires(c, cpuShare)
238 238
 	testRequires(c, memoryLimitSupport)
239 239
 	out, _, _ := dockerCmdWithStdoutStderr(c, "run", "--cpu-shares", "1000", "-m", "32m", "busybox", "echo", "test")
240
-	if out != "test\n" {
241
-		c.Errorf("container should've printed 'test', got %q instead", out)
242
-	}
240
+	c.Assert(out, checker.Equals, "test\n", check.Commentf("container should've printed 'test'"))
243 241
 }
244 242
 
245 243
 func (s *DockerSuite) TestRunWithCpuset(c *check.C) {
246 244
 	testRequires(c, cgroupCpuset)
247
-	if _, code := dockerCmd(c, "run", "--cpuset", "0", "busybox", "true"); code != 0 {
248
-		c.Fatalf("container should run successfully with cpuset of 0")
249
-	}
245
+	dockerCmd(c, "run", "--cpuset", "0", "busybox", "true")
250 246
 }
251 247
 
252 248
 func (s *DockerSuite) TestRunWithCpusetCpus(c *check.C) {
253 249
 	testRequires(c, cgroupCpuset)
254
-	if _, code := dockerCmd(c, "run", "--cpuset-cpus", "0", "busybox", "true"); code != 0 {
255
-		c.Fatalf("container should run successfully with cpuset-cpus of 0")
256
-	}
250
+	dockerCmd(c, "run", "--cpuset-cpus", "0", "busybox", "true")
257 251
 }
258 252
 
259 253
 func (s *DockerSuite) TestRunWithCpusetMems(c *check.C) {
260 254
 	testRequires(c, cgroupCpuset)
261
-	if _, code := dockerCmd(c, "run", "--cpuset-mems", "0", "busybox", "true"); code != 0 {
262
-		c.Fatalf("container should run successfully with cpuset-mems of 0")
263
-	}
255
+	dockerCmd(c, "run", "--cpuset-mems", "0", "busybox", "true")
264 256
 }
265 257
 
266 258
 func (s *DockerSuite) TestRunWithBlkioWeight(c *check.C) {
267 259
 	testRequires(c, blkioWeight)
268
-	if _, code := dockerCmd(c, "run", "--blkio-weight", "300", "busybox", "true"); code != 0 {
269
-		c.Fatalf("container should run successfully with blkio-weight of 300")
270
-	}
260
+	dockerCmd(c, "run", "--blkio-weight", "300", "busybox", "true")
271 261
 }
272 262
 
273 263
 func (s *DockerSuite) TestRunWithBlkioInvalidWeight(c *check.C) {
... ...
@@ -304,9 +243,7 @@ func (s *DockerSuite) TestRunEchoStdoutWithMemoryLimit(c *check.C) {
304 304
 	out, _, _ := dockerCmdWithStdoutStderr(c, "run", "-m", "32m", "busybox", "echo", "test")
305 305
 	out = strings.Trim(out, "\r\n")
306 306
 
307
-	if expected := "test"; out != expected {
308
-		c.Fatalf("container should've printed %q but printed %q", expected, out)
309
-	}
307
+	c.Assert(out, checker.Equals, "test", check.Commentf("container should've printed 'test'"))
310 308
 }
311 309
 
312 310
 // TestRunWithoutMemoryswapLimit sets memory limit and disables swap
... ...
@@ -348,25 +285,19 @@ func (s *DockerSuite) TestRunWithMemoryReservationInvalid(c *check.C) {
348 348
 	out, _, err := dockerCmdWithError("run", "-m", "500M", "--memory-reservation", "800M", "busybox", "true")
349 349
 	c.Assert(err, check.NotNil)
350 350
 	expected := "Minimum memory limit should be larger than memory reservation limit"
351
-	if !strings.Contains(strings.TrimSpace(out), expected) {
352
-		c.Fatalf("run container should fail with invalid memory reservation, output: %q", out)
353
-	}
351
+	c.Assert(strings.TrimSpace(out), checker.Contains, expected, check.Commentf("run container should fail with invalid memory reservation"))
354 352
 }
355 353
 
356 354
 func (s *DockerSuite) TestStopContainerSignal(c *check.C) {
357 355
 	out, _ := dockerCmd(c, "run", "--stop-signal", "SIGUSR1", "-d", "busybox", "/bin/sh", "-c", `trap 'echo "exit trapped"; exit 0' USR1; while true; do sleep 1; done`)
358 356
 	containerID := strings.TrimSpace(out)
359 357
 
360
-	if err := waitRun(containerID); err != nil {
361
-		c.Fatal(err)
362
-	}
358
+	c.Assert(waitRun(containerID), checker.IsNil)
363 359
 
364 360
 	dockerCmd(c, "stop", containerID)
365 361
 	out, _ = dockerCmd(c, "logs", containerID)
366 362
 
367
-	if !strings.Contains(out, "exit trapped") {
368
-		c.Fatalf("Expected `exit trapped` in the log, got %v", out)
369
-	}
363
+	c.Assert(out, checker.Contains, "exit trapped", check.Commentf("Expected `exit trapped` in the log"))
370 364
 }
371 365
 
372 366
 func (s *DockerSuite) TestRunSwapLessThanMemoryLimit(c *check.C) {
... ...
@@ -376,9 +307,7 @@ func (s *DockerSuite) TestRunSwapLessThanMemoryLimit(c *check.C) {
376 376
 	expected := "Minimum memoryswap limit should be larger than memory limit"
377 377
 	c.Assert(err, check.NotNil)
378 378
 
379
-	if !strings.Contains(out, expected) {
380
-		c.Fatalf("Expected output to contain %q, not %q", out, expected)
381
-	}
379
+	c.Assert(out, checker.Contains, expected)
382 380
 }
383 381
 
384 382
 func (s *DockerSuite) TestRunInvalidCpusetCpusFlagValue(c *check.C) {
... ...
@@ -397,9 +326,7 @@ func (s *DockerSuite) TestRunInvalidCpusetCpusFlagValue(c *check.C) {
397 397
 	out, _, err := dockerCmdWithError("run", "--cpuset-cpus", strconv.Itoa(invalid), "busybox", "true")
398 398
 	c.Assert(err, check.NotNil)
399 399
 	expected := fmt.Sprintf("Error response from daemon: Requested CPUs are not available - requested %s, available: %s", strconv.Itoa(invalid), sysInfo.Cpus)
400
-	if !(strings.Contains(out, expected)) {
401
-		c.Fatalf("Expected output to contain %q, got %q", expected, out)
402
-	}
400
+	c.Assert(out, checker.Contains, expected)
403 401
 }
404 402
 
405 403
 func (s *DockerSuite) TestRunInvalidCpusetMemsFlagValue(c *check.C) {
... ...
@@ -418,9 +345,7 @@ func (s *DockerSuite) TestRunInvalidCpusetMemsFlagValue(c *check.C) {
418 418
 	out, _, err := dockerCmdWithError("run", "--cpuset-mems", strconv.Itoa(invalid), "busybox", "true")
419 419
 	c.Assert(err, check.NotNil)
420 420
 	expected := fmt.Sprintf("Error response from daemon: Requested memory nodes are not available - requested %s, available: %s", strconv.Itoa(invalid), sysInfo.Mems)
421
-	if !(strings.Contains(out, expected)) {
422
-		c.Fatalf("Expected output to contain %q, got %q", expected, out)
423
-	}
421
+	c.Assert(out, checker.Contains, expected)
424 422
 }
425 423
 
426 424
 func (s *DockerSuite) TestRunInvalidCPUShares(c *check.C) {