test: Fix wait_for_debug_log UnicodeDecodeError

This commit is contained in:
MacroFake
2022-06-07 16:50:11 +02:00
parent 45d8b1e94a
commit fa74b63c01
2 changed files with 26 additions and 27 deletions

View File

@ -423,7 +423,7 @@ class TestNode():
self._raise_assertion_error('Expected messages "{}" does not partially match log:\n\n{}\n\n'.format(str(expected_msgs), print_log))
@contextlib.contextmanager
def wait_for_debug_log(self, expected_msgs, timeout=60, ignore_case=False):
def wait_for_debug_log(self, expected_msgs, timeout=60):
"""
Block until we see a particular debug log message fragment or until we exceed the timeout.
Return:
@ -431,18 +431,17 @@ class TestNode():
"""
time_end = time.time() + timeout * self.timeout_factor
prev_size = self.debug_log_bytes()
re_flags = re.MULTILINE | (re.IGNORECASE if ignore_case else 0)
yield
while True:
found = True
with open(self.debug_log_path, encoding='utf-8') as dl:
with open(self.debug_log_path, "rb") as dl:
dl.seek(prev_size)
log = dl.read()
for expected_msg in expected_msgs:
if re.search(re.escape(expected_msg), log, flags=re_flags) is None:
if expected_msg not in log:
found = False
if found: