aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2023-06-01 12:05:08 +0000
committerMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2023-06-14 14:29:47 +0000
commitd4d776a341309cee59bfcb72bba8ae8442d05db7 (patch)
treed68bf44c63a0e598772c888a46c02cccdda8ca66
parente341d15be3b93674308734422b30803c25521d5d (diff)
downloadgcc-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-xcontrib/testsuite-management/validate_failures.py8
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