From f21c5d0d780bd10ba9c4a92686e8eb8c43d7e395 Mon Sep 17 00:00:00 2001 From: "Bobby R. Bruce" Date: Mon, 7 Aug 2023 14:53:26 -0700 Subject: [PATCH 1/3] tests: Disable PARSEC benchmark tests These tests are disabled due our GitHub Actions self-hosted Runners having a 60GB of disk space. The PARSEC Disk Image Resource (v1.0.0, http://resources.gem5.org/resources/x86-parsec?version=1.0.0) is 33GB and is simply too big to download and unzip for these tests. These tests can be reenabled when this issue is resolved. Change-Id: I9a63aa1903cea3ce7942bdc85bcd0b24761d2f29 --- .../test_gem5_library_examples.py | 9 ++++++++- tests/gem5/parsec_benchmarks/test_parsec.py | 7 +++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/tests/gem5/gem5_library_example_tests/test_gem5_library_examples.py b/tests/gem5/gem5_library_example_tests/test_gem5_library_examples.py index e43d461b35..b88862fc0d 100644 --- a/tests/gem5/gem5_library_example_tests/test_gem5_library_examples.py +++ b/tests/gem5/gem5_library_example_tests/test_gem5_library_examples.py @@ -171,7 +171,14 @@ gem5_verify_config( length=constants.long_tag, ) -if os.access("/dev/kvm", mode=os.R_OK | os.W_OK): +print( + "WARNING: PARSEC tests are disabled. This is due to our GitHub " + "Actions self-hosted runners only having 60GB of disk space. The " + "PARSEC Disk image is too big to use." +) +# 'False' is used to disable the tests. +if False: # os.access("/dev/kvm", mode=os.R_OK | os.W_OK): + # The x86-parsec-benchmarks uses KVM cores, this test will therefore only # be run on systems that support KVM. gem5_verify_config( diff --git a/tests/gem5/parsec_benchmarks/test_parsec.py b/tests/gem5/parsec_benchmarks/test_parsec.py index 1f239dae1f..fee8e7134a 100644 --- a/tests/gem5/parsec_benchmarks/test_parsec.py +++ b/tests/gem5/parsec_benchmarks/test_parsec.py @@ -50,6 +50,13 @@ def test_parsec( # Don't run the tests if KVM is unavailable. return + print( + "WARNING: PARSEC tests are disabled. This is due to our GitHub " + "Actions self-hosted runners only having 60GB of disk space. The " + "PARSEC Disk image is too big to use." + ) + return # Remove this line to re-enable PARSEC tests. + gem5_verify_config( name="{}-boot-cpu_{}-detailed-cpu_{}-cores_{}_{}_{}_parsec-test".format( boot_cpu, detailed_cpu, str(num_cpus), mem_system, benchmark, size From b86bc7b1edaa540faee7d6d0296a1ac63da4f70c Mon Sep 17 00:00:00 2001 From: "Bobby R. Bruce" Date: Mon, 7 Aug 2023 15:05:33 -0700 Subject: [PATCH 2/3] tests: Add '--skip' arg to "download_check.py" This argument allows the passing of IDs of resources which should be skipped for this check. Note: A current limitation here is you cannot specify the version of a resource. Passing the ID of a resource to this will skip the downloading for all versions of that resource. Change-Id: Ifdb7c2b71553126fd52a3d286897ed5dd8e98f7c --- tests/gem5/gem5_resources/configs/download_check.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tests/gem5/gem5_resources/configs/download_check.py b/tests/gem5/gem5_resources/configs/download_check.py index 20081a46d5..7dc71908b1 100644 --- a/tests/gem5/gem5_resources/configs/download_check.py +++ b/tests/gem5/gem5_resources/configs/download_check.py @@ -52,6 +52,14 @@ parser.add_argument( "checked", ) +parser.add_argument( + "--skip", + nargs="+", # Accepts 1 or more arguments. + type=str, + help="The resource IDs to skip. If not set, no resources will be skipped.", + required=False, +) + parser.add_argument( "--gem5-version", type=str, @@ -86,6 +94,8 @@ if len(ids) == 0: errors = str() for id in ids: + if args.skip and id in args.skip: + continue if id not in resource_list: errors += ( f"Resource with ID '{id}' not found in " From dc31883a2dfbbcf96fcc8ad44e967346279b42a8 Mon Sep 17 00:00:00 2001 From: "Bobby R. Bruce" Date: Mon, 7 Aug 2023 15:15:48 -0700 Subject: [PATCH 3/3] tests: Update resource downloading test to skip x86-parsec The x86-parsec gem5 Resource (v1.0.0, http://resources.gem5.org/resources/x86-parsec?version=1.0.0) is 33GB. The gem5 GitHub Actions self-hosted runners do not have enough Disk Space in the VMs they are run to download this. Ergo we skip it. Change-Id: I290fe265f03ceca65b2bed87e9f4a4ad601e0fc1 --- tests/gem5/gem5_resources/test_download_resources.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tests/gem5/gem5_resources/test_download_resources.py b/tests/gem5/gem5_resources/test_download_resources.py index 0e406d69e7..a15d498717 100644 --- a/tests/gem5/gem5_resources/test_download_resources.py +++ b/tests/gem5/gem5_resources/test_download_resources.py @@ -45,7 +45,12 @@ gem5_verify_config( "configs", "download_check.py", ), - config_args=["--download-directory", resource_path], + config_args=[ + "--download-directory", + resource_path, + "--skip", + "x86-parsec", + ], valid_isas=(constants.all_compiled_tag,), length=constants.very_long_tag, )