Browse code

update tests

Signed-off-by: Jessica Frazelle <acidburn@docker.com>

Jessica Frazelle authored on 2015/10/14 06:18:05
Showing 5 changed files
... ...
@@ -31,6 +31,7 @@ func (s *DockerSuite) TearDownTest(c *check.C) {
31 31
 	deleteAllContainers()
32 32
 	deleteAllImages()
33 33
 	deleteAllVolumes()
34
+	deleteAllNetworks()
34 35
 }
35 36
 
36 37
 func init() {
... ...
@@ -61,6 +61,7 @@ func (s *DockerSuite) TestDiffEnsureOnlyKmsgAndPtmx(c *check.C) {
61 61
 		"C /dev":         true,
62 62
 		"A /dev/full":    true, // busybox
63 63
 		"C /dev/ptmx":    true, // libcontainer
64
+		"A /dev/mqueue":  true, // lxc
64 65
 		"A /dev/kmsg":    true, // lxc
65 66
 		"A /dev/fd":      true,
66 67
 		"A /dev/fuse":    true,
... ...
@@ -1197,7 +1197,7 @@ func (s *DockerSuite) TestRunNonRootUserResolvName(c *check.C) {
1197 1197
 // uses the host's /etc/resolv.conf and does not have any dns options provided.
1198 1198
 func (s *DockerSuite) TestRunResolvconfUpdate(c *check.C) {
1199 1199
 	// Not applicable on Windows as testing unix specific functionality
1200
-	testRequires(c, SameHostDaemon, DaemonIsLinux)
1200
+	testRequires(c, SameHostDaemon, DaemonIsLinux, NativeExecDriver)
1201 1201
 
1202 1202
 	tmpResolvConf := []byte("search pommesfrites.fr\nnameserver 12.34.56.78\n")
1203 1203
 	tmpLocalhostResolvConf := []byte("nameserver 127.0.0.1")
... ...
@@ -3425,13 +3425,10 @@ func (s *DockerSuite) TestContainersInUserDefinedNetwork(c *check.C) {
3425 3425
 	dockerCmd(c, "run", "-d", "--net=testnetwork", "--name=first", "busybox", "top")
3426 3426
 	c.Assert(waitRun("first"), check.IsNil)
3427 3427
 	dockerCmd(c, "run", "-t", "--net=testnetwork", "--name=second", "busybox", "ping", "-c", "1", "first")
3428
-	dockerCmd(c, "stop", "first")
3429
-	dockerCmd(c, "stop", "second")
3430
-	dockerCmd(c, "network", "rm", "testnetwork")
3431 3428
 }
3432 3429
 
3433 3430
 func (s *DockerSuite) TestContainersInMultipleNetworks(c *check.C) {
3434
-	testRequires(c, DaemonIsLinux, NotUserNamespace)
3431
+	testRequires(c, DaemonIsLinux, NotUserNamespace, NativeExecDriver)
3435 3432
 	// Create 2 networks using bridge driver
3436 3433
 	dockerCmd(c, "network", "create", "-d", "bridge", "testnetwork1")
3437 3434
 	dockerCmd(c, "network", "create", "-d", "bridge", "testnetwork2")
... ...
@@ -3447,14 +3444,10 @@ func (s *DockerSuite) TestContainersInMultipleNetworks(c *check.C) {
3447 3447
 	dockerCmd(c, "network", "connect", "testnetwork2", "second")
3448 3448
 	// Check connectivity between containers
3449 3449
 	dockerCmd(c, "exec", "second", "ping", "-c", "1", "first.testnetwork2")
3450
-	dockerCmd(c, "stop", "first")
3451
-	dockerCmd(c, "stop", "second")
3452
-	dockerCmd(c, "network", "rm", "testnetwork1")
3453
-	dockerCmd(c, "network", "rm", "testnetwork2")
3454 3450
 }
3455 3451
 
3456 3452
 func (s *DockerSuite) TestContainersNetworkIsolation(c *check.C) {
3457
-	testRequires(c, DaemonIsLinux, NotUserNamespace)
3453
+	testRequires(c, DaemonIsLinux, NotUserNamespace, NativeExecDriver)
3458 3454
 	// Create 2 networks using bridge driver
3459 3455
 	dockerCmd(c, "network", "create", "-d", "bridge", "testnetwork1")
3460 3456
 	dockerCmd(c, "network", "create", "-d", "bridge", "testnetwork2")
... ...
@@ -3478,11 +3471,6 @@ func (s *DockerSuite) TestContainersNetworkIsolation(c *check.C) {
3478 3478
 	// ping must fail again
3479 3479
 	_, _, err = dockerCmdWithError("exec", "first", "ping", "-c", "1", "second")
3480 3480
 	c.Assert(err, check.NotNil)
3481
-
3482
-	dockerCmd(c, "stop", "first")
3483
-	dockerCmd(c, "stop", "second")
3484
-	dockerCmd(c, "network", "rm", "testnetwork1")
3485
-	dockerCmd(c, "network", "rm", "testnetwork2")
3486 3481
 }
3487 3482
 
3488 3483
 func (s *DockerSuite) TestNetworkRmWithActiveContainers(c *check.C) {
... ...
@@ -3501,17 +3489,14 @@ func (s *DockerSuite) TestNetworkRmWithActiveContainers(c *check.C) {
3501 3501
 	dockerCmd(c, "stop", "first")
3502 3502
 	_, _, err = dockerCmdWithError("network", "rm", "testnetwork1")
3503 3503
 	c.Assert(err, check.NotNil)
3504
-
3505
-	dockerCmd(c, "stop", "second")
3506
-	// Network delete must succeed after all the connected containers are inactive
3507
-	dockerCmd(c, "network", "rm", "testnetwork1")
3508 3504
 }
3509 3505
 
3510 3506
 func (s *DockerSuite) TestContainerRestartInMultipleNetworks(c *check.C) {
3511
-	testRequires(c, DaemonIsLinux, NotUserNamespace)
3507
+	testRequires(c, DaemonIsLinux, NotUserNamespace, NativeExecDriver)
3512 3508
 	// Create 2 networks using bridge driver
3513 3509
 	dockerCmd(c, "network", "create", "-d", "bridge", "testnetwork1")
3514 3510
 	dockerCmd(c, "network", "create", "-d", "bridge", "testnetwork2")
3511
+
3515 3512
 	// Run and connect containers to testnetwork1
3516 3513
 	dockerCmd(c, "run", "-d", "--net=testnetwork1", "--name=first", "busybox", "top")
3517 3514
 	c.Assert(waitRun("first"), check.IsNil)
... ...
@@ -3536,11 +3521,6 @@ func (s *DockerSuite) TestContainerRestartInMultipleNetworks(c *check.C) {
3536 3536
 	dockerCmd(c, "start", "second")
3537 3537
 	dockerCmd(c, "exec", "first", "ping", "-c", "1", "second.testnetwork1")
3538 3538
 	dockerCmd(c, "exec", "second", "ping", "-c", "1", "first.testnetwork2")
3539
-
3540
-	dockerCmd(c, "stop", "first")
3541
-	dockerCmd(c, "stop", "second")
3542
-	dockerCmd(c, "network", "rm", "testnetwork1")
3543
-	dockerCmd(c, "network", "rm", "testnetwork2")
3544 3539
 }
3545 3540
 
3546 3541
 func (s *DockerSuite) TestContainerWithConflictingHostNetworks(c *check.C) {
... ...
@@ -3555,8 +3535,6 @@ func (s *DockerSuite) TestContainerWithConflictingHostNetworks(c *check.C) {
3555 3555
 	// Connecting to the user defined network must fail
3556 3556
 	_, _, err := dockerCmdWithError("network", "connect", "testnetwork1", "first")
3557 3557
 	c.Assert(err, check.NotNil)
3558
-	dockerCmd(c, "stop", "first")
3559
-	dockerCmd(c, "network", "rm", "testnetwork1")
3560 3558
 }
3561 3559
 
3562 3560
 func (s *DockerSuite) TestContainerWithConflictingSharedNetwork(c *check.C) {
... ...
@@ -3574,10 +3552,6 @@ func (s *DockerSuite) TestContainerWithConflictingSharedNetwork(c *check.C) {
3574 3574
 	out, _, err := dockerCmdWithError("network", "connect", "testnetwork1", "second")
3575 3575
 	c.Assert(err, check.NotNil)
3576 3576
 	c.Assert(out, checker.Contains, runconfig.ErrConflictSharedNetwork.Error())
3577
-
3578
-	dockerCmd(c, "stop", "first")
3579
-	dockerCmd(c, "stop", "second")
3580
-	dockerCmd(c, "network", "rm", "testnetwork1")
3581 3577
 }
3582 3578
 
3583 3579
 func (s *DockerSuite) TestContainerWithConflictingNoneNetwork(c *check.C) {
... ...
@@ -3600,10 +3574,6 @@ func (s *DockerSuite) TestContainerWithConflictingNoneNetwork(c *check.C) {
3600 3600
 	// Connect second container to none network. it must fail as well
3601 3601
 	_, _, err = dockerCmdWithError("network", "connect", "none", "second")
3602 3602
 	c.Assert(err, check.NotNil)
3603
-
3604
-	dockerCmd(c, "stop", "first")
3605
-	dockerCmd(c, "stop", "second")
3606
-	dockerCmd(c, "network", "rm", "testnetwork1")
3607 3603
 }
3608 3604
 
3609 3605
 // #11957 - stdin with no tty does not exit if stdin is not closed even though container exited
... ...
@@ -420,7 +420,7 @@ func (s *DockerSuite) TestRunInvalidCpusetMemsFlagValue(c *check.C) {
420 420
 }
421 421
 
422 422
 func (s *DockerSuite) TestRunInvalidCPUShares(c *check.C) {
423
-	testRequires(c, cpuShare)
423
+	testRequires(c, cpuShare, NativeExecDriver)
424 424
 	out, _, err := dockerCmdWithError("run", "--cpu-shares", "1", "busybox", "echo", "test")
425 425
 	c.Assert(err, check.NotNil, check.Commentf(out))
426 426
 	expected := "The minimum allowed cpu-shares is 2"
... ...
@@ -506,6 +506,42 @@ func deleteAllContainers() error {
506 506
 	return nil
507 507
 }
508 508
 
509
+func deleteAllNetworks() error {
510
+	networks, err := getAllNetworks()
511
+	if err != nil {
512
+		return err
513
+	}
514
+	var errors []string
515
+	for _, n := range networks {
516
+		if n.Name != "bridge" {
517
+			status, b, err := sockRequest("DELETE", "/networks/"+n.Name, nil)
518
+			if err != nil {
519
+				errors = append(errors, err.Error())
520
+				continue
521
+			}
522
+			if status != http.StatusNoContent {
523
+				errors = append(errors, fmt.Sprintf("error deleting network %s: %s", n.Name, string(b)))
524
+			}
525
+		}
526
+	}
527
+	if len(errors) > 0 {
528
+		return fmt.Errorf(strings.Join(errors, "\n"))
529
+	}
530
+	return nil
531
+}
532
+
533
+func getAllNetworks() ([]types.NetworkResource, error) {
534
+	var networks []types.NetworkResource
535
+	_, b, err := sockRequest("GET", "/networks", nil)
536
+	if err != nil {
537
+		return nil, err
538
+	}
539
+	if err := json.Unmarshal(b, &networks); err != nil {
540
+		return nil, err
541
+	}
542
+	return networks, nil
543
+}
544
+
509 545
 func deleteAllVolumes() error {
510 546
 	volumes, err := getAllVolumes()
511 547
 	if err != nil {