1
0
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:
Jim Meyering
2009-04-22 21:41:10 +02:00
parent 4298108f46
commit 2ad7da7594

View File

@@ -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;