Browse code

integration-cli: use subtests for TestSwarmNetworkCreateDup

This makes the test less noisy, and won't print the `failed: Error ...` messages,
which were confusing.

Also, running as a subtest allows tracking failures individually through the
junit.xml files.

Before:

=== RUN TestDockerSwarmSuite/TestSwarmNetworkCreateDup
--- PASS: TestDockerSwarmSuite/TestSwarmNetworkCreateDup (3.00s)
daemon.go:26: Creating a new daemon at: "/go/src/github.com/docker/docker/bundles/test-integration/TestDockerSwarmSuite/TestSwarmNetworkCreateDup"
docker_cli_swarm_test.go:1527: Creating a network named "network-test-0" with "bridge", then "bridge"
docker_cli_swarm_test.go:1534: As expected, the attempt to network "network-test-0" with "bridge" failed: Error response from daemon: network with name network-test-0 already exists
docker_cli_swarm_test.go:1527: Creating a network named "network-test-0" with "bridge", then "overlay"
docker_cli_swarm_test.go:1534: As expected, the attempt to network "network-test-0" with "overlay" failed: Error response from daemon: network with name network-test-0 already exists
docker_cli_swarm_test.go:1527: Creating a network named "network-test-1" with "overlay", then "bridge"
docker_cli_swarm_test.go:1534: As expected, the attempt to network "network-test-1" with "bridge" failed: Error response from daemon: network with name network-test-1 already exists
docker_cli_swarm_test.go:1527: Creating a network named "network-test-1" with "overlay", then "overlay"
docker_cli_swarm_test.go:1534: As expected, the attempt to network "network-test-1" with "overlay" failed: Error response from daemon: network with name network-test-1 already exists

After:

=== RUN TestDockerSwarmSuite
=== RUN TestDockerSwarmSuite/TestSwarmNetworkCreateDup
=== RUN TestDockerSwarmSuite/TestSwarmNetworkCreateDup/driver_bridge_then_bridge
=== RUN TestDockerSwarmSuite/TestSwarmNetworkCreateDup/driver_bridge_then_overlay
=== RUN TestDockerSwarmSuite/TestSwarmNetworkCreateDup/driver_overlay_then_bridge
=== RUN TestDockerSwarmSuite/TestSwarmNetworkCreateDup/driver_overlay_then_overlay
--- PASS: TestDockerSwarmSuite (8.12s)
--- PASS: TestDockerSwarmSuite/TestSwarmNetworkCreateDup (8.12s)
daemon.go:26: Creating a new daemon at: "/go/src/github.com/docker/docker/bundles/test-integration/TestDockerSwarmSuite/TestSwarmNetworkCreateDup"
--- PASS: TestDockerSwarmSuite/TestSwarmNetworkCreateDup/driver_bridge_then_bridge (0.52s)
--- PASS: TestDockerSwarmSuite/TestSwarmNetworkCreateDup/driver_bridge_then_overlay (0.31s)
--- PASS: TestDockerSwarmSuite/TestSwarmNetworkCreateDup/driver_overlay_then_bridge (0.17s)
--- PASS: TestDockerSwarmSuite/TestSwarmNetworkCreateDup/driver_overlay_then_overlay (0.12s)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

Sebastiaan van Stijn authored on 2019/10/21 21:06:35
Showing 1 changed files
... ...
@@ -1522,19 +1522,17 @@ func (s *DockerSwarmSuite) TestSwarmNetworkCreateDup(c *testing.T) {
1522 1522
 	d := s.AddDaemon(c, true, true)
1523 1523
 	drivers := []string{"bridge", "overlay"}
1524 1524
 	for i, driver1 := range drivers {
1525
-		nwName := fmt.Sprintf("network-test-%d", i)
1526 1525
 		for _, driver2 := range drivers {
1527
-			c.Logf("Creating a network named %q with %q, then %q",
1528
-				nwName, driver1, driver2)
1529
-			out, err := d.Cmd("network", "create", "--driver", driver1, nwName)
1530
-			assert.NilError(c, err, "out: %v", out)
1531
-			out, err = d.Cmd("network", "create", "--driver", driver2, nwName)
1532
-			assert.Assert(c, strings.Contains(out, fmt.Sprintf("network with name %s already exists", nwName)), out)
1533
-			assert.ErrorContains(c, err, "")
1534
-			c.Logf("As expected, the attempt to network %q with %q failed: %s",
1535
-				nwName, driver2, out)
1536
-			out, err = d.Cmd("network", "rm", nwName)
1537
-			assert.NilError(c, err, "out: %v", out)
1526
+			c.Run(fmt.Sprintf("driver %s then %s", driver1, driver2), func(c *testing.T) {
1527
+				nwName := fmt.Sprintf("network-test-%d", i)
1528
+				out, err := d.Cmd("network", "create", "--driver", driver1, nwName)
1529
+				assert.NilError(c, err, "out: %v", out)
1530
+				out, err = d.Cmd("network", "create", "--driver", driver2, nwName)
1531
+				assert.Assert(c, strings.Contains(out, fmt.Sprintf("network with name %s already exists", nwName)), out)
1532
+				assert.ErrorContains(c, err, "")
1533
+				out, err = d.Cmd("network", "rm", nwName)
1534
+				assert.NilError(c, err, "out: %v", out)
1535
+			})
1538 1536
 		}
1539 1537
 	}
1540 1538
 }