Merge pull request #1394 from crosbymichael/test-io
Remove Stdio usage in tests
This commit is contained in:
commit
0e1f6c5da6
@ -209,7 +209,7 @@ func TestDaemonRestart(t *testing.T) {
|
|||||||
}
|
}
|
||||||
defer container.Delete(ctx, WithSnapshotCleanup)
|
defer container.Delete(ctx, WithSnapshotCleanup)
|
||||||
|
|
||||||
task, err := container.NewTask(ctx, Stdio)
|
task, err := container.NewTask(ctx, empty())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Error(err)
|
t.Error(err)
|
||||||
return
|
return
|
||||||
|
@ -20,6 +20,11 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func empty() IOCreation {
|
func empty() IOCreation {
|
||||||
|
// TODO (@mlaventure) windows searches for pipes
|
||||||
|
// when none are provided
|
||||||
|
if runtime.GOOS == "windows" {
|
||||||
|
return Stdio
|
||||||
|
}
|
||||||
return NullIO
|
return NullIO
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -117,7 +122,7 @@ func TestContainerStart(t *testing.T) {
|
|||||||
}
|
}
|
||||||
defer container.Delete(ctx, WithSnapshotCleanup)
|
defer container.Delete(ctx, WithSnapshotCleanup)
|
||||||
|
|
||||||
task, err := container.NewTask(ctx, Stdio)
|
task, err := container.NewTask(ctx, empty())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Error(err)
|
t.Error(err)
|
||||||
return
|
return
|
||||||
@ -471,32 +476,12 @@ func TestContainerCloseIO(t *testing.T) {
|
|||||||
t.Error(err)
|
t.Error(err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if _, err := fmt.Fprint(w, expected); err != nil {
|
|
||||||
t.Error(err)
|
|
||||||
}
|
|
||||||
w.Close()
|
w.Close()
|
||||||
if err := task.CloseIO(ctx, WithStdinCloser); err != nil {
|
if err := task.CloseIO(ctx, WithStdinCloser); err != nil {
|
||||||
t.Error(err)
|
t.Error(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
<-statusC
|
<-statusC
|
||||||
|
|
||||||
if _, err := task.Delete(ctx); err != nil {
|
|
||||||
t.Error(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
output := stdout.String()
|
|
||||||
|
|
||||||
if runtime.GOOS == "windows" {
|
|
||||||
// On windows we use more and it always adds an extra newline
|
|
||||||
// remove it here
|
|
||||||
output = strings.TrimSuffix(output, newLine)
|
|
||||||
}
|
|
||||||
|
|
||||||
if output != expected {
|
|
||||||
t.Errorf("expected output %q but received %q", expected, output)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestContainerAttach(t *testing.T) {
|
func TestContainerAttach(t *testing.T) {
|
||||||
@ -727,7 +712,7 @@ func TestContainerKill(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
spec, err := generateSpec(withImageConfig(ctx, image), withCat())
|
spec, err := generateSpec(withImageConfig(ctx, image), withProcessArgs("sleep", "10"))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Error(err)
|
t.Error(err)
|
||||||
return
|
return
|
||||||
@ -739,7 +724,7 @@ func TestContainerKill(t *testing.T) {
|
|||||||
}
|
}
|
||||||
defer container.Delete(ctx)
|
defer container.Delete(ctx)
|
||||||
|
|
||||||
task, err := container.NewTask(ctx, Stdio)
|
task, err := container.NewTask(ctx, empty())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Error(err)
|
t.Error(err)
|
||||||
return
|
return
|
||||||
@ -808,7 +793,7 @@ func TestContainerNoBinaryExists(t *testing.T) {
|
|||||||
}
|
}
|
||||||
defer container.Delete(ctx, WithSnapshotCleanup)
|
defer container.Delete(ctx, WithSnapshotCleanup)
|
||||||
|
|
||||||
task, err := container.NewTask(ctx, Stdio)
|
task, err := container.NewTask(ctx, empty())
|
||||||
switch runtime.GOOS {
|
switch runtime.GOOS {
|
||||||
case "windows":
|
case "windows":
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -942,7 +927,7 @@ func TestUserNamespaces(t *testing.T) {
|
|||||||
}
|
}
|
||||||
defer container.Delete(ctx, WithSnapshotCleanup)
|
defer container.Delete(ctx, WithSnapshotCleanup)
|
||||||
|
|
||||||
task, err := container.NewTask(ctx, Stdio)
|
task, err := container.NewTask(ctx, empty())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Error(err)
|
t.Error(err)
|
||||||
return
|
return
|
||||||
@ -1018,7 +1003,7 @@ func TestWaitStoppedTask(t *testing.T) {
|
|||||||
}
|
}
|
||||||
defer container.Delete(ctx, WithSnapshotCleanup)
|
defer container.Delete(ctx, WithSnapshotCleanup)
|
||||||
|
|
||||||
task, err := container.NewTask(ctx, Stdio)
|
task, err := container.NewTask(ctx, empty())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Error(err)
|
t.Error(err)
|
||||||
return
|
return
|
||||||
@ -1193,7 +1178,7 @@ func TestTaskForceDelete(t *testing.T) {
|
|||||||
}
|
}
|
||||||
defer container.Delete(ctx, WithSnapshotCleanup)
|
defer container.Delete(ctx, WithSnapshotCleanup)
|
||||||
|
|
||||||
task, err := container.NewTask(ctx, Stdio)
|
task, err := container.NewTask(ctx, empty())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Error(err)
|
t.Error(err)
|
||||||
return
|
return
|
||||||
@ -1246,7 +1231,7 @@ func TestProcessForceDelete(t *testing.T) {
|
|||||||
}
|
}
|
||||||
defer container.Delete(ctx, WithSnapshotCleanup)
|
defer container.Delete(ctx, WithSnapshotCleanup)
|
||||||
|
|
||||||
task, err := container.NewTask(ctx, Stdio)
|
task, err := container.NewTask(ctx, empty())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Error(err)
|
t.Error(err)
|
||||||
return
|
return
|
||||||
|
@ -190,10 +190,6 @@ func (p *process) Delete(ctx context.Context, opts ...ProcessDeleteOpts) (uint32
|
|||||||
case Running, Paused, Pausing:
|
case Running, Paused, Pausing:
|
||||||
return UnknownExitStatus, errors.Wrapf(errdefs.ErrFailedPrecondition, "process must be stopped before deletion")
|
return UnknownExitStatus, errors.Wrapf(errdefs.ErrFailedPrecondition, "process must be stopped before deletion")
|
||||||
}
|
}
|
||||||
if p.io != nil {
|
|
||||||
p.io.Wait()
|
|
||||||
p.io.Close()
|
|
||||||
}
|
|
||||||
r, err := p.task.client.TaskService().DeleteProcess(ctx, &tasks.DeleteProcessRequest{
|
r, err := p.task.client.TaskService().DeleteProcess(ctx, &tasks.DeleteProcessRequest{
|
||||||
ContainerID: p.task.id,
|
ContainerID: p.task.id,
|
||||||
ExecID: p.id,
|
ExecID: p.id,
|
||||||
@ -201,6 +197,10 @@ func (p *process) Delete(ctx context.Context, opts ...ProcessDeleteOpts) (uint32
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return UnknownExitStatus, errdefs.FromGRPC(err)
|
return UnknownExitStatus, errdefs.FromGRPC(err)
|
||||||
}
|
}
|
||||||
|
if p.io != nil {
|
||||||
|
p.io.Wait()
|
||||||
|
p.io.Close()
|
||||||
|
}
|
||||||
return r.ExitStatus, nil
|
return r.ExitStatus, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -240,6 +240,13 @@ func (t *task) DeleteProcess(ctx context.Context, id string) (*runtime.Exit, err
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If we never started the process close the pipes
|
||||||
|
if p.Status() == runtime.CreatedStatus {
|
||||||
|
p.io.Close()
|
||||||
|
ea = time.Now()
|
||||||
|
}
|
||||||
|
|
||||||
t.removeProcess(id)
|
t.removeProcess(id)
|
||||||
return &runtime.Exit{
|
return &runtime.Exit{
|
||||||
Pid: p.pid,
|
Pid: p.pid,
|
||||||
|
Loading…
Reference in New Issue
Block a user