14514f5e3Sopenharmony_ci# Copyright (c) 2022 Huawei Device Co., Ltd. 24514f5e3Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 34514f5e3Sopenharmony_ci# you may not use this file except in compliance with the License. 44514f5e3Sopenharmony_ci# You may obtain a copy of the License at 54514f5e3Sopenharmony_ci# 64514f5e3Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 74514f5e3Sopenharmony_ci# 84514f5e3Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 94514f5e3Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 104514f5e3Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 114514f5e3Sopenharmony_ci# See the License for the specific language governing permissions and 124514f5e3Sopenharmony_ci# limitations under the License. 134514f5e3Sopenharmony_ci 144514f5e3Sopenharmony_ciimport("//arkcompiler/ets_runtime/js_runtime_config.gni") 154514f5e3Sopenharmony_ciimport("//arkcompiler/ets_runtime/test/test_helper.gni") 164514f5e3Sopenharmony_ci 174514f5e3Sopenharmony_citest_js_path = 184514f5e3Sopenharmony_ci "//arkcompiler/ets_runtime/ecmascript/debugger/tests/single_file/" 194514f5e3Sopenharmony_ci 204514f5e3Sopenharmony_citest_js_files = [ 214514f5e3Sopenharmony_ci "base/index", 224514f5e3Sopenharmony_ci "patch/index", 234514f5e3Sopenharmony_ci] 244514f5e3Sopenharmony_ci 254514f5e3Sopenharmony_cimodule_output_path = "arkcompiler/ets_runtime" 264514f5e3Sopenharmony_ci 274514f5e3Sopenharmony_ciforeach(file, test_js_files) { 284514f5e3Sopenharmony_ci es2abc_gen_abc("gen_${file}_abc") { 294514f5e3Sopenharmony_ci test_js = "${test_js_path}${file}.js" 304514f5e3Sopenharmony_ci test_abc = "$target_out_dir/single_file/${file}.abc" 314514f5e3Sopenharmony_ci 324514f5e3Sopenharmony_ci # Only targets in this file can depend on this. 334514f5e3Sopenharmony_ci extra_visibility = [ ":*" ] 344514f5e3Sopenharmony_ci src_js = rebase_path(test_js) 354514f5e3Sopenharmony_ci dst_file = rebase_path(test_abc) 364514f5e3Sopenharmony_ci extra_args = [ "--module" ] 374514f5e3Sopenharmony_ci extra_args += [ "--merge-abc" ] 384514f5e3Sopenharmony_ci 394514f5e3Sopenharmony_ci in_puts = [ test_js ] 404514f5e3Sopenharmony_ci out_puts = [ test_abc ] 414514f5e3Sopenharmony_ci } 424514f5e3Sopenharmony_ci} 434514f5e3Sopenharmony_ci 444514f5e3Sopenharmony_cihost_unittest_action("RuntimeDebuggerTest") { 454514f5e3Sopenharmony_ci module_out_path = module_output_path 464514f5e3Sopenharmony_ci 474514f5e3Sopenharmony_ci sources = [ 484514f5e3Sopenharmony_ci # test file 494514f5e3Sopenharmony_ci "dropframe_manager_test.cpp", 504514f5e3Sopenharmony_ci "hot_reload_manager_test.cpp", 514514f5e3Sopenharmony_ci "js_debugger_test.cpp", 524514f5e3Sopenharmony_ci ] 534514f5e3Sopenharmony_ci 544514f5e3Sopenharmony_ci configs = [ 554514f5e3Sopenharmony_ci "//arkcompiler/ets_runtime:ecma_test_config", 564514f5e3Sopenharmony_ci "$ark_root/assembler:arkassembler_public_config", 574514f5e3Sopenharmony_ci "$ark_root/libpandafile:arkfile_public_config", 584514f5e3Sopenharmony_ci ] 594514f5e3Sopenharmony_ci 604514f5e3Sopenharmony_ci deps = [ 614514f5e3Sopenharmony_ci "//arkcompiler/ets_runtime:libark_jsruntime_test", 624514f5e3Sopenharmony_ci "//arkcompiler/runtime_core/assembler:libarkassembler_static", 634514f5e3Sopenharmony_ci sdk_libc_secshared_dep, 644514f5e3Sopenharmony_ci ] 654514f5e3Sopenharmony_ci 664514f5e3Sopenharmony_ci foreach(file, test_js_files) { 674514f5e3Sopenharmony_ci deps += [ ":gen_${file}_abc" ] 684514f5e3Sopenharmony_ci } 694514f5e3Sopenharmony_ci 704514f5e3Sopenharmony_ci if (is_ohos && is_standard_system) { 714514f5e3Sopenharmony_ci test_abc_dir = "/data/test" 724514f5e3Sopenharmony_ci } else { 734514f5e3Sopenharmony_ci test_abc_dir = rebase_path(target_out_dir) 744514f5e3Sopenharmony_ci } 754514f5e3Sopenharmony_ci 764514f5e3Sopenharmony_ci test_js_dir = rebase_path(test_js_path) 774514f5e3Sopenharmony_ci 784514f5e3Sopenharmony_ci defines = [ 794514f5e3Sopenharmony_ci "DEBUGGER_ABC_DIR=\"${test_abc_dir}/\"", 804514f5e3Sopenharmony_ci "DEBUGGER_JS_DIR=\"${test_js_dir}\"", 814514f5e3Sopenharmony_ci ] 824514f5e3Sopenharmony_ci 834514f5e3Sopenharmony_ci # hiviewdfx libraries 844514f5e3Sopenharmony_ci external_deps = hiviewdfx_ext_deps 854514f5e3Sopenharmony_ci deps += hiviewdfx_deps 864514f5e3Sopenharmony_ci} 874514f5e3Sopenharmony_ci 884514f5e3Sopenharmony_cigroup("unittest") { 894514f5e3Sopenharmony_ci testonly = true 904514f5e3Sopenharmony_ci 914514f5e3Sopenharmony_ci # deps file 924514f5e3Sopenharmony_ci deps = [ ":RuntimeDebuggerTest" ] 934514f5e3Sopenharmony_ci} 944514f5e3Sopenharmony_ci 954514f5e3Sopenharmony_cigroup("host_unittest") { 964514f5e3Sopenharmony_ci testonly = true 974514f5e3Sopenharmony_ci 984514f5e3Sopenharmony_ci # deps file 994514f5e3Sopenharmony_ci deps = [ ":RuntimeDebuggerTestAction" ] 1004514f5e3Sopenharmony_ci} 101