Browse code

Fix TestRenameStoppedContainer race

Signed-off-by: Antonio Murdaca <me@runcom.ninja>

Antonio Murdaca authored on 2015/04/23 23:11:20
Showing 1 changed files
... ...
@@ -4,11 +4,11 @@ import (
4 4
 	"os/exec"
5 5
 	"strings"
6 6
 
7
+	"github.com/docker/docker/pkg/stringid"
7 8
 	"github.com/go-check/check"
8 9
 )
9 10
 
10 11
 func (s *DockerSuite) TestRenameStoppedContainer(c *check.C) {
11
-
12 12
 	runCmd := exec.Command(dockerBinary, "run", "--name", "first_name", "-d", "busybox", "sh")
13 13
 	out, _, err := runCommandWithOutput(runCmd)
14 14
 	if err != nil {
... ...
@@ -25,7 +25,8 @@ func (s *DockerSuite) TestRenameStoppedContainer(c *check.C) {
25 25
 
26 26
 	name, err := inspectField(cleanedContainerID, "Name")
27 27
 
28
-	runCmd = exec.Command(dockerBinary, "rename", "first_name", "new_name")
28
+	newName := "new_name" + stringid.GenerateRandomID()
29
+	runCmd = exec.Command(dockerBinary, "rename", "first_name", newName)
29 30
 	out, _, err = runCommandWithOutput(runCmd)
30 31
 	if err != nil {
31 32
 		c.Fatalf(out, err)
... ...
@@ -35,22 +36,22 @@ func (s *DockerSuite) TestRenameStoppedContainer(c *check.C) {
35 35
 	if err != nil {
36 36
 		c.Fatal(err)
37 37
 	}
38
-	if name != "/new_name" {
38
+	if name != "/"+newName {
39 39
 		c.Fatal("Failed to rename container ", name)
40 40
 	}
41 41
 
42 42
 }
43 43
 
44 44
 func (s *DockerSuite) TestRenameRunningContainer(c *check.C) {
45
-
46 45
 	runCmd := exec.Command(dockerBinary, "run", "--name", "first_name", "-d", "busybox", "sh")
47 46
 	out, _, err := runCommandWithOutput(runCmd)
48 47
 	if err != nil {
49 48
 		c.Fatalf(out, err)
50 49
 	}
51 50
 
51
+	newName := "new_name" + stringid.GenerateRandomID()
52 52
 	cleanedContainerID := strings.TrimSpace(out)
53
-	runCmd = exec.Command(dockerBinary, "rename", "first_name", "new_name")
53
+	runCmd = exec.Command(dockerBinary, "rename", "first_name", newName)
54 54
 	out, _, err = runCommandWithOutput(runCmd)
55 55
 	if err != nil {
56 56
 		c.Fatalf(out, err)
... ...
@@ -60,31 +61,30 @@ func (s *DockerSuite) TestRenameRunningContainer(c *check.C) {
60 60
 	if err != nil {
61 61
 		c.Fatal(err)
62 62
 	}
63
-	if name != "/new_name" {
63
+	if name != "/"+newName {
64 64
 		c.Fatal("Failed to rename container ")
65 65
 	}
66
-
67 66
 }
68 67
 
69 68
 func (s *DockerSuite) TestRenameCheckNames(c *check.C) {
70
-
71 69
 	runCmd := exec.Command(dockerBinary, "run", "--name", "first_name", "-d", "busybox", "sh")
72 70
 	out, _, err := runCommandWithOutput(runCmd)
73 71
 	if err != nil {
74 72
 		c.Fatalf(out, err)
75 73
 	}
76 74
 
77
-	runCmd = exec.Command(dockerBinary, "rename", "first_name", "new_name")
75
+	newName := "new_name" + stringid.GenerateRandomID()
76
+	runCmd = exec.Command(dockerBinary, "rename", "first_name", newName)
78 77
 	out, _, err = runCommandWithOutput(runCmd)
79 78
 	if err != nil {
80 79
 		c.Fatalf(out, err)
81 80
 	}
82 81
 
83
-	name, err := inspectField("new_name", "Name")
82
+	name, err := inspectField(newName, "Name")
84 83
 	if err != nil {
85 84
 		c.Fatal(err)
86 85
 	}
87
-	if name != "/new_name" {
86
+	if name != "/"+newName {
88 87
 		c.Fatal("Failed to rename container ")
89 88
 	}
90 89
 
... ...
@@ -92,7 +92,6 @@ func (s *DockerSuite) TestRenameCheckNames(c *check.C) {
92 92
 	if err == nil && !strings.Contains(err.Error(), "No such image or container: first_name") {
93 93
 		c.Fatal(err)
94 94
 	}
95
-
96 95
 }
97 96
 
98 97
 func (s *DockerSuite) TestRenameInvalidName(c *check.C) {
... ...
@@ -110,5 +109,4 @@ func (s *DockerSuite) TestRenameInvalidName(c *check.C) {
110 110
 	if out, _, err := runCommandWithOutput(runCmd); err != nil || !strings.Contains(out, "myname") {
111 111
 		c.Fatalf("Output of docker ps should have included 'myname': %s\n%v", out, err)
112 112
 	}
113
-
114 113
 }