From 82a33b3f060e163b14155e8f6833ec30514a609b Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Mon, 1 Jul 2019 16:15:55 -0700 Subject: killall: better handling of long names. Change names_to_pid() so that we can actually match shell scripts with long names (the code to get the shell script's name was correct, but there was an extra test preventing us from actually comparing it to the sought name). In kill.c itself, remove a dead test for -l and switch to the FLAG() macro. Also extend the tests to explicitly cover long and short names. --- tests/killall.test | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'tests') diff --git a/tests/killall.test b/tests/killall.test index 40f6cb35..7e171d46 100644 --- a/tests/killall.test +++ b/tests/killall.test @@ -5,10 +5,16 @@ #testing "name" "command" "result" "infile" "stdin" echo "#!$(which sh) -yes > /dev/null" > toybox.killall.test.script +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 + +./toybox.test & +testing "short name" "killall toybox.test && echo killed ; pgrep -l toybox.test || echo really" "killed\nreally\n" "" "" ./toybox.killall.test.script & -testing "script" "killall toybox.killall.test.script && echo killed ; pgrep -l toybox.killall.test.script || echo really" "killed\nreally\n" "" "" +testing "long name" "killall toybox.killall.test.script && echo killed ; pgrep -l toybox.killall.test.script || echo really" "killed\nreally\n" "" "" -rm -f toybox.killall.test.script +rm -f toybox.killall.test.script toybox.test -- cgit v1.2.3