test: isolate integration test home#3144
Open
PascalThuet wants to merge 1 commit into
Open
Conversation
Assisted-by: Codex (model: GPT-5, autonomous)
Contributor
There was a problem hiding this comment.
Pull request overview
This PR makes integration tests hermetic by automatically redirecting user-home and XDG base directories (HOME/USERPROFILE, XDG_CACHE_HOME, XDG_CONFIG_HOME, XDG_DATA_HOME) into each test’s tmp_path, preventing accidental reads/writes to the real developer/CI home directory.
Changes:
- Added an autouse pytest fixture in
tests/integrations/conftest.pyto isolate HOME/USERPROFILE and XDG directories per test. - Ensured the expected XDG subdirectories exist under the isolated home before tests run.
Show a summary per file
| File | Description |
|---|---|
| tests/integrations/conftest.py | Adds an autouse fixture to sandbox user-home/XDG env vars under tmp_path for integration test isolation. |
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 1/1 changed files
- Comments generated: 0
Collaborator
|
Good instinct, but drop the XDG vars — they're not read anywhere — and either align with the existing Path.home monkeypatch or add an assertion so this actually fails loudly when someone forgets |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Isolate integration-test HOME/USERPROFILE and XDG directories to each test tmp path.
Why
Some integrations intentionally write to user-global locations such as
~/.hermes/skills. Without a shared isolation fixture, inherited/base integration tests can write to the real developer or CI home and also block safe parallel execution later.Validation
uv sync --extra testuvx ruff check tests/integrations/conftest.pygit diff --check.venv/bin/python -m pytest tests/integrations/test_integration_hermes.py -q(34 passed).venv/bin/python -m pytest tests/integrations --durations=30 -q(2688 passed, 1 skipped in 100.07s)Disclosure
Prepared by Codex (model: GPT-5) on behalf of @PascalThuet.