From 008fcf9ce71c1b1138e6f378df04b4cab0d73e1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20=C3=96hrstr=C3=B6m?= Date: Sat, 5 Feb 2022 16:01:07 +0100 Subject: [PATCH] Add test file. --- tests/test_config_overrides.sh | 54 ++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100755 tests/test_config_overrides.sh diff --git a/tests/test_config_overrides.sh b/tests/test_config_overrides.sh new file mode 100755 index 0000000..b840fd2 --- /dev/null +++ b/tests/test_config_overrides.sh @@ -0,0 +1,54 @@ +#!/bin/sh + +PROG="$1" + +TEST=testaes + +rm -rf $TEST +mkdir -p $TEST + +TESTNAME="Test config override with oneshot" +TESTRESULT="ERROR" + +cat simulations/serial_aes.msg | grep '^{' | tr -d '#' > $TEST/test_expected.txt +cat simulations/serial_aes.msg | grep '^[CT]' | tr -d '#' > $TEST/test_input.txt +cat $TEST/test_input.txt | $PROG --useconfig=tests/config9 --device=stdin:rtlwmbus --oneshot > $TEST/test_output.txt 2> $TEST/test_stderr.txt + +if ! grep -q "(main) all meters have received at least one update, stopping." $TEST/test_stderr.txt +then + echo "ERROR: $TESTNAME ($0)" + echo "Expected stderr to print \"all meters have received at least one update\"" + exit 1 +fi + +cat $TEST/test_output.txt | sed 's/"timestamp":"....-..-..T..:..:..Z"/"timestamp":"1111-11-11T11:11:11Z"/' > $TEST/test_response.txt +diff $TEST/test_expected.txt $TEST/test_response.txt +if [ "$?" = "0" ] +then + echo "OK: $TESTNAME" + TESTRESULT="OK" +fi + +TESTNAME="Test config override with exitafter" +TESTRESULT="ERROR" + +cat simulations/serial_aes.msg | grep '^{' | tr -d '#' > $TEST/test_expected.txt +cat simulations/serial_aes.msg | grep '^[CT]' | tr -d '#' > $TEST/test_input.txt +# Read from stdin +$PROG --useconfig=tests/config9 --device=stdin:rtlwmbus --oneshot --exitafter=1s > $TEST/test_output.txt 2> $TEST/test_stderr.txt + +if ! grep -q "(serial) exit after 2 seconds" $TEST/test_stderr.txt +then + echo "ERROR: $TESTNAME ($0)" + echo "Expected stderr to print \"exit after 2 seconds\"" + exit 1 +else + echo "OK: $TESTNAME" + TESTRESULT=OK +fi + +if [ "$TESTRESULT" = "ERROR" ] +then + echo "ERROR: $TESTNAME ($0)" + exit 1 +fi