diff options
author | Hemmo Nieminen <hemmo.nieminen@iki.fi> | 2022-02-01 00:00:00 +0200 |
---|---|---|
committer | Eli Schwartz <eschwartz93@gmail.com> | 2022-06-09 18:58:33 -0400 |
commit | 565b12183f25ce5891ec792ec2ac313c17e259d6 (patch) | |
tree | 82b217f566bdb735ee74a07a5fb6548ec5586c30 /mesonbuild/mtest.py | |
parent | e9f77dc072ae3ed7b468f747176ffab0dccfc61f (diff) | |
download | meson-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.py | 30 |
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: |