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.tar.gz | |
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 575dfc255..55c886b7d 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: |
