mirror of
https://gitlab.com/chrony/chrony.git
synced 2025-12-03 17:35:06 -05:00
The leaponly option can be used to enable a mode where only leap seconds are smoothed out and normal offset/frequency changes are ignored. This is useful to make the interval in which a leap second is smoothed out constant and allow an NTP client to use multiple leap smearing servers safely.
47 lines
1.0 KiB
Bash
Executable File
47 lines
1.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
. test.common
|
|
test_start "leap second"
|
|
|
|
export CLKNETSIM_START_DATE=$(TZ=UTC date -d 'Dec 30 2008 0:00:00' +'%s')
|
|
|
|
leap=$[2 * 24 * 3600]
|
|
limit=$[4 * 24 * 3600]
|
|
server_conf="refclock SHM 0 dpoll 10 poll 10
|
|
leapsectz right/UTC"
|
|
refclock_jitter=1e-9
|
|
refclock_offset="(* -1.0 (equal 0.1 (max (sum 1.0) $leap) $leap))"
|
|
|
|
for leapmode in system step slew; do
|
|
client_conf="leapsecmode $leapmode"
|
|
if [ $leapmode = slew ]; then
|
|
max_sync_time=$[$leap + 12]
|
|
else
|
|
max_sync_time=$[$leap]
|
|
fi
|
|
|
|
run_test || test_fail
|
|
check_chronyd_exit || test_fail
|
|
check_source_selection || test_fail
|
|
check_packet_interval || test_fail
|
|
check_sync || test_fail
|
|
done
|
|
|
|
for smoothmode in "" "leaponly"; do
|
|
server_conf="refclock SHM 0 dpoll 10 poll 10
|
|
leapsectz right/UTC
|
|
leapsecmode slew
|
|
smoothtime 400 0.001 $smoothmode"
|
|
client_conf="leapsecmode system"
|
|
min_sync_time=230000
|
|
max_sync_time=240000
|
|
|
|
run_test || test_fail
|
|
check_chronyd_exit || test_fail
|
|
check_source_selection || test_fail
|
|
check_packet_interval || test_fail
|
|
check_sync || test_fail
|
|
done
|
|
|
|
test_pass
|