chrony/test/simulation/118-maxdelay
Miroslav Lichvar 070b4f69d0 ntp: add maxdelayquant option
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.
2022-07-21 16:05:48 +02:00

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