diff --git a/TESTS/mbedmicro-rtos-mbed/systimer/main.cpp b/TESTS/mbedmicro-rtos-mbed/systimer/main.cpp index 8a25ad28719..d1dba047095 100644 --- a/TESTS/mbedmicro-rtos-mbed/systimer/main.cpp +++ b/TESTS/mbedmicro-rtos-mbed/systimer/main.cpp @@ -245,7 +245,10 @@ void test_handler_called_once(void) int32_t sem_slots = st.sem_wait(0); TEST_ASSERT_EQUAL_INT32(0, sem_slots); - sem_slots = st.sem_wait(osWaitForever); + // Wait in a busy loop to prevent entering sleep or deepsleep modes. + while (sem_slots != 1) { + sem_slots = st.sem_wait(0); + } us_timestamp_t t2 = st.get_time(); TEST_ASSERT_EQUAL_INT32(1, sem_slots); TEST_ASSERT_EQUAL_UINT32(1, st.get_tick());