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

Reply via email to