#!/bin/sh PROG="$1" TEST=testoutput mkdir -p $TEST TESTNAME="Test hex on commandline" TESTRESULT="ERROR" cat > $TEST/test_expected.txt < $TEST/test_output.txt 1>&2 if [ "$?" = "0" ] then diff $TEST/test_expected.txt $TEST/test_output.txt if [ "$?" = "0" ] then echo OK: $TESTNAME TESTRESULT="OK" fi else echo "ERROR: $TESTNAME" echo "wmbusmeters returned error code: $?" cat $TEST/test_output.txt exit 1 fi cat > $TEST/test_expected.txt < $TEST/test_output.txt 2> $TEST/test_stderr.txt if [ "$?" = "0" ] then cat $TEST/test_output.txt | sed 's/"timestamp":"....-..-..T..:..:..Z"/"timestamp":"1111-11-11T11:11:11Z"/' > $TEST/test_responses.txt diff $TEST/test_expected.txt $TEST/test_responses.txt if [ "$?" = "0" ] then echo OK: $TESTNAME TESTRESULT="OK" else echo "ERROR: $TESTNAME" exit 1 fi else echo "ERROR: $TESTNAME" echo "wmbusmeters returned error code: $?" cat $TEST/test_output.txt cat $TEST/test_stderr.txt exit 1 fi TESTNAME="Test invalid hex on commandline" cat > $TEST/test_expected.txt < $TEST/test_output.txt 1>&2 if [ "$?" = "1" ] then diff $TEST/test_expected.txt $TEST/test_output.txt if [ "$?" = "0" ] then echo OK: $TESTNAME TESTRESULT="OK" else echo "ERROR: $TESTNAME" exit 1 fi else echo "wmbusmeters returned error code 0 but we expected failure!" echo "=======================" cat $TEST/test_output.txt echo "=======================" cat $TEST/test_stderr.txt fi TESTNAME="Test hex on stdin" cat > $TEST/test_expected.txt < $TEST/test_output.txt 2> $TEST/test_stderr.txt if [ "$?" = "0" ] then cat $TEST/test_output.txt | sed 's/"timestamp":"....-..-..T..:..:..Z"/"timestamp":"1111-11-11T11:11:11Z"/' > $TEST/test_responses.txt diff $TEST/test_expected.txt $TEST/test_responses.txt if [ "$?" = "0" ] then echo OK: $TESTNAME TESTRESULT="OK" else echo "ERROR: $TESTNAME" exit 1 fi else echo "ERROR: $TESTNAME" echo "wmbusmeters returned error code: $?" cat $TEST/test_output.txt cat $TEST/test_stderr.txt exit 1 fi