refactor cpu number autodetection to avoid the regression

This commit is contained in:
Ronny Pfannschmidt
2015-08-19 21:34:26 +02:00
parent c0c794b961
commit 771f248a04
2 changed files with 17 additions and 10 deletions

View File

@@ -1,12 +1,20 @@
import multiprocessing
import py
import pytest
def parse_numprocesses(s):
if s == 'auto':
import multiprocessing
return multiprocessing.cpu_count()
else:
return int(s)
def pytest_addoption(parser):
group = parser.getgroup("xdist", "distributed and subprocess testing")
group._addoption('-n', dest="numprocesses", metavar="numprocesses",
action="store",
type=parse_numprocesses,
help="shortcut for '--dist=load --tx=NUM*popen', "
"you can use 'auto' here for auto detection CPUs number on "
"host system")
@@ -68,13 +76,6 @@ def pytest_configure(config):
@pytest.mark.tryfirst
def pytest_cmdline_main(config):
if config.option.numprocesses:
if config.option.numprocesses == 'auto':
config.option.numprocesses = multiprocessing.cpu_count()
else:
try:
config.option.numprocesses = int(config.option.numprocesses)
except ValueError:
config.option.numprocesses = 1
config.option.dist = "load"
config.option.tx = ['popen'] * config.option.numprocesses
if config.option.distload: