From 32dbb5c46569fbd404a88775c5eb58b5da0b9240 Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Thu, 9 Mar 2017 12:29:20 +0100 Subject: [PATCH] Add integration tests for client- and daemon-side auto-remove Signed-off-by: Sebastiaan van Stijn --- integration-cli/docker_cli_run_test.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/integration-cli/docker_cli_run_test.go b/integration-cli/docker_cli_run_test.go index 9462aef800..f1b1fde121 100644 --- a/integration-cli/docker_cli_run_test.go +++ b/integration-cli/docker_cli_run_test.go @@ -4421,6 +4421,30 @@ func (s *DockerSuite) TestRunRmAndWait(c *check.C) { c.Assert(code, checker.Equals, 0) } +// Test that auto-remove is performed by the daemon (API 1.25 and above) +func (s *DockerSuite) TestRunRm(c *check.C) { + name := "miss-me-when-im-gone" + dockerCmd(c, "run", "--name="+name, "--rm", "busybox") + + _, err := inspectFieldWithError(name, "name") + c.Assert(err, checker.Not(check.IsNil)) + c.Assert(err.Error(), checker.Contains, "No such object: "+name) +} + +// Test that auto-remove is performed by the client on API versions that do not support daemon-side api-remove (API < 1.25) +func (s *DockerSuite) TestRunRmPre125Api(c *check.C) { + name := "miss-me-when-im-gone" + result := icmd.RunCmd(icmd.Cmd{ + Command: binaryWithArgs("run", "--name="+name, "--rm", "busybox"), + Env: appendBaseEnv(false, "DOCKER_API_VERSION=1.24"), + }) + c.Assert(result, icmd.Matches, icmd.Success) + + _, err := inspectFieldWithError(name, "name") + c.Assert(err, checker.Not(check.IsNil)) + c.Assert(err.Error(), checker.Contains, "No such object: "+name) +} + // Test case for #23498 func (s *DockerSuite) TestRunUnsetEntrypoint(c *check.C) { testRequires(c, DaemonIsLinux)