[PATCH] D115761: [lit] Flush stderr manually on Windows after printing messages
Martin Storsjö via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 14 14:24:09 PST 2021
mstorsjo created this revision.
mstorsjo added reviewers: amccarth, hans, rnk, thakis, jdenny.
Herald added subscribers: delcypher, arichardson.
mstorsjo requested review of this revision.
Herald added projects: libc++, LLVM.
Herald added a subscriber: libcxx-commits.
Herald added a reviewer: libc++.
When run in a git bash terminal, sys.stderr isn't flushed implicitly
after printing each line. Manually flush it after each printout,
to avoid getting broken/misordered output.
A similar fix had been done in the old libcxx test config, committed
as part of 7e3ee09ad24cbca3ea7687c50b53be5269127fb1 / D28725 <https://reviews.llvm.org/D28725>; this
generalizes the fix, making it available in the new libcxx test
configs too, and for any other test that uses lit_config.note().
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D115761
Files:
libcxx/utils/libcxx/test/config.py
llvm/utils/lit/lit/LitConfig.py
Index: llvm/utils/lit/lit/LitConfig.py
===================================================================
--- llvm/utils/lit/lit/LitConfig.py
+++ llvm/utils/lit/lit/LitConfig.py
@@ -169,6 +169,11 @@
line = inspect.getlineno(f)
sys.stderr.write('%s: %s:%d: %s: %s\n' % (self.progname, file, line,
kind, message))
+ if self.isWindows:
+ # In a git bash terminal, the writes to sys.stderr aren't visible
+ # on screen immediately. Flush them here to avoid broken/misoredered
+ # output.
+ sys.stderr.flush()
def note(self, message):
if not self.quiet:
Index: libcxx/utils/libcxx/test/config.py
===================================================================
--- libcxx/utils/libcxx/test/config.py
+++ libcxx/utils/libcxx/test/config.py
@@ -159,7 +159,6 @@
self.lit_config.note("Running against the C++ Library at {}".format(self.cxx_runtime_root))
self.lit_config.note("Linking against the ABI Library at {}".format(self.abi_library_root))
self.lit_config.note("Running against the ABI Library at {}".format(self.abi_runtime_root))
- sys.stderr.flush() # Force flushing to avoid broken output on Windows
def configure_cxx(self):
# Gather various compiler parameters.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D115761.394386.patch
Type: text/x-patch
Size: 1356 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20211214/2577005e/attachment.bin>
More information about the llvm-commits
mailing list