1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-04-21 10:26:06 +03:00

Add test for mktime and localtime (#1745)

This commit is contained in:
Ivan Grokhotkov 2016-07-04 15:07:23 +08:00
parent e7a529eb45
commit 438744044c

View File

@ -41,6 +41,35 @@ TEST_CASE("Can sync time", "[time]")
CHECK(false);
}
TEST_CASE("#1745 mktime and localtime", "[time]")
{
struct tm tm_in;
struct tm tm_out;
const int years[] = {2012, 2013, 2014};
const time_t timestamps[] = {1332640800, 1364176800, 1395712800};
for (int i = 0; i < sizeof(years)/sizeof(years[0]); ++i) {
tm_in.tm_year = years[i] - 1900;
tm_in.tm_mon = 2;
tm_in.tm_mday = 25;
tm_in.tm_hour = 2;
tm_in.tm_min = 0;
tm_in.tm_sec = 0;
tm_in.tm_wday = 0;
time_t ts = mktime(&tm_in);
CHECK(ts == timestamps[i]);
localtime_r(&ts, &tm_out);
CHECK(tm_in.tm_year == tm_out.tm_year);
CHECK(tm_in.tm_mon == tm_out.tm_mon );
CHECK(tm_in.tm_mday == tm_out.tm_mday);
CHECK(tm_in.tm_hour == tm_out.tm_hour);
CHECK(tm_in.tm_min == tm_out.tm_min );
CHECK(tm_in.tm_sec == tm_out.tm_sec );
CHECK(tm_in.tm_wday == tm_out.tm_wday);
}
}
void loop()
{
}