bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: features/temp_stdin FAILED (was: GNU make 4.3.91 release candidate a


From: Frank Heckenbach
Subject: Re: features/temp_stdin FAILED (was: GNU make 4.3.91 release candidate available)
Date: Wed, 19 Oct 2022 22:24:47 +0200

Dmitry Goncharov wrote:

> On Wed, Oct 19, 2022 at 2:33 AM Frank Heckenbach
> <f.heckenbach@fh-soft.de> wrote:
> > features/temp_stdin ..................................... FAILED (6/7 
> > passed)
> > [...]
> > % cat tests/work/features/temp_stdin.diff.5
> > *** work/features/temp_stdin.base.5     Wed Oct 19 06:05:22 2022
> > --- work/features/temp_stdin.log.5      Wed Oct 19 06:05:22 2022
> > ***************
> > *** 0 ****
> > --- 1 ----
> > + make: *** [work/features/temp_stdin.mk.5:5: bye.mk] Terminated
> >
> > The test failure doesn't occur every time, only about 1 in 6 times.
> 
> 
> This test has a recipe to send sigterm to make. So, in your testing,
> occasionally this output
> "make: *** [work/features/temp_stdin.mk.5:5: bye.mk] Terminated" ends
> up in the log file, but
> most of the time it does not. Looks like there is a race here between
> sigterm and make writing to the log file.

Indeed, adding a sleep after kill seems to ensure the message is
always written to the log file.

I put a very long sleep here; it doesn't really matter since it's
killed together with make, but there may be a more elegant way.

--- make-4.3.91/tests/scripts/features/temp_stdin
+++ make-4.3.91/tests/scripts/features/temp_stdin
@@ -69,9 +69,9 @@
 include bye.mk
 pid:=$(shell echo $$PPID)
 all:;
-bye.mk: force; @kill -TERM $(pid)
+bye.mk: force; @kill -TERM $(pid); sleep 1000
 force:
-!, '-f-', "", POSIX::SIGTERM);
+!, '-f-', "make: \*\*\* \[work/features/temp_stdin.mk.5:5: bye.mk\] 
Terminated", POSIX::SIGTERM);
 }
 unlink($fout);
 




reply via email to

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