summaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorbrooks <brooks@138bc75d-0d04-0410-961f-82ee72b054a4>2013-06-06 21:17:36 +0000
committerbrooks <brooks@138bc75d-0d04-0410-961f-82ee72b054a4>2013-06-06 21:17:36 +0000
commit24fad52b8fc3270cd817790fe297a92567b5d687 (patch)
tree6d93fefba9e133e48405b6df1b47e920f2069759 /contrib
parent3620f4de1b49b0bfffe5f812b2d259e5c72c5c61 (diff)
downloadgcc-24fad52b8fc3270cd817790fe297a92567b5d687.tar.gz
* testsuite-management/validate_failures.py: Fix handling of
summary lines with "|" characters or empty description fields. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199765 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'contrib')
-rw-r--r--contrib/ChangeLog5
-rwxr-xr-xcontrib/testsuite-management/validate_failures.py29
2 files changed, 22 insertions, 12 deletions
diff --git a/contrib/ChangeLog b/contrib/ChangeLog
index 6fbdfe2e310..1233e6acaea 100644
--- a/contrib/ChangeLog
+++ b/contrib/ChangeLog
@@ -1,3 +1,8 @@
+2013-06-06 Brooks Moses <bmoses@google.com>
+
+ * testsuite-management/validate_failures.py: Fix handling of
+ summary lines with "|" characters or empty description fields.
+
2013-05-24 Chung-Ju Wu <jasonwucj@gmail.com>
* download_prerequisites: Download isl and cloog conditionally.
diff --git a/contrib/testsuite-management/validate_failures.py b/contrib/testsuite-management/validate_failures.py
index e9e5292f17b..2779050468d 100755
--- a/contrib/testsuite-management/validate_failures.py
+++ b/contrib/testsuite-management/validate_failures.py
@@ -119,20 +119,15 @@ class TestResult(object):
def __init__(self, summary_line, ordinal=-1):
try:
- self.attrs = ''
- if '|' in summary_line:
- (self.attrs, summary_line) = summary_line.split('|', 1)
+ (self.attrs, summary_line) = SplitAttributesFromSummaryLine(summary_line)
try:
(self.state,
self.name,
- self.description) = re.match(r' *([A-Z]+):\s*(\S+)\s+(.*)',
+ self.description) = re.match(r'([A-Z]+):\s*(\S+)\s*(.*)',
summary_line).groups()
except:
print 'Failed to parse summary line: "%s"' % summary_line
raise
- self.attrs = self.attrs.strip()
- self.state = self.state.strip()
- self.description = self.description.strip()
self.ordinal = ordinal
except ValueError:
Error('Cannot parse summary line "%s"' % summary_line)
@@ -208,11 +203,20 @@ def IsComment(line):
return line.startswith('#')
+def SplitAttributesFromSummaryLine(line):
+ """Splits off attributes from a summary line, if present."""
+ if '|' in line and not _VALID_TEST_RESULTS_REX.match(line):
+ (attrs, line) = line.split('|', 1)
+ attrs = attrs.strip()
+ else:
+ attrs = ''
+ line = line.strip()
+ return (attrs, line)
+
+
def IsInterestingResult(line):
"""Return True if line is one of the summary lines we care about."""
- if '|' in line:
- (_, line) = line.split('|', 1)
- line = line.strip()
+ (_, line) = SplitAttributesFromSummaryLine(line)
return bool(_VALID_TEST_RESULTS_REX.match(line))
@@ -416,8 +420,9 @@ def PerformComparison(expected, actual, ignore_missing_failures):
if not ignore_missing_failures and len(expected_vs_actual) > 0:
PrintSummary('Expected results not present in this build (fixed tests)'
'\n\nNOTE: This is not a failure. It just means that these '
- 'tests were expected\nto fail, but they worked in this '
- 'configuration.\n', expected_vs_actual)
+ 'tests were expected\nto fail, but either they worked in '
+ 'this configuration or they were not\npresent at all.\n',
+ expected_vs_actual)
if tests_ok:
print '\nSUCCESS: No unexpected failures.'