Source code for ewoksxrpd.tests.test_log
import logging
import re
from ..tasks.log import zip_with_progress
[docs]
def test_zip_with_progress_one_iterator(caplog):
with caplog.at_level(logging.INFO):
values = list()
for value, *_ in zip_with_progress([], message=_MESSAGE_TEMPLATE):
values.append(value)
assert not values
_assert_finished_log(caplog, 0)
with caplog.at_level(logging.INFO):
values = list()
for value, *_ in zip_with_progress([1], message=_MESSAGE_TEMPLATE):
values.append(value)
assert values == [1]
_assert_finished_log(caplog, 1)
with caplog.at_level(logging.INFO):
values = list()
for value, *_ in zip_with_progress([1, 2], message=_MESSAGE_TEMPLATE):
values.append(value)
assert values == [1, 2]
_assert_finished_log(caplog, 2)
[docs]
def test_zip_with_progress_two_iterators(caplog):
with caplog.at_level(logging.INFO):
values = list()
for value, *_ in zip_with_progress([], [1, 2], message=_MESSAGE_TEMPLATE):
values.append(value)
assert not values
_assert_finished_log(caplog, 0)
with caplog.at_level(logging.INFO):
values = list()
for nr, letter, *_ in zip_with_progress(
[1, 2], ["a"], message=_MESSAGE_TEMPLATE
):
values.append((nr, letter))
assert values == [(1, "a")]
_assert_finished_log(caplog, 1)
_MESSAGE_TEMPLATE = "Integrated %s images of %s"
def _assert_finished_log(caplog, nimages):
pattern = rf"Integrated {nimages} images of \? \(FINISHED: iteration=\d{{2}}:\d{{2}}:\d{{2}} \(\d{{1,3}}%\), TOTAL=\d{{2}}:\d{{2}}:\d{{2}} \(\d{{1,3}}%\)\)"
string = str(caplog.text)
err_msg = f"'{string}' does not match '{pattern}'"
assert re.search(pattern, string), err_msg