You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Inspired by the discussion of terminal coloring here: python/buildmaster-config#687 (comment)
The Emscripten build bot was coloring the output but other build bots don't. The reason was tracked down to the incorrect behavior of isatty because if isatty(stdout) is false, unittest will automatically disable terminal coloring. So this will fix the build bot.
The standard streams that Emscripten provides out of the box have the following deficiencies:
shutil.get_terminal_size()doesn't work.to be flushed with fsync().
character-based handler layer. This is particularly awkward because both
sides of this character based layer deal with buffers and so we need
complex adaptors, buffering, etc on both sides. Removing this
character-based middle layer makes everything better.
https://github.com/emscripten-core/emscripten/blob/1aa7fb531f11e11e7ae49b75a24e1a8fe6fa4a7d/src/lib/libtty.js?plain=1#L104-L114
These issues are fixed in Pyodide in this file:
https://github.com/pyodide/pyodide/blob/main/src/js/streams.ts
We can fix it with an adapted version of that file.
Inspired by the discussion of terminal coloring here:
python/buildmaster-config#687 (comment)
The Emscripten build bot was coloring the output but other build bots don't. The reason was tracked down to the incorrect behavior of isatty because if isatty(stdout) is false, unittest will automatically disable terminal coloring. So this will fix the build bot.
Linked PRs