Bug 48043 - TestWebKitAPI should detect test hangs
: TestWebKitAPI should detect test hangs
Status: RESOLVED FIXED
Product: WebKit
Classification: Unclassified
Component: Tools / Tests
: 528+ (Nightly build)
: All All
: P2 Normal
Assigned To: Nobody
: InRadar
Depends on: 61088
Blocks: 57513
  Show dependency treegraph
 
Reported: 2010-10-20 23:10 PDT by Adam Roben (:aroben)
Modified: 2011-05-19 21:11 PDT (History)
3 users (show)

See Also:


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

Note You need to log in before you can comment on or make changes to this bug.
Description Adam Roben (:aroben) 2010-10-20 23:10:10 PDT
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 Adam Roben (:aroben) 2010-11-04 07:54:46 PDT
<rdar://problem/8630444>
Comment 2 Dmitry Lomov 2011-05-18 11:36:03 PDT
Created attachment 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 Adam Roben (:aroben) 2011-05-18 11:39:59 PDT
Comment on attachment 93953 [details]
Adding hang-detection to run-api-tests

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 Dmitry Lomov 2011-05-18 11:41:45 PDT
(In reply to comment #3)
> (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.

sure - do you want a separate issue for the 1st?
Comment 5 Adam Roben (:aroben) 2011-05-18 11:47:06 PDT
(In reply to comment #4)
> (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?

Doesn't matter to me. Thanks!
Comment 6 Dmitry Lomov 2011-05-19 17:39:58 PDT
Created attachment 94152 [details]
New, smaller patch
Comment 7 Adam Roben (:aroben) 2011-05-19 17:44:42 PDT
Comment on attachment 94152 [details]
New, smaller patch

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 WebKit Commit Bot 2011-05-19 21:10:59 PDT
Comment on attachment 94152 [details]
New, smaller patch

Clearing flags on attachment: 94152

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