Add ptvsd.adapter.contract module as a single access point for capabilities and other immutable IDE and server metadata.
Change the semantics of Channels.server() to enable checks for disconnected server.
Fix "disconnect" and "terminate" handling when not connected to debug server.
Do best-effort handling of "ptvsd_systemInfo" if not connected to debug server.
Add long_tmpdir fixture, that always supplies a long rather than short path name on Windows.
Use long_tmpdir in the implementation of @pyfile, and in all tests that use tmpdir to generate code.
Implement per-test-runner out-of-process watchdog for processes spawned by tests.
Add file logging for tests and watchdog.
Improve stdio capture in debug.Session when test fails.
Remove redundant logging in debug.Session.
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.
Reformat various timeline log entries to improve readability.
Add pretty-printing of composite expectations, to match pretty-printed JSON.
Avoid redundant repetitions of messages when explaining how occurrences matched expectations.
Fix Flask and Django multiprocess tests.
Fix test logs not being captured by pytest.
Fix "import debug_me" check improperly applied in tests where it is unnecessary.
Fix some clarifying patterns not respecting the underlying pattern.
Add pattern helpers for strings: starting_with, ending_with, containing.
Move DAP test helpers to a separate module, and add a helper for frames.
Add support for line markers when setting breakpoints and matching frames.
Assorted test fixes around handling of Unicode and paths.
Fix various bugs around handling of disconnect in JsonIOStream and JsonMessageChannel.
Fix handling of DAP "terminated" event in debug.Session.
Add --ptvsd-logs and --pydevd-logs switches to pytest.
Improve message logging to fully capture the raw message data in the logs if deserialization fails.
Log all debuggee environment variables in debug.Session, and improve log readability.
* Replace wait_for_thread_stopped with wait_for_stop
* Switch flask tests to use flask server
* Assert linter
* Use marked lines
* Fix stack logging in tests
* Prevent black from formating some debug code
* Simplify flask tests
* Replace send_request(continue) with send_continue
* fix typo
* Update ANY to some
* Refactor breakpoint lines in tests
* Replace old import and emable debug with debug_me
* Remove unused code
* Fix some linter issues
* Change from some.such_that to some.str.such_that
* Linting with black
- better propagation of messages and errors
- implicit error handling for invalid messages
- fix various issues related to disconnecting
Fix messaging tests.
Separate formatter from logging for reuse.
Add more Python 2/3 compatibility helpers.