diff options
Diffstat (limited to 'plugins')
| -rw-r--r-- | plugins/check_disk.c | 6 | ||||
| -rw-r--r-- | plugins/t/check_disk.t | 13 |
2 files changed, 13 insertions, 6 deletions
diff --git a/plugins/check_disk.c b/plugins/check_disk.c index b9787c89..3c7b0ecf 100644 --- a/plugins/check_disk.c +++ b/plugins/check_disk.c | |||
| @@ -153,6 +153,7 @@ main (int argc, char **argv) | |||
| 153 | char *output; | 153 | char *output; |
| 154 | char *details; | 154 | char *details; |
| 155 | char *perf; | 155 | char *perf; |
| 156 | char *preamble; | ||
| 156 | double inode_space_pct; | 157 | double inode_space_pct; |
| 157 | uintmax_t total, available, available_to_root, used; | 158 | uintmax_t total, available, available_to_root, used; |
| 158 | double dfree_pct = -1, dused_pct = -1; | 159 | double dfree_pct = -1, dused_pct = -1; |
| @@ -165,7 +166,8 @@ main (int argc, char **argv) | |||
| 165 | struct parameter_list *temp_list, *path; | 166 | struct parameter_list *temp_list, *path; |
| 166 | struct name_list *seen = NULL; | 167 | struct name_list *seen = NULL; |
| 167 | 168 | ||
| 168 | output = strdup (" - free space:"); | 169 | preamble = strdup (" - free space:"); |
| 170 | output = strdup (""); | ||
| 169 | details = strdup (""); | 171 | details = strdup (""); |
| 170 | perf = strdup (""); | 172 | perf = strdup (""); |
| 171 | 173 | ||
| @@ -323,7 +325,7 @@ main (int argc, char **argv) | |||
| 323 | asprintf (&output, "%s%s", output, details); | 325 | asprintf (&output, "%s%s", output, details); |
| 324 | 326 | ||
| 325 | 327 | ||
| 326 | printf ("DISK %s%s|%s\n", state_text (result), output, perf); | 328 | printf ("DISK %s%s%s|%s\n", state_text (result), (erronly && result==STATE_OK) ? "" : preamble, output, perf); |
| 327 | return result; | 329 | return result; |
| 328 | } | 330 | } |
| 329 | 331 | ||
diff --git a/plugins/t/check_disk.t b/plugins/t/check_disk.t index 0fe87aa3..ec3d248c 100644 --- a/plugins/t/check_disk.t +++ b/plugins/t/check_disk.t | |||
| @@ -10,9 +10,9 @@ use Test::More; | |||
| 10 | use NPTest; | 10 | use NPTest; |
| 11 | use POSIX qw(ceil floor); | 11 | use POSIX qw(ceil floor); |
| 12 | 12 | ||
| 13 | my $successOutput = '/^DISK OK - /'; | 13 | my $successOutput = '/^DISK OK/'; |
| 14 | my $failureOutput = '/^DISK CRITICAL - /'; | 14 | my $failureOutput = '/^DISK CRITICAL/'; |
| 15 | my $warningOutput = '/^DISK WARNING - /'; | 15 | my $warningOutput = '/^DISK WARNING/'; |
| 16 | 16 | ||
| 17 | my $result; | 17 | my $result; |
| 18 | 18 | ||
| @@ -22,7 +22,7 @@ my $mountpoint2_valid = getTestParameter( "NP_MOUNTPOINT2_VALID", "Path to anoth | |||
| 22 | if ($mountpoint_valid eq "" or $mountpoint2_valid eq "") { | 22 | if ($mountpoint_valid eq "" or $mountpoint2_valid eq "") { |
| 23 | plan skip_all => "Need 2 mountpoints to test"; | 23 | plan skip_all => "Need 2 mountpoints to test"; |
| 24 | } else { | 24 | } else { |
| 25 | plan tests => 39; | 25 | plan tests => 42; |
| 26 | } | 26 | } |
| 27 | 27 | ||
| 28 | $result = NPTest->testCmd( | 28 | $result = NPTest->testCmd( |
| @@ -55,6 +55,11 @@ if ($free_on_mp1 > $free_on_mp2) { | |||
| 55 | $result = NPTest->testCmd( "./check_disk -w 1 -c 1 -p $more_free" ); | 55 | $result = NPTest->testCmd( "./check_disk -w 1 -c 1 -p $more_free" ); |
| 56 | cmp_ok( $result->return_code, '==', 0, "At least 1 MB available on $more_free"); | 56 | cmp_ok( $result->return_code, '==', 0, "At least 1 MB available on $more_free"); |
| 57 | like ( $result->output, $successOutput, "OK output" ); | 57 | like ( $result->output, $successOutput, "OK output" ); |
| 58 | like ( $result->only_output, qr/free space/, "Have free space text"); | ||
| 59 | like ( $result->only_output, qr/$more_free/, "Have disk name in text"); | ||
| 60 | |||
| 61 | $result = NPTest->testCmd( "./check_disk -e -w 1 -c 1 -p $more_free" ); | ||
| 62 | is( $result->only_output, "DISK OK", "No print out of disks with -e for OKs"); | ||
| 58 | 63 | ||
| 59 | $result = NPTest->testCmd( "./check_disk 100 100 $more_free" ); | 64 | $result = NPTest->testCmd( "./check_disk 100 100 $more_free" ); |
| 60 | cmp_ok( $result->return_code, '==', 0, "Old syntax okay" ); | 65 | cmp_ok( $result->return_code, '==', 0, "Old syntax okay" ); |
