diff options
Diffstat (limited to 'tests')
65 files changed, 712 insertions, 75 deletions
diff --git a/tests/bug-2803/run-bug-2803.c b/tests/bug-2803/run-bug-2803.c index b25e362538a7..0cc2e5f68429 100644 --- a/tests/bug-2803/run-bug-2803.c +++ b/tests/bug-2803/run-bug-2803.c @@ -37,7 +37,9 @@ extern void test_main(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/bug-2803/testconf.yml b/tests/bug-2803/testconf.yml index 6140daaf9c78..e9e1facbddfa 100644 --- a/tests/bug-2803/testconf.yml +++ b/tests/bug-2803/testconf.yml @@ -4,6 +4,7 @@ --- :unity: :suite_setup: + - extern int change_iobufs(int); - extern int change_logfile(const char*, int); + - change_iobufs(1); - change_logfile("stderr", 0); - diff --git a/tests/libntp/calendar.c b/tests/libntp/calendar.c index b631565c0c8f..ea24b3ddd214 100644 --- a/tests/libntp/calendar.c +++ b/tests/libntp/calendar.c @@ -2,11 +2,15 @@ #include "ntp_stdlib.h" /* test fail without this include, for some reason */ #include "ntp_calendar.h" +#include "ntp_calgps.h" #include "ntp_unixtime.h" +#include "ntp_fp.h" #include "unity.h" #include <string.h> +static char mbuf[128]; + static int leapdays(int year); void setUp(void); @@ -21,12 +25,17 @@ char * DateFromIsoToString(const struct isodate *iso); int IsEqualDateCal(const struct calendar *expected, const struct calendar *actual); int IsEqualDateIso(const struct isodate *expected, const struct isodate *actual); +void test_Constants(void); void test_DaySplitMerge(void); +void test_WeekSplitMerge(void); void test_SplitYearDays1(void); void test_SplitYearDays2(void); +void test_SplitEraDays(void); +void test_SplitEraWeeks(void); void test_RataDie1(void); void test_LeapYears1(void); void test_LeapYears2(void); +void test_LeapYears3(void); void test_RoundTripDate(void); void test_RoundTripYearStart(void); void test_RoundTripMonthStart(void); @@ -36,10 +45,20 @@ void test_IsoCalYearsToWeeks(void); void test_IsoCalWeeksToYearStart(void); void test_IsoCalWeeksToYearEnd(void); void test_DaySecToDate(void); +void test_GpsRollOver(void); +void test_GpsRemapFunny(void); +void test_GpsNtpFixpoints(void); void test_NtpToNtp(void); void test_NtpToTime(void); +void test_CalUMod7(void); +void test_CalIMod7(void); +void test_RellezCentury1_1(void); +void test_RellezCentury3_1(void); +void test_RellezYearZero(void); + + void setUp(void) { @@ -207,6 +226,28 @@ IsEqualDateIso( } } +static int/*BOOL*/ +strToCal( + struct calendar * jd, + const char * str + ) +{ + unsigned short y,m,d, H,M,S; + + if (6 == sscanf(str, "%hu-%2hu-%2huT%2hu:%2hu:%2hu", + &y, &m, &d, &H, &M, &S)) { + memset(jd, 0, sizeof(*jd)); + jd->year = y; + jd->month = (uint8_t)m; + jd->monthday = (uint8_t)d; + jd->hour = (uint8_t)H; + jd->minute = (uint8_t)M; + jd->second = (uint8_t)S; + + return TRUE; + } + return FALSE; +} /* * --------------------------------------------------------------------- @@ -230,6 +271,25 @@ static const u_short real_month_days[2][14] = { { 31, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 31 } }; +void +test_Constants(void) +{ + int32_t rdn; + struct calendar jdn; + + jdn.year = 1900; + jdn.month = 1; + jdn.monthday = 1; + rdn = ntpcal_date_to_rd(&jdn); + TEST_ASSERT_EQUAL_MESSAGE(DAY_NTP_STARTS, rdn, "(NTP EPOCH)"); + + jdn.year = 1980; + jdn.month = 1; + jdn.monthday = 6; + rdn = ntpcal_date_to_rd(&jdn); + TEST_ASSERT_EQUAL_MESSAGE(DAY_GPS_STARTS, rdn, "(GPS EPOCH)"); +} + /* test the day/sec join & split ops, making sure that 32bit * intermediate results would definitely overflow and the hi DWORD of * the 'vint64' is definitely needed. @@ -241,10 +301,10 @@ test_DaySplitMerge(void) for (day = -1000000; day <= 1000000; day += 100) { for (sec = -100000; sec <= 186400; sec += 10000) { - vint64 merge; - ntpcal_split split; - int32 eday; - int32 esec; + vint64 merge; + ntpcal_split split; + int32 eday; + int32 esec; merge = ntpcal_dayjoin(day, sec); split = ntpcal_daysplit(&merge); @@ -269,6 +329,40 @@ test_DaySplitMerge(void) } void +test_WeekSplitMerge(void) +{ + int32 wno,sec; + + for (wno = -1000000; wno <= 1000000; wno += 100) { + for (sec = -100000; sec <= 2*SECSPERWEEK; sec += 10000) { + vint64 merge; + ntpcal_split split; + int32 ewno; + int32 esec; + + merge = ntpcal_weekjoin(wno, sec); + split = ntpcal_weeksplit(&merge); + ewno = wno; + esec = sec; + + while (esec >= SECSPERWEEK) { + ewno += 1; + esec -= SECSPERWEEK; + } + while (esec < 0) { + ewno -= 1; + esec += SECSPERWEEK; + } + + TEST_ASSERT_EQUAL(ewno, split.hi); + TEST_ASSERT_EQUAL(esec, split.lo); + } + } + + return; +} + +void test_SplitYearDays1(void) { int32 eyd; @@ -309,6 +403,32 @@ test_SplitYearDays2(void) } void +test_SplitEraDays(void) +{ + int32_t ed, rd; + ntpcal_split sd; + for (ed = -10000; ed < 1000000; ++ed) { + sd = ntpcal_split_eradays(ed, NULL); + rd = ntpcal_days_in_years(sd.hi) + sd.lo; + TEST_ASSERT_EQUAL(ed, rd); + TEST_ASSERT_TRUE(0 <= sd.lo && sd.lo <= 365); + } +} + +void +test_SplitEraWeeks(void) +{ + int32_t ew, rw; + ntpcal_split sw; + for (ew = -10000; ew < 1000000; ++ew) { + sw = isocal_split_eraweeks(ew); + rw = isocal_weeks_in_years(sw.hi) + sw.lo; + TEST_ASSERT_EQUAL(ew, rw); + TEST_ASSERT_TRUE(0 <= sw.lo && sw.lo <= 52); + } +} + +void test_RataDie1(void) { int32 testDate = 1; /* 0001-01-01 (proleptic date) */ @@ -358,6 +478,21 @@ test_LeapYears2(void) return; } +/* check the 'is_leapyear()' implementation for 4400 years */ +void +test_LeapYears3(void) +{ + int32_t year; + int l1, l2; + + for (year = -399; year < 4000; ++year) { + l1 = (year % 4 == 0) && ((year % 100 != 0) || (year % 400 == 0)); + l2 = is_leapyear(year); + snprintf(mbuf, sizeof(mbuf), "y=%d", year); + TEST_ASSERT_EQUAL_MESSAGE(l1, l2, mbuf); + } +} + /* Full roundtrip from 1601-01-01 to 2400-12-31 * checks sequence of rata die numbers and validates date output * (since the input is all nominal days of the calendar in that range @@ -735,3 +870,351 @@ test_NtpToTime(void) } # endif } + +/* -------------------------------------------------------------------- + * GPS rollover + * -------------------------------------------------------------------- + */ +void +test_GpsRollOver(void) +{ + /* we test on wednesday, noon, and on the border */ + static const int32_t wsec1 = 3*SECSPERDAY + SECSPERDAY/2; + static const int32_t wsec2 = 7 * SECSPERDAY - 1; + static const int32_t week0 = GPSNTP_WSHIFT + 2047; + static const int32_t week1 = GPSNTP_WSHIFT + 2048; + TCivilDate jd; + TGpsDatum gps; + l_fp fpz; + + ZERO(fpz); + + /* test on 2nd rollover, April 2019 + * we set the base date properly one week *before the rollover, to + * check if the expansion merrily hops over the warp. + */ + basedate_set_day(2047 * 7 + NTP_TO_GPS_DAYS); + + strToCal(&jd, "19-04-03T12:00:00"); + gps = gpscal_from_calendar(&jd, fpz); + TEST_ASSERT_EQUAL_MESSAGE(week0, gps.weeks, "(week test 1))"); + TEST_ASSERT_EQUAL_MESSAGE(wsec1, gps.wsecs, "(secs test 1)"); + + strToCal(&jd, "19-04-06T23:59:59"); + gps = gpscal_from_calendar(&jd, fpz); + TEST_ASSERT_EQUAL_MESSAGE(week0, gps.weeks, "(week test 2)"); + TEST_ASSERT_EQUAL_MESSAGE(wsec2, gps.wsecs, "(secs test 2)"); + + strToCal(&jd, "19-04-07T00:00:00"); + gps = gpscal_from_calendar(&jd, fpz); + TEST_ASSERT_EQUAL_MESSAGE(week1, gps.weeks, "(week test 3)"); + TEST_ASSERT_EQUAL_MESSAGE( 0 , gps.wsecs, "(secs test 3)"); + + strToCal(&jd, "19-04-10T12:00:00"); + gps = gpscal_from_calendar(&jd, fpz); + TEST_ASSERT_EQUAL_MESSAGE(week1, gps.weeks, "(week test 4)"); + TEST_ASSERT_EQUAL_MESSAGE(wsec1, gps.wsecs, "(secs test 4)"); +} + +void +test_GpsRemapFunny(void) +{ + TCivilDate di, dc, de; + TGpsDatum gd; + + l_fp fpz; + + ZERO(fpz); + basedate_set_day(2048 * 7 + NTP_TO_GPS_DAYS); + + /* expand 2digit year to 2080, then fold back into 3rd GPS era: */ + strToCal(&di, "80-01-01T00:00:00"); + strToCal(&de, "2021-02-15T00:00:00"); + gd = gpscal_from_calendar(&di, fpz); + gpscal_to_calendar(&dc, &gd); + TEST_ASSERT_TRUE(IsEqualCal(&de, &dc)); + + /* expand 2digit year to 2080, then fold back into 3rd GPS era: */ + strToCal(&di, "80-01-05T00:00:00"); + strToCal(&de, "2021-02-19T00:00:00"); + gd = gpscal_from_calendar(&di, fpz); + gpscal_to_calendar(&dc, &gd); + TEST_ASSERT_TRUE(IsEqualCal(&de, &dc)); + + /* remap days before epoch into 3rd era: */ + strToCal(&di, "1980-01-05T00:00:00"); + strToCal(&de, "2038-11-20T00:00:00"); + gd = gpscal_from_calendar(&di, fpz); + gpscal_to_calendar(&dc, &gd); + TEST_ASSERT_TRUE(IsEqualCal(&de, &dc)); + + /* remap GPS epoch: */ + strToCal(&di, "1980-01-06T00:00:00"); + strToCal(&de, "2019-04-07T00:00:00"); + gd = gpscal_from_calendar(&di, fpz); + gpscal_to_calendar(&dc, &gd); + TEST_ASSERT_TRUE(IsEqualCal(&de, &dc)); +} + +void +test_GpsNtpFixpoints(void) +{ + basedate_set_day(NTP_TO_GPS_DAYS); + TGpsDatum e1gps; + TNtpDatum e1ntp, r1ntp; + l_fp lfpe , lfpr; + + lfpe.l_ui = 0; + lfpe.l_uf = UINT32_C(0x80000000); + + ZERO(e1gps); + e1gps.weeks = 0; + e1gps.wsecs = SECSPERDAY; + e1gps.frac = UINT32_C(0x80000000); + + ZERO(e1ntp); + e1ntp.frac = UINT32_C(0x80000000); + + r1ntp = gpsntp_from_gpscal(&e1gps); + TEST_ASSERT_EQUAL_MESSAGE(e1ntp.days, r1ntp.days, "gps -> ntp / days"); + TEST_ASSERT_EQUAL_MESSAGE(e1ntp.secs, r1ntp.secs, "gps -> ntp / secs"); + TEST_ASSERT_EQUAL_MESSAGE(e1ntp.frac, r1ntp.frac, "gps -> ntp / frac"); + + lfpr = ntpfp_from_gpsdatum(&e1gps); + snprintf(mbuf, sizeof(mbuf), "gps -> l_fp: %s <=> %s", + lfptoa(&lfpe, 9), lfptoa(&lfpr, 9)); + TEST_ASSERT_TRUE_MESSAGE(L_ISEQU(&lfpe, &lfpr), mbuf); + + lfpr = ntpfp_from_ntpdatum(&e1ntp); + snprintf(mbuf, sizeof(mbuf), "ntp -> l_fp: %s <=> %s", + lfptoa(&lfpe, 9), lfptoa(&lfpr, 9)); + TEST_ASSERT_TRUE_MESSAGE(L_ISEQU(&lfpe, &lfpr), mbuf); +} + +void +test_CalUMod7(void) +{ + TEST_ASSERT_EQUAL(0, u32mod7(0)); + TEST_ASSERT_EQUAL(1, u32mod7(INT32_MAX)); + TEST_ASSERT_EQUAL(2, u32mod7(UINT32_C(1)+INT32_MAX)); + TEST_ASSERT_EQUAL(3, u32mod7(UINT32_MAX)); +} + +void +test_CalIMod7(void) +{ + TEST_ASSERT_EQUAL(5, i32mod7(INT32_MIN)); + TEST_ASSERT_EQUAL(6, i32mod7(-1)); + TEST_ASSERT_EQUAL(0, i32mod7(0)); + TEST_ASSERT_EQUAL(1, i32mod7(INT32_MAX)); +} + +/* Century expansion tests. Reverse application of Zeller's congruence, + * sort of... hence the name "Rellez", Zeller backwards. Just in case + * you didn't notice ;) + */ + +void +test_RellezCentury1_1() +{ + /* 1st day of a century */ + TEST_ASSERT_EQUAL(1901, ntpcal_expand_century( 1, 1, 1, CAL_TUESDAY )); + TEST_ASSERT_EQUAL(2001, ntpcal_expand_century( 1, 1, 1, CAL_MONDAY )); + TEST_ASSERT_EQUAL(2101, ntpcal_expand_century( 1, 1, 1, CAL_SATURDAY )); + TEST_ASSERT_EQUAL(2201, ntpcal_expand_century( 1, 1, 1, CAL_THURSDAY )); + /* bad/impossible cases: */ + TEST_ASSERT_EQUAL( 0, ntpcal_expand_century( 1, 1, 1, CAL_WEDNESDAY)); + TEST_ASSERT_EQUAL( 0, ntpcal_expand_century( 1, 1, 1, CAL_FRIDAY )); + TEST_ASSERT_EQUAL( 0, ntpcal_expand_century( 1, 1, 1, CAL_SUNDAY )); +} + +void +test_RellezCentury3_1() +{ + /* 1st day in March of a century (the tricky point) */ + TEST_ASSERT_EQUAL(1901, ntpcal_expand_century( 1, 3, 1, CAL_FRIDAY )); + TEST_ASSERT_EQUAL(2001, ntpcal_expand_century( 1, 3, 1, CAL_THURSDAY )); + TEST_ASSERT_EQUAL(2101, ntpcal_expand_century( 1, 3, 1, CAL_TUESDAY )); + TEST_ASSERT_EQUAL(2201, ntpcal_expand_century( 1, 3, 1, CAL_SUNDAY )); + /* bad/impossible cases: */ + TEST_ASSERT_EQUAL( 0, ntpcal_expand_century( 1, 3, 1, CAL_MONDAY )); + TEST_ASSERT_EQUAL( 0, ntpcal_expand_century( 1, 3, 1, CAL_WEDNESDAY)); + TEST_ASSERT_EQUAL( 0, ntpcal_expand_century( 1, 3, 1, CAL_SATURDAY )); +} + +void +test_RellezYearZero() +{ + /* the infamous year zero */ + TEST_ASSERT_EQUAL(1900, ntpcal_expand_century( 0, 1, 1, CAL_MONDAY )); + TEST_ASSERT_EQUAL(2000, ntpcal_expand_century( 0, 1, 1, CAL_SATURDAY )); + TEST_ASSERT_EQUAL(2100, ntpcal_expand_century( 0, 1, 1, CAL_FRIDAY )); + TEST_ASSERT_EQUAL(2200, ntpcal_expand_century( 0, 1, 1, CAL_WEDNESDAY)); + /* bad/impossible cases: */ + TEST_ASSERT_EQUAL( 0, ntpcal_expand_century( 0, 1, 1, CAL_TUESDAY )); + TEST_ASSERT_EQUAL( 0, ntpcal_expand_century( 0, 1, 1, CAL_THURSDAY )); + TEST_ASSERT_EQUAL( 0, ntpcal_expand_century( 0, 1, 1, CAL_SUNDAY )); +} + +void test_RellezEra(void); +void test_RellezEra(void) +{ + static const unsigned int mt[13] = { 0, 31,28,31,30,31,30,31,31,30,31,30,31 }; + unsigned int yi, yo, m, d, wd; + + /* last day before our era -- fold forward */ + yi = 1899; + m = 12; + d = 31; + wd = ntpcal_edate_to_eradays(yi-1, m-1, d-1) % 7 + 1; + yo = ntpcal_expand_century((yi%100), m, d, wd); + snprintf(mbuf, sizeof(mbuf), "failed, di=%04u-%02u-%02u, wd=%u", + yi, m, d, wd); + TEST_ASSERT_EQUAL_MESSAGE(2299, yo, mbuf); + + /* 1st day after our era -- fold back */ + yi = 2300; + m = 1; + d = 1; + wd = ntpcal_edate_to_eradays(yi-1, m-1, d-1) % 7 + 1; + yo = ntpcal_expand_century((yi%100), m, d, wd); + snprintf(mbuf, sizeof(mbuf), "failed, di=%04u-%02u-%02u, wd=%u", + yi, m, d, wd); + TEST_ASSERT_EQUAL_MESSAGE(1900, yo, mbuf); + + /* test every month in our 400y era */ + for (yi = 1900; yi < 2300; ++yi) { + for (m = 1; m < 12; ++m) { + /* test first day of month */ + d = 1; + wd = ntpcal_edate_to_eradays(yi-1, m-1, d-1) % 7 + 1; + yo = ntpcal_expand_century((yi%100), m, d, wd); + snprintf(mbuf, sizeof(mbuf), "failed, di=%04u-%02u-%02u, wd=%u", + yi, m, d, wd); + TEST_ASSERT_EQUAL_MESSAGE(yi, yo, mbuf); + + /* test last day of month */ + d = mt[m] + (m == 2 && is_leapyear(yi)); + wd = ntpcal_edate_to_eradays(yi-1, m-1, d-1) % 7 + 1; + yo = ntpcal_expand_century((yi%100), m, d, wd); + snprintf(mbuf, sizeof(mbuf), "failed, di=%04u-%02u-%02u, wd=%u", + yi, m, d, wd); + TEST_ASSERT_EQUAL_MESSAGE(yi, yo, mbuf); + } + } +} + +/* This is nearly a verbatim copy of the in-situ implementation of + * Zeller's congruence in libparse/clk_rawdcf.c, so the algorithm + * can be tested. + */ +static int +zeller_expand( + unsigned int y, + unsigned int m, + unsigned int d, + unsigned int wd + ) +{ + unsigned int c; + + if ((y >= 100u) || (--m >= 12u) || (--d >= 31u) || (--wd >= 7u)) + return 0; + + if ((m += 10u) >= 12u) + m -= 12u; + else if (--y >= 100u) + y += 100u; + d += y + (y >> 2) + 2u; + d += (m * 83u + 16u) >> 5; + + c = (((252u + wd - d) * 0x6db6db6eU) >> 29) & 7u; + if (c > 3u) + return 0; + + if ((m > 9u) && (++y >= 100u)) { + y -= 100u; + c = (c + 1) & 3u; + } + y += (c * 100u); + y += (y < 370u) ? 2000 : 1600; + return (int)y; +} + +void test_zellerDirect(void); +void test_zellerDirect(void) +{ + static const unsigned int mt[13] = { 0, 31,28,31,30,31,30,31,31,30,31,30,31 }; + unsigned int yi, yo, m, d, wd; + + /* last day before our era -- fold forward */ + yi = 1969; + m = 12; + d = 31; + wd = ntpcal_edate_to_eradays(yi-1, m-1, d-1) % 7 + 1; + yo = zeller_expand((yi%100), m, d, wd); + snprintf(mbuf, sizeof(mbuf), "failed, di=%04u-%02u-%02u, wd=%u", + yi, m, d, wd); + TEST_ASSERT_EQUAL_MESSAGE(2369, yo, mbuf); + + /* 1st day after our era -- fold back */ + yi = 2370; + m = 1; + d = 1; + wd = ntpcal_edate_to_eradays(yi-1, m-1, d-1) % 7 + 1; + yo = zeller_expand((yi%100), m, d, wd); + snprintf(mbuf, sizeof(mbuf), "failed, di=%04u-%02u-%02u, wd=%u", + yi, m, d, wd); + TEST_ASSERT_EQUAL_MESSAGE(1970, yo, mbuf); + + /* test every month in our 400y era */ + for (yi = 1970; yi < 2370; ++yi) { + for (m = 1; m < 12; ++m) { + /* test first day of month */ + d = 1; + wd = ntpcal_edate_to_eradays(yi-1, m-1, d-1) % 7 + 1; + yo = zeller_expand((yi%100), m, d, wd); + snprintf(mbuf, sizeof(mbuf), "failed, di=%04u-%02u-%02u, wd=%u", + yi, m, d, wd); + TEST_ASSERT_EQUAL_MESSAGE(yi, yo, mbuf); + + /* test last day of month */ + d = mt[m] + (m == 2 && is_leapyear(yi)); + wd = ntpcal_edate_to_eradays(yi-1, m-1, d-1) % 7 + 1; + yo = zeller_expand((yi%100), m, d, wd); + snprintf(mbuf, sizeof(mbuf), "failed, di=%04u-%02u-%02u, wd=%u", + yi, m, d, wd); + TEST_ASSERT_EQUAL_MESSAGE(yi, yo, mbuf); + } + } +} + +void test_ZellerDirectBad(void); +void test_ZellerDirectBad(void) +{ + unsigned int y, n, wd; + for (y = 2001; y < 2101; ++y) { + wd = ntpcal_edate_to_eradays(y-1, 0, 0) % 7 + 1; + /* move 4 centuries ahead */ + wd = (wd + 5) % 7 + 1; + for (n = 0; n < 3; ++n) { + TEST_ASSERT_EQUAL(0, zeller_expand((y%100), 1, 1, wd)); + wd = (wd + 4) % 7 + 1; + } + } +} + +void test_zellerModInv(void); +void test_zellerModInv(void) +{ + unsigned int i, r1, r2; + + for (i = 0; i < 2048; ++i) { + r1 = (3 * i) % 7; + r2 = ((i * 0x6db6db6eU) >> 29) & 7u; + snprintf(mbuf, sizeof(mbuf), "i=%u", i); + TEST_ASSERT_EQUAL_MESSAGE(r1, r2, mbuf); + } +} + + diff --git a/tests/libntp/decodenetnum.c b/tests/libntp/decodenetnum.c index 64980fc3d586..85463e868d0b 100644 --- a/tests/libntp/decodenetnum.c +++ b/tests/libntp/decodenetnum.c @@ -62,7 +62,7 @@ test_IPv4AddressWithPort(void) void test_IPv6AddressOnly(void) { -#ifdef ISC_PLATFORM_WANTIPV6 +#if defined(ISC_PLATFORM_HAVEIPV6) && defined(WANT_IPV6) const struct in6_addr address = { 0x20, 0x01, 0x0d, 0xb8, @@ -84,16 +84,16 @@ test_IPv6AddressOnly(void) #else - TEST_IGNORE_MESSAGE("IPV6 disabled in build, skipping."); + TEST_IGNORE_MESSAGE("IPV6 disabled in build"); -#endif /* ISC_PLATFORM_HAVEIPV6 */ +#endif } void test_IPv6AddressWithPort(void) { -#ifdef ISC_PLATFORM_WANTIPV6 +#if defined(ISC_PLATFORM_HAVEIPV6) && defined(WANT_IPV6) const struct in6_addr address = { 0x20, 0x01, 0x0d, 0xb8, @@ -115,9 +115,9 @@ test_IPv6AddressWithPort(void) #else - TEST_IGNORE_MESSAGE("IPV6 disabled in build, skipping."); + TEST_IGNORE_MESSAGE("IPV6 disabled in build"); -#endif /* ISC_PLATFORM_HAVEIPV6 */ +#endif } diff --git a/tests/libntp/lfptostr.c b/tests/libntp/lfptostr.c index ed3285378d7e..a049b7903611 100644 --- a/tests/libntp/lfptostr.c +++ b/tests/libntp/lfptostr.c @@ -47,8 +47,8 @@ void test_PositiveInteger(void) { l_fp test = {{200}, 0}; /* exact 200.0000000000 */ - TEST_ASSERT_EQUAL_STRING("200.0000000000", mfptoa(test.l_ui, test.l_uf, LFP_MAX_PRECISION)); - TEST_ASSERT_EQUAL_STRING("200000.0000000", mfptoms(test.l_ui, test.l_uf, LFP_MAX_PRECISION_MS)); + TEST_ASSERT_EQUAL_STRING("+200.0000000000", mfptoa(test.l_ui, test.l_uf, LFP_MAX_PRECISION)); + TEST_ASSERT_EQUAL_STRING("+200000.0000000", mfptoms(test.l_ui, test.l_uf, LFP_MAX_PRECISION_MS)); } void @@ -63,8 +63,8 @@ void test_PositiveIntegerWithFraction(void) { l_fp test = {{200}, ONE_FOURTH}; /* 200.25 */ - TEST_ASSERT_EQUAL_STRING("200.2500000000", lfptoa(&test, LFP_MAX_PRECISION)); - TEST_ASSERT_EQUAL_STRING("200250.0000000", lfptoms(&test, LFP_MAX_PRECISION_MS)); + TEST_ASSERT_EQUAL_STRING("+200.2500000000", lfptoa(&test, LFP_MAX_PRECISION)); + TEST_ASSERT_EQUAL_STRING("+200250.0000000", lfptoms(&test, LFP_MAX_PRECISION_MS)); } void @@ -79,52 +79,52 @@ void test_RoundingDownToInteger(void) { l_fp test = {{10}, ONE_FOURTH}; /* 10.25 */ - TEST_ASSERT_EQUAL_STRING("10", lfptoa(&test, 0)); - TEST_ASSERT_EQUAL_STRING("10250", lfptoms(&test, 0)); + TEST_ASSERT_EQUAL_STRING("+10", lfptoa(&test, 0)); + TEST_ASSERT_EQUAL_STRING("+10250", lfptoms(&test, 0)); } void test_RoundingMiddleToInteger(void) { l_fp test = {{10}, HALF}; /* 10.5 */ - TEST_ASSERT_EQUAL_STRING("11", lfptoa(&test, 0)); - TEST_ASSERT_EQUAL_STRING("10500", lfptoms(&test, 0)); + TEST_ASSERT_EQUAL_STRING("+11", lfptoa(&test, 0)); + TEST_ASSERT_EQUAL_STRING("+10500", lfptoms(&test, 0)); } void test_RoundingUpToInteger(void) { l_fp test = {{5}, THREE_FOURTH}; /* 5.75 */ - TEST_ASSERT_EQUAL_STRING("6", lfptoa(&test, 0)); - TEST_ASSERT_EQUAL_STRING("5750", lfptoms(&test, 0)); + TEST_ASSERT_EQUAL_STRING("+6", lfptoa(&test, 0)); + TEST_ASSERT_EQUAL_STRING("+5750", lfptoms(&test, 0)); } void test_SingleDecimal(void) { l_fp test = {{8}, ONE_FOURTH}; /* 8.25 */ - TEST_ASSERT_EQUAL_STRING("8.3", lfptoa(&test, 1)); - TEST_ASSERT_EQUAL_STRING("8250.0", lfptoms(&test, 1)); + TEST_ASSERT_EQUAL_STRING("+8.3", lfptoa(&test, 1)); + TEST_ASSERT_EQUAL_STRING("+8250.0", lfptoms(&test, 1)); } void test_MillisecondsRoundingUp(void) { l_fp test = {{1}, HALF_PROMILLE_UP}; /* slightly more than 1.0005 */ - TEST_ASSERT_EQUAL_STRING("1.0", lfptoa(&test, 1)); + TEST_ASSERT_EQUAL_STRING("+1.0", lfptoa(&test, 1)); - TEST_ASSERT_EQUAL_STRING("1000.5", lfptoms(&test, 1)); - TEST_ASSERT_EQUAL_STRING("1001", lfptoms(&test, 0)); + TEST_ASSERT_EQUAL_STRING("+1000.5", lfptoms(&test, 1)); + TEST_ASSERT_EQUAL_STRING("+1001", lfptoms(&test, 0)); } void test_MillisecondsRoundingDown(void) { l_fp test = {{1}, HALF_PROMILLE_DOWN}; /* slightly less than 1.0005 */ - TEST_ASSERT_EQUAL_STRING("1.0", lfptoa(&test, 1)); + TEST_ASSERT_EQUAL_STRING("+1.0", lfptoa(&test, 1)); - TEST_ASSERT_EQUAL_STRING("1000.5", lfptoms(&test, 1)); - TEST_ASSERT_EQUAL_STRING("1000", lfptoms(&test, 0)); + TEST_ASSERT_EQUAL_STRING("+1000.5", lfptoms(&test, 1)); + TEST_ASSERT_EQUAL_STRING("+1000", lfptoms(&test, 0)); } void test_UnsignedInteger(void) { diff --git a/tests/libntp/refidsmear.c b/tests/libntp/refidsmear.c index da1ebff200ee..84163ef1994d 100644 --- a/tests/libntp/refidsmear.c +++ b/tests/libntp/refidsmear.c @@ -120,14 +120,14 @@ void test_refidsmear(void) rtol(0xfefffffe, "-0.00000048"); rtol(0xfeffffff, "-0.00000024"); - rtol(0xfe000000, "0.00000000"); - rtol(0xfe000001, "0.00000024"); - rtol(0xfe6ffffe, "1.74999952"); - rtol(0xfe6fffff, "1.74999976"); - rtol(0xfe700000, "1.75000000"); - rtol(0xfe700001, "1.75000024"); - rtol(0xfe7ffffe, "1.99999952"); - rtol(0xfe7fffff, "1.99999976"); + rtol(0xfe000000, "+0.00000000"); + rtol(0xfe000001, "+0.00000024"); + rtol(0xfe6ffffe, "+1.74999952"); + rtol(0xfe6fffff, "+1.74999976"); + rtol(0xfe700000, "+1.75000000"); + rtol(0xfe700001, "+1.75000024"); + rtol(0xfe7ffffe, "+1.99999952"); + rtol(0xfe7fffff, "+1.99999976"); rtoltor(0xfe800000, "-2.00000000"); rtoltor(0xfe800001, "-1.99999976"); @@ -138,14 +138,14 @@ void test_refidsmear(void) rtoltor(0xfefffffe, "-0.00000048"); rtoltor(0xfeffffff, "-0.00000024"); - rtoltor(0xfe000000, "0.00000000"); - rtoltor(0xfe000001, "0.00000024"); - rtoltor(0xfe6ffffe, "1.74999952"); - rtoltor(0xfe6fffff, "1.74999976"); - rtoltor(0xfe700000, "1.75000000"); - rtoltor(0xfe700001, "1.75000024"); - rtoltor(0xfe7ffffe, "1.99999952"); - rtoltor(0xfe7fffff, "1.99999976"); + rtoltor(0xfe000000, "+0.00000000"); + rtoltor(0xfe000001, "+0.00000024"); + rtoltor(0xfe6ffffe, "+1.74999952"); + rtoltor(0xfe6fffff, "+1.74999976"); + rtoltor(0xfe700000, "+1.75000000"); + rtoltor(0xfe700001, "+1.75000024"); + rtoltor(0xfe7ffffe, "+1.99999952"); + rtoltor(0xfe7fffff, "+1.99999976"); return; } diff --git a/tests/libntp/run-a_md5encrypt.c b/tests/libntp/run-a_md5encrypt.c index 332f0e2d1cfd..2d9c08669900 100644 --- a/tests/libntp/run-a_md5encrypt.c +++ b/tests/libntp/run-a_md5encrypt.c @@ -39,7 +39,9 @@ extern void test_IPv6AddressToRefId(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/libntp/run-atoint.c b/tests/libntp/run-atoint.c index 9212c81cb5a5..a89530920575 100644 --- a/tests/libntp/run-atoint.c +++ b/tests/libntp/run-atoint.c @@ -40,7 +40,9 @@ extern void test_IllegalCharacter(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/libntp/run-atouint.c b/tests/libntp/run-atouint.c index 9597a7658048..afcb590ca1a5 100644 --- a/tests/libntp/run-atouint.c +++ b/tests/libntp/run-atouint.c @@ -40,7 +40,9 @@ extern void test_IllegalChar(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/libntp/run-authkeys.c b/tests/libntp/run-authkeys.c index bdf48f0e1529..b56be93fce6e 100644 --- a/tests/libntp/run-authkeys.c +++ b/tests/libntp/run-authkeys.c @@ -49,7 +49,9 @@ extern void test_AddrMatch_ipv6(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/libntp/run-buftvtots.c b/tests/libntp/run-buftvtots.c index c8d68a36808c..73afe87ca85a 100644 --- a/tests/libntp/run-buftvtots.c +++ b/tests/libntp/run-buftvtots.c @@ -41,7 +41,9 @@ extern void test_AlwaysFalseOnWindows(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/libntp/run-calendar.c b/tests/libntp/run-calendar.c index 393b36898223..b736ece96bed 100644 --- a/tests/libntp/run-calendar.c +++ b/tests/libntp/run-calendar.c @@ -25,18 +25,25 @@ #include "config.h" #include "ntp_stdlib.h" #include "ntp_calendar.h" +#include "ntp_calgps.h" #include "ntp_unixtime.h" +#include "ntp_fp.h" #include <string.h> //=======External Functions This Runner Calls===== extern void setUp(void); extern void tearDown(void); +extern void test_Constants(void); extern void test_DaySplitMerge(void); +extern void test_WeekSplitMerge(void); extern void test_SplitYearDays1(void); extern void test_SplitYearDays2(void); +extern void test_SplitEraDays(void); +extern void test_SplitEraWeeks(void); extern void test_RataDie1(void); extern void test_LeapYears1(void); extern void test_LeapYears2(void); +extern void test_LeapYears3(void); extern void test_RoundTripDate(void); extern void test_RoundTripYearStart(void); extern void test_RoundTripMonthStart(void); @@ -46,14 +53,28 @@ extern void test_IsoCalYearsToWeeks(void); extern void test_IsoCalWeeksToYearStart(void); extern void test_IsoCalWeeksToYearEnd(void); extern void test_DaySecToDate(void); +extern void test_GpsRollOver(void); +extern void test_GpsRemapFunny(void); +extern void test_GpsNtpFixpoints(void); extern void test_NtpToNtp(void); extern void test_NtpToTime(void); +extern void test_CalUMod7(void); +extern void test_CalIMod7(void); +extern void test_RellezCentury1_1(void); +extern void test_RellezCentury3_1(void); +extern void test_RellezYearZero(void); +extern void test_RellezEra(void); +extern void test_zellerDirect(void); +extern void test_ZellerDirectBad(void); +extern void test_zellerModInv(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } @@ -74,23 +95,40 @@ int main(int argc, char *argv[]) progname = argv[0]; suite_setup(); UnityBegin("calendar.c"); - RUN_TEST(test_DaySplitMerge, 24); - RUN_TEST(test_SplitYearDays1, 25); - RUN_TEST(test_SplitYearDays2, 26); - RUN_TEST(test_RataDie1, 27); - RUN_TEST(test_LeapYears1, 28); - RUN_TEST(test_LeapYears2, 29); - RUN_TEST(test_RoundTripDate, 30); - RUN_TEST(test_RoundTripYearStart, 31); - RUN_TEST(test_RoundTripMonthStart, 32); - RUN_TEST(test_RoundTripWeekStart, 33); - RUN_TEST(test_RoundTripDayStart, 34); - RUN_TEST(test_IsoCalYearsToWeeks, 35); - RUN_TEST(test_IsoCalWeeksToYearStart, 36); - RUN_TEST(test_IsoCalWeeksToYearEnd, 37); - RUN_TEST(test_DaySecToDate, 38); - RUN_TEST(test_NtpToNtp, 40); - RUN_TEST(test_NtpToTime, 41); + RUN_TEST(test_Constants, 28); + RUN_TEST(test_DaySplitMerge, 29); + RUN_TEST(test_WeekSplitMerge, 30); + RUN_TEST(test_SplitYearDays1, 31); + RUN_TEST(test_SplitYearDays2, 32); + RUN_TEST(test_SplitEraDays, 33); + RUN_TEST(test_SplitEraWeeks, 34); + RUN_TEST(test_RataDie1, 35); + RUN_TEST(test_LeapYears1, 36); + RUN_TEST(test_LeapYears2, 37); + RUN_TEST(test_LeapYears3, 38); + RUN_TEST(test_RoundTripDate, 39); + RUN_TEST(test_RoundTripYearStart, 40); + RUN_TEST(test_RoundTripMonthStart, 41); + RUN_TEST(test_RoundTripWeekStart, 42); + RUN_TEST(test_RoundTripDayStart, 43); + RUN_TEST(test_IsoCalYearsToWeeks, 44); + RUN_TEST(test_IsoCalWeeksToYearStart, 45); + RUN_TEST(test_IsoCalWeeksToYearEnd, 46); + RUN_TEST(test_DaySecToDate, 47); + RUN_TEST(test_GpsRollOver, 48); + RUN_TEST(test_GpsRemapFunny, 49); + RUN_TEST(test_GpsNtpFixpoints, 51); + RUN_TEST(test_NtpToNtp, 52); + RUN_TEST(test_NtpToTime, 53); + RUN_TEST(test_CalUMod7, 55); + RUN_TEST(test_CalIMod7, 56); + RUN_TEST(test_RellezCentury1_1, 57); + RUN_TEST(test_RellezCentury3_1, 58); + RUN_TEST(test_RellezYearZero, 59); + RUN_TEST(test_RellezEra, 1059); + RUN_TEST(test_zellerDirect, 1144); + RUN_TEST(test_ZellerDirectBad, 1192); + RUN_TEST(test_zellerModInv, 1207); return (UnityEnd()); } diff --git a/tests/libntp/run-caljulian.c b/tests/libntp/run-caljulian.c index f611dde2884e..51d5470c15f7 100644 --- a/tests/libntp/run-caljulian.c +++ b/tests/libntp/run-caljulian.c @@ -40,7 +40,9 @@ extern void test_uLongWrapped(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/libntp/run-caltontp.c b/tests/libntp/run-caltontp.c index b6d043f676e0..9c54d9a812f8 100644 --- a/tests/libntp/run-caltontp.c +++ b/tests/libntp/run-caltontp.c @@ -37,7 +37,9 @@ extern void test_WraparoundDateIn2036(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/libntp/run-calyearstart.c b/tests/libntp/run-calyearstart.c index 68909169a96b..1f3212ef0b1d 100644 --- a/tests/libntp/run-calyearstart.c +++ b/tests/libntp/run-calyearstart.c @@ -38,7 +38,9 @@ extern void test_WrapInDateRange(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/libntp/run-clocktime.c b/tests/libntp/run-clocktime.c index a729cb4879ed..96d32e143b60 100644 --- a/tests/libntp/run-clocktime.c +++ b/tests/libntp/run-clocktime.c @@ -43,7 +43,9 @@ extern void test_AlwaysInLimit(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/libntp/run-decodenetnum.c b/tests/libntp/run-decodenetnum.c index aef1fdaa24d1..ef2b3c68eb61 100644 --- a/tests/libntp/run-decodenetnum.c +++ b/tests/libntp/run-decodenetnum.c @@ -40,7 +40,9 @@ extern void test_IllegalCharInPort(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/libntp/run-hextoint.c b/tests/libntp/run-hextoint.c index 70f000eb686b..fb383121ab9c 100644 --- a/tests/libntp/run-hextoint.c +++ b/tests/libntp/run-hextoint.c @@ -40,7 +40,9 @@ extern void test_IllegalChar(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/libntp/run-hextolfp.c b/tests/libntp/run-hextolfp.c index 258d9b172e12..85ba58ad6add 100644 --- a/tests/libntp/run-hextolfp.c +++ b/tests/libntp/run-hextolfp.c @@ -41,7 +41,9 @@ extern void test_IllegalChar(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/libntp/run-humandate.c b/tests/libntp/run-humandate.c index 109292ecf1eb..04ea37f83841 100644 --- a/tests/libntp/run-humandate.c +++ b/tests/libntp/run-humandate.c @@ -36,7 +36,9 @@ extern void test_CurrentTime(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/libntp/run-lfpfunc.c b/tests/libntp/run-lfpfunc.c index 40d004f24903..851ea3e4f7b4 100644 --- a/tests/libntp/run-lfpfunc.c +++ b/tests/libntp/run-lfpfunc.c @@ -45,7 +45,9 @@ extern void test_UnsignedRelOps(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/libntp/run-lfptostr.c b/tests/libntp/run-lfptostr.c index 2ee7b0055a00..b5336fd2a254 100644 --- a/tests/libntp/run-lfptostr.c +++ b/tests/libntp/run-lfptostr.c @@ -45,7 +45,9 @@ extern void test_UnsignedInteger(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/libntp/run-modetoa.c b/tests/libntp/run-modetoa.c index 6d561340d851..97b983f2dce6 100644 --- a/tests/libntp/run-modetoa.c +++ b/tests/libntp/run-modetoa.c @@ -35,7 +35,9 @@ extern void test_UnknownMode(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/libntp/run-msyslog.c b/tests/libntp/run-msyslog.c index 0ebeb4562a60..7a01e9a813f6 100644 --- a/tests/libntp/run-msyslog.c +++ b/tests/libntp/run-msyslog.c @@ -41,7 +41,9 @@ extern void test_msnprintfTruncate(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/libntp/run-netof.c b/tests/libntp/run-netof.c index c41630bc77d2..9c81f38475bb 100644 --- a/tests/libntp/run-netof.c +++ b/tests/libntp/run-netof.c @@ -39,7 +39,9 @@ extern void test_IPv6Address(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/libntp/run-numtoa.c b/tests/libntp/run-numtoa.c index 8b0ab7971402..614e6547289f 100644 --- a/tests/libntp/run-numtoa.c +++ b/tests/libntp/run-numtoa.c @@ -36,7 +36,9 @@ extern void test_Netmask(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/libntp/run-numtohost.c b/tests/libntp/run-numtohost.c index 4e49ccb02e80..3129845f7cf9 100644 --- a/tests/libntp/run-numtohost.c +++ b/tests/libntp/run-numtohost.c @@ -35,7 +35,9 @@ extern void test_LoopbackNetNonResolve(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/libntp/run-octtoint.c b/tests/libntp/run-octtoint.c index 3002763656fb..f60cca816f68 100644 --- a/tests/libntp/run-octtoint.c +++ b/tests/libntp/run-octtoint.c @@ -40,7 +40,9 @@ extern void test_IllegalDigit(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/libntp/run-prettydate.c b/tests/libntp/run-prettydate.c index e5e7e09a2162..66a656cd97fa 100644 --- a/tests/libntp/run-prettydate.c +++ b/tests/libntp/run-prettydate.c @@ -36,7 +36,9 @@ extern void test_ConstantDate(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/libntp/run-recvbuff.c b/tests/libntp/run-recvbuff.c index 926a5a946900..b58f62585ca4 100644 --- a/tests/libntp/run-recvbuff.c +++ b/tests/libntp/run-recvbuff.c @@ -36,7 +36,9 @@ extern void test_GetAndFill(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/libntp/run-refidsmear.c b/tests/libntp/run-refidsmear.c index 1c9e1dc7f329..4575ae47de36 100644 --- a/tests/libntp/run-refidsmear.c +++ b/tests/libntp/run-refidsmear.c @@ -37,7 +37,9 @@ extern void test_refidsmear(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/libntp/run-refnumtoa.c b/tests/libntp/run-refnumtoa.c index 5383d3aad563..e56c9a1158e1 100644 --- a/tests/libntp/run-refnumtoa.c +++ b/tests/libntp/run-refnumtoa.c @@ -36,7 +36,9 @@ extern void test_UnknownId(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/libntp/run-sbprintf.c b/tests/libntp/run-sbprintf.c index 996139613f5c..b5ce0bccc0b5 100644 --- a/tests/libntp/run-sbprintf.c +++ b/tests/libntp/run-sbprintf.c @@ -42,7 +42,9 @@ extern void test_Increment1(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/libntp/run-sfptostr.c b/tests/libntp/run-sfptostr.c index 53eba8d6b150..9718557c891e 100644 --- a/tests/libntp/run-sfptostr.c +++ b/tests/libntp/run-sfptostr.c @@ -42,7 +42,9 @@ extern void test_SingleDecimalRounding(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/libntp/run-socktoa.c b/tests/libntp/run-socktoa.c index b409f20c964e..ecca95c29391 100644 --- a/tests/libntp/run-socktoa.c +++ b/tests/libntp/run-socktoa.c @@ -41,7 +41,9 @@ extern void test_HashNotEqual(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/libntp/run-ssl_init.c b/tests/libntp/run-ssl_init.c index fcb4a9d1999d..8450a27c3d9d 100644 --- a/tests/libntp/run-ssl_init.c +++ b/tests/libntp/run-ssl_init.c @@ -40,7 +40,9 @@ extern void test_CMACKeyName(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/libntp/run-statestr.c b/tests/libntp/run-statestr.c index b1902e1e411a..8a97f8ef9a52 100644 --- a/tests/libntp/run-statestr.c +++ b/tests/libntp/run-statestr.c @@ -39,7 +39,9 @@ extern void test_ClockCodeUnknown(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/libntp/run-strtolfp.c b/tests/libntp/run-strtolfp.c index 07f27c27775e..603a360df71a 100644 --- a/tests/libntp/run-strtolfp.c +++ b/tests/libntp/run-strtolfp.c @@ -42,7 +42,9 @@ extern void test_InvalidChars(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/libntp/run-timespecops.c b/tests/libntp/run-timespecops.c index 76bad9415da5..ee5831fdb92c 100644 --- a/tests/libntp/run-timespecops.c +++ b/tests/libntp/run-timespecops.c @@ -65,7 +65,9 @@ extern void test_ToString(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/libntp/run-timevalops.c b/tests/libntp/run-timevalops.c index cadfa6c5aded..a38bbdd6b476 100644 --- a/tests/libntp/run-timevalops.c +++ b/tests/libntp/run-timevalops.c @@ -64,7 +64,9 @@ extern void test_ToString(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/libntp/run-tsafememcmp.c b/tests/libntp/run-tsafememcmp.c index 7f40e2bea00c..a2a54eec748e 100644 --- a/tests/libntp/run-tsafememcmp.c +++ b/tests/libntp/run-tsafememcmp.c @@ -40,7 +40,9 @@ extern void test_MiddleByteUpLo(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/libntp/run-tstotv.c b/tests/libntp/run-tstotv.c index 17f879e4d19d..f69fda9a659e 100644 --- a/tests/libntp/run-tstotv.c +++ b/tests/libntp/run-tstotv.c @@ -37,7 +37,9 @@ extern void test_MicrosecondsRounding(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/libntp/run-tvtots.c b/tests/libntp/run-tvtots.c index c31768885245..54b4e56239e8 100644 --- a/tests/libntp/run-tvtots.c +++ b/tests/libntp/run-tvtots.c @@ -38,7 +38,9 @@ extern void test_MicrosecondsExact(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/libntp/run-uglydate.c b/tests/libntp/run-uglydate.c index 5cc04bda622a..347764cd93a4 100644 --- a/tests/libntp/run-uglydate.c +++ b/tests/libntp/run-uglydate.c @@ -35,7 +35,9 @@ extern void test_ConstantDateTime(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/libntp/run-vi64ops.c b/tests/libntp/run-vi64ops.c index b5cafc7f650b..b578165fa8fc 100644 --- a/tests/libntp/run-vi64ops.c +++ b/tests/libntp/run-vi64ops.c @@ -37,7 +37,9 @@ extern void test_ParseVUI64_case(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/libntp/run-ymd2yd.c b/tests/libntp/run-ymd2yd.c index 3200632a8aed..a0157645d28a 100644 --- a/tests/libntp/run-ymd2yd.c +++ b/tests/libntp/run-ymd2yd.c @@ -37,7 +37,9 @@ extern void test_LeapYearDecember(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/libntp/sockaddrtest.c b/tests/libntp/sockaddrtest.c index bd893bd429a2..bbf669c78487 100644 --- a/tests/libntp/sockaddrtest.c +++ b/tests/libntp/sockaddrtest.c @@ -31,7 +31,13 @@ IsEqual(const sockaddr_u expected, const sockaddr_u actual) { sizeof( in )) == 0) { return TRUE; } else { - printf("IPv4 comparision failed, expected: %s(%s) but was: %s(%s)",inet_ntoa(expected.sa4.sin_addr), socktoa(&expected), inet_ntoa(actual.sa4.sin_addr),socktoa(&actual)); + char buf[4][32]; + strlcpy(buf[0], inet_ntoa(expected.sa4.sin_addr), sizeof(buf[0])); + strlcpy(buf[1], socktoa(&expected) , sizeof(buf[1])); + strlcpy(buf[2], inet_ntoa(actual.sa4.sin_addr) , sizeof(buf[2])); + strlcpy(buf[3], socktoa(&actual) , sizeof(buf[3])); + printf("IPv4 comparision failed, expected: %s(%s) but was: %s(%s)", + buf[0], buf[1], buf[2], buf[3]); return FALSE; } } else if (actual.sa.sa_family == AF_INET6) { //IPv6 diff --git a/tests/libntp/socktoa.c b/tests/libntp/socktoa.c index e9be1829fc6c..c8a9157d9bfa 100644 --- a/tests/libntp/socktoa.c +++ b/tests/libntp/socktoa.c @@ -36,7 +36,7 @@ test_IPv4AddressWithPort(void) void test_IPv6AddressWithPort(void) { -#ifdef ISC_PLATFORM_WANTIPV6 +#if defined(ISC_PLATFORM_HAVEIPV6) && defined(WANT_IPV6) const struct in6_addr address = { 0x20, 0x01, 0x0d, 0xb8, @@ -61,16 +61,16 @@ test_IPv6AddressWithPort(void) #else - TEST_IGNORE_MESSAGE("IPV6 disabled in build, skipping."); + TEST_IGNORE_MESSAGE("IPV6 disabled in build"); -#endif /* ISC_PLATFORM_HAVEIPV6 */ +#endif } void test_ScopedIPv6AddressWithPort(void) { -#ifdef ISC_PLATFORM_HAVESCOPEID +#if defined(ISC_PLATFORM_HAVESCOPEID) && defined(WANT_IPV6) const struct in6_addr address = { { { 0xfe, 0x80, 0x00, 0x00, @@ -95,7 +95,7 @@ test_ScopedIPv6AddressWithPort(void) TEST_ASSERT_EQUAL_STRING(expected_port, sockporttoa(&input)); #else - TEST_IGNORE_MESSAGE("Skipping because ISC_PLATFORM does not have Scope ID"); + TEST_IGNORE_MESSAGE("IPV6 scopes unavailable or IPV6 disabled in build"); #endif } @@ -127,7 +127,7 @@ test_HashNotEqual(void) void test_IgnoreIPv6Fields(void) { -#ifdef ISC_PLATFORM_WANTIPV6 +#if defined(ISC_PLATFORM_HAVEIPV6) && defined(WANT_IPV6) const struct in6_addr address = { 0x20, 0x01, 0x0d, 0xb8, @@ -152,7 +152,7 @@ test_IgnoreIPv6Fields(void) #else - TEST_IGNORE_MESSAGE("IPV6 disabled in build, skipping."); + TEST_IGNORE_MESSAGE("IPV6 disabled in build"); -#endif /* ISC_PLATFORM_HAVEIPV6 */ +#endif } diff --git a/tests/libntp/testconf.yml b/tests/libntp/testconf.yml index 6140daaf9c78..182e0d762f38 100644 --- a/tests/libntp/testconf.yml +++ b/tests/libntp/testconf.yml @@ -4,6 +4,8 @@ --- :unity: :suite_setup: + - extern int change_iobufs(int); - extern int change_logfile(const char*, int); + - change_iobufs(1); - change_logfile("stderr", 0); diff --git a/tests/ntpd/run-leapsec.c b/tests/ntpd/run-leapsec.c index 16b4c3fdac34..6c9f243d6796 100644 --- a/tests/ntpd/run-leapsec.c +++ b/tests/ntpd/run-leapsec.c @@ -72,7 +72,9 @@ extern void test_lsEmptyTableElectric(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/ntpd/run-ntp_prio_q.c b/tests/ntpd/run-ntp_prio_q.c index 5b1adea4aace..0c1c9ee4da0d 100644 --- a/tests/ntpd/run-ntp_prio_q.c +++ b/tests/ntpd/run-ntp_prio_q.c @@ -44,7 +44,9 @@ extern void test_AppendQueues(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/ntpd/run-ntp_restrict.c b/tests/ntpd/run-ntp_restrict.c index 3303640f1145..ee28cee84cbe 100644 --- a/tests/ntpd/run-ntp_restrict.c +++ b/tests/ntpd/run-ntp_restrict.c @@ -42,7 +42,9 @@ extern void test_RestrictUnflagWorks(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/ntpd/run-rc_cmdlength.c b/tests/ntpd/run-rc_cmdlength.c index e5121cd1d609..54d78100e809 100644 --- a/tests/ntpd/run-rc_cmdlength.c +++ b/tests/ntpd/run-rc_cmdlength.c @@ -39,7 +39,9 @@ extern void test_EvaluateCommandLength(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/ntpd/run-t-ntp_scanner.c b/tests/ntpd/run-t-ntp_scanner.c index 056bb5bc6e43..28eccffca0a6 100644 --- a/tests/ntpd/run-t-ntp_scanner.c +++ b/tests/ntpd/run-t-ntp_scanner.c @@ -43,7 +43,9 @@ extern void test_EOC(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/ntpd/run-t-ntp_signd.c b/tests/ntpd/run-t-ntp_signd.c index 644b6cee8706..6dbcc8a56a5d 100644 --- a/tests/ntpd/run-t-ntp_signd.c +++ b/tests/ntpd/run-t-ntp_signd.c @@ -42,7 +42,9 @@ extern void test_send_via_ntp_signd(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/ntpd/t-ntp_scanner.c b/tests/ntpd/t-ntp_scanner.c index 470449b06c22..f4fcd2677b0c 100644 --- a/tests/ntpd/t-ntp_scanner.c +++ b/tests/ntpd/t-ntp_scanner.c @@ -10,7 +10,7 @@ void test_keywordIncorrectToken(void) { const char * temp = keyword(999); //printf("%s\n",temp); - TEST_ASSERT_EQUAL_STRING("(keyword not found)",temp); + TEST_ASSERT_EQUAL_STRING("(keyword #999 not found)",temp); } extern void test_keywordServerToken(void); diff --git a/tests/ntpd/testconf.yml b/tests/ntpd/testconf.yml index 6140daaf9c78..182e0d762f38 100644 --- a/tests/ntpd/testconf.yml +++ b/tests/ntpd/testconf.yml @@ -4,6 +4,8 @@ --- :unity: :suite_setup: + - extern int change_iobufs(int); - extern int change_logfile(const char*, int); + - change_iobufs(1); - change_logfile("stderr", 0); diff --git a/tests/ntpq/run-t-ntpq.c b/tests/ntpq/run-t-ntpq.c index baa1211c44c5..54bc21a428cc 100644 --- a/tests/ntpq/run-t-ntpq.c +++ b/tests/ntpq/run-t-ntpq.c @@ -35,7 +35,9 @@ extern void testPrimary(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/ntpq/testconf.yml b/tests/ntpq/testconf.yml index 6140daaf9c78..e9e1facbddfa 100644 --- a/tests/ntpq/testconf.yml +++ b/tests/ntpq/testconf.yml @@ -4,6 +4,7 @@ --- :unity: :suite_setup: + - extern int change_iobufs(int); - extern int change_logfile(const char*, int); + - change_iobufs(1); - change_logfile("stderr", 0); - diff --git a/tests/sandbox/run-modetoa.c b/tests/sandbox/run-modetoa.c index 000df89eab2c..a1751e45c55e 100644 --- a/tests/sandbox/run-modetoa.c +++ b/tests/sandbox/run-modetoa.c @@ -33,7 +33,9 @@ extern void test_UnknownMode(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/sandbox/run-uglydate.c b/tests/sandbox/run-uglydate.c index 151a3cd27eef..442d0993f587 100644 --- a/tests/sandbox/run-uglydate.c +++ b/tests/sandbox/run-uglydate.c @@ -35,7 +35,9 @@ extern void test_ConstantDateTime(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/sandbox/run-ut-2803.c b/tests/sandbox/run-ut-2803.c index afe09049a639..af0d251b2212 100644 --- a/tests/sandbox/run-ut-2803.c +++ b/tests/sandbox/run-ut-2803.c @@ -37,7 +37,9 @@ extern void test_ignored(void); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/sandbox/testconf.yml b/tests/sandbox/testconf.yml index 6140daaf9c78..e9e1facbddfa 100644 --- a/tests/sandbox/testconf.yml +++ b/tests/sandbox/testconf.yml @@ -4,6 +4,7 @@ --- :unity: :suite_setup: + - extern int change_iobufs(int); - extern int change_logfile(const char*, int); + - change_iobufs(1); - change_logfile("stderr", 0); - diff --git a/tests/sec-2853/run-sec-2853.c b/tests/sec-2853/run-sec-2853.c index d3a0c60c229b..06c5945010e9 100644 --- a/tests/sec-2853/run-sec-2853.c +++ b/tests/sec-2853/run-sec-2853.c @@ -34,7 +34,9 @@ extern void test_main(void ); //=======Suite Setup===== static void suite_setup(void) { +extern int change_iobufs(int); extern int change_logfile(const char*, int); +change_iobufs(1); change_logfile("stderr", 0); } diff --git a/tests/sec-2853/testconf.yml b/tests/sec-2853/testconf.yml index 6140daaf9c78..e9e1facbddfa 100644 --- a/tests/sec-2853/testconf.yml +++ b/tests/sec-2853/testconf.yml @@ -4,6 +4,7 @@ --- :unity: :suite_setup: + - extern int change_iobufs(int); - extern int change_logfile(const char*, int); + - change_iobufs(1); - change_logfile("stderr", 0); - |