Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
communication_ipc
提交
52f4ad01
C
communication_ipc
项目概览
OpenHarmony
/
communication_ipc
大约 1 年 前同步成功
通知
20
Star
3
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
communication_ipc
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
52f4ad01
编写于
9月 25, 2022
作者:
O
openharmony_ci
提交者:
Gitee
9月 25, 2022
浏览文件
操作
浏览文件
下载
差异文件
!387 add test case of rpc new innerkit
Merge pull request !387 from wanghaoxu/OpenHarmony-3.2-Beta3
上级
d69ccae0
a5385c95
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
104 addition
and
3 deletion
+104
-3
bundle.json
bundle.json
+2
-1
interfaces/innerkits/libdbinder/include/dbinder_service.h
interfaces/innerkits/libdbinder/include/dbinder_service.h
+1
-1
services/dbinder/dbinder_service/src/dbinder_service.cpp
services/dbinder/dbinder_service/src/dbinder_service.cpp
+6
-1
services/dbinder/test/unittest/BUILD.gn
services/dbinder/test/unittest/BUILD.gn
+47
-0
services/dbinder/test/unittest/dbinder_service_unittest.cpp
services/dbinder/test/unittest/dbinder_service_unittest.cpp
+48
-0
未找到文件。
bundle.json
浏览文件 @
52f4ad01
...
...
@@ -96,7 +96,8 @@
],
"test"
:
[
"//foundation/communication/ipc/ipc/test:moduletest"
,
"//foundation/communication/ipc/ipc/native/test:unittest"
"//foundation/communication/ipc/ipc/native/test:unittest"
,
"//foundation/communication/ipc/services/dbinder/test/unittest:unittest"
]
}
}
...
...
interfaces/innerkits/libdbinder/include/dbinder_service.h
浏览文件 @
52f4ad01
...
...
@@ -126,7 +126,7 @@ public:
std
::
string
QueryBusNameObject
(
IPCObjectProxy
*
proxy
);
void
LoadSystemAbilityComplete
(
const
std
::
string
&
srcNetworkId
,
int32_t
systemAbilityId
,
const
sptr
<
IRemoteObject
>&
remoteObject
);
void
ProcessOnSessionClosed
(
std
::
shared_ptr
<
Session
>
session
);
bool
ProcessOnSessionClosed
(
std
::
shared_ptr
<
Session
>
session
);
private:
static
std
::
shared_ptr
<
DBinderRemoteListener
>
GetRemoteListener
();
...
...
services/dbinder/dbinder_service/src/dbinder_service.cpp
浏览文件 @
52f4ad01
...
...
@@ -670,8 +670,12 @@ bool DBinderService::OnRemoteMessageTask(const struct DHandleEntryTxRx *message)
return
result
;
}
void
DBinderService
::
ProcessOnSessionClosed
(
std
::
shared_ptr
<
Session
>
session
)
bool
DBinderService
::
ProcessOnSessionClosed
(
std
::
shared_ptr
<
Session
>
session
)
{
if
(
session
==
nullptr
)
{
DBINDER_LOGE
(
LOG_LABEL
,
"ERROR!Session is nullptr!"
);
return
false
;
}
std
::
lock_guard
<
std
::
mutex
>
lock
(
threadLockMutex_
);
for
(
auto
it
=
threadLockInfo_
.
begin
();
it
!=
threadLockInfo_
.
end
();)
{
if
(
it
->
second
->
networkId
!=
session
->
GetPeerDeviceId
())
{
...
...
@@ -682,6 +686,7 @@ void DBinderService::ProcessOnSessionClosed(std::shared_ptr<Session> session)
it
->
second
->
condition
.
notify_all
();
it
=
threadLockInfo_
.
erase
(
it
);
}
return
true
;
}
void
DBinderService
::
OnRemoteErrorMessage
(
const
struct
DHandleEntryTxRx
*
replyMessage
)
...
...
services/dbinder/test/unittest/BUILD.gn
0 → 100755
浏览文件 @
52f4ad01
# Copyright (C) 2022 Huawei Device Co., Ltd.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import("//build/test.gni")
MODULE_OUTPUT_PATH = "ipc"
ohos_unittest("RPCDbinderTest") {
module_out_path = MODULE_OUTPUT_PATH
include_dirs = [
"//foundation/communication/ipc/ipc/native/c/manager/include",
"//foundation/communication/ipc/utils/include",
]
sources = [ "dbinder_service_unittest.cpp" ]
configs = []
deps = [ "//third_party/googletest:gtest_main" ]
external_deps = [
"c_utils:utils",
"hiviewdfx_hilog_native:libhilog",
"ipc:libdbinder",
]
resource_config_file =
"//foundation/communication/ipc/test/resource/ipc/ohos_test.xml"
}
###############################################################################
group("unittest") {
testonly = true
deps = [ ":RPCDbinderTest" ]
}
###############################################################################
services/dbinder/test/unittest/dbinder_service_unittest.cpp
0 → 100755
浏览文件 @
52f4ad01
/*
* Copyright (c) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "dbinder_service.h"
#include "gtest/gtest.h"
#include "rpc_log.h"
#include "log_tags.h"
using
namespace
testing
::
ext
;
using
namespace
OHOS
;
using
namespace
OHOS
::
HiviewDFX
;
using
Communication
::
SoftBus
::
Session
;
class
DBinderServiceUnitTest
:
public
testing
::
Test
{
public:
static
void
SetUpTestCase
(
void
);
static
void
TearDownTestCase
(
void
);
void
SetUp
();
void
TearDown
();
static
constexpr
HiLogLabel
LABEL
=
{
LOG_CORE
,
LOG_ID_RPC
,
"DBinderServiceUnitTest"
};
};
void
DBinderServiceUnitTest
::
SetUp
()
{}
void
DBinderServiceUnitTest
::
TearDown
()
{}
void
DBinderServiceUnitTest
::
SetUpTestCase
()
{}
void
DBinderServiceUnitTest
::
TearDownTestCase
()
{}
HWTEST_F
(
DBinderServiceUnitTest
,
process_closesession_001
,
TestSize
.
Level1
)
{
sptr
<
DBinderService
>
dBinderService_
;
std
::
shared_ptr
<
Session
>
session
=
nullptr
;
EXPECT_EQ
(
dBinderService_
->
ProcessOnSessionClosed
(
session
),
false
);
}
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录