aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NPTest.pm7
1 files changed, 6 insertions, 1 deletions
diff --git a/NPTest.pm b/NPTest.pm
index 54a535e7..a2cad192 100644
--- a/NPTest.pm
+++ b/NPTest.pm
@@ -615,7 +615,10 @@ sub testCmd {
my $class = shift;
my $command = shift or die "No command passed to testCmd";
my $object = $class->new;
-
+
+ local $SIG{'ALRM'} = sub { die("timeout in command: $command"); };
+ alarm(120); # no test should take longer than 120 seconds
+
my $output = `$command`;
$object->return_code($? >> 8);
$_ = $? & 127;
@@ -625,6 +628,8 @@ sub testCmd {
chomp $output;
$object->output($output);
+ alarm(0);
+
my ($pkg, $file, $line) = caller(0);
print "Testing: $command", $/;
if ($ENV{'NPTEST_DEBUG'}) {