Browse code

Harden TestPsListContainersFilterExited

This test runs on a daemon also used by other tests
so make sure we don't get failures if another test
doesn't cleanup or is running in parallel.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 915acffdb4cf95b934dd9872c1f54ea4487819b7)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

Sebastiaan van Stijn authored on 2019/06/06 00:02:44
Showing 1 changed files
... ...
@@ -439,15 +439,11 @@ func (s *DockerSuite) TestPsListContainersFilterLabel(c *check.C) {
439 439
 func (s *DockerSuite) TestPsListContainersFilterExited(c *check.C) {
440 440
 	runSleepingContainer(c, "--name=sleep")
441 441
 
442
-	dockerCmd(c, "run", "--name", "zero1", "busybox", "true")
443
-	firstZero := getIDByName(c, "zero1")
444
-
445
-	dockerCmd(c, "run", "--name", "zero2", "busybox", "true")
446
-	secondZero := getIDByName(c, "zero2")
442
+	firstZero, _ := dockerCmd(c, "run", "-d", "busybox", "true")
443
+	secondZero, _ := dockerCmd(c, "run", "-d", "busybox", "true")
447 444
 
448 445
 	out, _, err := dockerCmdWithError("run", "--name", "nonzero1", "busybox", "false")
449 446
 	c.Assert(err, checker.NotNil, check.Commentf("Should fail.", out, err))
450
-
451 447
 	firstNonZero := getIDByName(c, "nonzero1")
452 448
 
453 449
 	out, _, err = dockerCmdWithError("run", "--name", "nonzero2", "busybox", "false")
... ...
@@ -456,17 +452,16 @@ func (s *DockerSuite) TestPsListContainersFilterExited(c *check.C) {
456 456
 
457 457
 	// filter containers by exited=0
458 458
 	out, _ = dockerCmd(c, "ps", "-a", "-q", "--no-trunc", "--filter=exited=0")
459
-	ids := strings.Split(strings.TrimSpace(out), "\n")
460
-	c.Assert(ids, checker.HasLen, 2, check.Commentf("Should be 2 zero exited containers got %d: %s", len(ids), out))
461
-	c.Assert(ids[0], checker.Equals, secondZero, check.Commentf("First in list should be %q, got %q", secondZero, ids[0]))
462
-	c.Assert(ids[1], checker.Equals, firstZero, check.Commentf("Second in list should be %q, got %q", firstZero, ids[1]))
459
+	c.Assert(out, checker.Contains, strings.TrimSpace(firstZero))
460
+	c.Assert(out, checker.Contains, strings.TrimSpace(secondZero))
461
+	c.Assert(out, checker.Not(checker.Contains), strings.TrimSpace(firstNonZero))
462
+	c.Assert(out, checker.Not(checker.Contains), strings.TrimSpace(secondNonZero))
463 463
 
464 464
 	out, _ = dockerCmd(c, "ps", "-a", "-q", "--no-trunc", "--filter=exited=1")
465
-	ids = strings.Split(strings.TrimSpace(out), "\n")
466
-	c.Assert(ids, checker.HasLen, 2, check.Commentf("Should be 2 zero exited containers got %d", len(ids)))
467
-	c.Assert(ids[0], checker.Equals, secondNonZero, check.Commentf("First in list should be %q, got %q", secondNonZero, ids[0]))
468
-	c.Assert(ids[1], checker.Equals, firstNonZero, check.Commentf("Second in list should be %q, got %q", firstNonZero, ids[1]))
469
-
465
+	c.Assert(out, checker.Contains, strings.TrimSpace(firstNonZero))
466
+	c.Assert(out, checker.Contains, strings.TrimSpace(secondNonZero))
467
+	c.Assert(out, checker.Not(checker.Contains), strings.TrimSpace(firstZero))
468
+	c.Assert(out, checker.Not(checker.Contains), strings.TrimSpace(secondZero))
470 469
 }
471 470
 
472 471
 func (s *DockerSuite) TestPsRightTagName(c *check.C) {