Windows CI: Fix cli_wait_test

Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: e666dfff9b7b82b026f9d45d8a8cb0d9193f0b56
Component: engine
This commit is contained in:
John Howard
2015-10-07 12:57:41 -07:00
parent 96c1825565
commit 3a210ffac2
@@ -11,11 +11,10 @@ import (
// non-blocking wait with 0 exit code
func (s *DockerSuite) TestWaitNonBlockedExitZero(c *check.C) {
testRequires(c, DaemonIsLinux)
out, _ := dockerCmd(c, "run", "-d", "busybox", "sh", "-c", "true")
containerID := strings.TrimSpace(out)
if err := waitInspect(containerID, "{{.State.Running}}", "false", 1*time.Second); err != nil {
if err := waitInspect(containerID, "{{.State.Running}}", "false", 30*time.Second); err != nil {
c.Fatal("Container should have stopped by now")
}
@@ -28,8 +27,10 @@ func (s *DockerSuite) TestWaitNonBlockedExitZero(c *check.C) {
// blocking wait with 0 exit code
func (s *DockerSuite) TestWaitBlockedExitZero(c *check.C) {
// Windows busybox does not support trap in this way, not sleep with sub-second
// granularity. It will always exit 0x40010004.
testRequires(c, DaemonIsLinux)
out, _ := dockerCmd(c, "run", "-d", "busybox", "/bin/sh", "-c", "trap 'exit 0' TERM; while true; do sleep 0.01; done")
out, _ := dockerCmd(c, "run", "-d", "busybox", "/bin/sh", "-c", "trap 'exit 0' TERM; while true; do usleep 10; done")
containerID := strings.TrimSpace(out)
c.Assert(waitRun(containerID), check.IsNil)
@@ -56,11 +57,10 @@ func (s *DockerSuite) TestWaitBlockedExitZero(c *check.C) {
// non-blocking wait with random exit code
func (s *DockerSuite) TestWaitNonBlockedExitRandom(c *check.C) {
testRequires(c, DaemonIsLinux)
out, _ := dockerCmd(c, "run", "-d", "busybox", "sh", "-c", "exit 99")
containerID := strings.TrimSpace(out)
if err := waitInspect(containerID, "{{.State.Running}}", "false", 1*time.Second); err != nil {
if err := waitInspect(containerID, "{{.State.Running}}", "false", 30*time.Second); err != nil {
c.Fatal("Container should have stopped by now")
}
@@ -73,8 +73,9 @@ func (s *DockerSuite) TestWaitNonBlockedExitRandom(c *check.C) {
// blocking wait with random exit code
func (s *DockerSuite) TestWaitBlockedExitRandom(c *check.C) {
// Cannot run on Windows as trap in Windows busybox does not support trap in this way.
testRequires(c, DaemonIsLinux)
out, _ := dockerCmd(c, "run", "-d", "busybox", "/bin/sh", "-c", "trap 'exit 99' TERM; while true; do sleep 0.01; done")
out, _ := dockerCmd(c, "run", "-d", "busybox", "/bin/sh", "-c", "trap 'exit 99' TERM; while true; do usleep 10; done")
containerID := strings.TrimSpace(out)
c.Assert(waitRun(containerID), check.IsNil)