diff -r 015cad6e65d5 -r bfd82686e116 tests/configs/learning-gem5-p1-simple.py --- a/tests/configs/learning-gem5-p1-simple.py Thu Apr 28 15:20:03 2016 +0100 +++ b/tests/configs/learning-gem5-p1-simple.py Thu Apr 28 16:09:21 2016 +0100 @@ -35,5 +35,10 @@ def run_test(root): # Called from tests/run.py + # Set the working directory in case we are executing from + # outside gem5's source tree + import os + os.chdir(os.path.join(os.path.dirname(__file__), "../")) + # Execute the script we are wrapping - execfile('configs/learning_gem5/part1/simple.py') + execfile(srcpath('configs/learning_gem5/part1/simple.py')) diff -r 015cad6e65d5 -r bfd82686e116 tests/configs/learning-gem5-p1-two-level.py --- a/tests/configs/learning-gem5-p1-two-level.py Thu Apr 28 15:20:03 2016 +0100 +++ b/tests/configs/learning-gem5-p1-two-level.py Thu Apr 28 16:09:21 2016 +0100 @@ -37,6 +37,12 @@ def run_test(root): # Called from tests/run.py + + # Set the working directory in case we are executing from + # outside gem5's source tree + import os + os.chdir(os.path.join(os.path.dirname(__file__), "../")) + # Add paths that we need m5.util.addToPath('../configs/learning_gem5/part1') m5.util.addToPath('../configs/common') @@ -49,4 +55,4 @@ # For instance, sys.argv.append('--l2_size=512kB') # Execute the script we are wrapping - execfile('configs/learning_gem5/part1/two_level.py') + execfile(srcpath('configs/learning_gem5/part1/two_level.py')) diff -r 015cad6e65d5 -r bfd82686e116 tests/configs/memcheck.py --- a/tests/configs/memcheck.py Thu Apr 28 15:20:03 2016 +0100 +++ b/tests/configs/memcheck.py Thu Apr 28 16:09:21 2016 +0100 @@ -47,6 +47,11 @@ def run_test(root): # Called from tests/run.py + # Set the working directory in case we are executing from + # outside gem5's source tree + import os + os.chdir(os.path.join(os.path.dirname(__file__), "../")) + # The path to this script is the only parameter. Delete it so # we can execute the script that we want to execute. import sys @@ -56,4 +61,4 @@ sys.argv.append('-m %d' % maxtick) # Execute the script we are wrapping - execfile('configs/example/memcheck.py', globals()) + execfile(srcpath('configs/example/memcheck.py'), globals()) diff -r 015cad6e65d5 -r bfd82686e116 tests/run.py --- a/tests/run.py Thu Apr 28 15:20:03 2016 +0100 +++ b/tests/run.py Thu Apr 28 16:09:21 2016 +0100 @@ -171,6 +171,10 @@ file = app return joinpath(test_progs, app, 'input', file) +def srcpath(path): + """Path to file in gem5's source tree""" + return joinpath(os.path.dirname(__file__), "..", path) + # build configuration sys.path.append(joinpath(tests_root, 'configs')) test_filename = config