mirror of
https://github.com/cc65/cc65.git
synced 2025-01-12 02:30:44 +00:00
b04028b5d8
A recent regression makes gmtime()/localtime() fail. So it's obviously desirable to have a test for that code.
37 lines
877 B
C
37 lines
877 B
C
#include <time.h>
|
|
#include <stdio.h>
|
|
|
|
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;
|
|
}
|