AI Agent Skill: Test Verification Gate
Use this skill whenever a task adds or modifies tests.
Goal
Ensure runtime verification is completed and reported consistently.
Required Checklist
- Identify the changed files and classify scope: unit, functional, ui or perf.
- Select the narrowest pytest invocation that covers the modified tests:
- Unit tests (no containers needed):
pytest tests/sscape_tests/<test_file>.py - Functional/UI tests (containers needed):
pytest tests/functional/<test_file>.py
- Unit tests (no containers needed):
- If the test requires running containers and service code changed, rebuild the impacted service images before executing tests.
- Execute the selected command.
- If failures occur, confirm image freshness before code-level debugging:
- Rebuild the impacted service runtime image if not rebuilt.
- Rerun the same command once on fresh images.
- If still failing, fix and rerun the same command.
- Report exact command and concise pass/fail summary.
Image Freshness Mapping (Common)
Changed
controller/src/**, testing withpytest tests/functional/<test>.py:make rebuild-controller- then run
pytest tests/functional/<test>.py
Changed
manager/src/**, testing withpytest tests/functional/<test>.py:make rebuild-manager- then run
pytest tests/functional/<test>.py
Unit tests in tests/sscape_tests/ run on the host (no container images required).
Apply rebuild only for functional/UI/integration tests that exercise containerized services.
Blocked Execution Policy
If execution is blocked (missing environment, skipped setup, unavailable runtime), report:
- What is blocked.
- The exact command that should be run once unblocked.
- Whether task completion is partial.
Not Sufficient
- Lint success only
- Syntax-only checks
- IDE static errors only
- Repeated reruns against stale container images
These checks are useful but do not replace runtime test execution.