diff options
| author | Ton Voon <tonvoon@users.sourceforge.net> | 2006-10-12 13:58:43 +0000 |
|---|---|---|
| committer | Ton Voon <tonvoon@users.sourceforge.net> | 2006-10-12 13:58:43 +0000 |
| commit | bd9a612f6c18fcc9b17e5abf58def18b19521d82 (patch) | |
| tree | c4bb4e93ccbca424b2bd7aeb2a6ad799bc3e3791 /plugins | |
| parent | cff53455ffc4d4df7214f8d671b3dca7ca26f51d (diff) | |
| download | monitoring-plugins-bd9a612f6c18fcc9b17e5abf58def18b19521d82.tar.gz | |
Fixed output from -e in check_disk (Andreas Behal)
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1490 f882894a-f735-0410-b71e-b25c423dba1c
Diffstat (limited to 'plugins')
| -rw-r--r-- | plugins/check_disk.c | 16 | ||||
| -rw-r--r-- | plugins/t/check_disk.t | 13 |
2 files changed, 22 insertions, 7 deletions
diff --git a/plugins/check_disk.c b/plugins/check_disk.c index b546fd2f..b9787c89 100644 --- a/plugins/check_disk.c +++ b/plugins/check_disk.c | |||
| @@ -206,6 +206,10 @@ main (int argc, char **argv) | |||
| 206 | 206 | ||
| 207 | /* Process for every path in list */ | 207 | /* Process for every path in list */ |
| 208 | for (path = path_select_list; path; path=path->name_next) { | 208 | for (path = path_select_list; path; path=path->name_next) { |
| 209 | |||
| 210 | /* reset disk result */ | ||
| 211 | disk_result = STATE_UNKNOWN; | ||
| 212 | |||
| 209 | me = path->best_match; | 213 | me = path->best_match; |
| 210 | 214 | ||
| 211 | /* Filters */ | 215 | /* Filters */ |
| @@ -258,23 +262,25 @@ main (int argc, char **argv) | |||
| 258 | 262 | ||
| 259 | temp_result = get_status(dfree_units, path->freespace_units); | 263 | temp_result = get_status(dfree_units, path->freespace_units); |
| 260 | if (verbose >=3) printf("Freespace_units result=%d\n", temp_result); | 264 | if (verbose >=3) printf("Freespace_units result=%d\n", temp_result); |
| 261 | result = max_state( result, temp_result ); | 265 | disk_result = max_state( disk_result, temp_result ); |
| 262 | 266 | ||
| 263 | temp_result = get_status(dfree_pct, path->freespace_percent); | 267 | temp_result = get_status(dfree_pct, path->freespace_percent); |
| 264 | if (verbose >=3) printf("Freespace%% result=%d\n", temp_result); | 268 | if (verbose >=3) printf("Freespace%% result=%d\n", temp_result); |
| 265 | result = max_state( result, temp_result ); | 269 | disk_result = max_state( disk_result, temp_result ); |
| 266 | 270 | ||
| 267 | temp_result = get_status(dused_units, path->usedspace_units); | 271 | temp_result = get_status(dused_units, path->usedspace_units); |
| 268 | if (verbose >=3) printf("Usedspace_units result=%d\n", temp_result); | 272 | if (verbose >=3) printf("Usedspace_units result=%d\n", temp_result); |
| 269 | result = max_state( result, temp_result ); | 273 | disk_result = max_state( disk_result, temp_result ); |
| 270 | 274 | ||
| 271 | temp_result = get_status(dused_pct, path->usedspace_percent); | 275 | temp_result = get_status(dused_pct, path->usedspace_percent); |
| 272 | if (verbose >=3) printf("Usedspace_percent result=%d\n", temp_result); | 276 | if (verbose >=3) printf("Usedspace_percent result=%d\n", temp_result); |
| 273 | result = max_state( result, temp_result ); | 277 | disk_result = max_state( disk_result, temp_result ); |
| 274 | 278 | ||
| 275 | temp_result = get_status(dused_inodes_percent, path->usedinodes_percent); | 279 | temp_result = get_status(dused_inodes_percent, path->usedinodes_percent); |
| 276 | if (verbose >=3) printf("Usedinodes_percent result=%d\n", temp_result); | 280 | if (verbose >=3) printf("Usedinodes_percent result=%d\n", temp_result); |
| 277 | result = max_state( result, temp_result ); | 281 | disk_result = max_state( disk_result, temp_result ); |
| 282 | |||
| 283 | result = max_state(result, disk_result); | ||
| 278 | 284 | ||
| 279 | asprintf (&perf, "%s %s", perf, | 285 | asprintf (&perf, "%s %s", perf, |
| 280 | perfdata ((!strcmp(me->me_mountdir, "none") || display_mntp) ? me->me_devname : me->me_mountdir, | 286 | perfdata ((!strcmp(me->me_mountdir, "none") || display_mntp) ? me->me_devname : me->me_mountdir, |
diff --git a/plugins/t/check_disk.t b/plugins/t/check_disk.t index 66344927..0fe87aa3 100644 --- a/plugins/t/check_disk.t +++ b/plugins/t/check_disk.t | |||
| @@ -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 => 35; | 25 | plan tests => 39; |
| 26 | } | 26 | } |
| 27 | 27 | ||
| 28 | $result = NPTest->testCmd( | 28 | $result = NPTest->testCmd( |
| @@ -85,6 +85,16 @@ $result = NPTest->testCmd( | |||
| 85 | "./check_disk -w $avg_free% -c 0% -p $less_free -w $avg_free% -c $avg_free% -p $more_free" | 85 | "./check_disk -w $avg_free% -c 0% -p $less_free -w $avg_free% -c $avg_free% -p $more_free" |
| 86 | ); | 86 | ); |
| 87 | cmp_ok( $result->return_code, "==", 1, "Combining above two tests, get warning"); | 87 | cmp_ok( $result->return_code, "==", 1, "Combining above two tests, get warning"); |
| 88 | my $all_disks = $result->output; | ||
| 89 | |||
| 90 | $result = NPTest->testCmd( | ||
| 91 | "./check_disk -e -w $avg_free% -c 0% -p $less_free -w $avg_free% -c $avg_free% -p $more_free" | ||
| 92 | ); | ||
| 93 | isnt( $result->output, $all_disks, "-e gives different output"); | ||
| 94 | like( $result->output, qr/$less_free/, "Found problem $less_free"); | ||
| 95 | unlike( $result->only_output, qr/$more_free/, "Has ignored $more_free as not a problem"); | ||
| 96 | like( $result->perf_output, qr/$more_free/, "But $more_free is still in perf data"); | ||
| 97 | |||
| 88 | 98 | ||
| 89 | 99 | ||
| 90 | 100 | ||
| @@ -97,7 +107,6 @@ $result = NPTest->testCmd( | |||
| 97 | "./check_disk -w $avg_free% -c $avg_free% -p $less_free" | 107 | "./check_disk -w $avg_free% -c $avg_free% -p $less_free" |
| 98 | ); | 108 | ); |
| 99 | cmp_ok( $result->return_code, '==', 2, "Get critical on less_free, checking avg_free"); | 109 | cmp_ok( $result->return_code, '==', 2, "Get critical on less_free, checking avg_free"); |
| 100 | |||
| 101 | $result = NPTest->testCmd( | 110 | $result = NPTest->testCmd( |
| 102 | "./check_disk -w $avg_free% -c 0% -p $more_free -w $avg_free% -c $avg_free% -p $less_free" | 111 | "./check_disk -w $avg_free% -c 0% -p $more_free -w $avg_free% -c $avg_free% -p $less_free" |
| 103 | ); | 112 | ); |
