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