Я разрабатываю приложение, обрабатывающее CTRL-C. Я создаю обработчик сигнала для корректного завершения потоков и других ресурсов.
Я хочу протестировать CTRL-C в разных сценариях, где может быть мое приложение. Я знаю, как настроить их для тестируемого процесса, но мне нужен способ (в коде запущенного набора тестов), чтобы проверить, достигнуто ли это условие или нет, чтобы точно вызвать CTRL-C.
Я работаю в Linux и хочу автоматически запускать свои тесты с помощью CPPUNIT
. В каждом из моих тестов CTRL-C я запускаю процесс, а затем отправляю CTRL-C, используя функцию kill
с PID процесса.
Я использую общую память; как только протестированное приложение достигает состояния, представляющего интерес для меня, или момента, когда я хочу отправить CTRL-C, я записываю тег или состояние в общую память. В то же время код набора тестов, запущенный в другом процессе, непрерывно опрашивает общую память и, как только он читает желаемое состояние, отправляет CTRL-C / kill.
Как вы думаете, это хороший подход или обычно это делается лучше / эффективнее?
С уважением
AFG