With %TEMP% holding a character outside the ANSI code page, two
Windows tests still abort:
- guest_syslog captures stderr through std::tmpfile(), which returns
NULL there (#13083). It now opens the capture with
TemporaryFile::Open(), as the other libc tests do since #13104.
- guest_kernel_sys_console_identity starts its PS4 child with
std::system and a command built from directory.string() and
argv[0]. Both are narrow, so `cd /d` gets '?' in place of the
character and fails. On Windows the command is now built from
directory.wstring() and GetModuleFileNameW and run with _wsystem,
as AsyncLog's child does.
Co-Authored-By: Claude Opus 5.5 <[email protected]>