Open AbdealiLoKo opened 6 months ago
Sounds reasonable, it's likely pytest-timemout predates that context manager. I suppose your problem was that the capturing was never re-enabled but the test run continued?
Want to do a PR to switch to it and and make sure test coverage catches the edge cases you found?
I came across some odd behavior when I was debugging something related to terminal logging in pytest. And noticed pytest-timeout was disabling
capturemanager
and doing it's own printing Ref: https://github.com/pytest-dev/pytest-timeout/blob/2.3.1/pytest_timeout.py#L511I think the better approach here may be to use
global_and_fixture_disabled
which is a context manager to temporarily disable capturemanager and write your own terminal outputs while it is disabled https://github.com/pytest-dev/pytest/blob/main/src/_pytest/capture.py#L819Any thoughts on whether this would make the logging logic simpler here?