Actually test the detach (was not the case before)

Upstream-commit: 63d6cbe3e4d6f29c2491b0f1f505ef79b7191d8e
Component: engine
This commit is contained in:
Guillaume J. Charmes
2013-11-29 09:11:20 -08:00
parent eab6c90e20
commit 4a151bb6e6
2 changed files with 11 additions and 5 deletions

View File

@ -2394,6 +2394,12 @@ func (cli *DockerCli) hijack(method, path string, setRawTerminal bool, in io.Rea
if stdout != nil {
receiveStdout = utils.Go(func() (err error) {
defer func() {
if in != nil {
in.Close()
}
}()
// When TTY is ON, use regular copy
if setRawTerminal {
_, err = io.Copy(stdout, br)

View File

@ -542,18 +542,18 @@ func TestAttachDetach(t *testing.T) {
})
setTimeout(t, "Escape sequence timeout", 5*time.Second, func() {
stdinPipe.Write([]byte{16, 17})
if err := stdinPipe.Close(); err != nil {
t.Fatal(err)
}
stdinPipe.Write([]byte{16})
time.Sleep(100 * time.Millisecond)
stdinPipe.Write([]byte{17})
})
closeWrap(stdin, stdinPipe, stdout, stdoutPipe)
// wait for CmdRun to return
setTimeout(t, "Waiting for CmdAttach timed out", 15*time.Second, func() {
<-ch
})
closeWrap(stdin, stdinPipe, stdout, stdoutPipe)
time.Sleep(500 * time.Millisecond)
if !container.State.IsRunning() {
t.Fatal("The detached container should be still running")