Repository navigation
Isolate unit-test Git fixtures from host configuration - #1410
Merged
Merged
Conversation
Merged
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.
Summary
Unit-test Git commands inherited host configuration after repository setup, so enabling tag signing broke three synchronization tests. Apply one isolation policy to direct Git commands and fixture processes whose shell scripts invoke Git; set fixture identities and disable commit/tag signing locally.
Closes #1392
Evidence
Before: all three reported tests failed with
fatal: no tag message?on Git 2.43.0. After: all three pass with the same command and both signing settings enabled:A tag-signing-only probe failed; a commit-signing-only probe passed. The confirmed cause was configuration leaking into commands after initialization.
Before: each retained regression failed for its reported reason: Worktree tag creation required a message; Session shell Git read a supplied invalid
core.ignoreCase. After:cargo test --bin thirdshift git_fixtures_ignore_global_and_system_config -- --nocapturepasses both tests. These supply global and system configuration, exercise fresh/completion Git views and all Harness report fixtures, and check that local config remains readable.The Spec reviewer's exact hostile-global-config reproduction now passes.
cargo check --bin thirdshiftand formatting checks passed./usr/bin/time -p scripts/affected-tests mainpassed onc6c82632, selecting the full Rust suite via thecargo testfallback (nextest unavailable). Wall time: 1634.31s (27m 14s), including 1m 39s compilation; unit result: 1516 passed, 3 ignored; all integration binaries passed. All applicable GitHub CI checks are green, including Linux, macOS, site, Console and release builds.Test seams
Review
.thirdshift-review-46mAE6/{standards.md,spec.md,summary.json}in the Session worktree.Unaddressed findings
Security review outcome
No unaddressed introduced findings.
Merge Danger
Door: two-way
Blast Radius: tests
The runtime command construction is unchanged outside
cfg(test); the rest of the changes are fixture configuration and regressions.Built with codex codex-cli 0.164.0 · gpt-6.1-sol · xhigh