[nagiosplug] tests: make sure tests don't hang

Nagios Plugin Development nagios-plugins at users.sourceforge.net
Thu Sep 12 23:40:09 CEST 2013


    Module: nagiosplug
    Branch: master
    Commit: 07f9a0f6274331ab6e45ac36ac1fe60d120dd2fb
    Author: Sven Nierlein <Sven.Nierlein at consol.de>
 Committer: Sven Nierlein <sven at consol.de>
      Date: Thu Sep 12 13:55:36 2013 +0200
       URL: http://nagiosplug.git.sf.net/git/gitweb.cgi?p=nagiosplug/nagiosplug;a=commit;h=07f9a0f

tests: make sure tests don't hang

---

 NPTest.pm |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/NPTest.pm b/NPTest.pm
index 54a535e..a2cad19 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'}) {





More information about the Commits mailing list