bug-make
[Top][All Lists]
Advanced

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

[bug #63315] Test failures with 4.4 on OpenBSD


From: Paul D. Smith
Subject: [bug #63315] Test failures with 4.4 on OpenBSD
Date: Sun, 6 Nov 2022 14:54:45 -0500 (EST)

Follow-up Comment #6, bug #63315 (project make):

I'm not sure what the problem actually is here.  It's something weird about
the shell; it's doing something strange with SIGTERM.  However I modified the
helper app to be able to send TERM then replaced the test recipe "kill -TERM
&& sleep" with a reference to that and with these two changes on the OpenBSD
system everything passes:


1213 Tests in 133 Categories Complete ... No Failures :-)


FYI:


diff --git a/tests/scripts/features/output-sync
b/tests/scripts/features/output-sync
index 13a54ca0..40546994 100644
--- a/tests/scripts/features/output-sync
+++ b/tests/scripts/features/output-sync
@@ -360,7 +360,7 @@ use POSIX ();
 # file.
 run_make_test(q!
 pid:=$(shell echo $$PPID)
-all:; @kill -TERM $(pid) && sleep 16
+all:; @#HELPER# term $(pid) sleep 10
 !, '-O -j2', '/#MAKE#: \*\*\* \[#MAKEFILE#:3: all] Terminated/',
POSIX::SIGTERM);
 }

diff --git a/tests/scripts/features/temp_stdin
b/tests/scripts/features/temp_stdin
index b06df53e..c01d627c 100644
--- a/tests/scripts/features/temp_stdin
+++ b/tests/scripts/features/temp_stdin
@@ -71,7 +71,7 @@ run_make_test(q!
 include bye.mk
 pid:=$(shell echo $$PPID)
 all:;
-bye.mk: force; @kill -TERM $(pid) && sleep 16
+bye.mk: force; @#HELPER# term $(pid) sleep 10
 force:
 !, '-f-', '/#MAKE#: \*\*\* \[#MAKEFILE#:5: bye.mk] Terminated/',
POSIX::SIGTERM);
 }
diff --git a/tests/thelp.pl b/tests/thelp.pl
index 993339cb..c243bcb8 100755
--- a/tests/thelp.pl
+++ b/tests/thelp.pl
@@ -16,6 +16,7 @@
 #  wait <word>  : wait for a file named <word> to exist
 #  tmout <secs> : Change the timeout for waiting.  Default is 4 seconds.
 #  sleep <secs> : Sleep for <secs> seconds then echo <secs>
+#  term <pid>   : send SIGTERM to PID <pid>
 #  fail <err>   : echo <err> to stdout then exit with error code err
 #
 # If given -q only the "out" command generates output.
@@ -95,6 +96,12 @@ sub op {
         return 1;
     }

+    if ($op eq 'term') {
+        print "term $nm\n";
+        kill('TERM', $nm);
+        return 1;
+    }
+
     if ($op eq 'fail') {
         print "fail $nm\n";
         exit($nm);



    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?63315>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/




reply via email to

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