Split test/requirements.txt into two different lists, one for py2, and the other for py3; update package versions in py3 list as needed to support py3.10.
Fix usage of deprecated threading functions getName(), setName(), isDaemon(), and currentThread().
Refactor test_invalid_breakpoints to be more declarative to handle Python version differences more easily and clearly, and fix it for py3.10.
Disable Django tests on py3.10 (#689).
Disable gevent tests on py3.10 (#688).
Wait on a breakpoint before checking output.
Add temp workaround for #1574: Flask tests fail with "no such option: --wait" on windows py27
Pin Flask version to last known good one in tests/requirements.txt.
Other fixes and improvements:
Make start_method mandatory for debug.Session to avoid problems with tests forgetting to specify it.
Add debug_me.scratchpad to enable async communication between test code and debuggee.
Improve debug.Session logging.
Improve test_attach.