Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PuDBWrapper#pytest_exception_interact: Remove call to self.disable_io_capture() #26

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

stdedos
Copy link

@stdedos stdedos commented Feb 11, 2023

It is not needed, since the calling chain:

  • _enter_pudb
  • post_mortem
  • pudb._get_debugger()

will still call PuDBWrapper#_get_debugger, which also calls self.disable_io_capture()

Avoids the double-prologue:

$ pytest -x --pudb
======================================= test session starts ========================================
platform linux -- Python 3.9.16, pytest-7.2.1, pluggy-1.0.0
rootdir: .., configfile: pyproject.toml
plugins: pycharm-0.7.0, pudb-0.7.0, dash-2.8.1, cov-4.0.0
collected 1726 items

../tests/test_parsers.py F
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> entering PuDB (IO-capturing turned off) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

>>>>>>>>>>>>>>>>>>>>>>>>>>>>> entering PuDB (IO-capturing turned off) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

===================================== short test summary info ======================================
FAILED ../tests/test_parsers.py::test_parse[..] - KeyError: "None of ['taskID'] are in the columns"
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
======================================== 1 failed in 2.48s =========================================

vs

$ pytest -x --pudb
======================================= test session starts ========================================
platform linux -- Python 3.9.16, pytest-7.2.1, pluggy-1.0.0
rootdir: .., configfile: pyproject.toml
plugins: pycharm-0.7.0, pudb-0.7.0, dash-2.8.1, cov-4.0.0
collected 1726 items

../tests/test_parsers.py F
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> entering PuDB (IO-capturing turned off) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

===================================== short test summary info ======================================
FAILED ../tests/test_parsers.py::test_parse[..] - KeyError: "None of ['taskID'] are in the columns"
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
======================================== 1 failed in 3.62s =========================================

Cannot do the opposite thing, since then pu.db and friends will loose the opportunity to do prologue
(pytest_exception_interact is called only via the --pudb flag)

Signed-off-by: Stavros Ntentos [email protected]

@stdedos stdedos force-pushed the fix/remove-double-prologue branch 2 times, most recently from a25567a to 7baecab Compare August 13, 2023 16:37
…_io_capture()`

It is not needed, since the calling chain:
- `_enter_pudb`
- `post_mortem`
- `pudb._get_debugger()`

will still call `PuDBWrapper#_get_debugger`, which also calls `self.disable_io_capture()`

Avoids the double-prologue:

```console
$ pytest -x --pudb
======================================= test session starts ========================================
platform linux -- Python 3.9.16, pytest-7.2.1, pluggy-1.0.0
rootdir: .., configfile: pyproject.toml
plugins: pycharm-0.7.0, pudb-0.7.0, dash-2.8.1, cov-4.0.0
collected 1726 items

../tests/test_parsers.py F
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> entering PuDB (IO-capturing turned off) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

>>>>>>>>>>>>>>>>>>>>>>>>>>>>> entering PuDB (IO-capturing turned off) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

===================================== short test summary info ======================================
FAILED ../tests/test_parsers.py::test_parse[..] - KeyError: "None of ['taskID'] are in the columns"
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
======================================== 1 failed in 2.48s =========================================
```

vs

```console
$ pytest -x --pudb
======================================= test session starts ========================================
platform linux -- Python 3.9.16, pytest-7.2.1, pluggy-1.0.0
rootdir: .., configfile: pyproject.toml
plugins: pycharm-0.7.0, pudb-0.7.0, dash-2.8.1, cov-4.0.0
collected 1726 items

../tests/test_parsers.py F
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> entering PuDB (IO-capturing turned off) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

===================================== short test summary info ======================================
FAILED ../tests/test_parsers.py::test_parse[..] - KeyError: "None of ['taskID'] are in the columns"
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
======================================== 1 failed in 3.62s =========================================
```

Cannot do the opposite thing, since then `pu.db` and friends
will loose the opportunity to do prologue
(`pytest_exception_interact` is called only via the `--pudb` flag)

Additionally, update `.gitignore`
(via github/gitignore@8e67b94)

Signed-off-by: Stavros Ntentos <[email protected]>
@stdedos stdedos force-pushed the fix/remove-double-prologue branch from 7baecab to d9efd87 Compare August 13, 2023 17:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant