diff options
author | Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> | 2023-06-02 14:51:40 +0000 |
---|---|---|
committer | Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> | 2023-06-14 14:29:48 +0000 |
commit | 9ef1391d86be504226ed446b9c29024f2c1d5045 (patch) | |
tree | 541c7e1a8f2a163d389451a8857825d30e3c0435 | |
parent | 316b1d66d3d44fe4b64766a70ecb5d2f8569a5af (diff) | |
download | gcc-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-x | contrib/testsuite-management/validate_failures.py | 15 |
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. ' |