test: cover UTF-8 output from isolated builder children #200

Merged
monsterlag merged 5 commits from fix/isolated-child-utf8 into main 2026-11-07 23:46:14 +00:00
monsterlag commented 2026-11-07 15:35:48 +00:00 (Migrated from github.com)

Related to #180. Isolated builder children must print Unicode paths reliably on legacy Windows code pages. The UTF-8 invocation is already present in main; add its missing game-free regression and CI coverage.

The test invokes the production run() and PY command with an authored child in a Han-named temporary directory. It reproduces the legacy isolated command's UnicodeEncodeError where the Windows locale cannot encode the character, then verifies that the current UTF-8 command round-trips the output and path. Other platforms/locales still run the positive check. The source workflow runs it on Windows and Linux.

Validation: passed on Windows CP1252 with Python 3.12.16 and the official builder's bundled Python 3.14.7, including the legacy negative control in both runs. git diff --check passes. No product code or game assets are changed.

Related to #180. Isolated builder children must print Unicode paths reliably on legacy Windows code pages. The UTF-8 invocation is already present in main; add its missing game-free regression and CI coverage. The test invokes the production `run()` and `PY` command with an authored child in a Han-named temporary directory. It reproduces the legacy isolated command's `UnicodeEncodeError` where the Windows locale cannot encode the character, then verifies that the current UTF-8 command round-trips the output and path. Other platforms/locales still run the positive check. The source workflow runs it on Windows and Linux. Validation: passed on Windows CP1252 with Python 3.12.16 and the official builder's bundled Python 3.14.7, including the legacy negative control in both runs. `git diff --check` passes. No product code or game assets are changed.
NotRexed commented 2026-11-07 19:45:28 +00:00 (Migrated from github.com)

Thanks. Holding this until the builder/toolchain change in progress lands, since the test drives make_game.run and make_game.PY, which are changing; it can be rebased on that afterwards.

Thanks. Holding this until the builder/toolchain change in progress lands, since the test drives make_game.run and make_game.PY, which are changing; it can be rebased on that afterwards.
Commenting is not possible because the repository is archived.
No description provided.