dg-extract-results.sh: Only handle WARNING: program timed out lines specially in "$MODE" == "sum".

* 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
This commit is contained in:
Jakub Jelinek 2019-04-17 19:57:02 +02:00 committed by Jakub Jelinek
parent 0764a0d275
commit ec60715d39
3 changed files with 38 additions and 23 deletions

View 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

View 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:

View File

@ -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