blob: 906de170d0c7ec7ab25185d364093c42d1de2c0a [file] [log] [blame]
#!/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
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
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