From 967b627062c16208505c12f952604b0039bb27dc Mon Sep 17 00:00:00 2001 From: wangpggg Date: Fri, 7 Mar 2025 14:21:31 +0800 Subject: [PATCH] remove unused var Signed-off-by: wangpeng --- .../native/backup_ext/src/ext_backup_js.cpp | 25 +--- .../kits/js/backup/general_callbacks.cpp | 65 ++++------- tests/mock/napi/include/napi_mock.h | 8 +- tests/mock/napi/src/napi_mock.cpp | 11 +- .../backup_ext/ext_backup_js_test.cpp | 107 ++++-------------- .../external_ext_backup_js_test.cpp | 11 +- .../ext_backup_js_external_test.cpp | 42 ++----- 7 files changed, 71 insertions(+), 198 deletions(-) diff --git a/frameworks/native/backup_ext/src/ext_backup_js.cpp b/frameworks/native/backup_ext/src/ext_backup_js.cpp index 9b9fbcb52..005c6e5f5 100644 --- a/frameworks/native/backup_ext/src/ext_backup_js.cpp +++ b/frameworks/native/backup_ext/src/ext_backup_js.cpp @@ -867,27 +867,12 @@ int ExtBackupJs::CallJsMethod(const std::string &funcName, InputArgsParser argParser, ResultValueParser retParser) { - uv_loop_s *loop = nullptr; - napi_status status = napi_get_uv_event_loop(jsRuntime.GetNapiEnv(), &loop); - if (status != napi_ok) { - HILOGE("failed to get uv event loop."); - return EINVAL; - } auto param = std::make_shared(funcName, &jsRuntime, jsObj, argParser, retParser); BExcepUltils::BAssert(param, BError::Codes::EXT_BROKEN_FRAMEWORK, "failed to new param."); - auto work = std::make_shared(); - BExcepUltils::BAssert(work, BError::Codes::EXT_BROKEN_FRAMEWORK, "failed to new uv_work_t."); - - work->data = reinterpret_cast(param.get()); HILOGI("Will execute current js method"); - auto task = [work {work.get()}]() { - if (work == nullptr) { - HILOGE("failed to get work."); - return; - } - HILOGI("AsyncWork Enter, %{public}zu", (size_t)work); - CallJsParam *param = reinterpret_cast(work->data); + auto task = [](void* ptr) ->void { + auto param = reinterpret_cast(ptr); do { if (param == nullptr) { HILOGE("failed to get CallJsParam."); @@ -903,9 +888,11 @@ int ExtBackupJs::CallJsMethod(const std::string &funcName, param->isReady.store(true); param->backupOperateCondition.notify_all(); }; - auto ret = napi_send_event(jsRuntime.GetNapiEnv(), task, napi_eprio_high); + uint64_t handleId = 0; + auto ret = napi_send_cancelable_event(jsRuntime.GetNapiEnv(), task, param.get(), napi_eprio_high, &handleId, + funcName.c_str()); if (ret != napi_status::napi_ok) { - HILOGE("failed to napi_send_event, ret:%{public}d.", ret); + HILOGE("failed to napi_send_cancelable_event, ret:%{public}d, name:%{public}s.", ret, funcName.c_str()); return EINVAL; } HILOGI("Wait execute current js method"); diff --git a/interfaces/kits/js/backup/general_callbacks.cpp b/interfaces/kits/js/backup/general_callbacks.cpp index acf3bd5dd..e79d780bb 100644 --- a/interfaces/kits/js/backup/general_callbacks.cpp +++ b/interfaces/kits/js/backup/general_callbacks.cpp @@ -62,38 +62,28 @@ BackupRestoreCallback::~BackupRestoreCallback() } unique_ptr ptr(ctx_); - uv_loop_s *loop = nullptr; - napi_status status = napi_get_uv_event_loop(env_, &loop); - if (status != napi_ok) { - HILOGE("Failed to get uv event loop"); - ptr->cb_.CleanJsEnv(); - return; - } - - auto work = make_unique(); - if (work == nullptr) { - HILOGE("Failed to new uv_work_t"); - return; - } - work->data = static_cast(ctx_); - - auto task = [work {work.get()}]() { - if (work == nullptr) { - HILOGE("failed to get work."); + auto task = [](void* ptr) ->void { + auto ctx = reinterpret_cast(ptr); + if (ctx == nullptr) { + HILOGE("failed to get ctx."); return; } - LibN::NAsyncContextCallback *ctx = static_cast(work->data); HILOGI("BackupRestoreCallback destruct delete ctx"); + if (bool(ctx->cb_)) { + ctx->cb_.CleanJsEnv(); + } delete ctx; - delete work; }; - auto ret = napi_send_event(env_, task, napi_eprio_high); + uint64_t handleId = 0; + auto ret = napi_send_cancelable_event(env_, task, ptr.get(), napi_eprio_high, &handleId, "destructor"); if (ret != napi_status::napi_ok) { - HILOGE("Failed to call napi_send_event, ret:%{public}d, status:%{public}d", ret, status); + HILOGE("failed to napi_send_cancelable_event, ret:%{public}d, name:%{public}s.", ret, "destructor"); + if (bool(ctx_->cb_)) { + ctx_->cb_.CleanJsEnv(); + } return; } ptr.release(); - work.release(); ctx_ = nullptr; HILOGI("BackupRestoreCallback destruct end"); } @@ -128,12 +118,12 @@ static void DoCallJsMethod(napi_env env, void *data, InputArgsParser argParser) } napi_value global = nullptr; napi_get_global(env, &global); - napi_value callback = ctx->cb_.Deref(env).val_; if (!bool(ctx->cb_)) { HILOGE("Failed to get ref."); napi_close_handle_scope(env, scope); return; } + napi_value callback = ctx->cb_.Deref(env).val_; napi_value result = nullptr; napi_status status = napi_call_function(env, global, callback, argv.size(), argv.data(), &result); if (status != napi_ok) { @@ -146,29 +136,16 @@ static void DoCallJsMethod(napi_env env, void *data, InputArgsParser argParser) void BackupRestoreCallback::CallJsMethod(InputArgsParser argParser) { HILOGI("call BackupRestoreCallback CallJsMethod begin."); - uv_loop_s *loop = nullptr; - napi_status status = napi_get_uv_event_loop(env_, &loop); - if (status != napi_ok) { - HILOGE("failed to get uv event loop."); - return; - } auto workArgs = make_shared(); - auto work = make_unique(); - if (workArgs == nullptr || work == nullptr) { + if (workArgs == nullptr) { HILOGE("failed to new workArgs or uv_work_t."); return; } workArgs->ptr = this; workArgs->argParser = argParser; - work->data = reinterpret_cast(workArgs.get()); HILOGI("Will execute current js method"); - auto task = [work {work.get()}]() { - if (work == nullptr) { - HILOGE("failed to get work."); - return; - } - HILOGI("AsyncWork Enter, %{public}zu", (size_t)work); - auto workArgs = reinterpret_cast(work->data); + auto task = [](void* ptr) ->void { + auto workArgs = reinterpret_cast(ptr); do { if (workArgs == nullptr) { HILOGE("failed to get workArgs."); @@ -180,18 +157,16 @@ void BackupRestoreCallback::CallJsMethod(InputArgsParser argParser) std::unique_lock lock(workArgs->callbackMutex); workArgs->isReady.store(true); workArgs->callbackCondition.notify_all(); - delete work; }; - auto ret = napi_send_event(env_, task, napi_eprio_high); + uint64_t handleId = 0; + auto ret = napi_send_cancelable_event(env_, task, workArgs.get(), napi_eprio_high, &handleId, "jsmethod"); if (ret != napi_status::napi_ok) { - HILOGE("failed to napi_send_event, ret:%{public}d.", ret); - work.reset(); + HILOGE("failed to napi_send_cancelable_event, ret:%{public}d, name:%{public}s.", ret, "jsmethod"); return; } std::unique_lock lock(workArgs->callbackMutex); HILOGI("Wait execute callback method end"); workArgs->callbackCondition.wait(lock, [workArgs]() { return workArgs->isReady.load(); }); - work.release(); HILOGI("call BackupRestoreCallback CallJsMethod end."); } } // namespace OHOS::FileManagement::Backup \ No newline at end of file diff --git a/tests/mock/napi/include/napi_mock.h b/tests/mock/napi/include/napi_mock.h index 907a39ebc..68716848b 100644 --- a/tests/mock/napi/include/napi_mock.h +++ b/tests/mock/napi/include/napi_mock.h @@ -31,12 +31,12 @@ class Napi { public: virtual ~Napi() = default; public: - virtual napi_status napi_get_uv_event_loop(napi_env, struct uv_loop_s**) = 0; virtual napi_status napi_call_function(napi_env, napi_value, napi_value, size_t, const napi_value*, napi_value*) = 0; virtual napi_status napi_get_reference_value(napi_env, napi_ref, napi_value*) = 0; virtual napi_status napi_get_named_property(napi_env, napi_value, const char*, napi_value*) = 0; - virtual napi_status napi_send_event(napi_env, const std::function, napi_event_priority) = 0; + virtual napi_status napi_send_cancelable_event(napi_env, const std::function&, void*, + napi_event_priority, uint64_t*, const char*) = 0; virtual napi_status napi_get_value_int32(napi_env, napi_value, int32_t*) = 0; virtual napi_status napi_get_value_int64(napi_env, napi_value, int64_t*) = 0; virtual napi_status napi_create_string_utf8(napi_env, const char*, size_t, napi_value*) = 0; @@ -68,12 +68,12 @@ public: class NapiMock : public Napi { public: - MOCK_METHOD(napi_status, napi_get_uv_event_loop, (napi_env, struct uv_loop_s**)); MOCK_METHOD(napi_status, napi_call_function, (napi_env, napi_value, napi_value, size_t, const napi_value*, napi_value*)); MOCK_METHOD(napi_status, napi_get_reference_value, (napi_env, napi_ref, napi_value*)); MOCK_METHOD(napi_status, napi_get_named_property, (napi_env, napi_value, const char*, napi_value*)); - MOCK_METHOD(napi_status, napi_send_event, (napi_env, const std::function, napi_event_priority)); + MOCK_METHOD(napi_status, napi_send_cancelable_event, (napi_env, (const std::function&), void*, + napi_event_priority, uint64_t*, const char*)); MOCK_METHOD(napi_status, napi_get_value_int32, (napi_env, napi_value, int32_t*)); MOCK_METHOD(napi_status, napi_get_value_int64, (napi_env, napi_value, int64_t*)); MOCK_METHOD(napi_status, napi_create_int64, (napi_env, int64_t, napi_value*)); diff --git a/tests/mock/napi/src/napi_mock.cpp b/tests/mock/napi/src/napi_mock.cpp index 5274eecb4..d57634b32 100644 --- a/tests/mock/napi/src/napi_mock.cpp +++ b/tests/mock/napi/src/napi_mock.cpp @@ -16,14 +16,11 @@ #include "napi_mock.h" #include "uv.h" -napi_status napi_send_event(napi_env env, const std::function cb, napi_event_priority priority) +napi_status napi_send_cancelable_event(napi_env env, const std::function& cb, void* data, + napi_event_priority priority, uint64_t* handleId, const char* name) { - return OHOS::FileManagement::Backup::Napi::napi->napi_send_event(env, cb, priority); -} - -napi_status napi_get_uv_event_loop(napi_env env, struct uv_loop_s** loop) -{ - return OHOS::FileManagement::Backup::Napi::napi->napi_get_uv_event_loop(env, loop); + return OHOS::FileManagement::Backup::Napi::napi->napi_send_cancelable_event(env, cb, data, priority, handleId, + name); } napi_status napi_call_function(napi_env env, napi_value recv, napi_value func, size_t argc, const napi_value* argv, diff --git a/tests/unittests/backup_ext/ext_backup_js_test.cpp b/tests/unittests/backup_ext/ext_backup_js_test.cpp index 9d3757cd4..69c6b9e5c 100644 --- a/tests/unittests/backup_ext/ext_backup_js_test.cpp +++ b/tests/unittests/backup_ext/ext_backup_js_test.cpp @@ -988,17 +988,10 @@ HWTEST_F(ExtBackupJsTest, SUB_backup_ext_js_CallJsMethod_0100, testing::ext::Tes { GTEST_LOG_(INFO) << "ExtBackupJsTest-begin SUB_backup_ext_js_CallJsMethod_0100"; try { - extBackupJs->jsObj_ = make_unique(); EXPECT_CALL(*extBackupMock, GetNapiEnv()).WillOnce(Return(nullptr)); - EXPECT_CALL(*napiMock, napi_get_uv_event_loop(_, _)).WillOnce(Return(napi_invalid_arg)); + EXPECT_CALL(*napiMock, napi_send_cancelable_event(_, _, _, _, _, _)).WillOnce(Return(napi_invalid_arg)); auto ret = extBackupJs->CallJsMethod("", *jsRuntime, extBackupJs->jsObj_.get(), nullptr, nullptr); EXPECT_EQ(ret, EINVAL); - - EXPECT_CALL(*extBackupMock, GetNapiEnv()).WillOnce(Return(nullptr)).WillOnce(Return(nullptr)); - EXPECT_CALL(*napiMock, napi_get_uv_event_loop(_, _)).WillOnce(Return(napi_ok)); - EXPECT_CALL(*napiMock, napi_send_event(_, _, _)).WillOnce(Return(napi_invalid_arg)); - ret = extBackupJs->CallJsMethod("", *jsRuntime, extBackupJs->jsObj_.get(), nullptr, nullptr); - EXPECT_EQ(ret, EINVAL); } catch (...) { EXPECT_TRUE(false); GTEST_LOG_(INFO) << "ExtBackupJsTest-an exception occurred by CallJsMethod."; @@ -1231,26 +1224,19 @@ HWTEST_F(ExtBackupJsTest, SUB_backup_ext_js_CallJsOnBackupEx_0100, testing::ext: { GTEST_LOG_(INFO) << "ExtBackupJsTest-begin SUB_backup_ext_js_CallJsOnBackupEx_0100"; try { - EXPECT_CALL(*extBackupMock, GetNapiEnv()).WillOnce(Return(nullptr)); - EXPECT_CALL(*napiMock, napi_get_uv_event_loop(_, _)).WillOnce(Return(napi_invalid_arg)); - auto ret = extBackupJs->CallJsOnBackupEx(); - EXPECT_EQ(ret, EINVAL); - extBackupJs->callbackInfoEx_ = std::make_shared([](ErrCode, std::string){}); EXPECT_CALL(*extBackupMock, GetNapiEnv()).WillOnce(Return(nullptr)).WillOnce(Return(nullptr)); - EXPECT_CALL(*napiMock, napi_get_uv_event_loop(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_is_exception_pending(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_get_value_string_utf8(_, _, _, _, _)).WillOnce(Return(napi_invalid_arg)); - EXPECT_CALL(*napiMock, napi_send_event(_, _, _)).WillOnce(Return(napi_invalid_arg)); - ret = extBackupJs->CallJsOnBackupEx(); + EXPECT_CALL(*napiMock, napi_send_cancelable_event(_, _, _, _, _, _)).WillOnce(Return(napi_invalid_arg)); + auto ret = extBackupJs->CallJsOnBackupEx(); EXPECT_EQ(ret, EINVAL); EXPECT_CALL(*extBackupMock, GetNapiEnv()).WillOnce(Return(nullptr)).WillOnce(Return(nullptr)); - EXPECT_CALL(*napiMock, napi_get_uv_event_loop(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_is_exception_pending(_, _)) .WillOnce(DoAll(SetArgPointee(true), Return(napi_ok))); EXPECT_CALL(*napiMock, napi_get_and_clear_last_exception(_, _)).WillOnce(Return(napi_invalid_arg)); - EXPECT_CALL(*napiMock, napi_send_event(_, _, _)).WillOnce(Return(napi_invalid_arg)); + EXPECT_CALL(*napiMock, napi_send_cancelable_event(_, _, _, _, _, _)).WillOnce(Return(napi_invalid_arg)); ret = extBackupJs->CallJsOnBackupEx(); EXPECT_EQ(ret, EINVAL); } catch (...) { @@ -1275,13 +1261,12 @@ HWTEST_F(ExtBackupJsTest, SUB_backup_ext_js_CallJsOnBackupEx_0200, testing::ext: try { extBackupJs->callbackInfoEx_ = std::make_shared([](ErrCode, std::string){}); EXPECT_CALL(*extBackupMock, GetNapiEnv()).WillOnce(Return(nullptr)).WillOnce(Return(nullptr)); - EXPECT_CALL(*napiMock, napi_get_uv_event_loop(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_is_promise(_, _, _)) .WillOnce(DoAll(SetArgPointee(true), Return(napi_ok))); EXPECT_CALL(*napiMock, napi_open_handle_scope(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_close_handle_scope(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_get_named_property(_, _, _, _)).WillOnce(Return(napi_invalid_arg)); - EXPECT_CALL(*napiMock, napi_send_event(_, _, _)).WillOnce(Return(napi_invalid_arg)); + EXPECT_CALL(*napiMock, napi_send_cancelable_event(_, _, _, _, _, _)).WillOnce(Return(napi_invalid_arg)); auto ret = extBackupJs->CallJsOnBackupEx(); EXPECT_EQ(ret, EINVAL); } catch (...) { @@ -1304,25 +1289,18 @@ HWTEST_F(ExtBackupJsTest, SUB_backup_ext_js_CallJsOnBackup_0100, testing::ext::T { GTEST_LOG_(INFO) << "ExtBackupJsTest-begin SUB_backup_ext_js_CallJsOnBackup_0100"; try { - EXPECT_CALL(*extBackupMock, GetNapiEnv()).WillOnce(Return(nullptr)); - EXPECT_CALL(*napiMock, napi_get_uv_event_loop(_, _)).WillOnce(Return(napi_invalid_arg)); - auto ret = extBackupJs->CallJsOnBackup(); - EXPECT_EQ(ret, EINVAL); - extBackupJs->callbackInfo_ = std::make_shared([](ErrCode, std::string){}); EXPECT_CALL(*extBackupMock, GetNapiEnv()).WillOnce(Return(nullptr)).WillOnce(Return(nullptr)); - EXPECT_CALL(*napiMock, napi_get_uv_event_loop(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_is_exception_pending(_, _)).WillOnce(Return(napi_ok)); - EXPECT_CALL(*napiMock, napi_send_event(_, _, _)).WillOnce(Return(napi_invalid_arg)); - ret = extBackupJs->CallJsOnBackup(); + EXPECT_CALL(*napiMock, napi_send_cancelable_event(_, _, _, _, _, _)).WillOnce(Return(napi_invalid_arg)); + auto ret = extBackupJs->CallJsOnBackup(); EXPECT_EQ(ret, EINVAL); EXPECT_CALL(*extBackupMock, GetNapiEnv()).WillOnce(Return(nullptr)).WillOnce(Return(nullptr)); - EXPECT_CALL(*napiMock, napi_get_uv_event_loop(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_is_exception_pending(_, _)) .WillOnce(DoAll(SetArgPointee(true), Return(napi_ok))); EXPECT_CALL(*napiMock, napi_get_and_clear_last_exception(_, _)).WillOnce(Return(napi_invalid_arg)); - EXPECT_CALL(*napiMock, napi_send_event(_, _, _)).WillOnce(Return(napi_invalid_arg)); + EXPECT_CALL(*napiMock, napi_send_cancelable_event(_, _, _, _, _, _)).WillOnce(Return(napi_invalid_arg)); ret = extBackupJs->CallJsOnBackup(); EXPECT_EQ(ret, EINVAL); } catch (...) { @@ -1347,13 +1325,12 @@ HWTEST_F(ExtBackupJsTest, SUB_backup_ext_js_CallJsOnBackup_0200, testing::ext::T try { extBackupJs->callbackInfo_ = std::make_shared([](ErrCode, std::string){}); EXPECT_CALL(*extBackupMock, GetNapiEnv()).WillOnce(Return(nullptr)).WillOnce(Return(nullptr)); - EXPECT_CALL(*napiMock, napi_get_uv_event_loop(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_is_promise(_, _, _)) .WillOnce(DoAll(SetArgPointee(true), Return(napi_ok))); EXPECT_CALL(*napiMock, napi_open_handle_scope(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_close_handle_scope(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_get_named_property(_, _, _, _)).WillOnce(Return(napi_invalid_arg)); - EXPECT_CALL(*napiMock, napi_send_event(_, _, _)).WillOnce(Return(napi_invalid_arg)); + EXPECT_CALL(*napiMock, napi_send_cancelable_event(_, _, _, _, _, _)).WillOnce(Return(napi_invalid_arg)); auto ret = extBackupJs->CallJsOnBackup(); EXPECT_EQ(ret, EINVAL); } catch (...) { @@ -1376,26 +1353,19 @@ HWTEST_F(ExtBackupJsTest, SUB_backup_ext_js_CallJSRestoreEx_0100, testing::ext:: { GTEST_LOG_(INFO) << "ExtBackupJsTest-begin SUB_backup_ext_js_CallJSRestoreEx_0100"; try { - EXPECT_CALL(*extBackupMock, GetNapiEnv()).WillOnce(Return(nullptr)); - EXPECT_CALL(*napiMock, napi_get_uv_event_loop(_, _)).WillOnce(Return(napi_invalid_arg)); - auto ret = extBackupJs->CallJSRestoreEx(); - EXPECT_EQ(ret, EINVAL); - extBackupJs->callbackInfoEx_ = std::make_shared([](ErrCode, std::string){}); EXPECT_CALL(*extBackupMock, GetNapiEnv()).WillOnce(Return(nullptr)).WillOnce(Return(nullptr)); - EXPECT_CALL(*napiMock, napi_get_uv_event_loop(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_is_exception_pending(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_get_value_string_utf8(_, _, _, _, _)).WillOnce(Return(napi_invalid_arg)); - EXPECT_CALL(*napiMock, napi_send_event(_, _, _)).WillOnce(Return(napi_invalid_arg)); - ret = extBackupJs->CallJSRestoreEx(); + EXPECT_CALL(*napiMock, napi_send_cancelable_event(_, _, _, _, _, _)).WillOnce(Return(napi_invalid_arg)); + auto ret = extBackupJs->CallJSRestoreEx(); EXPECT_EQ(ret, EINVAL); EXPECT_CALL(*extBackupMock, GetNapiEnv()).WillOnce(Return(nullptr)).WillOnce(Return(nullptr)); - EXPECT_CALL(*napiMock, napi_get_uv_event_loop(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_is_exception_pending(_, _)) .WillOnce(DoAll(SetArgPointee(true), Return(napi_ok))); EXPECT_CALL(*napiMock, napi_get_and_clear_last_exception(_, _)).WillOnce(Return(napi_invalid_arg)); - EXPECT_CALL(*napiMock, napi_send_event(_, _, _)).WillOnce(Return(napi_invalid_arg)); + EXPECT_CALL(*napiMock, napi_send_cancelable_event(_, _, _, _, _, _)).WillOnce(Return(napi_invalid_arg)); ret = extBackupJs->CallJSRestoreEx(); EXPECT_EQ(ret, EINVAL); } catch (...) { @@ -1420,13 +1390,12 @@ HWTEST_F(ExtBackupJsTest, SUB_backup_ext_js_CallJSRestoreEx_0200, testing::ext:: try { extBackupJs->callbackInfoEx_ = std::make_shared([](ErrCode, std::string){}); EXPECT_CALL(*extBackupMock, GetNapiEnv()).WillOnce(Return(nullptr)).WillOnce(Return(nullptr)); - EXPECT_CALL(*napiMock, napi_get_uv_event_loop(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_is_promise(_, _, _)) .WillOnce(DoAll(SetArgPointee(true), Return(napi_ok))); EXPECT_CALL(*napiMock, napi_open_handle_scope(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_close_handle_scope(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_get_named_property(_, _, _, _)).WillOnce(Return(napi_invalid_arg)); - EXPECT_CALL(*napiMock, napi_send_event(_, _, _)).WillOnce(Return(napi_invalid_arg)); + EXPECT_CALL(*napiMock, napi_send_cancelable_event(_, _, _, _, _, _)).WillOnce(Return(napi_invalid_arg)); auto ret = extBackupJs->CallJSRestoreEx(); EXPECT_EQ(ret, EINVAL); } catch (...) { @@ -1449,25 +1418,18 @@ HWTEST_F(ExtBackupJsTest, SUB_backup_ext_js_CallJSRestore_0100, testing::ext::Te { GTEST_LOG_(INFO) << "ExtBackupJsTest-begin SUB_backup_ext_js_CallJSRestore_0100"; try { - EXPECT_CALL(*extBackupMock, GetNapiEnv()).WillOnce(Return(nullptr)); - EXPECT_CALL(*napiMock, napi_get_uv_event_loop(_, _)).WillOnce(Return(napi_invalid_arg)); - auto ret = extBackupJs->CallJSRestore(); - EXPECT_EQ(ret, EINVAL); - extBackupJs->callbackInfo_ = std::make_shared([](ErrCode, std::string){}); EXPECT_CALL(*extBackupMock, GetNapiEnv()).WillOnce(Return(nullptr)).WillOnce(Return(nullptr)); - EXPECT_CALL(*napiMock, napi_get_uv_event_loop(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_is_exception_pending(_, _)).WillOnce(Return(napi_ok)); - EXPECT_CALL(*napiMock, napi_send_event(_, _, _)).WillOnce(Return(napi_invalid_arg)); - ret = extBackupJs->CallJSRestore(); + EXPECT_CALL(*napiMock, napi_send_cancelable_event(_, _, _, _, _, _)).WillOnce(Return(napi_invalid_arg)); + auto ret = extBackupJs->CallJSRestore(); EXPECT_EQ(ret, EINVAL); EXPECT_CALL(*extBackupMock, GetNapiEnv()).WillOnce(Return(nullptr)).WillOnce(Return(nullptr)); - EXPECT_CALL(*napiMock, napi_get_uv_event_loop(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_is_exception_pending(_, _)) .WillOnce(DoAll(SetArgPointee(true), Return(napi_ok))); EXPECT_CALL(*napiMock, napi_get_and_clear_last_exception(_, _)).WillOnce(Return(napi_invalid_arg)); - EXPECT_CALL(*napiMock, napi_send_event(_, _, _)).WillOnce(Return(napi_invalid_arg)); + EXPECT_CALL(*napiMock, napi_send_cancelable_event(_, _, _, _, _, _)).WillOnce(Return(napi_invalid_arg)); ret = extBackupJs->CallJSRestore(); EXPECT_EQ(ret, EINVAL); } catch (...) { @@ -1492,13 +1454,12 @@ HWTEST_F(ExtBackupJsTest, SUB_backup_ext_js_CallJSRestore_0200, testing::ext::Te try { extBackupJs->callbackInfo_ = std::make_shared([](ErrCode, std::string){}); EXPECT_CALL(*extBackupMock, GetNapiEnv()).WillOnce(Return(nullptr)).WillOnce(Return(nullptr)); - EXPECT_CALL(*napiMock, napi_get_uv_event_loop(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_is_promise(_, _, _)) .WillOnce(DoAll(SetArgPointee(true), Return(napi_ok))); EXPECT_CALL(*napiMock, napi_open_handle_scope(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_close_handle_scope(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_get_named_property(_, _, _, _)).WillOnce(Return(napi_invalid_arg)); - EXPECT_CALL(*napiMock, napi_send_event(_, _, _)).WillOnce(Return(napi_invalid_arg)); + EXPECT_CALL(*napiMock, napi_send_cancelable_event(_, _, _, _, _, _)).WillOnce(Return(napi_invalid_arg)); auto ret = extBackupJs->CallJSRestore(); EXPECT_EQ(ret, EINVAL); } catch (...) { @@ -1521,18 +1482,11 @@ HWTEST_F(ExtBackupJsTest, SUB_backup_ext_js_GetBackupInfo_0100, testing::ext::Te { GTEST_LOG_(INFO) << "ExtBackupJsTest-begin SUB_backup_ext_js_GetBackupInfo_0100"; try { - extBackupJs->jsObj_ = make_unique(); - EXPECT_CALL(*extBackupMock, GetNapiEnv()).WillOnce(Return(nullptr)); - EXPECT_CALL(*napiMock, napi_get_uv_event_loop(_, _)).WillOnce(Return(napi_invalid_arg)); - auto ret = extBackupJs->GetBackupInfo([](ErrCode, std::string){}); - EXPECT_EQ(ret, EINVAL); - EXPECT_CALL(*napiMock, napi_is_exception_pending(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*extBackupMock, GetNapiEnv()).WillOnce(Return(nullptr)).WillOnce(Return(nullptr)); - EXPECT_CALL(*napiMock, napi_get_uv_event_loop(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_get_value_string_utf8(_, _, _, _, _)).WillOnce(Return(napi_invalid_arg)); - EXPECT_CALL(*napiMock, napi_send_event(_, _, _)).WillOnce(Return(napi_invalid_arg)); - ret = extBackupJs->GetBackupInfo([](ErrCode, std::string){}); + EXPECT_CALL(*napiMock, napi_send_cancelable_event(_, _, _, _, _, _)).WillOnce(Return(napi_invalid_arg)); + auto ret = extBackupJs->GetBackupInfo([](ErrCode, std::string){}); EXPECT_EQ(ret, EINVAL); } catch (...) { EXPECT_TRUE(false); @@ -1557,21 +1511,19 @@ HWTEST_F(ExtBackupJsTest, SUB_backup_ext_js_GetBackupInfo_0200, testing::ext::Te extBackupJs->jsObj_ = make_unique(); EXPECT_CALL(*napiMock, napi_is_exception_pending(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*extBackupMock, GetNapiEnv()).WillOnce(Return(nullptr)).WillOnce(Return(nullptr)); - EXPECT_CALL(*napiMock, napi_get_uv_event_loop(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_get_value_string_utf8(_, _, _, _, _)).WillOnce(Return(napi_ok)) .WillOnce(Return(napi_ok)); - EXPECT_CALL(*napiMock, napi_send_event(_, _, _)).WillOnce(Return(napi_invalid_arg)); + EXPECT_CALL(*napiMock, napi_send_cancelable_event(_, _, _, _, _, _)).WillOnce(Return(napi_invalid_arg)); auto ret = extBackupJs->GetBackupInfo([](ErrCode, std::string){}); EXPECT_EQ(ret, EINVAL); EXPECT_CALL(*extBackupMock, GetNapiEnv()).WillOnce(Return(nullptr)).WillOnce(Return(nullptr)); - EXPECT_CALL(*napiMock, napi_get_uv_event_loop(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_is_promise(_, _, _)) .WillOnce(DoAll(SetArgPointee(true), Return(napi_ok))); EXPECT_CALL(*napiMock, napi_open_handle_scope(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_close_handle_scope(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_get_named_property(_, _, _, _)).WillOnce(Return(napi_invalid_arg)); - EXPECT_CALL(*napiMock, napi_send_event(_, _, _)).WillOnce(Return(napi_invalid_arg)); + EXPECT_CALL(*napiMock, napi_send_cancelable_event(_, _, _, _, _, _)).WillOnce(Return(napi_invalid_arg)); ret = extBackupJs->GetBackupInfo([](ErrCode, std::string){}); EXPECT_EQ(ret, EINVAL); } catch (...) { @@ -1594,18 +1546,11 @@ HWTEST_F(ExtBackupJsTest, SUB_backup_ext_js_OnProcess_0100, testing::ext::TestSi { GTEST_LOG_(INFO) << "ExtBackupJsTest-begin SUB_backup_ext_js_OnProcess_0100"; try { - extBackupJs->jsObj_ = make_unique(); - EXPECT_CALL(*extBackupMock, GetNapiEnv()).WillOnce(Return(nullptr)); - EXPECT_CALL(*napiMock, napi_get_uv_event_loop(_, _)).WillOnce(Return(napi_invalid_arg)); - auto ret = extBackupJs->OnProcess([](ErrCode, std::string){}); - EXPECT_EQ(ret, EINVAL); - EXPECT_CALL(*extBackupMock, GetNapiEnv()).WillOnce(Return(nullptr)).WillOnce(Return(nullptr)); - EXPECT_CALL(*napiMock, napi_get_uv_event_loop(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_is_exception_pending(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_get_value_string_utf8(_, _, _, _, _)).WillOnce(Return(napi_invalid_arg)); - EXPECT_CALL(*napiMock, napi_send_event(_, _, _)).WillOnce(Return(napi_invalid_arg)); - ret = extBackupJs->OnProcess([](ErrCode, std::string){}); + EXPECT_CALL(*napiMock, napi_send_cancelable_event(_, _, _, _, _, _)).WillOnce(Return(napi_invalid_arg)); + auto ret = extBackupJs->OnProcess([](ErrCode, std::string){}); EXPECT_EQ(ret, EINVAL); } catch (...) { EXPECT_TRUE(false); @@ -1628,18 +1573,16 @@ HWTEST_F(ExtBackupJsTest, SUB_backup_ext_js_OnProcess_0200, testing::ext::TestSi GTEST_LOG_(INFO) << "ExtBackupJsTest-begin SUB_backup_ext_js_OnProcess_0200"; try { EXPECT_CALL(*extBackupMock, GetNapiEnv()).WillOnce(Return(nullptr)).WillOnce(Return(nullptr)); - EXPECT_CALL(*napiMock, napi_get_uv_event_loop(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_is_exception_pending(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_get_value_string_utf8(_, _, _, _, _)).WillOnce(Return(napi_ok)) .WillOnce(Return(napi_ok)); - EXPECT_CALL(*napiMock, napi_send_event(_, _, _)).WillOnce(Return(napi_invalid_arg)); + EXPECT_CALL(*napiMock, napi_send_cancelable_event(_, _, _, _, _, _)).WillOnce(Return(napi_invalid_arg)); auto ret = extBackupJs->OnProcess([](ErrCode, std::string){}); EXPECT_EQ(ret, EINVAL); EXPECT_CALL(*extBackupMock, GetNapiEnv()).WillOnce(Return(nullptr)).WillOnce(Return(nullptr)); - EXPECT_CALL(*napiMock, napi_get_uv_event_loop(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_is_exception_pending(_, _)).WillOnce(Return(napi_ok)); - EXPECT_CALL(*napiMock, napi_send_event(_, _, _)).WillOnce(Return(napi_invalid_arg)); + EXPECT_CALL(*napiMock, napi_send_cancelable_event(_, _, _, _, _, _)).WillOnce(Return(napi_invalid_arg)); ret = extBackupJs->OnProcess([](ErrCode, std::string){}); EXPECT_EQ(ret, EINVAL); } catch (...) { diff --git a/tests/unittests/backup_ext/external_ext_backup_js_test.cpp b/tests/unittests/backup_ext/external_ext_backup_js_test.cpp index 79d551a7c..139ebbb64 100644 --- a/tests/unittests/backup_ext/external_ext_backup_js_test.cpp +++ b/tests/unittests/backup_ext/external_ext_backup_js_test.cpp @@ -816,16 +816,9 @@ HWTEST_F(ExtBackupJsTest, SUB_backup_ext_js_CallJsMethod_0100, testing::ext::Tes { GTEST_LOG_(INFO) << "ExtBackupJsTest-begin SUB_backup_ext_js_CallJsMethod_0100"; try { - extBackupJs->jsObj_ = make_unique(); - EXPECT_CALL(*extBackupMock, GetNapiEnv()).WillOnce(Return(nullptr)); - EXPECT_CALL(*napiMock, napi_get_uv_event_loop(_, _)).WillOnce(Return(napi_invalid_arg)); - auto ret = extBackupJs->CallJsMethod("", *jsRuntime, extBackupJs->jsObj_.get(), nullptr, nullptr); - EXPECT_EQ(ret, EINVAL); - EXPECT_CALL(*extBackupMock, GetNapiEnv()).WillOnce(Return(nullptr)).WillOnce(Return(nullptr)); - EXPECT_CALL(*napiMock, napi_get_uv_event_loop(_, _)).WillOnce(Return(napi_ok)); - EXPECT_CALL(*napiMock, napi_send_event(_, _, _)).WillOnce(Return(napi_invalid_arg)); - ret = extBackupJs->CallJsMethod("", *jsRuntime, extBackupJs->jsObj_.get(), nullptr, nullptr); + EXPECT_CALL(*napiMock, napi_send_cancelable_event(_, _, _, _, _, _)).WillOnce(Return(napi_invalid_arg)); + auto ret = extBackupJs->CallJsMethod("", *jsRuntime, extBackupJs->jsObj_.get(), nullptr, nullptr); EXPECT_EQ(ret, EINVAL); } catch (...) { EXPECT_TRUE(false); diff --git a/tests/unittests/backup_ext/tests/unittests/backup_ext/ext_backup_js_external_test.cpp b/tests/unittests/backup_ext/tests/unittests/backup_ext/ext_backup_js_external_test.cpp index c9b08a3b4..13f224829 100644 --- a/tests/unittests/backup_ext/tests/unittests/backup_ext/ext_backup_js_external_test.cpp +++ b/tests/unittests/backup_ext/tests/unittests/backup_ext/ext_backup_js_external_test.cpp @@ -817,15 +817,9 @@ HWTEST_F(ExtBackupJsTest, SUB_backup_ext_js_CallJsMethod_0100, testing::ext::Tes GTEST_LOG_(INFO) << "ExtBackupJsTest-begin SUB_backup_ext_js_CallJsMethod_0100"; try { extBackupJs->jsObj_ = make_unique(); - EXPECT_CALL(*extBackupMock, GetNapiEnv()).WillOnce(Return(nullptr)); - EXPECT_CALL(*napiMock, napi_get_uv_event_loop(_, _)).WillOnce(Return(napi_invalid_arg)); - auto ret = extBackupJs->CallJsMethod("", *jsRuntime, extBackupJs->jsObj_.get(), nullptr, nullptr); - EXPECT_EQ(ret, EINVAL); - EXPECT_CALL(*extBackupMock, GetNapiEnv()).WillOnce(Return(nullptr)).WillOnce(Return(nullptr)); - EXPECT_CALL(*napiMock, napi_get_uv_event_loop(_, _)).WillOnce(Return(napi_ok)); - EXPECT_CALL(*napiMock, napi_send_event(_, _, _)).WillOnce(Return(napi_invalid_arg)); - ret = extBackupJs->CallJsMethod("", *jsRuntime, extBackupJs->jsObj_.get(), nullptr, nullptr); + EXPECT_CALL(*napiMock, napi_send_cancelable_event(_, _, _, _, _, _)).WillOnce(Return(napi_invalid_arg)); + auto ret = extBackupJs->CallJsMethod("", *jsRuntime, extBackupJs->jsObj_.get(), nullptr, nullptr); EXPECT_EQ(ret, EINVAL); } catch (...) { EXPECT_TRUE(false); @@ -1059,26 +1053,19 @@ HWTEST_F(ExtBackupJsTest, SUB_backup_ext_js_CallJsOnBackupEx_0100, testing::ext: { GTEST_LOG_(INFO) << "ExtBackupJsTest-begin SUB_backup_ext_js_CallJsOnBackupEx_0100"; try { - EXPECT_CALL(*extBackupMock, GetNapiEnv()).WillOnce(Return(nullptr)); - EXPECT_CALL(*napiMock, napi_get_uv_event_loop(_, _)).WillOnce(Return(napi_invalid_arg)); - auto ret = extBackupJs->CallJsOnBackupEx(); - EXPECT_EQ(ret, EINVAL); - extBackupJs->callbackInfoEx_ = std::make_shared([](ErrCode, std::string){}); EXPECT_CALL(*extBackupMock, GetNapiEnv()).WillOnce(Return(nullptr)).WillOnce(Return(nullptr)); - EXPECT_CALL(*napiMock, napi_get_uv_event_loop(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_is_exception_pending(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_get_value_string_utf8(_, _, _, _, _)).WillOnce(Return(napi_invalid_arg)); - EXPECT_CALL(*napiMock, napi_send_event(_, _, _)).WillOnce(Return(napi_invalid_arg)); - ret = extBackupJs->CallJsOnBackupEx(); + EXPECT_CALL(*napiMock, napi_send_cancelable_event(_, _, _, _, _, _)).WillOnce(Return(napi_invalid_arg)); + auto ret = extBackupJs->CallJsOnBackupEx(); EXPECT_EQ(ret, EINVAL); EXPECT_CALL(*extBackupMock, GetNapiEnv()).WillOnce(Return(nullptr)).WillOnce(Return(nullptr)); - EXPECT_CALL(*napiMock, napi_get_uv_event_loop(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_is_exception_pending(_, _)) .WillOnce(DoAll(SetArgPointee(true), Return(napi_ok))); EXPECT_CALL(*napiMock, napi_get_and_clear_last_exception(_, _)).WillOnce(Return(napi_invalid_arg)); - EXPECT_CALL(*napiMock, napi_send_event(_, _, _)).WillOnce(Return(napi_invalid_arg)); + EXPECT_CALL(*napiMock, napi_send_cancelable_event(_, _, _, _, _, _)).WillOnce(Return(napi_invalid_arg)); ret = extBackupJs->CallJsOnBackupEx(); EXPECT_EQ(ret, EINVAL); } catch (...) { @@ -1103,13 +1090,12 @@ HWTEST_F(ExtBackupJsTest, SUB_backup_ext_js_CallJsOnBackupEx_0200, testing::ext: try { extBackupJs->callbackInfoEx_ = std::make_shared([](ErrCode, std::string){}); EXPECT_CALL(*extBackupMock, GetNapiEnv()).WillOnce(Return(nullptr)).WillOnce(Return(nullptr)); - EXPECT_CALL(*napiMock, napi_get_uv_event_loop(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_is_promise(_, _, _)) .WillOnce(DoAll(SetArgPointee(true), Return(napi_ok))); EXPECT_CALL(*napiMock, napi_open_handle_scope(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_close_handle_scope(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_get_named_property(_, _, _, _)).WillOnce(Return(napi_invalid_arg)); - EXPECT_CALL(*napiMock, napi_send_event(_, _, _)).WillOnce(Return(napi_invalid_arg)); + EXPECT_CALL(*napiMock, napi_send_cancelable_event(_, _, _, _, _, _)).WillOnce(Return(napi_invalid_arg)); auto ret = extBackupJs->CallJsOnBackupEx(); EXPECT_EQ(ret, EINVAL); } catch (...) { @@ -1132,25 +1118,18 @@ HWTEST_F(ExtBackupJsTest, SUB_backup_ext_js_CallJsOnBackup_0100, testing::ext::T { GTEST_LOG_(INFO) << "ExtBackupJsTest-begin SUB_backup_ext_js_CallJsOnBackup_0100"; try { - EXPECT_CALL(*extBackupMock, GetNapiEnv()).WillOnce(Return(nullptr)); - EXPECT_CALL(*napiMock, napi_get_uv_event_loop(_, _)).WillOnce(Return(napi_invalid_arg)); - auto ret = extBackupJs->CallJsOnBackup(); - EXPECT_EQ(ret, EINVAL); - extBackupJs->callbackInfo_ = std::make_shared([](ErrCode, std::string){}); EXPECT_CALL(*extBackupMock, GetNapiEnv()).WillOnce(Return(nullptr)).WillOnce(Return(nullptr)); - EXPECT_CALL(*napiMock, napi_get_uv_event_loop(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_is_exception_pending(_, _)).WillOnce(Return(napi_ok)); - EXPECT_CALL(*napiMock, napi_send_event(_, _, _)).WillOnce(Return(napi_invalid_arg)); - ret = extBackupJs->CallJsOnBackup(); + EXPECT_CALL(*napiMock, napi_send_cancelable_event(_, _, _, _, _, _)).WillOnce(Return(napi_invalid_arg)); + auto ret = extBackupJs->CallJsOnBackup(); EXPECT_EQ(ret, EINVAL); EXPECT_CALL(*extBackupMock, GetNapiEnv()).WillOnce(Return(nullptr)).WillOnce(Return(nullptr)); - EXPECT_CALL(*napiMock, napi_get_uv_event_loop(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_is_exception_pending(_, _)) .WillOnce(DoAll(SetArgPointee(true), Return(napi_ok))); EXPECT_CALL(*napiMock, napi_get_and_clear_last_exception(_, _)).WillOnce(Return(napi_invalid_arg)); - EXPECT_CALL(*napiMock, napi_send_event(_, _, _)).WillOnce(Return(napi_invalid_arg)); + EXPECT_CALL(*napiMock, napi_send_cancelable_event(_, _, _, _, _, _)).WillOnce(Return(napi_invalid_arg)); ret = extBackupJs->CallJsOnBackup(); EXPECT_EQ(ret, EINVAL); } catch (...) { @@ -1175,13 +1154,12 @@ HWTEST_F(ExtBackupJsTest, SUB_backup_ext_js_CallJsOnBackup_0200, testing::ext::T try { extBackupJs->callbackInfo_ = std::make_shared([](ErrCode, std::string){}); EXPECT_CALL(*extBackupMock, GetNapiEnv()).WillOnce(Return(nullptr)).WillOnce(Return(nullptr)); - EXPECT_CALL(*napiMock, napi_get_uv_event_loop(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_is_promise(_, _, _)) .WillOnce(DoAll(SetArgPointee(true), Return(napi_ok))); EXPECT_CALL(*napiMock, napi_open_handle_scope(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_close_handle_scope(_, _)).WillOnce(Return(napi_ok)); EXPECT_CALL(*napiMock, napi_get_named_property(_, _, _, _)).WillOnce(Return(napi_invalid_arg)); - EXPECT_CALL(*napiMock, napi_send_event(_, _, _)).WillOnce(Return(napi_invalid_arg)); + EXPECT_CALL(*napiMock, napi_send_cancelable_event(_, _, _, _, _, _)).WillOnce(Return(napi_invalid_arg)); auto ret = extBackupJs->CallJsOnBackup(); EXPECT_EQ(ret, EINVAL); } catch (...) { -- Gitee