[Webkit-unassigned] [Bug 38561] new-run-webkit-tests should check each thread for exceptions instead of just the first one

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed May 5 18:10:41 PDT 2010


https://bugs.webkit.org/show_bug.cgi?id=38561





--- Comment #9 from Dirk Pranke <dpranke at chromium.org>  2010-05-05 18:10:40 PST ---
(From update of attachment 55177)
There are a couple of seemingly unrelated changes in this patch. Several lines
have been changed because you declared command line arguments as int; that's a
good change, but please note it in the ChangeLog.

Also, there seems to be an unrelated change in websocket_server.py; while it's
good to fix bugs, it might be better to put this into a different patch in case
we have to roll one or the other of these things back.

ThreadTimings should probably be moved (along with TestResult and
ResultSummary) into a separate module soonish.

Also, ThreadTimings is a bad name, since two of the three parameters
(directory_test_tiings and individual_test_timings) have nothing to do with
threads. Maybe TimingSummary() to match ResultSummary() or something?

I wonder if we'd be better off calling time.sleep() rather than thread.join()
during the main loop, and just doing thread.join() when we know all the tests
have been executed. I guess you'd need some other way to figure out if the
thread had bailed out with an exception.

I also think having ThreadWatcher extract and raise the exception information
directly would be clearer rather than hiding that in methods in
dump_render_tree_thread. Somehow reading thread.reraise_exception() makes me
think you're raising an exception on a different thread, rather than pulling
the exception info off of the other thread and raising it on the current
thread.

Note that the "starting testing..." print statement on line 710 is inaccurate -
testing may have already started in other threads, and in fact will be complete
if you are running single-threaded. In my latest printing patch I changed this
to "all threads started" which is slightly more accurate.

On line 713 of run_webkit_tests.py you deleted the call to
self.update_summary() that happens right before we return. you previously had
the comment that calls were made from the individual threads themselves. That
is only true in the case where we're running single-threaded and we call
run_in_main_thread(). I think that whole code path might be clearer if we moved
the run_in_main_thread() code out of _instantiate_test_shell_threads and into
_run(), and then explicitly call update_summary() after run_in_main_thread
(although this could probably all be deferred to a later patch).

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list