package container // import "github.com/docker/docker/integration/container" import ( "context" "testing" "time" "github.com/docker/docker/integration/internal/container" "github.com/docker/docker/internal/test/request" "gotest.tools/assert" "gotest.tools/poll" ) func TestStopContainerWithRestartPolicyAlways(t *testing.T) { defer setupTest(t)() client := request.NewAPIClient(t) ctx := context.Background() names := []string{"verifyRestart1-" + t.Name(), "verifyRestart2-" + t.Name()} for _, name := range names { container.Run(t, ctx, client, container.WithName(name), container.WithCmd("false"), func(c *container.TestContainerConfig) { c.HostConfig.RestartPolicy.Name = "always" }) } for _, name := range names { poll.WaitOn(t, container.IsInState(ctx, client, name, "running", "restarting"), poll.WithDelay(100*time.Millisecond)) } for _, name := range names { err := client.ContainerStop(ctx, name, nil) assert.NilError(t, err) } for _, name := range names { poll.WaitOn(t, container.IsStopped(ctx, client, name), poll.WithDelay(100*time.Millisecond)) } }