Allow one message about failed selection (e.g. no selectable sources) to be logged before first successful selection when a source has full-size reachability register (8 polls with a received or missed response). This should make it more obvious that chronyd has a wrong configuration or there is a firewall/networking issue.
90 lines
2.6 KiB
Bash
Executable file
90 lines
2.6 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
. ./test.common
|
|
test_start "interleaved mode"
|
|
|
|
client_server_options="xleave"
|
|
client_conf="
|
|
logdir tmp
|
|
log rawmeasurements"
|
|
|
|
server_conf="noclientlog"
|
|
|
|
run_test || test_fail
|
|
check_chronyd_exit || test_fail
|
|
check_source_selection || test_fail
|
|
check_sync || test_fail
|
|
|
|
check_file_messages "111 111 .111.* 4I [DKH] [DKH]\$" 0 0 measurements.log || test_fail
|
|
rm -f tmp/measurements.log
|
|
|
|
server_conf=""
|
|
max_sync_time=270
|
|
|
|
run_test || test_fail
|
|
check_chronyd_exit || test_fail
|
|
check_source_selection || test_fail
|
|
check_packet_interval || test_fail
|
|
check_sync || test_fail
|
|
|
|
check_file_messages "111 111 1111.* 4B [DKH] [DKH]\$" 2 2 measurements.log || test_fail
|
|
check_file_messages "111 111 1111.* 4I [DKH] [DKH]\$" 30 200 measurements.log || test_fail
|
|
check_file_messages "111 111 0111.* 4I [DKH] [DKH]\$" 1 1 measurements.log || test_fail
|
|
rm -f tmp/measurements.log
|
|
|
|
clients=2
|
|
peers=2
|
|
max_sync_time=500
|
|
base_delay="(+ 1e-4 (* -1 (equal 0.1 from 2) (equal 0.1 to 1)))"
|
|
|
|
client_lpeer_options="xleave minpoll 5 maxpoll 5"
|
|
client_rpeer_options="minpoll 5 maxpoll 5"
|
|
|
|
run_test || test_fail
|
|
check_chronyd_exit || test_fail
|
|
# These checks are expected to fail
|
|
check_source_selection && test_fail
|
|
check_sync && test_fail
|
|
|
|
rm -f tmp/measurements.log
|
|
|
|
for rpoll in 4 5 6; do
|
|
client_rpeer_options="xleave minpoll $rpoll maxpoll $rpoll"
|
|
|
|
run_test || test_fail
|
|
check_chronyd_exit || test_fail
|
|
check_sync || test_fail
|
|
|
|
if [ $rpoll -le 5 ]; then
|
|
check_file_messages "111 111 1111.* 1B [DKH] [DKH]\$" 0 0 measurements.log || test_fail
|
|
check_file_messages "111 111 1111.* 1I [DKH] [DKH]\$" 200 310 measurements.log || test_fail
|
|
else
|
|
check_file_messages "111 111 1111.* 1B [DKH] [DKH]\$" 125 135 measurements.log || test_fail
|
|
check_file_messages "111 111 1111.* 1I [DKH] [DKH]\$" 20 30 measurements.log || test_fail
|
|
fi
|
|
rm -f tmp/measurements.log
|
|
done
|
|
|
|
if check_config_h 'FEAT_CMDMON 1'; then
|
|
# test client timestamp selection and server timestamp correction
|
|
base_delay="(+ 1.25e-6 (* -1 (equal 0.1 from 5)))"
|
|
jitter=1e-9
|
|
wander=1e-12
|
|
client_lpeer_options="xleave minpoll 5 maxpoll 5 noselect"
|
|
client_rpeer_options="xleave minpoll 5 maxpoll 5 noselect"
|
|
chronyc_conf="doffset -0.1"
|
|
chronyc_start=7200
|
|
|
|
run_test || test_fail
|
|
check_chronyd_exit || test_fail
|
|
check_source_selection || test_fail
|
|
check_sync && test_fail
|
|
|
|
check_file_messages "\.2 N 2 111 111 .... 5 5 .\... ..\....e-.. 2\....e-06" \
|
|
290 310 measurements.log || test_fail
|
|
check_file_messages "\.2 N 2 111 111 .... 5 5 .\... ..\....e-.. .\....e-0[0123]" \
|
|
0 0 measurements.log || test_fail
|
|
rm -f tmp/measurements.log
|
|
fi
|
|
|
|
test_pass
|