My Own Debugger and More
- See #1623 for details.
- I created https://github.com/mdmintz/pdbp
- I also created https://github.com/mdmintz/tabcompleter
SeleniumBase will automatically use the new debugger when a breakpoint is reached.
Other changes:
- Update ARM64-detection on Macs
- Update the test-directory generator script
- Update colors when displaying dot-files
- Refresh Python dependencies
New Debugger Info
I've been building my own debugger as an upgrade to pdb
, called pdbp
(Pdb+): https://github.com/mdmintz/pdbp. Originally, I tried using https://github.com/pdbpp/pdbpp, but that has bugs, and the maintainer hasn't fixed them yet. My only alternative is to build my own debugger clone if I want all my required fixes in.
The good news is that I'm already done. The whole project and upgrade took me less than a day to complete! I'm just testing the parts to make sure everything is good before I include the new Python packages as a SeleniumBase dependency. Here's what was made:
- https://github.com/mdmintz/tabcompleter (a replacement for https://github.com/pdbpp/fancycompleter)
- https://github.com/mdmintz/pdbp (a replacement for https://github.com/pdbpp/pdbpp)
Here's what the main issue was: pdbpp
has a dependency on fancycompleter
, which has a Windows dependency on pyreadline
(https://github.com/pyreadline/pyreadline), which has this issue: pyreadline/pyreadline#65, which leads to this error: AttributeError: module 'collections' has no attribute 'Callable'
.
Here's what I did: I created pdbp
with a dependency on my own library tabcompleter
, which has a dependency on the improved pyreadline3
(https://github.com/pyreadline3/pyreadline3/) instead of pyreadline
. Then things started working again. As a bonus, I fixed some bugs and improved on default configuration settings.
If testing goes well, the new debugger,pdbp
/ (Pdb+) will be included with SeleniumBase dependencies very soon.