diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2009-04-09 13:43:11 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2009-04-09 13:43:11 +0000 |
commit | efea9d2819165b414b81a47c8227ae007bd5382a (patch) | |
tree | fb8dbfb1877b5fafc082acb9ffef4b30273fb3ed /shell/hush_test | |
parent | f81e8dbc74186f34faa5ae2b0fe8bdc3f18114ae (diff) | |
download | busybox-w32-efea9d2819165b414b81a47c8227ae007bd5382a.tar.gz busybox-w32-efea9d2819165b414b81a47c8227ae007bd5382a.tar.bz2 busybox-w32-efea9d2819165b414b81a47c8227ae007bd5382a.zip |
hush: fix EXIT trap recursion case; check redirection failures
function old new delta
run_pipe 1299 1328 +29
hush_exit 90 102 +12
hush_main 1172 1179 +7
run_list 1226 1225 -1
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/1 up/down: 48/-1) Total: 47 bytes
Diffstat (limited to 'shell/hush_test')
-rw-r--r-- | shell/hush_test/hush-misc/exit1.right | 1 | ||||
-rwxr-xr-x | shell/hush_test/hush-misc/exit1.tests | 4 | ||||
-rw-r--r-- | shell/hush_test/hush-misc/redir3.right | 14 | ||||
-rwxr-xr-x | shell/hush_test/hush-misc/redir3.tests | 9 |
4 files changed, 28 insertions, 0 deletions
diff --git a/shell/hush_test/hush-misc/exit1.right b/shell/hush_test/hush-misc/exit1.right new file mode 100644 index 000000000..dd2cfc279 --- /dev/null +++ b/shell/hush_test/hush-misc/exit1.right | |||
@@ -0,0 +1 @@ | |||
Once | |||
diff --git a/shell/hush_test/hush-misc/exit1.tests b/shell/hush_test/hush-misc/exit1.tests new file mode 100755 index 000000000..41e0d092d --- /dev/null +++ b/shell/hush_test/hush-misc/exit1.tests | |||
@@ -0,0 +1,4 @@ | |||
1 | trap "echo Not shown" EXIT | ||
2 | (exit) # must be silent | ||
3 | trap "echo Once; exit" EXIT | ||
4 | { exit; } | ||
diff --git a/shell/hush_test/hush-misc/redir3.right b/shell/hush_test/hush-misc/redir3.right new file mode 100644 index 000000000..3d20bbf68 --- /dev/null +++ b/shell/hush_test/hush-misc/redir3.right | |||
@@ -0,0 +1,14 @@ | |||
1 | hush: can't open '/does/not/exist': No such file or directory | ||
2 | One:1 | ||
3 | hush: can't open '/cant/be/created': No such file or directory | ||
4 | One:1 | ||
5 | Ok | ||
6 | hush: can't open '/cant/be/created': No such file or directory | ||
7 | Zero:0 | ||
8 | hush: can't open '/cant/be/created': No such file or directory | ||
9 | One:1 | ||
10 | hush: can't open '/cant/be/created': No such file or directory | ||
11 | One:1 | ||
12 | hush: can't open '/cant/be/created': No such file or directory | ||
13 | Zero:0 | ||
14 | Done | ||
diff --git a/shell/hush_test/hush-misc/redir3.tests b/shell/hush_test/hush-misc/redir3.tests new file mode 100755 index 000000000..7c28e4324 --- /dev/null +++ b/shell/hush_test/hush-misc/redir3.tests | |||
@@ -0,0 +1,9 @@ | |||
1 | echo Error >/does/not/exist; echo One:$? | ||
2 | t=BAD | ||
3 | t=Ok >>/cant/be/created; echo One:$? | ||
4 | echo $t | ||
5 | ! >/cant/be/created; echo Zero:$? | ||
6 | exec >/cant/be/created; echo One:$? | ||
7 | exec /bin/true >/cant/be/created; echo One:$? | ||
8 | ! exec /bin/true >/cant/be/created; echo Zero:$? | ||
9 | echo Done | ||