Am 16.04.2019 um 17:36 schrieb Jakub Jelinek: > On Tue, Apr 16, 2019 at 03:44:44PM +0200, Jakub Jelinek wrote: >> I can't reproduce this on my Fedora 29 x86_64-linux bootstrap box though, >> the *.log files are complete there. >> >> And I have no idea if it was introduced with your change or earlier. > > Actually, I managed to reproduce in a Fedora 31 chroot, in which I don't > have /usr/bin/python installed (I think in Fedora 30+ there is > /usr/bin/python2 and /usr/bin/python3 but not /usr/bin/python, at least not > in the default buildroot). On msys2 there is no python executable but /usr/bin/python2. Optionally you may install python3.
>
> The changes to contrib/dg-extract-results.sh look wrong to me:
> --- contrib/dg-extract-results.sh 2018-04-25 09:40:40.139659386 +0200
> +++ contrib/dg-extract-results.sh 2019-03-05 21:49:34.471573434 +0100
> @@ -298,6 +298,8 @@ BEGIN {
> cnt=0
> print_using=0
> need_close=0
> + has_timeout=0
> + timeout_cnt=0
> }
> /^EXPFILE: / {
> expfiles[expfileno] = \$2
> @@ -329,16 +331,37 @@ 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") next }
> { if (variant == curvar && curfile) {
> if ("$MODE" == "sum") {
> - printf "%s %08d|", testname, cnt >> curfile
> - cnt = cnt + 1
> + # 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
> + }
> +
> + has_timeout=0
> }
> - filewritten[curfile]=1
> - need_close=1
> - print >> curfile
> } else
> next
> }
> First of all, I don't see why the WARNING: program timed out
> stuff should be handled in any way specially in -L mode, there is no sorting
> at all and all the lines go together. But more importantly, the above
> changes broke completely the -L mode, previously the filewritten, need_close
> and print lines were done for both sum and log modes, but now they are done
> only in the sum mode (and in that case only if has_timeout is 0, which is
> desirable).
>
> I believe the following patch should fix it, but I don't actually have any
> WARNING: program timed out
> lines in my *.sep files in any of the last 12 bootstraps I have around.
I do have several "program timed out" in libgomp, so I may test this.
>
> Additionally, perhaps we should change dg-extract-results.sh, so that it
> doesn't try just python, but also python3? I think in some distros
> /usr/bin/python even warns users that they should decide if they mean
> python2 or python3.
As explained above I vote for this change.
signature.asc
Description: OpenPGP digital signature
