From d7d1f7acadbc554b64cc31093a4ac2a422cacb6e Mon Sep 17 00:00:00 2001 From: Karl Fessel Date: Fri, 3 Dec 2021 16:27:51 +0100 Subject: [PATCH] test/unittest: init ztimer, work around ztimer_t uint64_t --- tests/unittests/main.c | 6 ++++++ .../tests-ztimer/tests-ztimer-convert-muldiv64.c | 12 ++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/tests/unittests/main.c b/tests/unittests/main.c index 8128bd5dd1..23399752d5 100644 --- a/tests/unittests/main.c +++ b/tests/unittests/main.c @@ -10,6 +10,7 @@ #include "embUnit.h" #include "xtimer.h" +#include "ztimer.h" #include "test_utils/interactive_sync.h" @@ -25,6 +26,11 @@ int main(void) { test_utils_interactive_sync(); +#if MODULE_ZTIMER_USEC || MODULE_ZTIMER_MSEC || MODULE_ZTIMER_SEC + /* auto_init is disabled, but some modules depends on this module being initialized */ + ztimer_init(); +#endif + #ifdef MODULE_XTIMER /* auto_init is disabled, but some modules depends on this module being initialized */ xtimer_init(); diff --git a/tests/unittests/tests-ztimer/tests-ztimer-convert-muldiv64.c b/tests/unittests/tests-ztimer/tests-ztimer-convert-muldiv64.c index 6ae9174c38..2de8578663 100644 --- a/tests/unittests/tests-ztimer/tests-ztimer-convert-muldiv64.c +++ b/tests/unittests/tests-ztimer/tests-ztimer-convert-muldiv64.c @@ -120,7 +120,8 @@ static void test_ztimer_convert_muldiv64_set_speedup(void) TEST_ASSERT_EQUAL_INT(4294968LU, ztimer_now(&zmock.super)); /* convert has overflowed ((2000 + 4294966000) % 2**32 = 704U)*/ - TEST_ASSERT_EQUAL_INT(704LU, ztimer_now(z)); + /* cast in case ztimer_now_t is uint64_t */ + TEST_ASSERT_EQUAL_INT(704LU, (uint32_t) ztimer_now(z)); /* assert t hasn't triggered yet */ TEST_ASSERT_EQUAL_INT(0, val); @@ -180,21 +181,24 @@ static void test_ztimer_convert_muldiv64_set_slowdown(void) ztimer_set(z, &t, 4294968); ztimer_mock_advance(&zmock, UINT32_MAX); - TEST_ASSERT_EQUAL_INT(999, ztimer_now(&zmock.super)); + /* cast in case ztimer_now_t is uint64_t */ + TEST_ASSERT_EQUAL_INT(999, (uint32_t) ztimer_now(&zmock.super)); /* ztimer_now(z) is now at (UINT32_MAX + 1000)/1000) == 4294968 */ TEST_ASSERT_EQUAL_INT(4294968, ztimer_now(z)); TEST_ASSERT_EQUAL_INT(0, val); ztimer_mock_advance(&zmock, 704); - TEST_ASSERT_EQUAL_INT(1703, ztimer_now(&zmock.super)); + /* cast in case ztimer_now_t is uint64_t */ + TEST_ASSERT_EQUAL_INT(1703, (uint32_t) ztimer_now(&zmock.super)); TEST_ASSERT_EQUAL_INT(4294969, ztimer_now(z)); /* assert that this has not triggered yet. */ TEST_ASSERT_EQUAL_INT(0, val); ztimer_mock_advance(&zmock, 1); - TEST_ASSERT_EQUAL_INT(1704, ztimer_now(&zmock.super)); + /* cast in case ztimer_now_t is uint64_t */ + TEST_ASSERT_EQUAL_INT(1704, (uint32_t) ztimer_now(&zmock.super)); TEST_ASSERT_EQUAL_INT(4294969, ztimer_now(z)); TEST_ASSERT_EQUAL_INT(1, val); val = 0;