diff options
author | Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> | 2023-06-01 12:05:08 +0000 |
---|---|---|
committer | Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> | 2023-06-14 14:29:47 +0000 |
commit | d4d776a341309cee59bfcb72bba8ae8442d05db7 (patch) | |
tree | d68bf44c63a0e598772c888a46c02cccdda8ca66 | |
parent | e341d15be3b93674308734422b30803c25521d5d (diff) | |
download | gcc-d4d776a341309cee59bfcb72bba8ae8442d05db7.zip gcc-d4d776a341309cee59bfcb72bba8ae8442d05db7.tar.gz gcc-d4d776a341309cee59bfcb72bba8ae8442d05db7.tar.bz2 |
[contrib] validate_failures.py: Be more stringent in parsing result lines
Before this patch we would identify malformed line
"UNRESOLVEDTest run by tcwg-buildslave on Mon Aug 23 10:17:50 2021"
as an interesting result, only to fail in TestResult:__init__ due
to missing ":" after UNRESOLVED.
This patch makes all places that parse result lines use a single
compiled regex.
contrib/ChangeLog:
* testsuite-management/validate_failures.py (_VALID_TEST_RESULTS_REX):
Update.
(TestResult): Use _VALID_TEST_RESULTS_REX.
-rwxr-xr-x | contrib/testsuite-management/validate_failures.py | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/contrib/testsuite-management/validate_failures.py b/contrib/testsuite-management/validate_failures.py index 26ea1d6..f2d7b09 100755 --- a/contrib/testsuite-management/validate_failures.py +++ b/contrib/testsuite-management/validate_failures.py @@ -60,9 +60,10 @@ import os import re import sys -# Handled test results. _VALID_TEST_RESULTS = [ 'FAIL', 'UNRESOLVED', 'XPASS', 'ERROR' ] -_VALID_TEST_RESULTS_REX = re.compile("%s" % "|".join(_VALID_TEST_RESULTS)) +# <STATE>: <NAME> <DESCRIPTION" +_VALID_TEST_RESULTS_REX = re.compile('(%s):\s*(\S+)\s*(.*)' + % "|".join(_VALID_TEST_RESULTS)) # Formats of .sum file sections _TOOL_LINE_FORMAT = '\t\t=== %s tests ===\n' @@ -131,8 +132,7 @@ class TestResult(object): try: (self.state, self.name, - self.description) = re.match(r'([A-Z]+):\s*(\S+)\s*(.*)', - summary_line).groups() + self.description) = _VALID_TEST_RESULTS_REX.match(summary_line).groups() except: print('Failed to parse summary line: "%s"' % summary_line) raise |