-
Notifications
You must be signed in to change notification settings - Fork 97
Conversation
Very nice, looks good to me. Now let's see how many tests break because of the ordering of messages... |
/azp run |
No pipelines are associated with this pull request. |
The test suite is failing because the new The message that causes the issue: ghcide/test/src/Development/IDE/Test.hs Line 61 in 597a0c5
I've raised this up in the lsp-test issue tracker lukel97/lsp-test#73 |
Maybe we can merge after marking the test as known broken. |
It's all the tests that use |
727742f
to
f088e29
Compare
What is |
I'll publish the whole benchmark artifacts once they are ready. In that screenshot:
|
After re-running the benchmarks in an isolated non-throttling CPU it looks like this branch does not introduce any time or space regression. Will upload full results shortly. I have opened #771 to address the pre-existing space leak. |
f088e29
to
1972d71
Compare
This adds a new Test plugin for custom requests and a new blocking Command
1972d71
to
e868b53
Compare
/azp run |
No pipelines are associated with this pull request. |
The tests are now passing after upgrading to a fixed lsp-test version. The artefacts from the Local benchmarks do show a 10% time decrease in the edit experiment. |
* Cancellation of user actions * Dispatch event handlers asynchronously * add tests for asynchronous features This adds a new Test plugin for custom requests and a new blocking Command * hlint * Link the Testing plugin only when --testing * Fix expectNoMoreDiagnostics Needs also lukel97/lsp-test#74 * Upgrade lsp-test to a version that understands CustomClientMethod
* Cancellation of user actions * Dispatch event handlers asynchronously * add tests for asynchronous features This adds a new Test plugin for custom requests and a new blocking Command * hlint * Link the Testing plugin only when --testing * Fix expectNoMoreDiagnostics Needs also lukel97/lsp-test#74 * Upgrade lsp-test to a version that understands CustomClientMethod
* Cancellation of user actions * Dispatch event handlers asynchronously * add tests for asynchronous features This adds a new Test plugin for custom requests and a new blocking Command * hlint * Link the Testing plugin only when --testing * Fix expectNoMoreDiagnostics Needs also lukel97/lsp-test#74 * Upgrade lsp-test to a version that understands CustomClientMethod
#727 made the Shake queue able to concurrently handle more than one rule, but ghcide still handled LSP requests sequentially. This change makes the LSP handler multi-threaded, so now ghcide no longer blocks while e.g. computing an expensive code lens.
This change also adds a custom request protocol for testing, which can be generally useful. For instance, tests can now query the location of the interface files cache dir which will be useful for testing #760
Reviewers - things to watch for:
To do: