瀏覽代碼

check_icmp: tests do not require sudo if run by root

Sven Nierlein 13 年之前
父節點
當前提交
3c958ac738
共有 1 個文件被更改,包括 10 次插入9 次删除
  1. 10 9
      plugins-root/t/check_icmp.t

+ 10 - 9
plugins-root/t/check_icmp.t

@@ -11,11 +11,12 @@ my $allow_sudo = getTestParameter( "NP_ALLOW_SUDO",
 	"If sudo is setup for this user to run any command as root ('yes' to allow)",
 	"If sudo is setup for this user to run any command as root ('yes' to allow)",
 	"no" );
 	"no" );
 
 
-if ($allow_sudo eq "yes") {
+if ($allow_sudo eq "yes" or $> == 0) {
 	plan tests => 16;
 	plan tests => 16;
 } else {
 } else {
 	plan skip_all => "Need sudo to test check_icmp";
 	plan skip_all => "Need sudo to test check_icmp";
 }
 }
+my $sudo = $> == 0 ? '' : 'sudo';
 
 
 my $successOutput = '/OK - .*?: rta (?:[\d\.]+ms)|(?:nan), lost \d+%/';
 my $successOutput = '/OK - .*?: rta (?:[\d\.]+ms)|(?:nan), lost \d+%/';
 my $failureOutput = '/(WARNING|CRITICAL) - .*?: rta [\d\.]+ms, lost \d%/';
 my $failureOutput = '/(WARNING|CRITICAL) - .*?: rta [\d\.]+ms, lost \d%/';
@@ -35,49 +36,49 @@ my $hostname_invalid   = getTestParameter( "NP_HOSTNAME_INVALID",
 my $res;
 my $res;
 
 
 $res = NPTest->testCmd(
 $res = NPTest->testCmd(
-	"sudo ./check_icmp -H $host_responsive -w 10000ms,100% -c 10000ms,100%"
+	"$sudo ./check_icmp -H $host_responsive -w 10000ms,100% -c 10000ms,100%"
 	);
 	);
 is( $res->return_code, 0, "Syntax ok" );
 is( $res->return_code, 0, "Syntax ok" );
 like( $res->output, $successOutput, "Output OK" );
 like( $res->output, $successOutput, "Output OK" );
 
 
 $res = NPTest->testCmd(
 $res = NPTest->testCmd(
-	"sudo ./check_icmp -H $host_responsive -w 0ms,0% -c 10000ms,100%"
+	"$sudo ./check_icmp -H $host_responsive -w 0ms,0% -c 10000ms,100%"
 	);
 	);
 is( $res->return_code, 1, "Syntax ok, with forced warning" );
 is( $res->return_code, 1, "Syntax ok, with forced warning" );
 like( $res->output, $failureOutput, "Output OK" );
 like( $res->output, $failureOutput, "Output OK" );
 
 
 $res = NPTest->testCmd(
 $res = NPTest->testCmd(
-	"sudo ./check_icmp -H $host_responsive -w 0,0% -c 0,0%"
+	"$sudo ./check_icmp -H $host_responsive -w 0,0% -c 0,0%"
 	);
 	);
 is( $res->return_code, 2, "Syntax ok, with forced critical" );
 is( $res->return_code, 2, "Syntax ok, with forced critical" );
 like( $res->output, $failureOutput, "Output OK" );
 like( $res->output, $failureOutput, "Output OK" );
 
 
 $res = NPTest->testCmd(
 $res = NPTest->testCmd(
-	"sudo ./check_icmp -H $host_nonresponsive -w 10000ms,100% -c 10000ms,100%"
+	"$sudo ./check_icmp -H $host_nonresponsive -w 10000ms,100% -c 10000ms,100%"
 	);
 	);
 is( $res->return_code, 2, "Timeout - host nonresponsive" );
 is( $res->return_code, 2, "Timeout - host nonresponsive" );
 like( $res->output, '/100%/', "Error contains '100%' string (for 100% packet loss)" );
 like( $res->output, '/100%/', "Error contains '100%' string (for 100% packet loss)" );
 
 
 $res = NPTest->testCmd(
 $res = NPTest->testCmd(
-	"sudo ./check_icmp -w 10000ms,100% -c 10000ms,100%"
+	"$sudo ./check_icmp -w 10000ms,100% -c 10000ms,100%"
 	);
 	);
 is( $res->return_code, 3, "No hostname" );
 is( $res->return_code, 3, "No hostname" );
 like( $res->output, '/No hosts to check/', "Output with appropriate error message");
 like( $res->output, '/No hosts to check/', "Output with appropriate error message");
 
 
 $res = NPTest->testCmd(
 $res = NPTest->testCmd(
-	"sudo ./check_icmp -H $host_nonresponsive -w 10000ms,100% -c 10000ms,100% -n 1 -m 0"
+	"$sudo ./check_icmp -H $host_nonresponsive -w 10000ms,100% -c 10000ms,100% -n 1 -m 0"
 	);
 	);
 is( $res->return_code, 0, "One host nonresponsive - zero required" );
 is( $res->return_code, 0, "One host nonresponsive - zero required" );
 like( $res->output, $successOutput, "Output OK" );
 like( $res->output, $successOutput, "Output OK" );
 
 
 $res = NPTest->testCmd(
 $res = NPTest->testCmd(
-	"sudo ./check_icmp -H $host_responsive -H $host_nonresponsive -w 10000ms,100% -c 10000ms,100% -n 1 -m 1"
+	"$sudo ./check_icmp -H $host_responsive -H $host_nonresponsive -w 10000ms,100% -c 10000ms,100% -n 1 -m 1"
 	);
 	);
 is( $res->return_code, 0, "One of two host nonresponsive - one required" );
 is( $res->return_code, 0, "One of two host nonresponsive - one required" );
 like( $res->output, $successOutput, "Output OK" );
 like( $res->output, $successOutput, "Output OK" );
 
 
 $res = NPTest->testCmd(
 $res = NPTest->testCmd(
-	"sudo ./check_icmp -H $host_responsive -H $host_nonresponsive -w 10000ms,100% -c 10000ms,100% -n 1 -m 2"
+	"$sudo ./check_icmp -H $host_responsive -H $host_nonresponsive -w 10000ms,100% -c 10000ms,100% -n 1 -m 2"
 	);
 	);
 is( $res->return_code, 2, "One of two host nonresponsive - two required" );
 is( $res->return_code, 2, "One of two host nonresponsive - two required" );
 like( $res->output, $failureOutput, "Output OK" );
 like( $res->output, $failureOutput, "Output OK" );