Могу ли я заставить Perl Devel :: Cover генерировать отчет о покрытии, если я завершил процесс сборки testcover до его завершения?

Если я смогу успешно запустить Devel :: Cover и он начнет собирать данные в каталоге cover_db, могу ли я затем убить процесс, а затем после этого получить Devel :: Cover или другую утилиту для обработки этих двоичных файлов Devel :: Включите файлы прогона и файлы структуры в отчет о покрытии HTML?

Чтобы задать вопрос по-другому ... Могу ли я использовать Devel :: Cover для получения отчета о покрытии процесса, который я не могу остановить, кроме как убить процесс?

Этот вопрос связан с: Как получить покрытие кода сценария Perl CGI при его выполнении с помощью Selenium?


person Kurt W. Leucht    schedule 28.05.2010    source источник


Ответы (1)


Я обычно с этим справляюсь (скажем, для запуска тестов на серверах):

  • Создайте __DIE__ обработчик для процесса Perl. Это гарантирует, что процесс завершится нормально, и Devel :: Cover завершит заполнение БД.

  • Отправьте SIGINT процессу, чтобы запустить новый обработчик DIE.

  • запустите программу cover в каталоге cover_db после остановки процесса.

person DVK    schedule 28.05.2010
comment
Идеально! Я только сейчас понимаю, что большинство этих замечательных модулей Perl также доступны из командной строки. Гений! - person Kurt W. Leucht; 28.05.2010