测试应用程序,具有SIGABRT的信号处理

时间:2015-01-12 05:00:24

标签: unit-testing signals sigabrt

我有一个用C ++编写的应用程序,我最近为SIGABRT安装了一个信号处理程序。现在信号处理程序的工作是捕获SIGABRT并向用户打印一些消息并继续处理(而不是终止应用程序)

现在我的问题是,我该如何测试?

我考虑测试它的一种方法是在代码中包含一些随机断言。但任何人都可以建议采用更自动化的方式吗?

提前致谢

1 个答案:

答案 0 :(得分:0)

使用raise功能,将信号发送到该过程。

int raise(int sig);

raise(SIGABRT);

或者使用kill funcion。

int kill(pid_t pid, int sig);

kill(getpid(),SIGABRT);