busybox/shell/ash_test
Denys Vlasenko 035486c750 ash: significant overhaul of redirect saving logic
New code is similar to what hush is doing.
Make CLOSED to -1: same as dash.
popredir() loses "restore" parameter: same as dash.
COPYFD_RESTORE bit is no longer necessary.

This change fixes this interactive bug:

	$ ls -l /proc/$$/fd 10>&-
	ash: can't set tty process group: Bad file descriptor
	ash: can't set tty process group: Bad file descriptor
	[1]+  Done(2)                    ls -l /proc/${\$}/fd 10>&4294967295

function                                             old     new   delta
unwindredir                                           29      27      -2
tryexec                                              154     152      -2
evaltree                                             503     501      -2
evalcommand                                         1369    1367      -2
cmdloop                                              187     185      -2
redirect                                            1029    1018     -11
popredir                                             153     123     -30
need_to_remember                                      36       -     -36
is_hidden_fd                                          68       -     -68
------------------------------------------------------------------------------
(add/remove: 0/2 grow/shrink: 0/7 up/down: 0/-155)           Total: -155 bytes
   text    data     bss     dec     hex filename
 914572     485    6848  921905   e1131 busybox_old
 914553     485    6848  921886   e111e busybox_unstripped

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-07-31 04:21:46 +02:00
..
ash-alias
ash-arith shell/math: deconvolute and explain ?: handling. Give better error message 2010-09-16 11:50:46 +02:00
ash-glob ash: fix globbing bugs when using glibc glob() 2016-10-02 15:17:15 +02:00
ash-heredoc hush: fix handling of empty heredoc EOF marker 2017-07-29 20:43:26 +02:00
ash-invert add ash testcases 2007-03-05 20:46:46 +00:00
ash-misc shell: some additions to *sh-misc/* tests 2017-07-24 18:51:40 +02:00
ash-parsing ash: add all hush parsing tests to ast tests 2017-07-24 02:49:56 +02:00
ash-psubst ash: add most of hush process subst tests 2017-07-24 12:49:49 +02:00
ash-quoting ash: improve set -x to quote strings as necessary 2017-07-21 13:20:14 +02:00
ash-read shell: optional support for read -t N.NNN, closes 10101 2017-07-20 16:09:31 +02:00
ash-redir ash: significant overhaul of redirect saving logic 2017-07-31 04:21:46 +02:00
ash-signals ash: copy three tests from hush_test/hush-signals/* 2017-07-24 19:42:46 +02:00
ash-standalone ash: fix unset in standalone mode 2010-06-18 14:23:47 +02:00
ash-vars shell: remove ${#+} tests, it is not a valid construct 2017-07-26 00:30:02 +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: add all hush parsing tests to ast tests 2017-07-24 02:49:56 +02:00
zecho.c whitespace cleanup 2010-10-29 11:46:52 +02:00