kopia lustrzana https://github.com/weetmuts/wmbusmeters
61 wiersze
1.8 KiB
Bash
Executable File
61 wiersze
1.8 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
PROG="$1"
|
|
|
|
rm -rf testoutput
|
|
mkdir -p testoutput
|
|
TEST=testoutput
|
|
|
|
TESTNAME="Test cmdline formulas with errors --calculate_... "
|
|
TESTRESULT="ERROR"
|
|
|
|
$PROG --format=json \
|
|
--calculate_sumtemp_c='external_temperature_c*198' \
|
|
--calculate_addtemp_c='32+external_temperature_c' \
|
|
--calculate_tjo_m3='99m3+12' \
|
|
--calculate_bar_m3='99m3+12m' \
|
|
--calculate_barr_m3='(123kw' \
|
|
--format=fields --selectfields=name \
|
|
23442D2C998734761B168D2087D19EAD217F1779EDA86AB6_710008190000081900007F13 \
|
|
MyTapWater multical21 76348799 "" > $TEST/test_output.txt 2>&1
|
|
|
|
cat <<EOF > $TEST/test_expected.txt
|
|
Warning! Ignoring calculated field sumtemp because parse failed:
|
|
Constant number 198 lacks a valid unit!
|
|
external_temperature_c*198
|
|
^~~~~
|
|
Warning! Ignoring calculated field addtemp because parse failed:
|
|
Constant number 32 lacks a valid unit!
|
|
32+external_temperature_c
|
|
^~~~~
|
|
Warning! Ignoring calculated field tjo because parse failed:
|
|
Constant number 12 lacks a valid unit!
|
|
99m3+12
|
|
^~~~~
|
|
Warning! Ignoring calculated field bar because parse failed:
|
|
Cannot add [m3|Volume|1m³] to [m|Length|1m]!
|
|
99m3+12m
|
|
^~~~~
|
|
Warning! Ignoring calculated field barr because parse failed:
|
|
Missing closing parenthesis at end of formula!
|
|
MyTapWater
|
|
EOF
|
|
|
|
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
|