From 2a6c94abcb38a48f98c1393742a65232edc3c07f Mon Sep 17 00:00:00 2001 From: Silvan Jegen Date: Sun, 2 Dec 2018 15:35:44 +0100 Subject: Initial commit --- test-common.sh | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 test-common.sh (limited to 'test-common.sh') diff --git a/test-common.sh b/test-common.sh new file mode 100644 index 0000000..b1d7572 --- /dev/null +++ b/test-common.sh @@ -0,0 +1,42 @@ +check_output() { + testname=$1 + cmdtorun=$2 + expectedoutput=$3 + usestdout=$4 + expoutfile=$(mktemp) + actualoutfile=$(mktemp) + ret=0 + + printf "$expectedoutput" > $expoutfile + if [ $usestdout -eq 1 ]; then + eval $cmdtorun > $actualoutfile 2> /dev/null + else + eval $cmdtorun 2> $actualoutfile 1> /dev/null + fi + + cmp $expoutfile $actualoutfile 2>&1 > /dev/null + if [ $? -eq 1 ]; then + printf "$testname:\n" + printf "\tWanted:\n" + cat $expoutfile + printf "\n\tGot:\n" + cat $actualoutfile + printf "\n\n" + ret=1 + fi + if [ $? -eq 2 ]; then + printf "cmp error\n" + ret=1 + fi + + rm $expoutfile $actualoutfile + return $ret +} + +check_stdout() { + check_output "$1" "$2" "$3" 1 +} + +check_stderr() { + check_output "$1" "$2" "$3" 0 +} -- cgit v1.2.1-18-gbd029