diff --git a/frameworks/native/backup_kit_inner/src/b_incremental_backup_session.cpp b/frameworks/native/backup_kit_inner/src/b_incremental_backup_session.cpp index 69b84aa79b1770bb7d2b5d01b9a95be5bca748eb..a3f98f0b676b5a085b104e9ff9ba7556cc5c6b76 100644 --- a/frameworks/native/backup_kit_inner/src/b_incremental_backup_session.cpp +++ b/frameworks/native/backup_kit_inner/src/b_incremental_backup_session.cpp @@ -71,9 +71,9 @@ unique_ptr BIncrementalBackupSession::Init(Callbacks HILOGI("Failed to get backup service"); return nullptr; } - errCode = proxy->InitIncrementalBackupSessionWithErrMsg(sptr(new ServiceReverse(callbacks)), errMsg); + proxy->InitIncrementalBackupSessionWithErrMsg(sptr(new ServiceReverse(callbacks)), errCode, errMsg); if (errCode != ERR_OK) { - HILOGE("Failed to Backup because of %{public}d", errCode); + HILOGE("Failed to Backup because of %{public}d, %{public}s", errCode, errMsg.c_str()); AppRadar::Info info("", "", ""); AppRadar::GetInstance().RecordBackupFuncRes(info, "BIncrementalBackupSession::Init", AppRadar::GetInstance().GetUserId(), BizStageBackup::BIZ_STAGE_CREATE_BACKUP_SESSION_FAIL, errCode); diff --git a/frameworks/native/backup_kit_inner/src/b_incremental_restore_session.cpp b/frameworks/native/backup_kit_inner/src/b_incremental_restore_session.cpp index 5c9864eef1ab014758d27dea2502d563eed794ed..2216b47d40a1ce1e324957d8a6d61c44472dddab 100644 --- a/frameworks/native/backup_kit_inner/src/b_incremental_restore_session.cpp +++ b/frameworks/native/backup_kit_inner/src/b_incremental_restore_session.cpp @@ -73,9 +73,9 @@ unique_ptr BIncrementalRestoreSession::Init(Callback HILOGE("Init IncrementalRestoreSession failed, %{public}s", errMsg.c_str()); return nullptr; } - errCode = proxy->InitRestoreSessionWithErrMsg(sptr(new ServiceReverse(callbacks)), errMsg); + proxy->InitRestoreSessionWithErrMsg(sptr(new ServiceReverse(callbacks)), errCode, errMsg); if (errCode != ERR_OK) { - HILOGE("Failed to Restore because of %{public}d", errCode); + HILOGE("Failed to Restore because of %{public}d, %{public}s", errCode, errMsg.c_str()); AppRadar::Info info ("", "", "create restore session failed"); AppRadar::GetInstance().RecordRestoreFuncRes(info, "BIncrementalRestoreSession::Init", AppRadar::GetInstance().GetUserId(), BizStageRestore::BIZ_STAGE_CREATE_RESTORE_SESSION_FAIL, errCode); diff --git a/frameworks/native/backup_kit_inner/src/b_session_backup.cpp b/frameworks/native/backup_kit_inner/src/b_session_backup.cpp index 8378cf28afece1d27ffe2629e4b4d302bca330e7..1a7a1ba5758d1dd4481e51ce5e8751bfa6bb2acd 100644 --- a/frameworks/native/backup_kit_inner/src/b_session_backup.cpp +++ b/frameworks/native/backup_kit_inner/src/b_session_backup.cpp @@ -71,9 +71,9 @@ unique_ptr BSessionBackup::Init(Callbacks callbacks, HILOGI("Failed to get backup service"); return nullptr; } - errCode = proxy->InitBackupSessionWithErrMsg(sptr(new ServiceReverse(callbacks)), errMsg); + proxy->InitBackupSessionWithErrMsg(sptr(new ServiceReverse(callbacks)), errCode, errMsg); if (errCode != ERR_OK) { - HILOGE("Failed to Backup because of %{public}d", errCode); + HILOGE("Failed to Backup because of %{public}d, %{public}s", errCode, errMsg.c_str()); AppRadar::Info info("", "", ""); AppRadar::GetInstance().RecordBackupFuncRes(info, "BSessionBackup::Init", AppRadar::GetInstance().GetUserId(), BizStageBackup::BIZ_STAGE_CREATE_BACKUP_SESSION_FAIL, errCode); diff --git a/services/backup_sa/IService.idl b/services/backup_sa/IService.idl index d5cc82be5d7eeeee2875ae5f671cb53e2eb3a03c..8d03b1f91ff30fc7380cb08d2bf9bef9008019f8 100644 --- a/services/backup_sa/IService.idl +++ b/services/backup_sa/IService.idl @@ -20,9 +20,11 @@ sequenceable BackupFileInfo..OHOS.FileManagement.Backup.BFileInfo; sequenceable BackupIncrementalData..OHOS.FileManagement.Backup.BIncrementalData; interface OHOS.FileManagement.Backup.IService{ [ipccode 39] void InitRestoreSession([in] IServiceReverse reverseIpcRemoteObject); - [ipccode 1] void InitRestoreSessionWithErrMsg([in] IServiceReverse reverseIpcRemoteObject, [out] String errMsg); + [ipccode 1] void InitRestoreSessionWithErrMsg([in] IServiceReverse reverseIpcRemoteObject, + [out] int errCodeForMsg, [out] String errMsg); [ipccode 2] void InitBackupSession([in] IServiceReverse reverseIpcRemoteObject); - [ipccode 3] void InitBackupSessionWithErrMsg([in] IServiceReverse reverseIpcRemoteObject, [out] String errMsg); + [ipccode 3] void InitBackupSessionWithErrMsg([in] IServiceReverse reverseIpcRemoteObject, + [out] int errCodeForMsg, [out] String errMsg); [ipccode 4] void Start(); [ipccode 5] void GetLocalCapabilities([out] FileDescriptor fd); [ipccode 6] void GetLocalCapabilitiesForBundleInfos([out] FileDescriptor fd); @@ -53,14 +55,14 @@ interface OHOS.FileManagement.Backup.IService{ [ipccode 24] void GetLocalCapabilitiesIncremental([in] BIncrementalData[] bundleNames, [out] FileDescriptor fd); [ipccode 25] void InitIncrementalBackupSession([in] IServiceReverse reverseIpcRemoteObject); [ipccode 26] void InitIncrementalBackupSessionWithErrMsg([in] IServiceReverse reverseIpcRemoteObject, - [out] String errMsg); + [out] int errCodeForMsg, [out] String errMsg); [ipccode 27] void AppendBundlesIncrementalBackupSession([in] BIncrementalData[] bundlesToBackup); [ipccode 28] void AppendBundlesIncrementalBackupSessionWithBundleInfos([in] BIncrementalData[] bundlesToBackup, [in]String[] bundleInfos); [ipccode 29] void PublishIncrementalFile([in] BFileInfo fileInfo); [ipccode 30] void PublishSAIncrementalFile([in] BFileInfo fileInfo, [in] FileDescriptor fd); [ipccode 31] void AppIncrementalFileReady([in] String fileName, [in] FileDescriptor fd, [in] FileDescriptor manifestFd, - [in] int appIncrementalFileReadyErrCode); + [in] int appIncrementalFileReadyErrCode); [ipccode 32] void AppIncrementalDone([in] int appIncrementalDoneErrCode); [ipccode 33] void ReportAppProcessInfo([in] String processInfo, [in] BackupRestoreScenario scenario); [ipccode 34] void RefreshDataSize([in] long totalDataSize); diff --git a/services/backup_sa/include/module_ipc/service.h b/services/backup_sa/include/module_ipc/service.h index aa7913f2c3cabaeec00a46619956c4a2bffdb155..93084c83a8bc9001de3c993239ff0445b00cc741 100644 --- a/services/backup_sa/include/module_ipc/service.h +++ b/services/backup_sa/include/module_ipc/service.h @@ -55,9 +55,10 @@ class Service : public SystemAbility, public ServiceStub, protected NoCopyable { public: ErrCode InitRestoreSession(const sptr& remote) override; ErrCode InitRestoreSessionWithErrMsg(const sptr& reverseIpcRemoteObject, - std::string& errMsg) override; + int32_t &errCodeForMsg, std::string& errMsg) override; ErrCode InitBackupSession(const sptr& remote) override; - ErrCode InitBackupSessionWithErrMsg(const sptr& remote, std::string &errMsg) override; + ErrCode InitBackupSessionWithErrMsg(const sptr& remote, + int32_t &errCodeForMsg, std::string &errMsg) override; ErrCode Start() override; ErrCode GetLocalCapabilities(int& fd) override; @@ -87,7 +88,8 @@ public: ErrCode GetLocalCapabilitiesIncremental(const std::vector& bundleNames, int& fd) override; ErrCode GetAppLocalListAndDoIncrementalBackup() override; ErrCode InitIncrementalBackupSession(const sptr& remote) override; - ErrCode InitIncrementalBackupSessionWithErrMsg(const sptr& remote, std::string &errMsg) override; + ErrCode InitIncrementalBackupSessionWithErrMsg(const sptr& remote, int32_t &errCodeForMsg, + std::string &errMsg) override; ErrCode AppendBundlesIncrementalBackupSession(const std::vector &bundlesToBackup) override; ErrCode AppendBundlesIncrementalBackupSessionWithBundleInfos(const std::vector& bundlesToBackup, const std::vector& bundleInfos) override; @@ -682,7 +684,8 @@ private: void SetScanningInfo(string &scanning, string name); ErrCode InitRestoreSession(const sptr& remote, std::string &errMsg); - + ErrCode InitBackupSession(const sptr& remote, std::string &errMsg); + ErrCode InitIncrementalBackupSession(const sptr& remote, std::string &errMsg); UniqueFd GetLocalCapabilities(); UniqueFd GetLocalCapabilitiesForBundleInfos(); ErrCode AppFileReady(const std::string &fileName, UniqueFd fd, int32_t errCode); diff --git a/services/backup_sa/src/module_ipc/service_incremental.cpp b/services/backup_sa/src/module_ipc/service_incremental.cpp index 2215a7110019520e60ea98e957f2f62f97867af4..3cce4d40de2680c30ce3698ff1cb476c74f3afce 100644 --- a/services/backup_sa/src/module_ipc/service_incremental.cpp +++ b/services/backup_sa/src/module_ipc/service_incremental.cpp @@ -338,7 +338,17 @@ ErrCode Service::InitIncrementalBackupSession(const sptr& remot return errCode; } -ErrCode Service::InitIncrementalBackupSessionWithErrMsg(const sptr& remote, std::string &errMsg) +ErrCode Service::InitIncrementalBackupSessionWithErrMsg(const sptr& remote, int32_t &errCodeForMsg, + std::string &errMsg) +{ + errCodeForMsg = InitIncrementalBackupSession(remote, errMsg); + HILOGI("Start InitIncrementalBackupSessionWithErrMsg, errCode:%{public}d, Msg :%{public}s", + errCodeForMsg, + errMsg.c_str()); + return ERR_OK; +} + +ErrCode Service::InitIncrementalBackupSession(const sptr& remote, std::string &errMsg) { HITRACE_METER_NAME(HITRACE_TAG_FILEMANAGEMENT, __PRETTY_FUNCTION__); totalStatistic_ = std::make_shared(BizScene::BACKUP, GetCallerName(), Mode::INCREMENTAL); diff --git a/services/backup_sa/src/module_ipc/sub_service.cpp b/services/backup_sa/src/module_ipc/sub_service.cpp index 71ba0c8ed8dca564163888cdb5765a3fe6cb7b4a..33ad9905adf9dc5de97c2f847eed04556359d5dc 100644 --- a/services/backup_sa/src/module_ipc/sub_service.cpp +++ b/services/backup_sa/src/module_ipc/sub_service.cpp @@ -894,10 +894,14 @@ std::string Service::GetCallerName() return callerName; } -ErrCode Service::InitRestoreSessionWithErrMsg(const sptr &remote, std::string &errMsg) +ErrCode Service::InitRestoreSessionWithErrMsg(const sptr &remote, + int32_t &errCodeForMsg, std::string &errMsg) { - HILOGI("Start InitRestoreSessionWithErrMsg,Msg :%{public}s", errMsg.c_str()); - return InitRestoreSession(remote, errMsg); + errCodeForMsg = InitRestoreSession(remote, errMsg); + HILOGI("Start InitRestoreSessionWithErrMsg, errCode:%{public}d, Msg :%{public}s", + errCodeForMsg, + errMsg.c_str()); + return ERR_OK; } ErrCode Service::InitRestoreSession(const sptr& remote, std::string &errMsg) @@ -938,7 +942,17 @@ ErrCode Service::InitRestoreSession(const sptr& remote, std::st return ret; } -ErrCode Service::InitBackupSessionWithErrMsg(const sptr& remote, std::string &errMsg) +ErrCode Service::InitBackupSessionWithErrMsg(const sptr& remote, + int32_t &errCodeForMsg, std::string &errMsg) +{ + errCodeForMsg = InitBackupSession(remote, errMsg); + HILOGI("Start InitBackupSessionWithErrMsg, errCode:%{public}d, Msg :%{public}s", + errCodeForMsg, + errMsg.c_str()); + return ERR_OK; +} + +ErrCode Service::InitBackupSession(const sptr& remote, std::string &errMsg) { HITRACE_METER_NAME(HITRACE_TAG_FILEMANAGEMENT, __PRETTY_FUNCTION__); totalStatistic_ = std::make_shared(BizScene::BACKUP, GetCallerName()); diff --git a/tests/mock/backup_kit_inner/service_proxy_mock.cpp b/tests/mock/backup_kit_inner/service_proxy_mock.cpp index d521ebec5a5b50ff13799758ed6201d78df17f9c..96fa0647aec8f048eafc5b01b9148570fbfeda62 100644 --- a/tests/mock/backup_kit_inner/service_proxy_mock.cpp +++ b/tests/mock/backup_kit_inner/service_proxy_mock.cpp @@ -39,10 +39,12 @@ int32_t ServiceProxy::InitRestoreSession(const sptr& remote) return 0; } -int32_t ServiceProxy::InitRestoreSessionWithErrMsg(const sptr& remote, std::string &errMsg) +int32_t ServiceProxy::InitRestoreSessionWithErrMsg(const sptr& remote, + int32_t &errCodeForMsg, std::string &errMsg) { if (!GetMockInitBackupOrRestoreSession()) { - return 1; + errCodeForMsg = 1; + return 0; } return 0; } @@ -55,10 +57,12 @@ int32_t ServiceProxy::InitBackupSession(const sptr& remote) return 0; } -int32_t ServiceProxy::InitBackupSessionWithErrMsg(const sptr& remote, std::string &errMsg) +int32_t ServiceProxy::InitBackupSessionWithErrMsg(const sptr& remote, + int32_t &errCodeForMsg, std::string &errMsg) { if (!GetMockInitBackupOrRestoreSession()) { - return 1; + errCodeForMsg = 1; + return 0; } return 0; } @@ -163,8 +167,10 @@ ErrCode ServiceProxy::InitIncrementalBackupSession(const sptr& return BError(BError::Codes::OK); } -ErrCode ServiceProxy::InitIncrementalBackupSessionWithErrMsg(const sptr &remote, std::string &errMsg) +ErrCode ServiceProxy::InitIncrementalBackupSessionWithErrMsg(const sptr &remote, + int32_t &errCodeForMsg, std::string &errMsg) { + errCodeForMsg = BError(BError::Codes::OK); return BError(BError::Codes::OK); } diff --git a/tests/mock/module_ipc/service_mock.cpp b/tests/mock/module_ipc/service_mock.cpp index 6a945c4bade8a6c417adc9d3266f750ba18eb018..e94ff4c32af643f8220a5ac32ca5e94083add992 100644 --- a/tests/mock/module_ipc/service_mock.cpp +++ b/tests/mock/module_ipc/service_mock.cpp @@ -57,8 +57,10 @@ ErrCode Service::InitRestoreSession(const sptr &remote) return BError(BError::Codes::OK); } -ErrCode Service::InitRestoreSessionWithErrMsg(const sptr &reverseIpcRemoteObject, std::string &errMsg) +ErrCode Service::InitRestoreSessionWithErrMsg(const sptr &reverseIpcRemoteObject, + int32_t &errCodeForMsg, std::string &errMsg) { + errCodeForMsg = BError(BError::Codes::OK); return BError(BError::Codes::OK); } @@ -67,8 +69,10 @@ ErrCode Service::InitBackupSession(const sptr &remote) return BError(BError::Codes::OK); } -ErrCode Service::InitBackupSessionWithErrMsg(const sptr &remote, std::string &errMsg) +ErrCode Service::InitBackupSessionWithErrMsg(const sptr &remote, + int32_t &errCodeForMsg, std::string &errMsg) { + errCodeForMsg = BError(BError::Codes::OK); return BError(BError::Codes::OK); } @@ -210,8 +214,10 @@ ErrCode Service::InitIncrementalBackupSession(const sptr &remot return BError(BError::Codes::OK); } -ErrCode Service::InitIncrementalBackupSessionWithErrMsg(const sptr &remote, std::string &errMsg) +ErrCode Service::InitIncrementalBackupSessionWithErrMsg(const sptr &remote, + int32_t &errCodeForMsg, std::string &errMsg) { + errCodeForMsg = BError(BError::Codes::OK); return BError(BError::Codes::OK); } diff --git a/tests/unittests/backup_sa/module_client/service_client_test.cpp b/tests/unittests/backup_sa/module_client/service_client_test.cpp index 0cecf86a55f6258b897c044e026a0c7537a7d943..3779c0e5e9fb8b052c7949d60ca03763728e371c 100644 --- a/tests/unittests/backup_sa/module_client/service_client_test.cpp +++ b/tests/unittests/backup_sa/module_client/service_client_test.cpp @@ -330,11 +330,11 @@ HWTEST_F(ServiceClientTest, SUB_service_client_test_1200, testing::ext::TestSize EXPECT_NE(ret, BError(BError::Codes::OK)); std::string errMsg = ""; std::string result = "err"; - ret = proxy->InitRestoreSessionWithErrMsg(srptr, errMsg); + proxy->InitRestoreSessionWithErrMsg(srptr, ret, errMsg); EXPECT_NE(ret, BError(BError::Codes::OK)); - ret = proxy->InitBackupSessionWithErrMsg(srptr, errMsg); + proxy->InitBackupSessionWithErrMsg(srptr, ret, errMsg); EXPECT_NE(ret, BError(BError::Codes::OK)); - ret = proxy->InitIncrementalBackupSessionWithErrMsg(srptr, errMsg); + proxy->InitIncrementalBackupSessionWithErrMsg(srptr, ret, errMsg); EXPECT_NE(ret, BError(BError::Codes::OK)); BSessionRestore::Callbacks callback; srptr = sptr(new ServiceReverse(callback)); @@ -345,15 +345,15 @@ HWTEST_F(ServiceClientTest, SUB_service_client_test_1200, testing::ext::TestSize ret = proxy->InitIncrementalBackupSession(srptr); EXPECT_EQ(ret, BError(BError::BackupErrorCode::E_CONFLICT)); - ret = proxy->InitRestoreSessionWithErrMsg(srptr, errMsg); + proxy->InitRestoreSessionWithErrMsg(srptr, ret, errMsg); EXPECT_EQ(ret, BError(BError::BackupErrorCode::E_CONFLICT)); - EXPECT_EQ(errMsg, ""); - ret = proxy->InitBackupSessionWithErrMsg(srptr, errMsg); + EXPECT_NE(errMsg, ""); + proxy->InitBackupSessionWithErrMsg(srptr, ret, errMsg); EXPECT_EQ(ret, BError(BError::BackupErrorCode::E_CONFLICT)); - EXPECT_EQ(errMsg, ""); - ret = proxy->InitIncrementalBackupSessionWithErrMsg(srptr, errMsg); + EXPECT_NE(errMsg, ""); + proxy->InitIncrementalBackupSessionWithErrMsg(srptr, ret, errMsg); EXPECT_EQ(ret, BError(BError::BackupErrorCode::E_CONFLICT)); - EXPECT_EQ(errMsg, ""); + EXPECT_NE(errMsg, ""); GTEST_LOG_(INFO) << "ServiceClientTest-end SUB_service_client_test_1200"; } diff --git a/tests/unittests/backup_sa/module_ipc/service_incremental_test.cpp b/tests/unittests/backup_sa/module_ipc/service_incremental_test.cpp index 5813e2ea9e089408d78b76435b7a47d5d7c2411c..1aabc192e0981e1188e14e01b2838dcc8728d810 100644 --- a/tests/unittests/backup_sa/module_ipc/service_incremental_test.cpp +++ b/tests/unittests/backup_sa/module_ipc/service_incremental_test.cpp @@ -36,9 +36,9 @@ public: virtual ErrCode GetLocalCapabilities(int& fd) = 0; virtual ErrCode VerifyCallerAndGetCallerName(std::string&) = 0; virtual ErrCode InitRestoreSession(const sptr&) = 0; - virtual ErrCode InitRestoreSessionWithErrMsg(const sptr&, std::string&) = 0; + virtual ErrCode InitRestoreSessionWithErrMsg(const sptr&, int32_t&, std::string&) = 0; virtual ErrCode InitBackupSession(const sptr&) = 0; - virtual ErrCode InitBackupSessionWithErrMsg(const sptr&, std::string&) = 0; + virtual ErrCode InitBackupSessionWithErrMsg(const sptr&, int32_t&, std::string&) = 0; virtual ErrCode Start() = 0; virtual ErrCode PublishFile(const BFileInfo&) = 0; virtual ErrCode AppFileReady(const std::string &, int, int32_t) = 0; @@ -90,9 +90,9 @@ public: MOCK_METHOD(ErrCode, GetLocalCapabilities, (int&)); MOCK_METHOD(ErrCode, VerifyCallerAndGetCallerName, (std::string&)); MOCK_METHOD(ErrCode, InitRestoreSession, (const sptr&)); - MOCK_METHOD(ErrCode, InitRestoreSessionWithErrMsg, (const sptr&, std::string&)); + MOCK_METHOD(ErrCode, InitRestoreSessionWithErrMsg, (const sptr&, int32_t &, std::string&)); MOCK_METHOD(ErrCode, InitBackupSession, (const sptr&)); - MOCK_METHOD(ErrCode, InitBackupSessionWithErrMsg, (const sptr&, std::string&)); + MOCK_METHOD(ErrCode, InitBackupSessionWithErrMsg, (const sptr&, int32_t &, std::string&)); MOCK_METHOD(ErrCode, Start, ()); MOCK_METHOD(ErrCode, PublishFile, (const BFileInfo&)); MOCK_METHOD(ErrCode, AppFileReady, (const string&, int, int32_t)); @@ -143,8 +143,10 @@ ErrCode Service::GetLocalCapabilitiesForBundleInfos(int &fd) { return BError(BError::Codes::OK); } -ErrCode Service::InitBackupSessionWithErrMsg(const sptr &remote, std::string &errMsg) +ErrCode Service::InitBackupSessionWithErrMsg(const sptr &remote, + int32_t& errCodeForMsg, std::string &errMsg) { + errCodeForMsg = BError(BError::Codes::OK); return BError(BError::Codes::OK); } @@ -165,9 +167,10 @@ ErrCode Service::InitRestoreSession(const sptr &remote) return BService::serviceMock->InitRestoreSession(remote); } -ErrCode Service::InitRestoreSessionWithErrMsg(const sptr &remote, std::string &errMsg) +ErrCode Service::InitRestoreSessionWithErrMsg(const sptr &remote, + int32_t& errCodeForMsg, std::string &errMsg) { - return BService::serviceMock->InitRestoreSessionWithErrMsg(remote, errMsg); + return BService::serviceMock->InitRestoreSessionWithErrMsg(remote, errCodeForMsg, errMsg); } ErrCode Service::InitBackupSession(const sptr &remote) @@ -803,24 +806,25 @@ HWTEST_F(ServiceIncrementalTest, SUB_ServiceIncremental_InitIncrementalBackupSes try { std::string errMsg; sptr reverseNUll = nullptr; + ErrCode errCode; EXPECT_CALL(*srvMock, VerifyCaller()).WillOnce(Return(BError(BError::Codes::SA_INVAL_ARG).GetCode())); EXPECT_CALL(*srvMock, GetCallerName()).WillRepeatedly(Return("")); - EXPECT_EQ(service->InitIncrementalBackupSessionWithErrMsg(reverseNUll, errMsg), - BError(BError::Codes::SA_INVAL_ARG).GetCode()); + service->InitIncrementalBackupSessionWithErrMsg(reverseNUll, errCode, errMsg); + EXPECT_EQ(errCode, BError(BError::Codes::SA_INVAL_ARG).GetCode()); auto session_ = service->session_; service->session_ = nullptr; EXPECT_CALL(*srvMock, VerifyCaller()).WillOnce(Return(BError(BError::Codes::OK).GetCode())); - EXPECT_EQ(service->InitIncrementalBackupSessionWithErrMsg(reverseNUll, errMsg), - BError(BError::Codes::SA_INVAL_ARG).GetCode()); + service->InitIncrementalBackupSessionWithErrMsg(reverseNUll, errCode, errMsg); + EXPECT_EQ(errCode, BError(BError::Codes::SA_INVAL_ARG).GetCode()); service->session_ = session_; EXPECT_CALL(*srvMock, VerifyCaller()).WillOnce(Return(BError(BError::Codes::OK).GetCode())); EXPECT_CALL(*skeleton, GetCallingTokenID()).WillOnce(Return(0)); EXPECT_CALL(*srvMock, GetUserIdDefault()).WillOnce(Return(0)); EXPECT_CALL(*session, Active(_, _)).WillOnce(Return(BError(BError::Codes::OK))); - EXPECT_EQ(service->InitIncrementalBackupSessionWithErrMsg(reverseNUll, errMsg), - BError(BError::Codes::OK).GetCode()); + service->InitIncrementalBackupSessionWithErrMsg(reverseNUll, errCode, errMsg); + EXPECT_EQ(errCode, BError(BError::Codes::OK).GetCode()); EXPECT_CALL(*srvMock, VerifyCaller()).WillOnce(Return(BError(BError::Codes::OK).GetCode())); EXPECT_CALL(*skeleton, GetCallingTokenID()).WillOnce(Return(0)); EXPECT_CALL(*srvMock, GetUserIdDefault()).WillOnce(Return(0)); @@ -829,15 +833,15 @@ HWTEST_F(ServiceIncrementalTest, SUB_ServiceIncremental_InitIncrementalBackupSes EXPECT_CALL(*session, GetSessionCallerName()).WillOnce(Return("")); EXPECT_CALL(*session, GetSessionActiveTime()).WillOnce(Return("")); EXPECT_CALL(*jsonUtil, BuildInitSessionErrInfo(_, _, _)).WillOnce(Return("")); - EXPECT_EQ(service->InitIncrementalBackupSessionWithErrMsg(reverseNUll, errMsg), - BError(BError::Codes::SA_SESSION_CONFLICT).GetCode()); + service->InitIncrementalBackupSessionWithErrMsg(reverseNUll, errCode, errMsg); + EXPECT_EQ(errCode, BError(BError::Codes::SA_SESSION_CONFLICT).GetCode()); EXPECT_CALL(*srvMock, VerifyCaller()).WillOnce(Return(BError(BError::Codes::OK).GetCode())); EXPECT_CALL(*skeleton, GetCallingTokenID()).WillOnce(Return(0)); EXPECT_CALL(*srvMock, GetUserIdDefault()).WillOnce(Return(0)); EXPECT_CALL(*session, Active(_, _)).WillOnce(Return(BError(BError::Codes::SA_INVAL_ARG))); - EXPECT_EQ(service->InitIncrementalBackupSessionWithErrMsg(reverseNUll, errMsg), - BError(BError::Codes::SA_INVAL_ARG).GetCode()); + service->InitIncrementalBackupSessionWithErrMsg(reverseNUll, errCode, errMsg); + EXPECT_EQ(errCode, BError(BError::Codes::SA_INVAL_ARG).GetCode()); } catch (...) { EXPECT_TRUE(false); GTEST_LOG_(INFO) << "ServiceIncrementalTest-an exception occurred by InitIncrementalBackupSession."; diff --git a/tests/unittests/backup_sa/module_ipc/service_other_test.cpp b/tests/unittests/backup_sa/module_ipc/service_other_test.cpp index 733cbb46b8c1f5c7329f09440f786555209e5549..01e289711e9ea79793565892fe04d7c216af16db 100644 --- a/tests/unittests/backup_sa/module_ipc/service_other_test.cpp +++ b/tests/unittests/backup_sa/module_ipc/service_other_test.cpp @@ -86,8 +86,10 @@ ErrCode Service::InitIncrementalBackupSession(const sptr &) return BError(BError::Codes::OK); } -ErrCode Service::InitIncrementalBackupSessionWithErrMsg(const sptr&, std::string &) +ErrCode Service::InitIncrementalBackupSessionWithErrMsg(const sptr&, + int32_t &errCodeForMsg, std::string &) { + errCodeForMsg = BError(BError::Codes::OK); return BError(BError::Codes::OK); } diff --git a/tests/unittests/backup_sa/module_ipc/service_test.cpp b/tests/unittests/backup_sa/module_ipc/service_test.cpp index 1617f219bedabf0b9ab9443802d2bf4838f8d0ee..43fc3037e35c55f8e65598cf98e1a9f297bf3886 100644 --- a/tests/unittests/backup_sa/module_ipc/service_test.cpp +++ b/tests/unittests/backup_sa/module_ipc/service_test.cpp @@ -91,7 +91,7 @@ ErrCode ServiceTest::Init(IServiceReverseType::Scenario scenario) sptr srptr_=static_cast>(remote_); ret = servicePtr_->InitRestoreSession(srptr_); EXPECT_EQ(ret, BError(BError::Codes::OK)); - ret = servicePtr_->InitRestoreSessionWithErrMsg(srptr_, errMsg); + servicePtr_->InitRestoreSessionWithErrMsg(srptr_, ret, errMsg); EXPECT_EQ(ret, BError(BError::Codes::OK)); ret = servicePtr_->AppendBundlesRestoreSession(move(fd), bundleNames, detailInfos); EXPECT_EQ(ret, BError(BError::Codes::OK)); @@ -101,7 +101,7 @@ ErrCode ServiceTest::Init(IServiceReverseType::Scenario scenario) sptr srptr_ = static_cast>(remote_); ret = servicePtr_->InitBackupSession(srptr_); EXPECT_EQ(ret, BError(BError::Codes::OK)); - ret = servicePtr_->InitBackupSessionWithErrMsg(srptr_, errMsg); + servicePtr_->InitBackupSessionWithErrMsg(srptr_, ret, errMsg); EXPECT_EQ(ret, BError(BError::Codes::OK)); ret = servicePtr_->AppendBundlesBackupSession(bundleNames); EXPECT_EQ(ret, BError(BError::Codes::OK)); diff --git a/tests/unittests/backup_sa/module_ipc/service_throw_test.cpp b/tests/unittests/backup_sa/module_ipc/service_throw_test.cpp index fa28d59b96dfbf9e73dcf4a6554cfedbb75b84c1..8fa22a9a9e77ae26e911979147804da18740e159 100644 --- a/tests/unittests/backup_sa/module_ipc/service_throw_test.cpp +++ b/tests/unittests/backup_sa/module_ipc/service_throw_test.cpp @@ -175,29 +175,30 @@ HWTEST_F(ServiceThrowTest, SUB_Service_throw_InitRestoreSession_0200, testing::e EXPECT_CALL(*param, GetBackupDebugOverrideAccount()) .WillOnce(Return(make_pair(true, DEBUG_ID + 1))); sptr reverseNUll = nullptr; - auto ret = service->InitRestoreSessionWithErrMsg(reverseNUll, errMsg); - EXPECT_EQ(ret, BError(BError::Codes::SA_REFUSED_ACT).GetCode()); + ErrCode errCode; + service->InitRestoreSessionWithErrMsg(reverseNUll, errCode, errMsg); + EXPECT_EQ(errCode, BError(BError::Codes::SA_REFUSED_ACT).GetCode()); EXPECT_CALL(*skeleton, GetCallingUid()).WillOnce(Return(BConstants::SYSTEM_UID)); EXPECT_CALL(*param, GetBackupDebugOverrideAccount()) .WillOnce(Return(make_pair(true, DEBUG_ID + 1))); EXPECT_CALL(*sessionMock, Active(_)).WillOnce(Return(BError(BError::Codes::SA_REFUSED_ACT))); - ret = service->InitRestoreSessionWithErrMsg(reverseNUll, errMsg); - EXPECT_EQ(ret, BError(BError::Codes::SA_REFUSED_ACT).GetCode()); + service->InitRestoreSessionWithErrMsg(reverseNUll, errCode, errMsg); + EXPECT_EQ(errCode, BError(BError::Codes::SA_REFUSED_ACT).GetCode()); EXPECT_CALL(*skeleton, GetCallingUid()).WillOnce(Return(BConstants::SYSTEM_UID)); EXPECT_CALL(*param, GetBackupDebugOverrideAccount()) .WillOnce(Return(make_pair(true, DEBUG_ID + 1))); EXPECT_CALL(*sessionMock, Active(_)).WillOnce(Return(BError(BError::Codes::SA_SESSION_CONFLICT))); - ret = service->InitRestoreSessionWithErrMsg(reverseNUll, errMsg); - EXPECT_EQ(ret, BError(BError::Codes::SA_SESSION_CONFLICT).GetCode()); + service->InitRestoreSessionWithErrMsg(reverseNUll, errCode, errMsg); + EXPECT_EQ(errCode, BError(BError::Codes::SA_SESSION_CONFLICT).GetCode()); EXPECT_CALL(*skeleton, GetCallingUid()).WillOnce(Return(BConstants::SYSTEM_UID)); EXPECT_CALL(*param, GetBackupDebugOverrideAccount()) .WillOnce(Return(make_pair(true, DEBUG_ID + 1))); EXPECT_CALL(*sessionMock, Active(_)).WillOnce(Return(BError(BError::Codes::OK))); - ret = service->InitRestoreSessionWithErrMsg(reverseNUll, errMsg); - EXPECT_EQ(ret, BError(BError::Codes::OK).GetCode()); + service->InitRestoreSessionWithErrMsg(reverseNUll, errCode, errMsg); + EXPECT_EQ(errCode, BError(BError::Codes::OK).GetCode()); GTEST_LOG_(INFO) << "ServiceThrowTest-end SUB_Service_throw_InitRestoreSession_0200"; } @@ -257,29 +258,30 @@ HWTEST_F(ServiceThrowTest, SUB_Service_throw_InitBackupSession_0200, testing::ex EXPECT_CALL(*param, GetBackupDebugOverrideAccount()) .WillOnce(Return(make_pair(true, DEBUG_ID + 1))); sptr reverseNUll = nullptr; - auto ret = service->InitBackupSessionWithErrMsg(reverseNUll, errMsg); - EXPECT_EQ(ret, BError(BError::Codes::SA_REFUSED_ACT).GetCode()); + ErrCode errCode; + service->InitBackupSessionWithErrMsg(reverseNUll, errCode, errMsg); + EXPECT_EQ(errCode, BError(BError::Codes::SA_REFUSED_ACT).GetCode()); EXPECT_CALL(*skeleton, GetCallingUid()).WillOnce(Return(BConstants::SYSTEM_UID)); EXPECT_CALL(*param, GetBackupDebugOverrideAccount()) .WillOnce(Return(make_pair(true, DEBUG_ID + 1))); EXPECT_CALL(*sessionMock, Active(_)).WillOnce(Return(BError(BError::Codes::SA_REFUSED_ACT))); - ret = service->InitBackupSessionWithErrMsg(reverseNUll, errMsg); - EXPECT_EQ(ret, BError(BError::Codes::SA_REFUSED_ACT).GetCode()); + service->InitBackupSessionWithErrMsg(reverseNUll, errCode, errMsg); + EXPECT_EQ(errCode, BError(BError::Codes::SA_REFUSED_ACT).GetCode()); EXPECT_CALL(*skeleton, GetCallingUid()).WillOnce(Return(BConstants::SYSTEM_UID)); EXPECT_CALL(*param, GetBackupDebugOverrideAccount()) .WillOnce(Return(make_pair(true, DEBUG_ID + 1))); EXPECT_CALL(*sessionMock, Active(_)).WillOnce(Return(BError(BError::Codes::SA_SESSION_CONFLICT))); - ret = service->InitBackupSessionWithErrMsg(reverseNUll, errMsg); - EXPECT_EQ(ret, BError(BError::Codes::SA_SESSION_CONFLICT).GetCode()); + service->InitBackupSessionWithErrMsg(reverseNUll, errCode, errMsg); + EXPECT_EQ(errCode, BError(BError::Codes::SA_SESSION_CONFLICT).GetCode()); EXPECT_CALL(*skeleton, GetCallingUid()).WillOnce(Return(BConstants::SYSTEM_UID)); EXPECT_CALL(*param, GetBackupDebugOverrideAccount()) .WillOnce(Return(make_pair(true, DEBUG_ID + 1))); EXPECT_CALL(*sessionMock, Active(_)).WillOnce(Return(BError(BError::Codes::OK))); - ret = service->InitBackupSessionWithErrMsg(reverseNUll, errMsg); - EXPECT_EQ(ret, BError(BError::Codes::OK).GetCode()); + service->InitBackupSessionWithErrMsg(reverseNUll, errCode, errMsg); + EXPECT_EQ(errCode, BError(BError::Codes::OK).GetCode()); GTEST_LOG_(INFO) << "ServiceThrowTest-end SUB_Service_throw_InitBackupSession_0200"; } @@ -990,29 +992,30 @@ HWTEST_F(ServiceThrowTest, SUB_Service_throw_InitIncrementalBackupSession_0200, EXPECT_CALL(*param, GetBackupDebugOverrideAccount()) .WillOnce(Return(make_pair(true, DEBUG_ID + 1))); sptr reverseNUll = nullptr; - auto ret = service->InitIncrementalBackupSessionWithErrMsg(reverseNUll, errMsg); - EXPECT_EQ(ret, BError(BError::Codes::SA_REFUSED_ACT).GetCode()); + ErrCode errCode; + service->InitIncrementalBackupSessionWithErrMsg(reverseNUll, errCode, errMsg); + EXPECT_EQ(errCode, BError(BError::Codes::SA_REFUSED_ACT).GetCode()); EXPECT_CALL(*skeleton, GetCallingUid()).WillOnce(Return(BConstants::SYSTEM_UID)); EXPECT_CALL(*param, GetBackupDebugOverrideAccount()) .WillOnce(Return(make_pair(true, DEBUG_ID + 1))); EXPECT_CALL(*sessionMock, Active(_)).WillOnce(Return(BError(BError::Codes::SA_REFUSED_ACT))); - ret = service->InitIncrementalBackupSessionWithErrMsg(reverseNUll, errMsg); - EXPECT_EQ(ret, BError(BError::Codes::SA_REFUSED_ACT).GetCode()); + service->InitIncrementalBackupSessionWithErrMsg(reverseNUll, errCode, errMsg); + EXPECT_EQ(errCode, BError(BError::Codes::SA_REFUSED_ACT).GetCode()); EXPECT_CALL(*skeleton, GetCallingUid()).WillOnce(Return(BConstants::SYSTEM_UID)); EXPECT_CALL(*param, GetBackupDebugOverrideAccount()) .WillOnce(Return(make_pair(true, DEBUG_ID + 1))); EXPECT_CALL(*sessionMock, Active(_)).WillOnce(Return(BError(BError::Codes::SA_SESSION_CONFLICT))); - ret = service->InitIncrementalBackupSessionWithErrMsg(reverseNUll, errMsg); - EXPECT_EQ(ret, BError(BError::Codes::SA_SESSION_CONFLICT).GetCode()); + service->InitIncrementalBackupSessionWithErrMsg(reverseNUll, errCode, errMsg); + EXPECT_EQ(errCode, BError(BError::Codes::SA_SESSION_CONFLICT).GetCode()); EXPECT_CALL(*skeleton, GetCallingUid()).WillOnce(Return(BConstants::SYSTEM_UID)); EXPECT_CALL(*param, GetBackupDebugOverrideAccount()) .WillOnce(Return(make_pair(true, DEBUG_ID + 1))); EXPECT_CALL(*sessionMock, Active(_)).WillOnce(Return(BError(BError::Codes::OK))); - ret = service->InitIncrementalBackupSessionWithErrMsg(reverseNUll, errMsg); - EXPECT_EQ(ret, BError(BError::Codes::OK).GetCode()); + service->InitIncrementalBackupSessionWithErrMsg(reverseNUll, errCode, errMsg); + EXPECT_EQ(errCode, BError(BError::Codes::OK).GetCode()); GTEST_LOG_(INFO) << "ServiceThrowTest-end SUB_Service_throw_InitIncrementalBackupSession_0200"; } diff --git a/tests/unittests/backup_sa/session/b_incremental_session_test.cpp b/tests/unittests/backup_sa/session/b_incremental_session_test.cpp index 47852f95022d2e4f31f29d0b3d44e9b9f7d5a1a3..4e93edd35bd295516880ddac88ffefd1b4bddb8c 100644 --- a/tests/unittests/backup_sa/session/b_incremental_session_test.cpp +++ b/tests/unittests/backup_sa/session/b_incremental_session_test.cpp @@ -786,7 +786,9 @@ HWTEST_F(IncrementalSessionTest, SUB_b_incremental_session_test_2400, testing::e auto err = backupSession->Init(callbacks, errMsg, errCode); EXPECT_EQ(err, nullptr); - EXPECT_CALL(*proxy, InitIncrementalBackupSessionWithErrMsg(_, _)).WillOnce(Return(-1)).WillOnce(Return(0)); + EXPECT_CALL(*proxy, InitIncrementalBackupSessionWithErrMsg(_, _, _)) + .WillOnce(DoAll(SetArgReferee<1>(-1), Return(0))) + .WillOnce(DoAll(SetArgReferee<1>(0), Return(0))); ServiceClient::serviceProxy_ = proxy; err = backupSession->Init(callbacks, errMsg, errCode); EXPECT_EQ(err, nullptr); @@ -820,7 +822,9 @@ HWTEST_F(IncrementalSessionTest, SUB_b_incremental_session_test_2500, testing::e auto err = restoreSession->Init(callbacks, errMsg, errCode); EXPECT_EQ(err, nullptr); - EXPECT_CALL(*proxy, InitRestoreSessionWithErrMsg(_, _)).WillOnce(Return(-1)).WillOnce(Return(0)); + EXPECT_CALL(*proxy, InitRestoreSessionWithErrMsg(_, _, _)) + .WillOnce(DoAll(SetArgReferee<1>(-1), Return(0))) + .WillOnce(DoAll(SetArgReferee<1>(0), Return(0))); ServiceClient::serviceProxy_ = proxy; err = restoreSession->Init(callbacks, errMsg, errCode); EXPECT_EQ(err, nullptr); diff --git a/tests/unittests/backup_sa/session/service_proxy_mock.cpp b/tests/unittests/backup_sa/session/service_proxy_mock.cpp index 2c0faa543e70b0aa935b5418f241a7bcffd1363b..c2050aa24c3b57376ce42ca25864260aead91ffa 100644 --- a/tests/unittests/backup_sa/session/service_proxy_mock.cpp +++ b/tests/unittests/backup_sa/session/service_proxy_mock.cpp @@ -63,13 +63,17 @@ int32_t ServiceProxy::InitRestoreSession(const sptr &remote) return 1; } -int32_t ServiceProxy::InitRestoreSessionWithErrMsg(const sptr &remote, std::string &errMsg) +int32_t ServiceProxy::InitRestoreSessionWithErrMsg(const sptr &remote, + int32_t &errCodeForMsg, std::string &errMsg) { + errCodeForMsg = 0; return 0; } -int32_t ServiceProxy::InitBackupSessionWithErrMsg(const sptr &remote, std::string &errMsg) +int32_t ServiceProxy::InitBackupSessionWithErrMsg(const sptr &remote, + int32_t &errCodeForMsg, std::string &errMsg) { + errCodeForMsg = 0; return 0; } @@ -179,8 +183,10 @@ ErrCode ServiceProxy::InitIncrementalBackupSession(const sptr & return BError(BError::Codes::OK); } -ErrCode ServiceProxy::InitIncrementalBackupSessionWithErrMsg(const sptr &remote, std::string &errMsg) +ErrCode ServiceProxy::InitIncrementalBackupSessionWithErrMsg(const sptr &remote, + int32_t &errCodeForMsg, std::string &errMsg) { + errCodeForMsg = BError(BError::Codes::OK); return BError(BError::Codes::OK); } diff --git a/tests/unittests/backup_sa/session/service_proxy_mock.h b/tests/unittests/backup_sa/session/service_proxy_mock.h index d1ef64f114219cbf86f4584ce8d1c8aade4f7ea2..3ee48b1abc261523447ed16bdaeb4c981b9a5e10 100644 --- a/tests/unittests/backup_sa/session/service_proxy_mock.h +++ b/tests/unittests/backup_sa/session/service_proxy_mock.h @@ -28,9 +28,11 @@ public: public: MOCK_METHOD1(InitRestoreSession, ErrCode(const sptr &remote)); - MOCK_METHOD2(InitRestoreSessionWithErrMsg, ErrCode(const sptr &remote, std::string &errMsg)); + MOCK_METHOD3(InitRestoreSessionWithErrMsg, ErrCode(const sptr &remote, + int32_t &errCodeForMsg, std::string &errMsg)); MOCK_METHOD1(InitBackupSession, ErrCode(const sptr &remote)); - MOCK_METHOD2(InitBackupSessionWithErrMsg, ErrCode(const sptr &remote, std::string &errMsg)); + MOCK_METHOD3(InitBackupSessionWithErrMsg, ErrCode(const sptr &remote, + int32_t &errCodeForMsg, std::string &errMsg)); MOCK_METHOD0(Start, ErrCode()); MOCK_METHOD0(AsObject, sptr()); MOCK_METHOD1(GetLocalCapabilitiesForBundleInfos, ErrCode(int32_t &)); @@ -47,8 +49,8 @@ public: MOCK_METHOD2(Cancel, ErrCode(const std::string &bundleName, int32_t &result)); MOCK_METHOD2(GetLocalCapabilitiesIncremental, ErrCode(const std::vector &bundleNames, int &fd)); MOCK_METHOD1(InitIncrementalBackupSession, ErrCode(const sptr &remote)); - MOCK_METHOD2(InitIncrementalBackupSessionWithErrMsg, - ErrCode(const sptr &remote, std::string &errMsg)); + MOCK_METHOD3(InitIncrementalBackupSessionWithErrMsg, + ErrCode(const sptr &remote, int32_t &errCodeForMsg, std::string &errMsg)); MOCK_METHOD1(AppendBundlesIncrementalBackupSession, ErrCode(const std::vector &bundlesToBackup)); MOCK_METHOD2(AppendBundlesIncrementalBackupSessionWithBundleInfos, ErrCode(const std::vector &bundlesToBackup, const std::vector &infos));