mirror of
https://github.com/esp8266/Arduino.git
synced 2025-04-19 23:22:16 +03:00
Add test for mktime and localtime (#1745)
This commit is contained in:
parent
e7a529eb45
commit
438744044c
@ -35,12 +35,41 @@ TEST_CASE("Can sync time", "[time]")
|
|||||||
delay(100);
|
delay(100);
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
time_t now = time(nullptr);
|
time_t now = time(nullptr);
|
||||||
Serial.println(ctime(&now));
|
Serial.println(ctime(&now));
|
||||||
}
|
}
|
||||||
CHECK(false);
|
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()
|
void loop()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user