Skip to content

Extend extension integration-tests for node environment#3136

Merged
joao-boechat merged 10 commits intomainfrom
joaoboechat/update-integration-tests
Apr 29, 2026
Merged

Extend extension integration-tests for node environment#3136
joao-boechat merged 10 commits intomainfrom
joaoboechat/update-integration-tests

Conversation

@joao-boechat
Copy link
Copy Markdown
Contributor

@joao-boechat joao-boechat commented Apr 21, 2026

This PR adds Electron (Node.js) test execution to the VS Code integration test suites, which previously only ran in the browser via @vscode/test-web. Tests now run in both environments to catch platform-specific issues.

Comment thread source/vscode/test/suites/language-service/index.node.ts Dismissed
Comment thread source/vscode/test/suites/language-service/index.browser.ts Dismissed
Comment thread source/vscode/test/suites/language-service/index.node.ts Dismissed
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the VS Code extension integration test infrastructure to run suites in both VS Code for the Web (Chromium) and VS Code Desktop (Electron), with separate bundling and entrypoints per environment.

Changes:

  • Add separate Mocha runners and suite entrypoints for browser vs. Electron extension hosts.
  • Update the test runner to execute each suite via @vscode/test-web and (for non-empty suites) @vscode/test-electron.
  • Adjust CI pipelines to use xvfb-run where needed and add the Electron test harness dependency.

Reviewed changes

Copilot reviewed 14 out of 18 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
source/vscode/test/suites/runNode.ts New Mocha runner for Electron extension host.
source/vscode/test/suites/runBrowser.ts New Mocha runner for VS Code Web extension host.
source/vscode/test/suites/language-service/index.node.ts New node/Electron entrypoint and local fake GitHub server for language-service suite.
source/vscode/test/suites/language-service/index.browser.ts Switch to browser runner and configure fake GitHub endpoint for web runs.
source/vscode/test/suites/extensionUtils.ts Add configurable GitHub endpoint used during test activation.
source/vscode/test/suites/empty/index.browser.ts Add no-op “empty” suite for environment dry-run.
source/vscode/test/suites/debugger/qsharp.test.ts Make debugger assertions/config paths compatible across web + node.
source/vscode/test/suites/debugger/openqasm.test.ts Make debugger assertions/config paths compatible across web + node.
source/vscode/test/suites/debugger/index.node.ts Switch node suite entrypoint to Electron runner.
source/vscode/test/suites/debugger/index.browser.ts Add browser suite entrypoint for debugger tests.
source/vscode/test/runTests.mjs Run suites in both web and Electron environments; update output paths.
source/vscode/test/buildTests.mjs Build separate browser/node test bundles via esbuild.
package.json Add @vscode/test-electron dependency.
package-lock.json Lockfile updates for Electron test harness and transitive deps.
.gitignore Ignore .vscode-test/ artifacts (Electron test downloads).
.github/workflows/multiplat.yml Use xvfb-run for Linux integration tests.
.github/workflows/ci.yml Wrap integration tests with xvfb-run on ubuntu CI job.
.ado/publish.yml Update display name and run integration tests under xvfb-run.

Comment thread source/vscode/test/buildTests.mjs
Comment thread source/vscode/test/buildTests.mjs
Comment thread source/vscode/test/suites/extensionUtils.ts
Comment thread source/vscode/test/suites/extensionUtils.ts Outdated
Comment thread source/vscode/test/suites/language-service/index.node.ts
@joao-boechat joao-boechat changed the title update integration tests for vscode extension Extend extension integration-tests for node environment Apr 21, 2026
@joao-boechat joao-boechat marked this pull request as ready for review April 21, 2026 22:28
@joao-boechat joao-boechat force-pushed the joaoboechat/update-integration-tests branch from af8d1b3 to 72635ed Compare April 23, 2026 23:08
Comment thread source/vscode/test/suites/debugger/qsharp.test.ts
@joao-boechat joao-boechat added this pull request to the merge queue Apr 29, 2026
Merged via the queue into main with commit 35707ac Apr 29, 2026
27 checks passed
@joao-boechat joao-boechat deleted the joaoboechat/update-integration-tests branch April 29, 2026 23:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants