From 275a6ae4f71eac2d58065128827b1375ee534438 Mon Sep 17 00:00:00 2001 From: wengchangcheng Date: Mon, 27 Sep 2021 09:22:23 +0800 Subject: [PATCH] enable run ark unittest and use dynamic link Signed-off-by: wengchangcheng Change-Id: I6e8e5165b5a4087c6fba45ed4eb11d5c1a5e4000 --- BUILD.gn | 121 +++++-- ecmascript/builtins/tests/BUILD.gn | 161 ++++++++-- ecmascript/compiler/BUILD.gn | 35 +- ecmascript/compiler/tests/BUILD.gn | 6 +- ecmascript/hprof/tests/BUILD.gn | 14 +- ecmascript/napi/test/BUILD.gn | 7 +- ecmascript/regexp/tests/BUILD.gn | 14 +- ecmascript/snapshot/tests/BUILD.gn | 7 +- ecmascript/tests/BUILD.gn | 210 ++++++++++-- ecmascript/tooling/BUILD.gn | 83 +++-- ecmascript/tooling/interface/debugger_api.h | 2 +- ecmascript/tooling/interface/js_debugger.cpp | 12 +- ecmascript/tooling/interface/js_debugger.h | 22 +- ecmascript/tooling/test/BUILD.gn | 47 +-- ohos.build | 4 +- test/resource/js_runtime/ohos_test.xml | 316 +++++++++++++++++++ test/test_helper.gni | 21 +- 17 files changed, 895 insertions(+), 187 deletions(-) diff --git a/BUILD.gn b/BUILD.gn index fbbfe4760b..bea20a7536 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -95,40 +95,38 @@ config("ark_jsruntime_public_config") { ] } -ohos_static_library("libark_js_intl_static") { - sources = [ - "ecmascript/builtins/builtins_collator.cpp", - "ecmascript/builtins/builtins_date_time_format.cpp", - "ecmascript/builtins/builtins_intl.cpp", - "ecmascript/builtins/builtins_locale.cpp", - "ecmascript/builtins/builtins_number_format.cpp", - "ecmascript/builtins/builtins_plural_rules.cpp", - "ecmascript/builtins/builtins_relative_time_format.cpp", - "ecmascript/js_collator.cpp", - "ecmascript/js_date_time_format.cpp", - "ecmascript/js_locale.cpp", - "ecmascript/js_number_format.cpp", - "ecmascript/js_plural_rules.cpp", - "ecmascript/js_relative_time_format.cpp", - ] +intl_sources = [ + "ecmascript/builtins/builtins_collator.cpp", + "ecmascript/builtins/builtins_date_time_format.cpp", + "ecmascript/builtins/builtins_intl.cpp", + "ecmascript/builtins/builtins_locale.cpp", + "ecmascript/builtins/builtins_number_format.cpp", + "ecmascript/builtins/builtins_plural_rules.cpp", + "ecmascript/builtins/builtins_relative_time_format.cpp", + "ecmascript/js_collator.cpp", + "ecmascript/js_date_time_format.cpp", + "ecmascript/js_locale.cpp", + "ecmascript/js_number_format.cpp", + "ecmascript/js_plural_rules.cpp", + "ecmascript/js_relative_time_format.cpp", +] - configs = [ +source_set("libark_js_intl_static") { + sources = intl_sources + + public_configs = [ ":ark_jsruntime_public_config", ":ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ - ":libark_jsruntime_static", "$ark_root/libpandabase:libarkbase", "$ark_root/libpandafile:libarkfile", "//third_party/icu/icu4c:shared_icui18n", "//third_party/icu/icu4c:shared_icuuc", sdk_libc_secshared_dep, ] - - output_extension = "a" - subsystem_name = "ark" } config("ark_jsruntime_common_config") { @@ -222,6 +220,8 @@ config("ecma_test_config") { visibility = [ ":*" ] cflags_cc = [ "-Wno-sign-compare" ] + + ldflags = [ "-Wl,-rpath=\$ORIGIN/" ] } ecma_source = [ @@ -363,14 +363,15 @@ ecma_source = [ "ecmascript/weak_vector.cpp", ] -ohos_static_library("libark_jsruntime_static") { +ecma_source += [ + "ecmascript/tooling/interface/debugger_api.cpp", + "ecmascript/tooling/interface/js_debugger.cpp", +] + +source_set("libark_jsruntime_static") { sources = ecma_source - sources += [ - "ecmascript/tooling/interface/debugger_api.cpp", - "ecmascript/tooling/interface/js_debugger.cpp", - ] - configs = [ + public_configs = [ ":ark_jsruntime_public_config", # should add before # arkruntime_public_config ":ark_jsruntime_config", @@ -389,9 +390,6 @@ ohos_static_library("libark_jsruntime_static") { } else { deps += [ "$ark_root/runtime:libarkruntime" ] } - - output_extension = "a" - subsystem_name = "ark" } ohos_shared_library("libark_jsruntime") { @@ -411,3 +409,66 @@ ohos_shared_library("libark_jsruntime") { } subsystem_name = "ark" } + +source_set("libark_jsruntime_test_static") { + sources = ecma_source + sources += intl_sources + + deps = [ + ":copy_resource_xml", + "$ark_root/libpandabase:libarkbase", + "$ark_root/libpandafile:libarkfile", + "//third_party/icu/icu4c:shared_icui18n", + "//third_party/icu/icu4c:shared_icuuc", + sdk_libc_secshared_dep, + ] + + public_configs = [ + ":ark_jsruntime_public_config", # should add before + # arkruntime_public_config + ":ark_jsruntime_common_config", + "$ark_root/runtime:arkruntime_public_config", + ] +} + +ohos_shared_library("libark_jsruntime_test") { + configs = [ + ":ark_jsruntime_public_config", # should add before + # arkruntime_public_config + ":ark_jsruntime_common_config", + "$ark_root/runtime:arkruntime_public_config", + ] + + deps = [ ":libark_jsruntime_test_static" ] + + if (is_standard_system) { + deps += [ "$ark_root/runtime:libarkruntime_static" ] + } else { + deps += [ "$ark_root/runtime:libarkruntime" ] + } + + output_extension = "so" + subsystem_name = "test" +} + +action("copy_resource_xml") { + deps = [] + + script = "//ark/js_runtime/test/copy_resource.py" + + src_path = "//ark/js_runtime/test/resource/js_runtime/" + src_xml = "ohos_test.xml" + dst_path = "//ark/test/resource/js_runtime/" + + args = [ + "--src-path", + rebase_path(src_path), + "--src-xml", + src_xml, + "--dst-path", + rebase_path(dst_path), + ] + + inputs = [ src_path + src_xml ] + outputs = [ "$target_out_dir" ] +} diff --git a/ecmascript/builtins/tests/BUILD.gn b/ecmascript/builtins/tests/BUILD.gn index 93bc05f3a7..b607a69106 100644 --- a/ecmascript/builtins/tests/BUILD.gn +++ b/ecmascript/builtins/tests/BUILD.gn @@ -29,14 +29,19 @@ host_unittest_action("BuiltinsArraybufferTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("BuiltinsArrayTest") { @@ -51,14 +56,19 @@ host_unittest_action("BuiltinsArrayTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("BuiltinsBooleanTest") { @@ -73,14 +83,19 @@ host_unittest_action("BuiltinsBooleanTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("BuiltinsDataviewTest") { @@ -95,14 +110,19 @@ host_unittest_action("BuiltinsDataviewTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("BuiltinsDateTest") { @@ -117,14 +137,19 @@ host_unittest_action("BuiltinsDateTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("BuiltinsErrorsTest") { @@ -139,14 +164,19 @@ host_unittest_action("BuiltinsErrorsTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("BuiltinsFunctionTest") { @@ -161,14 +191,19 @@ host_unittest_action("BuiltinsFunctionTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("BuiltinsIteratorTest") { @@ -183,14 +218,19 @@ host_unittest_action("BuiltinsIteratorTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("BuiltinsJsonTest") { @@ -205,14 +245,19 @@ host_unittest_action("BuiltinsJsonTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("BuiltinsMapTest") { @@ -227,14 +272,19 @@ host_unittest_action("BuiltinsMapTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("BuiltinsMathTest") { @@ -249,14 +299,19 @@ host_unittest_action("BuiltinsMathTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("BuiltinsNumberTest") { @@ -271,14 +326,19 @@ host_unittest_action("BuiltinsNumberTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("BuiltinsObjectTest") { @@ -293,14 +353,19 @@ host_unittest_action("BuiltinsObjectTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("BuiltinsPromiseTest") { @@ -315,14 +380,19 @@ host_unittest_action("BuiltinsPromiseTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("BuiltinsProxyTest") { @@ -337,14 +407,19 @@ host_unittest_action("BuiltinsProxyTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("BuiltinsReflectTest") { @@ -359,14 +434,19 @@ host_unittest_action("BuiltinsReflectTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("BuiltinsRegexpTest") { @@ -381,14 +461,19 @@ host_unittest_action("BuiltinsRegexpTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("BuiltinsSetTest") { @@ -403,14 +488,19 @@ host_unittest_action("BuiltinsSetTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("BuiltinsStringTest") { @@ -425,14 +515,19 @@ host_unittest_action("BuiltinsStringTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("BuiltinsSymbolTest") { @@ -447,14 +542,19 @@ host_unittest_action("BuiltinsSymbolTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("BuiltinsTypedarrayTest") { @@ -469,14 +569,19 @@ host_unittest_action("BuiltinsTypedarrayTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("BuiltinsWeakMapTest") { @@ -491,13 +596,18 @@ host_unittest_action("BuiltinsWeakMapTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("BuiltinsWeakSetTest") { @@ -512,14 +622,19 @@ host_unittest_action("BuiltinsWeakSetTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } group("unittest") { diff --git a/ecmascript/compiler/BUILD.gn b/ecmascript/compiler/BUILD.gn index 8b32d8264e..a291c02dec 100644 --- a/ecmascript/compiler/BUILD.gn +++ b/ecmascript/compiler/BUILD.gn @@ -38,7 +38,7 @@ config("ark_jsruntime_compiler_config") { configs = [ "//ark/js_runtime:ark_jsruntime_common_config" ] } -ohos_shared_library("libark_jsoptimizer") { +source_set("libark_jsoptimizer_static") { sources = [ "circuit.cpp", "circuit_builder.cpp", @@ -55,7 +55,7 @@ ohos_shared_library("libark_jsoptimizer") { "verifier.cpp", ] - configs = [ + public_configs = [ ":include_llvm", ":ark_jsruntime_compiler_config", "//ark/js_runtime:ark_jsruntime_public_config", @@ -127,9 +127,11 @@ ohos_shared_library("libark_jsoptimizer") { "LLVMX86Utils", "LLVMIRReader", ] +} +ohos_shared_library("libark_jsoptimizer") { deps = [ - "$ark_root/libpandabase:libarkbase", + ":libark_jsoptimizer_static", "//ark/js_runtime:libark_jsruntime", ] @@ -137,11 +139,36 @@ ohos_shared_library("libark_jsoptimizer") { deps += [ ":build_llvm_libs" ] } + install_enable = true + part_name = "ark_js_runtime" + output_extension = "so" - relative_install_dir = "ark" + if (!is_standard_system) { + relative_install_dir = "ark" + } subsystem_name = "ark" } +ohos_shared_library("libark_jsoptimizer_test") { + deps = [ + ":libark_jsoptimizer_static", + "//ark/js_runtime:libark_jsruntime_test_static", + ] + + if (is_standard_system) { + deps += [ "$ark_root/runtime:libarkruntime_static" ] + } else { + deps += [ "$ark_root/runtime:libarkruntime" ] + } + + if (compile_llvm_online) { + deps += [ ":build_llvm_libs" ] + } + + output_extension = "so" + subsystem_name = "test" +} + ohos_executable("ark_stub_opt") { sources = [ "stub_aot_compiler.cpp" ] diff --git a/ecmascript/compiler/tests/BUILD.gn b/ecmascript/compiler/tests/BUILD.gn index 9d0952fd26..5268dae914 100644 --- a/ecmascript/compiler/tests/BUILD.gn +++ b/ecmascript/compiler/tests/BUILD.gn @@ -113,9 +113,7 @@ host_unittest_action("StubTest") { deps = [ "$ark_root/libpandabase:libarkbase", - "$ark_root/runtime:libarkruntime", - "//ark/js_runtime/ecmascript/compiler:libark_jsoptimizer(${host_toolchain})", - "//third_party/googletest:gtest_main", + "//ark/js_runtime/ecmascript/compiler:libark_jsoptimizer_test", sdk_libc_secshared_dep, ] } @@ -124,5 +122,5 @@ group("host_unittest") { testonly = true # deps file - deps = [ ":StubTestAction(${host_toolchain})" ] + deps = [ ":StubTestAction" ] } diff --git a/ecmascript/hprof/tests/BUILD.gn b/ecmascript/hprof/tests/BUILD.gn index 02664f0ff2..66a55742c2 100644 --- a/ecmascript/hprof/tests/BUILD.gn +++ b/ecmascript/hprof/tests/BUILD.gn @@ -29,14 +29,19 @@ host_unittest_action("HeapTrackerTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("HprofTest") { @@ -51,14 +56,19 @@ host_unittest_action("HprofTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } group("unittest") { diff --git a/ecmascript/napi/test/BUILD.gn b/ecmascript/napi/test/BUILD.gn index a25f2cff36..c25f951942 100644 --- a/ecmascript/napi/test/BUILD.gn +++ b/ecmascript/napi/test/BUILD.gn @@ -29,14 +29,19 @@ host_unittest_action("JsnapiTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } group("unittest") { diff --git a/ecmascript/regexp/tests/BUILD.gn b/ecmascript/regexp/tests/BUILD.gn index 352ba7adc9..a579fd3a44 100644 --- a/ecmascript/regexp/tests/BUILD.gn +++ b/ecmascript/regexp/tests/BUILD.gn @@ -29,14 +29,19 @@ host_unittest_action("DynChunkTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("RegexpTest") { @@ -51,14 +56,19 @@ host_unittest_action("RegexpTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } group("unittest") { diff --git a/ecmascript/snapshot/tests/BUILD.gn b/ecmascript/snapshot/tests/BUILD.gn index 812f723a19..d0f43f65d6 100644 --- a/ecmascript/snapshot/tests/BUILD.gn +++ b/ecmascript/snapshot/tests/BUILD.gn @@ -29,14 +29,19 @@ host_unittest_action("SnapshotTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } group("unittest") { diff --git a/ecmascript/tests/BUILD.gn b/ecmascript/tests/BUILD.gn index 17f523f5aa..eb0b86d857 100644 --- a/ecmascript/tests/BUILD.gn +++ b/ecmascript/tests/BUILD.gn @@ -29,14 +29,19 @@ host_unittest_action("AssertScopeTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("BuiltinsTest") { @@ -51,14 +56,19 @@ host_unittest_action("BuiltinsTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("DumpTest") { @@ -73,14 +83,19 @@ host_unittest_action("DumpTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("GlueRegsTest") { @@ -95,14 +110,19 @@ host_unittest_action("GlueRegsTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("JsArrayTest") { @@ -117,14 +137,19 @@ host_unittest_action("JsArrayTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("JsDateTest") { @@ -139,14 +164,19 @@ host_unittest_action("JsDateTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("JsForinIteratorTest") { @@ -161,14 +191,19 @@ host_unittest_action("JsForinIteratorTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("JsFunctionTest") { @@ -183,14 +218,19 @@ host_unittest_action("JsFunctionTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("JsHandleTest") { @@ -205,14 +245,19 @@ host_unittest_action("JsHandleTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("JsIteratorTest") { @@ -227,13 +272,18 @@ host_unittest_action("JsIteratorTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("JsMapTest") { @@ -248,14 +298,19 @@ host_unittest_action("JsMapTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("JsObjectTest") { @@ -270,14 +325,19 @@ host_unittest_action("JsObjectTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("JsPrimitiveRefTest") { @@ -292,14 +352,19 @@ host_unittest_action("JsPrimitiveRefTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("JsPromiseTest") { @@ -314,14 +379,19 @@ host_unittest_action("JsPromiseTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("JsProxyTest") { @@ -336,14 +406,19 @@ host_unittest_action("JsProxyTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("JsSetTest") { @@ -358,14 +433,19 @@ host_unittest_action("JsSetTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("JsSymbolTest") { @@ -380,14 +460,19 @@ host_unittest_action("JsSymbolTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("JsTaggedQueueTest") { @@ -402,14 +487,19 @@ host_unittest_action("JsTaggedQueueTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("JsVerificationTest") { @@ -424,14 +514,19 @@ host_unittest_action("JsVerificationTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("HugeObjectTest") { @@ -446,14 +541,19 @@ host_unittest_action("HugeObjectTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("LexicalEnvTest") { @@ -468,14 +568,19 @@ host_unittest_action("LexicalEnvTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("LinkedHashTableTest") { @@ -490,14 +595,19 @@ host_unittest_action("LinkedHashTableTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("NameDictionaryTest") { @@ -512,14 +622,19 @@ host_unittest_action("NameDictionaryTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("NativePointerTest") { @@ -534,14 +649,19 @@ host_unittest_action("NativePointerTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("ObjectFactoryTest") { @@ -556,14 +676,19 @@ host_unittest_action("ObjectFactoryTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("TaggedValueTest") { @@ -578,14 +703,19 @@ host_unittest_action("TaggedValueTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("WeakRefGenGcTest") { @@ -600,14 +730,19 @@ host_unittest_action("WeakRefGenGcTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("WeakRefStwGcTest") { @@ -622,14 +757,19 @@ host_unittest_action("WeakRefStwGcTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("JsSerializerTest") { @@ -644,14 +784,19 @@ host_unittest_action("JsSerializerTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } host_unittest_action("GcTest") { @@ -666,14 +811,19 @@ host_unittest_action("GcTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime:libark_jsruntime_test", sdk_libc_secshared_dep, ] + + if (!is_standard_system) { + _deps_ += [ "$ark_root/runtime:libarkruntime" ] + } } group("unittest") { diff --git a/ecmascript/tooling/BUILD.gn b/ecmascript/tooling/BUILD.gn index 01125eafdc..43898ca3ca 100644 --- a/ecmascript/tooling/BUILD.gn +++ b/ecmascript/tooling/BUILD.gn @@ -18,26 +18,28 @@ config("ark_ecma_debugger_config") { include_dirs = [ "//ark/js_runtime/ecmascript/tooling" ] } -ohos_static_library("libark_ecma_debugger_static") { - sources = [ - "agent/debugger_impl.cpp", - "agent/js_backend.cpp", - "agent/js_pt_hooks.cpp", - "agent/runtime_impl.cpp", - "base/pt_events.cpp", - "base/pt_params.cpp", - "base/pt_returns.cpp", - "base/pt_script.cpp", - "base/pt_types.cpp", - "debugger_service.cpp", - "dispatcher.cpp", - "protocol_handler.cpp", - "pt_js_extractor.cpp", - ] +debugger_sources = [ + "agent/debugger_impl.cpp", + "agent/js_backend.cpp", + "agent/js_pt_hooks.cpp", + "agent/runtime_impl.cpp", + "base/pt_events.cpp", + "base/pt_params.cpp", + "base/pt_returns.cpp", + "base/pt_script.cpp", + "base/pt_types.cpp", + "debugger_service.cpp", + "dispatcher.cpp", + "protocol_handler.cpp", + "pt_js_extractor.cpp", +] - configs = [ +source_set("libark_ecma_debugger_static") { + sources = debugger_sources + + public_configs = [ ":ark_ecma_debugger_config", - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "//ark/js_runtime:ark_jsruntime_public_config", "$ark_root/runtime:arkruntime_public_config", ] @@ -48,8 +50,7 @@ ohos_static_library("libark_ecma_debugger_static") { "$ark_root/runtime:arkruntime_gen_intrinsics_intrinsics_h", ] - output_extension = "a" - subsystem_name = "ark" + cflags_cc = [ "-fvisibility=hidden" ] } ohos_shared_library("libark_ecma_debugger") { @@ -62,8 +63,6 @@ ohos_shared_library("libark_ecma_debugger") { deps += [ "$ark_root/runtime:libarkruntime" ] } - cflags_cc = [ "-fvisibility=hidden" ] - install_enable = true part_name = "ark_js_runtime" @@ -71,3 +70,43 @@ ohos_shared_library("libark_ecma_debugger") { relative_install_dir = "ark" subsystem_name = "ark" } + +source_set("libark_ecma_debugger_test_static") { + sources = debugger_sources + + public_configs = [ + ":ark_ecma_debugger_config", + "//ark/js_runtime:ark_jsruntime_common_config", + "//ark/js_runtime:ark_jsruntime_public_config", + "$ark_root/runtime:arkruntime_public_config", + ] + + deps = [ + "$ark_root/libpandabase:libarkbase", + "$ark_root/libpandafile:libarkfile", + "$ark_root/runtime:arkruntime_gen_intrinsics_intrinsics_h", + ] +} + +ohos_shared_library("libark_ecma_debugger_test") { + deps = [ + ":libark_ecma_debugger_test_static", + "//ark/js_runtime:libark_jsruntime_test_static", + ] + + configs = [ + ":ark_ecma_debugger_config", + "//ark/js_runtime:ark_jsruntime_common_config", + "//ark/js_runtime:ark_jsruntime_public_config", + "$ark_root/runtime:arkruntime_public_config", + ] + + if (is_standard_system) { + deps += [ "$ark_root/runtime:libarkruntime_static" ] + } else { + deps += [ "$ark_root/runtime:libarkruntime" ] + } + + output_extension = "so" + subsystem_name = "test" +} diff --git a/ecmascript/tooling/interface/debugger_api.h b/ecmascript/tooling/interface/debugger_api.h index 12afcd453d..fa9458c892 100644 --- a/ecmascript/tooling/interface/debugger_api.h +++ b/ecmascript/tooling/interface/debugger_api.h @@ -23,7 +23,7 @@ #include "ecmascript/napi/include/jsnapi.h" #include "mem/rendezvous.h" -#include "include/runtime_notification.h" +#include "include/runtime.h" #include "include/tooling/debug_interface.h" namespace panda { diff --git a/ecmascript/tooling/interface/js_debugger.cpp b/ecmascript/tooling/interface/js_debugger.cpp index e3a7b1df74..893707fa2a 100644 --- a/ecmascript/tooling/interface/js_debugger.cpp +++ b/ecmascript/tooling/interface/js_debugger.cpp @@ -82,7 +82,9 @@ bool JSDebugger::HandleBreakpoint([[maybe_unused]] const JSThread *thread, const auto *pf = method->GetPandaFile(); PtLocation location {pf->GetFilename().c_str(), method->GetFileId(), bcOffset}; - hooks_.Breakpoint(PtThread(ManagedThread::NON_INITIALIZED_THREAD_ID), location); + if (hooks_ != nullptr) { + hooks_->Breakpoint(PtThread(ManagedThread::NON_INITIALIZED_THREAD_ID), location); + } return true; } @@ -96,14 +98,18 @@ void JSDebugger::HandleExceptionThrowEvent(const JSThread *thread, const JSMetho auto *pf = method->GetPandaFile(); PtLocation throwLocation {pf->GetFilename().c_str(), method->GetFileId(), bcOffset}; - hooks_.Exception(PtThread(ManagedThread::NON_INITIALIZED_THREAD_ID), throwLocation, PtObject(), throwLocation); + if (hooks_ != nullptr) { + hooks_->Exception(PtThread(ManagedThread::NON_INITIALIZED_THREAD_ID), throwLocation, PtObject(), throwLocation); + } } bool JSDebugger::HandleStep(const JSThread *thread, const JSMethod *method, uint32_t bcOffset) { auto *pf = method->GetPandaFile(); PtLocation location {pf->GetFilename().c_str(), method->GetFileId(), bcOffset}; - hooks_.SingleStep(PtThread(thread->GetId()), location); + if (hooks_ != nullptr) { + hooks_->SingleStep(PtThread(thread->GetId()), location); + } return true; } diff --git a/ecmascript/tooling/interface/js_debugger.h b/ecmascript/tooling/interface/js_debugger.h index ed2a05b79e..416ab5cee8 100644 --- a/ecmascript/tooling/interface/js_debugger.h +++ b/ecmascript/tooling/interface/js_debugger.h @@ -48,12 +48,12 @@ public: std::optional RegisterHooks(PtHooks *hooks) override { - hooks_.SetHooks(hooks); + hooks_ = hooks; return {}; } std::optional UnregisterHooks() override { - hooks_.SetHooks(nullptr); + hooks_ = nullptr; return {}; } @@ -62,19 +62,27 @@ public: void BytecodePcChanged(ManagedThread *thread, Method *method, uint32_t bcOffset) override; void LoadModule(std::string_view filename) override { - hooks_.LoadModule(filename); + if (hooks_ != nullptr) { + hooks_->LoadModule(filename); + } } void VmStart() override { - hooks_.VmStart(); + if (hooks_ != nullptr) { + hooks_->VmStart(); + } } void VmInitialization(ManagedThread::ThreadId threadId) override { - hooks_.VmInitialization(PtThread(threadId)); + if (hooks_ != nullptr) { + hooks_->VmInitialization(PtThread(threadId)); + } } void VmDeath() override { - hooks_.VmDeath(); + if (hooks_ != nullptr) { + hooks_->VmDeath(); + } } PtLangExt *GetLangExtension() const override @@ -228,7 +236,7 @@ private: const Runtime *runtime_; const EcmaVM *ecmaVm_; - PtHooksWrapper hooks_; + PtHooks *hooks_ {nullptr}; CUnorderedSet breakpoints_ {}; }; diff --git a/ecmascript/tooling/test/BUILD.gn b/ecmascript/tooling/test/BUILD.gn index a677f2d12d..4cb6036a28 100644 --- a/ecmascript/tooling/test/BUILD.gn +++ b/ecmascript/tooling/test/BUILD.gn @@ -34,30 +34,6 @@ config("debug_api_test") { ] } -action("copy_resource_xml") { - visibility = [ ":*" ] # Only targets in this file can depend on this. - - deps = [] - - script = "//ark/js_runtime/test/copy_resource.py" - - src_path = "//ark/js_runtime/test/resource/js_runtime/" - src_xml = "ohos_test.xml" - dst_path = "//ark/test/resource/js_runtime/" - - args = [ - "--src-path", - rebase_path(src_path), - "--src-xml", - src_xml, - "--dst-path", - rebase_path(dst_path), - ] - - inputs = [ src_path + src_xml ] - outputs = [ "$target_out_dir" ] -} - ts2abc_gen_abc("ark_debug_abc") { extra_visibility = [ ":*" ] # Only targets in this file can depend on this. src_js = rebase_path(test_js_path) @@ -79,7 +55,7 @@ ohos_shared_library("jsdebugtest") { configs = [ "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", ":debug_api_test", "$ark_root/runtime:arkruntime_public_config", ] @@ -87,9 +63,7 @@ ohos_shared_library("jsdebugtest") { deps = [ "$ark_root/libpandabase:libarkbase", "$ark_root/libpandafile:libarkfile", - "//ark/js_runtime:libark_js_intl_static", - "//ark/js_runtime:libark_jsruntime_static", - "//ark/js_runtime/ecmascript/tooling:libark_ecma_debugger_static", + "//ark/js_runtime/ecmascript/tooling:libark_ecma_debugger_test", ] output_extension = "so" relative_install_dir = "test" @@ -107,18 +81,17 @@ host_unittest_action("EcmaDebugApiTest") { configs = [ "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", ":debug_api_test", "$ark_root/runtime:arkruntime_public_config", ] deps = [ ":ark_debug_abc", - ":copy_resource_xml", ":jsdebugtest", "$ark_root/libpandabase:libarkbase", "$ark_root/libpandafile:libarkfile", - "//ark/js_runtime/ecmascript/tooling:libark_ecma_debugger_static", + "//ark/js_runtime/ecmascript/tooling:libark_ecma_debugger_test", ] } @@ -134,13 +107,13 @@ host_unittest_action("DebuggerCommandsTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", - "//ark/js_runtime/ecmascript/tooling:libark_ecma_debugger_static", + "//ark/js_runtime/ecmascript/tooling:libark_ecma_debugger_test", sdk_libc_secshared_dep, ] } @@ -157,13 +130,13 @@ host_unittest_action("DebuggerEventsTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", - "//ark/js_runtime/ecmascript/tooling:libark_ecma_debugger_static", + "//ark/js_runtime/ecmascript/tooling:libark_ecma_debugger_test", sdk_libc_secshared_dep, ] } @@ -180,13 +153,13 @@ host_unittest_action("DebuggerTypesTest") { "//ark/js_runtime:ecma_test_config", "//ark/js_runtime:ark_jsruntime_public_config", # should add before # arkruntime_public_config - "//ark/js_runtime:ark_jsruntime_config", + "//ark/js_runtime:ark_jsruntime_common_config", "$ark_root/runtime:arkruntime_public_config", ] deps = [ "$ark_root/libpandabase:libarkbase", - "//ark/js_runtime/ecmascript/tooling:libark_ecma_debugger_static", + "//ark/js_runtime/ecmascript/tooling:libark_ecma_debugger_test", sdk_libc_secshared_dep, ] } diff --git a/ohos.build b/ohos.build index c27b8e3be7..3de265b936 100644 --- a/ohos.build +++ b/ohos.build @@ -10,7 +10,9 @@ ], "inner_kits": [], "system_kits": [], - "test_list": [] + "test_list": [ + "//ark/js_runtime:ark_js_unittest" + ] } } } diff --git a/test/resource/js_runtime/ohos_test.xml b/test/resource/js_runtime/ohos_test.xml index e46d8605ff..0e311d8351 100644 --- a/test/resource/js_runtime/ohos_test.xml +++ b/test/resource/js_runtime/ohos_test.xml @@ -19,4 +19,320 @@