aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHemmo Nieminen <hemmo.nieminen@iki.fi>2022-02-01 00:00:00 +0200
committerEli Schwartz <eschwartz93@gmail.com>2022-06-09 18:58:33 -0400
commit565b12183f25ce5891ec792ec2ac313c17e259d6 (patch)
tree82b217f566bdb735ee74a07a5fb6548ec5586c30
parente9f77dc072ae3ed7b468f747176ffab0dccfc61f (diff)
downloadmeson-565b12183f25ce5891ec792ec2ac313c17e259d6.zip
meson-565b12183f25ce5891ec792ec2ac313c17e259d6.tar.gz
meson-565b12183f25ce5891ec792ec2ac313c17e259d6.tar.bz2
mtest: improve text test log formatting
Write additional metadata such as exit details and try to visually differentiate the tests better from each other in the (textual) test logs.
-rw-r--r--mesonbuild/mtest.py30
1 files changed, 17 insertions, 13 deletions
diff --git a/mesonbuild/mtest.py b/mesonbuild/mtest.py
index 575dfc2..55c886b 100644
--- a/mesonbuild/mtest.py
+++ b/mesonbuild/mtest.py
@@ -698,19 +698,23 @@ class TextLogfileBuilder(TestFileLogger):
self.file.write(f'Inherited environment: {inherit_env}\n\n')
def log(self, harness: 'TestHarness', result: 'TestRun') -> None:
- self.file.write(harness.format(result, False) + '\n')
- cmdline = result.cmdline
- if cmdline:
- starttime_str = time.strftime("%H:%M:%S", time.gmtime(result.starttime))
- self.file.write(starttime_str + ' ' + cmdline + '\n')
- if result.stdo:
- name = 'stdout' if harness.options.split else 'output'
- self.file.write(dashes(name, '-', 78) + '\n')
- self.file.write(result.stdo)
- if result.stde:
- self.file.write(dashes('stderr', '-', 78) + '\n')
- self.file.write(result.stde)
- self.file.write(dashes('', '-', 78) + '\n\n')
+ title = f'{result.num}/{harness.test_count}'
+ self.file.write(dashes(title, '=', 78) + '\n')
+ self.file.write('test: ' + result.name + '\n')
+ starttime_str = time.strftime("%H:%M:%S", time.gmtime(result.starttime))
+ self.file.write('start time: ' + starttime_str + '\n')
+ self.file.write('duration: ' + '%.2fs' % result.duration + '\n')
+ self.file.write('result: ' + result.get_exit_status() + '\n')
+ if result.cmdline:
+ self.file.write('command: ' + result.cmdline + '\n')
+ if result.stdo:
+ name = 'stdout' if harness.options.split else 'output'
+ self.file.write(dashes(name, '-', 78) + '\n')
+ self.file.write(result.stdo)
+ if result.stde:
+ self.file.write(dashes('stderr', '-', 78) + '\n')
+ self.file.write(result.stde)
+ self.file.write(dashes('', '=', 78) + '\n\n')
async def finish(self, harness: 'TestHarness') -> None:
if harness.collected_failures: