Avoid spurious test failures when fork() coincides with signal being sent,

then pgrep finds child that hasn't exec("sleep") yet. So add 1/10 sec sleep
to let exec() happen before pgrep.

While we're there fix spurious "terminated" messages and reorder test file
creation so it fits in 80 columns.
This commit is contained in:
Rob Landley 2019-09-22 09:45:30 -05:00
parent 49f5ac02c5
commit e794647d2a

View File

@ -4,21 +4,18 @@
#testing "name" "command" "result" "infile" "stdin"
echo "#!$(which sh)
while true; do
sleep 0.1
done" > toybox.killall.test.script
chmod a+x toybox.killall.test.script
cp toybox.killall.test.script toybox.test
echo -e "#!$(which sh)\nwhile true; do sleep 0.1; done" > toybox.test
chmod a+x toybox.test
cp toybox.test toybox.killall.test.script
tst=toybox.test
./$tst &
testing "short name" "killall -w $tst && echo killed ; \
(./$tst 2>/dev/null &)
testing "short name" "killall -w $tst && echo killed ; sleep 0.1; \
pgrep -l $tst || echo really" "killed\nreally\n" "" ""
tst=toybox.killall.test.script
./$tst &
testing "long name" "killall -w $tst && echo killed ; \
(./$tst 2>/dev/null &)
testing "long name" "killall -w $tst && echo killed ; sleep 0.1; \
pgrep -l $tst || echo really" "killed\nreally\n" "" ""
rm -f toybox.killall.test.script toybox.test