Add a new test for maximum delay using a long-term estimate of a p-quantile of the peer delay. If enabled, it replaces the maxdelaydevratio test. It's main advantage is that it is not sensitive to outliers corrupting the minimum delay. As it can take a large number of samples for the estimate to reach the expected value and adapt to a new value after a network change, the option is recommended only for local networks with very short polling intervals.
42 lines
1,018 B
Bash
Executable file
42 lines
1,018 B
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
. ./test.common
|
|
test_start "maxdelay options"
|
|
|
|
max_sync_time=2000
|
|
base_delay=1e-5
|
|
jitter=1e-5
|
|
wander=0.0
|
|
freq_offset="(sum 1e-10)"
|
|
time_rms_limit=2e-4
|
|
|
|
client_server_options="maxpoll 6 maxdelay 3e-5 maxdelayratio 2.0 maxdelaydevratio 2.0"
|
|
|
|
run_test || test_fail
|
|
check_chronyd_exit || test_fail
|
|
check_source_selection || test_fail
|
|
check_packet_interval || test_fail
|
|
check_sync || test_fail
|
|
|
|
for client_server_options in "maxpoll 6 maxdelay 2e-5"; do
|
|
run_test || test_fail
|
|
check_chronyd_exit || test_fail
|
|
check_packet_interval || test_fail
|
|
check_sync && test_fail
|
|
done
|
|
|
|
min_sync_time=10
|
|
client_conf="
|
|
logdir tmp
|
|
log rawmeasurements"
|
|
client_server_options="minpoll 2 maxpoll 2 maxdelayquant 0.1"
|
|
|
|
run_test || test_fail
|
|
check_chronyd_exit || test_fail
|
|
check_packet_interval || test_fail
|
|
check_sync || test_fail
|
|
|
|
check_file_messages "20.*123\.1.* 111 111 1111" 200 500 measurements.log || test_fail
|
|
check_file_messages "20.*123\.1.* 111 111 1101" 2000 2300 measurements.log || test_fail
|
|
|
|
test_pass
|