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:
parent
e7a529eb45
commit
438744044c
@ -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()
|
||||
{
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user