aboutsummaryrefslogtreecommitdiff
path: root/shell/hush_test
diff options
context:
space:
mode:
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 @@
+bash 3.2 fails this
+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 @@
+echo bash 3.2 fails this
+! ! 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 @@
+! 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 000000000..72e731fe9
--- /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
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 @@
#!/bin/sh
test -x hush || {
- echo "No ./hush?! Perhaps you want to run 'ln -s ../../busybox hush'"
- exit
+ echo "No ./hush - creating a link to ../../busybox"
+ ln -s ../../busybox hush
}
PATH="$PWD:$PATH" # for hush and recho/zecho/printenv