This test is very flaky, the retry loop runs for 550ms and some more, 750ms is cleary not enough for everything to set and for the cli to return the tty resize error. A sleep of 1.5 seconds in this test should be enough for the retry loop to finish. Signed-off-by: Djordje Lukic <djordje.lukic@docker.com>
31 lines
1020 B
Go
31 lines
1020 B
Go
package container
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/docker/cli/cli/command"
|
|
"github.com/docker/cli/internal/test"
|
|
"github.com/docker/docker/api/types"
|
|
"github.com/pkg/errors"
|
|
"gotest.tools/v3/assert"
|
|
is "gotest.tools/v3/assert/cmp"
|
|
)
|
|
|
|
func TestInitTtySizeErrors(t *testing.T) {
|
|
expectedError := "failed to resize tty, using default size\n"
|
|
fakeContainerExecResizeFunc := func(id string, options types.ResizeOptions) error {
|
|
return errors.Errorf("Error response from daemon: no such exec")
|
|
}
|
|
fakeResizeTtyFunc := func(ctx context.Context, cli command.Cli, id string, isExec bool) error {
|
|
height, width := uint(1024), uint(768)
|
|
return resizeTtyTo(ctx, cli.Client(), id, height, width, isExec)
|
|
}
|
|
ctx := context.Background()
|
|
cli := test.NewFakeCli(&fakeClient{containerExecResizeFunc: fakeContainerExecResizeFunc})
|
|
initTtySize(ctx, cli, "8mm8nn8tt8bb", true, fakeResizeTtyFunc)
|
|
time.Sleep(1500 * time.Millisecond)
|
|
assert.Check(t, is.Equal(expectedError, cli.ErrBuffer().String()))
|
|
}
|