busybox/shell/ash_test
Denys Vlasenko eb17b6f6c9 ash: eval: Return status in eval functions
Backported from dash:

    eval: Return status in eval functions

    The exit status is currently clobbered too early for case statements
    and loops.  This patch fixes it by making the eval functions return
    the current exit status and setting them in one place -- evaltree.

    Harald van Dijk pointed out a number of bugs in the original patch.

function                                             old     new   delta
evalcommand                                         1226    1242     +16
cmdloop                                              383     398     +15
evalfor                                              223     227      +4
evalcase                                             271     275      +4
localcmd                                             348     350      +2
evaltreenr                                           927     928      +1
evaltree                                             927     928      +1
evalsubshell                                         150     151      +1
evalpipe                                             356     357      +1
parse_command                                       1585    1584      -1
evalloop                                             177     164     -13
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 9/2 up/down: 45/-14)             Total: 31 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-09-28 19:41:57 +02:00
..
ash-alias small ash testsuite, adapted from bash 2007-03-05 00:27:50 +00:00
ash-arith shell/math: deconvolute and explain ?: handling. Give better error message 2010-09-16 11:50:46 +02:00
ash-glob ash,hush: add a test which fails for ash since commit 549deab 2015-09-04 03:33:02 +02:00
ash-heredoc ash: bash-compatible $'...' shouldn't expand in double quotes 2016-04-15 22:16:46 +02:00
ash-invert add ash testcases 2007-03-05 20:46:46 +00:00
ash-misc ash: eval: Return status in eval functions 2016-09-28 19:41:57 +02:00
ash-quoting ash: fix handling of NULs in $'abc\000def\x00asd'. Closes 9286 2016-09-25 20:54:25 +02:00
ash-read shell: split read builtin from ash 2010-01-12 22:11:24 +01:00
ash-redir ash: fix a bug in >${varexp} handling. Closes 5282 2012-06-09 02:06:57 +02:00
ash-signals ash: do not leave SIGQUIT ignored on "exec CMD" 2016-07-16 18:33:55 +02:00
ash-standalone ash: fix unset in standalone mode 2010-06-18 14:23:47 +02:00
ash-vars ash: fix handling of ${VAR: -2} 2016-07-25 03:56:00 +02:00
.gitignore ash_test: ignore generated files 2016-03-22 18:15:24 -04:00
printenv.c ash_test: printenv: fix missing includes 2016-03-22 18:15:14 -04:00
recho.c whitespace cleanup 2010-10-29 11:46:52 +02:00
run-all ash tests: make test print test name before it is run 2015-10-29 20:34:20 +01:00
zecho.c whitespace cleanup 2010-10-29 11:46:52 +02:00