]> git.ipfire.org Git - thirdparty/chrony.git/commitdiff
test: add 131-maxchange test
authorMiroslav Lichvar <mlichvar@redhat.com>
Tue, 28 Aug 2018 16:00:16 +0000 (18:00 +0200)
committerMiroslav Lichvar <mlichvar@redhat.com>
Tue, 28 Aug 2018 16:27:43 +0000 (18:27 +0200)
test/simulation/131-maxchange [new file with mode: 0755]
test/simulation/test.common

diff --git a/test/simulation/131-maxchange b/test/simulation/131-maxchange
new file mode 100755 (executable)
index 0000000..969f71f
--- /dev/null
@@ -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
index dfb32187e913b4aaaccce72f9ef2bc7b114fe89f..c5758c69191fd4ded5ae9f240e753d3a2949b5ef 100644 (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