capture_output: only start capturing when we enter the with statement
This commit is contained in:
@@ -7,8 +7,11 @@ from pytest import CaptureFixture
|
||||
class CaptureOutput:
|
||||
def __init__(self, capsys: CaptureFixture) -> None:
|
||||
self.capsys = capsys
|
||||
self.capsys_disabled = capsys.disabled()
|
||||
self.capsys_disabled.__enter__()
|
||||
|
||||
def __enter__(self) -> "CaptureOutput":
|
||||
self.capsys_disabled.__exit__(None, None, None)
|
||||
self.capsys.readouterr()
|
||||
return self
|
||||
|
||||
@@ -17,6 +20,11 @@ class CaptureOutput:
|
||||
self.out = res.out
|
||||
self.err = res.err
|
||||
|
||||
# Disable capsys again
|
||||
self.capsys_disabled = self.capsys.disabled()
|
||||
self.capsys_disabled.__enter__()
|
||||
return False
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def capture_output(capsys: CaptureFixture) -> CaptureOutput:
|
||||
|
||||
Reference in New Issue
Block a user