1
0
Fork 0

Adding upstream version 3.8.0.

Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
Daniel Baumann 2025-02-09 21:50:56 +01:00
parent d24c1558a4
commit 0de0fde28c
Signed by: daniel
GPG key ID: FBB4F0E80A80222F
7 changed files with 180 additions and 49 deletions

View file

@ -209,36 +209,25 @@ def log_info_mock():
yield mck
class FakeStream:
def __init__(self):
self.data = io.BytesIO()
def write(self, s):
self.data.write(s)
def flush(self):
pass
class Fixture:
def __init__(self, stream):
def __init__(self, stream: io.BytesIO) -> None:
self._stream = stream
def get_bytes(self):
def get_bytes(self) -> bytes:
"""Get the output as-if no encoding occurred"""
data = self._stream.data.getvalue()
self._stream.data.seek(0)
self._stream.data.truncate()
data = self._stream.getvalue()
self._stream.seek(0)
self._stream.truncate()
return data.replace(b'\r\n', b'\n')
def get(self):
def get(self) -> str:
"""Get the output assuming it was written as UTF-8 bytes"""
return self.get_bytes().decode()
@pytest.fixture
def cap_out():
stream = FakeStream()
stream = io.BytesIO()
write = functools.partial(output.write, stream=stream)
write_line_b = functools.partial(output.write_line_b, stream=stream)
with mock.patch.multiple(output, write=write, write_line_b=write_line_b):