aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/mtest.py
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 /mesonbuild/mtest.py
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.
Diffstat (limited to 'mesonbuild/mtest.py')
-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: