1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00

fix flaky TestRunContainerWithRmFlag tests

This attempts to fix CI flakiness on the TestRunContainerWithRmFlagCannotStartContainer
and TestRunContainerWithRmFlagExitCodeNotEqualToZero tests.

These tests;

- get a list of all container ID's
- run a container with `--rm`
- wait for it to exit
- checks that the list of all container IDs is empty

The last step assumes that no other tests are running on the same daemon; if
another test is running, there may be other containers present (unrelated to
the test).

This patch updates the tests to use a `docker inspect` to verify the container
no longer exists afterwards.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
Sebastiaan van Stijn 2022-06-02 16:33:43 +02:00
parent fbcdc6a980
commit 585c147b7a
No known key found for this signature in database
GPG key ID: 76698F39D527CE8C

View file

@ -2745,30 +2745,29 @@ func (s *DockerSuite) TestRunVolumesFromRestartAfterRemoved(c *testing.T) {
// run container with --rm should remove container if exit code != 0
func (s *DockerSuite) TestRunContainerWithRmFlagExitCodeNotEqualToZero(c *testing.T) {
existingContainers := ExistingContainerIDs(c)
name := "flowers"
cli.Docker(cli.Args("run", "--name", name, "--rm", "busybox", "ls", "/notexists")).Assert(c, icmd.Expected{
ExitCode: 1,
})
out := cli.DockerCmd(c, "ps", "-q", "-a").Combined()
out = RemoveOutputForExistingElements(out, existingContainers)
if out != "" {
c.Fatal("Expected not to have containers", out)
}
cli.Docker(cli.Args("container", "inspect", name)).Assert(c, icmd.Expected{
ExitCode: 1,
Out: "[]\n",
Err: "o such container", // (N|n)o such container
})
}
func (s *DockerSuite) TestRunContainerWithRmFlagCannotStartContainer(c *testing.T) {
existingContainers := ExistingContainerIDs(c)
name := "sparkles"
cli.Docker(cli.Args("run", "--name", name, "--rm", "busybox", "commandNotFound")).Assert(c, icmd.Expected{
ExitCode: 127,
})
out := cli.DockerCmd(c, "ps", "-q", "-a").Combined()
out = RemoveOutputForExistingElements(out, existingContainers)
if out != "" {
c.Fatal("Expected not to have containers", out)
}
cli.Docker(cli.Args("container", "inspect", name)).Assert(c, icmd.Expected{
ExitCode: 1,
Out: "[]\n",
Err: "o such container", // (N|n)o such container
})
}
func (s *DockerSuite) TestRunPIDHostWithChildIsKillable(c *testing.T) {