run-e2e-tests — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited run-e2e-tests (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Run E2E (end-to-end) tests to verify complete user workflows work correctly.
Note: Run smoke tests first. If smoke tests fail, E2E tests will also fail.
| 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 |
Unlike unit tests (mocked) and smoke tests (quick checks), E2E tests:
They take longer (1-3 minutes) but catch integration issues.
npm run compile && npm run compile-tests && npm run e2e-testPass:
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.
| 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
E2E tests have system requirements:
npm run compile before testsnpm run compile (webpack) before tests, not just npm run compile-tests (tsc)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',
);
});
});| 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.) |
suiteTeardown.vscode-test/)~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.