failtest: be clearer when child times out.
authorRusty Russell <rusty@rustcorp.com.au>
Tue, 15 Feb 2011 12:57:43 +0000 (23:27 +1030)
committerRusty Russell <rusty@rustcorp.com.au>
Tue, 15 Feb 2011 12:57:43 +0000 (23:27 +1030)
ie. SIGUSR1 means it timed out.

ccan/failtest/failtest.c

index ad7e0feac1ec00be4b161c545e3e5c497a8cd8f6..dcf034ccffe7594f90ada21fdc916bf978a90546 100644 (file)
@@ -455,9 +455,13 @@ static bool should_fail(struct failtest_call *call)
        close(output[0]);
        close(control[0]);
        waitpid(child, &status, 0);
-       if (!WIFEXITED(status))
-               child_fail(out, outlen, "Killed by signal %u: ",
-                          WTERMSIG(status));
+       if (!WIFEXITED(status)) {
+               if (WTERMSIG(status) == SIGUSR1)
+                       child_fail(out, outlen, "Timed out");
+               else
+                       child_fail(out, outlen, "Killed by signal %u: ",
+                                  WTERMSIG(status));
+       }
        /* Child printed failure already, just pass up exit code. */
        if (type == FAILURE) {
                fprintf(stderr, "%.*s", (int)outlen, out);