diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-06-14 11:00:17 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-06-14 11:00:17 +0000 |
commit | a84420062a1e7a6e149b7d1ca77e1a787e55d45b (patch) | |
tree | daf1c7d301155bab1982f591a76534b413b80653 /shell/hush_test | |
parent | 6108dc4df6195ca88d26aea31c6f62dc9ad13c63 (diff) | |
download | busybox-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.right | 2 | ||||
-rwxr-xr-x | shell/hush_test/hush-misc/syntax_err_negate.tests | 2 | ||||
-rw-r--r-- | shell/hush_test/hush-parsing/negate.right | 35 | ||||
-rwxr-xr-x | shell/hush_test/hush-parsing/negate.tests | 16 | ||||
-rwxr-xr-x | shell/hush_test/run-all | 4 |
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 @@ | |||
1 | bash 3.2 fails this | ||
2 | hush: 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 @@ | |||
1 | echo 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 ! | ||
2 | 0 | ||
3 | 1 | ||
4 | 1 | ||
5 | 0 | ||
6 | 0 | ||
7 | 0 | ||
8 | ! | ||
9 | a | ||
10 | b | ||
11 | c | ||
12 | ! 1 | ||
13 | a 1 | ||
14 | b 1 | ||
15 | c 1 | ||
16 | ! 1 | ||
17 | a 1 | ||
18 | b 1 | ||
19 | c 1 | ||
20 | 0 | ||
21 | 0 | ||
22 | 0 | ||
23 | 0 | ||
24 | 1 | ||
25 | 1 | ||
26 | 1 | ||
27 | 1 | ||
28 | 0 | ||
29 | 0 | ||
30 | 0 | ||
31 | 0 | ||
32 | 1 | ||
33 | 1 | ||
34 | 1 | ||
35 | 1 | ||
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 @@ | |||
1 | echo ! printing ! | ||
2 | ! false | ||
3 | echo $? | ||
4 | ! true | ||
5 | echo $? | ||
6 | if ! false; then false; echo $?; fi | ||
7 | echo $? | ||
8 | if ! false; then ! false; echo $?; fi | ||
9 | echo $? | ||
10 | for a in ! a b c; do echo $a; done | ||
11 | for a in ! a b c; do ! echo -n "$a "; echo $?; done | ||
12 | for a in ! a b c; do ! /bin/echo -n "$a "; echo $?; done | ||
13 | for a in ! a b c; do ! echo -n "$a " | false; echo $?; done | ||
14 | for a in ! a b c; do ! echo -n "$a " | true; echo $?; done | ||
15 | for a in ! a b c; do ! { echo -n "$a " | false; }; echo $?; done | ||
16 | for 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 | ||
3 | test -x hush || { | 3 | test -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 | ||
8 | PATH="$PWD:$PATH" # for hush and recho/zecho/printenv | 8 | PATH="$PWD:$PATH" # for hush and recho/zecho/printenv |