我如何让 Perl 测试工具中的挂起测试超时?
我尝试使用该Test::Timer
模块,但我似乎无法使其与该模块很好地链接TAP::Harness
,以便为每个测试提供嵌入式超时功能。另外,我不想测试一些代码是否需要x
时间来完成,我只想运行我的测试并超时,以防它们因任何原因挂起。
我如何让 Perl 测试工具中的挂起测试超时?
我尝试使用该Test::Timer
模块,但我似乎无法使其与该模块很好地链接TAP::Harness
,以便为每个测试提供嵌入式超时功能。另外,我不想测试一些代码是否需要x
时间来完成,我只想运行我的测试并超时,以防它们因任何原因挂起。
最近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