aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2023-06-02 14:51:40 +0000
committerMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2023-06-14 14:29:48 +0000
commit9ef1391d86be504226ed446b9c29024f2c1d5045 (patch)
tree541c7e1a8f2a163d389451a8857825d30e3c0435
parent316b1d66d3d44fe4b64766a70ecb5d2f8569a5af (diff)
downloadgcc-9ef1391d86be504226ed446b9c29024f2c1d5045.zip
gcc-9ef1391d86be504226ed446b9c29024f2c1d5045.tar.gz
gcc-9ef1391d86be504226ed446b9c29024f2c1d5045.tar.bz2
[contrib] validate_failures.py: Ignore stray filesystem paths in results
This patch simplifies comparison of results that have filesystem paths. E.g., (assuming different values of <N>): <cut> Running /home/user/gcc-N/gcc/testsuite/gcc.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp ... ERROR: tcl error sourcing /home/user/gcc-N/gcc/testsuite/gcc.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp. </cut> We add "--srcpath <regex>", option, and set it by default to "[^ ]+/testsuite/", which works well for all components of the GNU Toolchain. We then remove substrings matching <regex> from paths of .exp files and from occasional "ERROR:" results. contrib/ChangeLog: * testsuite-management/validate_failures.py (TestResult,) (ParseManifestWorker, ParseSummary, Main): Handle new option "--srcpath <regex>".
-rwxr-xr-xcontrib/testsuite-management/validate_failures.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/contrib/testsuite-management/validate_failures.py b/contrib/testsuite-management/validate_failures.py
index a77aabe..4dfd9cd 100755
--- a/contrib/testsuite-management/validate_failures.py
+++ b/contrib/testsuite-management/validate_failures.py
@@ -135,6 +135,9 @@ class TestResult(object):
(self.state,
self.name,
self.description) = _VALID_TEST_RESULTS_REX.match(summary_line).groups()
+ if _OPTIONS.srcpath_regex and _OPTIONS.srcpath_regex != '':
+ self.description = re.sub(_OPTIONS.srcpath_regex, '',
+ self.description)
except:
print('Failed to parse summary line: "%s"' % summary_line,
file=sys.stderr)
@@ -361,6 +364,9 @@ def ParseManifestWorker(result_set, manifest_path):
result_set.add(result)
elif IsExpLine(orig_line):
result_set.current_exp = _EXP_LINE_REX.match(orig_line).groups()[0]
+ if _OPTIONS.srcpath_regex and _OPTIONS.srcpath_regex != '':
+ result_set.current_exp = re.sub(_OPTIONS.srcpath_regex, '',
+ result_set.current_exp)
elif IsToolLine(orig_line):
result_set.current_tool = _TOOL_LINE_REX.match(orig_line).groups()[0]
elif IsSummaryLine(orig_line):
@@ -400,6 +406,9 @@ def ParseSummary(sum_fname):
result_set.add(result)
elif IsExpLine(line):
result_set.current_exp = _EXP_LINE_REX.match(line).groups()[0]
+ if _OPTIONS.srcpath_regex and _OPTIONS.srcpath_regex != '':
+ result_set.current_exp = re.sub(_OPTIONS.srcpath_regex, '',
+ result_set.current_exp)
result_set.testsuites.add((result_set.current_tool,
result_set.current_exp))
elif IsToolLine(line):
@@ -640,6 +649,12 @@ def Main(argv):
help='Use provided date YYYYMMDD to decide whether '
'manifest entries with expiry settings have expired '
'or not. (default = Use today date)')
+ parser.add_option('--srcpath', action='store', type='string',
+ dest='srcpath_regex', default='[^ ]+/testsuite/',
+ help='Remove provided path (can be a regex) from '
+ 'the result entries. This is useful to remove '
+ 'occasional filesystem path from the results. '
+ '(default = "[^ ]+/testsuite/")')
parser.add_option('--inverse_match', action='store_true',
dest='inverse_match', default=False,
help='Inverse result sets in comparison. '