aboutsummaryrefslogtreecommitdiff
path: root/shell/hush_test/hush-trap
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2016-10-01 22:36:14 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2016-10-01 22:36:14 +0200
commit3ed7e2749a3f9fd315d8f46a3b0a25ff10caf726 (patch)
treefccfb21b43b61d48da4832a6dc319e366e6127e7 /shell/hush_test/hush-trap
parent04b46bced991f802a17c0fc43c8f8448e4eb2c8f (diff)
downloadbusybox-3ed7e2749a3f9fd315d8f46a3b0a25ff10caf726.tar.gz
ash testsuite: add return_in_trap1.tests
Currently it fails Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell/hush_test/hush-trap')
-rw-r--r--shell/hush_test/hush-trap/catch.right5
-rwxr-xr-xshell/hush_test/hush-trap/catch.tests20
-rw-r--r--shell/hush_test/hush-trap/exit.right12
-rwxr-xr-xshell/hush_test/hush-trap/exit.tests34
-rw-r--r--shell/hush_test/hush-trap/return_in_trap1.right4
-rwxr-xr-xshell/hush_test/hush-trap/return_in_trap1.tests18
-rw-r--r--shell/hush_test/hush-trap/save-ret.right2
-rwxr-xr-xshell/hush_test/hush-trap/save-ret.tests4
-rw-r--r--shell/hush_test/hush-trap/savetrap.right8
-rwxr-xr-xshell/hush_test/hush-trap/savetrap.tests9
-rw-r--r--shell/hush_test/hush-trap/signal7.right1
-rwxr-xr-xshell/hush_test/hush-trap/signal7.tests18
-rw-r--r--shell/hush_test/hush-trap/signal_read1.right1
-rwxr-xr-xshell/hush_test/hush-trap/signal_read1.tests5
-rw-r--r--shell/hush_test/hush-trap/signal_read2.right2
-rwxr-xr-xshell/hush_test/hush-trap/signal_read2.tests7
-rw-r--r--shell/hush_test/hush-trap/subshell.right21
-rwxr-xr-xshell/hush_test/hush-trap/subshell.tests19
-rw-r--r--shell/hush_test/hush-trap/usage.right14
-rwxr-xr-xshell/hush_test/hush-trap/usage.tests23
20 files changed, 0 insertions, 227 deletions
diff --git a/shell/hush_test/hush-trap/catch.right b/shell/hush_test/hush-trap/catch.right
deleted file mode 100644
index 80a062c4b..000000000
--- a/shell/hush_test/hush-trap/catch.right
+++ /dev/null
@@ -1,5 +0,0 @@
-sending USR2
-caught
-sending USR2
-sending USR2
-USR2
diff --git a/shell/hush_test/hush-trap/catch.tests b/shell/hush_test/hush-trap/catch.tests
deleted file mode 100755
index d2a21d17e..000000000
--- a/shell/hush_test/hush-trap/catch.tests
+++ /dev/null
@@ -1,20 +0,0 @@
-# avoid ugly warnings about signals not being caught
-trap ":" USR1 USR2
-
-"$THIS_SH" -c '
-trap "echo caught" USR2
-echo "sending USR2"
-kill -USR2 $$
-
-trap "" USR2
-echo "sending USR2"
-kill -USR2 $$
-
-trap "-" USR2
-echo "sending USR2"
-kill -USR2 $$
-
-echo "not reached"
-'
-
-trap "-" USR1 USR2
diff --git a/shell/hush_test/hush-trap/exit.right b/shell/hush_test/hush-trap/exit.right
deleted file mode 100644
index 3d0072564..000000000
--- a/shell/hush_test/hush-trap/exit.right
+++ /dev/null
@@ -1,12 +0,0 @@
-cow
-moo
-Traps1:
-trap -- 'exitfunc' EXIT
-Traps2:
-trap -- 'echo Should not run' EXIT
-Check1: 42
-Traps1:
-trap -- 'exitfunc' EXIT
-Traps2:
-trap -- 'echo Should not run' EXIT
-Check2: 42
diff --git a/shell/hush_test/hush-trap/exit.tests b/shell/hush_test/hush-trap/exit.tests
deleted file mode 100755
index 2061105dd..000000000
--- a/shell/hush_test/hush-trap/exit.tests
+++ /dev/null
@@ -1,34 +0,0 @@
-"$THIS_SH" -c 'trap "echo cow" 0'
-"$THIS_SH" -c 'trap "echo moo" EXIT'
-"$THIS_SH" -c 'trap "echo no" 0; trap 0'
-
-(
-exitfunc() {
- echo "Traps1:"
- trap
- # EXIT trap is disabled after it is triggered,
- # it can not be "re-armed" like this:
- trap "echo Should not run" EXIT
- echo "Traps2:"
- trap
-}
-trap 'exitfunc' EXIT
-exit 42
-)
-echo Check1: $?
-
-(
-exitfunc() {
- echo "Traps1:"
- trap
- # EXIT trap is disabled after it is triggered,
- # it can not be "re-armed" like this:
- trap "echo Should not run" EXIT
- echo "Traps2:"
- trap
- exit 42
-}
-trap 'exitfunc' EXIT
-exit 66
-)
-echo Check2: $?
diff --git a/shell/hush_test/hush-trap/return_in_trap1.right b/shell/hush_test/hush-trap/return_in_trap1.right
deleted file mode 100644
index a6e637885..000000000
--- a/shell/hush_test/hush-trap/return_in_trap1.right
+++ /dev/null
@@ -1,4 +0,0 @@
-a:2
-b:0
-Trap
-d:3
diff --git a/shell/hush_test/hush-trap/return_in_trap1.tests b/shell/hush_test/hush-trap/return_in_trap1.tests
deleted file mode 100755
index f2498024f..000000000
--- a/shell/hush_test/hush-trap/return_in_trap1.tests
+++ /dev/null
@@ -1,18 +0,0 @@
-a() {
- (exit 2)
- echo a:$?
- (kill -s USR1 $$; echo b:$?; exit 3)
- echo c:$? # does not execute
- (exit 4)
-}
-
-trap "echo Trap; return" USR1
-a
-
-echo d:$?
-# It's debatable what is the correct value above.
-# Does 'return' in trap sees $? == 2 or $? == 3?
-# IOW: after (kill..), does shell first wait for its completion
-# and sets $?, then checks pending signals and runs a trap handler,
-# or does it first checks pending signals and runs handler?
-# hush does the former, and prints 3.
diff --git a/shell/hush_test/hush-trap/save-ret.right b/shell/hush_test/hush-trap/save-ret.right
deleted file mode 100644
index a3e12ce5e..000000000
--- a/shell/hush_test/hush-trap/save-ret.right
+++ /dev/null
@@ -1,2 +0,0 @@
-YEAH
-0
diff --git a/shell/hush_test/hush-trap/save-ret.tests b/shell/hush_test/hush-trap/save-ret.tests
deleted file mode 100755
index 0786b6d96..000000000
--- a/shell/hush_test/hush-trap/save-ret.tests
+++ /dev/null
@@ -1,4 +0,0 @@
-# make sure we do not corrupt $? across traps
-trap "echo YEAH; false" USR1
-kill -USR1 $$
-echo $?
diff --git a/shell/hush_test/hush-trap/savetrap.right b/shell/hush_test/hush-trap/savetrap.right
deleted file mode 100644
index a59225be3..000000000
--- a/shell/hush_test/hush-trap/savetrap.right
+++ /dev/null
@@ -1,8 +0,0 @@
-trap -- 'echo Exiting' EXIT
-trap -- 'echo WINCH!' WINCH
-trap -- 'echo Exiting' EXIT
-trap -- 'echo WINCH!' WINCH
-trap -- 'echo Exiting' EXIT
-trap -- 'echo WINCH!' WINCH
-Done
-Exiting
diff --git a/shell/hush_test/hush-trap/savetrap.tests b/shell/hush_test/hush-trap/savetrap.tests
deleted file mode 100755
index c2b312fb8..000000000
--- a/shell/hush_test/hush-trap/savetrap.tests
+++ /dev/null
@@ -1,9 +0,0 @@
-trap 'echo Exiting' EXIT
-trap 'echo WINCH!' SIGWINCH
-v=` trap `
-echo "$v"
-v=$( trap )
-echo "$v"
-v=`trap`
-echo "$v"
-echo Done
diff --git a/shell/hush_test/hush-trap/signal7.right b/shell/hush_test/hush-trap/signal7.right
deleted file mode 100644
index ba7453e42..000000000
--- a/shell/hush_test/hush-trap/signal7.right
+++ /dev/null
@@ -1 +0,0 @@
-Bug detected: 0
diff --git a/shell/hush_test/hush-trap/signal7.tests b/shell/hush_test/hush-trap/signal7.tests
deleted file mode 100755
index c2b1381f9..000000000
--- a/shell/hush_test/hush-trap/signal7.tests
+++ /dev/null
@@ -1,18 +0,0 @@
-bug() {
- trap : exit
- # Bug was causing sh to be run in subshell,
- # as if this line is replaced with (sh -c ...; exit $?) &
- # here:
- sh -c 'echo REAL_CHILD=$$' &
- echo PARENTS_IDEA_OF_CHILD=$!
- wait # make sure bkgd shell completes
-}
-
-bug | {
-while read varval; do
- eval $varval
-done
-test x"$REAL_CHILD" != x"" \
-&& test x"$REAL_CHILD" = x"$PARENTS_IDEA_OF_CHILD"
-echo "Bug detected: $?"
-}
diff --git a/shell/hush_test/hush-trap/signal_read1.right b/shell/hush_test/hush-trap/signal_read1.right
deleted file mode 100644
index 2870a8e70..000000000
--- a/shell/hush_test/hush-trap/signal_read1.right
+++ /dev/null
@@ -1 +0,0 @@
-Got HUP:0
diff --git a/shell/hush_test/hush-trap/signal_read1.tests b/shell/hush_test/hush-trap/signal_read1.tests
deleted file mode 100755
index 1105479a3..000000000
--- a/shell/hush_test/hush-trap/signal_read1.tests
+++ /dev/null
@@ -1,5 +0,0 @@
-(sleep 1; kill -HUP $$) &
-trap 'echo "Got HUP:$?"; exit' HUP
-while true; do
- read ignored
-done
diff --git a/shell/hush_test/hush-trap/signal_read2.right b/shell/hush_test/hush-trap/signal_read2.right
deleted file mode 100644
index 71a6bc16d..000000000
--- a/shell/hush_test/hush-trap/signal_read2.right
+++ /dev/null
@@ -1,2 +0,0 @@
-HUP
-Done:129
diff --git a/shell/hush_test/hush-trap/signal_read2.tests b/shell/hush_test/hush-trap/signal_read2.tests
deleted file mode 100755
index eab5b9b5b..000000000
--- a/shell/hush_test/hush-trap/signal_read2.tests
+++ /dev/null
@@ -1,7 +0,0 @@
-$THIS_SH -c '
-(sleep 1; kill -HUP $$) &
-while true; do
- read ignored
-done
-'
-echo "Done:$?"
diff --git a/shell/hush_test/hush-trap/subshell.right b/shell/hush_test/hush-trap/subshell.right
deleted file mode 100644
index f865b932b..000000000
--- a/shell/hush_test/hush-trap/subshell.right
+++ /dev/null
@@ -1,21 +0,0 @@
-trap -- '' HUP
-trap -- '' QUIT
-trap -- '' SYS
-Ok
-trap -- '' HUP
-trap -- '' QUIT
-trap -- '' SYS
-Ok
-trap -- '' HUP
-trap -- '' QUIT
-trap -- '' SYS
-Ok
-trap -- '' HUP
-trap -- '' QUIT
-trap -- '' SYS
-Ok
-trap -- '' HUP
-trap -- '' QUIT
-trap -- '' SYS
-TERM
-Done
diff --git a/shell/hush_test/hush-trap/subshell.tests b/shell/hush_test/hush-trap/subshell.tests
deleted file mode 100755
index d877f2b82..000000000
--- a/shell/hush_test/hush-trap/subshell.tests
+++ /dev/null
@@ -1,19 +0,0 @@
-# Non-empty traps should be reset in subshell
-
-# HUP is special in interactive shells
-trap '' HUP
-# QUIT is always special
-trap '' QUIT
-# SYS is not special
-trap '' SYS
-# WINCH is harmless
-trap 'bad: caught WINCH' WINCH
-# With TERM we'll check whether it is reset
-trap 'bad: caught TERM' TERM
-
-(trap; "$THIS_SH" -c 'kill -HUP $PPID'; echo Ok)
-(trap; "$THIS_SH" -c 'kill -QUIT $PPID'; echo Ok)
-(trap; "$THIS_SH" -c 'kill -SYS $PPID'; echo Ok)
-(trap; "$THIS_SH" -c 'kill -WINCH $PPID'; echo Ok)
-(trap; "$THIS_SH" -c 'kill -TERM $PPID'; echo Bad: TERM is not reset)
-echo Done
diff --git a/shell/hush_test/hush-trap/usage.right b/shell/hush_test/hush-trap/usage.right
deleted file mode 100644
index c0dbd6c3c..000000000
--- a/shell/hush_test/hush-trap/usage.right
+++ /dev/null
@@ -1,14 +0,0 @@
-___
-___
-___
-trap -- 'a' EXIT
-trap -- 'a' INT
-trap -- 'a' USR1
-trap -- 'a' USR2
-___
-___
-trap -- 'a' USR1
-trap -- 'a' USR2
-___
-___
-trap -- 'a' USR2
diff --git a/shell/hush_test/hush-trap/usage.tests b/shell/hush_test/hush-trap/usage.tests
deleted file mode 100755
index d29c6e74a..000000000
--- a/shell/hush_test/hush-trap/usage.tests
+++ /dev/null
@@ -1,23 +0,0 @@
-# no output -- default state
-echo ___
-trap
-
-# assign some traps
-echo ___
-trap "a" EXIT INT USR1 USR2
-
-# show them all
-echo ___
-trap
-
-# clear one
-echo ___
-trap 0 INT
-echo ___
-trap
-
-# clear another
-echo ___
-trap "-" USR1
-echo ___
-trap