]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
This fixes an edge case in parsing summary lines. Some times, the
authordnovillo <dnovillo@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 2 Mar 2012 20:43:29 +0000 (20:43 +0000)
committerdnovillo <dnovillo@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 2 Mar 2012 20:43:29 +0000 (20:43 +0000)
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.

2012-03-02   Diego Novillo  <dnovillo@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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@184822 138bc75d-0d04-0410-961f-82ee72b054a4

contrib/testsuite-management/validate_failures.py

index 072de796aa05d199e20d45c0ccba4a7a617a837f..7bc50896a66bc97f0803273ffe5b1af75a042240 100755 (executable)
@@ -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()