56 lines
1.3 KiB
Bash
Executable file
56 lines
1.3 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
. ./test.common
|
|
|
|
test_start "NTP peers"
|
|
|
|
# Allow and drop packets to the server in 1000 second intervals, so only one
|
|
# client has access to it and the other is forced to switch to the peer.
|
|
base_delay=$(cat <<-EOF | tr -d '\n'
|
|
(+ 1e-4
|
|
(* -1
|
|
(equal 0.1 from 2)
|
|
(equal 0.1 to 1)
|
|
(equal 0.1 (min (% time 2000) 1000) 1000))
|
|
(* -1
|
|
(equal 0.1 from 3)
|
|
(equal 0.1 to 1)
|
|
(equal 0.1 (max (% time 2000) 1000) 1000)))
|
|
EOF
|
|
)
|
|
|
|
clients=2
|
|
peers=2
|
|
freq_max_limit=1e-3
|
|
max_sync_time=1000
|
|
client_server_options="minpoll 6 maxpoll 6"
|
|
client_peer_options="minpoll 6 maxpoll 6"
|
|
|
|
run_test || test_fail
|
|
check_chronyd_exit || test_fail
|
|
check_source_selection || test_fail
|
|
check_sync || test_fail
|
|
|
|
freq_max_limit=$default_freq_max_limit
|
|
base_delay="(+ 1e-4 (* -1 (equal 0.1 from 3) (equal 0.1 to 1)))"
|
|
client_peer_options=""
|
|
|
|
while read lminpoll lmaxpoll rminpoll rmaxpoll max_sync_time; do
|
|
client_lpeer_options="minpoll $lminpoll maxpoll $lmaxpoll"
|
|
client_rpeer_options="minpoll $rminpoll maxpoll $rmaxpoll"
|
|
limit=$[$max_sync_time * 10]
|
|
|
|
run_test || test_fail
|
|
check_chronyd_exit || test_fail
|
|
check_sync || test_fail
|
|
done <<-EOF
|
|
3 6 3 6 400
|
|
3 3 6 6 450
|
|
6 6 3 3 450
|
|
3 6 6 6 450
|
|
6 6 3 6 450
|
|
-2 -2 2 2 220
|
|
2 2 -2 -2 220
|
|
EOF
|
|
|
|
test_pass
|