diff --git a/simulations/simulation_extras.txt b/simulations/simulation_extras.txt new file mode 100644 index 0000000..0bc6dc1 --- /dev/null +++ b/simulations/simulation_extras.txt @@ -0,0 +1,5 @@ +# Apator where offset=29 must be set. + +telegram=|3E4401061405410305077A190030852F2F|0F86B4B89529020040C6C1B4F0F3F341555942FA701000F00101000010BC780000FFFFFFFFFFFFFFFFFFFFFF2483| +{"media":"water","meter":"apator162","name":"Water","id":"03410514","total_m3":30.908,"timestamp":"1111-11-11T11:11:11Z"} +|MyTapWaterOverride;03410514;30.908000;1111-11-11 11:11.11 diff --git a/test.sh b/test.sh index aa9090f..33859b4 100755 --- a/test.sh +++ b/test.sh @@ -108,6 +108,9 @@ if [ "$?" != "0" ]; then RC="1"; fi ./tests/test_log_timestamps.sh $PROG if [ "$?" != "0" ]; then RC="1"; fi +./tests/test_meter_extras.sh $PROG +if [ "$?" != "0" ]; then RC="1"; fi + if [ -x ../additional_tests.sh ] then (cd ..; ./additional_tests.sh $PROG) diff --git a/tests/config8/etc/wmbusmeters.conf b/tests/config8/etc/wmbusmeters.conf new file mode 100644 index 0000000..a29a8fa --- /dev/null +++ b/tests/config8/etc/wmbusmeters.conf @@ -0,0 +1,3 @@ +loglevel=normal +logtelegrams=false +format=json diff --git a/tests/config8/etc/wmbusmeters.d/Water b/tests/config8/etc/wmbusmeters.d/Water new file mode 100644 index 0000000..7ce52ad --- /dev/null +++ b/tests/config8/etc/wmbusmeters.d/Water @@ -0,0 +1,4 @@ +name=Water +driver=apator162(offset=29) +id=03410514 +key= diff --git a/tests/test_meter_extras.sh b/tests/test_meter_extras.sh new file mode 100755 index 0000000..571b0d5 --- /dev/null +++ b/tests/test_meter_extras.sh @@ -0,0 +1,27 @@ +#!/bin/sh + +PROG="$1" +TEST=testoutput +mkdir -p $TEST + +TESTNAME="Test meter driver extra settings" +TESTRESULT="ERROR" + +cat simulations/simulation_extras.txt | grep '^{' > $TEST/test_expected.txt + +$PROG --useconfig=tests/config8 --device=simulations/simulation_extras.txt 2> $TEST/test_stderr.txt > $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" + fi +else + echo "wmbusmeters returned error code: $?" + cat $TEST/test_output.txt + cat $TEST/test_stderr.txt +fi