Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simple LSP test suite for Java #14409

Closed
tsmaeder opened this issue Sep 3, 2019 · 5 comments
Closed

Simple LSP test suite for Java #14409

tsmaeder opened this issue Sep 3, 2019 · 5 comments
Assignees
Labels
area/languages Issues related to Language extensions or plugins integration. area/plugins kind/task Internal things, technical debt, and to-do tasks to be performed. severity/P2 Has a minor but important impact to the usage or development of the system.
Milestone

Comments

@tsmaeder
Copy link
Contributor

tsmaeder commented Sep 3, 2019

Create a simple test suite for testing language features with the Che 7 Java support. I should consist of

  1. A test suite based on the investigation in Investigate Testing LSP features  #14023
  2. A devfile that can run the test suite inside a Che 7 environment

One of the qualitative goals would be to make it easy to write test suites specific to different language plugins, so we're looking for a kind of framework that can be used to test content assist (and other features) in Java, Python, etc.

@tsmaeder tsmaeder added kind/task Internal things, technical debt, and to-do tasks to be performed. team/languages labels Sep 3, 2019
@tsmaeder tsmaeder mentioned this issue Sep 3, 2019
41 tasks
@che-bot che-bot added the status/need-triage An issue that needs to be prioritized by the curator responsible for the triage. See https://github. label Sep 3, 2019
@l0rd l0rd added severity/P2 Has a minor but important impact to the usage or development of the system. and removed status/need-triage An issue that needs to be prioritized by the curator responsible for the triage. See https://github. labels Sep 3, 2019
@tsmaeder tsmaeder added this to the Backlog - Languages milestone Sep 23, 2019
@tsmaeder tsmaeder mentioned this issue Sep 24, 2019
30 tasks
@tsmaeder tsmaeder mentioned this issue Oct 11, 2019
26 tasks
@tsmaeder
Copy link
Contributor Author

Reminder that we have some code already here: https://github.com/eclipse-theia/theia/tree/ab/theia-tests/packages/theia-tests. Our testing related code should live in the theia-tests extension

The next steps are:

  1. Override LanguagesMain with code that records which language service providers come from which plugin ids. Offer and API that allows tests to query existence of providers (like completion provider) and invoke them for a given plugin id
  2. Make it possible to dynamically load a test suite from a file and initialized it with a DI container so that it can access services (like the API written in Step 1
  3. Make a first test for vscode java covering basic functionality

@tsmaeder
Copy link
Contributor Author

Open question: should we propose this as a theia PR or start it in che-theia first?

@tsmaeder tsmaeder modified the milestone: Backlog - Languages Oct 30, 2019
@tsmaeder tsmaeder mentioned this issue Oct 31, 2019
25 tasks
@tsmaeder tsmaeder mentioned this issue Nov 21, 2019
26 tasks
@JPinkney
Copy link
Contributor

JPinkney commented Dec 12, 2019

Here is the basic idea of how it work will with Che:
Basic idea

At this point in time, the api-test-loader is implemented [1] and a theia extension for the testing api has been implemented [2] [3] but none of it has been put into che-theia itself. The sample test suite for java lives here

Next steps would include putting the theia extension and the test-loader into che-theia

[1] - https://github.com/JPinkney/api-test-loader
[2] - https://github.com/JPinkney/theia/tree/vscode-extension-testing/packages/test-service-ext
[3] - https://github.com/JPinkney/theia/tree/vscode-extension-testing/packages/test-service

@tsmaeder
Copy link
Contributor Author

tsmaeder commented May 6, 2020

@ericwill this is useful work that is sitting there gathering dust.

@ericwill ericwill mentioned this issue Aug 5, 2020
29 tasks
@ericwill ericwill modified the milestones: Backlog - Plugins, 7.18 Aug 5, 2020
@ericwill ericwill mentioned this issue Aug 20, 2020
32 tasks
@ericwill ericwill modified the milestones: 7.18, 7.19 Aug 26, 2020
@svor svor self-assigned this Sep 8, 2020
@svor svor closed this as completed Sep 8, 2020
@svor
Copy link
Contributor

svor commented Sep 8, 2020

Theia plugin with LSP tests for Java is located here: https://github.com/che-incubator/che-java-tests
It also contains a devfile to run tests.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/languages Issues related to Language extensions or plugins integration. area/plugins kind/task Internal things, technical debt, and to-do tasks to be performed. severity/P2 Has a minor but important impact to the usage or development of the system.
Projects
None yet
Development

No branches or pull requests

6 participants