fix(FN-3610): isolate test home for changed-package test runs
- Create a disposable HOME/USERPROFILE env for scripts/test-changed.mjs execution - Run isolation guard checks with the same isolated env, including cache-hit no-op paths - Clean up temp HOME after test execution to avoid residue - Update test coverage and contributing docs for the shared isolation behavior Fusion-Task-Id: FN-3610
This commit is contained in:
@@ -85,8 +85,9 @@ Fusion tests must run against disposable test data, never live local state:
|
||||
- Workspace/package Vitest configs should use package-local `src/__tests__/setup-test-isolation.ts` shims that call into the shared core bootstrap rather than re-implementing HOME/cwd isolation.
|
||||
- Test runs must use temp HOME and temp workspace/project roots so global settings resolve under temporary directories instead of real `~/.fusion`.
|
||||
- The repository `.fusion` directory is treated as protected live data; root test entrypoints run `scripts/check-test-isolation.mjs` to fail if tests mutate protected Fusion data paths.
|
||||
- `pnpm test` (`scripts/test-changed.mjs`) now creates a disposable temp HOME/USERPROFILE for the entire run (including cache-hit no-op guard checks), so concurrent writes from an active local Fusion session to your real `~/.fusion` do not trigger false positives.
|
||||
|
||||
If you add or change test entrypoints, keep this isolation guard path intact so cached/changed-package routes remain protected.
|
||||
If you add or change test entrypoints, keep this isolation guard path intact and ensure guard + test execution share the same disposable HOME so changed/full/cached paths stay consistent.
|
||||
|
||||
## Quality Gate Checklist
|
||||
|
||||
|
||||
Reference in New Issue
Block a user