Test: deepsleep() API replacement

Use sleep() as entry function + check to be certain we
are entering deepsleep when required by test (should be allowed)
pull/5147/head
Martin Kojtal 2017-09-20 09:32:13 +01:00
parent 373e6ab4fb
commit b30c622522
2 changed files with 12 additions and 2 deletions

View File

@ -59,7 +59,10 @@ void lp_timeout_1s_deepsleep(void)
*/ */
timer.start(); timer.start();
lpt.attach(&cb_done, 1); 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); while (!complete);
/* It takes longer to wake up from deep sleep */ /* It takes longer to wake up from deep sleep */
@ -75,6 +78,8 @@ void lp_timeout_1s_sleep(void)
sleep_manager_lock_deep_sleep(); sleep_manager_lock_deep_sleep();
lpt.attach(&cb_done, 1); 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(); sleep();
while (!complete); while (!complete);
sleep_manager_unlock_deep_sleep(); sleep_manager_unlock_deep_sleep();

View File

@ -104,7 +104,10 @@ void lp_ticker_1s_deepsleep()
lp_timer.reset(); lp_timer.reset();
lp_timer.start(); lp_timer.start();
ticker_insert_event(lp_ticker_data, &delay_event, delay_ts, (uint32_t)&delay_event); 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); while (!complete);
lp_timer.stop(); lp_timer.stop();
@ -124,6 +127,8 @@ void lp_ticker_1s_sleep()
sleep_manager_lock_deep_sleep(); sleep_manager_lock_deep_sleep();
timer.reset(); timer.reset();
timer.start(); 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); ticker_insert_event(lp_ticker_data, &delay_event, delay_ts, (uint32_t)&delay_event);
sleep(); sleep();
while (!complete); while (!complete);