wmbusmeters/tests/test_wrongkeys.sh

44 wiersze
1.6 KiB
Bash
Executable File

#!/bin/sh
PROG="$1"
TEST=testoutput
rm -rf $TEST
mkdir -p $TEST
TESTNAME="Test wrong keys"
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 --format=json "stdin:rtlwmbus" \
ApWater apator162 88888888 00000000000000000000000000000001 \
Vatten multical21 76348799 28F64A24988064A079AA2C807D6102AF \
> $TEST/test_output.txt 2> $TEST/test_stderr.txt
if [ -s $TEST/test_output.txt ]
then
echo "Bad no stdout expected! But got bytes anyway!"
echo "ERROR: $TESTNAME"
TESTRESULT="ERROR"
exit 1
fi
cat <<EOF > $TEST/test_expected.txt
Started config rtlwmbus on stdin listening on any
(wmbus) WARNING!! decrypted content failed check, did you use the correct decryption key? Permanently ignoring telegrams from id: 88888888 mfct: (APA) Apator, Poland (0x601) type: Water meter (0x07) ver: 0x05
(meter) newly created meter (ApWater 88888888.M=APA.V=05.T=07 apator162) did not handle telegram!
(wmbus) WARNING! decrypted payload crc failed check, did you use the correct decryption key? 979f payload crc (calculated 3431) Permanently ignoring telegrams from id: 76348799 mfct: (KAM) Kamstrup Energi (0x2c2d) type: Cold water meter (0x16) ver: 0x1b
(meter) newly created meter (Vatten 76348799.M=KAM.V=1b.T=16 multical21) did not handle telegram!
EOF
diff $TEST/test_expected.txt $TEST/test_stderr.txt
if [ "$?" = "0" ]
then
echo "OK: $TESTNAME"
TESTRESULT="OK"
fi
if [ "$TESTRESULT" = "ERROR" ]; then echo ERROR: $TESTNAME; exit 1; fi