From ac0e08e55fa34cb6bbf0782588a04d8fc8884d97 Mon Sep 17 00:00:00 2001 From: The MMGen Project Date: Sat, 30 Sep 2023 15:36:41 +0000 Subject: [PATCH] unit_tests.py: add `silence_output` attr --- test/unit_tests.py | 9 +++++++++ test/unit_tests_d/__init__.py | 2 ++ test/unit_tests_d/ut_devtools.py | 4 +--- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/test/unit_tests.py b/test/unit_tests.py index d31e28e0..8930fd58 100755 --- a/test/unit_tests.py +++ b/test/unit_tests.py @@ -134,6 +134,10 @@ def run_test(test,subtest=None): msg(f'Running unit subtest {test}.{subtest_disp}') t = getattr(mod,'unit_tests')() + + if getattr(t,'silence_output',False): + t._silence() + if hasattr(t,'_pre_subtest'): getattr(t,'_pre_subtest')(test,subtest,UnitTestHelpers(subtest)) @@ -142,11 +146,16 @@ def run_test(test,subtest=None): if type(ret).__name__ == 'coroutine': ret = async_run(ret) except: + if getattr(t,'silence_output',False): + t._end_silence() raise if hasattr(t,'_post_subtest'): getattr(t,'_post_subtest')(test,subtest,UnitTestHelpers(subtest)) + if getattr(t,'silence_output',False): + t._end_silence() + if not ret: die(4,f'Unit subtest {subtest_disp!r} failed') diff --git a/test/unit_tests_d/__init__.py b/test/unit_tests_d/__init__.py index f37c7e33..f67ca11c 100755 --- a/test/unit_tests_d/__init__.py +++ b/test/unit_tests_d/__init__.py @@ -11,6 +11,8 @@ from ..include.common import cfg class unit_tests_base: + silence_output = False + def _silence(self): if not cfg.verbose: self.stdout_save = sys.stdout diff --git a/test/unit_tests_d/ut_devtools.py b/test/unit_tests_d/ut_devtools.py index 72e8c8a0..34410d8c 100755 --- a/test/unit_tests_d/ut_devtools.py +++ b/test/unit_tests_d/ut_devtools.py @@ -51,12 +51,10 @@ def print_hdr(hdr): # TODO: add data checks class unit_tests(unit_tests_base): - def _pre_subtest(self,name,subname,ut): - self._silence() + silence_output = True def _post_subtest(self,name,subname,ut): print('-' * 80 + '\n') - self._end_silence() def diff(self,name,ut): for data in text_data + json_data: