New upstream version 2.3
This commit is contained in:
parent
c845af032a
commit
5c6ba24b61
129 changed files with 14313 additions and 2999 deletions
|
@ -5,14 +5,14 @@
|
|||
#
|
||||
|
||||
use strict;
|
||||
use Test::More tests => 17;
|
||||
use Test::More tests => 27;
|
||||
use NPTest;
|
||||
|
||||
my $successOutput = '/^FILE_AGE OK: /';
|
||||
my $warningOutput = '/^FILE_AGE WARNING: /';
|
||||
my $criticalOutput = '/^FILE_AGE CRITICAL: /';
|
||||
my $unknownOutput = '/^FILE_AGE UNKNOWN: /';
|
||||
my $performanceOutput = '/ \| age=[0-9]+s;[0-9]+;[0-9]+ size=[0-9]+B;[0-9]+;[0-9]+;0$/';
|
||||
my $performanceOutput = '/ \| age=[0-9]+s;[0-9:]+;[0-9:]+ size=[0-9]+B;[0-9:]+;[0-9:]+;0$/';
|
||||
|
||||
my $result;
|
||||
my $temp_file = "/tmp/check_file_age.tmp";
|
||||
|
@ -20,64 +20,75 @@ my $temp_link = "/tmp/check_file_age.link.tmp";
|
|||
|
||||
unlink $temp_file, $temp_link;
|
||||
|
||||
$result = NPTest->testCmd(
|
||||
"./check_file_age"
|
||||
);
|
||||
$result = NPTest->testCmd("./check_file_age");
|
||||
cmp_ok( $result->return_code, '==', 3, "Missing parameters" );
|
||||
like ( $result->output, $unknownOutput, "Output for unknown correct" );
|
||||
|
||||
$result = NPTest->testCmd(
|
||||
"./check_file_age -f $temp_file"
|
||||
);
|
||||
$result = NPTest->testCmd("./check_file_age -f $temp_file");
|
||||
cmp_ok( $result->return_code, '==', 2, "File not exists" );
|
||||
like ( $result->output, $criticalOutput, "Output for file missing correct" );
|
||||
|
||||
write_chars(100);
|
||||
$result = NPTest->testCmd(
|
||||
"./check_file_age -f $temp_file"
|
||||
);
|
||||
$result = NPTest->testCmd("./check_file_age -f $temp_file");
|
||||
cmp_ok( $result->return_code, '==', 0, "File is new enough" );
|
||||
like ( $result->output, $successOutput, "Output for success correct" );
|
||||
|
||||
sleep 2;
|
||||
|
||||
$result = NPTest->testCmd(
|
||||
"./check_file_age -f $temp_file -w 1"
|
||||
);
|
||||
$result = NPTest->testCmd("./check_file_age -f $temp_file -w 1");
|
||||
cmp_ok( $result->return_code, '==', 1, "Warning for file over 1 second old" );
|
||||
like ( $result->output, $warningOutput, "Output for warning correct" );
|
||||
|
||||
$result = NPTest->testCmd(
|
||||
"./check_file_age -f $temp_file -c 1"
|
||||
);
|
||||
$result = NPTest->testCmd("./check_file_age -f $temp_file -c 1");
|
||||
cmp_ok( $result->return_code, '==', 2, "Critical for file over 1 second old" );
|
||||
like ( $result->output, $criticalOutput, "Output for critical correct" );
|
||||
|
||||
$result = NPTest->testCmd(
|
||||
"./check_file_age -f $temp_file -c 1000 -W 100"
|
||||
);
|
||||
$result = NPTest->testCmd("./check_file_age -f $temp_file -c 1000 -W 100");
|
||||
cmp_ok( $result->return_code, '==', 0, "Checking file size" );
|
||||
|
||||
$result = NPTest->testCmd(
|
||||
"./check_file_age -f $temp_file -c 1000 -W 100"
|
||||
);
|
||||
$result = NPTest->testCmd("./check_file_age -f $temp_file -c 1000 -W 100");
|
||||
like( $result->output, $performanceOutput, "Checking for performance Output" );
|
||||
|
||||
$result = NPTest->testCmd(
|
||||
"./check_file_age -f /non/existent --ignore-missing"
|
||||
);
|
||||
$result = NPTest->testCmd("./check_file_age -f $temp_file -c 1000 -W 100");
|
||||
like( $result->output, $performanceOutput, "Checking for performance Output from range" );
|
||||
|
||||
$result = NPTest->testCmd("./check_file_age -f /non/existent --ignore-missing");
|
||||
cmp_ok( $result->return_code, '==', 0, "Honours --ignore-missing" );
|
||||
|
||||
$result = NPTest->testCmd(
|
||||
"./check_file_age -f $temp_file -c 1000 -W 101"
|
||||
);
|
||||
$result = NPTest->testCmd("./check_file_age -f $temp_file -c 1000 -W 101");
|
||||
cmp_ok( $result->return_code, '==', 1, "One byte too short" );
|
||||
|
||||
$result = NPTest->testCmd(
|
||||
"./check_file_age -f $temp_file -c 1000 -C 101"
|
||||
);
|
||||
$result = NPTest->testCmd("./check_file_age -f $temp_file -c 1000 -C 101");
|
||||
cmp_ok( $result->return_code, '==', 2, "One byte too short - critical" );
|
||||
|
||||
SKIP: {
|
||||
eval 'use Monitoring::Plugin::Range';
|
||||
skip "Monitoring::Plugin::Range module require", 9 if $@;
|
||||
|
||||
$result = NPTest->testCmd("./check_file_age -f $temp_file -w 0:1");
|
||||
cmp_ok( $result->return_code, '==', 1, "Warning for file over 1 second old by range" );
|
||||
like ( $result->output, $warningOutput, "Output for warning by range correct" );
|
||||
|
||||
$result = NPTest->testCmd("./check_file_age -f $temp_file -c 0:1");
|
||||
cmp_ok( $result->return_code, '==', 2, "Critical for file over 1 second old by range" );
|
||||
like ( $result->output, $criticalOutput, "Output for critical by range correct" );
|
||||
|
||||
$result = NPTest->testCmd("./check_file_age -f $temp_file -c 0:1000 -W 0:100");
|
||||
cmp_ok( $result->return_code, '==', 0, "Checking file size by range" );
|
||||
|
||||
$result = NPTest->testCmd("./check_file_age -f $temp_file -c 1000 -W 101:");
|
||||
cmp_ok( $result->return_code, '==', 1, "One byte too short by range" );
|
||||
|
||||
$result = NPTest->testCmd("./check_file_age -f $temp_file -c 1000 -W 0:99");
|
||||
cmp_ok( $result->return_code, '==', 1, "One byte too long by range" );
|
||||
|
||||
$result = NPTest->testCmd("./check_file_age -f $temp_file -c 1000 -C 101:");
|
||||
cmp_ok( $result->return_code, '==', 2, "One byte too short by range - critical" );
|
||||
|
||||
$result = NPTest->testCmd("./check_file_age -f $temp_file -c 1000 -C 0:99");
|
||||
cmp_ok( $result->return_code, '==', 2, "One byte too long by range - critical" );
|
||||
};
|
||||
|
||||
symlink $temp_file, $temp_link or die "Cannot create symlink";
|
||||
$result = NPTest->testCmd("./check_file_age -f $temp_link -c 10");
|
||||
cmp_ok( $result->return_code, '==', 0, "Works for symlinks" );
|
||||
|
|
129
plugins-scripts/t/check_uptime.t
Normal file
129
plugins-scripts/t/check_uptime.t
Normal file
|
@ -0,0 +1,129 @@
|
|||
#!/usr/bin/perl -w -I ..
|
||||
#
|
||||
# check_uptime tests
|
||||
#
|
||||
#
|
||||
|
||||
use strict;
|
||||
use Test::More tests => 40;
|
||||
use NPTest;
|
||||
|
||||
my $result;
|
||||
|
||||
$result = NPTest->testCmd(
|
||||
"./check_uptime"
|
||||
);
|
||||
cmp_ok( $result->return_code, '==', 3, "Missing parameters" );
|
||||
like ( $result->output, '/^Usage: check_uptime -w/', "Output for missing parameters correct" );
|
||||
|
||||
$result = NPTest->testCmd(
|
||||
"./check_uptime --help"
|
||||
);
|
||||
cmp_ok( $result->return_code, '==', 3, "Help output requested" );
|
||||
like ( $result->output, '/ABSOLUTELY NO WARRANTY/', "Output for help correct" );
|
||||
|
||||
$result = NPTest->testCmd(
|
||||
"./check_uptime -w 5 -c 2"
|
||||
);
|
||||
cmp_ok( $result->return_code, '==', 3, "Warning greater than critical" );
|
||||
like ( $result->output, '/^Upper Warning .*cannot be greater than Critical/', "Output for warning greater than critical correct" );
|
||||
|
||||
$result = NPTest->testCmd(
|
||||
"./check_uptime -c 1000 -W 100 2>&1"
|
||||
);
|
||||
like ( $result->output, '/^Unknown option: W/', "Output with wrong parameter is correct" );
|
||||
|
||||
$result = NPTest->testCmd(
|
||||
"./check_uptime -f -w 1 -c 2"
|
||||
);
|
||||
cmp_ok( $result->return_code, '==', 2, "Uptime higher than 2 seconds" );
|
||||
like ( $result->output, '/Running for \d+/', "Output for the f parameter correct" );
|
||||
|
||||
$result = NPTest->testCmd(
|
||||
"./check_uptime -s -w 1 -c 2"
|
||||
);
|
||||
cmp_ok( $result->return_code, '==', 2, "Uptime higher than 2 seconds" );
|
||||
like ( $result->output, '/Running since \d+/', "Output for the s parameter correct" );
|
||||
|
||||
$result = NPTest->testCmd(
|
||||
"./check_uptime -w 1 -c 2"
|
||||
);
|
||||
cmp_ok( $result->return_code, '==', 2, "Uptime higher than 2 seconds" );
|
||||
like ( $result->output, '/^CRITICAL: uptime is \d+ seconds/', "Output for uptime higher than 2 seconds correct" );
|
||||
|
||||
$result = NPTest->testCmd(
|
||||
"./check_uptime -w 1 -c 9999w"
|
||||
);
|
||||
cmp_ok( $result->return_code, '==', 1, "Uptime lower than 9999 weeks" );
|
||||
like ( $result->output, '/^WARNING: uptime is \d+ seconds/', "Output for uptime lower than 9999 weeks correct" );
|
||||
|
||||
$result = NPTest->testCmd(
|
||||
"./check_uptime -w 9998w -c 9999w"
|
||||
);
|
||||
cmp_ok( $result->return_code, '==', 0, "Uptime lower than 9998 weeks" );
|
||||
like ( $result->output, '/^OK: uptime is \d+ seconds/', "Output for uptime lower than 9998 weeks correct" );
|
||||
like ( $result->output, '/\|uptime=[0-9]+s;6046790400;6047395200;/', "Checking for performance output" );
|
||||
|
||||
$result = NPTest->testCmd(
|
||||
"./check_uptime -w 111222d -c 222333d"
|
||||
);
|
||||
cmp_ok( $result->return_code, '==', 0, "Uptime lower than 111222 days" );
|
||||
like ( $result->output, '/^OK: uptime is \d+ seconds/', "Output for uptime lower than 111222 days correct" );
|
||||
like ( $result->output, '/\|uptime=[0-9]+s;9609580800;19209571200;/', "Checking for performance output" );
|
||||
|
||||
# Same as before, hopefully uptime is higher than 2 seconds so no warning
|
||||
$result = NPTest->testCmd(
|
||||
"./check_uptime -w 2:111222d -c 1:222333d"
|
||||
);
|
||||
cmp_ok( $result->return_code, '==', 0, "Uptime lower than 111222 days, and higher 2 seconds" );
|
||||
like ( $result->output, '/^OK: uptime is \d+ seconds/', "Output for uptime lower than 111222 days, and higher 2 seconds correct" );
|
||||
like ( $result->output, '/\|uptime=[0-9]+s;9609580800;19209571200;/', "Checking for performance output" );
|
||||
|
||||
# Same as before, now the low warning should trigger
|
||||
$result = NPTest->testCmd(
|
||||
"./check_uptime -w 111221d:111222d -c 1:222333d"
|
||||
);
|
||||
cmp_ok( $result->return_code, '==', 1, "Uptime lower than 111221 days raises warning" );
|
||||
like ( $result->output, '/^WARNING: uptime is \d+ seconds/', "Output for uptime lower than 111221 days correct" );
|
||||
like ( $result->output, '/Exceeds lower warn threshold/', "Exceeds text correct" );
|
||||
like ( $result->output, '/\|uptime=[0-9]+s;9609580800;19209571200;/', "Checking for performance output" );
|
||||
|
||||
# Same as before, now the low critical should trigger
|
||||
$result = NPTest->testCmd(
|
||||
"./check_uptime -w 111221d:111222d -c 111220d:222333d"
|
||||
);
|
||||
cmp_ok( $result->return_code, '==', 2, "Uptime lower than 111220 days raises critical" );
|
||||
like ( $result->output, '/^CRITICAL: uptime is \d+ seconds/', "Output for uptime lower than 111220 days correct" );
|
||||
like ( $result->output, '/Exceeds lower crit threshold/', "Exceeds text correct" );
|
||||
like ( $result->output, '/\|uptime=[0-9]+s;9609580800;19209571200;/', "Checking for performance output" );
|
||||
|
||||
|
||||
#
|
||||
# Range values using ":" without two parts ("a:b") is invalid
|
||||
# Strings without two parts are always considered as upper threshold
|
||||
#
|
||||
|
||||
$result = NPTest->testCmd(
|
||||
"./check_uptime -w 2: -c 1:4"
|
||||
);
|
||||
cmp_ok( $result->return_code, '==', 3, "Wrong parameter format raises unknown" );
|
||||
like ( $result->output, '/^Upper warning .* is not numeric/', "Output for wrong parameter format correct" );
|
||||
|
||||
$result = NPTest->testCmd(
|
||||
"./check_uptime -w 2:3 -c 1:"
|
||||
);
|
||||
cmp_ok( $result->return_code, '==', 3, "Wrong parameter format raises unknown" );
|
||||
like ( $result->output, '/^Upper critical .* is not numeric/', "Output for wrong parameter format correct" );
|
||||
|
||||
$result = NPTest->testCmd(
|
||||
"./check_uptime -w :3 -c 1:4"
|
||||
);
|
||||
cmp_ok( $result->return_code, '==', 3, "Wrong parameter format raises unknown" );
|
||||
like ( $result->output, '/^Upper warning .* is not numeric/', "Output for wrong parameter format correct" );
|
||||
|
||||
$result = NPTest->testCmd(
|
||||
"./check_uptime -w 2:3 -c :4"
|
||||
);
|
||||
cmp_ok( $result->return_code, '==', 3, "Wrong parameter format raises unknown" );
|
||||
like ( $result->output, '/^Upper critical .* is not numeric/', "Output for wrong parameter format correct" );
|
||||
|
|
@ -10,6 +10,7 @@ use strict;
|
|||
use Test::More;
|
||||
use NPTest;
|
||||
|
||||
use lib ".";
|
||||
use lib "..";
|
||||
use utils;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue