Bug 48043 - TestWebKitAPI should detect test hangs
: TestWebKitAPI should detect test hangs
Status: RESOLVED FIXED
: WebKit
Tools / Tests
: 528+ (Nightly build)
: All All
: P2 Normal
Assigned To:
:
: InRadar
: 61088
: 57513
  Show dependency treegraph
 
Reported: 2010-10-20 23:10 PST by
Modified: 2011-05-19 21:11 PST (History)


Attachments
Adding hang-detection to run-api-tests (7.74 KB, patch)
2011-05-18 11:36 PST, Dmitry Lomov
no flags Review Patch | Details | Formatted Diff | Diff
New, smaller patch (2.76 KB, patch)
2011-05-19 17:39 PST, Dmitry Lomov
no flags Review Patch | Details | Formatted Diff | Diff


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2010-10-20 23:10:10 PST
If a test hangs, TestWebKitAPI will never exit and run-api-tests will hang forever. TestWebKitAPI should detect when a test hangs and print out a failure message.
------- Comment #1 From 2010-11-04 07:54:46 PST -------
<rdar://problem/8630444>
------- Comment #2 From 2011-05-18 11:36:03 PST -------
Created an attachment (id=93953) [details]
Adding hang-detection to run-api-tests

I returned back to running tests one-by-one and original run-api-tests output format.
------- Comment #3 From 2011-05-18 11:39:59 PST -------
(From update of attachment 93953 [details])
Can we do this in two pieces? 1) Go back to running tests singly, 2) add hang detection? It's hard to review both at once.
------- Comment #4 From 2011-05-18 11:41:45 PST -------
(In reply to comment #3)
> (From update of attachment 93953 [details] [details])
> Can we do this in two pieces? 1) Go back to running tests singly, 2) add hang detection? It's hard to review both at once.

sure - do you want a separate issue for the 1st?
------- Comment #5 From 2011-05-18 11:47:06 PST -------
(In reply to comment #4)
> (In reply to comment #3)
> > (From update of attachment 93953 [details] [details] [details])
> > Can we do this in two pieces? 1) Go back to running tests singly, 2) add hang detection? It's hard to review both at once.
> 
> sure - do you want a separate issue for the 1st?

Doesn't matter to me. Thanks!
------- Comment #6 From 2011-05-19 17:39:58 PST -------
Created an attachment (id=94152) [details]
New, smaller patch
------- Comment #7 From 2011-05-19 17:44:42 PST -------
(From update of attachment 94152 [details])
View in context: https://bugs.webkit.org/attachment.cgi?id=94152&action=review

> Tools/Scripts/run-api-tests:177
> +        eval {
> +            local $SIG{ALRM} = sub { die "alarm\n" };
> +            alarm $timeout;
> +            waitpid($pid, 0);
> +            alarm 0;
> +            $result = $?;
> +        };
> +        if ($@) {
> +            die unless $@ eq "alarm\n";
> +            kill SIGTERM, $pid or kill SIGKILL, $pid;
> +            $timedOut = 1;
> +        };

It's too bad we can't share more of this code between Mac and Windows.

No need for the semicolon after the if braces.

> Tools/Scripts/run-api-tests:196
> +        if ($@) {
> +            die unless $@ eq "alarm\n";
> +            $timedOut = 1;
> +        };

No need for the semicolon after the closing brace.
------- Comment #8 From 2011-05-19 21:10:59 PST -------
(From update of attachment 94152 [details])
Clearing flags on attachment: 94152

Committed r86922: <http://trac.webkit.org/changeset/86922>
------- Comment #9 From 2011-05-19 21:11:04 PST -------
All reviewed patches have been landed.  Closing bug.