From: Miroslav Lichvar Date: Fri, 3 Jan 2020 10:25:55 +0000 (+0100) Subject: test: fix util unit test for NTP era split X-Git-Tag: 4.0-pre1~78 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2d9eb5b6fa5225a7300c8eed95712969249900fb;p=thirdparty%2Fchrony.git 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. --- diff --git a/test/unit/util.c b/test/unit/util.c index f4d9f330..af9e90c6 100644 --- a/test/unit/util.c +++ b/test/unit/util.c @@ -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;