From b04028b5d8ea4ab9984f9ab648791013004dcefb Mon Sep 17 00:00:00 2001 From: Oliver Schmidt Date: Tue, 24 Jul 2018 03:25:49 +0200 Subject: [PATCH] Added test for mktime() and gmtime(). A recent regression makes gmtime()/localtime() fail. So it's obviously desirable to have a test for that code. --- test/val/time.c | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 test/val/time.c diff --git a/test/val/time.c b/test/val/time.c new file mode 100644 index 000000000..11b0dcf91 --- /dev/null +++ b/test/val/time.c @@ -0,0 +1,36 @@ +#include +#include + +int main(void) +{ + int failures = 0; + + struct tm timeinfo; + time_t rawtime; + struct tm *p_timeinfo; + + timeinfo.tm_year = 2020 - 1900; + timeinfo.tm_mon = 12 - 1; + timeinfo.tm_mday = 24; + timeinfo.tm_hour = 10; + timeinfo.tm_min = 30; + timeinfo.tm_sec = 50; + timeinfo.tm_isdst = 0; + + rawtime = mktime(&timeinfo); + + failures += !(rawtime == 1608805850); + + p_timeinfo = gmtime(&rawtime); + + failures += !(p_timeinfo->tm_year == timeinfo.tm_year); + failures += !(p_timeinfo->tm_mon == timeinfo.tm_mon); + failures += !(p_timeinfo->tm_mday == timeinfo.tm_mday); + failures += !(p_timeinfo->tm_hour == timeinfo.tm_hour); + failures += !(p_timeinfo->tm_min == timeinfo.tm_min); + failures += !(p_timeinfo->tm_sec == timeinfo.tm_sec); + + printf("%lu\n%s%d\n", rawtime, asctime(p_timeinfo), failures); + + return failures; +} -- 2.39.5