aboutsummaryrefslogtreecommitdiff
path: root/contrib/dg-extract-results.py
diff options
context:
space:
mode:
authorAndrew Burgess <andrew.burgess@embecosm.com>2019-10-21 14:52:37 +0100
committerAndrew Burgess <andrew.burgess@embecosm.com>2019-10-21 15:26:48 +0100
commit66b92822fa721b17c9edfebd10b3017b289be24c (patch)
tree81ba9caeb6c8e8414e8d8cddd923f7e4df7bd33d /contrib/dg-extract-results.py
parenta0a461e5b45f6fd9eb81774ad61e55b4917d4305 (diff)
downloadgdb-66b92822fa721b17c9edfebd10b3017b289be24c.zip
gdb-66b92822fa721b17c9edfebd10b3017b289be24c.tar.gz
gdb-66b92822fa721b17c9edfebd10b3017b289be24c.tar.bz2
contrib: Update dg-extract-results.* from gcc
The dg-extract-results scripts have been updated in the gcc repository. This commit copies the updated versions of the scripts in to the binutils-gdb repository. There are two changes, these are: 1. Improved detection of timeout lines, though I suspect this only applies to gcc results, and 2. Detection of KPASS results, this is of interest to gdb, where these results would not be included in the final .sum file. A grep over binutils-gdb shows the dg-extract-results is not used by ld, gas, or binutils, however I tested these anyway and saw no changes in the final .sum files (tested on x86-64 GNU/Linux). On gdb when running tests in parallel dg-extract-results is used, and the final .sum file now includes the KPASS results. contrib/ChangeLog: * dg-extract-results.py: Update from gcc repo. * dg-extract-results.sh: Likewise. Change-Id: I54abd07f4e8f5cf88a6db74519674f6939860157
Diffstat (limited to 'contrib/dg-extract-results.py')
-rw-r--r--contrib/dg-extract-results.py23
1 files changed, 18 insertions, 5 deletions
diff --git a/contrib/dg-extract-results.py b/contrib/dg-extract-results.py
index 4b02a5b..7100794 100644
--- a/contrib/dg-extract-results.py
+++ b/contrib/dg-extract-results.py
@@ -117,7 +117,7 @@ class Prog:
self.tool_re = re.compile (r'^\t\t=== (.*) tests ===$')
self.result_re = re.compile (r'^(PASS|XPASS|FAIL|XFAIL|UNRESOLVED'
r'|WARNING|ERROR|UNSUPPORTED|UNTESTED'
- r'|KFAIL):\s*(.+)')
+ r'|KFAIL|KPASS):\s*(.+)')
self.completed_re = re.compile (r'.* completed at (.*)')
# Pieces of text to write at the head of the output.
# start_line is a pair in which the first element is a datetime
@@ -239,6 +239,7 @@ class Prog:
harness = None
segment = None
final_using = 0
+ has_warning = 0
# If this is the first run for this variation, add any text before
# the first harness to the header.
@@ -292,10 +293,22 @@ class Prog:
# Ugly hack to get the right order for gfortran.
if name.startswith ('gfortran.dg/g77/'):
name = 'h' + name
- key = (name, len (harness.results))
- harness.results.append ((key, line))
- if not first_key and sort_logs:
- first_key = key
+ # If we have a time out warning, make sure it appears
+ # before the following testcase diagnostic: we insert
+ # the testname before 'program' so that sort faces a
+ # list of testnames.
+ if line.startswith ('WARNING: program timed out'):
+ has_warning = 1
+ else:
+ if has_warning == 1:
+ key = (name, len (harness.results))
+ myline = 'WARNING: %s program timed out.\n' % name
+ harness.results.append ((key, myline))
+ has_warning = 0
+ key = (name, len (harness.results))
+ harness.results.append ((key, line))
+ if not first_key and sort_logs:
+ first_key = key
if line.startswith ('ERROR: (DejaGnu)'):
for i in range (len (self.count_names)):
if 'DejaGnu errors' in self.count_names[i]: