-
Notifications
You must be signed in to change notification settings - Fork 0
Verification and Testing
Nakagawa uses layered evidence. A passing command proves only the path it actually executes; green tests are not complete PSP correctness.
- Production dispatch โ a test reaches the real registered NID/entry through the production dispatcher and checks PSP-visible returns, output, state, or wake behavior.
- Production helper or white-box โ real implementation code runs, but fixture setup or the entry is test-specific.
- Model or reference โ a separate model/reference implementation is exercised.
- Source-shape/static โ text or structure is checked without executing public behavior.
Keep these labels explicit in test names, reports, and pull requests. In-repository renderer agreement is useful localization evidence, not an external hardware oracle.
From the repository root:
.\hst_manager.ps1 -Action Test
.\hst_manager.ps1 -Action Verify
python -m unittest discover -s tools -p "test_*.py" -v
python tools/publish_audit.py --tracked-only --worktree
python -m pre_commit run --all-files
mingw32-make --no-print-directory compiler-info
The manager's aggregate Verify route includes the public Python, scheduler/HLE/reference, renderer/GPU, import, publication, and other source-owned selftests applicable to the checkout. Run the subsystem-specific native route as well when changing that subsystem; for example, use the relevant ATRAC, scheduler, HLE, VFPU, reference, or GPU selftest rather than relying on a syntax check.
The publication audit has two intentional sources: tracked/staged Git blobs for hook-style checking, and worktree bytes for an interactive check. Quote which source was audited.
The full static-verification and oracle routes may require user-supplied external traces or a private module. If CODEGEN_ORACLE, MICROTEST_MODULE, or MICROTEST_ORACLE is absent, the gate is blocked by design. Do not turn a blocked external-oracle check into a pass.
Hardware routes additionally qualify the probe, transport, model, firmware, and capture integrity. PPSSPP or software-vs-Vulkan agreement can validate the test chain, but real PSP acceptance remains a separate claim.
GitHub Actions is path-gated by the public workflow. Check the exact head's jobs and the CI required aggregate when reviewing a change; a historical successful run is evidence for its recorded revision only. Local verification is not GitHub CI.
See the repository's CI guide, static verification guide, and Evidence Standard.
Next: Debugging โ Development Workflow.
Home ยท Current Status ยท Getting Started ยท Research site ยท Public repository
Public-source project manual. Users supply their own lawful inputs; no proprietary game content is distributed.
- ๐ Home
- ๐ Current Status
- ๐ Getting Started
โถ๏ธ Build and Run- ๐งญ Repository Tour
- ๐๏ธ Architecture
- ๐ Static Recompiler
- ๐งฉ Runtime and HLE
- ๐ผ๏ธ Graphics and Display
- ๐ Audio and Media
- ๐งช Verification and Testing
- ๐ฉบ Debugging
- ๐ฎ Hardware Research
- ๐ง Development Workflow
- ๐ค Contributing
- ๐ Publication and Provenance
- ๐ Research and Documentation
- โ FAQ
- ๐ Research Home
- ๐๏ธ Knowledge Base
- ๐ Evidence Standard
- ๐ฌ Hardware Replication