From e7e5d739a17f183539a2f28816f98d4a8a3b4944 Mon Sep 17 00:00:00 2001 From: Ray Speth Date: Mon, 9 Dec 2013 01:36:03 +0000 Subject: [PATCH] [Test] Fix some issues with PYTHONPATH --- interfaces/matlab/testpath.m | 4 +++- site_scons/buildutils.py | 2 +- test/SConscript | 25 +++++++++++++++---------- test_problems/SConscript | 9 +++++++-- 4 files changed, 26 insertions(+), 14 deletions(-) diff --git a/interfaces/matlab/testpath.m b/interfaces/matlab/testpath.m index c03a9cf6e..eed61f727 100644 --- a/interfaces/matlab/testpath.m +++ b/interfaces/matlab/testpath.m @@ -36,7 +36,9 @@ if strcmp(getenv('OS'), 'Windows_NT') end % Set path to Python module -setenv('PYTHONPATH', fullfile(cantera_root, 'interfaces', 'python')) +if strcmp(getenv('PYTHONPATH'), '') + setenv('PYTHONPATH', fullfile(cantera_root, 'build', 'python2')) +end % A simple test to make sure that the ctmethods.mex file is present and working f = Func('polynomial', 3, [1,2,3,4]); diff --git a/site_scons/buildutils.py b/site_scons/buildutils.py index 1676e47f6..382a9bd05 100644 --- a/site_scons/buildutils.py +++ b/site_scons/buildutils.py @@ -144,7 +144,7 @@ def regression_test(target, source, env): with open(pjoin(dir,outputName), 'w') as outfile: code = subprocess.call([program.abspath] + clopts + clargs, stdout=outfile, stderr=outfile, - cwd=dir) + cwd=dir, env=env['ENV']) diff = 0 # Compare output files diff --git a/test/SConscript b/test/SConscript index be62cc97b..5b4ddebcb 100644 --- a/test/SConscript +++ b/test/SConscript @@ -9,15 +9,8 @@ localenv.Prepend(CPPPATH=['#ext/gtest/include', '#include'], localenv.Append(LIBS=['gtest'] + localenv['cantera_libs'], CCFLAGS=env['warning_flags']) -#localenv['ENV']['PYTHONPATH'] = Dir('#interfaces/python').abspath -localenv['ENV']['PYTHONPATH'] = Dir('#interfaces/python').abspath localenv['ENV']['CANTERA_DATA'] = Dir('#build/data').abspath -#print localenv.Dump() -print localenv['ENV']['PYTHONPATH'] -#exit(0) - - PASSED_FILES = {} # Needed for Intel runtime libraries when compiling with ICC @@ -105,7 +98,7 @@ def addTestScript(testname, subdir, script, interpreter, dependencies=(), env_va return run_program -def addMatlabTest(script, testName, dependencies=None): +def addMatlabTest(script, testName, dependencies=None, env_vars=()): def matlabRunner(target, source, env): passedFile = target[0] del testResults.tests[passedFile.name] @@ -123,6 +116,7 @@ def addMatlabTest(script, testName, dependencies=None): environ = dict(os.environ) environ.update(env['ENV']) + environ.update(env_vars) code = subprocess.call([pjoin(env['matlab_path'], 'bin', 'matlab')] + matlabOptions + ['-r', runCommand], env=environ, cwd=Dir('#test/matlab').abspath) @@ -175,13 +169,24 @@ if localenv['python3_package'] == 'y': dependencies=(localenv['python3_module'] + localenv['python3_extension'] + mglob(localenv, '#interfaces/cython/cantera/test', 'py')), - env_vars={'PYTHONPATH':Dir('#build/python3').abspath}) + env_vars={'PYTHONPATH':Dir('#build/python3').abspath, + 'PYTHON_CMD': localenv.subst('$python3_cmd')}) localenv.Alias('test-cython3', pyTest) env['testNames'].append('cython3') if localenv['matlab_toolbox'] == 'y': + if localenv['python_package'] in ('full', 'minimal'): + env_vars = {'PYTHONPATH': Dir('#build/python2').abspath, + 'PYTHON_CMD': localenv.subst('$python_cmd')} + elif localenv['python3_package'] == 'y': + env_vars = {'PYTHONPATH': Dir('#build/python3').abspath, + 'PYTHON_CMD': localenv.subst('$python3_cmd')} + else: + env_vars = {} # ck2cti test is likely to fail + matlabTest = addMatlabTest('runCanteraTests.m', 'matlab', - dependencies=mglob(localenv, 'matlab', 'm')) + dependencies=mglob(localenv, 'matlab', 'm'), + env_vars=env_vars) localenv.Alias('test-matlab', matlabTest) env['testNames'].append('matlab') diff --git a/test_problems/SConscript b/test_problems/SConscript index 5269f99ff..f1c688f4e 100644 --- a/test_problems/SConscript +++ b/test_problems/SConscript @@ -5,9 +5,14 @@ localenv = env.Clone() localenv.Prepend(CPPPATH=['#include', '#src', 'shared']) localenv.Append(CCFLAGS=env['warning_flags']) -os.environ['PYTHONPATH'] = pjoin(os.getcwd(), '..', 'interfaces', 'python') +if localenv['python_package'] in ('full', 'minimal'): + localenv['ENV']['PYTHONPATH'] = pjoin(os.getcwd(), '..', 'build', 'python2') + localenv['ENV']['PYTHON_CMD'] = localenv.subst('$python_cmd') +elif localenv['python3_package'] == 'y': + localenv['ENV']['PYTHONPATH'] = pjoin(os.getcwd(), '..', 'build', 'python3') + localenv['ENV']['PYTHON_CMD'] = localenv.subst('$python3_cmd') -os.environ['CANTERA_DATA'] = pjoin(os.getcwd(), '..', 'build', 'data') +localenv['ENV']['CANTERA_DATA'] = pjoin(os.getcwd(), '..', 'build', 'data') PASSED_FILES = {}