[SCons] Simplify handling of PYTHONPATH in the test suite
This commit is contained in:
parent
d01992c79c
commit
0f1da269fc
3 changed files with 17 additions and 39 deletions
17
SConstruct
17
SConstruct
|
|
@ -111,7 +111,7 @@ if 'clean' in COMMAND_LINE_TARGETS:
|
|||
if 'test-clean' in COMMAND_LINE_TARGETS:
|
||||
removeDirectory('build/test')
|
||||
removeDirectory('test/work')
|
||||
removeDirectory('build/python_minimal')
|
||||
removeDirectory('build/python_local')
|
||||
|
||||
# ******************************************************
|
||||
# *** Set system-dependent defaults for some options ***
|
||||
|
|
@ -1273,12 +1273,6 @@ if env['python_package'] in ('minimal', 'minimal-default'):
|
|||
print('INFO: Building the minimal Python package for Python {0}'.format(python_version))
|
||||
env['python_package'] = 'minimal'
|
||||
|
||||
if env['python_package'] != 'none':
|
||||
# The directory within the source tree which will contain the Python module
|
||||
env['pythonpath_build'] = Dir('build/python').abspath
|
||||
if 'PYTHONPATH' in env['ENV']:
|
||||
env['pythonpath_build'] += os.path.pathsep + env['ENV']['PYTHONPATH']
|
||||
|
||||
# Matlab Toolbox settings
|
||||
if env['matlab_path'] != '' and env['matlab_toolbox'] == 'default':
|
||||
env['matlab_toolbox'] = 'y'
|
||||
|
|
@ -1780,11 +1774,11 @@ if any(target.startswith('test') for target in COMMAND_LINE_TARGETS):
|
|||
|
||||
if env['python_package'] == 'none':
|
||||
# copy scripts from the full Cython module
|
||||
test_py_int = env.Command('#build/python_minimal/cantera/__init__.py',
|
||||
test_py_int = env.Command('#build/python_local/cantera/__init__.py',
|
||||
'#interfaces/python_minimal/cantera/__init__.py',
|
||||
Copy('$TARGET', '$SOURCE'))
|
||||
for script in ['ctml_writer', 'ck2cti']:
|
||||
s = env.Command('#build/python_minimal/cantera/{}.py'.format(script),
|
||||
s = env.Command('#build/python_local/cantera/{}.py'.format(script),
|
||||
'#interfaces/cython/cantera/{}.py'.format(script),
|
||||
Copy('$TARGET', '$SOURCE'))
|
||||
env.Depends(test_py_int, s)
|
||||
|
|
@ -1792,6 +1786,11 @@ if any(target.startswith('test') for target in COMMAND_LINE_TARGETS):
|
|||
env.Depends(env['test_results'], test_py_int)
|
||||
|
||||
env['python_cmd'] = sys.executable
|
||||
env.PrependENVPath('PYTHONPATH', Dir('build/python_local').abspath)
|
||||
else:
|
||||
env.PrependENVPath('PYTHONPATH', Dir('build/python').abspath)
|
||||
|
||||
env['ENV']['PYTHON_CMD'] = env.subst('$python_cmd')
|
||||
|
||||
# Tests written using the gtest framework, the Python unittest module,
|
||||
# or the Matlab xunit package.
|
||||
|
|
|
|||
|
|
@ -238,20 +238,12 @@ def addMatlabTest(script, testName, dependencies=None, env_vars=()):
|
|||
|
||||
return run_program
|
||||
|
||||
if localenv['python_package'] in ('full', 'minimal'):
|
||||
python_env_vars = {'PYTHONPATH': localenv['pythonpath_build'],
|
||||
'PYTHON_CMD': localenv.subst('$python_cmd')}
|
||||
else:
|
||||
python_env_vars = {'PYTHONPATH': '../../build/python_minimal',
|
||||
'PYTHON_CMD': localenv.subst('$python_cmd')}
|
||||
|
||||
|
||||
# Instantiate tests
|
||||
addTestProgram('general', 'general', env_vars=python_env_vars)
|
||||
addTestProgram('thermo', 'thermo', env_vars=python_env_vars)
|
||||
addTestProgram('equil', 'equil', env_vars=python_env_vars)
|
||||
addTestProgram('kinetics', 'kinetics', env_vars=python_env_vars)
|
||||
addTestProgram('transport', 'transport', env_vars=python_env_vars)
|
||||
addTestProgram('general', 'general')
|
||||
addTestProgram('thermo', 'thermo')
|
||||
addTestProgram('equil', 'equil')
|
||||
addTestProgram('kinetics', 'kinetics')
|
||||
addTestProgram('transport', 'transport')
|
||||
|
||||
python_subtests = ['']
|
||||
test_root = '#interfaces/cython/cantera/test'
|
||||
|
|
@ -271,15 +263,13 @@ if localenv['python_package'] == 'full':
|
|||
outfile=File('#test/work/python-results.txt').abspath,
|
||||
dependencies=(localenv['python_module'] + localenv['python_extension'] +
|
||||
mglob(localenv, test_root, 'py')),
|
||||
env_vars={'PYTHONPATH': localenv['pythonpath_build']},
|
||||
optional=bool(subset))
|
||||
localenv.Alias('test-' + name, pyTest)
|
||||
env['testNames'].append(name)
|
||||
|
||||
if localenv['matlab_toolbox'] == 'y':
|
||||
matlabTest = addMatlabTest('runCanteraTests.m', 'matlab',
|
||||
dependencies=mglob(localenv, 'matlab', 'm'),
|
||||
env_vars=python_env_vars)
|
||||
dependencies=mglob(localenv, 'matlab', 'm'))
|
||||
localenv.Alias('test-matlab', matlabTest)
|
||||
env['testNames'].append('matlab')
|
||||
|
||||
|
|
|
|||
|
|
@ -19,15 +19,6 @@ if localenv['OS'] == 'Linux':
|
|||
else:
|
||||
cantera_libs = localenv['cantera_libs']
|
||||
|
||||
if localenv['python_package'] in ('full', 'minimal'):
|
||||
localenv['ENV']['PYTHONPATH'] = localenv['pythonpath_build']
|
||||
localenv['ENV']['PYTHON_CMD'] = localenv.subst('$python_cmd')
|
||||
haveConverters = True
|
||||
else:
|
||||
localenv['ENV']['PYTHONPATH'] = '../../build/python_minimal'
|
||||
localenv['ENV']['PYTHON_CMD'] = localenv.subst('$python_cmd')
|
||||
haveConverters = True
|
||||
|
||||
localenv['ENV']['CANTERA_DATA'] = (Dir('#build/data').abspath + os.pathsep +
|
||||
Dir('#test/data').abspath)
|
||||
|
||||
|
|
@ -234,9 +225,8 @@ diamond = localenv.Program('diamondSurf/runDiamond',
|
|||
diamond_name = diamond[0].name
|
||||
Test('diamondSurf-xml', 'diamondSurf', diamond, 'runDiamond_blessed.out',
|
||||
options='diamond_blessed.xml', artifacts=diamond_name)
|
||||
if haveConverters:
|
||||
Test('diamondSurf-cti', 'diamondSurf', diamond, 'runDiamond_blessed.out',
|
||||
options='diamond.cti', artifacts=diamond_name)
|
||||
Test('diamondSurf-cti', 'diamondSurf', diamond, 'runDiamond_blessed.out',
|
||||
options='diamond.cti', artifacts=diamond_name)
|
||||
CompileAndTest('dustyGasTransport', 'dustyGasTransport', 'dustyGasTransport',
|
||||
'output_blessed.txt')
|
||||
CompileAndTest('mixGasTransport',
|
||||
|
|
@ -245,8 +235,7 @@ CompileAndTest('multiGasTransport',
|
|||
'multiGasTransport', 'multiGasTransport', 'output_blessed.txt')
|
||||
|
||||
CompileAndTest('pureFluid', 'pureFluidTest', 'testPureWater', 'output_blessed.txt')
|
||||
if haveConverters:
|
||||
CompileAndTest('rankine_democxx', 'rankine_democxx', 'rankine', 'output_blessed.txt')
|
||||
CompileAndTest('rankine_democxx', 'rankine_democxx', 'rankine', 'output_blessed.txt')
|
||||
CompileAndTest('silane_equil', 'silane_equil', 'silane_equi', 'output_blessed.txt')
|
||||
CompileAndTest('stoichSolidKinetics', 'stoichSolidKinetics',
|
||||
'stoichSolidKinetics', 'output_blessed.txt')
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue