systemc: Teach verify.py to ignore "In file: *" in test output.
authorGabe Black <gabeblack@google.com>
Thu, 30 Aug 2018 21:55:55 +0000 (14:55 -0700)
committerGabe Black <gabeblack@google.com>
Wed, 3 Oct 2018 00:24:32 +0000 (00:24 +0000)
Those lines are sensitive to the paths to the test files and are even
redacted in the golden reference output, presumably for that reason.

Change-Id: I9fbd94c1b6d9d4e76397e84a4175d326f27b6e4d
Reviewed-on: https://gem5-review.googlesource.com/c/12451
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>

src/systemc/tests/verify.py

index dc0045970915182c2b38bfe31cc505ebcbd64112..96527e9e028bee54b6f04084c71ccca30b84b988 100755 (executable)
@@ -210,6 +210,11 @@ class LogChecker(Checker):
         filts = '|'.join(filts)
         return re.compile(filts, flags=re.MULTILINE)
 
+    # The reporting mechanism will print the actual filename when running in
+    # gem5, and the "golden" output will say "<removed by verify.py>". We want
+    # to strip out both versions to make comparing the output sensible.
+    in_file_filt = r'^In file: ((<removed by verify\.pl>)|([a-zA-Z0-9.:_/]*))$'
+
     ref_filt = merge_filts(
         r'^\nInfo: /OSCI/SystemC: Simulation stopped by user.\n',
         r'^SystemC Simulation\n',
@@ -224,10 +229,12 @@ class LogChecker(Checker):
         error_filt(542),
         error_filt(543),
         info_filt(804),
+        in_file_filt,
     )
     test_filt = merge_filts(
         r'^Global frequency set at \d* ticks per second\n',
         info_filt(804),
+        in_file_filt,
     )
 
     def __init__(self, ref, test, tag, out_dir):