busybox/shell/ash_test/ash-misc/exitcode2.tests
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

13 lines
231 B
Plaintext
Executable File

# syntax error should return status 2
cat >test.sh <<EOF
)
EOF
chmod +x test.sh
$THIS_SH ./test.sh
echo Done:$?
rm -f test.sh
# redirection error with special builtin should return status 1
(eval cat <does_not_exist)
echo Done:$?