npx skills add smithery/openshift-online --skill run-e2e-tests
microsoft/vscode-python-environments · Archived
run-e2e-tests
Run E2E tests to verify complete user workflows like environment discovery, creation, and selection. Use this before releases or after major changes.
Installation
npx skills add microsoft/vscode-python-environments --skill run-e2e-tests
Stronger alternatives
This repository is archived — consider an actively maintained alternative.
Environment manager-specific discovery patterns and known issues. Use when working on or review…
2 installsRun smoke tests to verify extension functionality in a real VS Code environment. Use this when …
1 installsSet up AI Runway on AKS — from bare cluster to running model. Covers cluster verification, cont…
314.8K installsExecute `dart analyze` to identify warnings and errors, and use `dart fix --apply` to automatic…
7.6K installsSimilar popular skills
Related neighbors and high-traction skills in the same topics — useful to compare before installing.
Configure Azure API Management as an AI Gateway for AI models, MCP tools, and agents. WHEN: sem…
566.3K installsAzure VM/VMSS router. WHEN: create / provision / deploy / spin-up VM, recommend VM size, compar…
510K installsBrowser automation CLI for AI agents. Use when the user needs to interact with websites, includ…
810.4K installsBuild, deploy, evaluate, optimize, fine-tune, and manage Microsoft Foundry agents, models, and …
576.5K installsDebug Azure production issues on Azure using AppLens, Azure Monitor, resource health, and safe …
568.9K installsPrepare azd-based Azure projects for deployment: generates azure.yaml, infrastructure (Bicep/Te…
568.3K installsAlso in this package
Other skills from microsoft/vscode-python-environments.
npx skills add microsoft/vscode-python-environments
More details
Agent compatibility
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
Also listed on
Alternate registries and mirrors of this skill.
Repository health
main
Package contents
Files included with this skill beyond the listing page.
-
skill md
SKILL.md4,648 B -
docs
SUMMARY.md170 B
History
- First seen on skills.sh
- First recorded snapshot · 1 installs
SKILL.md
Run E2E (end-to-end) tests to verify complete user workflows work correctly.
When to Use This Skill
- Before submitting a PR with significant changes
- After modifying environment discovery, creation, or selection logic
- Before a release to validate full workflows
- When user reports a workflow is broken
Note: Run smoke tests first. If smoke tests fail, E2E tests will also fail.
Quick Reference
| Action | Command |
|---|---|
| Run all E2E tests | npm run compile && npm run compile-tests && npm run e2e-test |
| Run specific test | npm run e2e-test -- --grep "discovers" |
| Debug in VS Code | Debug panel → "E2E Tests" → F5 |
How E2E Tests Work
Unlike unit tests (mocked) and smoke tests (quick checks), E2E tests:
- Launch a real VS Code instance with the extension
- Exercise complete user workflows via the real API
- Verify end-to-end behavior (discovery → selection → execution)
They take longer (1-3 minutes) but catch integration issues.
Workflow
Step 1: Compile and Run
npm run compile && npm run compile-tests && npm run e2e-test
Step 2: Interpret Results
Pass:
E2E: Environment Discovery
✓ Can trigger environment refresh
✓ Discovers at least one environment
✓ Environments have required properties
✓ Can get global environments
4 passing (45s)
Fail: Check error message and see Debugging section.
Debugging Failures
| Error | Cause | Fix |
|---|---|---|
No environments discovered |
Python not installed | Install Python, verify it's on PATH |
Extension not found |
Build failed | Run npm run compile |
API not available |
Activation error | Debug with F5, check Debug Console |
Timeout exceeded |
Slow operation or hang | Increase timeout or check for blocking code |
For detailed debugging: Debug panel → "E2E Tests" → F5
Prerequisites
E2E tests have system requirements:
- Python installed - At least one Python interpreter must be discoverable
- Extension builds - Run
npm run compilebefore tests - CI needs webpack build - Run
npm run compile(webpack) before tests, not justnpm run compile-tests(tsc)
Adding New E2E Tests
Create files in src/test/e2e/ with pattern *.e2e.test.ts:
import * as assert from 'assert';
import * as vscode from 'vscode';
import { waitForCondition } from '../testUtils';
import { ENVS_EXTENSION_ID } from '../constants';
suite('E2E: [Workflow Name]', function () {
this.timeout(120_000); // 2 minutes
let api: ExtensionApi;
suiteSetup(async function () {
const extension = vscode.extensions.getExtension(ENVS_EXTENSION_ID);
assert.ok(extension, 'Extension not found');
if (!extension.isActive) await extension.activate();
api = extension.exports;
});
test('[Test description]', async function () {
// Use real API (flat structure, not nested!)
// api.getEnvironments(), not api.environments.getEnvironments()
await waitForCondition(
async () => (await api.getEnvironments('all')).length > 0,
60_000,
'No environments found',
);
});
});
Test Files
| File | Purpose |
|---|---|
src/test/e2e/environmentDiscovery.e2e.test.ts |
Discovery workflow tests |
src/test/e2e/index.ts |
Test runner entry point |
src/test/testUtils.ts |
Utilities (waitForCondition, etc.) |
Notes
- E2E tests are slower than smoke tests (expect 1-3 minutes)
- They may create/modify files - cleanup happens in
suiteTeardown - First run downloads VS Code (~100MB, cached in
.vscode-test/) - For more details on E2E tests and how they compare to other test types, refer to the project's testing documentation.