diff --git a/unit_tests/utils/feedsRun.fslStartup b/unit_tests/utils/feedsRun.fslStartup index a20d05019917333cb73d6f560db389a4843d0672..3dd5b8cd5d2dd3e69d4e1094605a8ce1f7ca8853 100755 --- a/unit_tests/utils/feedsRun.fslStartup +++ b/unit_tests/utils/feedsRun.fslStartup @@ -4,10 +4,13 @@ import os import shlex +import sys import tempfile import subprocess as sp +from pathlib import Path + def run(cmd, ompthreads=None, blasthreads=None, fslskipglobal=None): env = os.environ.copy() @@ -33,12 +36,23 @@ def run(cmd, ompthreads=None, blasthreads=None, fslskipglobal=None): def main(): + env = os.environ.copy() + activatePath = Path(f'''{env['FSLDIR']}/bin/activate''') + print(f'''active {activatePath}''') + if not activatePath.is_file(): + activatePath='activate' - buildcmds = ['source activate $FSLDIR', + outdir = Path(sys.argv[1]) + + buildcmds = [f'''source {activatePath} $FSLDIR''', 'source $FSLDIR/etc/fslconf/fsl-devel.sh', + f'''cp Makefile test_fslStartup.cc {outdir}''', + f'''cd {outdir}''', 'make'] sp.run('; '.join(buildcmds), check=True, shell=True) + os.chdir(outdir) + # Default behaviour should be: OMP multi-threaded, BLAS single threaded. assert run('./test_fslStartup', 8, 8) == '8 1 8' assert run('./test_fslStartup', 4, 4) == '4 1 4'