Тайм-аут испытаний в Perl Test Harness
Как я мог тайм-аут вешать тесты в тестовом жгуте Perl?
Я пытался использовать Test::Timer
модуль, но я не могу связать его с TAP::Harness
чтобы иметь встроенную функцию тайм-аута для каждого теста. Кроме того, я не хочу проверять, занимает ли немного кода x
время для завершения, я просто хочу запустить свои тесты и тайм-аут на случай, если они по какой-либо причине зависнут.
1 ответ
Недавно на PerlMonks был похожий вопрос.
Установить время:: Лимит.
Этот модуль позволит вам установить временные ограничения для отдельных тестовых файлов:
use Test::More;
use Time::Limit "30"; # 30 seconds, quote marks are necessary!
Или установите общий лимит времени для запуска всего набора тестов:
prove -MTime::Limit=120 t/*.t
Если вы используете forkprove
вместо prove
, тогда вам нужен ограничитель времени, чтобы убить всю группу процессов:
forkprove -MTime::Limit=-group,120 t/*.t