From 71bb9d67cdf8a3184776ab1bb99868379157b3ea Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Thu, 24 Mar 2016 09:02:52 +0100 Subject: add tests for true and false, and suppress warnings with the tools cannot be found in PATH MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- false-test/test | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ test-all | 6 ++++- true-test/test | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 167 insertions(+), 1 deletion(-) create mode 100755 false-test/test create mode 100755 true-test/test 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 -- cgit v1.2.3-70-g09d2