ash: add a testcase for recently fixed signal bug
This commit is contained in:
parent
23ffb6a4a2
commit
81887e2342
@ -1,6 +0,0 @@
|
|||||||
# test: closed fds should stay closed
|
|
||||||
exec 1>&-
|
|
||||||
echo TEST >TEST
|
|
||||||
echo JUNK # lost: stdout is closed
|
|
||||||
cat TEST >&2
|
|
||||||
rm TEST
|
|
20
shell/ash_test/ash-signals/signal1.right
Normal file
20
shell/ash_test/ash-signals/signal1.right
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
got signal
|
||||||
|
trap -- 'echo got signal' USR1
|
||||||
|
sent 1 signal
|
||||||
|
got signal
|
||||||
|
sleep interrupted
|
||||||
|
trap -- 'echo got signal' USR1
|
||||||
|
sent 2 signal
|
||||||
|
got signal
|
||||||
|
sleep interrupted
|
||||||
|
trap -- 'echo got signal' USR1
|
||||||
|
sent 3 signal
|
||||||
|
got signal
|
||||||
|
sleep interrupted
|
||||||
|
trap -- 'echo got signal' USR1
|
||||||
|
sent 4 signal
|
||||||
|
got signal
|
||||||
|
sleep interrupted
|
||||||
|
trap -- 'echo got signal' USR1
|
||||||
|
sent 5 signal
|
||||||
|
sleep completed
|
24
shell/ash_test/ash-signals/signal1.tests
Executable file
24
shell/ash_test/ash-signals/signal1.tests
Executable file
@ -0,0 +1,24 @@
|
|||||||
|
sleeping=true
|
||||||
|
|
||||||
|
trap "echo got signal" USR1
|
||||||
|
|
||||||
|
for try in 1 2 3 4 5; do
|
||||||
|
kill -USR1 $$
|
||||||
|
sleep 1
|
||||||
|
echo sent $try signal
|
||||||
|
done &
|
||||||
|
|
||||||
|
sleep 10 &
|
||||||
|
|
||||||
|
while $sleeping; do
|
||||||
|
trap
|
||||||
|
if wait %%; then
|
||||||
|
echo sleep completed
|
||||||
|
sleeping=false
|
||||||
|
elif [ $? == 127 ]; then
|
||||||
|
echo no sleep tonite
|
||||||
|
sleeping=false
|
||||||
|
else
|
||||||
|
echo sleep interrupted;
|
||||||
|
fi
|
||||||
|
done
|
@ -1,6 +1,9 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
test -x ash || { echo "No ./ash?!"; exit; }
|
test -x ash || {
|
||||||
|
echo "No ./ash?! Perhaps you want to run 'ln -s ../../busybox ash'"
|
||||||
|
exit
|
||||||
|
}
|
||||||
test -x printenv || gcc -O2 -o printenv printenv.c || exit $?
|
test -x printenv || gcc -O2 -o printenv printenv.c || exit $?
|
||||||
test -x recho || gcc -O2 -o recho recho.c || exit $?
|
test -x recho || gcc -O2 -o recho recho.c || exit $?
|
||||||
test -x zecho || gcc -O2 -o zecho zecho.c || exit $?
|
test -x zecho || gcc -O2 -o zecho zecho.c || exit $?
|
||||||
@ -50,6 +53,7 @@ if [ $# -lt 1 ]; then
|
|||||||
modules=`ls -d ash-*`
|
modules=`ls -d ash-*`
|
||||||
|
|
||||||
for module in $modules; do
|
for module in $modules; do
|
||||||
|
echo do_test $module
|
||||||
do_test $module
|
do_test $module
|
||||||
done
|
done
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user