From b30c6225229601892aa30241819a1982bc06e051 Mon Sep 17 00:00:00 2001 From: Martin Kojtal <0xc0170@gmail.com> Date: Wed, 20 Sep 2017 09:32:13 +0100 Subject: [PATCH] Test: deepsleep() API replacement Use sleep() as entry function + check to be certain we are entering deepsleep when required by test (should be allowed) --- TESTS/mbed_drivers/lp_timeout/main.cpp | 7 ++++++- TESTS/mbed_hal/lp_ticker/main.cpp | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/TESTS/mbed_drivers/lp_timeout/main.cpp b/TESTS/mbed_drivers/lp_timeout/main.cpp index df56388dc5..9a16d6bdfb 100644 --- a/TESTS/mbed_drivers/lp_timeout/main.cpp +++ b/TESTS/mbed_drivers/lp_timeout/main.cpp @@ -59,7 +59,10 @@ void lp_timeout_1s_deepsleep(void) */ timer.start(); lpt.attach(&cb_done, 1); - deepsleep(); + /* Make sure deepsleep is allowed, to go to deepsleep */ + bool deep_sleep_allowed = sleep_manager_can_deep_sleep(); + TEST_ASSERT_TRUE_MESSAGE(deep_sleep_allowed, "Deep sleep should be allowed"); + sleep(); while (!complete); /* It takes longer to wake up from deep sleep */ @@ -75,6 +78,8 @@ void lp_timeout_1s_sleep(void) sleep_manager_lock_deep_sleep(); lpt.attach(&cb_done, 1); + bool deep_sleep_allowed = sleep_manager_can_deep_sleep(); + TEST_ASSERT_FALSE_MESSAGE(deep_sleep_allowed, "Deep sleep should be disallowed"); sleep(); while (!complete); sleep_manager_unlock_deep_sleep(); diff --git a/TESTS/mbed_hal/lp_ticker/main.cpp b/TESTS/mbed_hal/lp_ticker/main.cpp index c609c57b8a..5802644c58 100644 --- a/TESTS/mbed_hal/lp_ticker/main.cpp +++ b/TESTS/mbed_hal/lp_ticker/main.cpp @@ -104,7 +104,10 @@ void lp_ticker_1s_deepsleep() lp_timer.reset(); lp_timer.start(); ticker_insert_event(lp_ticker_data, &delay_event, delay_ts, (uint32_t)&delay_event); - deepsleep(); + /* Make sure deepsleep is allowed, to go to deepsleep */ + bool deep_sleep_allowed = sleep_manager_can_deep_sleep(); + TEST_ASSERT_TRUE_MESSAGE(deep_sleep_allowed, "Deep sleep should be allowed"); + sleep(); while (!complete); lp_timer.stop(); @@ -124,6 +127,8 @@ void lp_ticker_1s_sleep() sleep_manager_lock_deep_sleep(); timer.reset(); timer.start(); + bool deep_sleep_allowed = sleep_manager_can_deep_sleep(); + TEST_ASSERT_FALSE_MESSAGE(deep_sleep_allowed, "Deep sleep should be disallowed"); ticker_insert_event(lp_ticker_data, &delay_event, delay_ts, (uint32_t)&delay_event); sleep(); while (!complete);