diff options
-rw-r--r-- | ext/testlib/config.py | 22 | ||||
-rw-r--r-- | tests/gem5/cpu_tests/test.py | 17 | ||||
-rw-r--r-- | tests/gem5/fs/linux/arm/test.py | 7 | ||||
-rw-r--r-- | tests/gem5/hello_se/test_hello_se.py | 21 | ||||
-rw-r--r-- | tests/gem5/m5_util/test_exit.py | 19 |
5 files changed, 78 insertions, 8 deletions
diff --git a/ext/testlib/config.py b/ext/testlib/config.py index 5e28cd0fd..513463fd8 100644 --- a/ext/testlib/config.py +++ b/ext/testlib/config.py @@ -1,3 +1,15 @@ +# Copyright (c) 2020 ARM Limited +# All rights reserved +# +# The license below extends only to copyright in the software and shall +# not be construed as granting a license to any other intellectual +# property including but not limited to intellectual property relating +# to a hardware implementation of the functionality of the software +# licensed hereunder. You may use the software subject to the license +# terms below provided that you ensure that this notice is replicated +# unmodified and in its entirety in all distributions of the software, +# modified or unmodified, in source code or in binary form. +# # Copyright (c) 2017 Mark D. Hill and David A. Wood # All rights reserved. # @@ -521,6 +533,13 @@ def define_common_args(config): action='store', help='The path to store results in.' ), + Argument( + '--bin-path', + action='store', + default=None, + help='Path where binaries are stored (downloaded if not present)' + ), + ] # NOTE: There is a limitation which arises due to this format. If you have @@ -576,6 +595,7 @@ class RunParser(ArgParser): common_args.directory.add_to(parser) common_args.build_dir.add_to(parser) common_args.base_dir.add_to(parser) + common_args.bin_path.add_to(parser) common_args.threads.add_to(parser) common_args.test_threads.add_to(parser) common_args.isa.add_to(parser) @@ -629,6 +649,7 @@ class ListParser(ArgParser): ).add_to(parser) common_args.directory.add_to(parser) + common_args.bin_path.add_to(parser) common_args.isa.add_to(parser) common_args.variant.add_to(parser) common_args.length.add_to(parser) @@ -648,6 +669,7 @@ class RerunParser(ArgParser): common_args.directory.add_to(parser) common_args.build_dir.add_to(parser) common_args.base_dir.add_to(parser) + common_args.bin_path.add_to(parser) common_args.threads.add_to(parser) common_args.test_threads.add_to(parser) common_args.isa.add_to(parser) diff --git a/tests/gem5/cpu_tests/test.py b/tests/gem5/cpu_tests/test.py index 1a61a7331..073bcc410 100644 --- a/tests/gem5/cpu_tests/test.py +++ b/tests/gem5/cpu_tests/test.py @@ -1,3 +1,15 @@ +# Copyright (c) 2020 ARM Limited +# All rights reserved +# +# The license below extends only to copyright in the software and shall +# not be construed as granting a license to any other intellectual +# property including but not limited to intellectual property relating +# to a hardware implementation of the functionality of the software +# licensed hereunder. You may use the software subject to the license +# terms below provided that you ensure that this notice is replicated +# unmodified and in its entirety in all distributions of the software, +# modified or unmodified, in source code or in binary form. +# # Copyright (c) 2018 The Regents of the University of California # All Rights Reserved. # @@ -41,8 +53,11 @@ 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(absdirpath(__file__), 'benchmarks', 'bin') base_url = 'http://dist.gem5.org/dist/current/gem5/cpu_tests/benchmarks/bin/' for isa in valid_isas: path = joinpath(base_path, isa) diff --git a/tests/gem5/fs/linux/arm/test.py b/tests/gem5/fs/linux/arm/test.py index fd1e05e05..d9d380e68 100644 --- a/tests/gem5/fs/linux/arm/test.py +++ b/tests/gem5/fs/linux/arm/test.py @@ -85,7 +85,8 @@ arm_fs_long_tests = [ tarball = 'aarch-system-201901106.tar.bz2' url = "http://dist.gem5.org/dist/current/arm/" + tarball -path = os.path.dirname(os.path.abspath(__file__)) +filepath = os.path.dirname(os.path.abspath(__file__)) +path = config.bin_path if config.bin_path else filepath arm_fs_binaries = DownloadedArchive(url, path, tarball) for name in arm_fs_quick_tests: @@ -96,7 +97,7 @@ for name in arm_fs_quick_tests: gem5_verify_config( name=name, verifiers=(), # Add basic stat verifiers - config=joinpath(path, 'run.py'), + config=joinpath(filepath, 'run.py'), config_args=args, valid_isas=(constants.arm_tag,), length=constants.quick_tag, @@ -111,7 +112,7 @@ for name in arm_fs_long_tests: gem5_verify_config( name=name, verifiers=(), # TODO: Add basic stat verifiers - config=joinpath(path, 'run.py'), + config=joinpath(filepath, 'run.py'), config_args=args, valid_isas=(constants.arm_tag,), length=constants.long_tag, diff --git a/tests/gem5/hello_se/test_hello_se.py b/tests/gem5/hello_se/test_hello_se.py index 3ebf40cce..74d7fb1a6 100644 --- a/tests/gem5/hello_se/test_hello_se.py +++ b/tests/gem5/hello_se/test_hello_se.py @@ -1,3 +1,15 @@ +# Copyright (c) 2020 ARM Limited +# All rights reserved +# +# The license below extends only to copyright in the software and shall +# not be construed as granting a license to any other intellectual +# property including but not limited to intellectual property relating +# to a hardware implementation of the functionality of the software +# licensed hereunder. You may use the software subject to the license +# terms below provided that you ensure that this notice is replicated +# unmodified and in its entirety in all distributions of the software, +# modified or unmodified, in source code or in binary form. +# # Copyright (c) 2017 Mark D. Hill and David A. Wood # All rights reserved. # @@ -40,13 +52,18 @@ test_progs = { 'sparc': ('hello',) } +if config.bin_path: + base_path = config.bin_path +else: + base_path = joinpath(absdirpath(__file__), '..', 'test-progs', 'hello', + 'bin') + urlbase = 'http://dist.gem5.org/dist/current/test-progs/hello/bin/' for isa in test_progs: for binary in test_progs[isa]: import os url = urlbase + isa + '/linux/' + binary - path = joinpath(absdirpath(__file__), '..', 'test-progs', 'hello', - 'bin', isa, 'linux') + path = joinpath(base_path, isa, 'linux') hello_program = DownloadedProgram(url, path, binary) ref_path = joinpath(getcwd(), 'ref') diff --git a/tests/gem5/m5_util/test_exit.py b/tests/gem5/m5_util/test_exit.py index 22680740b..e67e37428 100644 --- a/tests/gem5/m5_util/test_exit.py +++ b/tests/gem5/m5_util/test_exit.py @@ -1,3 +1,15 @@ +# Copyright (c) 2020 ARM Limited +# All rights reserved +# +# The license below extends only to copyright in the software and shall +# not be construed as granting a license to any other intellectual +# property including but not limited to intellectual property relating +# to a hardware implementation of the functionality of the software +# licensed hereunder. You may use the software subject to the license +# terms below provided that you ensure that this notice is replicated +# unmodified and in its entirety in all distributions of the software, +# modified or unmodified, in source code or in binary form. +# # Copyright (c) 2017 Mark D. Hill and David A. Wood # All rights reserved. # @@ -37,8 +49,11 @@ m5_exit_regex = re.compile( r'Exiting @ tick \d* because m5_exit instruction encountered' ) -path = joinpath(absdirpath(__file__), '..', - 'test-progs', 'hello', 'bin', 'x86', 'linux') +if config.bin_path: + path = config.bin_path +else: + path = joinpath(absdirpath(__file__), '..', + 'test-progs', 'hello', 'bin', 'x86', 'linux') filename = 'm5_exit' url = 'http://dist.gem5.org/dist/current/test-progs/' + 'm5-exit/bin/x86/linux/m5_exit' |