Signed-off-by: John Howard <jhoward@microsoft.com>
| ... | ... |
@@ -1,6 +1,7 @@ |
| 1 | 1 |
package main |
| 2 | 2 |
|
| 3 | 3 |
import ( |
| 4 |
+ "io/ioutil" |
|
| 4 | 5 |
"os" |
| 5 | 6 |
"strings" |
| 6 | 7 |
|
| ... | ... |
@@ -9,34 +10,50 @@ import ( |
| 9 | 9 |
) |
| 10 | 10 |
|
| 11 | 11 |
func (s *DockerSuite) TestRmContainerWithRemovedVolume(c *check.C) {
|
| 12 |
- testRequires(c, DaemonIsLinux) |
|
| 13 | 12 |
testRequires(c, SameHostDaemon) |
| 14 | 13 |
|
| 15 |
- dockerCmd(c, "run", "--name", "losemyvolumes", "-v", "/tmp/testing:/test", "busybox", "true") |
|
| 14 |
+ prefix := "" |
|
| 15 |
+ slash := "/" |
|
| 16 |
+ if daemonPlatform == "windows" {
|
|
| 17 |
+ prefix = "c:" |
|
| 18 |
+ slash = `\` |
|
| 19 |
+ } |
|
| 20 |
+ |
|
| 21 |
+ tempDir, err := ioutil.TempDir("", "test-rm-container-with-removed-volume-")
|
|
| 22 |
+ if err != nil {
|
|
| 23 |
+ c.Fatalf("failed to create temporary directory: %s", tempDir)
|
|
| 24 |
+ } |
|
| 25 |
+ defer os.RemoveAll(tempDir) |
|
| 16 | 26 |
|
| 17 |
- err := os.Remove("/tmp/testing")
|
|
| 27 |
+ dockerCmd(c, "run", "--name", "losemyvolumes", "-v", tempDir+":"+prefix+slash+"test", "busybox", "true") |
|
| 28 |
+ |
|
| 29 |
+ err = os.RemoveAll(tempDir) |
|
| 18 | 30 |
c.Assert(err, check.IsNil) |
| 19 | 31 |
|
| 20 | 32 |
dockerCmd(c, "rm", "-v", "losemyvolumes") |
| 21 | 33 |
} |
| 22 | 34 |
|
| 23 | 35 |
func (s *DockerSuite) TestRmContainerWithVolume(c *check.C) {
|
| 24 |
- testRequires(c, DaemonIsLinux) |
|
| 25 |
- dockerCmd(c, "run", "--name", "foo", "-v", "/srv", "busybox", "true") |
|
| 36 |
+ prefix := "" |
|
| 37 |
+ slash := "/" |
|
| 38 |
+ if daemonPlatform == "windows" {
|
|
| 39 |
+ prefix = "c:" |
|
| 40 |
+ slash = `\` |
|
| 41 |
+ } |
|
| 42 |
+ |
|
| 43 |
+ dockerCmd(c, "run", "--name", "foo", "-v", prefix+slash+"srv", "busybox", "true") |
|
| 26 | 44 |
|
| 27 | 45 |
dockerCmd(c, "rm", "-v", "foo") |
| 28 | 46 |
} |
| 29 | 47 |
|
| 30 |
-func (s *DockerSuite) TestRmRunningContainer(c *check.C) {
|
|
| 31 |
- testRequires(c, DaemonIsLinux) |
|
| 48 |
+func (s *DockerSuite) TestRmContainerRunning(c *check.C) {
|
|
| 32 | 49 |
createRunningContainer(c, "foo") |
| 33 | 50 |
|
| 34 | 51 |
_, _, err := dockerCmdWithError("rm", "foo")
|
| 35 | 52 |
c.Assert(err, checker.NotNil, check.Commentf("Expected error, can't rm a running container"))
|
| 36 | 53 |
} |
| 37 | 54 |
|
| 38 |
-func (s *DockerSuite) TestRmForceRemoveRunningContainer(c *check.C) {
|
|
| 39 |
- testRequires(c, DaemonIsLinux) |
|
| 55 |
+func (s *DockerSuite) TestRmContainerForceRemoveRunning(c *check.C) {
|
|
| 40 | 56 |
createRunningContainer(c, "foo") |
| 41 | 57 |
|
| 42 | 58 |
// Stop then remove with -s |
| ... | ... |
@@ -44,12 +61,11 @@ func (s *DockerSuite) TestRmForceRemoveRunningContainer(c *check.C) {
|
| 44 | 44 |
} |
| 45 | 45 |
|
| 46 | 46 |
func (s *DockerSuite) TestRmContainerOrphaning(c *check.C) {
|
| 47 |
- testRequires(c, DaemonIsLinux) |
|
| 48 | 47 |
dockerfile1 := `FROM busybox:latest |
| 49 |
- ENTRYPOINT ["/bin/true"]` |
|
| 48 |
+ ENTRYPOINT ["true"]` |
|
| 50 | 49 |
img := "test-container-orphaning" |
| 51 | 50 |
dockerfile2 := `FROM busybox:latest |
| 52 |
- ENTRYPOINT ["/bin/true"] |
|
| 51 |
+ ENTRYPOINT ["true"] |
|
| 53 | 52 |
MAINTAINER Integration Tests` |
| 54 | 53 |
|
| 55 | 54 |
// build first dockerfile |
| ... | ... |
@@ -79,5 +95,5 @@ func (s *DockerSuite) TestRmInvalidContainer(c *check.C) {
|
| 79 | 79 |
} |
| 80 | 80 |
|
| 81 | 81 |
func createRunningContainer(c *check.C, name string) {
|
| 82 |
- dockerCmd(c, "run", "-dt", "--name", name, "busybox", "top") |
|
| 82 |
+ runSleepingContainer(c, "-dt", "--name", name) |
|
| 83 | 83 |
} |