Bug#41480 Tests that do LOAD DATA INFILE fail when run locally
mysql-test/lib/My/File/Path.pm: Extend 'copytree' to take an optional "umask" parameter that will be used while copying the files mysql-test/mysql-test-run.pl: Pass umask 0022 to copytree so that the copied files will be created world readable and the mysqld can LOAD DATA INFILE them
This commit is contained in:
parent
2349c56f1c
commit
949b2f1c0c
@ -92,9 +92,16 @@ sub mkpath {
|
||||
|
||||
|
||||
sub copytree {
|
||||
my ($from_dir, $to_dir) = @_;
|
||||
my ($from_dir, $to_dir, $use_umask) = @_;
|
||||
|
||||
die "Usage: copytree(<fromdir>, <todir>" unless @_ == 2;
|
||||
die "Usage: copytree(<fromdir>, <todir>, [<umask>])"
|
||||
unless @_ == 2 or @_ == 3;
|
||||
|
||||
my $orig_umask;
|
||||
if ($use_umask){
|
||||
# Set new umask and remember the original
|
||||
$orig_umask= umask(oct($use_umask));
|
||||
}
|
||||
|
||||
mkpath("$to_dir");
|
||||
opendir(DIR, "$from_dir")
|
||||
@ -114,6 +121,11 @@ sub copytree {
|
||||
copy("$from_dir/$_", "$to_dir/$_");
|
||||
}
|
||||
closedir(DIR);
|
||||
|
||||
if ($orig_umask){
|
||||
# Set the original umask
|
||||
umask($orig_umask);
|
||||
}
|
||||
}
|
||||
|
||||
1;
|
||||
|
@ -1981,8 +1981,8 @@ sub setup_vardir() {
|
||||
}
|
||||
|
||||
# copy all files from std_data into var/std_data
|
||||
# and make them writable
|
||||
copytree("$glob_mysql_test_dir/std_data", "$opt_vardir/std_data");
|
||||
# and make them world readable
|
||||
copytree("$glob_mysql_test_dir/std_data", "$opt_vardir/std_data", "0022");
|
||||
|
||||
# Remove old log files
|
||||
foreach my $name (glob("r/*.progress r/*.log r/*.warnings"))
|
||||
|
Loading…
x
Reference in New Issue
Block a user