From e548dbe2bf25f26f744348893a38fc1200f34274 Mon Sep 17 00:00:00 2001 From: jiangmengyang Date: Sat, 23 Aug 2025 16:01:10 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=84=E8=8C=83DynamicImport=20UT=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Issue: https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/ICUDM5 Signed-off-by: jiangmengyang Change-Id: Ib022d7dbf75a81f3d416f3924615452c5ad3845d --- ecmascript/builtins/tests/BUILD.gn | 10 +++---- ...tins_import_module_static_import_test.cpp} | 29 ++++++++++++++----- test/resource/js_runtime/ohos_test.xml | 2 +- 3 files changed, 27 insertions(+), 14 deletions(-) rename ecmascript/builtins/tests/{builtins_promise_job_test.cpp => builtins_import_module_static_import_test.cpp} (89%) diff --git a/ecmascript/builtins/tests/BUILD.gn b/ecmascript/builtins/tests/BUILD.gn index a4e11b1504..59e6631f9d 100755 --- a/ecmascript/builtins/tests/BUILD.gn +++ b/ecmascript/builtins/tests/BUILD.gn @@ -765,12 +765,12 @@ host_unittest_action("Builtins_Promise_Test") { deps += hiviewdfx_deps } -host_unittest_action("Builtins_Promise_Job_Test") { +host_unittest_action("Builtins_Import_Module_Static_Import_Test") { module_out_path = module_output_path sources = [ # test file - "builtins_promise_job_test.cpp", + "builtins_import_module_static_import_test.cpp", ] configs = [ "../../../:ecma_test_config" ] @@ -1221,7 +1221,7 @@ group("unittest") { ":Builtins_Object_Test", ":Builtins_PluralRules_Test", ":Builtins_Promise_Test", - ":Builtins_Promise_Job_Test", + ":Builtins_Import_Module_Static_Import_Test", ":Builtins_Proxy_Test", ":Builtins_Reflect_Test", ":Builtins_Regexp_Test", @@ -1280,7 +1280,7 @@ group("host_unittest") { ":Builtins_Object_TestAction", ":Builtins_PluralRules_TestAction", ":Builtins_Promise_TestAction", - ":Builtins_Promise_Job_Test", + ":Builtins_Import_Module_Static_Import_Test", ":Builtins_Proxy_TestAction", ":Builtins_Reflect_TestAction", ":Builtins_Regexp_TestAction", @@ -1334,7 +1334,7 @@ group("host_unittest") { ":Builtins_Object_TestAction", ":Builtins_PluralRules_TestAction", ":Builtins_Promise_TestAction", - ":Builtins_Promise_Job_Test", + ":Builtins_Import_Module_Static_Import_Test", ":Builtins_Proxy_TestAction", ":Builtins_Reflect_TestAction", ":Builtins_Regexp_TestAction", diff --git a/ecmascript/builtins/tests/builtins_promise_job_test.cpp b/ecmascript/builtins/tests/builtins_import_module_static_import_test.cpp similarity index 89% rename from ecmascript/builtins/tests/builtins_promise_job_test.cpp rename to ecmascript/builtins/tests/builtins_import_module_static_import_test.cpp index 867874dce2..a74a50bcab 100644 --- a/ecmascript/builtins/tests/builtins_promise_job_test.cpp +++ b/ecmascript/builtins/tests/builtins_import_module_static_import_test.cpp @@ -27,13 +27,13 @@ using namespace panda::ecmascript::builtins; using FunctionCallbackInfo = Local (*)(JsiRuntimeCallInfo *); namespace panda::test { -class BuiltinsPromiseJobTest : public BaseTestWithScope { +class BuiltinsImportModuleStaticImportTest : public BaseTestWithScope { public: static Local MockGetModule(JsiRuntimeCallInfo *runtimeCallInfo); static Local MockGetModuleJSError(JsiRuntimeCallInfo *runtimeCallInfo); }; -Local BuiltinsPromiseJobTest::MockGetModule(JsiRuntimeCallInfo *runtimeCallInfo) +Local BuiltinsImportModuleStaticImportTest::MockGetModule(JsiRuntimeCallInfo *runtimeCallInfo) { auto *thread = runtimeCallInfo->GetThread(); auto vm = thread->GetEcmaVM(); @@ -43,7 +43,7 @@ Local BuiltinsPromiseJobTest::MockGetModule(JsiRuntimeCallInfo *runt return exportObejct; } -Local BuiltinsPromiseJobTest::MockGetModuleJSError(JsiRuntimeCallInfo *runtimeCallInfo) +Local BuiltinsImportModuleStaticImportTest::MockGetModuleJSError(JsiRuntimeCallInfo *runtimeCallInfo) { auto *thread = runtimeCallInfo->GetThread(); auto vm = thread->GetEcmaVM(); @@ -58,9 +58,15 @@ Local BuiltinsPromiseJobTest::MockGetModuleJSError(JsiRuntimeCallInf return runtimeCallInfo->GetCallArgRef(0); } -// dynamic import static module after load 1.0 module failed -HWTEST_F_L0(BuiltinsPromiseJobTest, DynamicImportJobCatchException) -{ +/** + * @tc.name: DynamicImportJob + * @tc.desc: First, the dynamic import of the "exportFile" module will fail. + * Then, it will try to statically import the "exportFile" module, which will succeed. + * @tc.type: FUNC + * @tc.require: issueICIHM8 + */ +HWTEST_F_L0(BuiltinsImportModuleStaticImportTest, StaticImportModuleTest001) +{ /** * Both the handle and the stack are allocated using maloc. * When newJsError is called, the C interpreter will step back one frame before executing. @@ -117,8 +123,15 @@ HWTEST_F_L0(BuiltinsPromiseJobTest, DynamicImportJobCatchException) specifier), true); } -// throw 1.2 load failed -HWTEST_F_L0(BuiltinsPromiseJobTest, DynamicImportJobCatchException2) +/** + * @tc.name: DynamicImportJob + * @tc.desc: This test verifies the behavior of dynamic and static imports for the "exportFile" module. + * First, dynamic import of the "exportFile" module will fail. + * Then, static import of the same module will also fail and throw an error. + * @tc.type: FUNC + * @tc.require: issueICIHM8 + */ +HWTEST_F_L0(BuiltinsImportModuleStaticImportTest, StaticImportModuleTest002) { /** * Both the handle and the stack are allocated using maloc. diff --git a/test/resource/js_runtime/ohos_test.xml b/test/resource/js_runtime/ohos_test.xml index 95dc0a91a3..cfc15b9954 100755 --- a/test/resource/js_runtime/ohos_test.xml +++ b/test/resource/js_runtime/ohos_test.xml @@ -293,7 +293,7 @@