[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug #61079] [groff] check of reg...59202.sh returns one
From: |
G. Branden Robinson |
Subject: |
[bug #61079] [groff] check of reg...59202.sh returns one |
Date: |
Tue, 31 Aug 2021 22:22:46 -0400 (EDT) |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0 |
Follow-up Comment #5, bug #61079 (project groff):
[comment #4 comment #4:]
> My "make check" returned FAIL again.
>
> I checked it three times with and without -j and all caused
> FAIL.
>
> As it looked like a race condition I checked three times with
> "sleep 5" between the commands and equally often with "sleep 1" with a
> PASS result in all cases.
>
> The sequence of the commands is necessary for a right result,
> so the shell must be told to do so.
>
> The script uses:
>
> echo | "$groff" >&-
> ! test -e core
>
> As the first line returns false,
> adding " || \" to that line should insure that it will be executed first
> and finished before next line is executed.
Multiprocessing is explicit in shell scripts, not done opportunistically.
Separate commands or pipelines are not run simultaneously in a shell script
unless (1) at least one is backgrounded and (2) an execution core is available
to do so.
> If the command in the first line would return true,
> then the next line is superfluous.
This is unfortunately not true; groff can fail and even core dump while still
exiting with status 0. See bug #60782.
But even if it were true, because this test script does not run "set -e", it
executes the test command regardless of the exit status of groff in the
previous line.
I think you're proceeding from some bad assumptions here, and therefore I do
not have confidence in your analysis.
You could change the last line to:
test -e core && sleep 10000
and run "make check" without "-j" to force the test harness to stop as soon as
a problem is observed. In fact, you might put the above line _before_ the
groff command, too, to make sure the test is not tripping on a core file left
by a different execution altogether.
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?61079>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/