From c8400d7f82adbf1716244e136121ab59a4b075fb Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Fri, 11 Oct 2019 15:40:08 -0500 Subject: Fix same spurious test failures that were affecting killall, and silence "killed" messages from the shell by forking in a subshell. --- tests/pidof.test | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/tests/pidof.test b/tests/pidof.test index 7de31fc2..1d0ea567 100644 --- a/tests/pidof.test +++ b/tests/pidof.test @@ -8,26 +8,22 @@ # pidof (unlike killall) doesn't match argv[1] unless you supply -x. # -echo "#!$(which sh) -while true; do - sleep 0.1 -done" > toybox.pidof.test.script -chmod a+x toybox.pidof.test.script -cp toybox.pidof.test.script pidof.test - -./pidof.test & -pid=$! -testcmd "short argv[1]" "pidof.test" "" "" "" -testcmd "short argv[1] -x" "-x pidof.test" "$pid\n" "" "" +echo -e "#!$(which sh)\nread i < /proc/self/fd/1" > pidof-$$.test +chmod a+x pidof-$$.test +cp pidof-$$.test toybox.pidof-$$.test.script +(./pidof-$$.test & echo $! > pid.txt) +pid=$(cat pid.txt) +testcmd "short argv[1]" "pidof-$$.test" "" "" "" +testcmd "short argv[1] -x" "-x pidof-$$.test" "$pid\n" "" "" kill $pid -./toybox.pidof.test.script & -pid=$! -testcmd "long argv[1]" "toybox.pidof.test.script" "" "" "" -testcmd "long argv[1] -x" "-x toybox.pidof.test.script" "$pid\n" "" "" +(./toybox.pidof-$$.test.script & echo $! > pid.txt) +pid=$(cat pid.txt) +testcmd "long argv[1]" "toybox.pidof-$$.test.script" "" "" "" +testcmd "long argv[1] -x" "-x toybox.pidof-$$.test.script" "$pid\n" "" "" kill $pid -rm -f toybox.pidof.test.script toybox.test +rm -f toybox.pidof-$$.test.script pidof-$$.test pid.txt # pidof (unlike killall) will match itself. testcmd "pidof pidof" "pidof > /dev/null && echo found" "found\n" "" "" -- cgit v1.2.3