diff --git a/tests/test_nc1.sh b/tests/test_nc1.sh index e4467c0..fc6b70d 100755 --- a/tests/test_nc1.sh +++ b/tests/test_nc1.sh @@ -1,7 +1,22 @@ #!/bin/bash +if ! command -v nc > /dev/null 2> /dev/null +then + echo "Skipping nc test, not installed." + exit 0 +fi + +IS_NC_OPENBSD=$(nc -help 2>&1 | grep -o OpenBSD) +# These tests only work with netcat-openbsd. +if [ "$IS_NC_OPENBSD" != "OpenBSD" ] +then + echo "Skipping nc test, wrong version of nc installed." + exit 0 +fi + if nc 2>&1 | grep -q apple then + echo "Skipping nc test, incorrect version of nc installed." exit 0 fi @@ -18,7 +33,7 @@ TESTRESULT="ERROR" PORT=$(( $RANDOM % 10000 + 30000 )) rm -f $TEST/response -$PROG --silent --oneshot --exitafter=5s --format=fields --selectfields=total_m3 "rtlwmbus:CMD(nc -lkv $PORT)" MyWater iperl 33225544 NOKEY >> $TEST/response 2>&1 & +$PROG --silent --oneshot --exitafter=5s --format=fields --selectfields=total_m3 "rtlwmbus:CMD(nc -lkn $PORT)" MyWater iperl 33225544 NOKEY >> $TEST/response 2>&1 & sleep 0.5 diff --git a/tests/test_nc2.sh b/tests/test_nc2.sh index f126a0f..4df1cdf 100755 --- a/tests/test_nc2.sh +++ b/tests/test_nc2.sh @@ -1,7 +1,21 @@ #!/bin/bash +if ! command -v nc > /dev/null 2> /dev/null +then + echo "Skipping nc test, not installed." + exit 0 +fi + +IS_NC_OPENBSD=$(nc -help 2>&1 | grep -o OpenBSD) +# These tests only work with netcat-openbsd. +if [ "$IS_NC_OPENBSD" != "OpenBSD" ] +then + echo "Skipping nc test, wrong version of nc installed." + exit 0 +fi if nc 2>&1 | grep -q apple then + echo "Skipping nc test, incorrect version of nc installed." exit 0 fi @@ -18,7 +32,7 @@ TESTRESULT="ERROR" PORT=$(( $RANDOM % 10000 + 30000 )) rm -f $TEST/response -$PROG --silent --oneshot --exitafter=5s --format=fields --selectfields=total_m3 "hex:CMD(nc -lk $PORT)" MyWater iperl 33225544 NOKEY >> $TEST/response 2>&1 & +$PROG --silent --oneshot --exitafter=5s --format=fields --selectfields=total_m3 "hex:CMD(nc -lkn $PORT)" MyWater iperl 33225544 NOKEY >> $TEST/response 2>&1 & sleep 0.5 diff --git a/tests/test_nc3.sh b/tests/test_nc3.sh index 73bfcdf..41f6ce9 100755 --- a/tests/test_nc3.sh +++ b/tests/test_nc3.sh @@ -1,7 +1,22 @@ #!/bin/bash +if ! command -v nc > /dev/null 2> /dev/null +then + echo "Skipping nc test, not installed." + exit 0 +fi + +IS_NC_OPENBSD=$(nc -help 2>&1 | grep -o OpenBSD) +# These tests only work with netcat-openbsd. +if [ "$IS_NC_OPENBSD" != "OpenBSD" ] +then + echo "Skipping nc test, wrong version of nc installed." + exit 0 +fi + if nc 2>&1 | grep -q apple then + echo "Skipping nc test, incorrect version of nc installed." exit 0 fi @@ -18,7 +33,7 @@ TESTRESULT="ERROR" PORT=$(( $RANDOM % 10000 + 30000 )) rm -f $TEST/response -$PROG --silent --oneshot --exitafter=5s --format=fields --selectfields=total_m3 "rawtty:CMD(nc -lk $PORT)" MyWater iperl 33225544 NOKEY >> $TEST/response 2>&1 & +$PROG --silent --oneshot --exitafter=5s --format=fields --selectfields=total_m3 "rawtty:CMD(nc -lkn $PORT)" MyWater iperl 33225544 NOKEY >> $TEST/response 2>&1 & sleep 0.5