1# Copyright (c) 2024-2025 Huawei Device Co., Ltd. 2# Licensed under the Apache License, Version 2.0 (the "License"); 3# you may not use this file except in compliance with the License. 4# You may obtain a copy of the License at 5# 6# http://www.apache.org/licenses/LICENSE-2.0 7# 8# Unless required by applicable law or agreed to in writing, software 9# distributed under the License is distributed on an "AS IS" BASIS, 10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11# See the License for the specific language governing permissions and 12# limitations under the License. 13 14import("//arkcompiler/ets_frontend/es2panda/es2abc_config.gni") 15import("//arkcompiler/ets_frontend/ets2panda/ets2abc_config.gni") 16import("//arkcompiler/runtime_core/ark_config.gni") 17import("//arkcompiler/runtime_core/libabckit/abckit_config.gni") 18 19template("create_merge_file") { 20 assert(defined(invoker.input_file), "input_file is required!") 21 assert(defined(invoker.output_file), "output_file is required!") 22 assert(defined(invoker.source_lang), "source_lang is required!") 23 24 extra_dependencies = [] 25 if (defined(invoker.extra_dependencies)) { 26 extra_dependencies += invoker.extra_dependencies 27 } 28 29 action("$target_name") { 30 script = "./../scripts/create_merge_file.sh" 31 32 args = [ 33 rebase_path(target_gen_dir), 34 rebase_path(invoker.input_file), 35 rebase_path(invoker.output_file), 36 invoker.source_lang, 37 ] 38 39 deps = extra_dependencies 40 41 outputs = [ invoker.output_file ] 42 } 43} 44 45abckit_gtests_sources = [ 46 "clean_scenarios/c_api/dynamic/add_log/add_log_dynamic_test.cpp", 47 "clean_scenarios/c_api/dynamic/add_try_catch/add_try_catch_test.cpp", 48 "clean_scenarios/c_api/dynamic/api_scanner/api_scanner_test.cpp", 49 "clean_scenarios/c_api/dynamic/branch_eliminator/branch_eliminator_test.cpp", 50 "clean_scenarios/c_api/dynamic/parameter_check/parameter_check_test.cpp", 51 "clean_scenarios/c_api/dynamic/replace_call_site/replace_call_site_test.cpp", 52 "clean_scenarios/c_api/dynamic/router_table/router_table_test.cpp", 53 "clean_scenarios/c_api/dynamic/scan_subclasses/scan_subclasses_test.cpp", 54 "clean_scenarios/c_api/static/add_log/add_log_static_test.cpp", 55 "clean_scenarios/cpp_api/dynamic/add_log/add_log_dynamic_test.cpp", 56 "clean_scenarios/cpp_api/dynamic/add_try_catch/add_try_catch.cpp", 57 "clean_scenarios/cpp_api/dynamic/api_scanner/api_scanner_test.cpp", 58 "clean_scenarios/cpp_api/dynamic/branch_eliminator/branch_eliminator_test.cpp", 59 "clean_scenarios/cpp_api/dynamic/parameter_check/parameter_check_test.cpp", 60 "clean_scenarios/cpp_api/dynamic/replace_call_site/replace_call_site_test.cpp", 61 "clean_scenarios/cpp_api/dynamic/router_table/router_table_test.cpp", 62 "clean_scenarios/cpp_api/dynamic/scan_subclasses/scan_subclasses_test.cpp", 63 "cpp/tests/cpp_test.cpp", 64 "helpers/helpers.cpp", 65 "helpers/helpers_mode.cpp", 66 "helpers/helpers_nullptr.cpp", 67 "helpers/helpers_wrong_ctx.cpp", 68 "helpers/helpers_wrong_imm.cpp", 69 "helpers/visit_helper/visit_helper.cpp", 70 "internal/ICSlotAllocator/ICSlotAllocator.cpp", 71 "internal/implementation_api/abc_stuff.cpp", 72 "internal/implementation_api/graph_stuff.cpp", 73 "internal/mem_manager/several_abc.cpp", 74 "null_args_tests/null_args_tests_ApiImpl_0.cpp", 75 "null_args_tests/null_args_tests_ArktsInspectApiImpl_0.cpp", 76 "null_args_tests/null_args_tests_ArktsModifyApiImpl_0.cpp", 77 "null_args_tests/null_args_tests_GraphApiImpl_0.cpp", 78 "null_args_tests/null_args_tests_InspectApiImpl_0.cpp", 79 "null_args_tests/null_args_tests_IsaApiDynamicImpl_0.cpp", 80 "null_args_tests/null_args_tests_IsaApiDynamicImpl_1.cpp", 81 "null_args_tests/null_args_tests_IsaApiStaticImpl_0.cpp", 82 "null_args_tests/null_args_tests_JsInspectApiImpl_0.cpp", 83 "null_args_tests/null_args_tests_JsModifyApiImpl_0.cpp", 84 "null_args_tests/null_args_tests_ModifyApiImpl_0.cpp", 85 "regression/issue_IB1YEI/c_api/issue_IB1YEI.cpp", 86 "regression/issue_IB1YEI/cpp_api/issue_IB1YEI.cpp", 87 "regression/issue_IB2T4M/c_api/issue_IB2T4M.cpp", 88 "scenarios/add_log/add_log_dynamic_test.cpp", 89 "scenarios/add_log/add_log_static_test.cpp", 90 "scenarios/add_try_catch/dynamic/add_try_catch_test.cpp", 91 "scenarios/api_scanner/dynamic/api_scanner.cpp", 92 "scenarios/api_scanner/dynamic/api_scanner_test.cpp", 93 "scenarios/api_scanner/static/api_scanner_static.cpp", 94 "scenarios/branch_eliminator/dynamic/branch_eliminator.cpp", 95 "scenarios/branch_eliminator/dynamic/branch_eliminator_test.cpp", 96 "scenarios/parameter_check/dynamic/api_modifier.cpp", 97 "scenarios/parameter_check/dynamic/parameter_check_test.cpp", 98 "scenarios/parameter_check/parameter_check_static.cpp", 99 "scenarios/replace_call_site/dynamic/replace_call_site_test.cpp", 100 "scenarios/replace_callsite/replace_callsite_static.cpp", 101 "scenarios/router_table/dynamic/router_table_test.cpp", 102 "scenarios/scan_subclasses/dynamic/scan_subclasses_test.cpp", 103 "scenarios/scan_subclasses/dynamic/subclasses_scanner.cpp", 104 "scenarios/static_branch_elimination/static_branch_elimination.cpp", 105 "ut/extensions/arkts/inspect_api/api_casts/api_casts.cpp", 106 "ut/extensions/arkts/inspect_api/modules/modules_dynamic_test.cpp", 107 "ut/extensions/arkts/inspect_api/namespace/namespace_arkts.cpp", 108 "ut/extensions/arkts/modify_api/annotations/annotations_test.cpp", 109 "ut/extensions/arkts/modify_api/modules/modules_dynamic_modify_test.cpp", 110 "ut/extensions/js/inspect_api/api_casts/api_casts.cpp", 111 "ut/extensions/js/inspect_api/enumerators/enumerators_test.cpp", 112 "ut/extensions/js/inspect_api/modules/modules_dynamic_test.cpp", 113 "ut/extensions/js/modify_api/arrays/array_modify_test.cpp", 114 "ut/extensions/js/modify_api/bigint/load_bigint_test.cpp", 115 "ut/extensions/js/modify_api/copy/copy_modify_test.cpp", 116 "ut/extensions/js/modify_api/modules/modules_dynamic_modify_test.cpp", 117 "ut/extensions/js/modify_api/obj/obj_modify.cpp", 118 "ut/extensions/js/modify_api/patch/patch_modify.cpp", 119 "ut/extensions/js/modify_api/super_this/super_this_modify.cpp", 120 "ut/ir_core/basic_blocks/basic_blocks_dynamic.cpp", 121 "ut/ir_core/basic_blocks/basic_blocks_static.cpp", 122 "ut/ir_core/catchphi/catchphi_dynamic.cpp", 123 "ut/ir_core/catchphi/catchphi_static.cpp", 124 "ut/ir_core/create_constant/create_constant_dynamic.cpp", 125 "ut/ir_core/create_constant/create_constant_static.cpp", 126 "ut/ir_core/get_constant_value/get_constant_value.cpp", 127 "ut/ir_core/graph/graph.cpp", 128 "ut/ir_core/graph_basic_block/graph_basic_block_dynamic.cpp", 129 "ut/ir_core/graph_basic_block/graph_basic_block_static.cpp", 130 "ut/ir_core/graph_verifier/graph_verifier.cpp", 131 "ut/ir_core/insert_try_catch/insert_try_catch_dynamic.cpp", 132 "ut/ir_core/insert_try_catch/insert_try_catch_static.cpp", 133 "ut/ir_core/inst_inputs/inst_inputs_test.cpp", 134 "ut/ir_core/inst_manipulation/inst_manipulation.cpp", 135 "ut/ir_core/loops/loops.cpp", 136 "ut/ir_core/method/method_dynamic.cpp", 137 "ut/ir_core/method/method_static.cpp", 138 "ut/ir_core/phi/phi.cpp", 139 "ut/ir_core/string/string_dynamic.cpp", 140 "ut/ir_core/string/string_static.cpp", 141 "ut/ir_core/types_api/get_type_dynamic.cpp", 142 "ut/ir_core/types_api/get_type_static.cpp", 143 "ut/isa/isa_dynamic/apply/apply_dynamic.cpp", 144 "ut/isa/isa_dynamic/arithmetic/bininst_dynamic.cpp", 145 "ut/isa/isa_dynamic/arithmetic/bininst_logical_dynamic.cpp", 146 "ut/isa/isa_dynamic/arithmetic/bininst_shifts_dynamic.cpp", 147 "ut/isa/isa_dynamic/arithmetic/helpers_arithmetic.cpp", 148 "ut/isa/isa_dynamic/arithmetic/unaryinst_dynamic.cpp", 149 "ut/isa/isa_dynamic/arrays/create_array_dynamic.cpp", 150 "ut/isa/isa_dynamic/async/async_dynamic.cpp", 151 "ut/isa/isa_dynamic/call_runtime/call_runtime_dynamic.cpp", 152 "ut/isa/isa_dynamic/create/createdebugger.cpp", 153 "ut/isa/isa_dynamic/create/createobjectwithbuffer_dynamic.cpp", 154 "ut/isa/isa_dynamic/create/createobjectwithexcludedkeys_dynamic.cpp", 155 "ut/isa/isa_dynamic/create_if/create_if_dynamic.cpp", 156 "ut/isa/isa_dynamic/define/defineclasswithbuffer_dynamic.cpp", 157 "ut/isa/isa_dynamic/define/definefieldbyname_dynamic.cpp", 158 "ut/isa/isa_dynamic/define/definefieldruntime_dynamic.cpp", 159 "ut/isa/isa_dynamic/define/definefunc_dynamic.cpp", 160 "ut/isa/isa_dynamic/define/definegettersetterbyvalue_dynamic.cpp", 161 "ut/isa/isa_dynamic/define/definemethod_dynamic.cpp", 162 "ut/isa/isa_dynamic/dyn_call/call_dynamic.cpp", 163 "ut/isa/isa_dynamic/dyn_call_this/call_this_dynamic.cpp", 164 "ut/isa/isa_dynamic/generators/creategeneratorobj_dynamic.cpp", 165 "ut/isa/isa_dynamic/get_insts/getnextpropname_dynamic.cpp", 166 "ut/isa/isa_dynamic/get_insts/getresumemode_dynamic.cpp", 167 "ut/isa/isa_dynamic/get_insts/gettemplateobject_dynamic.cpp", 168 "ut/isa/isa_dynamic/get_insts/getunmappedargs_dynamic.cpp", 169 "ut/isa/isa_dynamic/immsize/immsize_dynamic.cpp", 170 "ut/isa/isa_dynamic/import/dynamicimport_dynamic.cpp", 171 "ut/isa/isa_dynamic/instanceof/instanceof_dynamic.cpp", 172 "ut/isa/isa_dynamic/isin/isin_dynamic.cpp", 173 "ut/isa/isa_dynamic/iterators/createiterresultobj_dynamic.cpp", 174 "ut/isa/isa_dynamic/iterators/getiterator_dynamic.cpp", 175 "ut/isa/isa_dynamic/iterators/getpropiterator_dynamic.cpp", 176 "ut/isa/isa_dynamic/lexenv/lexenv_dynamic.cpp", 177 "ut/isa/isa_dynamic/load_string/load_string_dynamic.cpp", 178 "ut/isa/isa_dynamic/loadstore/ld_dynamic.cpp", 179 "ut/isa/isa_dynamic/loadstore/loadstore.cpp", 180 "ut/isa/isa_dynamic/modules/isa_dynamic_modules.cpp", 181 "ut/isa/isa_dynamic/objects/objects_dynamic.cpp", 182 "ut/isa/isa_dynamic/return/return_dynamic.cpp", 183 "ut/isa/isa_dynamic/sendable/sendable_dynamic.cpp", 184 "ut/isa/isa_dynamic/supercall/supercall_dynamic.cpp", 185 "ut/isa/isa_dynamic/testin/testin_dynamic.cpp", 186 "ut/isa/isa_dynamic/throw/throw_dynamic.cpp", 187 "ut/isa/isa_static/arithmetic/bininst_imm_static.cpp", 188 "ut/isa/isa_static/arithmetic/bininst_logical_imm_static.cpp", 189 "ut/isa/isa_static/arithmetic/bininst_logical_static.cpp", 190 "ut/isa/isa_static/arithmetic/bininst_shifts_imm_static.cpp", 191 "ut/isa/isa_static/arithmetic/bininst_shifts_static.cpp", 192 "ut/isa/isa_static/arithmetic/bininst_static.cpp", 193 "ut/isa/isa_static/arithmetic/unaryinst_static.cpp", 194 "ut/isa/isa_static/arrays/arrays_static.cpp", 195 "ut/isa/isa_static/call/call_static_static.cpp", 196 "ut/isa/isa_static/call/call_virtual_static.cpp", 197 "ut/isa/isa_static/cast/cast_static.cpp", 198 "ut/isa/isa_static/classes/classes_api.cpp", 199 "ut/isa/isa_static/cmp/create_cmp_static.cpp", 200 "ut/isa/isa_static/create_if/create_if_static.cpp", 201 "ut/isa/isa_static/create_nullptr/create_nullptr_static.cpp", 202 "ut/isa/isa_static/equals/equals_static.cpp", 203 "ut/isa/isa_static/get_opcode/get_opcode_static.cpp", 204 "ut/isa/isa_static/is_instance/is_instance.cpp", 205 "ut/isa/isa_static/is_nullvalue/is_nullvalue.cpp", 206 "ut/isa/isa_static/load_nullvalue/load_nullvalue_static.cpp", 207 "ut/isa/isa_static/load_string/load_string_static.cpp", 208 "ut/isa/isa_static/objects/objects.cpp", 209 "ut/isa/isa_static/return/return_static.cpp", 210 "ut/isa/isa_static/throw/throw_static.cpp", 211 "ut/metadata_core/inspect_api/annotations/annotations_test.cpp", 212 "ut/metadata_core/inspect_api/classes/classes_test.cpp", 213 "ut/metadata_core/inspect_api/enumerators/enumerators_test.cpp", 214 "ut/metadata_core/inspect_api/files/files_test.cpp", 215 "ut/metadata_core/inspect_api/literals/literals_test.cpp", 216 "ut/metadata_core/inspect_api/methods/methods_test.cpp", 217 "ut/metadata_core/inspect_api/modules/modules_dynamic_test.cpp", 218 "ut/metadata_core/inspect_api/namespaces/namespaces_test.cpp", 219 "ut/metadata_core/inspect_api/strings/strings_test.cpp", 220 "ut/metadata_core/inspect_api/types/types_test.cpp", 221 "ut/metadata_core/inspect_api/values/values_test.cpp", 222 "ut/metadata_core/modify_api/literals/literals_test.cpp", 223 "ut/metadata_core/modify_api/strings/strings_test.cpp", 224 "ut/metadata_core/modify_api/types/types_test.cpp", 225 "ut/metadata_core/modify_api/values/values_test.cpp", 226 # "wrong_ctx_tests/wrong_ctx_tests_ArktsInspectApiImpl_0.cpp", 227 # "wrong_ctx_tests/wrong_ctx_tests_ArktsModifyApiImpl_0.cpp", 228 "wrong_ctx_tests/wrong_ctx_tests_GraphApiImpl_0.cpp", 229 "wrong_ctx_tests/wrong_ctx_tests_IsaApiDynamicImpl_0.cpp", 230 "wrong_ctx_tests/wrong_ctx_tests_IsaApiDynamicImpl_1.cpp", 231 "wrong_ctx_tests/wrong_ctx_tests_IsaApiStaticImpl_0.cpp", 232 "wrong_ctx_tests/wrong_ctx_tests_ModifyApiImpl_0.cpp", 233 "wrong_imm_tests/wrong_imm_tests_IsaApiDynamicImpl_0.cpp", 234 "wrong_mode_tests/wrong_mode_tests_IsaApiDynamicImpl_0.cpp", 235 "wrong_mode_tests/wrong_mode_tests_IsaApiDynamicImpl_1.cpp", 236 "wrong_mode_tests/wrong_mode_tests_IsaApiStaticImpl_0.cpp", 237] 238 239clean_scenario_js_from_ets_files = [ 240 "clean_scenarios/c_api/dynamic/add_log/add_log_dynamic", 241 "clean_scenarios/c_api/dynamic/scan_subclasses/scan_subclasses", 242 "clean_scenarios/c_api/dynamic/parameter_check/parameter_check", 243 "clean_scenarios/c_api/dynamic/api_scanner/api_scanner", 244 "clean_scenarios/c_api/dynamic/branch_eliminator/branch_eliminator", 245 "clean_scenarios/c_api/dynamic/add_try_catch/add_try_catch", 246 "clean_scenarios/cpp_api/dynamic/add_log/add_log_dynamic", 247 "clean_scenarios/cpp_api/dynamic/branch_eliminator/branch_eliminator", 248 "clean_scenarios/cpp_api/dynamic/api_scanner/api_scanner", 249 "clean_scenarios/cpp_api/dynamic/add_try_catch/add_try_catch", 250 "clean_scenarios/cpp_api/dynamic/parameter_check/parameter_check", 251 "clean_scenarios/cpp_api/dynamic/scan_subclasses/scan_subclasses", 252] 253 254clean_scenario_ts_files = [ 255 "clean_scenarios/c_api/dynamic/replace_call_site/replace_call_site", 256 "clean_scenarios/c_api/dynamic/router_table/router_table", 257 258 "clean_scenarios/cpp_api/dynamic/replace_call_site/replace_call_site", 259 "clean_scenarios/cpp_api/dynamic/router_table/router_table", 260] 261 262clean_scenario_ets_files = 263 [ "clean_scenarios/c_api/static/add_log/add_log_static" ] 264 265test_js_path = "//arkcompiler/runtime_core/libabckit/tests/" 266 267test_js_files = [ 268 "ut/metadata_core/inspect_api/modules/targets/JS_target", 269 "ut/extensions/js/inspect_api/api_casts/JSapi_casts", 270 "ut/extensions/js/inspect_api/modules/JSmodules_dynamic", 271 "ut/extensions/js/inspect_api/modules/JSmodules_dynamic_external", 272 "ut/extensions/js/inspect_api/enumerators/JSenumerators0_dynamic", 273 "ut/extensions/js/modify_api/modules/JSmodules_dynamic_modify", 274] 275 276test_js_from_ets_files = [ 277 "cpp/tests/cpp_test_dynamic_js", 278 279 "ut/metadata_core/inspect_api/classes/classes_dynamic", 280 "ut/metadata_core/inspect_api/classes/classes_empty_dynamic", 281 "ut/metadata_core/inspect_api/literals/literals_dynamic", 282 "ut/metadata_core/inspect_api/values/values_dynamic", 283 "ut/metadata_core/inspect_api/modules/modules_dynamic", 284 "ut/metadata_core/inspect_api/modules/modules_dynamic_external", 285 "ut/metadata_core/inspect_api/types/types_dynamic", 286 "ut/metadata_core/modify_api/strings/strings_dynamic", 287 "ut/metadata_core/modify_api/literals/literals_dynamic", 288 "ut/metadata_core/modify_api/values/values_dynamic", 289 "ut/metadata_core/modify_api/types/types_dynamic", 290 "ut/metadata_core/inspect_api/files/file_dynamic", 291 "ut/extensions/arkts/modify_api/modules/modules_dynamic_modify", 292 "ut/extensions/arkts/inspect_api/modules/modules_dynamic", 293 "ut/extensions/js/modify_api/super_this/store_super", 294 "ut/extensions/js/modify_api/super_this/load_super", 295 "ut/extensions/js/modify_api/super_this/store_this", 296 "ut/extensions/js/modify_api/super_this/load_this", 297 "ut/extensions/js/modify_api/patch/patch_test", 298 "ut/extensions/js/modify_api/obj/newobj", 299 "ut/extensions/js/modify_api/obj/delobjprop", 300 "ut/extensions/js/modify_api/obj/privateprop", 301 "ut/extensions/js/modify_api/obj/callruntime_private", 302 "ut/extensions/js/modify_api/obj/proto", 303 "ut/extensions/js/modify_api/bigint/load_bigint", 304 "ut/isa/isa_dynamic/load_string/load_string_dynamic", 305 "ut/extensions/js/modify_api/arrays/starrayspread", 306 "ut/extensions/js/modify_api/copy/copyrestargs_test", 307 "ut/extensions/js/modify_api/copy/copy_properties_test", 308 "ut/isa/isa_dynamic/modules/isa_dynamic_modules", 309 "ut/isa/isa_dynamic/objects/objects_dynamic", 310 "ut/isa/isa_dynamic/return/return_dynamic", 311 "ut/isa/isa_dynamic/arithmetic/bininst_dynamic", 312 "ut/isa/isa_dynamic/arithmetic/bininst_logical_dynamic", 313 "ut/isa/isa_dynamic/arithmetic/bininst_shifts_dynamic", 314 "ut/isa/isa_dynamic/arithmetic/unaryinst_dynamic", 315 "ut/isa/isa_dynamic/get_insts/getnextpropname_dynamic", 316 "ut/isa/isa_dynamic/get_insts/getresumemode_dynamic", 317 "ut/isa/isa_dynamic/get_insts/gettemplateobject_dynamic", 318 "ut/isa/isa_dynamic/get_insts/getunmappedargs_dynamic", 319 "ut/isa/isa_dynamic/import/dynamicimport_dynamic", 320 "ut/isa/isa_dynamic/loadstore/emptyobj", 321 "ut/isa/isa_dynamic/loadstore/ld_dynamic", 322 "ut/isa/isa_dynamic/loadstore/stownbyindex", 323 "ut/isa/isa_dynamic/loadstore/stobjbyindex", 324 "ut/isa/isa_dynamic/loadstore/ldobjbyvalue", 325 "ut/isa/isa_dynamic/loadstore/ldobjbyname", 326 "ut/isa/isa_dynamic/loadstore/ldobjbyindex", 327 "ut/isa/isa_dynamic/loadstore/ldglobalvar", 328 "ut/isa/isa_dynamic/loadstore/stglobalvar", 329 "ut/isa/isa_dynamic/loadstore/tryldglobalbyname", 330 "ut/isa/isa_dynamic/loadstore/trystglobalbyname", 331 "ut/isa/isa_dynamic/create_if/create_if_dynamic", 332 "ut/isa/isa_dynamic/create/createobjectwithbuffer_dynamic", 333 "ut/isa/isa_dynamic/create/createdebugger_dynamic", 334 "ut/isa/isa_dynamic/create/createobjectwithexcludedkeys_dynamic", 335 "ut/isa/isa_dynamic/define/defineclasswithbuffer_dynamic", 336 "ut/isa/isa_dynamic/define/definefieldbyname_dynamic", 337 "ut/isa/isa_dynamic/define/definefieldruntime_dynamic", 338 "ut/isa/isa_dynamic/define/definefunc_dynamic", 339 "ut/isa/isa_dynamic/define/definemethod_dynamic", 340 "ut/isa/isa_dynamic/define/definegettersetterbyvalue_dynamic", 341 "ut/isa/isa_dynamic/dyn_call/call_dynamic", 342 "ut/isa/isa_dynamic/dyn_call_this/call_this_dynamic", 343 "ut/isa/isa_dynamic/call_runtime/topropertykey_dynamic", 344 "ut/isa/isa_dynamic/call_runtime/callinit_dynamic", 345 "ut/isa/isa_dynamic/throw/throw_dynamic", 346 "ut/isa/isa_dynamic/instanceof/instanceof_dynamic", 347 "ut/isa/isa_dynamic/isin/isin_dynamic", 348 "ut/isa/isa_dynamic/sendable/ldsendableclass_dynamic", 349 "ut/isa/isa_dynamic/sendable/makesendableclass_dynamic", 350 "ut/isa/isa_dynamic/supercall/supercall_dynamic", 351 "ut/isa/isa_dynamic/supercall/supercallarrow_dynamic", 352 "ut/isa/isa_dynamic/supercall/supercallspread_dynamic", 353 "ut/isa/isa_dynamic/testin/testin_dynamic", 354 "ut/isa/isa_dynamic/generators/creategeneratorobj_dynamic", 355 "ut/isa/isa_dynamic/iterators/createiterresultobj_dynamic", 356 "ut/isa/isa_dynamic/iterators/getiterator_dynamic", 357 "ut/isa/isa_dynamic/iterators/getpropiterator_dynamic", 358 "ut/isa/isa_dynamic/lexenv/lexenv_dynamic", 359 "ut/isa/isa_dynamic/lexenv/poplexenv_dynamic", 360 "ut/isa/isa_dynamic/arrays/create_array_dynamic", 361 "ut/isa/isa_dynamic/async/enter_resolve_reject_dynamic", 362 "ut/isa/isa_dynamic/async/awaituncaught_dynamic", 363 "ut/isa/isa_dynamic/async/asyncgenerator_dynamic", 364 "ut/isa/isa_dynamic/async/asyncgeneratorobj_dynamic", 365 "ut/isa/isa_dynamic/async/asyncuseconcurrent_dynamic", 366 "ut/isa/isa_dynamic/async/asynciterator_dynamic", 367 "ut/isa/isa_dynamic/apply/apply_dynamic", 368 "ut/isa/isa_dynamic/apply/newobjapply_dynamic", 369 "ut/isa/isa_dynamic/immsize/immsize_dynamic", 370 371 "ut/ir_core/graph/graph_dynamic", 372 "ut/ir_core/inst_manipulation/inst_manipulation_dynamic", 373 "ut/ir_core/graph_basic_block/graph_basic_block_dynamic", 374 "ut/ir_core/graph_basic_block/graph_basic_block_simple", 375 "ut/ir_core/basic_blocks/basic_blocks_dynamic", 376 "ut/ir_core/basic_blocks/js_src/create_empty_dynamic", 377 "ut/ir_core/basic_blocks/js_src/visit_succ_dynamic", 378 "ut/ir_core/basic_blocks/js_src/try_catch_blocks_dynamic", 379 "ut/ir_core/get_constant_value/get_constant_value_dynamic", 380 "ut/ir_core/create_constant/create_constant_dynamic", 381 "ut/ir_core/inst_inputs/inst_inputs_dynamic", 382 "ut/ir_core/string/string_dynamic", 383 "ut/ir_core/method/method_dynamic", 384 "ut/ir_core/loops/loop_dynamic", 385 "ut/ir_core/types_api/get_type_dynamic", 386 "ut/ir_core/insert_try_catch/insert_try_catch_dynamic", 387 "ut/ir_core/insert_try_catch/insert_try_catch_dynamic_wrapper", 388 389 "scenarios/add_try_catch/dynamic/add_try_catch", 390 "scenarios/add_log/add_log_dynamic", 391 "scenarios/api_scanner/dynamic/api_scanner", 392 "scenarios/branch_eliminator/dynamic/branch_eliminator", 393 "scenarios/scan_subclasses/dynamic/scan_subclasses", 394 "scenarios/parameter_check/dynamic/parameter_check", 395 396 "internal/ICSlotAllocator/ICSlotAllocator", 397 "internal/implementation_api/abc_dynamic", 398 "internal/mem_manager/abc_dynamic_1", 399 "internal/mem_manager/abc_dynamic_2", 400 401 "wrong_mode_tests/mode_test_dynamic", 402 "wrong_imm_tests/wrong_imm_test_dynamic", 403] 404test_js_from_ets_files += clean_scenario_js_from_ets_files 405 406test_ts_files = [ 407 "cpp/tests/cpp_test_dynamic", 408 409 "scenarios/router_table/dynamic/router_table", 410 "scenarios/replace_call_site/dynamic/replace_call_site", 411 412 "ut/ir_core/catchphi/catchphi_dynamic", 413 414 "ut/ir_core/phi/phi_dynamic", 415 416 "ut/metadata_core/inspect_api/enumerators/enumerators0_dynamic", 417 "ut/metadata_core/inspect_api/modules/targets/TS_target", 418 "ut/metadata_core/inspect_api/methods/methods_dynamic", 419 "ut/metadata_core/inspect_api/annotations/annotations_inspect_dynamic", 420 "ut/metadata_core/inspect_api/namespaces/namespaces_dynamic", 421 422 "ut/extensions/arkts/inspect_api/api_casts/api_casts", 423 "ut/extensions/arkts/inspect_api/namespace/namespace_arkts_dynamic", 424 425 "regression/issue_IB1YEI/issue_IB1YEI", 426 "regression/issue_IB2T4M/issue_IB2T4M", 427] 428test_ts_files += clean_scenario_ts_files 429 430test_ets_files = [ 431 "ut/metadata_core/inspect_api/modules/targets/ArkTS2_target", 432 "ut/metadata_core/inspect_api/classes/classes_static", 433 "ut/metadata_core/inspect_api/classes/classes_empty_static", 434 "ut/metadata_core/inspect_api/methods/methods_static", 435 "ut/metadata_core/inspect_api/methods/native_method", 436 "ut/metadata_core/inspect_api/enumerators/enumerators_static", 437 "ut/metadata_core/inspect_api/files/file_static", 438 "ut/metadata_core/inspect_api/literals/literals_static", 439 "ut/metadata_core/inspect_api/values/values_static", 440 "ut/metadata_core/inspect_api/types/types_static", 441 "ut/metadata_core/modify_api/strings/strings_static", 442 "ut/metadata_core/modify_api/types/types_static", 443 "ut/metadata_core/modify_api/literals/literals_static", 444 "ut/metadata_core/modify_api/values/values_static", 445 446 "ut/isa/isa_static/arithmetic/bininst_imm_static", 447 "ut/isa/isa_static/arithmetic/bininst_logical_static", 448 "ut/isa/isa_static/arithmetic/bininst_logical_imm_static", 449 "ut/isa/isa_static/arithmetic/bininst_shifts_imm_static", 450 "ut/isa/isa_static/arithmetic/bininst_shifts_static", 451 "ut/isa/isa_static/arithmetic/bininst_static", 452 "ut/isa/isa_static/arithmetic/unaryinst_static", 453 "ut/isa/isa_static/arrays/load_array", 454 "ut/isa/isa_static/arrays/load_const_array", 455 "ut/isa/isa_static/arrays/new_array", 456 "ut/isa/isa_static/arrays/store_array", 457 "ut/isa/isa_static/arrays/store_array_wide", 458 "ut/isa/isa_static/arrays/len_array", 459 "ut/isa/isa_static/cast/cast_static", 460 "ut/isa/isa_static/cast/checkcast_static", 461 "ut/isa/isa_static/cast/target_type_static", 462 "ut/isa/isa_static/call/call_static_static", 463 "ut/isa/isa_static/call/call_virtual_static", 464 "ut/isa/isa_static/cmp/create_cmp_static", 465 "ut/isa/isa_static/load_nullvalue/load_nullvalue_static", 466 "ut/isa/isa_static/load_string/load_string_static", 467 "ut/isa/isa_static/equals/equals_static", 468 "ut/isa/isa_static/get_opcode/get_opcode_static", 469 "ut/isa/isa_static/is_instance/is_instance_static", 470 "ut/isa/isa_static/is_nullvalue/is_nullvalue_static", 471 "ut/isa/isa_static/create_if/create_if_static", 472 "ut/isa/isa_static/objects/objects", 473 "ut/isa/isa_static/throw/throw_static", 474 "ut/isa/isa_static/classes/classes_api", 475 "ut/isa/isa_static/return/return_static", 476 "ut/isa/isa_static/create_nullptr/create_nullptr_static", 477 478 "ut/ir_core/catchphi/catchphi_static", 479 "ut/ir_core/graph/graph_static", 480 "ut/ir_core/inst_manipulation/inst_manipulation_static", 481 "ut/ir_core/basic_blocks/basic_blocks_static", 482 "ut/ir_core/graph_basic_block/graph_basic_block", 483 "ut/ir_core/create_constant/create_constant_static", 484 "ut/ir_core/string/string_static", 485 "ut/ir_core/method/method_static", 486 "ut/ir_core/inst_inputs/inst_inputs_static", 487 "ut/ir_core/types_api/get_type_static", 488 "ut/ir_core/get_constant_value/get_constant_value_static", 489 "ut/ir_core/phi/phi_static", 490 "ut/ir_core/loops/loop_static", 491 "ut/ir_core/insert_try_catch/insert_try_catch_static", 492 "ut/ir_core/graph_verifier/graph_verifier", 493 "ut/extensions/arkts/modify_api/modules/modules_static_modify", 494 495 "internal/implementation_api/abc_static", 496 "internal/mem_manager/abc_static_1", 497 "internal/mem_manager/abc_static_2", 498 499 "wrong_mode_tests/mode_test_static", 500 501 "scenarios/add_log/add_log_static", 502 "scenarios/parameter_check/parameter_check_static", 503 "scenarios/replace_callsite/replace_callsite_static", 504 "scenarios/api_scanner/static/api_scanner_static", 505 "scenarios/static_branch_elimination/static_branch_elimination", 506] 507test_ets_files += clean_scenario_ets_files 508 509module_output_path = "arkcompiler/runtime_core/libabckit" 510 511template("gen_merge_abc") { 512 merge_datas = invoker.merge_datas 513 514 merge_file_info = merge_datas[0] 515 anno_test_abc = 516 "$target_out_dir/${merge_file_info[0]}/${merge_file_info[1]}.abc" 517 anno_merge_file = 518 "$target_out_dir/${merge_file_info[0]}/${merge_file_info[1]}_merge.txt" 519 anno_path_prefix = rebase_path("$test_js_path") 520 anno_test_merge_path = rebase_path(anno_merge_file) 521 content = "" 522 foreach(data, merge_datas) { 523 if (defined(invoker.is_ohmurl) && invoker.is_ohmurl == true) { 524 item = "$anno_path_prefix/${data[0]}/${data[1]}.ts;&${data[1]}&;esm;${data[1]}.ts;entry;false;ets" 525 } else { 526 item = "$anno_path_prefix/${data[0]}/${data[1]}.ts;${data[1]};esm;${data[1]}.ts;entry;false;ets" 527 } 528 if (content == "") { 529 content = "${content}echo '$item' > $anno_test_merge_path ; " 530 } else { 531 content = "${content}echo '$item' >> $anno_test_merge_path ; " 532 } 533 } 534 action("${target_name}_gen_anno_merge_file") { 535 script = "/usr/bin/sh" 536 args = [ 537 "-c", 538 "$content", 539 ] 540 outputs = [ anno_merge_file ] 541 } 542 543 es2abc_gen_abc("${target_name}") { 544 extra_visibility = [ ":*" ] 545 extra_dependencies = [ ":${target_name}_gen_anno_merge_file" ] 546 src_js = "@" + anno_test_merge_path 547 dst_file = rebase_path(anno_test_abc) 548 extra_args = [ 549 "--module", 550 "--merge-abc", 551 "--enable-annotations", 552 ] 553 extension = "ts" 554 in_puts = [ anno_merge_file ] 555 out_puts = [ anno_test_abc ] 556 } 557} 558 559gen_merge_abc("gen_anno_abc") { 560 merge_datas = [ 561 [ 562 "ut/extensions/arkts/modify_api/annotations", 563 "annotations_dynamic", 564 ], 565 [ 566 "ut/extensions/arkts/modify_api/annotations", 567 "annotations_imports", 568 ], 569 ] 570} 571 572gen_merge_abc("gen_router_table_abc") { 573 merge_datas = [ 574 [ 575 "regression/issue_IC78XV/c_api/router_table_ohmurl", 576 "router_table", 577 ], 578 [ 579 "regression/issue_IC78XV/c_api/router_table_ohmurl", 580 "modules/IRouterHandler", 581 ], 582 [ 583 "regression/issue_IC78XV/c_api/router_table_ohmurl", 584 "modules/routerMap", 585 ], 586 [ 587 "regression/issue_IC78XV/c_api/router_table_ohmurl", 588 "modules/xxxHandler", 589 ], 590 ] 591 is_ohmurl = true 592} 593 594gen_merge_abc("gen_replace_call_site_abc") { 595 merge_datas = [ 596 [ 597 "regression/issue_IC78XV/c_api/replace_call_site_ohmurl", 598 "replace_call_site", 599 ], 600 [ 601 "regression/issue_IC78XV/c_api/replace_call_site_ohmurl", 602 "modules/ApiControl", 603 ], 604 [ 605 "regression/issue_IC78XV/c_api/replace_call_site_ohmurl", 606 "modules/layout", 607 ], 608 ] 609 is_ohmurl = true 610} 611 612foreach(file, test_js_files) { 613 test_js = "${test_js_path}${file}.js" 614 test_merge_file = "$target_out_dir/${file}_merge.txt" 615 test_abc = "$target_out_dir/${file}.abc" 616 617 create_merge_file("${file}_merge") { 618 input_file = "$test_js" 619 output_file = "$test_merge_file" 620 source_lang = "js" 621 } 622 es2abc_gen_abc("gen_${file}_abc") { 623 # Only targets in this file can depend on this. 624 extra_visibility = [ ":*" ] 625 extra_dependencies = [ ":${file}_merge" ] 626 src_js = "@" + rebase_path(test_merge_file) 627 dst_file = rebase_path(test_abc) 628 extra_args = [ 629 "--module", 630 "--merge-abc", 631 ] 632 633 in_puts = [ test_js ] 634 out_puts = [ test_abc ] 635 } 636} 637 638foreach(file, test_js_from_ets_files) { 639 test_js = "${test_js_path}${file}.js" 640 test_merge_file = "$target_out_dir/${file}_merge.txt" 641 test_abc = "$target_out_dir/${file}.abc" 642 643 create_merge_file("${file}_merge") { 644 input_file = "$test_js" 645 output_file = "$test_merge_file" 646 source_lang = "ets" 647 } 648 es2abc_gen_abc("gen_${file}_abc") { 649 # Only targets in this file can depend on this. 650 extra_visibility = [ ":*" ] 651 extra_dependencies = [ ":${file}_merge" ] 652 src_js = "@" + rebase_path(test_merge_file) 653 dst_file = rebase_path(test_abc) 654 extra_args = [ 655 "--module", 656 "--merge-abc", 657 ] 658 659 in_puts = [ test_js ] 660 out_puts = [ test_abc ] 661 } 662} 663 664foreach(file, test_ts_files) { 665 test_ts = "${test_js_path}${file}.ts" 666 test_merge_file = "$target_out_dir/${file}_merge.txt" 667 test_abc = "$target_out_dir/${file}.abc" 668 669 create_merge_file("${file}_merge") { 670 input_file = "$test_ts" 671 output_file = "$test_merge_file" 672 source_lang = "ets" 673 } 674 es2abc_gen_abc("gen_${file}_abc") { 675 # Only targets in this file can depend on this. 676 extra_visibility = [ ":*" ] 677 extra_dependencies = [ ":${file}_merge" ] 678 src_js = "@" + rebase_path(test_merge_file) 679 dst_file = rebase_path(test_abc) 680 extra_args = [ 681 "--module", 682 "--merge-abc", 683 "--enable-annotations", 684 ] 685 686 extension = "ts" 687 in_puts = [ test_ts ] 688 out_puts = [ test_abc ] 689 } 690} 691 692template("ark_link_gen") { 693 assert(defined(invoker.src_abc_list), "src_abc_list is required!") 694 assert(defined(invoker.dst_abc), "dst_abc is required!") 695 696 args = [ 697 "--strip-unused", 698 "--output", 699 rebase_path(invoker.dst_abc), 700 "--", 701 ] 702 foreach(src, invoker.src_abc_list) { 703 args += [ rebase_path(src) ] 704 } 705 706 action("$target_name") { 707 testonly = true 708 script = "$root_out_dir/arkcompiler/runtime_core/ark_link" 709 inputs = invoker.src_abc_list 710 outputs = [] 711 if (defined(invoker.dst_abc)) { 712 # add '.fake' suffix to make sure not conflict with action 'ets2abc_gen_abc' 713 outputs += [ invoker.dst_abc + ".fake" ] 714 } 715 deps = [ "$ark_root_static/static_linker:ark_link(${host_toolchain})" ] 716 if (defined(invoker.extra_dependencies)) { 717 deps += invoker.extra_dependencies 718 } 719 } 720} 721 722foreach(file, test_ets_files) { 723 ets2abc_gen_abc("gen_${file}_abc") { 724 test_ets = "${test_js_path}${file}.ets" 725 test_abc = "$target_out_dir/${file}.abc" 726 727 # Only targets in this file can depend on this. 728 extra_visibility = [ ":*" ] 729 src_ets = rebase_path(test_ets) 730 dst_file = rebase_path(test_abc) 731 732 in_puts = [ test_ets ] 733 out_puts = [ test_abc ] 734 } 735 736 ark_link_gen("ark_link_${file}_abc") { 737 src_abc_list = [ "$target_out_dir/${file}.abc" ] 738 dst_abc = "$target_out_dir/${file}.abc" 739 740 extra_dependencies = [ 741 ":abckit_gtests_action", 742 ":gen_${file}_abc", 743 ] 744 } 745} 746 747template("libabckit_host_unittest_action") { 748 _target_name_ = "${target_name}" 749 750 # unittest for phone running 751 ohos_unittest(_target_name_) { 752 forward_variables_from(invoker, "*") 753 } 754 755 _module_out_path_ = invoker.module_out_path 756 757 # unittest for host running 758 action("${_target_name_}_action") { 759 testonly = true 760 761 defines = [ "HOST_UT" ] 762 763 _host_test_target_ = ":${_target_name_}(${host_toolchain})" 764 _root_out_dir_ = get_label_info(_host_test_target_, "root_out_dir") 765 766 deps = [ _host_test_target_ ] 767 768 script = "$abckit_root/scripts/run_script.sh" 769 770 args = [ 771 "--script=" + rebase_path(_root_out_dir_) + 772 "/tests/unittest/${_module_out_path_}/${_target_name_}", 773 "--ret-code=0", 774 "--env=LD_LIBRARY_PATH=" + rebase_path(_root_out_dir_) + 775 "/arkcompiler/runtime_core:" + rebase_path(_root_out_dir_) + 776 "/arkcompiler/ets_runtime:" + rebase_path(_root_out_dir_) + 777 "/thirdparty/icu:" + rebase_path(_root_out_dir_) + 778 "/thirdparty/zlib:" + rebase_path(_root_out_dir_) + 779 "/thirdparty/libuv:" + rebase_path(_root_out_dir_) + "/arkui/napi:" + 780 rebase_path(_root_out_dir_) + "/thirdparty/bounds_checking_function:", 781 ] 782 783 if (abckit_with_sanitizers) { 784 args += [ "--env=ASAN_OPTIONS=verify_asan_link_order=0" ] 785 args += 786 [ "--env=LSAN_OPTIONS=suppressions=" + rebase_path("$abckit_root") + 787 "/tests/sanitizers/ignored_leaks.supp" ] 788 } 789 790 print(script, string_join(" ", args)) 791 792 inputs = [ 793 "$_root_out_dir_/tests/unittest/${_module_out_path_}/${_target_name_}", 794 ] 795 outputs = [ "$target_out_dir/${_target_name_}/" ] 796 } 797} 798 799libabckit_host_unittest_action("abckit_mock_gtests") { 800 module_out_path = module_output_path 801 802 sources = [ 803 # mock infrastructure 804 "mock/abckit_api_mock.cpp", 805 "mock/abckit_values_mock.cpp", 806 "mock/arkts_inspect_api_impl_mock.cpp", 807 "mock/arkts_modify_api_impl_mock.cpp", 808 "mock/check_mock.cpp", 809 "mock/graph_api_impl_mock.cpp", 810 "mock/isa_api_dynamic_impl_mock.cpp", 811 "mock/isa_api_static_impl_mock.cpp", 812 "mock/js_inspect_api_impl_mock.cpp", 813 "mock/js_modify_api_impl_mock.cpp", 814 "mock/metadata_inspect_impl_mock.cpp", 815 "mock/metadata_modify_impl_mock.cpp", 816 817 #mock tests 818 "mock/tests/arkts/cpp_api_annotation.cpp", 819 "mock/tests/arkts/cpp_api_annotation_element.cpp", 820 "mock/tests/arkts/cpp_api_annotation_interface.cpp", 821 "mock/tests/arkts/cpp_api_class.cpp", 822 "mock/tests/arkts/cpp_api_function.cpp", 823 "mock/tests/arkts/cpp_api_module.cpp", 824 "mock/tests/arkts/cpp_api_namespace.cpp", 825 "mock/tests/core/cpp_api_annotation.cpp", 826 "mock/tests/core/cpp_api_annotation_element.cpp", 827 "mock/tests/core/cpp_api_annotation_interface.cpp", 828 "mock/tests/core/cpp_api_annotation_interface_field.cpp", 829 "mock/tests/core/cpp_api_class.cpp", 830 "mock/tests/core/cpp_api_export_descriptor.cpp", 831 "mock/tests/core/cpp_api_function.cpp", 832 "mock/tests/core/cpp_api_import_descriptor.cpp", 833 "mock/tests/core/cpp_api_module.cpp", 834 "mock/tests/core/cpp_api_namespace.cpp", 835 "mock/tests/cpp_api_file.cpp", 836 "mock/tests/cpp_api_literal_array.cpp", 837 "mock/tests/cpp_mock_bb.cpp", 838 "mock/tests/cpp_mock_dyn_isa_0.cpp", 839 "mock/tests/cpp_mock_dyn_isa_1.cpp", 840 "mock/tests/cpp_mock_file.cpp", 841 "mock/tests/cpp_mock_graph.cpp", 842 "mock/tests/cpp_mock_instruction.cpp", 843 "mock/tests/cpp_mock_literal.cpp", 844 "mock/tests/cpp_mock_type.cpp", 845 "mock/tests/cpp_mock_value.cpp", 846 ] 847 848 include_dirs = [ 849 "$abckit_root", 850 "$abckit_root/src", 851 ] 852 853 configs = [ "$abckit_root:abckit_mock_config" ] 854 855 deps = [ "$abckit_root/src:libabckit_mock" ] 856} 857 858libabckit_host_unittest_action("abckit_gtests") { 859 module_out_path = module_output_path 860 861 sources = abckit_gtests_sources 862 863 include_dirs = [ 864 "$ark_root_dynamic", 865 "$abckit_root", 866 "$abckit_root/include", 867 "$abckit_root/src", 868 "$abckit_root/tests", 869 ] 870 871 configs = [ "$abckit_root:abckit_config" ] 872 873 deps = [ 874 ":abckit_ets_vm_helpers", 875 ":abckit_js_vm_helpers", 876 "$abckit_root/src:libabckit", 877 ] 878 879 foreach(file, test_js_files) { 880 deps += [ ":gen_${file}_abc" ] 881 } 882 883 foreach(file, test_js_from_ets_files) { 884 deps += [ ":gen_${file}_abc" ] 885 } 886 887 foreach(file, test_ts_files) { 888 deps += [ ":gen_${file}_abc" ] 889 } 890 891 foreach(file, test_ets_files) { 892 deps += [ ":gen_${file}_abc" ] 893 } 894 895 deps += [ 896 ":gen_anno_abc", 897 ":gen_replace_call_site_abc", 898 ":gen_router_table_abc", 899 ] 900 901 if (is_ohos && is_standard_system) { 902 test_abc_dir = "/data/test" 903 } else { 904 test_abc_dir = rebase_path(target_out_dir) 905 } 906 907 test_js_dir = rebase_path(test_js_path) 908 909 defines = [ 910 "ABCKIT_ABC_DIR=\"${test_abc_dir}/\"", 911 "ABCKIT_TEST_DIR=\"${test_js_dir}\"", 912 ] 913} 914 915libabckit_host_unittest_action("arklink_strip_unused_code_gtests") { 916 module_out_path = module_output_path 917 918 sources = abckit_gtests_sources 919 920 include_dirs = [ 921 "$ark_root_dynamic", 922 "$abckit_root", 923 "$abckit_root/include", 924 "$abckit_root/src", 925 "$abckit_root/tests", 926 ] 927 928 configs = [ "$abckit_root:abckit_config" ] 929 930 deps = [ 931 ":abckit_ets_vm_helpers", 932 ":abckit_gtests_action", 933 ":abckit_js_vm_helpers", 934 "$abckit_root/src:libabckit", 935 ] 936 937 foreach(file, test_js_files) { 938 deps += [ ":gen_${file}_abc" ] 939 } 940 941 foreach(file, test_js_from_ets_files) { 942 deps += [ ":gen_${file}_abc" ] 943 } 944 945 foreach(file, test_ts_files) { 946 deps += [ ":gen_${file}_abc" ] 947 } 948 949 foreach(file, test_ets_files) { 950 deps += [ ":ark_link_${file}_abc" ] 951 } 952 953 if (is_ohos && is_standard_system) { 954 test_abc_dir = "/data/test" 955 } else { 956 test_abc_dir = rebase_path(target_out_dir) 957 } 958 959 test_js_dir = rebase_path(test_js_path) 960 961 defines = [ 962 "ABCKIT_ABC_DIR=\"${test_abc_dir}/\"", 963 "ABCKIT_TEST_DIR=\"${test_js_dir}\"", 964 ] 965} 966 967libabckit_host_unittest_action("abckit_clean_scenarios") { 968 module_out_path = module_output_path 969 970 sources = [ 971 "clean_scenarios/c_api/dynamic/add_log/add_log_dynamic_test.cpp", 972 "clean_scenarios/c_api/dynamic/add_try_catch/add_try_catch_test.cpp", 973 "clean_scenarios/c_api/dynamic/api_scanner/api_scanner_test.cpp", 974 "clean_scenarios/c_api/dynamic/branch_eliminator/branch_eliminator_test.cpp", 975 "clean_scenarios/c_api/dynamic/parameter_check/parameter_check_test.cpp", 976 "clean_scenarios/c_api/dynamic/replace_call_site/replace_call_site_test.cpp", 977 "clean_scenarios/c_api/dynamic/router_table/router_table_test.cpp", 978 "clean_scenarios/c_api/dynamic/scan_subclasses/scan_subclasses_test.cpp", 979 "clean_scenarios/c_api/static/add_log/add_log_static_test.cpp", 980 "clean_scenarios/cpp_api/dynamic/add_log/add_log_dynamic_test.cpp", 981 "clean_scenarios/cpp_api/dynamic/add_try_catch/add_try_catch.cpp", 982 "clean_scenarios/cpp_api/dynamic/api_scanner/api_scanner_test.cpp", 983 "clean_scenarios/cpp_api/dynamic/branch_eliminator/branch_eliminator_test.cpp", 984 "clean_scenarios/cpp_api/dynamic/parameter_check/parameter_check_test.cpp", 985 "clean_scenarios/cpp_api/dynamic/replace_call_site/replace_call_site_test.cpp", 986 "clean_scenarios/cpp_api/dynamic/router_table/router_table_test.cpp", 987 "clean_scenarios/cpp_api/dynamic/scan_subclasses/scan_subclasses_test.cpp", 988 "helpers/helpers.cpp", 989 "helpers/helpers_mode.cpp", 990 "helpers/visit_helper/visit_helper.cpp", 991 ] 992 993 include_dirs = [ 994 "$ark_root_dynamic", 995 "$abckit_root", 996 "$abckit_root/include", 997 "$abckit_root/src", 998 "$abckit_root/tests", 999 ] 1000 1001 configs = [ "$abckit_root:abckit_config" ] 1002 1003 deps = [ 1004 ":abckit_ets_vm_helpers", 1005 ":abckit_js_vm_helpers", 1006 "$abckit_root/src:libabckit", 1007 ] 1008 1009 foreach(file, clean_scenario_js_from_ets_files) { 1010 deps += [ ":gen_${file}_abc" ] 1011 } 1012 1013 foreach(file, clean_scenario_ts_files) { 1014 deps += [ ":gen_${file}_abc" ] 1015 } 1016 1017 foreach(file, clean_scenario_ets_files) { 1018 deps += [ ":gen_${file}_abc" ] 1019 } 1020 1021 if (is_ohos && is_standard_system) { 1022 test_abc_dir = "/data/test" 1023 } else { 1024 test_abc_dir = rebase_path(target_out_dir) 1025 } 1026 1027 test_js_dir = rebase_path(test_js_path) 1028 1029 defines = [ 1030 "ABCKIT_ABC_DIR=\"${test_abc_dir}/\"", 1031 "ABCKIT_TEST_DIR=\"${test_js_dir}\"", 1032 ] 1033} 1034 1035group("abckit_stress_tests_package") { 1036 deps = [ 1037 "$abckit_root/abckit:abckit(${host_toolchain})", 1038 "$abckit_root/tests/stress/abckit_plugin:abckit_stress_plugin(${host_toolchain})", 1039 "$ark_root_static/verification/verifier:verifier_bin(${host_toolchain})", 1040 ] 1041} 1042 1043group("abckit_stress_tests_apps") { 1044 testonly = true 1045 if (abckit_enable) { 1046 deps = [ 1047 "apps:abckit_test_apps_build", 1048 "apps:abckit_test_apps_run_stress", 1049 ] 1050 } 1051} 1052 1053ohos_source_set("abckit_js_vm_helpers") { 1054 sources = [ "helpers/helpers_js_runtime.cpp" ] 1055 1056 deps = [ 1057 "$ark_root_dynamic/assembler:libarkassembler", 1058 "$js_root:libark_jsruntime_test_set", 1059 ] 1060 1061 include_dirs = [ 1062 "$ark_root_dynamic", 1063 "$abckit_root/src", 1064 ] 1065 1066 output_extension = "so" 1067 part_name = "runtime_core" 1068 subsystem_name = "arkcompiler" 1069} 1070 1071ohos_source_set("abckit_ets_vm_helpers") { 1072 sources = [ "helpers/helpers_ets_runtime.cpp" ] 1073 1074 include_dirs = [ 1075 "$ark_root_dynamic", 1076 "$abckit_root/src", 1077 ] 1078 1079 etsstdlib = 1080 rebase_path(get_label_info("$ark_root_static/plugins/ets:etsstdlib", 1081 "target_gen_dir")) + "/etsstdlib.abc" 1082 defines = [ "ABCKIT_ETS_STD_LIB=\"${etsstdlib}\"" ] 1083 1084 deps = [ 1085 "$ark_root_static/plugins/ets:etsstdlib", 1086 "$ark_root_static/runtime:libarkruntime", 1087 ] 1088 1089 output_extension = "so" 1090 part_name = "runtime_core" 1091 subsystem_name = "arkcompiler" 1092} 1093