Merge pull request #80 from nicoddemus/cpu-auto-errors

Cpu auto errors
This commit is contained in:
Bruno Oliveira
2016-08-06 17:21:09 -03:00
committed by GitHub
2 changed files with 15 additions and 4 deletions

View File

@@ -26,8 +26,12 @@ def test_dist_options(testdir):
def test_auto_detect_cpus(testdir, monkeypatch):
import multiprocessing
monkeypatch.setattr(multiprocessing, 'cpu_count', lambda: 99)
import os
if hasattr(os, 'cpu_count'):
monkeypatch.setattr(os, 'cpu_count', lambda: 99)
else:
import multiprocessing
monkeypatch.setattr(multiprocessing, 'cpu_count', lambda: 99)
config = testdir.parseconfigure("-n2")
assert config.getoption('numprocesses') == 2

View File

@@ -4,8 +4,15 @@ import pytest
def parse_numprocesses(s):
if s == 'auto':
import multiprocessing
return multiprocessing.cpu_count()
try:
from os import cpu_count
except ImportError:
from multiprocessing import cpu_count
try:
n = cpu_count()
except NotImplementedError:
return 1
return n if n else 1
else:
return int(s)