diff options
author | Andreas Baumann <mail@andreasbaumann.cc> | 2015-01-03 13:58:15 +0100 |
---|---|---|
committer | Andreas Baumann <mail@andreasbaumann.cc> | 2015-01-03 13:58:15 +0100 |
commit | 4aca87515a5083ae0e31ce3177189fd43b6d05ac (patch) | |
tree | 7b1d9a31393ca090757dc6f0d3859b4fcd93f271 /release/src/router/busybox/shell/hush_test/hush-trap | |
parent | 008d0be72b2f160382c6e880765e96b64a050c65 (diff) | |
download | tomato-4aca87515a5083ae0e31ce3177189fd43b6d05ac.tar.gz tomato-4aca87515a5083ae0e31ce3177189fd43b6d05ac.tar.bz2 |
patch to Vanilla Tomato 1.28
Diffstat (limited to 'release/src/router/busybox/shell/hush_test/hush-trap')
8 files changed, 72 insertions, 0 deletions
diff --git a/release/src/router/busybox/shell/hush_test/hush-trap/catch.right b/release/src/router/busybox/shell/hush_test/hush-trap/catch.right new file mode 100644 index 00000000..9e34c4c4 --- /dev/null +++ b/release/src/router/busybox/shell/hush_test/hush-trap/catch.right @@ -0,0 +1,4 @@ +sending USR2 +caught +sending USR2 +sending USR2 diff --git a/release/src/router/busybox/shell/hush_test/hush-trap/catch.tests b/release/src/router/busybox/shell/hush_test/hush-trap/catch.tests new file mode 100755 index 00000000..d2a21d17 --- /dev/null +++ b/release/src/router/busybox/shell/hush_test/hush-trap/catch.tests @@ -0,0 +1,20 @@ +# 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/release/src/router/busybox/shell/hush_test/hush-trap/exit.right b/release/src/router/busybox/shell/hush_test/hush-trap/exit.right new file mode 100644 index 00000000..b4932fb7 --- /dev/null +++ b/release/src/router/busybox/shell/hush_test/hush-trap/exit.right @@ -0,0 +1,2 @@ +cow +moo diff --git a/release/src/router/busybox/shell/hush_test/hush-trap/exit.tests b/release/src/router/busybox/shell/hush_test/hush-trap/exit.tests new file mode 100755 index 00000000..092543c2 --- /dev/null +++ b/release/src/router/busybox/shell/hush_test/hush-trap/exit.tests @@ -0,0 +1,3 @@ +"$THIS_SH" -c 'trap "echo cow" 0' +"$THIS_SH" -c 'trap "echo moo" EXIT' +"$THIS_SH" -c 'trap "echo no" 0; trap 0' diff --git a/release/src/router/busybox/shell/hush_test/hush-trap/save-ret.right b/release/src/router/busybox/shell/hush_test/hush-trap/save-ret.right new file mode 100644 index 00000000..a3e12ce5 --- /dev/null +++ b/release/src/router/busybox/shell/hush_test/hush-trap/save-ret.right @@ -0,0 +1,2 @@ +YEAH +0 diff --git a/release/src/router/busybox/shell/hush_test/hush-trap/save-ret.tests b/release/src/router/busybox/shell/hush_test/hush-trap/save-ret.tests new file mode 100755 index 00000000..0786b6d9 --- /dev/null +++ b/release/src/router/busybox/shell/hush_test/hush-trap/save-ret.tests @@ -0,0 +1,4 @@ +# make sure we do not corrupt $? across traps +trap "echo YEAH; false" USR1 +kill -USR1 $$ +echo $? diff --git a/release/src/router/busybox/shell/hush_test/hush-trap/usage.right b/release/src/router/busybox/shell/hush_test/hush-trap/usage.right new file mode 100644 index 00000000..c0dbd6c3 --- /dev/null +++ b/release/src/router/busybox/shell/hush_test/hush-trap/usage.right @@ -0,0 +1,14 @@ +___ +___ +___ +trap -- 'a' EXIT +trap -- 'a' INT +trap -- 'a' USR1 +trap -- 'a' USR2 +___ +___ +trap -- 'a' USR1 +trap -- 'a' USR2 +___ +___ +trap -- 'a' USR2 diff --git a/release/src/router/busybox/shell/hush_test/hush-trap/usage.tests b/release/src/router/busybox/shell/hush_test/hush-trap/usage.tests new file mode 100755 index 00000000..d29c6e74 --- /dev/null +++ b/release/src/router/busybox/shell/hush_test/hush-trap/usage.tests @@ -0,0 +1,23 @@ +# 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 |