diff --git a/test/simulation/134-log b/test/simulation/134-log new file mode 100755 index 0000000..f5293c4 --- /dev/null +++ b/test/simulation/134-log @@ -0,0 +1,30 @@ +#!/bin/bash + +. ./test.common +test_start "log directive" + +refclock_jitter=$jitter +client_server_options="maxpoll 6" +client_conf="refclock PHC /dev/ptp0 dpoll 4 poll 6 noselect +logbanner 10 +logdir tmp +log tracking rawmeasurements measurements statistics rtc refclocks tempcomp +tempcomp tmp/tempcomp 64 0.0 0.0 0.0 0.0" + +echo 0.0 > tmp/tempcomp + +run_test || test_fail +check_chronyd_exit || test_fail +check_source_selection || test_fail +check_packet_interval || test_fail +check_sync || test_fail + +check_file_messages "=============" 31 33 \ + tracking.log measurements.log tempcomp.log || test_fail +check_file_messages "20.*192\.168\.123\.1" 150 160 \ + tracking.log measurements.log statistics.log || test_fail +check_file_messages "20.*PHC0" 150 160 statistics.log || test_fail +check_file_messages "20.*PHC0" 750 800 refclocks.log || test_fail +check_file_messages "20.* 0\.0000" 150 160 tempcomp.log || test_fail + +test_pass diff --git a/test/simulation/test.common b/test/simulation/test.common index c5758c6..18dd9e1 100644 --- a/test/simulation/test.common +++ b/test/simulation/test.common @@ -337,7 +337,7 @@ check_chronyc_output() { return $ret } -# Check the number of messages matching a matter in the client logs +# Check the number of messages matching a pattern in the client logs check_log_messages() { local i count ret=0 pattern=$1 min=$2 max=$3 @@ -355,6 +355,25 @@ check_log_messages() { return $ret } +# Check the number of messages matching a pattern in a specified file +check_file_messages() { + local i count ret=0 pattern=$1 min=$2 max=$3 + shift 3 + + test_message 2 1 "checking number of messages \"$pattern\":" + + for i; do + count=$(grep "$pattern" tmp/$i | wc -l) + test_message 3 0 "$i: $count" + + [ "$min" -le "$count" ] && [ "$count" -le "$max" ] && \ + test_ok || test_bad + [ $? -eq 0 ] || ret=1 + done + + return $ret +} + # Check if only NTP port (123) was used check_packet_port() { local i ret=0 port=123