From 328ac810995cfea2216724b56f1bf50c78ffd33f Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Mon, 13 Aug 2018 18:50:28 -0700 Subject: [PATCH] systemc: Generalize ignoring info messages in the reference output. Those messages are very implementation specific and don't (generally) affect correctness. This makes it easier to ignore info messages based on their number. This change also makes the output checker ignore a similarly styled message gem5 generates. We should consider making gem5 not generate that message and have it generate another message instead which is specific to gem5. We would need to filter that out too when comparing results. Change-Id: I93b9e2d547b6259512db091cfc557d21f86f4a3d Reviewed-on: https://gem5-review.googlesource.com/12086 Reviewed-by: Gabe Black Maintainer: Gabe Black --- src/systemc/tests/verify.py | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/src/systemc/tests/verify.py b/src/systemc/tests/verify.py index 6667b13a1..4c307737e 100755 --- a/src/systemc/tests/verify.py +++ b/src/systemc/tests/verify.py @@ -184,27 +184,35 @@ class Checker(object): with open(self.text) as test_f, open(self.ref) as ref_f: return test_f.read() == ref_f.read() +def tagged_filt(tag, num): + return (r'^\n{}: \({}{}\) .*\n(In file: .*\n)?' + r'(In process: [\w.]* @ .*\n)?').format(tag, tag[0], num) + +def warning_filt(num): + return tagged_filt('Warning', num) + +def info_filt(num): + return tagged_filt('Info', num) + class LogChecker(Checker): def merge_filts(*filts): filts = map(lambda f: '(' + f + ')', filts) filts = '|'.join(filts) return re.compile(filts, flags=re.MULTILINE) - def warning_filt(num): - return (r'^\nWarning: \(W{}\) .*\n(In file: .*\n)?' - r'(In process: [\w.]* @ .*\n)?').format(num) - ref_filt = merge_filts( r'^\nInfo: /OSCI/SystemC: Simulation stopped by user.\n', r'^SystemC Simulation\n', + r'^\nInfo: \(I804\) /IEEE_Std_1666/deprecated: ' + + r'You can turn off(.*\n){7}', warning_filt(540), warning_filt(569), warning_filt(571), - r'^\nInfo: \(I804\) /IEEE_Std_1666/deprecated: ' + - r'You can turn off(.*\n){7}' + info_filt(804), ) test_filt = merge_filts( - r'^Global frequency set at \d* ticks per second\n' + r'^Global frequency set at \d* ticks per second\n', + info_filt(804), ) def __init__(self, ref, test, tag, out_dir): -- 2.30.2