mirror of
https://github.com/espressif/esp-idf.git
synced 2025-12-26 05:09:19 +00:00
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:
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user