test: add 131-maxchange test

This commit is contained in:
Miroslav Lichvar 2018-08-28 18:00:16 +02:00
parent d558b33d85
commit 933bd017b4
2 changed files with 38 additions and 0 deletions

20
test/simulation/131-maxchange Executable file
View file

@ -0,0 +1,20 @@
#!/bin/bash
. ./test.common
test_start "maxchange directive"
time_offset=2
max_sync_time=5000
client_conf="maxchange 0.1 1 3"
client_step="(* $step (equal 0.1 (sum 1.0) 300))"
run_test || test_fail
check_chronyd_exit && test_fail
check_source_selection || test_fail
check_packet_interval || test_fail
check_sync && test_fail
check_log_messages "seconds exceeds.*ignored" 3 3 || test_fail
check_log_messages "seconds exceeds.*exiting" 1 1 || test_fail
test_pass

View file

@ -337,6 +337,24 @@ check_chronyc_output() {
return $ret
}
# Check the number of messages matching a matter in the client logs
check_log_messages() {
local i count ret=0 pattern=$1 min=$2 max=$3
test_message 2 1 "checking number of messages \"$pattern\":"
for i in $(seq $[$servers * $server_strata + 1] $(get_chronyd_nodes)); do
count=$(grep "$pattern" tmp/log.$i | wc -l)
test_message 3 0 "node $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