summaryrefslogtreecommitdiffstats
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 {
615 my $class = shift; 615 my $class = shift;
616 my $command = shift or die "No command passed to testCmd"; 616 my $command = shift or die "No command passed to testCmd";
617 my $object = $class->new; 617 my $object = $class->new;
618 618
619 local $SIG{'ALRM'} = sub { die("timeout in command: $command"); };
620 alarm(120); # no test should take longer than 120 seconds
621
619 my $output = `$command`; 622 my $output = `$command`;
620 $object->return_code($? >> 8); 623 $object->return_code($? >> 8);
621 $_ = $? & 127; 624 $_ = $? & 127;
@@ -625,6 +628,8 @@ sub testCmd {
625 chomp $output; 628 chomp $output;
626 $object->output($output); 629 $object->output($output);
627 630
631 alarm(0);
632
628 my ($pkg, $file, $line) = caller(0); 633 my ($pkg, $file, $line) = caller(0);
629 print "Testing: $command", $/; 634 print "Testing: $command", $/;
630 if ($ENV{'NPTEST_DEBUG'}) { 635 if ($ENV{'NPTEST_DEBUG'}) {