From a1888d299df725ea6c109a97f2e9e732cb38176e Mon Sep 17 00:00:00 2001 From: Alexander Popov Date: Sun, 2 Apr 2023 11:26:40 +0300 Subject: [PATCH] test_engine: introduce get_engine_result() It's refactoring, no functional changes --- kconfig_hardened_check/test_engine.py | 47 +++++++++++++++++---------- 1 file changed, 29 insertions(+), 18 deletions(-) diff --git a/kconfig_hardened_check/test_engine.py b/kconfig_hardened_check/test_engine.py index acb4d7c..846dc91 100644 --- a/kconfig_hardened_check/test_engine.py +++ b/kconfig_hardened_check/test_engine.py @@ -39,19 +39,16 @@ class TestEngine(unittest.TestCase): kernel_version = (42, 43) # 5. run the engine - result = [] - self.run_engine(config_checklist, - parsed_kconfig_options, parsed_cmdline_options, kernel_version, - result) + self.run_engine(config_checklist, parsed_kconfig_options, parsed_cmdline_options, kernel_version) # 6. check that the results are correct - # self.assertEqual(... + result = [] + self.get_engine_result(config_checklist, result, 'json') + self.assertEqual(... """ @staticmethod - def run_engine(checklist, - parsed_kconfig_options, parsed_cmdline_options, kernel_version, - result): + def run_engine(checklist, parsed_kconfig_options, parsed_cmdline_options, kernel_version): # populate the checklist with data if parsed_kconfig_options: populate_with_data(checklist, parsed_kconfig_options, 'kconfig') @@ -71,11 +68,20 @@ class TestEngine(unittest.TestCase): # print the results in JSON print('JSON:') + result = [] for opt in checklist: result.append(opt.json_dump(True)) # with_results print(json.dumps(result)) print() + @staticmethod + def get_engine_result(checklist, result, result_type): + assert(result_type in ('table', 'json')), \ + f'invalid result type "{result_type}"' + if result_type == 'json': + for opt in checklist: + result.append(opt.json_dump(True)) # with_results + def test_single_kconfig(self): # 1. prepare the checklist config_checklist = [] @@ -100,10 +106,11 @@ class TestEngine(unittest.TestCase): parsed_kconfig_options['CONFIG_NAME_9'] = '0' # 3. run the engine - result = [] - self.run_engine(config_checklist, parsed_kconfig_options, None, None, result) + self.run_engine(config_checklist, parsed_kconfig_options, None, None) # 4. check that the results are correct + result = [] + self.get_engine_result(config_checklist, result, 'json') self.assertEqual( result, [["CONFIG_NAME_1", "kconfig", "expected_1", "decision_1", "reason_1", "OK"], @@ -142,10 +149,11 @@ class TestEngine(unittest.TestCase): parsed_cmdline_options['name_9'] = '0' # 3. run the engine - result = [] - self.run_engine(config_checklist, None, parsed_cmdline_options, None, result) + self.run_engine(config_checklist, None, parsed_cmdline_options, None) # 4. check that the results are correct + result = [] + self.get_engine_result(config_checklist, result, 'json') self.assertEqual( result, [["name_1", "cmdline", "expected_1", "decision_1", "reason_1", "OK"], @@ -188,10 +196,11 @@ class TestEngine(unittest.TestCase): parsed_kconfig_options['CONFIG_NAME_11'] = 'really_not_off' # 3. run the engine - result = [] - self.run_engine(config_checklist, parsed_kconfig_options, None, None, result) + self.run_engine(config_checklist, parsed_kconfig_options, None, None) # 4. check that the results are correct + result = [] + self.get_engine_result(config_checklist, result, 'json') self.assertEqual( result, [["CONFIG_NAME_1", "kconfig", "expected_1", "decision_1", "reason_1", "OK"], @@ -232,10 +241,11 @@ class TestEngine(unittest.TestCase): parsed_kconfig_options['CONFIG_NAME_12'] = 'expected_12' # 3. run the engine - result = [] - self.run_engine(config_checklist, parsed_kconfig_options, None, None, result) + self.run_engine(config_checklist, parsed_kconfig_options, None, None) # 4. check that the results are correct + result = [] + self.get_engine_result(config_checklist, result, 'json') self.assertEqual( result, [["CONFIG_NAME_1", "kconfig", "expected_1", "decision_1", "reason_1", "OK"], @@ -267,10 +277,11 @@ class TestEngine(unittest.TestCase): kernel_version = (42, 43) # 4. run the engine - result = [] - self.run_engine(config_checklist, parsed_kconfig_options, None, kernel_version, result) + self.run_engine(config_checklist, parsed_kconfig_options, None, kernel_version) # 5. check that the results are correct + result = [] + self.get_engine_result(config_checklist, result, 'json') self.assertEqual( result, [["CONFIG_NAME_1", "kconfig", "expected_1", "decision_1", "reason_1", "OK: version >= 41.101"], -- 2.31.1