Giacomo Travaglini has submitted this change. (
https://gem5-review.googlesource.com/c/public/gem5/+/48685 )
Change subject: tests: Do not run test_hdf5 if HDF5 is not present
......................................................................
tests: Do not run test_hdf5 if HDF5 is not present
This regression is failing on machines not supporting the
HDF5 library
Signed-off-by: Giacomo Travaglini <[email protected]>
Change-Id: I5c6762596dc86a9a2b0612d77f9f76e772d9fa42
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/48685
Maintainer: Bobby R. Bruce <[email protected]>
Tested-by: kokoro <[email protected]>
Reviewed-by: Jason Lowe-Power <[email protected]>
---
M tests/gem5/stats/test_hdf5.py
1 file changed, 34 insertions(+), 18 deletions(-)
Approvals:
Jason Lowe-Power: Looks good to me, approved
Bobby R. Bruce: Looks good to me, approved
kokoro: Regressions pass
diff --git a/tests/gem5/stats/test_hdf5.py b/tests/gem5/stats/test_hdf5.py
index 85167c1..a9702c8 100644
--- a/tests/gem5/stats/test_hdf5.py
+++ b/tests/gem5/stats/test_hdf5.py
@@ -1,4 +1,5 @@
# Copyright (c) 2021 Huawei International
+# Copyright (c) 2021 Arm Limited
# All rights reserved.
#
# The license below extends only to copyright in the software and shall
@@ -43,23 +44,38 @@
import os
from testlib import *
-ok_exit_regex = re.compile(
-r'Exiting @ tick \d+ because exiting with last active thread context'
-)
+def have_hdf5():
+ have_hdf5_file = os.path.join(
+ config.base_dir, 'build',
constants.arm_tag, 'config', 'have_hdf5.hh')
+ with open(have_hdf5_file) as f:
+ content = f.read()
-path =
joinpath(config.bin_path, 'test-progs', 'hello', 'bin', 'arm', 'linux')
-filename = 'hello'
-url = (config.resource_url + '/test-progs/hello/bin/arm/linux/hello')
-test_program = DownloadedProgram(url, path, filename)
+ result = re.match("#define HAVE_HDF5 ([0-1])", content)
+ if not result:
+ raise Exception(
+ f"Unable to find the HAVE_HDF5 in {have_hdf5_file}")
+ else:
+ return result.group(1) == "1"
-stdout_verifier = verifier.MatchRegex(ok_exit_regex)
-h5_verifier = verifier.CheckH5StatsExist()
-gem5_verify_config(
- name='hdf5_test',
- verifiers=[stdout_verifier, h5_verifier],
- fixtures=(test_program,),
- config=os.path.join(config.base_dir, 'configs', 'example','se.py'),
- config_args=['--cmd', joinpath(test_program.path, filename)],
- gem5_args=['--stats-file=h5://stats.h5'],
- valid_isas=(constants.arm_tag,)
-)
+if have_hdf5():
+ ok_exit_regex = re.compile(
+ r'Exiting @ tick \d+ because exiting with last active thread context'
+ )
+
+ path = joinpath(config.bin_path, 'test-progs', 'hello',
+ 'bin', 'arm', 'linux')
+ filename = 'hello'
+ url = (config.resource_url + '/test-progs/hello/bin/arm/linux/hello')
+ test_program = DownloadedProgram(url, path, filename)
+
+ stdout_verifier = verifier.MatchRegex(ok_exit_regex)
+ h5_verifier = verifier.CheckH5StatsExist()
+ gem5_verify_config(
+ name='hdf5_test',
+ verifiers=[stdout_verifier, h5_verifier],
+ fixtures=(test_program,),
+ config=os.path.join(config.base_dir, 'configs', 'example','se.py'),
+ config_args=['--cmd', joinpath(test_program.path, filename)],
+ gem5_args=['--stats-file=h5://stats.h5'],
+ valid_isas=(constants.arm_tag,)
+ )
--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/48685
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings
Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I5c6762596dc86a9a2b0612d77f9f76e772d9fa42
Gerrit-Change-Number: 48685
Gerrit-PatchSet: 2
Gerrit-Owner: Giacomo Travaglini <[email protected]>
Gerrit-Reviewer: Bobby R. Bruce <[email protected]>
Gerrit-Reviewer: Davide Basilio Bartolini
<[email protected]>
Gerrit-Reviewer: Gabe Black <[email protected]>
Gerrit-Reviewer: Giacomo Travaglini <[email protected]>
Gerrit-Reviewer: Jason Lowe-Power <[email protected]>
Gerrit-Reviewer: kokoro <[email protected]>
Gerrit-MessageType: merged
_______________________________________________
gem5-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s