Code

check_host: Allocate a large-enough buffer for the host table.
[nagiosplug.git] / NPTest.pm
index 1372d1423042bcaf0357f77367679cd6ccf08aad..54a535e77808b167741ba30ca744fcb3266acc5c 100644 (file)
--- a/NPTest.pm
+++ b/NPTest.pm
@@ -21,7 +21,7 @@ use Data::Dumper;
 use Test;
 
 use vars qw($VERSION);
-$VERSION = do { my @r = (q$Revision$ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r }; # must be all one line, for MakeMaker
+$VERSION = "1556."; # must be all one line, for MakeMaker
 
 =head1 NAME
 
@@ -54,13 +54,13 @@ user. The user can accept the developer's default value or reply "none"
 which will then be returned as "" for the test to skip if appropriate.
 
 If a parameter needs to be entered and the test is run without a tty 
-attached (such as a cronjob), this routine will die causing the test to 
-fail.
+attached (such as a cronjob), the parameter will be assigned as if it 
+was "none". Tests can check for the parameter and skip if not set.
 
-Responses are stored in an external, file-based
-cache so subsequent test runs will use these values. The user is able
-to change the values by amending the values in the file /var/tmp/NPTest.pm,
-or by setting the appropriate environment variable before running the test.
+Responses are stored in an external, file-based cache so subsequent test
+runs will use these values. The user is able to change the values by
+amending the values in the file /var/tmp/NPTest.cache, or by setting
+the appropriate environment variable before running the test.
 
 The option exists to store parameters in a scoped means, allowing a
 test harness to a localise a parameter should the need arise. This
@@ -346,7 +346,8 @@ sub getTestParameter
     return $default;
   }
 
-  die "Need to manually enter test parameter $param" unless (-t STDERR);
+  # Set "none" if no terminal attached (eg, tinderbox build servers when new variables set)
+  return "" unless (-t STDERR);
 
   my $userResponse = "";
 
@@ -603,6 +604,13 @@ sub perf_output {
        return $1 || "";
 }
 
+sub only_output {
+       my $self = shift;
+       $_ = $self->{output};
+       /(.*?)\|/;
+       return $1 || "";
+}
+
 sub testCmd {
        my $class = shift;
        my $command = shift or die "No command passed to testCmd";
@@ -617,10 +625,10 @@ sub testCmd {
        chomp $output;
        $object->output($output);
 
+       my ($pkg, $file, $line) = caller(0);
+       print "Testing: $command", $/;
        if ($ENV{'NPTEST_DEBUG'}) {
-               my ($pkg, $file, $line) = caller(0);
                print "testCmd: Called from line $line in $file", $/;
-               print "Testing: $command", $/;
                print "Output:  ", $object->output, $/;
                print "Return code: ", $object->return_code, $/;
        }