Модульное тестирование CTRL-C, отправленного в приложение

Я разрабатываю приложение, работающее с CTRL-C. Я создаю обработчик сигналов для корректного завершения потоков и других ресурсов.

Я хочу протестировать CTRL-C в различных сценариях, в которых может находиться мое приложение. Я знаю, как настроить их для тестируемого процесса, но мне нужен способ (в коде запущенного набора тестов), чтобы проверить, достигнуто ли это условие или нет, чтобы точно вызвать CTRL-C.

Я работаю в Linux и я хочу запускать свои тесты автоматически с помощью CPPUNIT . В каждом из моих тестов CTRL-C я запускаю процесс, а затем отправляю CTRL-C, используя функцию kill , имеющую PID процесса.

Я использую разделяемую память; как только тестируемое приложение достигает интересующего меня состояния или момента, когда я хотел бы отправить CTRL-C, я записываю тег или состояние в общую память. В то же время код набора тестов, выполняемый в другом процессе, непрерывно опрашивает разделяемую память, и как только он считывает желаемое состояние, он отправляет CTRL-C / kill.

Как вы думаете, это хороший подход, или это обычно делается в лучшие / эффективные способы?

С уважением

AFG

9
задан Abruzzo Forte e Gentile 21 December 2010 в 15:26
поделиться