diff options
author | Mattias Andrée <maandree@kth.se> | 2016-03-24 09:02:52 +0100 |
---|---|---|
committer | Mattias Andrée <maandree@kth.se> | 2016-03-24 09:03:02 +0100 |
commit | 71bb9d67cdf8a3184776ab1bb99868379157b3ea (patch) | |
tree | 69f76f52d9409cf62ef7718c471cf02e5466eafe | |
parent | improve test-all (diff) | |
download | base-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-x | false-test/test | 81 | ||||
-rwxr-xr-x | test-all | 6 | ||||
-rwxr-xr-x | true-test/test | 81 |
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 @@ -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 |