diff options
author | Jan Wagner <waja@cyconet.org> | 2023-10-17 13:39:37 +0200 |
---|---|---|
committer | Jan Wagner <waja@cyconet.org> | 2023-10-17 13:39:37 +0200 |
commit | 2a047014385022c8dc06dad4da0428db14898689 (patch) | |
tree | 00abea46325decf0c72870ee8f9ec1472e8e5344 /plugins-root/t | |
parent | f39211c26408af582121f519d89c8abf70e6d437 (diff) | |
parent | e23a75d954311b3be429a9020e4d317b89615ee7 (diff) | |
download | monitoring-plugins-2a04701.tar.gz |
Merge branch 'master' of github.com:monitoring-plugins/monitoring-plugins
Diffstat (limited to 'plugins-root/t')
-rw-r--r-- | plugins-root/t/check_icmp.t | 58 |
1 files changed, 52 insertions, 6 deletions
diff --git a/plugins-root/t/check_icmp.t b/plugins-root/t/check_icmp.t index 96addd3b..4f9db868 100644 --- a/plugins-root/t/check_icmp.t +++ b/plugins-root/t/check_icmp.t | |||
@@ -12,14 +12,14 @@ my $allow_sudo = getTestParameter( "NP_ALLOW_SUDO", | |||
12 | "no" ); | 12 | "no" ); |
13 | 13 | ||
14 | if ($allow_sudo eq "yes" or $> == 0) { | 14 | if ($allow_sudo eq "yes" or $> == 0) { |
15 | plan tests => 20; | 15 | plan tests => 39; |
16 | } else { | 16 | } else { |
17 | plan skip_all => "Need sudo to test check_icmp"; | 17 | plan skip_all => "Need sudo to test check_icmp"; |
18 | } | 18 | } |
19 | my $sudo = $> == 0 ? '' : 'sudo'; | 19 | my $sudo = $> == 0 ? '' : 'sudo'; |
20 | 20 | ||
21 | my $successOutput = '/OK - .*?: rta (?:[\d\.]+ms)|(?:nan), lost \d+%/'; | 21 | my $successOutput = '/OK - .*? rta (?:[\d\.]+ms)|(?:nan), lost \d+%/'; |
22 | my $failureOutput = '/(WARNING|CRITICAL) - .*?: rta [\d\.]+ms, lost \d%/'; | 22 | my $failureOutput = '/(WARNING|CRITICAL) - .*? rta (?:[\d\.]+ms > [\d\.]+ms|nan)/'; |
23 | 23 | ||
24 | my $host_responsive = getTestParameter( "NP_HOST_RESPONSIVE", | 24 | my $host_responsive = getTestParameter( "NP_HOST_RESPONSIVE", |
25 | "The hostname of system responsive to network requests", | 25 | "The hostname of system responsive to network requests", |
@@ -54,7 +54,7 @@ is( $res->return_code, 2, "Syntax ok, with forced critical" ); | |||
54 | like( $res->output, $failureOutput, "Output OK" ); | 54 | like( $res->output, $failureOutput, "Output OK" ); |
55 | 55 | ||
56 | $res = NPTest->testCmd( | 56 | $res = NPTest->testCmd( |
57 | "$sudo ./check_icmp -H $host_nonresponsive -w 10000ms,100% -c 10000ms,100%" | 57 | "$sudo ./check_icmp -H $host_nonresponsive -w 10000ms,100% -c 10000ms,100% -t 2" |
58 | ); | 58 | ); |
59 | is( $res->return_code, 2, "Timeout - host nonresponsive" ); | 59 | is( $res->return_code, 2, "Timeout - host nonresponsive" ); |
60 | like( $res->output, '/100%/', "Error contains '100%' string (for 100% packet loss)" ); | 60 | like( $res->output, '/100%/', "Error contains '100%' string (for 100% packet loss)" ); |
@@ -66,13 +66,13 @@ is( $res->return_code, 3, "No hostname" ); | |||
66 | like( $res->output, '/No hosts to check/', "Output with appropriate error message"); | 66 | like( $res->output, '/No hosts to check/', "Output with appropriate error message"); |
67 | 67 | ||
68 | $res = NPTest->testCmd( | 68 | $res = NPTest->testCmd( |
69 | "$sudo ./check_icmp -H $host_nonresponsive -w 10000ms,100% -c 10000ms,100% -n 1 -m 0" | 69 | "$sudo ./check_icmp -H $host_nonresponsive -w 10000ms,100% -c 10000ms,100% -n 1 -m 0 -t 2" |
70 | ); | 70 | ); |
71 | is( $res->return_code, 0, "One host nonresponsive - zero required" ); | 71 | is( $res->return_code, 0, "One host nonresponsive - zero required" ); |
72 | like( $res->output, $successOutput, "Output OK" ); | 72 | like( $res->output, $successOutput, "Output OK" ); |
73 | 73 | ||
74 | $res = NPTest->testCmd( | 74 | $res = NPTest->testCmd( |
75 | "$sudo ./check_icmp -H $host_responsive -H $host_nonresponsive -w 10000ms,100% -c 10000ms,100% -n 1 -m 1" | 75 | "$sudo ./check_icmp -H $host_responsive -H $host_nonresponsive -w 10000ms,100% -c 10000ms,100% -n 1 -m 1 -t 2" |
76 | ); | 76 | ); |
77 | is( $res->return_code, 0, "One of two host nonresponsive - one required" ); | 77 | is( $res->return_code, 0, "One of two host nonresponsive - one required" ); |
78 | like( $res->output, $successOutput, "Output OK" ); | 78 | like( $res->output, $successOutput, "Output OK" ); |
@@ -94,3 +94,49 @@ $res = NPTest->testCmd( | |||
94 | ); | 94 | ); |
95 | is( $res->return_code, 0, "Try max packet size" ); | 95 | is( $res->return_code, 0, "Try max packet size" ); |
96 | like( $res->output, $successOutput, "Output OK - Didn't overflow" ); | 96 | like( $res->output, $successOutput, "Output OK - Didn't overflow" ); |
97 | |||
98 | $res = NPTest->testCmd( | ||
99 | "$sudo ./check_icmp -H $host_responsive -R 100,100 -n 1 -t 2" | ||
100 | ); | ||
101 | is( $res->return_code, 0, "rta works" ); | ||
102 | like( $res->output, $successOutput, "Output OK" ); | ||
103 | $res = NPTest->testCmd( | ||
104 | "$sudo ./check_icmp -H $host_responsive -P 80,90 -n 1 -t 2" | ||
105 | ); | ||
106 | is( $res->return_code, 0, "pl works" ); | ||
107 | like( $res->output, '/lost 0%/', "Output OK" ); | ||
108 | |||
109 | $res = NPTest->testCmd( | ||
110 | "$sudo ./check_icmp -H $host_responsive -J 80,90 -t 2" | ||
111 | ); | ||
112 | is( $res->return_code, 0, "jitter works" ); | ||
113 | like( $res->output, '/jitter \d/', "Output OK" ); | ||
114 | |||
115 | $res = NPTest->testCmd( | ||
116 | "$sudo ./check_icmp -H $host_responsive -M 4,3 -t 2" | ||
117 | ); | ||
118 | is( $res->return_code, 0, "mos works" ); | ||
119 | like( $res->output, '/MOS \d/', "Output OK" ); | ||
120 | |||
121 | $res = NPTest->testCmd( | ||
122 | "$sudo ./check_icmp -H $host_responsive -S 80,70 -t 2" | ||
123 | ); | ||
124 | is( $res->return_code, 0, "score works" ); | ||
125 | like( $res->output, '/Score \d/', "Output OK" ); | ||
126 | |||
127 | $res = NPTest->testCmd( | ||
128 | "$sudo ./check_icmp -H $host_responsive -O -t 2" | ||
129 | ); | ||
130 | is( $res->return_code, 0, "order works" ); | ||
131 | like( $res->output, '/Packets in order/', "Output OK" ); | ||
132 | |||
133 | $res = NPTest->testCmd( | ||
134 | "$sudo ./check_icmp -H $host_responsive -O -S 80,70 -M 4,3 -J 80,90 -P 80,90 -R 100,100 -t 2" | ||
135 | ); | ||
136 | is( $res->return_code, 0, "order works" ); | ||
137 | like( $res->output, '/Packets in order/', "Output OK" ); | ||
138 | like( $res->output, '/Score \d/', "Output OK" ); | ||
139 | like( $res->output, '/MOS \d/', "Output OK" ); | ||
140 | like( $res->output, '/jitter \d/', "Output OK" ); | ||
141 | like( $res->output, '/lost 0%/', "Output OK" ); | ||
142 | like( $res->output, $successOutput, "Output OK" ); | ||