5.9 KiB
Skipped Test Inventory
Last audited: 2026-05-05
This document tracks intentional skip usage in test suites so stale follow-up backlog items can be retired quickly.
Current Inventory
Audit commands:
rg -n "\b(it|test|describe)\.skip\b|\bskipIf\b|createLoopbackIntegrationTest\(" packages plugins scripts --glob "**/*.{test,spec}.{ts,tsx,mjs}"
rg -n "\?\s*it\s*:\s*it\.skip|detectLoopbackBinding|const itPosix" packages plugins scripts --glob "**/*.{test,spec}.{ts,tsx,mjs}"
Current results:
-
Environment-gated integration aliases (loopback gated)
- Canonical helper:
packages/dashboard/src/__tests__/loopback-integration-test.ts - Helper consumers:
packages/dashboard/src/server-static-assets.test.tspackages/dashboard/src/__tests__/websocket.test.tspackages/dashboard/src/__tests__/server-webhook.test.ts
- Pattern: suites call
createLoopbackIntegrationTest(scope)and register integration cases through the returned test function. - Rationale: these suites require real loopback binding support (
127.0.0.1) and are intentionally environment-gated. - Auditability: when loopback binding is unavailable, skipped test names include a standardized reason and the suite scope label (
...; scope: <suite scope>), making coverage gaps explicit in CI/test output.
- Canonical helper:
-
CLI slow-lane agent export gate
packages/cli/src/commands/__tests__/agent-export.test.ts- Pattern:
describe.skipIf(!SHOULD_RUN_SLOW_CLI)("agent-export", ...) - Gate:
FUSION_TEST_SLOW_CLI=1orFUSION_TEST_SLOW_CLI=true - Rationale: these tests perform real workspace and
AgentStoreround-trips and are kept out of the default CLI unit lane. - Replacement owner: the explicit slow lane (
pnpm --filter @runfusion/fusion test:slow-cli) is responsible for running them when slow CLI coverage is requested.
-
CLI pi extension integration gate
packages/cli/src/__tests__/extension-integration.test.ts- Pattern:
describe.skipIf(!SHOULD_RUN_EXTENSION_INTEGRATION)("built fn pi extension integration", ...) - Gate:
FUSION_TEST_EXTENSION_INTEGRATION=1orFUSION_TEST_EXTENSION_INTEGRATION=true - Rationale: this built-extension suite requires compiled CLI artifacts, so it is run through the explicit local release lane instead of every unit run.
- Replacement owner:
pnpm --filter @runfusion/fusion test:extension-integration.
-
CLI legacy pi extension gate
packages/cli/src/__tests__/extension.test.ts- Pattern:
describe.skipIf(!SHOULD_RUN_LEGACY_EXTENSION_INTEGRATION)("fn pi extension (legacy exhaustive suite)", ...) - Gate:
FUSION_TEST_LEGACY_EXTENSION_INTEGRATION=1orFUSION_TEST_LEGACY_EXTENSION_INTEGRATION=true - Rationale: this exhaustive suite is intentionally excluded from default and release lanes while it remains useful only for historical debugging.
- Replacement owner:
packages/cli/src/__tests__/extension-integration.test.tsowns maintained built-extension coverage.
-
CLI native binary build gate
packages/cli/src/__tests__/build-exe-cross.test.ts- Pattern: four
describe.skipIf(!SHOULD_RUN_BUILD_EXE)(...)suites for single-target, Windows-target, all-target, and default-target binary builds. - Gate:
FUSION_TEST_BUILD_EXE=1,FUSION_TEST_BUILD_EXE=true, orCI=true - Rationale: cross-compiling native binaries is intentionally expensive and belongs in the binary/pre-release lane, not every local unit run.
- Replacement owner:
packages/cli/src/__tests__/build-exe.test.tsand bundle-output tests cover the default fast package contract;build-exe-cross.test.tsowns full cross-target coverage when the gate is enabled.
-
POSIX-only shell syntax cases
packages/engine/src/__tests__/run-verification-command.test.tspackages/engine/src/__tests__/verification-utils.test.ts- Pattern:
const itPosix = onPosix ? it : it.skip - Gate: skipped only on
process.platform === "win32" - Rationale: a subset of tests uses POSIX shell syntax (
printf, pipes, and shell quoting). The implementation still uses Node's portableshell: true; these specific fixtures are not portable tocmd.exe. - Replacement owner: platform-neutral cases in the same suite continue to run on Windows.
-
Build-output checks are deterministic (no skip gate)
packages/cli/src/__tests__/bundle-output.test.tspackages/dashboard/app/__tests__/build-output.test.ts- Pattern: each suite builds required artifacts in
beforeAlland then runs chunking/bundle assertions unconditionally. - Rationale: clean worktrees and CI environments should execute real output-contract assertions instead of silently skipping when
dist/is absent.
-
Skip gate string assertions are not skip markers
packages/cli/src/__tests__/ci-workflow.test.ts- Pattern: assertions check that CI workflow text contains
describe.skipIf(...)gate strings. - Rationale: this file does not skip tests itself; it verifies the workflow keeps the intentionally gated suites wired.
Older Follow-up Reconciliation
Previously tracked actionable skip follow-ups are now resolved and should not be treated as open backlog:
- FN-2085: wildcard proxy POST body forwarding coverage is active.
- FN-2076 / FN-2106 / FN-2109: NewAgentDialog and MissionInterviewModal rollback favorite-toggle regressions are active interaction tests.
- The former engine
executor.test.tsstep-session alias skip is no longer present; ownership now lives in active engine tests.
Searches for those IDs in repository test code and docs now return no active TODO/skip markers tied to unresolved work.
Policy
When adding a new skip marker, include one of the following:
- a clear environment/build gate explanation, or
- a direct reference to the active test that owns equivalent coverage.
Avoid opening follow-up tasks for intentional gate/alias skips unless behavior coverage is actually missing.