mirror of
https://gitlab.com/chrony/chrony.git
synced 2025-12-03 17:35:06 -05:00
If a clock step enabled by the makestep directive or requested by the makestep command fails, accumulate the missing step back to keep the tracking offset valid. This fixes time served by an instance configured with the makestep directive and the -x option (the null driver cannot perform steps) at the same time. It will still generate error log messages.
46 lines
1009 B
Bash
Executable File
46 lines
1009 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
. ./test.common
|
|
|
|
test_start "-x option"
|
|
|
|
check_config_h 'FEAT_CMDMON 1' || test_skip
|
|
|
|
wander=0.0
|
|
time_offset=0.0
|
|
freq_offset=0.0
|
|
time_max_limit=1e-6
|
|
freq_max_limit=1e-9
|
|
min_sync_time=0
|
|
max_sync_time=0
|
|
client_chronyd_options="-x"
|
|
chronyc_start=300
|
|
chronyc_conf="tracking"
|
|
|
|
run_test || test_fail
|
|
check_chronyd_exit || test_fail
|
|
check_source_selection || test_fail
|
|
check_packet_interval || test_fail
|
|
check_sync || test_fail
|
|
check_chronyc_output "^.*Stratum *: 2
|
|
Ref time.*
|
|
System time *: 0.000.*
|
|
Last offset *: [+-]0.000.*$" || test_fail
|
|
check_log_messages "Could not step" 0 0 || test_fail
|
|
|
|
client_conf="makestep 0.01 -1"
|
|
client_server_options="offset 5.0005"
|
|
|
|
run_test || test_fail
|
|
check_chronyd_exit || test_fail
|
|
check_source_selection || test_fail
|
|
check_packet_interval || test_fail
|
|
check_sync || test_fail
|
|
check_chronyc_output "^.*Stratum *: 2
|
|
Ref time.*
|
|
System time *: 5.000.*
|
|
Last offset *: [+-]0.000.*$" || test_fail
|
|
check_log_messages "Could not step" 20 60 || test_fail
|
|
|
|
test_pass
|