我正在開發處理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