diff options
| -rw-r--r-- | NPTest.pm | 7 |
1 files changed, 6 insertions, 1 deletions
| @@ -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'}) { |
