Bug#27396 Wrong check for root priveledge

 - Check that filemode was set to 0000
parent 2df85243
...@@ -2119,16 +2119,23 @@ sub check_running_as_root () { ...@@ -2119,16 +2119,23 @@ sub check_running_as_root () {
close FILE; close FILE;
} }
chmod(oct("0755"), $test_file); # Some filesystems( for example CIFS) allows reading a file
unlink($test_file); # although mode was set to 0000, but in that case a stat on
# the file will not return 0000
my $file_mode= (stat($test_file))[2] & 07777;
$ENV{'MYSQL_TEST_ROOT'}= "NO"; $ENV{'MYSQL_TEST_ROOT'}= "NO";
if ($result eq "MySQL") mtr_verbose("result: $result, file_mode: $file_mode");
if ($result eq "MySQL" && $file_mode == 0)
{ {
mtr_warning("running this script as _root_ will cause some " . mtr_warning("running this script as _root_ will cause some " .
"tests to be skipped"); "tests to be skipped");
$ENV{'MYSQL_TEST_ROOT'}= "YES"; $ENV{'MYSQL_TEST_ROOT'}= "YES";
} }
chmod(oct("0755"), $test_file);
unlink($test_file);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment