busybox/shell/hush_test/hush-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
and-or.tests
assignment1.right
assignment1.tests
assignment2.right hush testsuite: fix another false positive 2016-10-03 00:14:26 +02:00
assignment2.tests hush testsuite: fix another false positive 2016-10-03 00:14:26 +02:00
assignment3.right
assignment3.tests
assignment4.right
assignment4.tests
break1.right
break1.tests
break2.right
break2.tests
break3.right
break3.tests
break4.right
break4.tests
break5.right
break5.tests
builtin1.right
builtin1.tests
case1.right
case1.tests
colon.right
colon.tests
compound.right
compound.tests
continue1.right
continue1.tests
continue2.right
continue2.tests
continue3.right
continue3.tests
echo_write_error.right
echo_write_error.tests
empty_args.right
empty_args.tests
empty_for2.right
empty_for2.tests
empty_for.right
empty_for.tests
env_and_func.right
env_and_func.tests
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
exec.tests
exit1.right
exit1.tests
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 sh testsuite: add tests for exitcode on failure to exec 2016-10-03 00:55:34 +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 sh testsuite: add tests for exitcode on failure to exec 2016-10-03 00:55:34 +02:00
exitcode_ENOENT.tests sh testsuite: add tests for exitcode on failure to exec 2016-10-03 00:55:34 +02:00
export-n.right
export-n.tests
export.right
export.tests
for_with_bslashes.right
for_with_bslashes.tests
for_with_keywords.right
for_with_keywords.tests
for.right hush: copy for.tests from ash testsuite 2015-10-29 22:37:25 +01:00
for.tests hush: copy for.tests from ash testsuite 2015-10-29 22:37:25 +01:00
func1.right
func1.tests
func2.right
func2.tests
func3.right
func3.tests
func4.right
func4.tests
func5.right
func5.tests
func6.right hush: add func6.tests 2016-10-01 20:12:10 +02:00
func6.tests hush: add func6.tests 2016-10-01 20:12:10 +02:00
func_args1.right
func_args1.tests hush-misc/func_args1.tests: remove "UNFIXED BUG", it does not fail 2015-11-04 14:50:19 +01:00
func_local1.right
func_local1.tests
func_local2.right
func_local2.tests
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
if_false_exitcode.tests
last_amp.right hush testsuite: add many tests from ash testsuite 2016-10-02 17:39:31 +02:00
last_amp.tests hush testsuite: add many tests from ash testsuite 2016-10-02 17:39:31 +02:00
local1.right hush testsuite: add many tests from ash testsuite 2016-10-02 17:39:31 +02:00
local1.tests hush testsuite: add many tests from ash testsuite 2016-10-02 17:39:31 +02:00
nommu1.right
nommu1.tests
nommu2.right
nommu2.tests
nommu3.right hush: fix a nommu bug where a part of function body is lost if run in a pipe 2015-09-04 06:22:10 +02:00
nommu3.tests typo fix 2015-10-13 01:49:06 +02:00
nulltick1.right hush testsuite: add many tests from ash testsuite 2016-10-02 17:39:31 +02:00
nulltick1.tests hush testsuite: add many tests from ash testsuite 2016-10-02 17:39:31 +02:00
opts1.right
opts1.tests
pid.right
pid.tests
pipefail.right
pipefail.tests
read.right
read.tests
return1.right
return1.tests
shift.right
shift.tests
sig_exitcode.right
sig_exitcode.tests
sigint1.right
sigint1.tests
source1.right sh testsuite: sync ash-misc/source* and hush-misc/source* 2016-10-02 18:23:14 +02:00
source1.tests sh testsuite: sync ash-misc/source* and hush-misc/source* 2016-10-02 18:23:14 +02:00
source2.right sh testsuite: sync ash-misc/source* and hush-misc/source* 2016-10-02 18:23:14 +02:00
source2.tests sh testsuite: sync ash-misc/source* and hush-misc/source* 2016-10-02 18:23:14 +02:00
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
source4.right sh testsuite: sync ash-misc/source* and hush-misc/source* 2016-10-02 18:23:14 +02:00
source4.tests sh testsuite: sync ash-misc/source* and hush-misc/source* 2016-10-02 18:23:14 +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
syntax_err_negate.right
syntax_err_negate.tests
syntax_err.right
syntax_err.tests
unicode1.right hush: make ${#var} unicode-aware 2014-08-13 09:57:44 +02:00
unicode1.tests hush: make ${#var} unicode-aware 2014-08-13 09:57:44 +02:00
until1.right
until1.tests
wait1.right hush: fix "wait PID" 2016-10-28 21:59:09 +02:00
wait1.tests hush: fix "wait PID" 2016-10-28 21:59:09 +02:00
wait2.right hush: fix "wait PID" 2016-10-28 21:59:09 +02:00
wait2.tests hush: fix "wait PID" 2016-10-28 21:59:09 +02:00
wait3.right hush: fix "wait PID" 2016-10-28 21:59:09 +02:00
wait3.tests hush: fix "wait PID" 2016-10-28 21:59:09 +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
while1.tests
while2.right
while2.tests
while3.right
while3.tests
while4.right
while4.tests
while_in_subshell.right
while_in_subshell.tests