diff --git a/tests/testutil.py b/tests/testutil.py index a18ef2065e8d1420e28e832a264bc8238259a242..110369be208696a7a1ee547fc9f8c7625084124d 100644 --- a/tests/testutil.py +++ b/tests/testutil.py @@ -69,6 +69,14 @@ def check_lines_match(lines, expect_patterns, source='output'): assert any(re.search(pattern, line) for line in lines), \ f"{pattern!r} not found in {source}" +def check_logs_match(caplog, expected): + records = iter(caplog.records) + for exp_level, exp_msg in expected: + exp_level = exp_level.upper() + assert any( + log.levelname == exp_level and log.message == exp_msg for log in records + ), f"{exp_level} log {exp_msg!r} not found" + def check_post_meta(txn, *expected_meta, default=None): assert len(txn.postings) == len(expected_meta) for post, expected in zip(txn.postings, expected_meta):