diff options
author | ojan@google.com <ojan@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-01 18:00:03 +0000 |
---|---|---|
committer | ojan@google.com <ojan@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-01 18:00:03 +0000 |
commit | 6b15ede1d7af4984fe62b0a94d49d04d6e79d4df (patch) | |
tree | 423bbb13574d752ac80c4dbe49dd572d776bfff7 /webkit/tools/layout_tests | |
parent | 0360561e01e673a99fed55d41439b97bcb9bfaf9 (diff) | |
download | chromium_src-6b15ede1d7af4984fe62b0a94d49d04d6e79d4df.zip chromium_src-6b15ede1d7af4984fe62b0a94d49d04d6e79d4df.tar.gz chromium_src-6b15ede1d7af4984fe62b0a94d49d04d6e79d4df.tar.bz2 |
Enable running webkit tests in parallel on Windows-Release
only. I plan to turn on one configuration at a time, since
each one seemed to have it's own set of issues and failing
tests. Windows release had the smallest set of problems.
One of the problems was just a bad test that started
causing other tests to fail when run in a different order.
The other is that http tests that were close to timing out
before, actually timeout now. For now, I just increase the
timeout when running tests in parallel. Longer-term, we
should implement per-test timeouts as only a couple tests
started failing.
Review URL: http://codereview.chromium.org/56028
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12960 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/tools/layout_tests')
-rwxr-xr-x | webkit/tools/layout_tests/run_webkit_tests.py | 42 |
1 files changed, 26 insertions, 16 deletions
diff --git a/webkit/tools/layout_tests/run_webkit_tests.py b/webkit/tools/layout_tests/run_webkit_tests.py index a81051b..bed6587 100755 --- a/webkit/tools/layout_tests/run_webkit_tests.py +++ b/webkit/tools/layout_tests/run_webkit_tests.py @@ -678,22 +678,33 @@ def main(options, args): if options.platform is None: options.platform = path_utils.PlatformDir() - if options.num_test_shells is None: - cpus = 1 - if sys.platform in ('win32', 'cygwin'): - cpus = int(os.environ.get('NUMBER_OF_PROCESSORS', 1)) - elif (hasattr(os, "sysconf") and - os.sysconf_names.has_key("SC_NPROCESSORS_ONLN")): - # Linux & Unix: - ncpus = os.sysconf("SC_NPROCESSORS_ONLN") - if isinstance(ncpus, int) and ncpus > 0: - cpus = ncpus - elif sys.platform in ('darwin'): # OSX: - cpus = int(os.popen2("sysctl -n hw.ncpu")[1].read()) - - # TODO: Do timing tests on a single-core machine. - options.num_test_shells = 2 * cpus + if not options.num_test_shells: + # For now, only run Windows-Release in parallel until we make other + # configurations more stable. + if sys.platform in ('win32', 'cygwin') and options.target == 'Release': + cpus = 1 + if sys.platform in ('win32', 'cygwin'): + cpus = int(os.environ.get('NUMBER_OF_PROCESSORS', 1)) + elif (hasattr(os, "sysconf") and + os.sysconf_names.has_key("SC_NPROCESSORS_ONLN")): + # Linux & Unix: + ncpus = os.sysconf("SC_NPROCESSORS_ONLN") + if isinstance(ncpus, int) and ncpus > 0: + cpus = ncpus + elif sys.platform in ('darwin'): # OSX: + cpus = int(os.popen2("sysctl -n hw.ncpu")[1].read()) + + # TODO: Do timing tests on a single-core machine. + options.num_test_shells = 2 * cpus + + # Some HTTP tests start timing out when tests are run in parallel. + # TODO(ojan): Impelement per-test-timeouts instead. http://crbug.com/9613 + if not options.time_out_ms: + options.time_out_ms = 20000 + else: + options.num_test_shells = 1 + # Include all tests if none are specified. paths = args if not paths: @@ -791,7 +802,6 @@ if '__main__' == __name__: "When enabled, show stats on how many tests " "newly pass or fail.") option_parser.add_option("", "--num-test-shells", - default=1, help="Number of testshells to run in parallel.") option_parser.add_option("", "--time-out-ms", default=None, |