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