TestDaemonRestartKillContainers: Fix loop capture

TestDaemonRestartKillContainers test was always executing the last case
(`container created should not be restarted`) because the iterated
variables were not copied correctly.
Capture iterated values by value correctly and rename c to tc.

Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
(cherry picked from commit fed1c96e10)
Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
This commit is contained in:
Paweł Gronowski 2023-03-15 16:38:31 +01:00
parent a1fd2f22f6
commit 7f49ca259b
No known key found for this signature in database
GPG key ID: B85EFCFE26DEF92A

View file

@ -76,11 +76,10 @@ func TestDaemonRestartKillContainers(t *testing.T) {
d.Stop(t)
},
} {
tc := tc
liveRestoreEnabled := liveRestoreEnabled
stopDaemon := stopDaemon
t.Run(fmt.Sprintf("live-restore=%v/%s/%s", liveRestoreEnabled, tc.desc, fnName), func(t *testing.T) {
c := tc
liveRestoreEnabled := liveRestoreEnabled
stopDaemon := stopDaemon
t.Parallel()
d := daemon.New(t)
@ -95,11 +94,11 @@ func TestDaemonRestartKillContainers(t *testing.T) {
defer d.Stop(t)
ctx := context.Background()
resp, err := client.ContainerCreate(ctx, c.config, c.hostConfig, nil, nil, "")
resp, err := client.ContainerCreate(ctx, tc.config, tc.hostConfig, nil, nil, "")
assert.NilError(t, err)
defer client.ContainerRemove(ctx, resp.ID, types.ContainerRemoveOptions{Force: true})
if c.xStart {
if tc.xStart {
err = client.ContainerStart(ctx, resp.ID, types.ContainerStartOptions{})
assert.NilError(t, err)
}
@ -107,9 +106,9 @@ func TestDaemonRestartKillContainers(t *testing.T) {
stopDaemon(t, d)
d.Start(t, args...)
expected := c.xRunning
expected := tc.xRunning
if liveRestoreEnabled {
expected = c.xRunningLiveRestore
expected = tc.xRunningLiveRestore
}
var running bool
@ -125,7 +124,7 @@ func TestDaemonRestartKillContainers(t *testing.T) {
}
assert.Equal(t, expected, running, "got unexpected running state, expected %v, got: %v", expected, running)
if c.xHealthCheck {
if tc.xHealthCheck {
startTime := time.Now()
ctxPoll, cancel := context.WithTimeout(ctx, 30*time.Second)
defer cancel()