mirror of
				https://github.com/moby/moby.git
				synced 2022-11-09 12:21:53 -05:00 
			
		
		
		
	Merge pull request #19604 from Microsoft/jjh/testrename
Windows CI: Fix TestRename*
This commit is contained in:
		
						commit
						70c5e96cb8
					
				
					 2 changed files with 20 additions and 15 deletions
				
			
		| 
						 | 
				
			
			@ -68,14 +68,16 @@ func (daemon *Daemon) ContainerRename(oldName, newName string) error {
 | 
			
		|||
	}()
 | 
			
		||||
 | 
			
		||||
	sid = container.NetworkSettings.SandboxID
 | 
			
		||||
	sb, err = daemon.netController.SandboxByID(sid)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	if daemon.netController != nil {
 | 
			
		||||
		sb, err = daemon.netController.SandboxByID(sid)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return err
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	err = sb.Rename(strings.TrimPrefix(container.Name, "/"))
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
		err = sb.Rename(strings.TrimPrefix(container.Name, "/"))
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return err
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	daemon.LogContainerEventWithAttributes(container, "rename", attributes)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -8,8 +8,15 @@ import (
 | 
			
		|||
	"github.com/go-check/check"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
var sleepCmd = "/bin/sleep"
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	if daemonPlatform == "windows" {
 | 
			
		||||
		sleepCmd = "sleep"
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (s *DockerSuite) TestRenameStoppedContainer(c *check.C) {
 | 
			
		||||
	testRequires(c, DaemonIsLinux)
 | 
			
		||||
	out, _ := dockerCmd(c, "run", "--name", "first_name", "-d", "busybox", "sh")
 | 
			
		||||
 | 
			
		||||
	cleanedContainerID := strings.TrimSpace(out)
 | 
			
		||||
| 
						 | 
				
			
			@ -26,7 +33,6 @@ func (s *DockerSuite) TestRenameStoppedContainer(c *check.C) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
func (s *DockerSuite) TestRenameRunningContainer(c *check.C) {
 | 
			
		||||
	testRequires(c, DaemonIsLinux)
 | 
			
		||||
	out, _ := dockerCmd(c, "run", "--name", "first_name", "-d", "busybox", "sh")
 | 
			
		||||
 | 
			
		||||
	newName := "new_name" + stringid.GenerateNonCryptoID()
 | 
			
		||||
| 
						 | 
				
			
			@ -39,8 +45,7 @@ func (s *DockerSuite) TestRenameRunningContainer(c *check.C) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
func (s *DockerSuite) TestRenameRunningContainerAndReuse(c *check.C) {
 | 
			
		||||
	testRequires(c, DaemonIsLinux)
 | 
			
		||||
	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)
 | 
			
		||||
 | 
			
		||||
	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(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)
 | 
			
		||||
	newContainerID := strings.TrimSpace(out)
 | 
			
		||||
	name, err = inspectField(newContainerID, "Name")
 | 
			
		||||
| 
						 | 
				
			
			@ -60,7 +65,6 @@ func (s *DockerSuite) TestRenameRunningContainerAndReuse(c *check.C) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
func (s *DockerSuite) TestRenameCheckNames(c *check.C) {
 | 
			
		||||
	testRequires(c, DaemonIsLinux)
 | 
			
		||||
	dockerCmd(c, "run", "--name", "first_name", "-d", "busybox", "sh")
 | 
			
		||||
 | 
			
		||||
	newName := "new_name" + stringid.GenerateNonCryptoID()
 | 
			
		||||
| 
						 | 
				
			
			@ -76,8 +80,7 @@ func (s *DockerSuite) TestRenameCheckNames(c *check.C) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
func (s *DockerSuite) TestRenameInvalidName(c *check.C) {
 | 
			
		||||
	testRequires(c, DaemonIsLinux)
 | 
			
		||||
	dockerCmd(c, "run", "--name", "myname", "-d", "busybox", "top")
 | 
			
		||||
	dockerCmd(c, "run", "--name", "myname", "-d", "busybox", sleepCmd, "60")
 | 
			
		||||
 | 
			
		||||
	out, _, err := dockerCmdWithError("rename", "myname", "new:invalid")
 | 
			
		||||
	c.Assert(err, checker.NotNil, check.Commentf("Renaming container to invalid name should have failed: %s", out))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue