busybox/shell/ash_test/ash-misc
Ron Yorston ea7d2f6ec0 ash: fix error code regression
The commit 'ash,hush: set exit code 127 in "sh /does/not/exist" case'
only partly implemented the dash commit '[ERROR] Allow the originator
of EXERROR to set the exit status'.  This resulted in incorrect error
codes for a syntax error:

   $ )
   $ echo $?
   0

or a redirection error for a special builtin:

   $ rm -f xxx
   $ eval cat <xxx
   $ echo $?
   0

Signed-off-by: Ron Yorston <rmy@pobox.com>
Reported-by: Martijn Dekker <martijn@inlv.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-01-03 11:18:23 +01:00
..
and-or.right ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
and-or.tests ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
assignment1.right ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
assignment1.tests ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
assignment3.right ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
assignment3.tests ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
assignment4.right ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
assignment4.tests ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
break1.right ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
break1.tests ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
break2.right ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
break2.tests ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
break3.right ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
break3.tests ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
break4.right ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
break4.tests ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
break5.right ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
break5.tests ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
builtin1.right ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
builtin1.tests ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
case1.right ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
case1.tests ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
colon.right ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
colon.tests ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
command2.right ash: add tests for failures of the exec and command builtins 2015-10-30 22:19:06 +01:00
command2.tests ash: add tests for failures of the exec and command builtins 2015-10-30 22:19:06 +01:00
command.right ash: respect -p flag when command builtin is run with -v/-V 2015-10-29 20:05:32 +01:00
command.tests ash: respect -p flag when command builtin is run with -v/-V 2015-10-29 20:05:32 +01:00
compound.right ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
compound.tests ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
continue1.right ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
continue1.tests ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
continue2.right ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
continue2.tests ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
continue3.right ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
continue3.tests ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
echo_write_error.right echo: do not retry on write errors 2011-02-07 02:03:51 +01:00
echo_write_error.tests fix file mode 2015-07-13 03:52:32 +02:00
empty_for2.right ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
empty_for2.tests ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
empty_for.right ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
empty_for.tests ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
errexit1.right ash: exit after subshell error when errexit option is set 2016-09-17 23:28:23 +02:00
errexit1.tests ash: exit after subshell error when errexit option is set 2016-09-17 23:28:23 +02:00
eval1.right ash: [EVAL] Make eval with empty arguments return 0 2016-09-29 00:30:31 +02:00
eval1.tests ash: [EVAL] Make eval with empty arguments return 0 2016-09-29 00:30:31 +02:00
eval2.right hush: fix 'eval ""' handling 2016-09-29 01:44:17 +02:00
eval2.tests hush: fix 'eval ""' handling 2016-09-29 01:44:17 +02:00
exec.right ash: add tests for failures of the exec and command builtins 2015-10-30 22:19:06 +01:00
exec.tests ash: add tests for failures of the exec and command builtins 2015-10-30 22:19:06 +01:00
exit1.right ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
exit1.tests ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
exitcode1.right ash: eval: Return status in eval functions 2016-09-28 19:41:57 +02:00
exitcode1.tests ash: eval: Return status in eval functions 2016-09-28 19:41:57 +02:00
exitcode2.right ash: fix error code regression 2017-01-03 11:18:23 +01:00
exitcode2.tests ash: fix error code regression 2017-01-03 11:18:23 +01:00
exitcode_EACCES.right ash testsuite: fix false positives 2016-10-07 04:07:05 +02:00
exitcode_EACCES.tests sh testsuite: add tests for exitcode on failure to exec 2016-10-03 00:55:34 +02:00
exitcode_ENOENT.right ash testsuite: fix false positives 2016-10-07 04:07:05 +02:00
exitcode_ENOENT.tests sh testsuite: add tests for exitcode on failure to exec 2016-10-03 00:55:34 +02:00
for_with_bslashes.right ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
for_with_bslashes.tests ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
for_with_keywords.right ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
for_with_keywords.tests ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
for.right ash: allow newline after variable name in for loop 2015-10-29 19:30:55 +01:00
for.tests ash: allow newline after variable name in for loop 2015-10-29 19:30:55 +01:00
func1.right ash: copy function tests from hush testsuite 2015-11-04 14:48:16 +01:00
func1.tests ash: copy function tests from hush testsuite 2015-11-04 14:48:16 +01:00
func2.right ash: copy function tests from hush testsuite 2015-11-04 14:48:16 +01:00
func2.tests ash: copy function tests from hush testsuite 2015-11-04 14:48:16 +01:00
func3.right ash: copy function tests from hush testsuite 2015-11-04 14:48:16 +01:00
func3.tests ash: copy function tests from hush testsuite 2015-11-04 14:48:16 +01:00
func4.right ash: copy function tests from hush testsuite 2015-11-04 14:48:16 +01:00
func4.tests ash: copy function tests from hush testsuite 2015-11-04 14:48:16 +01:00
func5.right ash: copy function tests from hush testsuite 2015-11-04 14:48:16 +01:00
func5.tests ash: copy function tests from hush testsuite 2015-11-04 14:48:16 +01:00
func6.right ash: fix "return N" not setting $? in loop conditionals 2016-10-01 19:56:52 +02:00
func6.tests ash: fix "return N" not setting $? in loop conditionals 2016-10-01 19:56:52 +02:00
func_args1.right ash: copy function tests from hush testsuite 2015-11-04 14:48:16 +01:00
func_args1.tests hush-misc/func_args1.tests: remove "UNFIXED BUG", it does not fail 2015-11-04 14:50:19 +01:00
func_bash1.right ash: add support for bash 'function' keyword 2015-11-04 19:30:24 +01:00
func_bash1.tests ash: add support for bash 'function' keyword 2015-11-04 19:30:24 +01:00
func_local1.right ash: copy function tests from hush testsuite 2015-11-04 14:48:16 +01:00
func_local1.tests ash: copy function tests from hush testsuite 2015-11-04 14:48:16 +01:00
func_local2.right ash: copy function tests from hush testsuite 2015-11-04 14:48:16 +01:00
func_local2.tests ash: copy function tests from hush testsuite 2015-11-04 14:48:16 +01:00
group_in_braces.right hush: allow { cmd } to not be terminated by semicolon in some cases 2016-11-04 18:46:14 +01:00
group_in_braces.tests hush: allow { cmd } to not be terminated by semicolon in some cases 2016-11-04 18:46:14 +01:00
if_false_exitcode.right ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
if_false_exitcode.tests ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
last_amp.right
last_amp.tests
local1.right ash: make "locak VAR" unset VAR (bash does that) 2014-03-16 18:41:11 +01:00
local1.tests ash: make "locak VAR" unset VAR (bash does that) 2014-03-16 18:41:11 +01:00
local2.right ash: only allow local variables in functions 2015-10-29 20:33:44 +01:00
local2.tests ash: only allow local variables in functions 2015-10-29 20:33:44 +01:00
nommu1.right ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
nommu1.tests ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
nommu2.right ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
nommu2.tests ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
nommu3.right ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
nommu3.tests ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
nulltick1.right
nulltick1.tests
opts1.right ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
opts1.tests ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
pid.right ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
pid.tests ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
pipefail.right ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
pipefail.tests ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
read.right ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
read.tests ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
return1.right ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
return1.tests ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
shift1.right
shift1.tests
shift.right ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
shift.tests ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
sigint1.right ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
sigint1.tests ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
source1.right
source1.tests
source2.right
source2.tests
source3.right hush: fix ". EMPTY_LINE" not setting $? to 0 2016-09-29 01:27:09 +02:00
source3.tests hush: fix ". EMPTY_LINE" not setting $? to 0 2016-09-29 01:27:09 +02:00
source5.right sh testsuite: sync ash-misc/source* and hush-misc/source* 2016-10-02 18:23:14 +02:00
source5.tests sh testsuite: sync ash-misc/source* and hush-misc/source* 2016-10-02 18:23:14 +02:00
tickquote1.right ash: remove parsebackquote flag 2015-07-13 03:50:27 +02:00
tickquote1.tests ash: remove parsebackquote flag 2015-07-13 03:50:27 +02:00
unicode1.right ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
unicode1.tests ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
until1.right ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
until1.tests ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
wait4.right hush: rework "wait %jobspec" to work in non-interactive shells too 2016-11-08 00:59:29 +01:00
wait4.tests hush: rework "wait %jobspec" to work in non-interactive shells too 2016-11-08 00:59:29 +01:00
wait5.right hush: rework "wait %jobspec" to work in non-interactive shells too 2016-11-08 00:59:29 +01:00
wait5.tests hush: rework "wait %jobspec" to work in non-interactive shells too 2016-11-08 00:59:29 +01:00
while1.right ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
while1.tests ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
while2.right ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
while2.tests ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
while4.right ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
while4.tests ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
while_in_subshell.right ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00
while_in_subshell.tests ash testsuite: add most of hust tests which pass for ash 2016-10-03 00:06:55 +02:00