[monitoring-plugins] Enable tests in tests/ subdirs

Git Repository git at monitoring-plugins.org
Fri Jan 31 18:40:07 CET 2014


 Module: monitoring-plugins
 Branch: master
 Commit: 1dd0e4c96376f2c28590dad683161ee8c57c0508
 Author: Thomas Guyot-Sionnest <dermoth at aei.ca>
   Date: Fri Jan 31 08:54:44 2014 -0500
    URL: https://www.monitoring-plugins.org/repositories/monitoring-plugins/commit/?id=1dd0e4c

Enable tests in tests/ subdirs

---

 NPTest.pm                   | 33 +++++++++++++++++++++------------
 plugins/tests/check_procs.t |  0
 test.pl.in                  | 13 ++++++++-----
 3 files changed, 29 insertions(+), 17 deletions(-)

diff --git a/NPTest.pm b/NPTest.pm
index 3d6e3a2..2baed0b 100644
--- a/NPTest.pm
+++ b/NPTest.pm
@@ -494,26 +494,35 @@ sub SetCacheFilename
 
 sub DetermineTestHarnessDirectory
 {
-  my( $userSupplied ) = @_;
+  my( @userSupplied ) = @_;
+  my @dirs;
 
   # User Supplied
-  if ( defined( $userSupplied ) && $userSupplied )
+  if ( @userSupplied > 0 )
   {
-    if ( -d $userSupplied )
+    for my $u ( @userSupplied )
     {
-      return $userSupplied;
-    }
-    else
-    {
-      return undef; # userSupplied is invalid -> FAIL
+      if ( -d $u )
+      {
+        push ( @dirs, $u );
+      }
     }
   }
 
-  # Simple Case : "t" is a subdirectory of the current directory
+  # Simple Cases: "t" and tests are subdirectories of the current directory
   if ( -d "./t" )
   {
-    return "./t";
+    push ( @dirs, "./t");
   }
+  if ( -d "./tests" )
+  {
+    push ( @dirs, "./tests");
+  }
+
+	if ( @dirs > 0 )
+	{
+		return @dirs;
+	}
 
   # To be honest I don't understand which case satisfies the
   # original code in test.pl : when $tstdir == `pwd` w.r.t.
@@ -526,7 +535,7 @@ sub DetermineTestHarnessDirectory
 
   if ( $pwd =~ m|/t$| )
   {
-    return $pwd;
+    push ( @dirs, $pwd );
 
     # The alternate that might work better is
     # chdir( ".." );
@@ -535,7 +544,7 @@ sub DetermineTestHarnessDirectory
     # to be tested is in the current directory (ie "./check_disk ....")
   }
 
-  return undef;
+  return @dirs;
 }
 
 sub TestsFrom
diff --git a/plugins/tests/check_procs.t b/plugins/tests/check_procs.t
old mode 100644
new mode 100755
diff --git a/test.pl.in b/test.pl.in
index 85ac19d..01a97ec 100755
--- a/test.pl.in
+++ b/test.pl.in
@@ -9,9 +9,9 @@ use Getopt::Long;
 
 use NPTest qw(DetermineTestHarnessDirectory TestsFrom);
 
-my $tstdir;
+my @tstdir;
 
-if ( ! GetOptions( "testdir:s" => \$tstdir ) )
+if ( ! GetOptions( "testdir:s" => \@tstdir ) )
 {
   print "Usage: ${0} [--testdir=<directory>] [<test_harness.t> ...]\n";
   exit 1;
@@ -25,15 +25,18 @@ if ( scalar( @ARGV ) )
 }
 else
 {
-  my $directory = DetermineTestHarnessDirectory( $tstdir );
+  my @directory = DetermineTestHarnessDirectory( @tstdir );
 
-  if ( !defined( $directory ) )
+  if ( @directory == 0 )
   {
     print STDERR "$0: Unable to determine the test harness directory - ABORTING\n";
     exit 2;
   }
 
-  @tests = TestsFrom( $directory, 1 );
+  for my $d ( @directory )
+  {
+    push (@tests, TestsFrom( $d, 1 ));
+  }
 }
 
 if ( ! scalar( @tests ) )



More information about the Commits mailing list