This is needed so we can properly remove the test dir
once the test is done, without risking that the Python
interpreter has a handle on files there.
Slightly improve the semantics for the wait factor.
Improve error reporting slightly.
Fix creation of URIs with respect to drive letters.
Follow-up on #1462
* Only capture replay files when there are errors
* Capture replay files in the working clone rather
than in /tmp/, which does not work well on shared machines.
This decorator indicates a sophisticated test in which the
test driver must call the boilerplate initialisation and
shutdown methods. Adapt ada_lsp/called_by to demonstrate this.
* Helpers to create prepareCallHierarchy and incomingCalls requests
* One helper to compare the results to a locations list
Simplify the tests by leveraging these helpers.
... But load directly test.py as a module, and execute the
functions marked with a given decorator.
This means we cannot change the directory for each test
(because of the possibility of running tests in parallel), so
pass the working directory to each test.
Remove initialization/initialize/didChangeConfiguration/shutdown
boilerplate from simple tests.
As a proof of concept and to test parallelism, convert another
test to the Python driver.