Signed-off-by: lin-yuye99 <linyuye@huawei.com>
This commit is contained in:
lin-yuye99
2025-03-24 16:23:12 +08:00
parent f438231c03
commit 03667fc85c
2 changed files with 51 additions and 11 deletions
+22 -6
View File
@@ -230,7 +230,27 @@
"foundation/arkui/ace_engine/test/unittest/base:geometry_test",
"foundation/arkui/ace_engine/test/unittest/base:util_test",
"foundation/arkui/ace_engine/test/unittest/bridge/common/utils:bridge_utils_test",
"foundation/arkui/ace_engine/test/unittest/bridge/common/sourcemap:bridge_source_map_test"
"foundation/arkui/ace_engine/test/unittest/bridge/common/sourcemap:bridge_source_map_test",
"foundation/arkui/ace_engine/test/unittest/interfaces:node_component_snapshot_test",
"foundation/arkui/ace_engine/test/unittest/interfaces:ui_input_event_first_test",
"foundation/arkui/ace_engine/test/unittest/interfaces/ace_kit:ace_kit_test",
"foundation/arkui/ace_engine/test/unittest/core/common/key_event_manager:key_event_manager_test",
"foundation/arkui/ace_engine/test/unittest/core/manager:avoid_info_manager_test_ng",
"foundation/arkui/ace_engine/test/unittest/core/manager:drag_drop_controller_func_wrapper_test_ng",
"foundation/arkui/ace_engine/test/unittest/core/manager:drag_drop_initiating_state_test_ng",
"foundation/arkui/ace_engine/test/unittest/core/syntax:repeat_node_cache_2_syntax_test",
"foundation/arkui/ace_engine/test/unittest/core/pattern/container_modal:container_modal_pattern_enhance_test_ng",
"foundation/arkui/ace_engine/test/unittest/core/pattern/navrouter:navdestination_test_ng",
"foundation/arkui/ace_engine/test/unittest/core/pattern/lazy_layout:lazy_grid_layout_test",
"foundation/arkui/ace_engine/test/unittest/core/pattern/web:web_pattern_unit_test_ohos",
"foundation/arkui/ace_engine/test/unittest/core/pattern/arc_list:arc_list_test_ng",
"foundation/arkui/ace_engine/test/unittest/core/pattern/ui_extension:dynamic_pattern_test_ng",
"foundation/arkui/ace_engine/test/unittest/core/pattern/ui_extension:session_wrapper_impl_test_ng",
"foundation/arkui/ace_engine/test/unittest/core/pattern/ui_extension:session_wrapper_impl_test_new_ng",
"foundation/arkui/ace_engine/test/unittest/core/pattern/ui_extension:security_session_wrapper_impl_test_ng",
"foundation/arkui/ace_engine/test/unittest/core/event:drag_drop_event_test_ng",
"foundation/arkui/ace_engine/test/unittest/core/property:accessibility_property_testtwo_ng",
"foundation/arkui/ace_engine/test/unittest/core/property:accessibility_property_test_three_ng"
],
"adapting_test_targets": [
"foundation/arkui/ace_engine/frameworks/core/animation/test/unittest/svg_animate:SvgAnimateTest",
@@ -245,10 +265,6 @@
"foundation/arkui/ace_engine/test/unittest/core/image:image_cache_test",
"foundation/arkui/ace_engine/test/unittest/core/image:ImageProviderTest",
"foundation/arkui/ace_engine/test/unittest/core/image:ImageCompressorTest",
"foundation/arkui/ace_engine/test/unittest/core/pattern/web:web_pattern_unit_test_ohos",
"foundation/arkui/ace_engine/test/unittest/core/pattern/plugin:plugin_pattern_test_ng",
"foundation/arkui/ace_engine/test/unittest/core/event:resample_and_velocity_test_ng"
"foundation/arkui/ace_engine/test/unittest/core/pattern/plugin:plugin_pattern_test_ng"
]
}
+29 -5
View File
@@ -50,12 +50,16 @@ class BuildProcessor:
self.parse_build_gn(path)
self.parse_groups(path)
for target in self.data_json:
target["deps_list"] = self._get_deps_list(target)
target["dep_h"] = [h for d in target["deps_list"] for h in self.process_file(d)]
change_files, oh_fields = self.process_changes()
if len(oh_fields) == 1 and oh_fields[0] == "arkui_ace_engine":
print(" ".join(self.analyze_impact(change_files)))
else:
print(f"TDDarkuarkui_ace_engine")
print(f"TDDarkui_ace_engine")
self.generate_output()
def parse_build_gn(self, file_path):
@@ -129,9 +133,8 @@ class BuildProcessor:
"configs_h": set(target["configs_h"])
}
if any(change_set & s for s in target_sets.values()):
impacted.append(target["test_target"])
if target["test_target"] in adapting_targets:
return ["TDDarkui_ace_engine"]
if target["test_target"] in adapted_targets:
impacted.append(target["test_target"])
return ["TDDarkui_ace_engine"] if not impacted else impacted
@@ -143,6 +146,18 @@ class BuildProcessor:
except Exception as e:
return ""
def _get_deps_list(self, target):
ret = []
for dep in target["deps_list"]:
ret = list(set(ret + self._get_source_list(dep)))
return ret
def _get_source_list(self, dep):
for target in self.data_json:
if dep == target["test_target"]:
return target["source_list"]
return []
def _process_includes(self, line):
for pattern in [r'#include\s*"(.*?)"', r'#include\s*<(.*?)>']:
match = re.match(pattern, line)
@@ -157,7 +172,7 @@ class BuildProcessor:
sources = self._get_gn_content(self.sources_pattern, target_content, base_path)
deps = self._get_gn_content(self.deps_pattern, target_content, base_path)
includes = self._get_gn_content(self.includes_pattern, target_content, base_path)
includes = self._get_include_files(self._get_gn_content(self.includes_pattern, target_content, base_path))
configs = self._get_gn_content(self.configs_pattern, target_content, base_path)
source_h = {h for s in sources for h in self.process_file(s)}
@@ -178,6 +193,14 @@ class BuildProcessor:
"configs_h": list(config_h)
})
def _get_include_files(self, includes_list):
all_files = []
for path in includes_list:
for root, dirs, files in os.walk(path):
for file in files:
all_files.append(os.path.join(root, file))
return all_files
def _process_group(self, match, file_path):
group_name = match.group(1)
group_content = match.group(2)
@@ -219,3 +242,4 @@ if __name__ == "__main__":
)
processor.execute()