summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdrian McCarthy <amccarth@google.com>2015-10-12 14:46:57 +0000
committerAdrian McCarthy <amccarth@google.com>2015-10-12 14:46:57 +0000
commit040b31d386fed419cee2634cd2a9c3e2010cb6ad (patch)
tree327ed5be3c538e4b7ff1c90d745efdb9ec437ddd
parentecce7e1cacc4e7b57320bcaf3b02d356159c375f (diff)
downloadbcm5719-llvm-040b31d386fed419cee2634cd2a9c3e2010cb6ad.tar.gz
bcm5719-llvm-040b31d386fed419cee2634cd2a9c3e2010cb6ad.zip
Switch threading mode for tests on Windows when there are lots of cores.
This prevents a "too many files" error. Differential Revision: http://reviews.llvm.org/D13555 llvm-svn: 250044
-rwxr-xr-xlldb/test/dosep.py11
1 files changed, 7 insertions, 4 deletions
diff --git a/lldb/test/dosep.py b/lldb/test/dosep.py
index 938a3f671d4..7af953fb698 100755
--- a/lldb/test/dosep.py
+++ b/lldb/test/dosep.py
@@ -1254,10 +1254,13 @@ def default_test_runner_name(num_threads):
# Use the serial runner.
test_runner_name = "serial"
elif os.name == "nt":
- # Currently the multiprocessing test runner with ctrl-c
- # support isn't running correctly on nt. Use the pool
- # support without ctrl-c.
- test_runner_name = "threading-pool"
+ # On Windows, Python uses CRT with a low limit on the number of open
+ # files. If you have a lot of cores, the threading-pool runner will
+ # often fail because it exceeds that limit.
+ if num_threads > 32:
+ test_runner_name = "multiprocessing-pool"
+ else:
+ test_runner_name = "threading-pool"
elif is_darwin_version_lower_than(
distutils.version.StrictVersion("10.10.0")):
# OS X versions before 10.10 appear to have an issue using
OpenPOWER on IntegriCloud