58 lines
1.3 KiB
Bash
Executable file
58 lines
1.3 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]
|
|
client_start=$[2 * 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
|
|
|
|
client_server_options="trust"
|
|
client_conf="refclock SHM 0 dpoll 10 poll 10 delay 1e-3"
|
|
|
|
run_test || test_fail
|
|
check_chronyd_exit || test_fail
|
|
check_source_selection || test_fail
|
|
check_packet_interval || test_fail
|
|
check_sync || test_fail
|
|
|
|
client_server_options=""
|
|
client_conf="leapsecmode system"
|
|
min_sync_time=230000
|
|
max_sync_time=240000
|
|
|
|
for smoothmode in "" "leaponly"; do
|
|
server_conf="refclock SHM 0 dpoll 10 poll 10
|
|
leapsectz right/UTC
|
|
leapsecmode slew
|
|
smoothtime 400 0.001 $smoothmode"
|
|
|
|
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
|