test: fix util unit test for NTP era split

The current default NTP era split passed the Unix epoch (~50 years ago),
which means the epoch converted to an NTP timestamp and back ends up in
the next NTP era (year 2106).

Fix the test to take into account the era split.
This commit is contained in:
Miroslav Lichvar 2020-01-03 11:25:55 +01:00
parent 3477cbe28f
commit 2d9eb5b6fa

View file

@ -100,11 +100,19 @@ void test_unit(void) {
ntp_ts.hi = htonl(JAN_1970);
ntp_ts.lo = 0xffffffff;
UTI_Ntp64ToTimespec(&ntp_ts, &ts);
#if defined(HAVE_LONG_TIME_T) && NTP_ERA_SPLIT > 0
TEST_CHECK(ts.tv_sec == 0x100000000LL * (1 + (NTP_ERA_SPLIT - 1) / 0x100000000LL));
#else
TEST_CHECK(ts.tv_sec == 0);
#endif
TEST_CHECK(ts.tv_nsec == 999999999);
UTI_AddDoubleToTimespec(&ts, 1e-9, &ts);
#if defined(HAVE_LONG_TIME_T) && NTP_ERA_SPLIT > 0
TEST_CHECK(ts.tv_sec == 1 + 0x100000000LL * (1 + (NTP_ERA_SPLIT - 1) / 0x100000000LL));
#else
TEST_CHECK(ts.tv_sec == 1);
#endif
TEST_CHECK(ts.tv_nsec == 0);
ntp_fuzz.hi = 0;