diff options
author | Denis Vlasenko | 2008-06-14 11:00:17 +0000 |
---|---|---|
committer | Denis Vlasenko | 2008-06-14 11:00:17 +0000 |
commit | a84420062a1e7a6e149b7d1ca77e1a787e55d45b (patch) | |
tree | daf1c7d301155bab1982f591a76534b413b80653 /shell/hush_test/hush-parsing | |
parent | 6108dc4df6195ca88d26aea31c6f62dc9ad13c63 (diff) | |
download | busybox-a84420062a1e7a6e149b7d1ca77e1a787e55d45b.zip busybox-a84420062a1e7a6e149b7d1ca77e1a787e55d45b.tar.gz |
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/hush-parsing')
-rw-r--r-- | shell/hush_test/hush-parsing/negate.right | 35 | ||||
-rwxr-xr-x | shell/hush_test/hush-parsing/negate.tests | 16 |
2 files changed, 51 insertions, 0 deletions
diff --git a/shell/hush_test/hush-parsing/negate.right b/shell/hush_test/hush-parsing/negate.right new file mode 100644 index 0000000..0116601 --- /dev/null +++ b/shell/hush_test/hush-parsing/negate.right @@ -0,0 +1,35 @@ +! printing ! +0 +1 +1 +0 +0 +0 +! +a +b +c +! 1 +a 1 +b 1 +c 1 +! 1 +a 1 +b 1 +c 1 +0 +0 +0 +0 +1 +1 +1 +1 +0 +0 +0 +0 +1 +1 +1 +1 diff --git a/shell/hush_test/hush-parsing/negate.tests b/shell/hush_test/hush-parsing/negate.tests new file mode 100755 index 0000000..72e731f --- /dev/null +++ b/shell/hush_test/hush-parsing/negate.tests @@ -0,0 +1,16 @@ +echo ! printing ! +! false +echo $? +! true +echo $? +if ! false; then false; echo $?; fi +echo $? +if ! false; then ! false; echo $?; fi +echo $? +for a in ! a b c; do echo $a; done +for a in ! a b c; do ! echo -n "$a "; echo $?; done +for a in ! a b c; do ! /bin/echo -n "$a "; echo $?; done +for a in ! a b c; do ! echo -n "$a " | false; echo $?; done +for a in ! a b c; do ! echo -n "$a " | true; echo $?; done +for a in ! a b c; do ! { echo -n "$a " | false; }; echo $?; done +for a in ! a b c; do ! { echo -n "$a " | true; }; echo $?; done |