#!/bin/sh PROG="$1" mkdir -p testoutput TEST=testoutput TESTNAME="Test Izars meters" TESTRESULT="ERROR" LOGFILE=$TEST/logfile LOGFILE_EXPECTED=$TEST/logfile_expected mkdir -p $TEST rm -f $LOGFILE METERS="IzarWater izar 21242472 NOKEY IzarWater2 izar 66236629 NOKEY IzarWater3 izar 20481979 NOKEY IzarWater4 izar 2124589c NOKEY IzarWater5 izar 20e4ffde NOKEY IzarWater6 auto 48500375 NOKEY" cat simulations/simulation_izars.txt | grep '^{' | jq --sort-keys . > $TEST/test_expected.txt $PROG --format=json simulations/simulation_izars.txt $METERS 2> $TEST/test_stderr.txt | jq --sort-keys . > $TEST/test_output.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 json: $TESTNAME TESTRESULT="OK" else TESTRESULT="ERROR" fi else echo "wmbusmeters returned error code: $?" cat $TEST/test_output.txt cat $TEST/test_stderr.txt fi if [ "$TESTRESULT" = "ERROR" ] then echo ERROR: $TESTNAME exit 1 fi TESTNAME="Test listen to all izars" TESTRESULT="ERROR" cat > $LOGFILE_EXPECTED <&1) if [ ! "$RES" = "" ] then echo ERROR: $TESTNAME echo Expected no output on stdout and stderr echo but got------------------ echo $RES echo --------------------- exit 1 fi RES=$(diff $LOGFILE $LOGFILE_EXPECTED) if [ ! -z "$RES" ] then echo ERROR: $TESTNAME echo ----------------- diff $LOGFILE $LOGFILE_EXPECTED echo ----------------- exit 1 else echo OK: $TESTNAME fi