VS Code Integration Test Runner
Run and filter VS Code repository integration tests with the correct platform scripts.
The skill only documents running local integration-test scripts and filtering arguments; it requests no credentials, external service, or extra privilege, and repository context provides an MIT license and a security-reporting channel. However, it does not disclose that tests may launch Electron or extension hosts, access workspace data, or create external effects, and it lacks confirmation, isolation, rollback, and sensitive-data guidance, so points are deducted.
The SKILL.md gives a largely consistent distinction between Node.js integration tests and extension-host tests, explains argument combinations, compilation prerequisites, and the unit-test boundary. It does not include script implementations, a compatibility matrix, abnormal-input behavior, or diagnostic failure handling. Static evidence cannot exceed 10, so the score is reduced further.
The audience and core scenario are clear: running integration tests in the VS Code repository, with macOS/Linux/Windows command forms and several filtering modes. Non-fit cases, complete input constraints, OS-specific boundaries, Chinese-language support, and dependency-download reachability from mainland-China networks are not documented, so points are deducted.
The document has clear structure and includes metadata, test categories, scripts, options, examples, compilation requirements, and the unit-test distinction. Repository context identifies Microsoft ownership, version, MIT licensing, and the project repository. The skill lacks its own version, changelog, maintenance/update path, dependency-install instructions, FAQ, known limitations, and troubleshooting, so points are deducted.
The skill supplies directly usable commands and combinations for the core task. Static review did not execute the scripts, and the supplied material does not prove that every argument statement matches the pinned implementation or explain result collection and recovery after failures. Under static calibration the score cannot exceed 7, with additional deduction for these gaps.
Commands, paths, and behavior claims are auditable against repository scripts and tests, and the repository contains CI and test materials. However, the supplied workflows primarily cover chat-lib/chat-perf rather than this skill's key paths, and no direct execution results or cross-platform evidence are provided, so verifiability remains limited.
- Confirm dependencies are installed and compiled JavaScript output exists before running; the skill provides no standard installation or version-matching procedure.
- Integration tests may launch Electron and extension hosts; confirm workspace-data access, network use, and side-effect scope first because isolation and cleanup are not documented.
- Treat the stated combinations of --run, --runGlob, --suite, and --grep as unexecuted claims; verify against the actual scripts when behavior or platform differences matter.
- The skill does not document mainland-China reachability or mirror configuration for dependency downloads.
What it does & when to use it
This skill covers the integration-test workflow in the VS Code repository on macOS/Linux and Windows. It distinguishes Node.js integration tests that run in Electron from extension host tests contained in built-in extensions. It documents filters for files, paths, test names, and suites, including how different option combinations change the test scope. Tests require compiled JavaScript output, so the VS Code - Build watch task must be running or compilation must already be complete.
Provides and explains the commands ./scripts/test-integration.sh for macOS/Linux and .\scripts\test-integration.bat for Windows. It guides use of --run for a source file, --runGlob for matching compiled .js test-file paths, --grep for matching test titles, --suite for selecting extension host suites, and --help for usage information. It explains that no filters run all Node.js integration tests followed by all extension host tests, and documents the behavior of combinations involving --run, --runGlob, --grep, and --suite. It also separates .integrationTest.ts integration tests from .test.ts unit tests and explains that other options can be forwarded to the Node.js runner used by scripts/test.sh.
- A VS Code repository developer needs to run every Node.js integration test and extension host test, so they run the integration-test script without filters.
- A developer working on search needs to run one integration-test file, so they use `--run` with a source path under `src/`.
- A developer investigating one workbench area needs to select test files by compiled path, so they use `--runGlob`.
- An extension maintainer needs to run only Git, TypeScript, Emmet, or API suites, so they use `--suite`.
- A developer needs to locate tests by title, so they use `--grep`, optionally combined with `--suite` or `--run`.
- A contributor needs to keep unit-test and integration-test workflows separate, using this skill instead of applying the wrong runner.
Pros & cons
- Clearly separates Node.js integration tests from extension host tests.
- Supports filtering by source file, compiled file path, test title, and extension suite.
- Documents scripts for both macOS/Linux and Windows.
- Explains the concrete scope changes caused by option combinations.
- It describes test execution rather than test implementation, result analysis, or automatic failure repair.
- The tests depend on compiled JavaScript output and may not run as intended before compilation.
- Additional runner options are not forwarded to extension host suites when `--suite` is used.
- The source provides no standalone installation workflow and does not document support beyond macOS/Linux and Windows.
How to install
This skill is part of a collection of 61 skills in the microsoft/vscode repository. Its file is .github/skills/integration-tests/SKILL.md. The source material does not provide a standalone installation command, client registration procedure, or separate package; use it by obtaining the VS Code repository and having a compatible Agent Skills client read that path. Repository URL: https://github.com/microsoft/vscode
How to use
From the VS Code repository root, run the script for your platform. Examples include ./scripts/test-integration.sh --run src/vs/workbench/services/search/test/browser/search.integrationTest.ts, ./scripts/test-integration.sh --runGlob "/search//*.integrationTest.js", ./scripts/test-integration.sh --grep "TextSearchProvider", and ./scripts/test-integration.sh --suite git. On Windows, use .\scripts\test-integration.bat with the corresponding options, removing the illustrative extra space before the path. Before running, ensure the VS Code - Build watch task is running or compilation has completed.
Compared to similar skills
Unlike scripts/test.sh or runTests, this skill is for .integrationTest.ts files and extension tests; scripts/test.sh or runTests are for .test.ts unit tests. scripts/test.sh only finds integration-test files when explicitly given --runGlob **/*.integrationTest.js, while scripts/test-integration.sh is not intended for ordinary .test.ts files.