From 0f1da269fc86e8ef60ea6ab84e8f32e535e0767f Mon Sep 17 00:00:00 2001 From: Ray Speth Date: Sat, 15 Sep 2018 11:55:46 -0400 Subject: [PATCH] [SCons] Simplify handling of PYTHONPATH in the test suite --- SConstruct | 17 ++++++++--------- test/SConscript | 22 ++++++---------------- test_problems/SConscript | 17 +++-------------- 3 files changed, 17 insertions(+), 39 deletions(-) diff --git a/SConstruct b/SConstruct index 4f08caedb..e7d914a67 100644 --- a/SConstruct +++ b/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. diff --git a/test/SConscript b/test/SConscript index 600f5f44f..55a71ea86 100644 --- a/test/SConscript +++ b/test/SConscript @@ -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') diff --git a/test_problems/SConscript b/test_problems/SConscript index 269cfa198..709f8f185 100644 --- a/test_problems/SConscript +++ b/test_problems/SConscript @@ -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')