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
This commit is contained in:
1
shell/hush_test/hush-misc/exit1.right
Normal file
1
shell/hush_test/hush-misc/exit1.right
Normal file
@@ -0,0 +1 @@
|
||||
Once
|
4
shell/hush_test/hush-misc/exit1.tests
Executable file
4
shell/hush_test/hush-misc/exit1.tests
Executable file
@@ -0,0 +1,4 @@
|
||||
trap "echo Not shown" EXIT
|
||||
(exit) # must be silent
|
||||
trap "echo Once; exit" EXIT
|
||||
{ exit; }
|
14
shell/hush_test/hush-misc/redir3.right
Normal file
14
shell/hush_test/hush-misc/redir3.right
Normal file
@@ -0,0 +1,14 @@
|
||||
hush: can't open '/does/not/exist': No such file or directory
|
||||
One:1
|
||||
hush: can't open '/cant/be/created': No such file or directory
|
||||
One:1
|
||||
Ok
|
||||
hush: can't open '/cant/be/created': No such file or directory
|
||||
Zero:0
|
||||
hush: can't open '/cant/be/created': No such file or directory
|
||||
One:1
|
||||
hush: can't open '/cant/be/created': No such file or directory
|
||||
One:1
|
||||
hush: can't open '/cant/be/created': No such file or directory
|
||||
Zero:0
|
||||
Done
|
9
shell/hush_test/hush-misc/redir3.tests
Executable file
9
shell/hush_test/hush-misc/redir3.tests
Executable file
@@ -0,0 +1,9 @@
|
||||
echo Error >/does/not/exist; echo One:$?
|
||||
t=BAD
|
||||
t=Ok >>/cant/be/created; echo One:$?
|
||||
echo $t
|
||||
! >/cant/be/created; echo Zero:$?
|
||||
exec >/cant/be/created; echo One:$?
|
||||
exec /bin/true >/cant/be/created; echo One:$?
|
||||
! exec /bin/true >/cant/be/created; echo Zero:$?
|
||||
echo Done
|
Reference in New Issue
Block a user