Problem
Two Windows failures are caused by platform-native output differences:
sub_process_test.dart: an error while spawning is printed to stderr
sub_process_test.dart: outputBytes returns the script's output as bytes
Reproduction
Root cause
- Spawn error text is OS/locale-dependent (and can differ in punctuation).
print() output bytes are platform-native (\r\n on Windows vs \n on Unix).
Expected behavior
Tests should remain strict enough to validate behavior without requiring locale-specific exact strings or Unix-only line endings.
Proposed approach
- Replace exact ProcessException string match with robust matcher (e.g.
startsWith('ProcessException:') + stable prefix checks).
- Make output bytes expectation platform-aware (
Platform.lineTerminator) or normalize line endings in test assertions.
- Add a short contract note in docs/comments that
outputBytes returns raw platform-native bytes.
Acceptance criteria
Problem
Two Windows failures are caused by platform-native output differences:
sub_process_test.dart:an error while spawning is printed to stderrsub_process_test.dart:outputBytes returns the script's output as bytesReproduction
Root cause
print()output bytes are platform-native (\r\non Windows vs\non Unix).Expected behavior
Tests should remain strict enough to validate behavior without requiring locale-specific exact strings or Unix-only line endings.
Proposed approach
startsWith('ProcessException:')+ stable prefix checks).Platform.lineTerminator) or normalize line endings in test assertions.outputBytesreturns raw platform-native bytes.Acceptance criteria
windows-x64andwindows-arm64