summaryrefslogtreecommitdiffstats
path: root/webkit/tools/layout_tests
diff options
context:
space:
mode:
authorojan@google.com <ojan@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-01 18:00:03 +0000
committerojan@google.com <ojan@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-01 18:00:03 +0000
commit6b15ede1d7af4984fe62b0a94d49d04d6e79d4df (patch)
tree423bbb13574d752ac80c4dbe49dd572d776bfff7 /webkit/tools/layout_tests
parent0360561e01e673a99fed55d41439b97bcb9bfaf9 (diff)
downloadchromium_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-xwebkit/tools/layout_tests/run_webkit_tests.py42
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,