bug-groff
[Top][All Lists]
Advanced

[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/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]