From f9baef7ed0d40745a46ea82d08d85949bb48b8c9 Mon Sep 17 00:00:00 2001
From: Ton Voon <tonvoon@users.sourceforge.net>
Date: Thu, 12 Oct 2006 14:14:48 +0000
Subject: Remove the "- free space" if status is OK

git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1491 f882894a-f735-0410-b71e-b25c423dba1c

diff --git a/plugins/check_disk.c b/plugins/check_disk.c
index b9787c8..3c7b0ec 100644
--- a/plugins/check_disk.c
+++ b/plugins/check_disk.c
@@ -153,6 +153,7 @@ main (int argc, char **argv)
   char *output;
   char *details;
   char *perf;
+  char *preamble;
   double inode_space_pct;
   uintmax_t total, available, available_to_root, used;
   double dfree_pct = -1, dused_pct = -1;
@@ -165,7 +166,8 @@ main (int argc, char **argv)
   struct parameter_list *temp_list, *path;
   struct name_list *seen = NULL;
 
-  output = strdup (" - free space:");
+  preamble = strdup (" - free space:");
+  output = strdup ("");
   details = strdup ("");
   perf = strdup ("");
 
@@ -323,7 +325,7 @@ main (int argc, char **argv)
     asprintf (&output, "%s%s", output, details);
 
 
-  printf ("DISK %s%s|%s\n", state_text (result), output, perf);
+  printf ("DISK %s%s%s|%s\n", state_text (result), (erronly && result==STATE_OK) ? "" : preamble, output, perf);
   return result;
 }
 
diff --git a/plugins/t/check_disk.t b/plugins/t/check_disk.t
index 0fe87aa..ec3d248 100644
--- a/plugins/t/check_disk.t
+++ b/plugins/t/check_disk.t
@@ -10,9 +10,9 @@ use Test::More;
 use NPTest;
 use POSIX qw(ceil floor);
 
-my $successOutput = '/^DISK OK - /';
-my $failureOutput = '/^DISK CRITICAL - /';
-my $warningOutput = '/^DISK WARNING - /';
+my $successOutput = '/^DISK OK/';
+my $failureOutput = '/^DISK CRITICAL/';
+my $warningOutput = '/^DISK WARNING/';
 
 my $result;
 
@@ -22,7 +22,7 @@ my $mountpoint2_valid = getTestParameter( "NP_MOUNTPOINT2_VALID", "Path to anoth
 if ($mountpoint_valid eq "" or $mountpoint2_valid eq "") {
 	plan skip_all => "Need 2 mountpoints to test";
 } else {
-	plan tests => 39;
+	plan tests => 42;
 }
 
 $result = NPTest->testCmd( 
@@ -55,6 +55,11 @@ if ($free_on_mp1 > $free_on_mp2) {
 $result = NPTest->testCmd( "./check_disk -w 1 -c 1 -p $more_free" );
 cmp_ok( $result->return_code, '==', 0, "At least 1 MB available on $more_free");
 like  ( $result->output, $successOutput, "OK output" );
+like  ( $result->only_output, qr/free space/, "Have free space text");
+like  ( $result->only_output, qr/$more_free/, "Have disk name in text");
+
+$result = NPTest->testCmd( "./check_disk -e -w 1 -c 1 -p $more_free" );
+is( $result->only_output, "DISK OK", "No print out of disks with -e for OKs");
 
 $result = NPTest->testCmd( "./check_disk 100 100 $more_free" );
 cmp_ok( $result->return_code, '==', 0, "Old syntax okay" );
-- 
cgit v0.10-9-g596f

