Skip to content

Commit

Permalink
tests: fix tests
Browse files Browse the repository at this point in the history
to be sqashed

Signed-off-by: Krzysztof Taborowski <[email protected]>
  • Loading branch information
ktaborowski committed Dec 19, 2024
1 parent 9ae0da3 commit 262f289
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 9 deletions.
2 changes: 1 addition & 1 deletion tests/integration/mfg/testcase.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@ tests:
platform_allow:
- nrf52840dk/nrf52840
integration_platforms:
- nrf52840dk/nrf52840
- nrf52840dk/nrf52840
1 change: 1 addition & 0 deletions tests_new/integration/critical_region/prj.conf
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@
#
CONFIG_ZTEST=y
CONFIG_MAIN_THREAD_PRIORITY=14
CONFIG_NO_OPTIMIZATIONS=y
41 changes: 33 additions & 8 deletions tests_new/integration/uptime/src/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,44 @@
#include <zephyr/ztest.h>
#include <sid_pal_uptime_ifc.h>

/**
* @brief Tests the Sidewalk uptime
*
* 1. Get kernel uptime, convert it to seconeds and nanoseconds.
* 2. Get Sidewalk uptime.
* 3. Get kernel uptime again, convert it to seconeds and nanoseconds.
* 4. Check if Sidewalk uptime is between the two kernel uptimes.
*/
ZTEST(uptime, test_sid_pal_uptime_get)
{
struct sid_timespec sid_time = { 0 };
int64_t uptime_msec = k_uptime_get();
uint32_t uptime_sec = (uint32_t)(uptime_msec / MSEC_PER_SEC);
uint32_t uptime_nsec = (uint32_t)((uptime_msec * NSEC_PER_MSEC) % NSEC_PER_SEC);

zassert_not_equal(0, uptime_msec, "Test data preparation failed.");
struct sid_timespec time_befre, time_after, sid_time = { 0 };
uint64_t uptime = k_ticks_to_ns_floor64(k_uptime_ticks());
time_befre.tv_sec = (uint32_t)(uptime / NSEC_PER_SEC);
time_befre.tv_nsec = (uint32_t)(uptime % NSEC_PER_SEC);

zassert_equal(SID_ERROR_NONE, sid_pal_uptime_now(&sid_time));

zassert_true(sid_time.tv_sec >= uptime_sec);
zassert_true(sid_time.tv_nsec >= uptime_nsec);
uptime = k_ticks_to_ns_ceil64(k_uptime_ticks());
time_after.tv_sec = (uint32_t)(uptime / NSEC_PER_SEC);
time_after.tv_nsec = (uint32_t)(uptime % NSEC_PER_SEC);

zassert_true(time_befre.tv_sec <= time_after.tv_sec, "Test data preparation failed.");
zassert_true((time_befre.tv_nsec <= time_after.tv_nsec) ||
(time_befre.tv_sec < time_after.tv_sec),
"Test data preparation failed.");

zassert_true(sid_time.tv_sec >= time_befre.tv_sec, "before: %d, sidewalk: %d",
time_befre.tv_sec, sid_time.tv_sec);
zassert_true((sid_time.tv_nsec >= time_befre.tv_nsec) ||
(sid_time.tv_sec > time_befre.tv_sec),
"before: %d.%d, sidewalk: %d.%d", time_befre.tv_sec, time_befre.tv_nsec,
sid_time.tv_sec, sid_time.tv_nsec);
zassert_true(sid_time.tv_sec <= time_after.tv_sec, "sidewlk: %d.%d, after: %d.%d",
sid_time.tv_sec, time_after.tv_sec);
zassert_true((sid_time.tv_nsec <= time_after.tv_nsec) ||
(sid_time.tv_sec < time_after.tv_sec),
"sidewlk: %d.%d, after: %d.%d", sid_time.tv_sec, sid_time.tv_nsec,
time_after.tv_sec, time_after.tv_nsec);
}

ZTEST_SUITE(uptime, NULL, NULL, NULL, NULL, NULL);

0 comments on commit 262f289

Please sign in to comment.