aboutsummaryrefslogtreecommitdiff
path: root/shell/hush_test
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2009-04-07 02:29:51 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2009-04-07 02:29:51 +0000
commit6c9be7f4518bf5594f5b9aaf981ed5dcc4a6939c (patch)
tree67f6d56a1d7c7fe251bb2dd41cd5b0c0118a0a10 /shell/hush_test
parentab2b06434240bb11f5bef7201f9d01027df79896 (diff)
downloadbusybox-w32-6c9be7f4518bf5594f5b9aaf981ed5dcc4a6939c.tar.gz
busybox-w32-6c9be7f4518bf5594f5b9aaf981ed5dcc4a6939c.tar.bz2
busybox-w32-6c9be7f4518bf5594f5b9aaf981ed5dcc4a6939c.zip
hush: heredoc support, based on patch by Mike Frysinger (vapier AT gentoo.org)
some TODOs are to be attacked later function old new delta parse_stream 1461 1866 +405 parse_redirect - 265 +265 setup_heredoc - 116 +116 setup_redirects 151 196 +45 builtin_exit 49 47 -2 redirect_opt_num 61 55 -6 setup_redirect 212 - -212 ------------------------------------------------------------------------------ (add/remove: 2/1 grow/shrink: 2/2 up/down: 831/-220) Total: 611 bytes
Diffstat (limited to 'shell/hush_test')
-rwxr-xr-xshell/hush_test/hush-misc/exec.tests22
-rw-r--r--shell/hush_test/hush-misc/heredoc1.right5
-rwxr-xr-xshell/hush_test/hush-misc/heredoc1.tests9
3 files changed, 25 insertions, 11 deletions
diff --git a/shell/hush_test/hush-misc/exec.tests b/shell/hush_test/hush-misc/exec.tests
index 01a7f591c..6de50fa7b 100755
--- a/shell/hush_test/hush-misc/exec.tests
+++ b/shell/hush_test/hush-misc/exec.tests
@@ -1,30 +1,30 @@
1# make sure we have a way of checking these things 1# make sure we have a way of checking these things
2[ ! -e /dev/fd ] && exit 1 2cd /proc/$$/fd || cd /dev/fd || exit 1
3 3
4[ -e /dev/fd/44 ] && exit 1 4[ -e 44 ] && exit 1
5exec 44>/dev/null 5exec 44>/dev/null
6[ -e /dev/fd/44 ] || exit 1 6[ -e 44 ] || exit 1
7echo pass fd out open 7echo pass fd out open
8 8
9[ -e /dev/fd/55 ] && exit 1 9[ -e 55 ] && exit 1
10exec 55>&44 10exec 55>&44
11[ -e /dev/fd/55 ] || exit 1 11[ -e 55 ] || exit 1
12echo pass fd out dup 12echo pass fd out dup
13 13
14exec 44>&- 14exec 44>&-
15[ -e /dev/fd/44 ] && exit 1 15[ -e 44 ] && exit 1
16echo pass fd out close 16echo pass fd out close
17 17
18[ -e /dev/fd/66 ] && exit 1 18[ -e 66 ] && exit 1
19exec 66</dev/null 19exec 66</dev/null
20[ -e /dev/fd/66 ] || exit 1 20[ -e 66 ] || exit 1
21echo pass fd in open 21echo pass fd in open
22 22
23[ -e /dev/fd/77 ] && exit 1 23[ -e 77 ] && exit 1
24exec 77<&66 24exec 77<&66
25[ -e /dev/fd/77 ] || exit 1 25[ -e 77 ] || exit 1
26echo pass fd in dup 26echo pass fd in dup
27 27
28exec 66<&- 28exec 66<&-
29[ -e /dev/fd/66 ] && exit 1 29[ -e 66 ] && exit 1
30echo pass fd in close 30echo pass fd in close
diff --git a/shell/hush_test/hush-misc/heredoc1.right b/shell/hush_test/hush-misc/heredoc1.right
new file mode 100644
index 000000000..7fc68f3e1
--- /dev/null
+++ b/shell/hush_test/hush-misc/heredoc1.right
@@ -0,0 +1,5 @@
1qwe
2asd
3123
4456
5Ok
diff --git a/shell/hush_test/hush-misc/heredoc1.tests b/shell/hush_test/hush-misc/heredoc1.tests
new file mode 100755
index 000000000..2eeb4726b
--- /dev/null
+++ b/shell/hush_test/hush-misc/heredoc1.tests
@@ -0,0 +1,9 @@
1cat <<000; cat <<www; cat <<eee
2000
3qwe
4asd
5www
6123
7456
8eee
9echo Ok