diff --git a/integration-cli/docker_cli_attach_unix_test.go b/integration-cli/docker_cli_attach_unix_test.go index 2a07c79053..fb794ccc40 100644 --- a/integration-cli/docker_cli_attach_unix_test.go +++ b/integration-cli/docker_cli_attach_unix_test.go @@ -4,6 +4,7 @@ package main import ( "bufio" + "io/ioutil" "os/exec" "strings" "time" @@ -23,7 +24,7 @@ func (s *DockerSuite) TestAttachClosedOnContainerStop(c *check.C) { id := strings.TrimSpace(out) c.Assert(waitRun(id), check.IsNil) - _, tty, err := pty.Open() + pty, tty, err := pty.Open() c.Assert(err, check.IsNil) attachCmd := exec.Command(dockerBinary, "attach", id) @@ -35,6 +36,7 @@ func (s *DockerSuite) TestAttachClosedOnContainerStop(c *check.C) { errChan := make(chan error) go func() { + time.Sleep(300 * time.Millisecond) defer close(errChan) // Container is waiting for us to signal it to stop dockerCmd(c, "stop", id) @@ -48,7 +50,9 @@ func (s *DockerSuite) TestAttachClosedOnContainerStop(c *check.C) { select { case err := <-errChan: - c.Assert(err, check.IsNil) + tty.Close() + out, _ := ioutil.ReadAll(pty) + c.Assert(err, check.IsNil, check.Commentf("out: %v", string(out))) case <-time.After(attachWait): c.Fatal("timed out without attach returning") }