fix(gptimer): update regex patterns in example test to include non-digit characters

This prevents premature matching on partial data when the output is
being streamed, which was causing the test to capture 100000 instead of
the full 1000002.
This commit is contained in:
morris
2025-10-27 14:16:57 +08:00
parent 23c04b681e
commit e3cf730cfa

View File

@@ -10,25 +10,25 @@ from pytest_embedded_idf.utils import idf_parametrize
def test_gptimer_example(dut: Dut) -> None:
dut.expect_exact('Create timer handle', timeout=5)
dut.expect_exact('Start timer, stop it at alarm event', timeout=5)
res = dut.expect(r'Timer stopped, count=(\d+)', timeout=30)
res = dut.expect(r'Timer stopped, count=(\d+)\D', timeout=30)
stopped_count = res.group(1).decode('utf8')
assert (1000000 - 20) < int(stopped_count) < (1000000 + 20)
dut.expect_exact('Set count value')
dut.expect_exact('Get count value')
res = dut.expect(r'Timer count value=(\d+)', timeout=5)
res = dut.expect(r'Timer count value=(\d+)\D', timeout=5)
count_val = res.group(1).decode('utf8')
assert int(count_val) == 100
dut.expect_exact('Start timer, auto-reload at alarm event', timeout=5)
res = dut.expect(r'Timer reloaded, count=(\d+)', timeout=5)
res = dut.expect(r'Timer reloaded, count=(\d+)\D', timeout=5)
reloaded_count = res.group(1).decode('utf8')
assert 0 <= int(reloaded_count) < 20
dut.expect_exact('Stop timer')
dut.expect_exact('Start timer, update alarm value dynamically')
for i in range(1, 5):
res = dut.expect(r'Timer alarmed, count=(\d+)', timeout=5)
res = dut.expect(r'Timer alarmed, count=(\d+)\D', timeout=5)
alarm_count = res.group(1).decode('utf8')
assert (i * 1000000 - 20) < int(alarm_count) < (i * 1000000 + 20)