tests: Enable test running outside of gem5's source tree
The learning gem5 scripts currently assumes that the current working directory is the root of gem5's source tree. This isn't necessarily the case when running the tests using gem5's new test runner. Change-Id: Ief569bbe77b1b3e2b0fb0e6c575fb0705bbba9b3 Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-by: Curtis Dunham <curtis.dunham@arm.com>
This commit is contained in:
parent
2ae8b365c1
commit
8b412fcfd6
4 changed files with 23 additions and 3 deletions
|
@ -35,5 +35,10 @@ root = None
|
||||||
def run_test(root):
|
def run_test(root):
|
||||||
# Called from tests/run.py
|
# 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
|
# Execute the script we are wrapping
|
||||||
execfile('configs/learning_gem5/part1/simple.py')
|
execfile(srcpath('configs/learning_gem5/part1/simple.py'))
|
||||||
|
|
|
@ -37,6 +37,12 @@ import m5
|
||||||
def run_test(root):
|
def run_test(root):
|
||||||
# Called from tests/run.py
|
# 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
|
# Add paths that we need
|
||||||
m5.util.addToPath('../configs/learning_gem5/part1')
|
m5.util.addToPath('../configs/learning_gem5/part1')
|
||||||
m5.util.addToPath('../configs/common')
|
m5.util.addToPath('../configs/common')
|
||||||
|
@ -49,4 +55,4 @@ def run_test(root):
|
||||||
# For instance, sys.argv.append('--l2_size=512kB')
|
# For instance, sys.argv.append('--l2_size=512kB')
|
||||||
|
|
||||||
# Execute the script we are wrapping
|
# Execute the script we are wrapping
|
||||||
execfile('configs/learning_gem5/part1/two_level.py')
|
execfile(srcpath('configs/learning_gem5/part1/two_level.py'))
|
||||||
|
|
|
@ -47,6 +47,11 @@ root = None
|
||||||
def run_test(root):
|
def run_test(root):
|
||||||
# Called from tests/run.py
|
# 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
|
# The path to this script is the only parameter. Delete it so
|
||||||
# we can execute the script that we want to execute.
|
# we can execute the script that we want to execute.
|
||||||
import sys
|
import sys
|
||||||
|
@ -56,4 +61,4 @@ def run_test(root):
|
||||||
sys.argv.append('-m %d' % maxtick)
|
sys.argv.append('-m %d' % maxtick)
|
||||||
|
|
||||||
# Execute the script we are wrapping
|
# Execute the script we are wrapping
|
||||||
execfile('configs/example/memcheck.py', globals())
|
execfile(srcpath('configs/example/memcheck.py'), globals())
|
||||||
|
|
|
@ -171,6 +171,10 @@ def inputpath(app, file=None):
|
||||||
file = app
|
file = app
|
||||||
return joinpath(test_progs, app, 'input', file)
|
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
|
# build configuration
|
||||||
sys.path.append(joinpath(tests_root, 'configs'))
|
sys.path.append(joinpath(tests_root, 'configs'))
|
||||||
test_filename = config
|
test_filename = config
|
||||||
|
|
Loading…
Reference in a new issue