support parallel testing with detox

This commit is contained in:
Takayuki Shimizukawa 2013-07-27 16:15:36 +09:00
parent 91ef671ea9
commit 04d22a53d5
2 changed files with 21 additions and 14 deletions

View File

@ -12,26 +12,32 @@
import sys
from os import path, chdir, listdir, environ
import shutil
testroot = path.dirname(__file__) or '.'
if 'BUILD_TEST_PATH' in environ:
# for tox testing
newroot = environ['BUILD_TEST_PATH']
# tox installs the sphinx package, no need for sys.path.insert
else:
newroot = path.join(testroot, path.pardir, 'build')
newroot = path.join(newroot, listdir(newroot)[0], 'tests')
shutil.rmtree(newroot, ignore_errors=True)
if sys.version_info >= (3, 0):
print('Copying and converting sources to build/lib/tests...')
from distutils.util import copydir_run_2to3
testroot = path.dirname(__file__) or '.'
if 'BUILD_TEST_PATH' in environ:
# for tox testing
newroot = environ['BUILD_TEST_PATH']
# tox installs the sphinx package, no need for sys.path.insert
else:
newroot = path.join(testroot, path.pardir, 'build')
newroot = path.join(newroot, listdir(newroot)[0], 'tests')
# always test the sphinx package from build/lib/
sys.path.insert(0, path.abspath(path.join(newroot, path.pardir)))
copydir_run_2to3(testroot, newroot)
# switch to the converted dir so nose tests the right tests
chdir(newroot)
else:
# always test the sphinx package from this directory
sys.path.insert(0, path.join(path.dirname(__file__), path.pardir))
# just copying test directory to parallel testing
print('Copying sources to build/lib/tests...')
shutil.copytree(testroot, newroot)
# always test the sphinx package from build/lib/
sys.path.insert(0, path.abspath(path.join(newroot, path.pardir)))
# switch to the copy/converted dir so nose tests the right tests
chdir(newroot)
try:
import nose

View File

@ -18,6 +18,7 @@ deps=
{[testenv]deps}
setenv=
PIP_INSECURE = 1
{[testenv]setenv}
[testenv:py33]
deps=