# Copyright (c) 2021 Huawei Device Co., Ltd. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import("//arkcompiler/ets_runtime/js_runtime_config.gni") import("//arkcompiler/ets_runtime/test/test_helper.gni") test_js_path = "//arkcompiler/ets_runtime/ecmascript/napi/test/js/" test_ts_path = "//arkcompiler/ets_runtime/ecmascript/napi/test/ts/" test_js_files = [ "termination_1", "termination_2", "termination_3", "termination", ] test_ts_files = [ "module_export" ] foreach(file, test_ts_files) { es2abc_gen_abc("gen_${file}_abc") { test_ts = "${test_ts_path}${file}.ts" test_abc = "$target_out_dir/${file}.abc" # Only targets in this file can depend on this. extra_visibility = [ ":*" ] src_js = rebase_path(test_ts) dst_file = rebase_path(test_abc) extra_args = [] extra_args += [ "--module" ] extra_args += [ "--merge-abc" ] in_puts = [ test_ts ] out_puts = [ test_abc ] } } foreach(file, test_js_files) { es2abc_gen_abc("gen_${file}_abc") { test_js = "${test_js_path}${file}.js" test_abc = "$target_out_dir/${file}.abc" # Only targets in this file can depend on this. extra_visibility = [ ":*" ] src_js = rebase_path(test_js) dst_file = rebase_path(test_abc) extra_args = [] extra_args += [ "--module" ] extra_args += [ "--merge-abc" ] in_puts = [ test_js ] out_puts = [ test_abc ] } } module_output_path = "ets_runtime" host_unittest_action("Jsnapi_001_Test") { module_out_path = module_output_path sources = [ # test file "dfx_jsnapi_tests.cpp", ] configs = [ "../../../:ecma_test_config" ] deps = [ "$js_root:libark_jsruntime_test" ] foreach(file, test_js_files) { deps += [ ":gen_${file}_abc" ] } foreach(file, test_ts_files) { deps += [ ":gen_${file}_abc" ] } if (is_ohos && is_standard_system) { test_abc_dir = "/data/test/" } else { test_abc_dir = rebase_path(target_out_dir) } defines = ["ABC_PATH=\"${test_abc_dir}/\""] # hiviewdfx libraries external_deps = hiviewdfx_ext_deps deps += hiviewdfx_deps external_deps += [ "icu:shared_icui18n", "icu:shared_icuuc", "zlib:libz", ] } host_unittest_action("Jsnapi_002_Test") { module_out_path = module_output_path sources = [ # test file "jsnapi_first_tests.cpp", ] configs = [ "../../../:ecma_test_config" ] deps = [ "$js_root:libark_jsruntime_test" ] foreach(file, test_js_files) { deps += [ ":gen_${file}_abc" ] } # hiviewdfx libraries external_deps = hiviewdfx_ext_deps external_deps += [ "icu:shared_icui18n", "icu:shared_icuuc", "zlib:libz", ] deps += hiviewdfx_deps } host_unittest_action("Jsnapi_003_Test") { module_out_path = module_output_path sources = [ # test file "jsnapi_second_tests.cpp", ] configs = [ "../../../:ecma_test_config" ] deps = [ "$js_root:libark_jsruntime_test" ] foreach(file, test_js_files) { deps += [ ":gen_${file}_abc" ] } # hiviewdfx libraries external_deps = hiviewdfx_ext_deps external_deps += [ "icu:shared_icui18n", "icu:shared_icuuc", "zlib:libz", ] deps += hiviewdfx_deps } host_unittest_action("Jsnapi_004_Test") { module_out_path = module_output_path sources = [ # test file "jsnapi_third_tests.cpp", ] configs = [ "../../../:ecma_test_config" ] deps = [ "$js_root:libark_jsruntime_test" ] foreach(file, test_js_files) { deps += [ ":gen_${file}_abc" ] } # hiviewdfx libraries external_deps = hiviewdfx_ext_deps external_deps += [ "icu:shared_icui18n", "icu:shared_icuuc", "zlib:libz", ] deps += hiviewdfx_deps } host_unittest_action("Jsnapi_Sendable_Test") { module_out_path = module_output_path sources = [ "jsnapi_sendable_tests.cpp" ] configs = [ "../../../:ecma_test_config" ] deps = [ "$js_root:libark_jsruntime_test" ] foreach(file, test_js_files) { deps += [ ":gen_${file}_abc" ] } external_deps = hiviewdfx_ext_deps external_deps += [ "icu:shared_icui18n", "icu:shared_icuuc", ] deps += hiviewdfx_deps } host_unittest_action("FFIWorkLoadTest") { module_out_path = module_output_path sources = [ # test file "ffi_workload.cpp", ] configs = [ "$js_root:ecma_test_config" ] deps = [ "$js_root:libark_jsruntime_test" ] # hiviewdfx libraries external_deps = hiviewdfx_ext_deps external_deps += [ "icu:shared_icui18n", "icu:shared_icuuc", ] deps += hiviewdfx_deps } host_unittest_action("JsnapiSample") { module_out_path = module_output_path sources = [ "jsnapi_sample.cpp" ] configs = [ "$js_root:ecma_test_config", ] if (ark_standalone_build || is_arkui_x) { configs += [ "$ark_root/assembler:arkassembler_public_config", ] } deps = [ "$js_root:libark_jsruntime_test", ] # hiviewdfx libraries external_deps = hiviewdfx_ext_deps external_deps += [ "icu:shared_icui18n", "icu:shared_icuuc", "runtime_core:libarkassembler_static", ] if (!ark_standalone_build && !is_arkui_x) { external_deps += [ "runtime_core:arkassembler_public_headers", ] } deps += hiviewdfx_deps } group("unittest") { testonly = true deps = [ ":JsnapiSample", ":Jsnapi_001_Test", ":Jsnapi_002_Test", ":Jsnapi_003_Test", ":Jsnapi_004_Test", ":Jsnapi_Sendable_Test", ] } group("host_unittest") { testonly = true deps = [ ":Jsnapi_001_TestAction", ":Jsnapi_002_TestAction", ":Jsnapi_003_TestAction", ":Jsnapi_004_TestAction", ":Jsnapi_Sendable_TestAction", ] if (is_mac) { deps -= [ ":Jsnapi_001_TestAction", ":Jsnapi_002_TestAction", ":Jsnapi_003_TestAction", ":Jsnapi_004_TestAction", ":Jsnapi_Sendable_TestAction", ] } } group("workload_test") { testonly = true deps = [ ":FFIWorkLoadTest" ] }