[BUG] Windows tests fail on Unix-only and user-specific assumptions
Author: NeonsyCreated Sep 4, 2026Updated Sep 12, 2026
Labelsbug
Summary
A full test run on Windows 11 with Python 3.14.6 produced 1,639 passes, 32 failures, and 11 skips
Most failures came from Unix assumptions or developer-specific Git settings rather than Strix product behavior
That makes it hard to tell whether a failure comes from Strix or only from a Unix-specific test
Failure breakdown
- Nineteen threat-model tests call
/usr/bin/env git - Three tests require the POSIX file mode
0600 - Two tests create filenames with control characters that Windows rejects
- One mount-policy test assumes
/etcexists - Two source-selection tests inherit the developer's global Git ignore rules
- Mypy reports missing Windows attributes for
fcntllocks andos.getuidoros.getgid
Issue #648 and pull request #652 cover one permission assertion, so this issue should cover the remaining shared test infrastructure
Proposed cleanup
- Resolve Git with
shutil.which("git") - Test the Windows security contract instead of POSIX mode bits where appropriate
- Create control-character filenames only on filesystems that support them
- Select protected system paths through a platform helper
- Isolate Git tests from
GIT_CONFIG_GLOBALandGIT_CONFIG_SYSTEM - Guard platform-specific imports so Windows type checking does not resolve unavailable APIs
Why this cleanup matters
uv run pytest should stop failing because a fixture assumes Unix behavior or inherits a developer's Git configuration
Where Windows cannot provide the same filesystem behavior, the test should explain the platform-specific skip instead of hiding a product failure
Source: usestrix/strix