]> git.ipfire.org Git - thirdparty/chrony.git/commitdiff
test: add 126-burst test
authorMiroslav Lichvar <mlichvar@redhat.com>
Tue, 27 Feb 2018 17:41:24 +0000 (18:41 +0100)
committerMiroslav Lichvar <mlichvar@redhat.com>
Wed, 28 Feb 2018 09:09:47 +0000 (10:09 +0100)
test/simulation/126-burst [new file with mode: 0755]
test/simulation/test.common

diff --git a/test/simulation/126-burst b/test/simulation/126-burst
new file mode 100755 (executable)
index 0000000..3173c78
--- /dev/null
@@ -0,0 +1,29 @@
+#!/bin/bash
+
+. ./test.common
+
+test_start "burst option"
+
+# Pass every fourth packet on the 2->1 path
+base_delay=$(cat <<-EOF | tr -d '\n'
+  (+ 1e-4
+     (* -1
+        (equal 0.1 from 2)
+        (equal 0.1 to 1)
+        (equal 0.1 (min (% (sum 1) 4) 1) 1)))
+EOF
+)
+
+client_server_options="burst polltarget 1"
+min_sync_time=700
+max_sync_time=730
+client_max_min_out_interval=2.2
+client_min_mean_out_interval=150.0
+
+run_test || test_fail
+check_chronyd_exit || test_fail
+check_source_selection || test_fail
+check_packet_interval || test_fail
+check_sync || test_fail
+
+test_pass
index b9b3b49d0e961ffa3869174b339fae2941dd2b4a..0cd0fce160aac25b5182249344341a8a49aea0f0 100644 (file)
@@ -71,6 +71,9 @@ default_freq_rms_limit=1e-5
 default_min_sync_time=120
 default_max_sync_time=210
 
+default_client_min_mean_out_interval=0.0
+default_client_max_min_out_interval=inf
+
 # Initialize test settings from their defaults
 for defopt in $(declare | grep '^default_'); do
        defoptname=${defopt%%=*}
@@ -303,10 +306,12 @@ check_packet_interval() {
                        ([ $i -gt $servers ] || \
                                check_stat $mean_in_interval 0.0 $mean_out_interval 10*$jitter) && \
                        ([ $i -le $[$servers * $server_strata] ] || \
-                               check_stat $mean_out_interval 0.0 $mean_in_interval 10*$jitter) && \
+                               check_stat $mean_out_interval $client_min_mean_out_interval \
+                                       $mean_in_interval 10*$jitter) && \
                        ([ $i -le $[$servers * $server_strata] ] || \
                                check_stat $min_out_interval \
-                                       $([ $servers -gt 1 ] && echo 0.18 || echo 1.8) inf) && \
+                                       $([ $servers -gt 1 ] && echo 0.18 || echo 1.8) \
+                                       $client_max_min_out_interval) && \
                        test_ok || test_bad
 
                [ $? -eq 0 ] || ret=1