diff options
Diffstat (limited to 'plugins/t')
| -rw-r--r-- | plugins/t/check_disk.t | 4 | ||||
| -rw-r--r-- | plugins/t/check_dns.t | 2 | ||||
| -rw-r--r-- | plugins/t/check_http.t | 24 | ||||
| -rw-r--r-- | plugins/t/check_procs.t | 7 | ||||
| -rw-r--r-- | plugins/t/check_tcp.t | 18 |
5 files changed, 34 insertions, 21 deletions
diff --git a/plugins/t/check_disk.t b/plugins/t/check_disk.t index 39b4ca9f..7e0f74b7 100644 --- a/plugins/t/check_disk.t +++ b/plugins/t/check_disk.t | |||
| @@ -4,7 +4,7 @@ | |||
| 4 | # | 4 | # |
| 5 | # | 5 | # |
| 6 | 6 | ||
| 7 | # TODO: Add in tests for perf data. Need to beef up Nagios::Plugin::Performance to cater for max, min, etc | 7 | # TODO: Add in tests for perf data. Need to beef up Monitoring::Plugin::Performance to cater for max, min, etc |
| 8 | 8 | ||
| 9 | use strict; | 9 | use strict; |
| 10 | use Test::More; | 10 | use Test::More; |
| @@ -37,7 +37,7 @@ cmp_ok( $c, '==', 2, "Got two mountpoints in output"); | |||
| 37 | 37 | ||
| 38 | 38 | ||
| 39 | # Get perf data | 39 | # Get perf data |
| 40 | # Should use Nagios::Plugin | 40 | # Should use Monitoring::Plugin |
| 41 | my @perf_data = sort(split(/ /, $result->perf_output)); | 41 | my @perf_data = sort(split(/ /, $result->perf_output)); |
| 42 | 42 | ||
| 43 | 43 | ||
diff --git a/plugins/t/check_dns.t b/plugins/t/check_dns.t index 64aaf0ce..2c903db9 100644 --- a/plugins/t/check_dns.t +++ b/plugins/t/check_dns.t | |||
| @@ -17,7 +17,7 @@ my $successOutput = '/DNS OK: [\.0-9]+ seconds? response time/'; | |||
| 17 | my $hostname_valid = getTestParameter( | 17 | my $hostname_valid = getTestParameter( |
| 18 | "NP_HOSTNAME_VALID", | 18 | "NP_HOSTNAME_VALID", |
| 19 | "A valid (known to DNS) hostname", | 19 | "A valid (known to DNS) hostname", |
| 20 | "nagios.com" | 20 | "monitoring-plugins.org" |
| 21 | ); | 21 | ); |
| 22 | 22 | ||
| 23 | my $hostname_valid_ip = getTestParameter( | 23 | my $hostname_valid_ip = getTestParameter( |
diff --git a/plugins/t/check_http.t b/plugins/t/check_http.t index 29086737..2539a289 100644 --- a/plugins/t/check_http.t +++ b/plugins/t/check_http.t | |||
| @@ -31,8 +31,8 @@ my $internet_access = getTestParameter( "NP_INTERNET_ACCESS", | |||
| 31 | "yes"); | 31 | "yes"); |
| 32 | 32 | ||
| 33 | my $host_tcp_http2 = getTestParameter( "NP_HOST_TCP_HTTP2", | 33 | my $host_tcp_http2 = getTestParameter( "NP_HOST_TCP_HTTP2", |
| 34 | "A host providing an index page containing the string 'nagios'", | 34 | "A host providing an index page containing the string 'monitoring'", |
| 35 | "nagios.org" ); | 35 | "test.monitoring-plugins.org" ); |
| 36 | 36 | ||
| 37 | 37 | ||
| 38 | $res = NPTest->testCmd( | 38 | $res = NPTest->testCmd( |
| @@ -62,27 +62,27 @@ cmp_ok( $res->return_code, '==', 2, "Webserver $hostname_invalid not valid" ); | |||
| 62 | like( $res->output, "/Unable to open TCP socket|Socket timeout after/", "Output OK"); | 62 | like( $res->output, "/Unable to open TCP socket|Socket timeout after/", "Output OK"); |
| 63 | 63 | ||
| 64 | SKIP: { | 64 | SKIP: { |
| 65 | skip "No host serving nagios in index file", 7 unless $host_tcp_http2; | 65 | skip "No host serving monitoring in index file", 7 unless $host_tcp_http2; |
| 66 | 66 | ||
| 67 | $res = NPTest->testCmd( "./check_http -H $host_tcp_http2 -r 'nagios'" ); | 67 | $res = NPTest->testCmd( "./check_http -H $host_tcp_http2 -r 'monitoring'" ); |
| 68 | cmp_ok( $res->return_code, "==", 0, "Got a reference to 'nagios'"); | 68 | cmp_ok( $res->return_code, "==", 0, "Got a reference to 'monitoring'"); |
| 69 | 69 | ||
| 70 | $res = NPTest->testCmd( "./check_http -H $host_tcp_http2 -r 'nAGiOs'" ); | 70 | $res = NPTest->testCmd( "./check_http -H $host_tcp_http2 -r 'mONiTORing'" ); |
| 71 | cmp_ok( $res->return_code, "==", 2, "Not got 'nAGiOs'"); | 71 | cmp_ok( $res->return_code, "==", 2, "Not got 'mONiTORing'"); |
| 72 | like ( $res->output, "/pattern not found/", "Error message says 'pattern not found'"); | 72 | like ( $res->output, "/pattern not found/", "Error message says 'pattern not found'"); |
| 73 | 73 | ||
| 74 | $res = NPTest->testCmd( "./check_http -H $host_tcp_http2 -R 'nAGiOs'" ); | 74 | $res = NPTest->testCmd( "./check_http -H $host_tcp_http2 -R 'mONiTORing'" ); |
| 75 | cmp_ok( $res->return_code, "==", 0, "But case insensitive doesn't mind 'nAGiOs'"); | 75 | cmp_ok( $res->return_code, "==", 0, "But case insensitive doesn't mind 'mONiTORing'"); |
| 76 | 76 | ||
| 77 | $res = NPTest->testCmd( "./check_http -H $host_tcp_http2 -r 'nagios' --invert-regex" ); | 77 | $res = NPTest->testCmd( "./check_http -H $host_tcp_http2 -r 'monitoring' --invert-regex" ); |
| 78 | cmp_ok( $res->return_code, "==", 2, "Invert results work when found"); | 78 | cmp_ok( $res->return_code, "==", 2, "Invert results work when found"); |
| 79 | like ( $res->output, "/pattern found/", "Error message says 'pattern found'"); | 79 | like ( $res->output, "/pattern found/", "Error message says 'pattern found'"); |
| 80 | 80 | ||
| 81 | $res = NPTest->testCmd( "./check_http -H $host_tcp_http2 -r 'nAGiOs' --invert-regex" ); | 81 | $res = NPTest->testCmd( "./check_http -H $host_tcp_http2 -r 'mONiTORing' --invert-regex" ); |
| 82 | cmp_ok( $res->return_code, "==", 0, "And also when not found"); | 82 | cmp_ok( $res->return_code, "==", 0, "And also when not found"); |
| 83 | } | 83 | } |
| 84 | SKIP: { | 84 | SKIP: { |
| 85 | skip "No internet access", 11 if $internet_access eq "no"; | 85 | skip "No internet access", 16 if $internet_access eq "no"; |
| 86 | 86 | ||
| 87 | $res = NPTest->testCmd( | 87 | $res = NPTest->testCmd( |
| 88 | "./check_http --ssl www.verisign.com" | 88 | "./check_http --ssl www.verisign.com" |
diff --git a/plugins/t/check_procs.t b/plugins/t/check_procs.t index 1dea5643..ca4acdd7 100644 --- a/plugins/t/check_procs.t +++ b/plugins/t/check_procs.t | |||
| @@ -13,7 +13,7 @@ my $t; | |||
| 13 | if (`uname -s` eq "SunOS\n" && ! -x "/usr/local/nagios/libexec/pst3") { | 13 | if (`uname -s` eq "SunOS\n" && ! -x "/usr/local/nagios/libexec/pst3") { |
| 14 | plan skip_all => "Ignoring tests on solaris because of pst3"; | 14 | plan skip_all => "Ignoring tests on solaris because of pst3"; |
| 15 | } else { | 15 | } else { |
| 16 | plan tests => 12; | 16 | plan tests => 14; |
| 17 | } | 17 | } |
| 18 | 18 | ||
| 19 | my $result; | 19 | my $result; |
| @@ -26,6 +26,11 @@ $result = NPTest->testCmd( "./check_procs -w 100000 -c 100000 -s Z" ); | |||
| 26 | is( $result->return_code, 0, "Checking less than 100000 zombie processes" ); | 26 | is( $result->return_code, 0, "Checking less than 100000 zombie processes" ); |
| 27 | like( $result->output, '/^PROCS OK: [0-9]+ process(es)? with /', "Output correct" ); | 27 | like( $result->output, '/^PROCS OK: [0-9]+ process(es)? with /', "Output correct" ); |
| 28 | 28 | ||
| 29 | if(fork() == 0) { exec("sleep 7"); } # fork a test process | ||
| 30 | $result = NPTest->testCmd( "./check_procs -a 'sleep 7'" ); | ||
| 31 | is( $result->return_code, 0, "Parent process is ignored" ); | ||
| 32 | like( $result->output, '/^PROCS OK: 1 process?/', "Output correct" ); | ||
| 33 | |||
| 29 | $result = NPTest->testCmd( "./check_procs -w 0 -c 100000" ); | 34 | $result = NPTest->testCmd( "./check_procs -w 0 -c 100000" ); |
| 30 | is( $result->return_code, 1, "Checking warning if processes > 0" ); | 35 | is( $result->return_code, 1, "Checking warning if processes > 0" ); |
| 31 | like( $result->output, '/^PROCS WARNING: [0-9]+ process(es)? | procs=[0-9]+;0;100000;0;$/', "Output correct" ); | 36 | like( $result->output, '/^PROCS WARNING: [0-9]+ process(es)? | procs=[0-9]+;0;100000;0;$/', "Output correct" ); |
diff --git a/plugins/t/check_tcp.t b/plugins/t/check_tcp.t index abb16aec..f996685d 100644 --- a/plugins/t/check_tcp.t +++ b/plugins/t/check_tcp.t | |||
| @@ -12,7 +12,6 @@ BEGIN { | |||
| 12 | use NPTest; | 12 | use NPTest; |
| 13 | $has_ipv6 = NPTest::has_ipv6(); | 13 | $has_ipv6 = NPTest::has_ipv6(); |
| 14 | $tests = $has_ipv6 ? 14 : 11; | 14 | $tests = $has_ipv6 ? 14 : 11; |
| 15 | plan tests => $tests; | ||
| 16 | } | 15 | } |
| 17 | 16 | ||
| 18 | 17 | ||
| @@ -25,20 +24,29 @@ my $host_nonresponsive = getTestParameter( "host_nonresponsive", "NP_HOST_NONRES | |||
| 25 | my $hostname_invalid = getTestParameter( "hostname_invalid", "NP_HOSTNAME_INVALID", "nosuchhost", | 24 | my $hostname_invalid = getTestParameter( "hostname_invalid", "NP_HOSTNAME_INVALID", "nosuchhost", |
| 26 | "An invalid (not known to DNS) hostname" ); | 25 | "An invalid (not known to DNS) hostname" ); |
| 27 | 26 | ||
| 27 | my $internet_access = getTestParameter( "NP_INTERNET_ACCESS", | ||
| 28 | "Is this system directly connected to the internet?", | ||
| 29 | "yes"); | ||
| 30 | |||
| 28 | my $successOutput = '/^TCP OK\s-\s+[0-9]?\.?[0-9]+ second response time on port [0-9]+/'; | 31 | my $successOutput = '/^TCP OK\s-\s+[0-9]?\.?[0-9]+ second response time on port [0-9]+/'; |
| 29 | 32 | ||
| 30 | my $failedExpect = '/^TCP WARNING\s-\sUnexpected response from host/socket on port [0-9]+/'; | 33 | my $failedExpect = '/^TCP WARNING\s-\sUnexpected response from host/socket on port [0-9]+/'; |
| 31 | 34 | ||
| 32 | my $t; | 35 | my $t; |
| 33 | 36 | ||
| 37 | $tests = $tests - 4 if $internet_access eq "no"; | ||
| 38 | plan tests => $tests; | ||
| 39 | |||
| 34 | $t += checkCmd( "./check_tcp $host_tcp_http -p 80 -wt 300 -ct 600", 0, $successOutput ); | 40 | $t += checkCmd( "./check_tcp $host_tcp_http -p 80 -wt 300 -ct 600", 0, $successOutput ); |
| 35 | $t += checkCmd( "./check_tcp $host_tcp_http -p 81 -wt 0 -ct 0 -to 1", 2 ); # use invalid port for this test | 41 | $t += checkCmd( "./check_tcp $host_tcp_http -p 81 -wt 0 -ct 0 -to 1", 2 ); # use invalid port for this test |
| 36 | $t += checkCmd( "./check_tcp $host_nonresponsive -p 80 -wt 0 -ct 0 -to 1", 2 ); | 42 | $t += checkCmd( "./check_tcp $host_nonresponsive -p 80 -wt 0 -ct 0 -to 1", 2 ); |
| 37 | $t += checkCmd( "./check_tcp $hostname_invalid -p 80 -wt 0 -ct 0 -to 1", 2 ); | 43 | $t += checkCmd( "./check_tcp $hostname_invalid -p 80 -wt 0 -ct 0 -to 1", 2 ); |
| 38 | $t += checkCmd( "./check_tcp -S -D 1 -H www.verisign.com -p 443", 0 ); | 44 | if($internet_access ne "no") { |
| 39 | $t += checkCmd( "./check_tcp -S -D 9000,1 -H www.verisign.com -p 443", 1 ); | 45 | $t += checkCmd( "./check_tcp -S -D 1 -H www.verisign.com -p 443", 0 ); |
| 40 | $t += checkCmd( "./check_tcp -S -D 9000 -H www.verisign.com -p 443", 1 ); | 46 | $t += checkCmd( "./check_tcp -S -D 9000,1 -H www.verisign.com -p 443", 1 ); |
| 41 | $t += checkCmd( "./check_tcp -S -D 9000,8999 -H www.verisign.com -p 443", 2 ); | 47 | $t += checkCmd( "./check_tcp -S -D 9000 -H www.verisign.com -p 443", 1 ); |
| 48 | $t += checkCmd( "./check_tcp -S -D 9000,8999 -H www.verisign.com -p 443", 2 ); | ||
| 49 | } | ||
| 42 | 50 | ||
| 43 | # Need the \r\n to make it more standards compliant with web servers. Need the various quotes | 51 | # Need the \r\n to make it more standards compliant with web servers. Need the various quotes |
| 44 | # so that perl doesn't interpret the \r\n and is passed onto command line correctly | 52 | # so that perl doesn't interpret the \r\n and is passed onto command line correctly |
