mirror of
git://git.sv.gnu.org/coreutils.git
synced 2026-02-12 10:22:38 +02:00
tests: avoid new "make distcheck" failure due to newer File::Temp
With newer perl (e.g., Fedora 10's 4:5.10.0-68.fc10), tests/CuTmpdir.pm stopped removing its temporary directories, with diagnostics like this: cannot remove path when cwd is /c/coreutils/tests/misc/seq.tmp-e2up \ for /c/coreutils/tests/misc/seq.tmp-e2up: at \ /usr/lib/perl5/5.10.0/File/Temp.pm line 902 Chdir out of the target directory before that code runs: * tests/CuTmpdir.pm (END): chdir '..'. (chmod_tree): Remove explicit "chdir $dir".
This commit is contained in:
@@ -49,16 +49,9 @@ sub chmod_tree
|
||||
defined $dir
|
||||
or return;
|
||||
|
||||
if (chdir $dir)
|
||||
{
|
||||
# Perform the equivalent of find . -type d -print0|xargs -0 chmod -R 700.
|
||||
my $options = {untaint => 1, wanted => \&chmod_1};
|
||||
find ($options, '.');
|
||||
}
|
||||
else
|
||||
{
|
||||
warn "$ME: failed to chdir to $dir: $!\n";
|
||||
}
|
||||
# Perform the equivalent of find "$dir" -type d -print0|xargs -0 chmod -R 700.
|
||||
my $options = {untaint => 1, wanted => \&chmod_1};
|
||||
find ($options, $dir);
|
||||
}
|
||||
|
||||
sub import {
|
||||
@@ -105,6 +98,11 @@ sub import {
|
||||
}
|
||||
|
||||
END {
|
||||
# Move cwd out of the directory we're about to remove.
|
||||
# This is required on some systems, and by some versions of File::Temp.
|
||||
chdir '..'
|
||||
or warn "$ME: failed to chdir to .. from $dir: $!\n";
|
||||
|
||||
my $saved_errno = $?;
|
||||
chmod_tree;
|
||||
$? = $saved_errno;
|
||||
|
||||
Reference in New Issue
Block a user