Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
communication_ipc
提交
5203fb85
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,发现更多精彩内容 >>
未验证
提交
5203fb85
编写于
12月 21, 2022
作者:
O
openharmony_ci
提交者:
Gitee
12月 21, 2022
浏览文件
操作
浏览文件
下载
差异文件
!544 add GetCallingFullTokenId and GetFirstFullTokenId test
Merge pull request !544 from heyingjiao/master
上级
4923df2e
d12b4c5a
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
129 addition
and
3 deletion
+129
-3
ipc/native/src/core/source/ipc_object_proxy.cpp
ipc/native/src/core/source/ipc_object_proxy.cpp
+1
-1
ipc/native/test/unittest/common/ipc_core_unittest.cpp
ipc/native/test/unittest/common/ipc_core_unittest.cpp
+41
-2
ipc/test/auxiliary/native/include/test_service.h
ipc/test/auxiliary/native/include/test_service.h
+1
-0
ipc/test/auxiliary/native/include/test_service_skeleton.h
ipc/test/auxiliary/native/include/test_service_skeleton.h
+3
-0
ipc/test/auxiliary/native/src/test_service.cpp
ipc/test/auxiliary/native/src/test_service.cpp
+7
-0
ipc/test/auxiliary/native/src/test_service_skeleton.cpp
ipc/test/auxiliary/native/src/test_service_skeleton.cpp
+76
-0
未找到文件。
ipc/native/src/core/source/ipc_object_proxy.cpp
浏览文件 @
5203fb85
...
...
@@ -376,7 +376,7 @@ bool IPCObjectProxy::RemoveDeathRecipient(const sptr<DeathRecipient> &recipient)
#endif
return
status
&&
dbinderStatus
;
}
return
false
;
return
recipientErased
;
}
void
IPCObjectProxy
::
SendObituary
()
...
...
ipc/native/test/unittest/common/ipc_core_unittest.cpp
浏览文件 @
5203fb85
...
...
@@ -188,6 +188,34 @@ HWTEST_F(IPCNativeUnitTest, GetCallingTokenIDTest001, TestSize.Level1)
EXPECT_NE
(
token
,
INVAL_TOKEN_ID
);
}
/**
* @tc.name: GetCallingFullTokenIDTest001
* @tc.desc: Verify the GetCallingFullTokenID function
* @tc.type: FUNC
*/
HWTEST_F
(
IPCNativeUnitTest
,
GetCallingFullTokenIDTest001
,
TestSize
.
Level1
)
{
sptr
<
IPCObjectStub
>
testStub
=
new
IPCObjectStub
(
u"testStub"
);
uint64_t
token1
=
testStub
->
GetCallingFullTokenID
();
uint64_t
token2
=
static_cast
<
uint64_t
>
(
testStub
->
GetCallingTokenID
());
EXPECT_NE
(
token1
,
INVAL_TOKEN_ID
);
EXPECT_EQ
(
token1
,
token2
);
}
/**
* @tc.name: GetCallingFullTokenIDTest002
* @tc.desc: Verify the GetCallingFullTokenID function
* @tc.type: FUNC
*/
HWTEST_F
(
IPCNativeUnitTest
,
GetCallingFullTokenIDTest002
,
TestSize
.
Level1
)
{
sptr
<
IPCObjectStub
>
testStub
=
new
IPCObjectStub
(
u"testStub"
);
uint64_t
token1
=
testStub
->
GetCallingFullTokenID
();
uint64_t
token2
=
IPCSkeleton
::
GetSelfTokenID
();
EXPECT_NE
(
token1
,
INVAL_TOKEN_ID
);
EXPECT_EQ
(
token1
,
token2
);
}
/**
* @tc.name: GetFirstTokenIDTest001
* @tc.desc: Verify the GetFirstTokenID function
...
...
@@ -200,6 +228,17 @@ HWTEST_F(IPCNativeUnitTest, GetFirstTokenIDTest001, TestSize.Level1)
EXPECT_EQ
(
token
,
INVAL_TOKEN_ID
);
}
/**
* @tc.name: GetFirstFullTokenIDTest001
* @tc.desc: Verify the GetFirstFullTokenID function
* @tc.type: FUNC
*/
HWTEST_F
(
IPCNativeUnitTest
,
GetFirstFullTokenIDTest001
,
TestSize
.
Level1
)
{
sptr
<
IPCObjectStub
>
testStub
=
new
IPCObjectStub
(
u"testStub"
);
uint64_t
token
=
testStub
->
GetFirstFullTokenID
();
EXPECT_EQ
(
token
,
INVAL_TOKEN_ID
);
}
/**
* @tc.name: GetObjectTypeTest001
...
...
@@ -738,8 +777,8 @@ HWTEST_F(IPCNativeUnitTest, AccessTokenid001, TestSize.Level1)
if
(
service
->
IsProxyObject
())
{
ZLOGD
(
LABEL
,
"Got Proxy node"
);
TestServiceProxy
*
proxy
=
static_cast
<
TestServiceProxy
*>
(
testService
.
GetRefPtr
());
int
ret
=
proxy
->
TestAccessTokenID
(
3571
);
EXPECT_EQ
(
ret
,
0
);
EXPECT_EQ
(
proxy
->
TestAccessTokenID64
(
3560
,
3571
),
0
);
EXPECT_EQ
(
proxy
->
TestAccessTokenID
(
3571
)
,
0
);
}
else
{
ZLOGE
(
LABEL
,
"Got Stub node"
);
}
...
...
ipc/test/auxiliary/native/include/test_service.h
浏览文件 @
5203fb85
...
...
@@ -46,6 +46,7 @@ public:
void
TestAsyncDumpService
()
override
;
int
TestNestingSend
(
int
sendCode
,
int
&
replyCode
)
override
;
int
TestAccessTokenID
(
int32_t
ftoken_expected
)
override
;
int
TestAccessTokenID64
(
uint64_t
token_expected
,
uint64_t
ftoken_expected
)
override
;
int
TestMessageParcelAppend
(
MessageParcel
&
dst
,
MessageParcel
&
src
)
override
;
int
TestMessageParcelAppendWithIpc
(
MessageParcel
&
dst
,
MessageParcel
&
src
,
MessageParcel
&
reply
,
bool
withObject
)
override
;
...
...
ipc/test/auxiliary/native/include/test_service_skeleton.h
浏览文件 @
5203fb85
...
...
@@ -49,6 +49,7 @@ public:
TRANS_ID_ACCESS_TOKENID
=
18
,
TRANS_MESSAGE_PARCEL_ADDPED
=
19
,
TRANS_MESSAGE_PARCEL_ADDPED_WITH_OBJECT
=
20
,
TRANS_ID_ACCESS_TOKENID_64
=
21
,
};
public:
virtual
int
TestSyncTransaction
(
int
data
,
int
&
reply
,
int
delayTime
=
0
)
=
0
;
...
...
@@ -69,6 +70,7 @@ public:
virtual
void
TestAsyncDumpService
()
=
0
;
virtual
int
TestNestingSend
(
int
sendCode
,
int
&
replyCode
)
=
0
;
virtual
int
TestAccessTokenID
(
int32_t
ftoken_expected
)
=
0
;
virtual
int
TestAccessTokenID64
(
uint64_t
token_expected
,
uint64_t
ftoken_expected
)
=
0
;
virtual
int
TestMessageParcelAppend
(
MessageParcel
&
dst
,
MessageParcel
&
src
)
=
0
;
virtual
int
TestMessageParcelAppendWithIpc
(
MessageParcel
&
dst
,
MessageParcel
&
src
,
MessageParcel
&
reply
,
bool
withObject
)
=
0
;
...
...
@@ -110,6 +112,7 @@ public:
void
TestAsyncDumpService
()
override
;
int
TestNestingSend
(
int
sendCode
,
int
&
replyCode
)
override
;
int
TestAccessTokenID
(
int32_t
ftoken_expected
)
override
;
int
TestAccessTokenID64
(
uint64_t
token_expected
,
uint64_t
ftoken_expected
)
override
;
int
TestMessageParcelAppend
(
MessageParcel
&
dst
,
MessageParcel
&
src
)
override
;
int
TestMessageParcelAppendWithIpc
(
MessageParcel
&
dst
,
MessageParcel
&
src
,
MessageParcel
&
reply
,
bool
withObject
)
override
;
...
...
ipc/test/auxiliary/native/src/test_service.cpp
浏览文件 @
5203fb85
...
...
@@ -192,6 +192,13 @@ int TestService::TestAccessTokenID(int32_t ftoken_expected)
return
0
;
}
int
TestService
::
TestAccessTokenID64
(
uint64_t
token_expected
,
uint64_t
ftoken_expected
)
{
(
void
)
token_expected
;
(
void
)
ftoken_expected
;
return
0
;
}
int
TestService
::
TestMessageParcelAppend
(
MessageParcel
&
dst
,
MessageParcel
&
src
)
{
(
void
)
dst
;
...
...
ipc/test/auxiliary/native/src/test_service_skeleton.cpp
浏览文件 @
5203fb85
...
...
@@ -14,6 +14,7 @@
*/
#include "test_service_skeleton.h"
#include <cinttypes>
#include <fcntl.h>
#include <unistd.h>
#include <stdio.h>
...
...
@@ -335,6 +336,72 @@ int RpcSetFirstCallerTokenID(uint64_t tokenID)
return
ACCESS_TOKEN_OK
;
}
int
TestServiceProxy
::
TestAccessTokenID64
(
uint64_t
token_expected
,
uint64_t
ftoken_expected
)
{
MessageOption
option
;
MessageParcel
dataParcel
,
replyParcel1
,
replyParcel2
;
uint64_t
token
=
IPCSkeleton
::
GetCallingFullTokenID
();
uint64_t
ftoken
=
IPCSkeleton
::
GetFirstFullTokenID
();
uint64_t
tokenSelf
=
IPCSkeleton
::
GetSelfTokenID
();
uint64_t
oldTokenSelf
=
tokenSelf
;
int32_t
ret
=
0
;
if
(
token
!=
tokenSelf
)
{
ZLOGE
(
LABEL
,
"token != tokenSelf"
);
return
-
1
;
}
if
(
ftoken
!=
0
)
{
ZLOGE
(
LABEL
,
"ftoken != 0"
);
return
-
1
;
}
if
(
RpcSetFirstCallerTokenID
(
ftoken_expected
)
!=
0
)
{
ZLOGE
(
LABEL
,
"RpcSetFirstCallerTokenID err"
);
ret
=
-
1
;
goto
ERR
;
}
if
(
RpcGetFirstCallerTokenID
()
!=
ftoken_expected
)
{
ZLOGE
(
LABEL
,
"RpcGetFirstCallerTokenID err"
);
ret
=
-
1
;
goto
ERR
;
}
if
(
RpcSetSelfTokenID
(
token_expected
)
!=
0
)
{
ZLOGE
(
LABEL
,
"RpcSetSelfTokenID err"
);
ret
=
-
1
;
goto
ERR
;
}
if
(
RpcGetSelfTokenID
()
!=
token_expected
)
{
ZLOGE
(
LABEL
,
"RpcGetSelfTokenID err"
);
ret
=
-
1
;
goto
ERR
;
}
ret
=
Remote
()
->
SendRequest
(
TRANS_ID_ACCESS_TOKENID_64
,
dataParcel
,
replyParcel1
,
option
);
if
(
ret
!=
ERR_NONE
)
{
ZLOGE
(
LABEL
,
"SendRequest ret = %{public}d"
,
ret
);
ret
=
-
1
;
goto
ERR
;
}
token
=
replyParcel1
.
ReadUint64
();
ftoken
=
replyParcel1
.
ReadUint64
();
if
(
token
!=
token_expected
)
{
ZLOGE
(
LABEL
,
"token != token_expected, token:%{public}"
PRIu64
,
token
);
ret
=
-
1
;
goto
ERR
;
}
if
(
ftoken
!=
ftoken_expected
)
{
ZLOGE
(
LABEL
,
"ftoken != ftoken_expected, ftoken:%{public}"
PRIu64
,
ftoken
);
ret
=
-
1
;
goto
ERR
;
}
ERR:
RpcSetFirstCallerTokenID
(
0
);
RpcSetSelfTokenID
(
oldTokenSelf
);
return
ret
;
}
int
TestServiceProxy
::
TestAccessTokenID
(
int32_t
ftoken_expected
)
{
MessageOption
option
;
...
...
@@ -674,6 +741,15 @@ int TestServiceStub::OnRemoteRequest(uint32_t code,
reply
.
WriteInt32
(
ftoken
);
break
;
}
case
TRANS_ID_ACCESS_TOKENID_64
:
{
uint64_t
token
=
IPCSkeleton
::
GetCallingFullTokenID
();
uint64_t
ftoken
=
IPCSkeleton
::
GetFirstFullTokenID
();
ZLOGE
(
LABEL
,
"server GetCallingFullTokenID:%{public}"
PRIu64
,
token
);
ZLOGE
(
LABEL
,
"server GetFirstFullTokenID:%{public}"
PRIu64
,
ftoken
);
reply
.
WriteUint64
(
token
);
reply
.
WriteUint64
(
ftoken
);
break
;
}
case
TRANS_MESSAGE_PARCEL_ADDPED
:
{
reply
.
WriteInt32
(
data
.
ReadInt32
());
reply
.
WriteInt32
(
data
.
ReadInt32
());
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录