aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2021-02-10 09:29:08 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2021-02-10 10:57:55 +0100
commit711d9feb4e56dabb66f31f1b44ff99145d42dba4 (patch)
tree76c003ae01cbd9e668d38b46e18a990746a9c414
parent3506d8daf2e67ad44d71f04943a427a42e96031f (diff)
downloadmeson-711d9feb4e56dabb66f31f1b44ff99145d42dba4.zip
meson-711d9feb4e56dabb66f31f1b44ff99145d42dba4.tar.gz
meson-711d9feb4e56dabb66f31f1b44ff99145d42dba4.tar.bz2
mtest: fix nits in printing test stdout
- Ensure the output is terminated with a \n even if the test does not include one. - Ensure that stdout is flushed for each reported result Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r--mesonbuild/mtest.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/mesonbuild/mtest.py b/mesonbuild/mtest.py
index f60f5b0..3887973 100644
--- a/mesonbuild/mtest.py
+++ b/mesonbuild/mtest.py
@@ -141,7 +141,8 @@ def add_arguments(parser: argparse.ArgumentParser) -> None:
'"subprojname:" to run all tests defined by "subprojname".')
-def print_safe(s: str, end: str = '\n') -> None:
+def print_safe(s: str) -> None:
+ end = '' if s[-1] == '\n' else '\n'
try:
print(s, end=end)
except UnicodeEncodeError:
@@ -639,9 +640,8 @@ class ConsoleLogger(TestLogger):
log = self.shorten_log(harness, result)
if log:
print(self.output_start)
- print_safe(log, end='')
+ print_safe(log)
print(self.output_end)
- print(flush=True)
def log_subtest(self, harness: 'TestHarness', test: 'TestRun', s: str, result: TestResult) -> None:
if harness.options.verbose or (harness.options.print_errorlogs and result.is_bad()):
@@ -665,12 +665,13 @@ class ConsoleLogger(TestLogger):
if not result.needs_parsing:
print(self.output_end)
print(harness.format(result, mlog.colorize_console(), max_left_width=self.max_left_width))
- print(flush=True)
else:
print(harness.format(result, mlog.colorize_console(), max_left_width=self.max_left_width),
flush=True)
if harness.options.verbose or result.res.is_bad():
self.print_log(harness, result)
+ if harness.options.verbose or result.res.is_bad():
+ print(flush=True)
self.request_update()