aboutsummaryrefslogtreecommitdiff
path: root/shell/ash_test (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* hush: fix ${##}, ${#?}, ${#!} handlingDenys Vlasenko2017-07-263-1/+43
| | | | | | | | | | function old new delta parse_dollar 786 820 +34 expand_one_var 1579 1592 +13 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 47/0) Total: 47 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: [VAR] Move unsetvar functionality into setvareqDenys Vlasenko2017-07-253-1/+58
| | | | | | | | | | | | | | | | | | | | | | | | Upstream commit: Date: Tue, 25 May 2010 20:55:05 +0800 [VAR] Move unsetvar functionality into setvareq This patch moves the unsetvar code into setvareq so that we can no have a pathological case of an unset variable hanging around unless it has a bit pinning it like VEXPORT. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> function old new delta setvareq 227 303 +76 expmeta 517 521 +4 localcmd 364 366 +2 unsetcmd 96 76 -20 unsetvar 129 7 -122 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 3/2 up/down: 82/-142) Total: -60 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: import param_expand_default.tests from hushDenys Vlasenko2017-07-252-0/+30
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* hush: treat ${#?} as "length of $?"Denys Vlasenko2017-07-252-0/+104
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: add a few tests from hush-vars/*Denys Vlasenko2017-07-256-0/+251
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: copy three tests from hush_test/hush-signals/*Denys Vlasenko2017-07-246-0/+74
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* shell: some additions to *sh-misc/* testsDenys Vlasenko2017-07-246-0/+30
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: add most of hush process subst testsDenys Vlasenko2017-07-2412-0/+89
| | | | | | ash passes these. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: add all hush parsing tests to ast testsDenys Vlasenko2017-07-2449-4/+331
| | | | | | All pass. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: suppress readonly1.tests false positive; add readonly0.testsDenys Vlasenko2017-07-214-4/+62
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: improve set -x to quote strings as necessaryDenys Vlasenko2017-07-212-0/+24
| | | | | | | | | | | | | | | | | Basen on the patch from Martijn Dekker <martijn@inlv.org> function old new delta evalcommand 1161 1302 +141 maybe_single_quote - 60 +60 getoptscmd 527 546 +19 readtoken1 2819 2823 +4 localcmd 366 364 -2 evaltreenr 495 479 -16 evaltree 495 479 -16 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 3/3 up/down: 224/-34) Total: 190 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* shell: optional support for read -t N.NNN, closes 10101Denys Vlasenko2017-07-202-0/+17
| | | | | | | | function old new delta shell_builtin_read 1097 1277 +180 dump_procs 353 359 +6 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: more general format ${var:EXPR:EXPR}Denys Vlasenko2017-07-172-0/+47
| | | | | | | | function old new delta subevalvar 1171 1202 +31 localcmd 364 366 +2 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* shell: and_or_and_backgrounding.tests is no longer "UNFIXED BUG"Denys Vlasenko2017-07-151-1/+0
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* hush: fix and_or_and_backgrounding.tests failureDenys Vlasenko2017-07-152-0/+35
| | | | | | | function old new delta done_pipe 133 218 +85 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* hush: fix "(sleep 1; exit 3) & sleep 2; echo $?; wait $!; echo $?"Denys Vlasenko2017-07-072-0/+8
| | | | | | | | | | | function old new delta process_wait_result 414 426 +12 builtin_wait 283 291 +8 run_list 974 978 +4 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 3/0 up/down: 24/0) Total: 24 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* shell: sync redir/* testsDenys Vlasenko2017-07-062-0/+17
| | | | | | Note: hush-redir/redir_to_bad_fd.tests currently fails Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: rename redir5.tests (hush has redir5.tests which is different)Denys Vlasenko2017-07-063-2/+2
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* hush: Print error messages on shift -1Denys Vlasenko2017-07-061-1/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* typo fixDenys Vlasenko2017-07-061-1/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* hush: implement negative start in the ${v: -n[:m]} idiomDenys Vlasenko2017-07-062-0/+14
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* hush: "adopt" ash var-utf8-length.testsDenys Vlasenko2017-07-061-0/+2
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* shell: remove duplicate sigint1.tests (another copies are in signals/)Denys Vlasenko2017-07-062-42/+0
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* hush: add tickquote1.tests from ash testsuiteDenys Vlasenko2017-07-061-1/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* shell: syncronize ash and hush heredoc3.testsDenys Vlasenko2017-07-064-10/+31
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* shell: syncronize ash and hush heredoc1.testsDenys Vlasenko2017-07-064-4/+18
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* shell: syncronize ash_test/run-all and hush_test/run-all a bitDenys Vlasenko2017-07-061-48/+54
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: fix escaping of a few characters (broken by last commits)Denys Vlasenko2017-07-052-0/+76
| | | | | | | Add a testcase which tests all ASCII punctuation escapes. NB: hush is failing this test! Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: fix matching of unicode greek letter rho (cf 81) and similar casesDenys Vlasenko2017-07-052-0/+34
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* msh: delete this appletDenys Vlasenko2017-07-031-3/+3
| | | | | | It's deprecated since 2009 and interferes with make_single_applets.sh tests. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash,hush: fix SIGCHLD interrupting read builtinDenys Vlasenko2017-05-222-0/+6
| | | | | | | | | | | | function old new delta readcmd 169 217 +48 shell_builtin_read 1087 1097 +10 localcmd 366 364 -2 builtin_read 197 193 -4 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/2 up/down: 58/-6) Total: 52 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* Spelling fixes in comments, documentation, tests and examplesDenys Vlasenko2017-04-171-1/+1
| | | | | | By klemens <ka7@github.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* hush: fix a bug in argv restoration after sourcing a fileDenys Vlasenko2017-01-092-0/+16
| | | | | | if sourced file "shift"ed argvs so that $1 is NULL, restore wasn't done. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: fix open fds leaking in redirects. Closes 9561Denys Vlasenko2017-01-072-0/+16
| | | | | | | | | | | | | | | commit e19923f6652a638ac39c84012e97f52cf5a7568e deleted clearredir() call in shellexec(): ash: [REDIR] Remove redundant CLOEXEC calls Upstream commit: Now that we're marking file descriptors as CLOEXEC in savefd, we no longer need to close them on exec or in setinputfd. but it missed one place where we don't set CLOEXEC. Fixing this. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: fix error code regressionRon Yorston2017-01-032-0/+16
| | | | | | | | | | | | | | | | | | | | | | 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>
* hush: rework "wait %jobspec" to work in non-interactive shells tooDenys Vlasenko2016-11-084-0/+10
| | | | | | | | | Also add tests. wait5.tests so far fails (but works for ash and dash). function old new delta builtin_wait 305 283 -22 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* hush: allow { cmd } to not be terminated by semicolon in some casesDenys Vlasenko2016-11-042-0/+16
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: fix interactive "command eval STRING" exiting on errors.Denys Vlasenko2016-10-282-0/+9
| | | | | | This bug is also present in current dash Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: [PARSER] Recognise here-doc delimiters terminated by EOFDenys Vlasenko2016-10-264-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Upstream commit 1: Date: Wed, 26 Sep 2007 17:14:16 +0800 [PARSER] Recognise here-doc delimiters terminated by EOF Previously dash required a <newline> character to be present in order for a here-document delimiter to be detected. Allowing EOF in the absence of a <newline> to play the same purpose allows some intuitive scripts to succeed. POSIX seems to be silence on this so this should be OK. Test case: eval 'cat <<- NOT test NOT' echo OK Old result: test NOTOK New result: test OK Upstream commit 2: Date: Sat, 20 Oct 2007 18:49:31 +0800 [PARSER] Fix here-doc corruption The change [PARSER] Recognise here-doc delimiters terminated by EOF introduced a regerssion whereby lines starting with eofmark but are not equal to eofmark would be corrupted. This patch fixes it. Test case: cat << _ACEOF _ASBOX _ACEOF Old result: SASBOX New result: _ASBOX Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: [PARSER] Fix parsing of ${##1}Denys Vlasenko2016-10-262-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | Upstream commit: Date: Thu, 4 Oct 2007 22:15:10 +0800 [PARSER] Fix parsing of ${##1} Previously dash treated ${##1} as a length operation. This patch fixes that. Test case: set -- a echo ${##1}OK Old result: 1OK New result: OK This was a real bug in ash (but not in hush). Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* typo fixesDenys Vlasenko2016-10-261-2/+2
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash testsuite: fix false positivesDenys Vlasenko2016-10-072-2/+2
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sh testsuite: add tests for exitcode on failure to execDenys Vlasenko2016-10-034-0/+8
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash testsuite: add most of hust tests which pass for ashDenys Vlasenko2016-10-03102-0/+795
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sh testsuite: sync ash-redir/ and hush-redir/Denys Vlasenko2016-10-026-0/+115
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sh testsuite: sync ash-misc/source* and hush-misc/source*Denys Vlasenko2016-10-022-0/+12
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sh testsuite: sync ash-vars/ and hush-vars/Denys Vlasenko2016-10-028-20/+39
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash testsuite: update some of variable tests with newer versions from hushDenys Vlasenko2016-10-026-25/+156
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sh testsuite: create hush-redir/* and move files aroundDenys Vlasenko2016-10-026-0/+91
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sh testsuite: create hush-heredoc/* and move files aroundDenys Vlasenko2016-10-022-0/+21
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>