diff options
Diffstat (limited to '')
-rwxr-xr-x | test/simulation/145-rtc | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/test/simulation/145-rtc b/test/simulation/145-rtc new file mode 100755 index 0000000..22b62d9 --- /dev/null +++ b/test/simulation/145-rtc @@ -0,0 +1,75 @@ +#!/usr/bin/env bash + +. ./test.common +test_start "RTC tracking" + +check_config_h 'FEAT_CMDMON 1' || test_skip +check_config_h 'FEAT_RTC 1' || test_skip + +export CLKNETSIM_START_DATE=$(date -d 'Jan 1 00:00:00 UTC 2010' +'%s') +export CLKNETSIM_RTC_OFFSET=-10.0 + +time_offset=$(awk "BEGIN {print -($freq_offset * $limit)}") +wander=0.0 +chronyc_start=9900 +chronyc_conf="rtcdata" +client_chronyd_options="-x" + +client_conf=" +hwclockfile /dev/null +driftfile tmp/drift +rtcfile tmp/rtc +rtconutc" + +run_test || test_fail +check_chronyd_exit || test_fail +check_source_selection || test_fail +check_chronyc_output "^RTC ref time \(UTC\) : Fri Jan 01 02:4[34]:.. 2010 +Number of samples : [0-9]+ +Number of runs : [0-9]+ +Sample span period : [ 0-9]+ +RTC is fast by : -9\.01.... seconds +RTC gains time at : 99\.9[98]. ppm$" \ +|| test_fail + +export CLKNETSIM_START_DATE=$(date -d 'Jan 5 00:00:00 UTC 2010' +'%s') +export CLKNETSIM_RTC_OFFSET=$(awk "BEGIN {print -(10.0 - 4 * 86400 * $freq_offset)}") +touch -d 'Jan 1 00:00:00 UTC 2010' tmp/drift + +time_offset=10 +min_sync_time=2 +max_sync_time=12 +time_max_limit=1e-2 +freq_max_limit=1e-1 +time_rms_limit=1e-3 +freq_rms_limit=1e-3 +client_chronyd_options="-s" +client_conf+=" +rtcautotrim 1" + +run_test || test_fail +check_chronyd_exit || test_fail +check_source_selection || test_fail +check_sync || test_fail +check_chronyc_output "^RTC ref time \(UTC\) : Tue Jan 05 02:4[34]:.. 2010 +Number of samples : [0-9]+ +Number of runs : [0-9]+ +Sample span period : [ 0-9]+ +RTC is fast by : 0\.1..... seconds +RTC gains time at : [- ]0\.0.. ppm$" \ +|| test_fail + +export CLKNETSIM_START_DATE=$(date -d 'Jan 10 00:00:00 UTC 2010' +'%s') +export CLKNETSIM_RTC_OFFSET=-10.0 +touch -d 'Jan 10 00:00:00 UTC 2010' tmp/drift + +time_offset=-10000 +min_sync_time=1 +max_sync_time=1 + +run_test || test_fail +check_chronyd_exit || test_fail +check_source_selection || test_fail +check_sync || test_fail + +test_pass |