Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Startup Init Lite
提交
fca2ca55
S
Startup Init Lite
项目概览
OpenHarmony
/
Startup Init Lite
大约 1 年 前同步成功
通知
3
Star
37
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
Startup Init Lite
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
fca2ca55
编写于
8月 09, 2023
作者:
C
cheng_jinsong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
support empty string for value
Signed-off-by:
N
cheng_jinsong
<
chengjinsong2@huawei.com
>
上级
6c74dfe7
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
35 addition
and
6 deletion
+35
-6
services/param/linux/param_message.c
services/param/linux/param_message.c
+5
-3
test/unittest/param/client_unittest.cpp
test/unittest/param/client_unittest.cpp
+12
-0
test/unittest/param/param_unittest.cpp
test/unittest/param/param_unittest.cpp
+18
-3
未找到文件。
services/param/linux/param_message.c
浏览文件 @
fca2ca55
...
...
@@ -44,7 +44,7 @@ int ConnectServer(int fd, const char *servername)
int
FillParamMsgContent
(
const
ParamMessage
*
request
,
uint32_t
*
start
,
int
type
,
const
char
*
value
,
uint32_t
length
)
{
PARAM_CHECK
(
request
!=
NULL
&&
start
!=
NULL
,
return
-
1
,
"Invalid param"
);
PARAM_CHECK
(
value
!=
NULL
&&
length
!=
0
,
return
-
1
,
"Invalid value"
);
PARAM_CHECK
(
value
!=
NULL
,
return
-
1
,
"Invalid value"
);
uint32_t
bufferSize
=
request
->
msgSize
-
sizeof
(
ParamMessage
);
uint32_t
offset
=
*
start
;
PARAM_CHECK
((
offset
+
sizeof
(
ParamMsgContent
)
+
length
)
<=
bufferSize
,
...
...
@@ -52,8 +52,10 @@ int FillParamMsgContent(const ParamMessage *request, uint32_t *start, int type,
ParamMsgContent
*
content
=
(
ParamMsgContent
*
)(
request
->
data
+
offset
);
content
->
type
=
type
;
content
->
contentSize
=
length
+
1
;
int
ret
=
memcpy_s
(
content
->
content
,
content
->
contentSize
-
1
,
value
,
length
);
PARAM_CHECK
(
ret
==
EOK
,
return
-
1
,
"Failed to copy value for %d"
,
type
);
if
(
length
>
0
)
{
int
ret
=
memcpy_s
(
content
->
content
,
content
->
contentSize
-
1
,
value
,
length
);
PARAM_CHECK
(
ret
==
EOK
,
return
-
1
,
"Failed to copy value for %d"
,
type
);
}
content
->
content
[
length
]
=
'\0'
;
offset
+=
sizeof
(
ParamMsgContent
)
+
PARAM_ALIGN
(
content
->
contentSize
);
*
start
=
offset
;
...
...
test/unittest/param/client_unittest.cpp
浏览文件 @
fca2ca55
...
...
@@ -204,6 +204,18 @@ HWTEST_F(ClientUnitTest, TestClient_01, TestSize.Level0)
SystemWaitParameter
(
"@@@@"
,
value
.
c_str
(),
1
);
}
HWTEST_F
(
ClientUnitTest
,
TestParamValue
,
TestSize
.
Level0
)
{
// support empty string
const
char
*
name
=
"test_readonly.dddddddddddddddddd.fffffffffffffffffff"
;
int
ret
=
SystemSetParameter
(
name
,
""
);
EXPECT_EQ
(
ret
,
0
);
ret
=
SystemSetParameter
(
name
,
"111111111"
);
EXPECT_EQ
(
ret
,
0
);
ret
=
SystemSetParameter
(
name
,
""
);
EXPECT_EQ
(
ret
,
0
);
}
HWTEST_F
(
ClientUnitTest
,
TestClient_02
,
TestSize
.
Level0
)
{
char
testBuffer
[
PARAM_BUFFER_SIZE
]
=
{
0
};
...
...
test/unittest/param/param_unittest.cpp
浏览文件 @
fca2ca55
...
...
@@ -40,7 +40,7 @@ static int CheckServerParamValue(const char *name, const char *expectValue)
u_int32_t
len
=
sizeof
(
tmp
);
SystemReadParam
(
name
,
tmp
,
&
len
);
printf
(
"CheckParamValue name %s value:
\'
%s
\'
expectValue:
\'
%s
\'
\n
"
,
name
,
tmp
,
expectValue
);
EXPECT_
N
E
((
int
)
strlen
(
tmp
),
0
);
EXPECT_
G
E
((
int
)
strlen
(
tmp
),
0
);
if
(
expectValue
!=
nullptr
)
{
EXPECT_EQ
(
strcmp
(
tmp
,
expectValue
),
0
);
}
...
...
@@ -366,6 +366,21 @@ HWTEST_F(ParamUnitTest, TestNameIsValid, TestSize.Level0)
test
.
TestNameIsValid
();
}
HWTEST_F
(
ParamUnitTest
,
TestParamValue
,
TestSize
.
Level0
)
{
// support empty string
const
char
*
name
=
"test_readonly.dddddddddddddddddd.fffffffffffffffffff"
;
int
ret
=
SystemWriteParam
(
name
,
""
);
EXPECT_EQ
(
ret
,
0
);
CheckServerParamValue
(
name
,
""
);
ret
=
SystemWriteParam
(
name
,
"111111111"
);
EXPECT_EQ
(
ret
,
0
);
CheckServerParamValue
(
name
,
"111111111"
);
ret
=
SystemWriteParam
(
name
,
""
);
EXPECT_EQ
(
ret
,
0
);
CheckServerParamValue
(
name
,
""
);
}
HWTEST_F
(
ParamUnitTest
,
TestAddSecurityLabel1
,
TestSize
.
Level0
)
{
ParamUnitTest
test
;
...
...
@@ -570,7 +585,7 @@ HWTEST_F(ParamUnitTest, TestRequestMessage, TestSize.Level0)
ret
=
FillParamMsgContent
(
msg
,
&
start
,
0
,
nullptr
,
0
);
EXPECT_NE
(
ret
,
0
);
ret
=
FillParamMsgContent
(
msg
,
&
start
,
0
,
"22222"
,
0
);
EXPECT_
NE
(
ret
,
0
);
EXPECT_
EQ
(
ret
,
0
);
ret
=
FillParamMsgContent
(
msg
,
&
start
,
0
,
"22222"
,
msgSize
);
EXPECT_NE
(
ret
,
0
);
// fill success
...
...
@@ -587,7 +602,7 @@ HWTEST_F(ParamUnitTest, TestRequestMessage, TestSize.Level0)
content
=
GetNextContent
(
msg
,
&
offset
);
EXPECT_NE
(
content
,
nullptr
);
content
=
GetNextContent
(
msg
,
&
offset
);
EXPECT_
EQ
(
content
,
nullptr
);
EXPECT_
NE
(
content
,
nullptr
);
free
(
msg
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录