#!/bin/sh PROG="$1" mkdir -p testoutput TEST=testoutput #################################################### TESTNAME="Test ok serial rawtty telegram on stdin" TESTRESULT="ERROR" cat > $TEST/test_expected_unsorted.txt < $TEST/test_expected.txt xxd -r -p simulations/serial_rawtty_ok.hex | \ $PROG --silent --format=json --listento=any stdin:rawtty \ Rummet1 lansenth 00010203 "" \ Rummet2 rfmamb 11772288 "" \ | grep Rummet | 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: $TESTNAME" TESTRESULT="OK" else if [ "$USE_MELD" = "true" ] then meld $TEST/test_expected.txt $TEST/test_responses.txt fi fi fi if [ "$TESTRESULT" = "ERROR" ]; then echo ERROR: $TESTNAME; exit 1; fi #################################################### TESTNAME="Test bad serial rawtty telegram with interspersed noise, on stdin" TESTRESULT="ERROR" cat > $TEST/test_expected_unsorted.txt < $TEST/test_expected.txt xxd -r -p simulations/serial_rawtty_bad.hex | $PROG --silent --format=json --listento=any stdin:rawtty Rummet1 lansenth 00010203 "" Rummet2 rfmamb 11772288 "" | grep Rummet | 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: $TESTNAME" TESTRESULT="OK" else if [ "$USE_MELD" = "true" ] then meld $TEST/test_expected.txt $TEST/test_responses.txt fi fi fi if [ "$TESTRESULT" = "ERROR" ]; then echo ERROR: $TESTNAME; exit 1; fi