diff --git a/test/simulation/126-burst b/test/simulation/126-burst new file mode 100755 index 0000000..3173c78 --- /dev/null +++ b/test/simulation/126-burst @@ -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 diff --git a/test/simulation/test.common b/test/simulation/test.common index b9b3b49..0cd0fce 100644 --- a/test/simulation/test.common +++ b/test/simulation/test.common @@ -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