vox-integration-tests API Reference (generated)
vox-integration-tests
Section titled “vox-integration-tests”Crate: vox-integration-tests · Version: 0.6.0 · Target: Library (lib.rs)
Cross-crate integration test harness (test-only L5).
Crate Overview
Section titled “Crate Overview”Integration test harness crate (no public API).
Tests live under crates/vox-integration-tests/tests/. This library target exists so
integration tests can share helpers if needed without publishing a surface area.
The ts_emit_* test files all gate on the same emitted-TypeScript tsc --noEmit
contract, so their shared plumbing (path resolution, fixture collection, the strict
tsconfig, and the node-direct tsc invocation) lives here once instead of being
copy-pasted per file — that copy-paste previously let each file’s tsconfig drift
independently, which is exactly the risk the negative-control test exists to catch.
Workspace Dependencies
Section titled “Workspace Dependencies”| Dependency | Kind |
|---|---|
vox-actor-runtime | Development |
vox-bounded-fs | Development |
vox-cli | Development |
vox-codegen | Development |
vox-compiler | Development |
vox-config | Development |
vox-deploy-codegen | Development |
vox-lsp | Development |
vox-orchestrator | Development |
vox-orchestrator-mcp | Development |
vox-plugin-api | Development |
vox-repository | Development |
vox-scaling-policy | Development |
vox-secrets | Development |
vox-skills | Development |
vox-speech | Development |
vox-test-harness | Development |
vox-workflow-runtime | Development |
Public API Surface
Section titled “Public API Surface”Functions
Section titled “Functions”| Function | Description |
|---|---|
strip_unc_prefix | Strip the Windows \\?\ UNC prefix that canonicalize() adds on Windows. cmd.exe and many CLI tools cannot handle the extended-length path prefix. |
ts_scratch_dir | Absolute path to the ts-noemit-scratch dir that contains node_modules and the base tsconfig.json used by every TS-emit-typecheck gate test. |
collect_vox_files | Collect all .vox files directly under dir (non-recursive), sorted for determinism. Propagates read_dir/entry errors rather than swallowing them into an empty Vec — a caller silently seeing “zero fixtures” for an unreadable directory looks identical to “the corpus is genuinely empty,” which would let a corpus-comparison test complete having compared nothing. |
strict_tsconfig_json | The canonical strict tsconfig.json (compilerOptions + include) shared by every TS-emit-typecheck gate test. The negative-control test’s entire premise is proving that THIS SAME config rejects bad TypeScript — keep it in exactly one place so that invariant can’t silently drift between the positive gate and the negative control. |
run_tsc_noemit | Resolve tsc’s CLI entrypoint under scratch/node_modules/typescript/bin/tsc and run tsc --noEmit --project <tsconfig> by invoking node directly. The node_modules/.bin/tsc(.cmd) shims rely on PATH resolution that fails under nextest on Windows (‘node’ is not recognized); this is portable and shim-free. |
env_var_lock | Take ENV_VAR_LOCK (recovering from a poisoned lock), then mutate env vars through vox_test_harness::env_scratch::EnvScratch, the workspace’s one reviewed set_var site. Bind the lock BEFORE the scratch. Locals drop in reverse order, so the vars are restored while the lock is still held, even during a panic unwind. |