summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Salyzyn <salyzyn@google.com>2016-02-11 23:45:46 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2016-02-11 23:45:46 +0000
commitf3a337aa9ffab5da6133f0ace06701559c4fde58 (patch)
tree7ecefa05653a982bd099c904d8c6a3be310d6c86
parentec255673dc853bcf9a829ea0f476d4fd2f1d4a67 (diff)
parent9258225ece5d6816ddf9a45e45fb694142c32761 (diff)
downloadextras-f3a337aa9ffab5da6133f0ace06701559c4fde58.tar.gz
Merge "rtc_time: test agent timeouts"
-rw-r--r--tests/timetest/rtc_test.cpp24
1 files changed, 20 insertions, 4 deletions
diff --git a/tests/timetest/rtc_test.cpp b/tests/timetest/rtc_test.cpp
index d1c9eafc..26ca13ad 100644
--- a/tests/timetest/rtc_test.cpp
+++ b/tests/timetest/rtc_test.cpp
@@ -77,7 +77,7 @@ static int set_hwtime(struct rtc_time *tm) {
return hwtime(O_WRONLY, RTC_SET_TIME, tm);
}
-TEST(time, rtc_rollover) {
+static void rtc_rollover(int start, int end) {
struct rtc_time roll;
memset(&roll, 0, sizeof(roll));
ASSERT_LE(0, rd_hwtime(&roll));
@@ -118,7 +118,7 @@ TEST(time, rtc_rollover) {
roll.tm_isdst = 0;
bool eacces = true;
- for (roll.tm_year = 70; roll.tm_year < 137; ++roll.tm_year) {
+ for (roll.tm_year = start; roll.tm_year < end; ++roll.tm_year) {
struct rtc_time tm = roll;
int __set_hwtime = set_hwtime(&tm);
// Allowed to be 100% denied for writing
@@ -126,8 +126,8 @@ TEST(time, rtc_rollover) {
continue;
}
eacces = false;
- // below 2015, permitted to error out.
- if ((__set_hwtime == -EINVAL) && (roll.tm_year < 115)) {
+ // below 2016, permitted to error out.
+ if ((__set_hwtime == -EINVAL) && (roll.tm_year < 116)) {
continue;
}
ASSERT_LE(0, __set_hwtime);
@@ -180,3 +180,19 @@ TEST(time, rtc_rollover) {
ASSERT_EQ(save.tm_year, roll.tm_year);
}
}
+
+TEST(time, rtc_rollover_1970_1990) {
+ rtc_rollover(70, 90);
+}
+
+TEST(time, rtc_rollover_1990_2010) {
+ rtc_rollover(90, 110);
+}
+
+TEST(time, rtc_rollover_2010_2030) {
+ rtc_rollover(110, 130);
+}
+
+TEST(time, rtc_rollover_2030_2037) {
+ rtc_rollover(130, 137);
+}