aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMattias Andrée <maandree@kth.se>2016-03-24 09:02:52 +0100
committerMattias Andrée <maandree@kth.se>2016-03-24 09:03:02 +0100
commit71bb9d67cdf8a3184776ab1bb99868379157b3ea (patch)
tree69f76f52d9409cf62ef7718c471cf02e5466eafe
parentimprove test-all (diff)
downloadbase-util-tests-71bb9d67cdf8a3184776ab1bb99868379157b3ea.tar.gz
base-util-tests-71bb9d67cdf8a3184776ab1bb99868379157b3ea.tar.bz2
base-util-tests-71bb9d67cdf8a3184776ab1bb99868379157b3ea.tar.xz
add tests for true and false, and suppress warnings with the tools cannot be found in PATH
Signed-off-by: Mattias Andrée <maandree@kth.se>
-rwxr-xr-xfalse-test/test81
-rwxr-xr-xtest-all6
-rwxr-xr-xtrue-test/test81
3 files changed, 167 insertions, 1 deletions
diff --git a/false-test/test b/false-test/test
new file mode 100755
index 0000000..9e525fd
--- /dev/null
+++ b/false-test/test
@@ -0,0 +1,81 @@
+#!/bin/bash
+
+cd -- "$(dirname "$0")"
+if test -z "$FALSE"; then
+ FALSE=../false
+fi
+t="$PREFIX $FALSE"
+
+report ()
+{
+ if test $1 = 0; then
+ printf "\033[1;32mTest %s OK\033[m\n" "$2"
+ else
+ printf "\033[1;31mTest %s FAILED\033[m\n" "$2"
+ fi
+}
+
+
+
+args0 ()
+{
+ ! $t
+ report $? "args0"
+}
+
+args1 ()
+{
+ ! $t 1
+ report $? "args1"
+}
+
+args2 ()
+{
+ ! $t 1 2
+ report $? "args2"
+}
+
+args3 ()
+{
+ ! $t 1 2 3
+ report $? "args3"
+}
+
+dash ()
+{
+ ! $t -
+ report $? "dash"
+}
+
+opt ()
+{
+ ! $t -h
+ report $? "opt"
+}
+
+ddash ()
+{
+ ! $t --
+ report $? "ddash"
+}
+
+long ()
+{
+ ! $t --hello
+ report $? "long"
+}
+
+
+
+if test $# = 0; then
+ set args0 args1 args2 args3 dash opt ddash long
+fi
+(
+for f in $@; do
+ $f
+done
+) | tee result
+! grep FAILED < result >/dev/null
+ret=$?
+rm result
+exit $ret
diff --git a/test-all b/test-all
index 2bf8570..0a769ce 100755
--- a/test-all
+++ b/test-all
@@ -6,13 +6,17 @@ function all()
{
echo patch md5sum rawshake256sum rawshake512sum sha1sum sha224sum sha256sum sha3-224sum \
sha3-256sum sha3-384sum sha3-512sum sha384sum sha512-224sum sha512-256sum sha512sum \
- shake256sum shake512sum
+ shake256sum shake512sum true false
}
if test -n "${IN_PATH}"; then
+ exec 99>&2
+ exec 2>/dev/null
for c in $(all); do
eval "export $(echo $c | tr '[a-z-]' '[A-Z_]')='$(realpath "$(which $c)")'"
done
+ exec 2>&99
+ exec 99>&-
fi
if test $# = 0; then
diff --git a/true-test/test b/true-test/test
new file mode 100755
index 0000000..aef6c70
--- /dev/null
+++ b/true-test/test
@@ -0,0 +1,81 @@
+#!/bin/bash
+
+cd -- "$(dirname "$0")"
+if test -z "$TRUE"; then
+ TRUE=../true
+fi
+t="$PREFIX $TRUE"
+
+report ()
+{
+ if test $1 = 0; then
+ printf "\033[1;32mTest %s OK\033[m\n" "$2"
+ else
+ printf "\033[1;31mTest %s FAILED\033[m\n" "$2"
+ fi
+}
+
+
+
+args0 ()
+{
+ $t
+ report $? "args0"
+}
+
+args1 ()
+{
+ $t 1
+ report $? "args1"
+}
+
+args2 ()
+{
+ $t 1 2
+ report $? "args2"
+}
+
+args3 ()
+{
+ $t 1 2 3
+ report $? "args3"
+}
+
+dash ()
+{
+ $t -
+ report $? "dash"
+}
+
+opt ()
+{
+ $t -h
+ report $? "opt"
+}
+
+ddash ()
+{
+ $t --
+ report $? "ddash"
+}
+
+long ()
+{
+ $t --hello
+ report $? "long"
+}
+
+
+
+if test $# = 0; then
+ set args0 args1 args2 args3 dash opt ddash long
+fi
+(
+for f in $@; do
+ $f
+done
+) | tee result
+! grep FAILED < result >/dev/null
+ret=$?
+rm result
+exit $ret