mirror of
https://github.com/moby/moby.git
synced 2026-01-11 18:51:37 +00:00
Merge pull request #51312 from austinvazquez/refactor-client-container-wait
client: refactor ContainerWait to use client defined options/results structs
This commit is contained in:
@@ -498,7 +498,7 @@ func TestCreateTmpfsOverrideAnonymousVolume(t *testing.T) {
|
||||
// Normally an anonymous volume would, except now tmpfs should prevent that.
|
||||
assert.Assert(t, is.Len(inspect.Container.Mounts, 0))
|
||||
|
||||
chWait, chErr := apiClient.ContainerWait(ctx, id, container.WaitConditionNextExit)
|
||||
wait := apiClient.ContainerWait(ctx, id, client.ContainerWaitOptions{Condition: container.WaitConditionNextExit})
|
||||
_, err = apiClient.ContainerStart(ctx, id, client.ContainerStartOptions{})
|
||||
assert.NilError(t, err)
|
||||
|
||||
@@ -508,13 +508,13 @@ func TestCreateTmpfsOverrideAnonymousVolume(t *testing.T) {
|
||||
select {
|
||||
case <-timeout.C:
|
||||
t.Fatal("timeout waiting for container to exit")
|
||||
case status := <-chWait:
|
||||
case status := <-wait.Results:
|
||||
var errMsg string
|
||||
if status.Error != nil {
|
||||
errMsg = status.Error.Message
|
||||
}
|
||||
assert.Equal(t, int(status.StatusCode), 0, errMsg)
|
||||
case err := <-chErr:
|
||||
case err := <-wait.Errors:
|
||||
assert.NilError(t, err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -216,10 +216,10 @@ func TestRestartDaemonWithRestartingContainer(t *testing.T) {
|
||||
|
||||
ctxTimeout, cancel := context.WithTimeout(ctx, 30*time.Second)
|
||||
defer cancel()
|
||||
chOk, chErr := apiClient.ContainerWait(ctxTimeout, id, containertypes.WaitConditionNextExit)
|
||||
wait := apiClient.ContainerWait(ctxTimeout, id, client.ContainerWaitOptions{Condition: containertypes.WaitConditionNextExit})
|
||||
select {
|
||||
case <-chOk:
|
||||
case err := <-chErr:
|
||||
case <-wait.Results:
|
||||
case err := <-wait.Errors:
|
||||
assert.NilError(t, err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,11 +45,11 @@ func TestWaitNonBlocked(t *testing.T) {
|
||||
containerID := container.Run(ctx, t, cli, container.WithCmd("sh", "-c", tc.cmd))
|
||||
poll.WaitOn(t, container.IsInState(ctx, cli, containerID, containertypes.StateExited), poll.WithTimeout(30*time.Second))
|
||||
|
||||
waitResC, errC := cli.ContainerWait(ctx, containerID, "")
|
||||
wait := cli.ContainerWait(ctx, containerID, client.ContainerWaitOptions{})
|
||||
select {
|
||||
case err := <-errC:
|
||||
case err := <-wait.Errors:
|
||||
assert.NilError(t, err)
|
||||
case waitRes := <-waitResC:
|
||||
case waitRes := <-wait.Results:
|
||||
assert.Check(t, is.Equal(tc.expectedCode, waitRes.StatusCode))
|
||||
}
|
||||
})
|
||||
@@ -85,15 +85,15 @@ func TestWaitBlocked(t *testing.T) {
|
||||
// t.Parallel()
|
||||
ctx := testutil.StartSpan(ctx, t)
|
||||
containerID := container.Run(ctx, t, cli, container.WithCmd("sh", "-c", tc.cmd))
|
||||
waitResC, errC := cli.ContainerWait(ctx, containerID, "")
|
||||
wait := cli.ContainerWait(ctx, containerID, client.ContainerWaitOptions{})
|
||||
|
||||
_, err := cli.ContainerStop(ctx, containerID, client.ContainerStopOptions{})
|
||||
assert.NilError(t, err)
|
||||
|
||||
select {
|
||||
case err := <-errC:
|
||||
case err := <-wait.Errors:
|
||||
assert.NilError(t, err)
|
||||
case waitRes := <-waitResC:
|
||||
case waitRes := <-wait.Results:
|
||||
assert.Check(t, is.Equal(tc.expectedCode, waitRes.StatusCode))
|
||||
case <-time.After(2 * time.Second):
|
||||
t.Fatal("timeout waiting for `docker wait`")
|
||||
@@ -150,11 +150,11 @@ func TestWaitConditions(t *testing.T) {
|
||||
|
||||
_, err = cli.ContainerStart(ctx, containerID, client.ContainerStartOptions{})
|
||||
assert.NilError(t, err)
|
||||
waitResC, errC := cli.ContainerWait(ctx, containerID, tc.waitCond)
|
||||
wait := cli.ContainerWait(ctx, containerID, client.ContainerWaitOptions{Condition: tc.waitCond})
|
||||
select {
|
||||
case err := <-errC:
|
||||
case err := <-wait.Errors:
|
||||
t.Fatalf("ContainerWait() err = %v", err)
|
||||
case res := <-waitResC:
|
||||
case res := <-wait.Results:
|
||||
t.Fatalf("ContainerWait() sent exit code (%v) before ContainerStart()", res)
|
||||
default:
|
||||
}
|
||||
@@ -166,9 +166,9 @@ func TestWaitConditions(t *testing.T) {
|
||||
assert.NilError(t, err)
|
||||
|
||||
select {
|
||||
case err := <-errC:
|
||||
case err := <-wait.Errors:
|
||||
assert.NilError(t, err)
|
||||
case waitRes := <-waitResC:
|
||||
case waitRes := <-wait.Results:
|
||||
assert.Check(t, is.Equal(int64(99), waitRes.StatusCode))
|
||||
case <-time.After(StopContainerWindowsPollTimeout):
|
||||
ctr, _ := cli.ContainerInspect(ctx, containerID, client.ContainerInspectOptions{})
|
||||
@@ -213,7 +213,7 @@ func TestWaitRestartedContainer(t *testing.T) {
|
||||
defer cli.ContainerRemove(ctx, containerID, client.ContainerRemoveOptions{Force: true})
|
||||
|
||||
// Container is running now, wait for exit
|
||||
waitResC, errC := cli.ContainerWait(ctx, containerID, tc.waitCond)
|
||||
wait := cli.ContainerWait(ctx, containerID, client.ContainerWaitOptions{Condition: tc.waitCond})
|
||||
|
||||
timeout := 10
|
||||
// On Windows it will always timeout, because our process won't receive SIGTERM
|
||||
@@ -229,11 +229,11 @@ func TestWaitRestartedContainer(t *testing.T) {
|
||||
assert.NilError(t, err)
|
||||
|
||||
select {
|
||||
case err := <-errC:
|
||||
case err := <-wait.Errors:
|
||||
t.Fatalf("Unexpected error: %v", err)
|
||||
case <-time.After(time.Second * 3):
|
||||
t.Fatalf("Wait should end after restart")
|
||||
case waitRes := <-waitResC:
|
||||
case waitRes := <-wait.Results:
|
||||
expectedCode := int64(5)
|
||||
|
||||
if !isWindowDaemon {
|
||||
|
||||
Reference in New Issue
Block a user