fix: add Windows test coverage
AB
2mo ago+23+23+01234567890123456789-6-6-0123456789
Summary
- run the supported Python test matrix on both Ubuntu and Windows
- force the byte fixture to LF in Git checkouts so its base64 assertion is platform-stable
- make proxy environment setup robust to Windows case-insensitive variable names
- skip tracemalloc leak heuristics on Windows, where runtime and worker allocations make them unstable
Testing
uv run --frozen --isolated --all-extras --python 3.9 pytest(502 passed, 297 skipped)uv run --frozen --isolated --all-extras --python 3.14 pytest(502 passed, 297 skipped)uv run --frozen ruff check .uv run --frozen pyright -p .uv run --frozen mypy --platform linux .
Fixes #355
Summary by cubic
Add Windows to the CI test matrix and make tests cross-platform stable. CI previously ran only on Ubuntu; now it runs on Ubuntu and Windows, with fixes for CRLF-sensitive fixtures, Windows proxy env var behavior, and flaky tracemalloc leak checks. Fixes #355.
- Review notes:
- CI runs on both
ubuntu-latestandwindows-latest; bootstrap and test steps run withbash. .gitattributesforces LF fortests/sample_file.txtto keep base64 assertions stable across OSes.- Proxy environment test handles case-insensitive names on Windows by clearing both cases and setting
HTTPS_PROXYlast. - Tracemalloc-based leak assertions are skipped on Windows and Python >=3.10 to avoid flaky failures; no runtime behavior changes.
- CI runs on both