blob: 88c6da3e2d76d2cc49ec1467d3a95b76cd8c2e97 [file] [log] [blame]
/*
* # Copyright (c) 2024 Andrew Featherstone
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <zephyr/ztest.h>
#include "../../../../drivers/rtc/rtc_utils.h"
ZTEST(rtc_utils, test_rtc_utils_validate_rtc_time)
{
/* Arbitrary out-out-range values. */
const struct rtc_time alarm_time = {
.tm_sec = 70,
.tm_min = 70,
.tm_hour = 25,
.tm_mday = 35,
.tm_mon = 15,
.tm_year = 8000,
.tm_wday = 8,
.tm_yday = 370,
.tm_nsec = INT32_MAX,
};
uint16_t masks[] = {RTC_ALARM_TIME_MASK_SECOND, RTC_ALARM_TIME_MASK_MINUTE,
RTC_ALARM_TIME_MASK_HOUR, RTC_ALARM_TIME_MASK_MONTHDAY,
RTC_ALARM_TIME_MASK_MONTH, RTC_ALARM_TIME_MASK_YEAR,
RTC_ALARM_TIME_MASK_WEEKDAY, RTC_ALARM_TIME_MASK_YEARDAY,
RTC_ALARM_TIME_MASK_NSEC};
ARRAY_FOR_EACH(masks, j)
{
bool ret = rtc_utils_validate_rtc_time(&alarm_time, masks[j]);
zassert_false(ret, "RTC should reject invalid alarm time in field %zu.", j);
}
}