[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);
- Re: GNU make 4.3.92 on mingw, (continued)