pytest_timer_group.py 866 B

123456789101112131415161718192021222324
  1. # SPDX-FileCopyrightText: 2021 Espressif Systems (Shanghai) CO LTD
  2. # SPDX-License-Identifier: CC0-1.0
  3. import pytest
  4. from pytest_embedded.dut import Dut
  5. @pytest.mark.esp32
  6. @pytest.mark.esp32s2
  7. @pytest.mark.esp32s3
  8. @pytest.mark.esp32c3
  9. @pytest.mark.generic
  10. def test_timer_group_example(dut: Dut): # type: ignore
  11. dut.expect(r'Init timer with auto-reload', timeout=5)
  12. res = dut.expect(r'Timer auto reloaded, count value in ISR: (\d+)', timeout=5)
  13. reloaded_count = res.group(1).decode('utf8')
  14. assert 0 <= int(reloaded_count) < 10
  15. alarm_increase_step = 500000
  16. dut.expect(r'Init timer without auto-reload')
  17. for i in range(1, 5):
  18. res = dut.expect(r'Timer alarmed at (\d+)', timeout=3)
  19. alarm_count = res.group(1).decode('utf8')
  20. assert (i * alarm_increase_step - 10) < int(alarm_count) < (i * alarm_increase_step + 10)