pytest: Windows pdb while capturing is broken since 2.8.6

While running py.test with --pdb and pyreadline installed once the pdb pops up no input can be entered. The prompt is non-responsive.

This seems related to the fix related to pyreadline that was added. Commenting out the import readline makes this work again.

Maybe the fix that was added is also dependent on the Python version used, the behaviour of readline initialization in Python might be different. Or maybe this fix fixed a different bug with pyreadline integration.

Python 2.7.8, pyreadline 2.1, py.test 2.8.7

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Reactions: 1
  • Comments: 15 (9 by maintainers)

Most upvoted comments

Same issue. If it can help anyone, another workaround (without modifying source) would be to use temporarily sys level capturing: py.test test_file.py --pdb --capture=sys

Windows 7 x64, regular cmd.exe console, Python 2.7.12 (anaconda), pytest-3.0.2

Same issue for me (although I swear it worked once, in a virtualenv, but I just can’t remember which!).

the workaround by @zadamah works for me, and instead of --capture=sys I can just use -s (shortcut for --capture=no)

py.test -s --pdb test_file.py

My system:

  • OS: Windows 7 x64
  • shell: cmd or msys2/gitbash (in both cmd or conemu)
  • Python: v2.7.12 from python.org (not anaconda)
  • PyTest: v3.0.6

thanks for creating such awesome free software! ❤️