summaryrefslogtreecommitdiff
path: root/shell/hush_test
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2009-04-09 13:43:11 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2009-04-09 13:43:11 +0000
commitefea9d2819165b414b81a47c8227ae007bd5382a (patch)
treefb8dbfb1877b5fafc082acb9ffef4b30273fb3ed /shell/hush_test
parentf81e8dbc74186f34faa5ae2b0fe8bdc3f18114ae (diff)
downloadbusybox-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.right1
-rwxr-xr-xshell/hush_test/hush-misc/exit1.tests4
-rw-r--r--shell/hush_test/hush-misc/redir3.right14
-rwxr-xr-xshell/hush_test/hush-misc/redir3.tests9
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 @@
1trap "echo Not shown" EXIT
2(exit) # must be silent
3trap "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 @@
1hush: can't open '/does/not/exist': No such file or directory
2One:1
3hush: can't open '/cant/be/created': No such file or directory
4One:1
5Ok
6hush: can't open '/cant/be/created': No such file or directory
7Zero:0
8hush: can't open '/cant/be/created': No such file or directory
9One:1
10hush: can't open '/cant/be/created': No such file or directory
11One:1
12hush: can't open '/cant/be/created': No such file or directory
13Zero:0
14Done
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 @@
1echo Error >/does/not/exist; echo One:$?
2t=BAD
3t=Ok >>/cant/be/created; echo One:$?
4echo $t
5! >/cant/be/created; echo Zero:$?
6exec >/cant/be/created; echo One:$?
7exec /bin/true >/cant/be/created; echo One:$?
8! exec /bin/true >/cant/be/created; echo Zero:$?
9echo Done