Windows CI: Fix TestRename*

Signed-off-by: John Howard <jhoward@microsoft.com>
This commit is contained in:
John Howard 2016-01-22 21:02:39 -08:00
parent bf85a49509
commit f21fb2162e
2 changed files with 20 additions and 15 deletions

View File

@ -64,14 +64,16 @@ func (daemon *Daemon) ContainerRename(oldName, newName string) error {
}() }()
sid = container.NetworkSettings.SandboxID sid = container.NetworkSettings.SandboxID
sb, err = daemon.netController.SandboxByID(sid) if daemon.netController != nil {
if err != nil { sb, err = daemon.netController.SandboxByID(sid)
return err if err != nil {
} return err
}
err = sb.Rename(strings.TrimPrefix(container.Name, "/")) err = sb.Rename(strings.TrimPrefix(container.Name, "/"))
if err != nil { if err != nil {
return err return err
}
} }
daemon.LogContainerEvent(container, "rename") daemon.LogContainerEvent(container, "rename")
return nil return nil

View File

@ -8,8 +8,15 @@ import (
"github.com/go-check/check" "github.com/go-check/check"
) )
var sleepCmd = "/bin/sleep"
func init() {
if daemonPlatform == "windows" {
sleepCmd = "sleep"
}
}
func (s *DockerSuite) TestRenameStoppedContainer(c *check.C) { func (s *DockerSuite) TestRenameStoppedContainer(c *check.C) {
testRequires(c, DaemonIsLinux)
out, _ := dockerCmd(c, "run", "--name", "first_name", "-d", "busybox", "sh") out, _ := dockerCmd(c, "run", "--name", "first_name", "-d", "busybox", "sh")
cleanedContainerID := strings.TrimSpace(out) cleanedContainerID := strings.TrimSpace(out)
@ -26,7 +33,6 @@ func (s *DockerSuite) TestRenameStoppedContainer(c *check.C) {
} }
func (s *DockerSuite) TestRenameRunningContainer(c *check.C) { func (s *DockerSuite) TestRenameRunningContainer(c *check.C) {
testRequires(c, DaemonIsLinux)
out, _ := dockerCmd(c, "run", "--name", "first_name", "-d", "busybox", "sh") out, _ := dockerCmd(c, "run", "--name", "first_name", "-d", "busybox", "sh")
newName := "new_name" + stringid.GenerateNonCryptoID() newName := "new_name" + stringid.GenerateNonCryptoID()
@ -39,8 +45,7 @@ func (s *DockerSuite) TestRenameRunningContainer(c *check.C) {
} }
func (s *DockerSuite) TestRenameRunningContainerAndReuse(c *check.C) { func (s *DockerSuite) TestRenameRunningContainerAndReuse(c *check.C) {
testRequires(c, DaemonIsLinux) out, _ := dockerCmd(c, "run", "--name", "first_name", "-d", "busybox", sleepCmd, "60")
out, _ := dockerCmd(c, "run", "--name", "first_name", "-d", "busybox", "top")
c.Assert(waitRun("first_name"), check.IsNil) c.Assert(waitRun("first_name"), check.IsNil)
newName := "new_name" newName := "new_name"
@ -51,7 +56,7 @@ func (s *DockerSuite) TestRenameRunningContainerAndReuse(c *check.C) {
c.Assert(err, checker.IsNil, check.Commentf("Failed to rename container %s", name)) c.Assert(err, checker.IsNil, check.Commentf("Failed to rename container %s", name))
c.Assert(name, checker.Equals, "/"+newName, check.Commentf("Failed to rename container")) c.Assert(name, checker.Equals, "/"+newName, check.Commentf("Failed to rename container"))
out, _ = dockerCmd(c, "run", "--name", "first_name", "-d", "busybox", "top") out, _ = dockerCmd(c, "run", "--name", "first_name", "-d", "busybox", sleepCmd, "60")
c.Assert(waitRun("first_name"), check.IsNil) c.Assert(waitRun("first_name"), check.IsNil)
newContainerID := strings.TrimSpace(out) newContainerID := strings.TrimSpace(out)
name, err = inspectField(newContainerID, "Name") name, err = inspectField(newContainerID, "Name")
@ -60,7 +65,6 @@ func (s *DockerSuite) TestRenameRunningContainerAndReuse(c *check.C) {
} }
func (s *DockerSuite) TestRenameCheckNames(c *check.C) { func (s *DockerSuite) TestRenameCheckNames(c *check.C) {
testRequires(c, DaemonIsLinux)
dockerCmd(c, "run", "--name", "first_name", "-d", "busybox", "sh") dockerCmd(c, "run", "--name", "first_name", "-d", "busybox", "sh")
newName := "new_name" + stringid.GenerateNonCryptoID() newName := "new_name" + stringid.GenerateNonCryptoID()
@ -76,8 +80,7 @@ func (s *DockerSuite) TestRenameCheckNames(c *check.C) {
} }
func (s *DockerSuite) TestRenameInvalidName(c *check.C) { func (s *DockerSuite) TestRenameInvalidName(c *check.C) {
testRequires(c, DaemonIsLinux) dockerCmd(c, "run", "--name", "myname", "-d", "busybox", sleepCmd, "60")
dockerCmd(c, "run", "--name", "myname", "-d", "busybox", "top")
out, _, err := dockerCmdWithError("rename", "myname", "new:invalid") out, _, err := dockerCmdWithError("rename", "myname", "new:invalid")
c.Assert(err, checker.NotNil, check.Commentf("Renaming container to invalid name should have failed: %s", out)) c.Assert(err, checker.NotNil, check.Commentf("Renaming container to invalid name should have failed: %s", out))