RESOLVED FIXED 100709
Missing stderr output when using run-webkit-tests
https://bugs.webkit.org/show_bug.cgi?id=100709
Summary Missing stderr output when using run-webkit-tests
Terry Anderson
Reported 2012-10-29 16:17:42 PDT
When using run-webkit-tests, the results page will sometimes omit a portion of the stderr output corresponding to a failing test.
Attachments
An example of how to reproduce (3.22 KB, patch)
2012-10-31 11:13 PDT, Terry Anderson
no flags
Patch (1.78 KB, patch)
2012-10-31 11:48 PDT, Terry Anderson
no flags
Dana Jansens
Comment 1 2012-10-29 16:22:38 PDT
By "a portion" I think we mean everything past the first N lines, where N is something pretty small like 50.
Dirk Pranke
Comment 2 2012-10-29 16:34:45 PDT
Can you post an example of this?
Terry Anderson
Comment 3 2012-10-31 11:13:20 PDT
Created attachment 171689 [details] An example of how to reproduce
Terry Anderson
Comment 4 2012-10-31 11:17:46 PDT
(In reply to comment #3) > Created an attachment (id=171689) [details] > An example of how to reproduce I can reproduce the problem using this patch. Using run-webkit-tests on the attached test case when the CRASH() is commented out will show the following stderr output on the results page: RenderBlock::layout() RenderBlock::layout() RenderBlock::layout() RenderBlock::layout() RenderBlock::layout() RenderBlock::layout() RenderBlock::layout() RenderBlock::layout() RenderBlock::layout() But when CRASH() is uncommented, instead shows: RenderBlock::layout() RenderBlock::layout() RenderBlock::layout() RenderBlock::layout() RenderBlock::layout() RenderBlock::layout() RenderBlock::layout() RenderBlock::layout() RenderBlock::layout() GraphicsContext::drawText() 1 0x10eec09 2 0x14edd7d 3 0x14f2a44 4 0x14eca39 ... Clearly GraphicsContext::drawText() is being reached, but is not being shown unless a crash is artificially invoked. Note this is cutting off everything after the first 9 lines (and not ~50 like we originally guessed).
Terry Anderson
Comment 5 2012-10-31 11:48:55 PDT
Terry Anderson
Comment 6 2012-10-31 11:54:40 PDT
(In reply to comment #5) > Created an attachment (id=171696) [details] > Patch This fix is based on a suggested by vollick@. To verify that we are no longer missing any stderr output in the attached sample case, I used run-webkit-tests with this patch applied. The results page showed: RenderBlock::layout() RenderBlock::layout() RenderBlock::layout() RenderBlock::layout() RenderBlock::layout() RenderBlock::layout() RenderBlock::layout() RenderBlock::layout() RenderBlock::layout() GraphicsContext::drawText() GraphicsContext::drawText() GraphicsContext::drawText() GraphicsContext::drawText() I then replaced fprintf(stderr, "#EOF\n"); with fprintf(stderr, "*** EOF\n");. The test timed out, but the results page showed: RenderBlock::layout() RenderBlock::layout() RenderBlock::layout() RenderBlock::layout() RenderBlock::layout() RenderBlock::layout() RenderBlock::layout() RenderBlock::layout() RenderBlock::layout() GraphicsContext::drawText() GraphicsContext::drawText() GraphicsContext::drawText() GraphicsContext::drawText() *** EOF No stderr output appears after *** EOF, thus #EOF is being printed to stderr at the correct time in this case.
Dirk Pranke
Comment 7 2012-10-31 11:58:54 PDT
Comment on attachment 171696 [details] Patch Makes sense.
Dana Jansens
Comment 8 2012-10-31 12:01:31 PDT
Nice fix :) Thanks!
WebKit Review Bot
Comment 9 2012-10-31 20:34:15 PDT
Comment on attachment 171696 [details] Patch Clearing flags on attachment: 171696 Committed r133120: <http://trac.webkit.org/changeset/133120>
WebKit Review Bot
Comment 10 2012-10-31 20:34:18 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.