mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-11-06 10:03:49 -06:00
fix: keep stderr after the report it closes
verify.py --emulator fbneo --strict > log 2>&1 put the ERROR verdict on the first line of the log: redirected, stdout is block-buffered and stderr is not, and run_cli flushed stdout only after main returned. run_cli now sets stdout to line buffering, so every tool it runs keeps the two streams in the order they were written.
This commit is contained in:
1 parent
3eade14d4f
commit
1fe37d16ac
2 files changed
+32
No files matched your search
@@ -3676,6 +3676,13 @@ def run_cli(main: Callable[[], int | None]) -> None:
|
||||
for name in ("SIGTERM", "SIGHUP"):
|
||||
if hasattr(signal, name):
|
||||
signal.signal(getattr(signal, name), _exit_on_signal)
|
||||
# Redirected, stdout is block-buffered and stderr is not: the --strict
|
||||
# verdict landed on the first line of the log, before the report it
|
||||
# closes. Line buffering keeps the two in the order they were written.
|
||||
# A stream a caller swapped in (a test's StringIO) has nothing to set.
|
||||
reconfigure = getattr(sys.stdout, "reconfigure", None)
|
||||
if reconfigure is not None:
|
||||
reconfigure(line_buffering=True)
|
||||
try:
|
||||
code = main()
|
||||
sys.stdout.flush()
|
||||
|
||||
Reference in new issue
Block a user