Browse code

Windows CI: Fix TestRename*

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

John Howard authored on 2016/01/23 14:02:39
Showing 2 changed files
... ...
@@ -64,14 +64,16 @@ func (daemon *Daemon) ContainerRename(oldName, newName string) error {
64 64
 	}()
65 65
 
66 66
 	sid = container.NetworkSettings.SandboxID
67
-	sb, err = daemon.netController.SandboxByID(sid)
68
-	if err != nil {
69
-		return err
70
-	}
67
+	if daemon.netController != nil {
68
+		sb, err = daemon.netController.SandboxByID(sid)
69
+		if err != nil {
70
+			return err
71
+		}
71 72
 
72
-	err = sb.Rename(strings.TrimPrefix(container.Name, "/"))
73
-	if err != nil {
74
-		return err
73
+		err = sb.Rename(strings.TrimPrefix(container.Name, "/"))
74
+		if err != nil {
75
+			return err
76
+		}
75 77
 	}
76 78
 	daemon.LogContainerEvent(container, "rename")
77 79
 	return nil
... ...
@@ -8,8 +8,15 @@ import (
8 8
 	"github.com/go-check/check"
9 9
 )
10 10
 
11
+var sleepCmd = "/bin/sleep"
12
+
13
+func init() {
14
+	if daemonPlatform == "windows" {
15
+		sleepCmd = "sleep"
16
+	}
17
+}
18
+
11 19
 func (s *DockerSuite) TestRenameStoppedContainer(c *check.C) {
12
-	testRequires(c, DaemonIsLinux)
13 20
 	out, _ := dockerCmd(c, "run", "--name", "first_name", "-d", "busybox", "sh")
14 21
 
15 22
 	cleanedContainerID := strings.TrimSpace(out)
... ...
@@ -26,7 +33,6 @@ func (s *DockerSuite) TestRenameStoppedContainer(c *check.C) {
26 26
 }
27 27
 
28 28
 func (s *DockerSuite) TestRenameRunningContainer(c *check.C) {
29
-	testRequires(c, DaemonIsLinux)
30 29
 	out, _ := dockerCmd(c, "run", "--name", "first_name", "-d", "busybox", "sh")
31 30
 
32 31
 	newName := "new_name" + stringid.GenerateNonCryptoID()
... ...
@@ -39,8 +45,7 @@ func (s *DockerSuite) TestRenameRunningContainer(c *check.C) {
39 39
 }
40 40
 
41 41
 func (s *DockerSuite) TestRenameRunningContainerAndReuse(c *check.C) {
42
-	testRequires(c, DaemonIsLinux)
43
-	out, _ := dockerCmd(c, "run", "--name", "first_name", "-d", "busybox", "top")
42
+	out, _ := dockerCmd(c, "run", "--name", "first_name", "-d", "busybox", sleepCmd, "60")
44 43
 	c.Assert(waitRun("first_name"), check.IsNil)
45 44
 
46 45
 	newName := "new_name"
... ...
@@ -51,7 +56,7 @@ func (s *DockerSuite) TestRenameRunningContainerAndReuse(c *check.C) {
51 51
 	c.Assert(err, checker.IsNil, check.Commentf("Failed to rename container %s", name))
52 52
 	c.Assert(name, checker.Equals, "/"+newName, check.Commentf("Failed to rename container"))
53 53
 
54
-	out, _ = dockerCmd(c, "run", "--name", "first_name", "-d", "busybox", "top")
54
+	out, _ = dockerCmd(c, "run", "--name", "first_name", "-d", "busybox", sleepCmd, "60")
55 55
 	c.Assert(waitRun("first_name"), check.IsNil)
56 56
 	newContainerID := strings.TrimSpace(out)
57 57
 	name, err = inspectField(newContainerID, "Name")
... ...
@@ -60,7 +65,6 @@ func (s *DockerSuite) TestRenameRunningContainerAndReuse(c *check.C) {
60 60
 }
61 61
 
62 62
 func (s *DockerSuite) TestRenameCheckNames(c *check.C) {
63
-	testRequires(c, DaemonIsLinux)
64 63
 	dockerCmd(c, "run", "--name", "first_name", "-d", "busybox", "sh")
65 64
 
66 65
 	newName := "new_name" + stringid.GenerateNonCryptoID()
... ...
@@ -76,8 +80,7 @@ func (s *DockerSuite) TestRenameCheckNames(c *check.C) {
76 76
 }
77 77
 
78 78
 func (s *DockerSuite) TestRenameInvalidName(c *check.C) {
79
-	testRequires(c, DaemonIsLinux)
80
-	dockerCmd(c, "run", "--name", "myname", "-d", "busybox", "top")
79
+	dockerCmd(c, "run", "--name", "myname", "-d", "busybox", sleepCmd, "60")
81 80
 
82 81
 	out, _, err := dockerCmdWithError("rename", "myname", "new:invalid")
83 82
 	c.Assert(err, checker.NotNil, check.Commentf("Renaming container to invalid name should have failed: %s", out))