summaryrefslogtreecommitdiff
path: root/testrepository
diff options
context:
space:
mode:
authorRobert Collins <robertc@robertcollins.net>2013-04-19 02:32:13 +1200
committerRobert Collins <robertc@robertcollins.net>2013-04-19 02:32:13 +1200
commit610acebaff00b30303dc11644e0a88931d760a28 (patch)
tree0ccffda5ec7a3ab26fede8fab13c03caaf8a71da /testrepository
parent8d5e227ebf36deb8c5aab665b90a46e7630e0032 (diff)
parent56d8757252b22931c1f3821bff04bd0b0c80d746 (diff)
downloadtestrepository-git-610acebaff00b30303dc11644e0a88931d760a28.tar.gz
* Switch to using multiprocessing to determine CPU counts.
(Chris Jones, #1092276)
Diffstat (limited to 'testrepository')
-rw-r--r--testrepository/testcommand.py14
1 files changed, 6 insertions, 8 deletions
diff --git a/testrepository/testcommand.py b/testrepository/testcommand.py
index aba797a..ef285ab 100644
--- a/testrepository/testcommand.py
+++ b/testrepository/testcommand.py
@@ -24,6 +24,7 @@ import re
import subprocess
import sys
import tempfile
+import multiprocessing
from textwrap import dedent
from fixtures import Fixture
@@ -404,14 +405,11 @@ class TestListingFixture(Fixture):
return int(out.strip())
def local_concurrency(self):
- if sys.platform == 'linux2':
- concurrency = None
- for line in open('/proc/cpuinfo', 'rt'):
- if line.startswith('processor'):
- concurrency = int(line[line.find(':')+1:]) + 1
- return concurrency
- # No concurrency logic known.
- return None
+ try:
+ return multiprocessing.cpu_count()
+ except NotImplementedError:
+ # No concurrency logic known.
+ return None
class TestCommand(Fixture):