]> git.ipfire.org Git - thirdparty/chrony.git/commitdiff
test: add 008-ntpera
authorMiroslav Lichvar <mlichvar@redhat.com>
Thu, 14 Aug 2014 16:02:28 +0000 (18:02 +0200)
committerMiroslav Lichvar <mlichvar@redhat.com>
Fri, 15 Aug 2014 09:18:44 +0000 (11:18 +0200)
test/simulation/008-ntpera [new file with mode: 0755]

diff --git a/test/simulation/008-ntpera b/test/simulation/008-ntpera
new file mode 100755 (executable)
index 0000000..808497d
--- /dev/null
@@ -0,0 +1,40 @@
+#!/bin/bash
+
+. test.common
+test_start "NTP eras"
+
+# Assume NTP_ERA_SPLIT is between years 1960 and 1990
+
+# Set date to 500 seconds before NTP second overflows, this should
+# work correctly with both 32-bit and 64-bit time_t
+export CLKNETSIM_START_DATE=$(date -d 'Feb  7 06:19:56 UTC 2036' +'%s')
+
+run_test || test_fail
+check_chronyd_exit || test_fail
+check_source_selection || test_fail
+check_packet_interval || test_fail
+check_sync || test_fail
+
+# The following tests need 64-bit time_t
+grep -q 'HAVE_LONG_TIME_T 1' ../../config.h || test_skip
+
+for year in 1990 2090; do
+       export CLKNETSIM_START_DATE=$(date -d "Jan  1 00:00:00 UTC $year" +'%s')
+       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 year in 1950 2130; do
+       export CLKNETSIM_START_DATE=$(date -d "Jan  1 00:00:00 UTC $year" +'%s')
+       run_test || test_fail
+       check_chronyd_exit || test_fail
+       check_source_selection || test_fail
+       check_packet_interval || test_fail
+       # This check is expected to fail
+       check_sync && test_fail
+done
+
+test_pass