Description
A normal Windows checkout with core.autocrlf=true changes tests/sample_file.txt from LF to CRLF, but the base64 transform test asserts the LF byte sequence. This makes both sync and async variants fail on a supported OS.
The CI workflow only runs tests on Ubuntu, so this Windows-specific failure is not detected before merge/release.
Reproduction
On Windows:
git config core.autocrlf true
git checkout .
python -m pytest -o addopts="" tests/test_transform.py -k base64_file_input
Observed failures:
# actual bytes include CRLF
SGVsbG8sIHdvcmxkIQ0K
# expected bytes include LF
SGVsbG8sIHdvcmxkIQo=
git ls-files --eol tests/sample_file.txt reports:
i/lf w/crlf attr/ tests/sample_file.txt
There is no .gitattributes rule making this byte fixture checkout-stable.
Code references
- Byte fixture:
tests/sample_file.txt
- Exact base64 assertion:
tests/test_transform.py:419-426
- Linux-only test runner:
.github/workflows/ci.yml:76-94
Expected behavior
Tests should pass on every supported development platform. The fixture should be treated as binary or forced to LF with .gitattributes, and a Windows CI job should cover platform-specific code and checkout behavior.
Actual behavior
The two test_base64_file_input cases fail on a standard Windows Git checkout, while Ubuntu-only CI remains green.
Why this matters
The project declares Windows support and ships a Windows-specific SEA binary. Without Windows CI, both portable test-fixture problems and Windows-only lifecycle/packaging regressions can ship unnoticed.
Prior-art check
I searched open/closed issues and PRs for this fixture, CRLF/autocrlf, Windows pytest failures, and Windows CI and found no existing report.
Description
A normal Windows checkout with
core.autocrlf=truechangestests/sample_file.txtfrom LF to CRLF, but the base64 transform test asserts the LF byte sequence. This makes both sync and async variants fail on a supported OS.The CI workflow only runs tests on Ubuntu, so this Windows-specific failure is not detected before merge/release.
Reproduction
On Windows:
Observed failures:
git ls-files --eol tests/sample_file.txtreports:There is no
.gitattributesrule making this byte fixture checkout-stable.Code references
tests/sample_file.txttests/test_transform.py:419-426.github/workflows/ci.yml:76-94Expected behavior
Tests should pass on every supported development platform. The fixture should be treated as binary or forced to LF with
.gitattributes, and a Windows CI job should cover platform-specific code and checkout behavior.Actual behavior
The two
test_base64_file_inputcases fail on a standard Windows Git checkout, while Ubuntu-only CI remains green.Why this matters
The project declares Windows support and ships a Windows-specific SEA binary. Without Windows CI, both portable test-fixture problems and Windows-only lifecycle/packaging regressions can ship unnoticed.
Prior-art check
I searched open/closed issues and PRs for this fixture, CRLF/autocrlf, Windows pytest failures, and Windows CI and found no existing report.