From dbf1eaa1bfd2dce4e89df13b3e797fbd8424c7ef Mon Sep 17 00:00:00 2001 From: lvgang Date: Fri, 24 Jun 2022 15:51:20 +0800 Subject: [PATCH] analysis of function Signed-off-by: lvgang --- src/core/config/parse_parts_config.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/core/config/parse_parts_config.py b/src/core/config/parse_parts_config.py index 3e51417..5a271b7 100755 --- a/src/core/config/parse_parts_config.py +++ b/src/core/config/parse_parts_config.py @@ -32,10 +32,13 @@ class ParsePartsConfig(object): self.productform = productform self.subsystem_infos, self.part_infos = self.get_infos_data() + # 获取配置文件地址:~/OpenHarmony/out/rk3568/build_configs/infos_for_testfwk.json(以rk3568举例) def get_config_file_path(self): manager = UserConfigManager() + # 获取user_config.xml文件中的配置的(编译好的测试用例地址) testcase_dir = manager.get_test_cases_dir() + # 如果没有在developtertest/config/user_config里配置test_cases路径,就到OpenHarmony/out/rk3568/build_configs/infos_for_testfwk.json里查找 if testcase_dir == "": if sys.source_code_root_path != "": config_filepath = os.path.join( @@ -44,6 +47,8 @@ class ParsePartsConfig(object): "infos_for_testfwk.json") else: config_filepath = "" + + # 如果在developtertest/config/user_config里配置了test_cases路径,就在这个路径下的infos_for_testfwk.json里查找 else: config_filepath = os.path.join( testcase_dir, @@ -52,6 +57,8 @@ class ParsePartsConfig(object): def get_infos_data(self): config_filepath = self.get_config_file_path() + + # 检验给出的路径是否真地存在 if not os.path.exists(config_filepath): print("Error: %s is not exist." % config_filepath) return None, None @@ -68,11 +75,13 @@ class ParsePartsConfig(object): product_data_dic = data_dic.get("phone", None) else: product_data_dic = data_dic.get(self.productform, None) + # product_data_dic:infos_for_testfwk.json配置文件中“phone”节点数据 if product_data_dic is None: print("Error: product_data_dic is None.") return None, None - + # subsystem_infos(系统中定义的子系统列表):infos_for_testfwk.json配置文件中“phone”节点下“subsystem_infos”节点数据 subsystem_infos = product_data_dic.get("subsystem_infos", None) + # subsystem_infos(系统中定义的部件信息列表):infos_for_testfwk.json配置文件中“phone”节点下“part_infos”节点数据 part_infos = product_data_dic.get("part_infos", None) return subsystem_infos, part_infos @@ -89,14 +98,17 @@ class ParsePartsConfig(object): subsystem_name_list.append(item) return subsystem_name_list + # 获取部件列表 def get_part_list(self, subsystemlist, partlist): + # 如果options参数中的partlist不为空,直接返回partlist if len(partlist) != 0: return partlist - + # 如果infos_for_testfwk.json配置文件的subsystem_infos为None,返回options参数中的subsystemlist if self.subsystem_infos is None: return subsystemlist part_name_list = [] + # 遍历options参数中的子系统列表,并且将infos_for_testfwk.json配置文件的subsystem_infos中的对应子系统的部件列表加入到part_name_list中 if len(subsystemlist) != 0: for item in subsystemlist: parts = self.subsystem_infos.get(item, []) -- GitLab