example_test.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. from __future__ import unicode_literals
  2. import re
  3. import ttfw_idf
  4. touch_wake_up_support = ['esp32']
  5. @ttfw_idf.idf_example_test(env_tag='Example_GENERIC', target=['esp32', 'esp32c3'])
  6. def test_examples_deep_sleep(env, extra_data):
  7. dut = env.get_dut('deep_sleep', 'examples/system/deep_sleep')
  8. dut.start_app()
  9. def expect_enable_deep_sleep_touch():
  10. dut.expect_all('Enabling timer wakeup, 20s',
  11. re.compile(r'Touch pad #8 average: \d+, wakeup threshold set to \d+.'),
  12. re.compile(r'Touch pad #9 average: \d+, wakeup threshold set to \d+.'),
  13. 'Enabling touch pad wakeup',
  14. 'Entering deep sleep',
  15. timeout=10)
  16. def expect_enable_deep_sleep_no_touch():
  17. dut.expect_all('Enabling timer wakeup, 20s',
  18. 'Entering deep sleep',
  19. timeout=10)
  20. if dut.TARGET in touch_wake_up_support:
  21. expect_enable_deep_sleep = expect_enable_deep_sleep_touch
  22. else:
  23. expect_enable_deep_sleep = expect_enable_deep_sleep_no_touch
  24. dut.expect('Not a deep sleep reset', timeout=30)
  25. expect_enable_deep_sleep()
  26. # Check that it spent 2xxxxms in deep sleep, i.e at least 20 seconds:
  27. dut.expect(re.compile(r'Wake up from timer. Time spent in deep sleep: 2\d{4}ms'), timeout=30)
  28. expect_enable_deep_sleep()
  29. if __name__ == '__main__':
  30. test_examples_deep_sleep()