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

Add test coverage against gopls tip #3676

Open
h9jiang opened this issue Feb 4, 2025 · 0 comments
Open

Add test coverage against gopls tip #3676

h9jiang opened this issue Feb 4, 2025 · 0 comments
Assignees

Comments

@h9jiang
Copy link
Member

h9jiang commented Feb 4, 2025

Right now, the VSCode-Go repo integration test is testing against the last released version. (The definition of released is a version with a tag, both release version v0.17.1 and prerelease version v0.17.1-pre.1 are considered as released version). VSCode-Go test will prefer v0.17.1 over v0.17.1-pre.1 because v0.17.1 is an released patch version.

When doing feature implementation that involves change with client (vscode-go) and server (gopls), the integration test can not be added in the client side because the code implemented in the server is not released yet. So VSCode-Go have to rely on manual testing until the next gopls version (including the feature implementation merged) released.

The client side test coverage isn't ideal.

We should come up with a test that test vscode-go master branch with gopls's master branch so the client side could have test coverage even before the next gopls version released.

A few things that need to pay attention when implementing such test:

  • When releasing gopls, the VSCode-Go need to sync the server capabilities by reading gopls api-json and convert the content to package.json. This need to be done before triggering the test otherwise the vscode-go won't be able to know some of the server's capabilities. So I think we can update the package.json only in test but not updating it through a commit to vscode-go (basically make some local changes to vscode-go repo without committing)
  • The test against last released version is still very important. We need to keep that test. So some of the test will only be triggered against gopls built from tip.
  • The gopls built from tip does not have a version, or dev or a version that is useless. Keep that in mind when writing test.
@h9jiang h9jiang self-assigned this Feb 4, 2025
@h9jiang h9jiang added this to the vscode-go/backlog milestone Feb 4, 2025
@gopherbot gopherbot modified the milestones: vscode-go/backlog, Untriaged Feb 4, 2025
@h9jiang h9jiang modified the milestones: Untriaged, vscode-go/backlog Feb 4, 2025
@h9jiang h9jiang changed the title Add test coverage in vscode-go against gopls built from x/tool's tip Add test coverage in vscode-go against gopls tip Feb 14, 2025
@h9jiang h9jiang changed the title Add test coverage in vscode-go against gopls tip Add test coverage against gopls tip Feb 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants