aboutsummaryrefslogtreecommitdiff
path: root/shell/hush_test
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2008-06-14 11:00:17 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2008-06-14 11:00:17 +0000
commita84420062a1e7a6e149b7d1ca77e1a787e55d45b (patch)
treedaf1c7d301155bab1982f591a76534b413b80653 /shell/hush_test
parent6108dc4df6195ca88d26aea31c6f62dc9ad13c63 (diff)
downloadbusybox-w32-a84420062a1e7a6e149b7d1ca77e1a787e55d45b.tar.gz
busybox-w32-a84420062a1e7a6e149b7d1ca77e1a787e55d45b.tar.bz2
busybox-w32-a84420062a1e7a6e149b7d1ca77e1a787e55d45b.zip
hush: support "! cmd | cmd" negation
function old new delta done_word 749 791 +42 run_list 1821 1859 +38 checkjobs 334 351 +17 done_pipe 61 74 +13 static.reserved_list 132 144 +12 initialize_context 53 45 -8 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 5/1 up/down: 122/-8) Total: 114 bytes
Diffstat (limited to 'shell/hush_test')
-rw-r--r--shell/hush_test/hush-misc/syntax_err_negate.right2
-rwxr-xr-xshell/hush_test/hush-misc/syntax_err_negate.tests2
-rw-r--r--shell/hush_test/hush-parsing/negate.right35
-rwxr-xr-xshell/hush_test/hush-parsing/negate.tests16
-rwxr-xr-xshell/hush_test/run-all4
5 files changed, 57 insertions, 2 deletions
diff --git a/shell/hush_test/hush-misc/syntax_err_negate.right b/shell/hush_test/hush-misc/syntax_err_negate.right
new file mode 100644
index 000000000..d1e7654f5
--- /dev/null
+++ b/shell/hush_test/hush-misc/syntax_err_negate.right
@@ -0,0 +1,2 @@
1bash 3.2 fails this
2hush: syntax error
diff --git a/shell/hush_test/hush-misc/syntax_err_negate.tests b/shell/hush_test/hush-misc/syntax_err_negate.tests
new file mode 100755
index 000000000..d61b1b09f
--- /dev/null
+++ b/shell/hush_test/hush-misc/syntax_err_negate.tests
@@ -0,0 +1,2 @@
1echo bash 3.2 fails this
2! ! true
diff --git a/shell/hush_test/hush-parsing/negate.right b/shell/hush_test/hush-parsing/negate.right
new file mode 100644
index 000000000..01166012e
--- /dev/null
+++ b/shell/hush_test/hush-parsing/negate.right
@@ -0,0 +1,35 @@
1! printing !
20
31
41
50
60
70
8!
9a
10b
11c
12! 1
13a 1
14b 1
15c 1
16! 1
17a 1
18b 1
19c 1
200
210
220
230
241
251
261
271
280
290
300
310
321
331
341
351
diff --git a/shell/hush_test/hush-parsing/negate.tests b/shell/hush_test/hush-parsing/negate.tests
new file mode 100755
index 000000000..72e731fe9
--- /dev/null
+++ b/shell/hush_test/hush-parsing/negate.tests
@@ -0,0 +1,16 @@
1echo ! printing !
2! false
3echo $?
4! true
5echo $?
6if ! false; then false; echo $?; fi
7echo $?
8if ! false; then ! false; echo $?; fi
9echo $?
10for a in ! a b c; do echo $a; done
11for a in ! a b c; do ! echo -n "$a "; echo $?; done
12for a in ! a b c; do ! /bin/echo -n "$a "; echo $?; done
13for a in ! a b c; do ! echo -n "$a " | false; echo $?; done
14for a in ! a b c; do ! echo -n "$a " | true; echo $?; done
15for a in ! a b c; do ! { echo -n "$a " | false; }; echo $?; done
16for a in ! a b c; do ! { echo -n "$a " | true; }; echo $?; done
diff --git a/shell/hush_test/run-all b/shell/hush_test/run-all
index 805f75ad5..5cec85af6 100755
--- a/shell/hush_test/run-all
+++ b/shell/hush_test/run-all
@@ -1,8 +1,8 @@
1#!/bin/sh 1#!/bin/sh
2 2
3test -x hush || { 3test -x hush || {
4 echo "No ./hush?! Perhaps you want to run 'ln -s ../../busybox hush'" 4 echo "No ./hush - creating a link to ../../busybox"
5 exit 5 ln -s ../../busybox hush
6} 6}
7 7
8PATH="$PWD:$PATH" # for hush and recho/zecho/printenv 8PATH="$PWD:$PATH" # for hush and recho/zecho/printenv