diff --git a/ext/testlib/configuration.py b/ext/testlib/configuration.py index 4e2b6951d1..48fd2a0754 100644 --- a/ext/testlib/configuration.py +++ b/ext/testlib/configuration.py @@ -215,6 +215,10 @@ def define_defaults(defaults): os.pardir)) defaults.result_path = os.path.join(os.getcwd(), '.testing-results') defaults.resource_url = 'http://dist.gem5.org/dist/develop' + defaults.resource_path = os.path.abspath(os.path.join(defaults.base_dir, + 'tests', + 'gem5', + 'resources')) def define_constants(constants): ''' @@ -569,8 +573,8 @@ def define_common_args(config): Argument( '--bin-path', action='store', - default=None, - help='Path where binaries are stored (downloaded if not present)' + default=config._defaults.resource_path, + help='Path where resources are stored (downloaded if not present)' ), Argument( '--resource-url', diff --git a/tests/.gitignore b/tests/.gitignore index 7c78cf7703..6e620f5d30 100644 --- a/tests/.gitignore +++ b/tests/.gitignore @@ -1,7 +1,2 @@ .testing-results -gem5/cpu_tests/benchmarks -gem5/fs/linux/arm/*.tar.bz2 -gem5/fs/linux/arm/binaries -gem5/fs/linux/arm/disks -gem5/test-progs gem5/resources diff --git a/tests/gem5/cpu_tests/test.py b/tests/gem5/cpu_tests/test.py index a21c4b9656..44f0574890 100644 --- a/tests/gem5/cpu_tests/test.py +++ b/tests/gem5/cpu_tests/test.py @@ -51,10 +51,7 @@ valid_isas = { 'riscv': ('AtomicSimpleCPU', 'TimingSimpleCPU', 'MinorCPU', 'DerivO3CPU'), } -if config.bin_path: - base_path = config.bin_path -else: - base_path = joinpath(absdirpath(__file__), 'benchmarks', 'bin') +base_path = joinpath(config.bin_path, 'cpu_tests') base_url = config.resource_url + '/gem5/cpu_tests/benchmarks/bin/' for isa in valid_isas: diff --git a/tests/gem5/fixture.py b/tests/gem5/fixture.py index fc6aee8f78..94f3581343 100644 --- a/tests/gem5/fixture.py +++ b/tests/gem5/fixture.py @@ -223,7 +223,7 @@ class MakeTarget(Fixture): class TestProgram(MakeTarget): def __init__(self, program, isa, os, recompile=False): - make_dir = joinpath('test-progs', program) + make_dir = joinpath(config.bin_dir, program) make_fixture = MakeFixture(make_dir) target = joinpath('bin', isa, os, program) super(TestProgram, self).__init__(target, make_fixture) diff --git a/tests/gem5/fs/linux/arm/test.py b/tests/gem5/fs/linux/arm/test.py index 89e9e65b3b..80a2af69e9 100644 --- a/tests/gem5/fs/linux/arm/test.py +++ b/tests/gem5/fs/linux/arm/test.py @@ -91,7 +91,7 @@ arm_fs_long_tests = [ tarball = 'aarch-system-201901106.tar.bz2' url = config.resource_url + "/arm/" + tarball filepath = os.path.dirname(os.path.abspath(__file__)) -path = config.bin_path if config.bin_path else filepath +path = joinpath(config.bin_path, 'arm') arm_fs_binaries = DownloadedArchive(url, path, tarball) for name in arm_fs_quick_tests: diff --git a/tests/gem5/hello_se/test_hello_se.py b/tests/gem5/hello_se/test_hello_se.py index c7cf7fe529..abae3cf10e 100644 --- a/tests/gem5/hello_se/test_hello_se.py +++ b/tests/gem5/hello_se/test_hello_se.py @@ -82,11 +82,7 @@ os_length = { 'sparc' : constants.long_tag, } -if config.bin_path: - base_path = config.bin_path -else: - base_path = joinpath(absdirpath(__file__), '..', 'test-progs', 'hello', - 'bin') +base_path = joinpath(config.bin_path, 'hello') urlbase = config.resource_url + '/test-progs/hello/bin/' diff --git a/tests/gem5/insttest_se/test.py b/tests/gem5/insttest_se/test.py index 4009d69f05..519b349fed 100644 --- a/tests/gem5/insttest_se/test.py +++ b/tests/gem5/insttest_se/test.py @@ -43,10 +43,7 @@ supported_os = { 'sparc' : ('linux',) } -if config.bin_path: - base_path = config.bin_path -else: - base_path = joinpath(absdirpath(__file__), '..', 'test-progs') +base_path = joinpath(config.bin_path, 'insttest') urlbase = config.resource_url + '/test-progs/insttest/bin/' for isa in test_progs: diff --git a/tests/gem5/m5_util/test_exit.py b/tests/gem5/m5_util/test_exit.py index 0a0dc1621c..98c3fbd179 100644 --- a/tests/gem5/m5_util/test_exit.py +++ b/tests/gem5/m5_util/test_exit.py @@ -47,11 +47,7 @@ m5_exit_regex = re.compile( r'Exiting @ tick \d* because m5_exit instruction encountered' ) -if config.bin_path: - path = config.bin_path -else: - path = joinpath(absdirpath(__file__), '..', - 'test-progs', 'hello', 'bin', 'x86', 'linux') +path = joinpath(config.bin_path, 'test-progs', 'hello', 'bin', 'x86', 'linux') filename = 'm5_exit' url = (config.resource_url + '/test-progs/m5-exit/bin/x86/linux/m5_exit') test_program = DownloadedProgram(url, path, filename) diff --git a/tests/gem5/m5threads_test_atomic/test.py b/tests/gem5/m5threads_test_atomic/test.py index 88dafe2d3f..6bb4eafa40 100644 --- a/tests/gem5/m5threads_test_atomic/test.py +++ b/tests/gem5/m5threads_test_atomic/test.py @@ -38,11 +38,7 @@ cpu_types = ( # 'TimingSimpleCPU', ) -if config.bin_path: - base_path = config.bin_path -else: - base_path = joinpath(absdirpath(__file__), '..', 'test-progs', - 'test_atomic', 'bin') +base_path = joinpath(config.bin_path, 'pthreads', 'sparc64') binary = 'test_atomic' url = config.resource_url + '/test-progs/pthreads/sparc64/' + binary