Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Xts Acts
提交
ca2a0521
X
Xts Acts
项目概览
OpenHarmony
/
Xts Acts
1 年多 前同步成功
通知
9
Star
22
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
X
Xts Acts
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
ca2a0521
编写于
9月 22, 2020
作者:
O
openharmony_ci
提交者:
Gitee
9月 22, 2020
浏览文件
操作
浏览文件
下载
差异文件
!13 优化IPCSignal测试用例
Merge pull request !13 from lilianglaoding/master
上级
5a845588
09f7defe
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
0 addition
and
66 deletion
+0
-66
kernel_lite/ipc_posix/src/SignalTest.cpp
kernel_lite/ipc_posix/src/SignalTest.cpp
+0
-66
未找到文件。
kernel_lite/ipc_posix/src/SignalTest.cpp
浏览文件 @
ca2a0521
...
...
@@ -41,72 +41,6 @@ HWTEST_F(IpcSignalTest, testSignalFailSig, TestSize.Level2)
SignalFailTest
(
SIGSTOP
,
SIG_IGN
);
}
/**
* @tc.number SUB_KERNEL_IPC_SIGTIMEDWAIT_0100
* @tc.name sigtimedwait still work even blocked by sigprocmask
* @tc.desc [C- SOFTWARE -0200]
* @tc.size SMALL
* @tc.type FUNC
*/
HWTEST_F
(
IpcSignalTest
,
testSigtimedwaitBlock
,
TestSize
.
Level1
)
{
int
rt
,
status
;
pid_t
pid
=
fork
();
ASSERT_TRUE
(
pid
>=
0
)
<<
"======== Fork Error! ========="
;
if
(
pid
==
0
)
{
// child
int
exitCode
=
0
;
signal
(
SIGSEGV
,
SignalHandler
);
struct
timespec
time1
=
{
0
,
100
*
1000000
};
sigset_t
sigmask
,
timeset
;
sigemptyset
(
&
sigmask
);
sigaddset
(
&
sigmask
,
SIGINT
);
sigaddset
(
&
sigmask
,
SIGSEGV
);
sigemptyset
(
&
timeset
);
sigaddset
(
&
timeset
,
SIGSEGV
);
sigprocmask
(
SIG_BLOCK
,
&
sigmask
,
0
);
Msleep
(
80
);
rt
=
sigtimedwait
(
&
timeset
,
0
,
&
time1
);
if
(
rt
!=
SIGSEGV
)
{
LOG
(
"sigtimedwait return fail, expected:%d, actual:%d"
,
SIGSEGV
,
rt
);
exitCode
=
1
;
}
// check the sigprocmask set not changed
sigemptyset
(
&
sigmask
);
sigprocmask
(
SIG_UNBLOCK
,
NULL
,
&
sigmask
);
if
(
sigismember
(
&
sigmask
,
SIGINT
)
!=
1
)
{
LOG
(
"SIGINT should still in block set!"
);
exitCode
=
1
;
}
if
(
sigismember
(
&
sigmask
,
SIGSEGV
)
!=
1
)
{
LOG
(
"SIGSEGV should still in block set!"
);
exitCode
=
1
;
}
exit
(
exitCode
);
}
else
{
// parent
Msleep
(
40
);
kill
(
pid
,
SIGSEGV
);
Msleep
(
200
);
AssertProcExitedOK
(
pid
);
}
sigset_t
pending
;
sigemptyset
(
&
pending
);
sigpending
(
&
pending
);
if
(
sigisemptyset
(
&
pending
))
{
LOG
(
"pending set empty"
);
return
;
}
LOG
(
"========pending set not empty========="
);
if
(
sigismember
(
&
pending
,
SIGCHLD
))
{
LOG
(
"pending set is SIGCHLD"
);
return
;
}
else
{
LOG
(
"pending set is not SIGCHLD!"
);
}
}
/**
* @tc.number SUB_KERNEL_IPC_SIGTIMEDWAIT_0200
* @tc.name sigtimedwait error test: timeout or interupted.
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录