Commit Graph

18 Commits

Author SHA1 Message Date
Måns Ansgariusson
c01ba39070 tests: rtc_api: Disable update callback after test completion
The update callback remains enabled after the test finishes, leaving the
RTC in a modified state. This change ensures the callback is properly
disabled, restoring the RTC to its original condition.

Signed-off-by: Måns Ansgariusson <Mansgariusson@gmail.com>
2025-02-05 01:12:41 +01:00
Andriy Gelman
a761280318 tests: drivers: rtc: Fix typos
Compare tm_nsec instead of tm_yday and fix error message.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2024-09-04 09:54:52 +02:00
Richard Wheatley
f36bd0a075 tests: drivers: rtc: rtc_api: test_update_callback
Add skip for when no update callback is defined
in driver

Signed-off-by: Richard Wheatley <richard.wheatley@ambiq.com>
2024-08-06 17:14:39 -04:00
Bjarki Arge Andreasen
cdff2575a7 tests: rtc: time_incrementing: set nsec member
The rtc test suite uses timegm to convert a unix
timestamp to datetime, specifically struct tm which has no
nsec field, so the nsec field is not initialized properly.

Update tests to init nsec and isdst members of struct rtc_time.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-07-09 19:03:49 +02:00
Bjarki Arge Andreasen
5343ae6817 tests: drivers: rtc: rtc_api: add config for alarm time mask
RTCs support a variety of combinations of alarm time fields, set
by the alarm time mask. Until now, alarm tests have selected
only the minute and hour fields, as these are always supported,
but some RTCs require setting every supported field when setting
the alarm time, while other RTCs don't support setting every field.

To support all RTCs in the test suite, a configuration has been
added which makes the alarm time mask configurable. Boards can now
define the specific alarm time mask they want to test within
their boards .conf files.

Additionally, the alarm tests have been refactored to not depend
on the time.h library to determine the struct rtc_time times to
set as these are constant, so they are now provided as const
structs instead.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-06-28 20:58:22 -04:00
Jakub Topic
3de17474b0 tests: drivers: rtc: skip alarm callback test if not supported
Check for ENOTSUP on alarm callback test if ALARM functionality is
enabled but callbacks are not supported

Signed-off-by: Jakub Topic <jakub.topic@anitra.cz>
2024-06-17 12:09:15 -04:00
Abderrahmane Jarmouni
30c471ca1d tests: drivers: rtc_api: test_alarm: add alarm id in logs
Add alarm ID in debug & error logs.

Signed-off-by: Abderrahmane Jarmouni <abderrahmane.jarmouni-ext@st.com>
2024-05-13 09:45:17 +02:00
Richard Wheatley
54bd261e8c tests: drivers: rtc: rtc_api
Check for EINVAL on rollover test

Signed-off-by: Richard Wheatley <richard.wheatley@ambiq.com>
2024-04-24 14:57:02 -04:00
Richard Wheatley
9f0cd47c78 tests: drivers: rtc: rtc_api
Correct time check for get/set
Previous check would always pass as it checked get/get.

Signed-off-by: Richard Wheatley <richard.wheatley@ambiq.com>
2024-04-08 18:22:41 -05:00
Andrew Featherstone
1c50ba489f drivers: rtc: rpi_pico: Add alarm support to RPi Pico RTC driver
This adds support for the alarm functionality of the RPi Pico RTC.

Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
2024-03-06 10:08:48 +00:00
Andrew Featherstone
4c880f4b0a drivers: rtc: Create utility function for time validation
RTC drivers should validate the `struct rtc_time`'s contents against the
provided `mask`. Promote this common code to a new rtc_utils file and
modify existing drivers to use this functionality. Extend the test
coverage to include verifying this behaviour.

This is groundwork ahead of adding support for the RP2040's (as used in
the Raspberry Pi Pico) RTC and alarm.

Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
2024-03-06 10:08:48 +00:00
Bjarki Arge Andreasen
a0b9d018b4 tests: rtc_api: Update y2k test to allow unknown values
Some RTCs don't support the tm_yday and/or tm_wday fields
of the struct rtc_time structure. These RTCs must set the
values of the fields to -1 if they are not supported, and
the test must be able to handle this correctly. This commit
adds an exception to the tm_yday and tm_wday fields allowing
them to be set to -1.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-10-27 10:53:19 +02:00
Daniel Leung
8eb73aa5e2 tests: rtc: rename shadow variables
Rename shadow variables found by -Wshadow.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-08-22 11:39:58 +02:00
Bjarki Arge Andreasen
7dd5fb6dc8 tests/drivers/rtc/rtc_api: Patch 64-bit arch support for test
The update callback test had a bug which prevented it from
running on 64-bit architectures. This patch makes the test
agnostic to 64-bit and 32-bit architectures.

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-08-09 07:27:40 -04:00
Florian Grandel
78dc3950dc tests: drivers: rtc: zassert_true -> zassert_equal
Using the more specialized zassert_equal() macro where appropriate.

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-07-12 09:26:16 +02:00
Christopher Friedt
d4ea1c920b tests: drivers: rtc: add a y2k test
Ensure that the RTC is capable of transitioning from
Dec 31, 1999 to Jan 1, 2000.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-06-21 08:20:45 -04:00
Anas Nashif
85a1294ee4 tests: rtc api: fix test identifier
Add test_ prefix to testcase.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-05-25 04:44:11 -04:00
Bjarki Arge Andreasen
ac697d153d tests/drivers/rtc: Add unit tests for RTC devices
This test suite adds tests for the following:

- Setting and getting time
- Validating time is incrementing correctly
- Validating behavior of alarms with callback disabled
- Validating behavior of alarms with callback enabled
- Validating update callback

The test suite uses the devicetree  alias rtc to find
the device to test.

Signed-off-by: Bjarki Arge Andreasen <baa@trackunit.com>
2023-04-04 17:03:38 +02:00