Browse code

Adjust TestDockerCmdWithTimeout timeout to improve reliability

I saw a failure of TestDockerCmdWithTimeout. This test starts a command
that produces output after 10 ms, but uses a 5 ms timeout, so normally
the command will be killed before the output. The time intervals are so
small that the timeout may not reliably trigger before the output, which
can cause the test to fail.

This commit changes the test to only fail if the process is still alive
after 10 seconds. This means the test will confirm that the timeouts are
happening, but not attempt to gauge that the timeouts are happening
within milliseconds of when they are expected (which can't be done
reliably).

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>

Aaron Lehmann authored on 2015/12/04 07:42:32
Showing 1 changed files
... ...
@@ -387,7 +387,7 @@ func TestHelperProcess(t *testing.T) {
387 387
 			fmt.Fprintf(os.Stderr, "an error has occurred")
388 388
 			os.Exit(1)
389 389
 		case "a command that times out":
390
-			time.Sleep(10 * time.Millisecond)
390
+			time.Sleep(10 * time.Second)
391 391
 			fmt.Fprintf(os.Stdout, "too long, should be killed")
392 392
 			// A random exit code (that should never happened in tests)
393 393
 			os.Exit(7)