14514f5e3Sopenharmony_ci# Copyright (c) 2024 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 = "//arkcompiler/ets_runtime/ecmascript/dfx/cpu_profiler/tests/js/" 184514f5e3Sopenharmony_ci 194514f5e3Sopenharmony_citest_js_files = [ "cpuprofiler_1" ] 204514f5e3Sopenharmony_ci 214514f5e3Sopenharmony_ciforeach(file, test_js_files) { 224514f5e3Sopenharmony_ci es2abc_gen_abc("gen_${file}_abc") { 234514f5e3Sopenharmony_ci test_js = "${test_js_path}${file}.js" 244514f5e3Sopenharmony_ci test_abc = "$target_out_dir/${file}.abc" 254514f5e3Sopenharmony_ci 264514f5e3Sopenharmony_ci # Only targets in this file can depend on this. 274514f5e3Sopenharmony_ci extra_visibility = [ ":*" ] 284514f5e3Sopenharmony_ci src_js = rebase_path(test_js) 294514f5e3Sopenharmony_ci dst_file = rebase_path(test_abc) 304514f5e3Sopenharmony_ci extra_args = [] 314514f5e3Sopenharmony_ci extra_args += [ "--module" ] 324514f5e3Sopenharmony_ci extra_args += [ "--merge-abc" ] 334514f5e3Sopenharmony_ci in_puts = [ test_js ] 344514f5e3Sopenharmony_ci out_puts = [ test_abc ] 354514f5e3Sopenharmony_ci } 364514f5e3Sopenharmony_ci} 374514f5e3Sopenharmony_ci 384514f5e3Sopenharmony_cimodule_output_path = "arkcompiler/ets_runtime" 394514f5e3Sopenharmony_ci 404514f5e3Sopenharmony_cihost_unittest_action("CpuProfilerTest") { 414514f5e3Sopenharmony_ci module_out_path = module_output_path 424514f5e3Sopenharmony_ci 434514f5e3Sopenharmony_ci sources = [ 444514f5e3Sopenharmony_ci # test file 454514f5e3Sopenharmony_ci "cpu_profiler_test.cpp", 464514f5e3Sopenharmony_ci "samples_record_test.cpp", 474514f5e3Sopenharmony_ci ] 484514f5e3Sopenharmony_ci 494514f5e3Sopenharmony_ci configs = [ "../../../../:ecma_test_config" ] 504514f5e3Sopenharmony_ci 514514f5e3Sopenharmony_ci deps = [ 524514f5e3Sopenharmony_ci "$ark_third_party_root/icu/icu4c:shared_icui18n", 534514f5e3Sopenharmony_ci "$ark_third_party_root/icu/icu4c:shared_icuuc", 544514f5e3Sopenharmony_ci "../../../../:libark_jsruntime_test", 554514f5e3Sopenharmony_ci ] 564514f5e3Sopenharmony_ci 574514f5e3Sopenharmony_ci foreach(file, test_js_files) { 584514f5e3Sopenharmony_ci deps += [ ":gen_${file}_abc" ] 594514f5e3Sopenharmony_ci } 604514f5e3Sopenharmony_ci 614514f5e3Sopenharmony_ci if (is_ohos && is_standard_system) { 624514f5e3Sopenharmony_ci test_abc_dir = "/data/test" 634514f5e3Sopenharmony_ci } else { 644514f5e3Sopenharmony_ci test_abc_dir = rebase_path(target_out_dir) 654514f5e3Sopenharmony_ci } 664514f5e3Sopenharmony_ci 674514f5e3Sopenharmony_ci test_js_dir = rebase_path(test_js_path) 684514f5e3Sopenharmony_ci 694514f5e3Sopenharmony_ci defines = [ 704514f5e3Sopenharmony_ci "DEBUGGER_ABC_DIR=\"${test_abc_dir}/\"", 714514f5e3Sopenharmony_ci "DEBUGGER_JS_DIR=\"${test_js_dir}\"", 724514f5e3Sopenharmony_ci ] 734514f5e3Sopenharmony_ci 744514f5e3Sopenharmony_ci # hiviewdfx libraries 754514f5e3Sopenharmony_ci external_deps = hiviewdfx_ext_deps 764514f5e3Sopenharmony_ci deps += hiviewdfx_deps 774514f5e3Sopenharmony_ci} 784514f5e3Sopenharmony_ci 794514f5e3Sopenharmony_cigroup("unittest") { 804514f5e3Sopenharmony_ci testonly = true 814514f5e3Sopenharmony_ci deps = [ ":CpuProfilerTest" ] 824514f5e3Sopenharmony_ci} 834514f5e3Sopenharmony_ci 844514f5e3Sopenharmony_cigroup("host_unittest") { 854514f5e3Sopenharmony_ci testonly = true 864514f5e3Sopenharmony_ci deps = [ ":CpuProfilerTestAction" ] 874514f5e3Sopenharmony_ci if (is_mac) { 884514f5e3Sopenharmony_ci deps -= [ ":CpuProfilerTestAction" ] 894514f5e3Sopenharmony_ci } 904514f5e3Sopenharmony_ci} 91