Bug 25128 - run-webkit-tests should be better factored to allow the tests to run on threads
Summary: run-webkit-tests should be better factored to allow the tests to run on threads
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 528+ (Nightly build)
Hardware: Mac OS X 10.5
: P2 Normal
Assignee: Nobody
Depends on:
Blocks: 10906
  Show dependency treegraph
Reported: 2009-04-09 22:21 PDT by David Levin
Modified: 2010-03-31 16:16 PDT (History)
3 users (show)

See Also:

Proposed fix. (14.66 KB, patch)
2009-04-09 22:34 PDT, David Levin
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description David Levin 2009-04-09 22:21:22 PDT
Specific changes include
1. Using shared variables and locks where appropriate for test pass/fail, etc. state.
2. Making output from running tests go through a central function so that it can be buffered for each thread and output in a sensible order.
3. Rearranging some code and variables to group together things that would be thread specific from things that are global.
4. Change countFinishedTest to work better in an environment when the total number of tests to run isn't known.  Since each test thread will pick off as many tests as it can, it isn't known ahead of time how many tests will run per thread.
Comment 1 David Levin 2009-04-09 22:34:01 PDT
Created attachment 29386 [details]
Proposed fix.

 WebKitTools/ChangeLog                |   19 ++++
 WebKitTools/Scripts/run-webkit-tests |  194 ++++++++++++++++++++--------------
 2 files changed, 132 insertions(+), 81 deletions(-)
Comment 2 David Levin 2009-04-09 23:46:08 PDT
Comment on attachment 29386 [details]
Proposed fix.

On hold for now.
Comment 3 David Levin 2009-11-19 11:31:51 PST
Removed myself from this bug as I will have no time for the foreseeable future to do anything on this. Eric may be starting to do something though.
Comment 4 David Levin 2010-03-31 16:16:01 PDT
The current perl script isn't going to be refactored by me. I suspect it will be replaced by the python version which is underway.