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 | |
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.
-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: |