This fixes an edge case in parsing summary lines. Some times, the description field is missing (e.g., 'FAIL: libstdc++/abi_check'), so the space that the pattern was looking for does not exist.
I've changed it to match any whitespace, which includes '\n'. I also made it print the line that it fails to parse, in case there are other problems like this in the future. David, this should fix the failure you were getting in your merge. Let me know if it doesn't. 2012-03-02 Diego Novillo <dnovi...@google.com> * testsuite-management/validate_failures.py (class TestResult): Fix match pattern for the summary line. If there is a parsing failure, show the line we failed to parse. diff --git a/contrib/testsuite-management/validate_failures.py b/contrib/testsuite-management/validate_failures.py index 072de79..7bc5089 100755 --- a/contrib/testsuite-management/validate_failures.py +++ b/contrib/testsuite-management/validate_failures.py @@ -97,10 +97,14 @@ class TestResult(object): self.attrs = '' if '|' in summary_line: (self.attrs, summary_line) = summary_line.split('|', 1) - (self.state, - self.name, - self.description) = re.match(r' *([A-Z]+): ([^ ]+) (.*)', - summary_line).groups() + try: + (self.state, + self.name, + self.description) = re.match(r' *([A-Z]+): (\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() -- This patch is available for review at http://codereview.appspot.com/5728047