diff options
author | brooks <brooks@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-06-06 21:17:36 +0000 |
---|---|---|
committer | brooks <brooks@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-06-06 21:17:36 +0000 |
commit | 24fad52b8fc3270cd817790fe297a92567b5d687 (patch) | |
tree | 6d93fefba9e133e48405b6df1b47e920f2069759 /contrib | |
parent | 3620f4de1b49b0bfffe5f812b2d259e5c72c5c61 (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rwxr-xr-x | contrib/testsuite-management/validate_failures.py | 29 |
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.' |