aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild
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
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')
-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: