From 51072ac2226026902b739d0792bf4a826ec71414 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Sun, 27 Mar 2016 21:09:10 +0200 Subject: add yes test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- test-all | 2 +- yes-test/test | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 120 insertions(+), 1 deletion(-) create mode 100755 yes-test/test diff --git a/test-all b/test-all index 945e538..c07f765 100755 --- a/test-all +++ b/test-all @@ -6,7 +6,7 @@ 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 cksum true false echo test basename dirname uniq cat + shake256sum shake512sum cksum true false echo test basename dirname uniq cat yes } exec 99>&2 diff --git a/yes-test/test b/yes-test/test new file mode 100755 index 0000000..f795771 --- /dev/null +++ b/yes-test/test @@ -0,0 +1,119 @@ +#!/bin/bash + +cd -- "$(dirname "$0")" +if test -z "$YES"; then + YES=../yes +fi +y="$PREFIX $YES" + +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 +} + +report_np () +{ + if test $1 = 0; then + printf "\033[1;32mTest %s OK (NON-STANDARD)\033[m\n" "$2" + else + printf "\033[1;31mTest %s FAILED (NON-STANDARD)\033[m\n" "$2" + fi +} + + + +args0 () +{ + cat > tmp < /dev/null + report $? "args0" + rm tmp +} + +args1 () +{ + cat > tmp < /dev/null + report $? "args1" + rm tmp +} + +args2 () +{ + cat > tmp < /dev/null + report_np $? "args2" + rm tmp +} + +args3 () +{ + cat > tmp < /dev/null + report_np $? "args3" + rm tmp +} + +ddash () +{ + cat > tmp < /dev/null + report_np $? "ddash" + rm tmp +} + + + +if test $# = 0; then + set args0 args1 args2 args3 ddash +fi +( +for f in $@; do + $f +done +) | tee result +! grep FAILED < result > /dev/null +ret=$? +if test $ret != 0; then + if test $(grep FAILED < result | grep -v NON-STANDARD | wc -l) = 0; then + ret=1 + else + ret=2 + fi +fi +rm result +exit $ret -- cgit v1.2.3-70-g09d2