dg-extract-results.sh: Only handle WARNING: program timed out lines specially in...
authorJakub Jelinek <jakub@redhat.com>
Wed, 17 Apr 2019 17:57:02 +0000 (19:57 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Wed, 17 Apr 2019 17:57:02 +0000 (19:57 +0200)
* dg-extract-results.sh: Only handle WARNING: program timed out
lines specially in "$MODE" == "sum".  Restore previous behavior
for "$MODE" != "sum".  Clear has_timeout and timeout_cnt if in
a different variant or curfile is empty.
* dg-extract-results.py: Fix a typo.

From-SVN: r270415

contrib/ChangeLog
contrib/dg-extract-results.py
contrib/dg-extract-results.sh

index 63d266d9b657160c8ed1b733a88c24da1b297c8c..b1fc60fcbeecec704c5f26bc0f49d16c54be7645 100644 (file)
@@ -1,3 +1,11 @@
+2019-04-17  Jakub Jelinek  <jakub@redhat.com>
+
+       * dg-extract-results.sh: Only handle WARNING: program timed out
+       lines specially in "$MODE" == "sum".  Restore previous behavior
+       for "$MODE" != "sum".  Clear has_timeout and timeout_cnt if in
+       a different variant or curfile is empty.
+       * dg-extract-results.py: Fix a typo.
+
 2019-04-05  Martin Liska  <mliska@suse.cz>
 
        PR translation/89936
index 5bf2f87c24128185c81d1fce7ff579369c90e378..4e113a8dd6bbbc7e2d48c2d7d2c475bebad37e9c 100644 (file)
@@ -296,7 +296,7 @@ class Prog:
                 # 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 testhanes.
+                # list of testnames.
                 if line.startswith ('WARNING: program timed out'):
                   has_warning = 1
                 else:
index 86c4246dc9291030f387ef32afd22b098c3469d8..97ac222b54a62c9fcd22a862fd491b8f760cbd7f 100755 (executable)
@@ -331,13 +331,15 @@ BEGIN {
   # Ugly hack for gfortran.dg/dg.exp
   if ("$TOOL" == "gfortran" && testname ~ /^gfortran.dg\/g77\//)
     testname="h"testname
-  if (\$1 == "WARNING:" && \$2 == "program" && \$3 == "timed" && (\$4 == "out" || \$4 == "out.")) {
-        has_timeout=1
-        timeout_cnt=cnt
-  } else {
-  # Prepare timeout replacement message in case it's needed
-    timeout_msg=\$0
-    sub(\$1, "WARNING:", timeout_msg)
+  if ("$MODE" == "sum") {
+    if (\$0 ~ /^WARNING: program timed out/) {
+      has_timeout=1
+      timeout_cnt=cnt+1
+    } else {
+      # Prepare timeout replacement message in case it's needed
+      timeout_msg=\$0
+      sub(\$1, "WARNING:", timeout_msg)
+    }
   }
 }
 /^$/ { if ("$MODE" == "sum") next }
@@ -345,25 +347,30 @@ BEGIN {
     if ("$MODE" == "sum") {
       # Do not print anything if the current line is a timeout
       if (has_timeout == 0) {
-        # If the previous line was a timeout,
-        # insert the full current message without keyword
-        if (timeout_cnt != 0) {
-          printf "%s %08d|%s program timed out.\n", testname, timeout_cnt, timeout_msg >> curfile
-          timeout_cnt = 0
-          cnt = cnt + 1
-        }
-        printf "%s %08d|", testname, cnt >> curfile
-        cnt = cnt + 1
-        filewritten[curfile]=1
-        need_close=1
-        if (timeout_cnt == 0)
-          print >> curfile
+       # If the previous line was a timeout,
+       # insert the full current message without keyword
+       if (timeout_cnt != 0) {
+         printf "%s %08d|%s program timed out.\n", testname, timeout_cnt-1, timeout_msg >> curfile
+         timeout_cnt = 0
+         cnt = cnt + 1
+       }
+       printf "%s %08d|", testname, cnt >> curfile
+       cnt = cnt + 1
+       filewritten[curfile]=1
+       need_close=1
+       print >> curfile
       }
-
       has_timeout=0
+    } else {
+      filewritten[curfile]=1
+      need_close=1
+      print >> curfile
     }
-  } else
+  } else {
+    has_timeout=0
+    timeout_cnt=0
     next
+  }
 }
 END {
   n=1