我正在开发处理CTRL-C的应用程序。我正在生产一个信号处理程序来正常关闭线程和其他资源。发送给应用程序的CTRL-C的单元测试
我想在我的应用程序可能在不同的情况下测试CTRL-C。我知道如何为被测试的进程设置这些参数,但我需要一种方法(在运行测试套件的代码中)来检查是否达到了该条件,或者不准确调用CTRL-C。
我在Linux上工作,我想在CPPUNIT
的帮助下自动运行我的测试。在我的每个CTRL-C测试中,我开始该过程,然后使用具有进程的PID的kill
函数发送CTRL-C。
我正在使用共享内存;一旦被测试的应用程序达到我感兴趣的条件或者我想发送CTRL-C的时候,我就会在共享内存中写入一个标签或一个状态。同时,在不同进程中运行的测试套件代码将连续轮询共享内存,一旦它读取所需状态,就会发送CTRL-C/kill。
您认为这是一个好方法,还是通常以更好/有效的方式完成?当接收到一些外部信号不像单元测试,但像功能测试
此致
AFG
可能重复的[为什么我不能导致seg故障?](http://stackoverflow.com/questions/2045314/why-cant-i-cause-a-seg-fault) – 2010-12-21 20:15:28