summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>2002-07-22 08:16:38 +0000
committerJim Meyering <jim@meyering.net>2002-07-22 08:16:38 +0000
commitae1331b60ab119d3ca7102d23f10cfdafff2b7d2 (patch)
tree753cce0cc7ab84203286a936c2b3b1965092c63b
parent2f17be04e3a76b7cbd5772f8fd7b5d09f412f5d9 (diff)
downloadcoreutils-ae1331b60ab119d3ca7102d23f10cfdafff2b7d2.tar.xz
Handle the case in which rm produces no output.
-rwxr-xr-xtests/rm/fail-eperm14
1 files changed, 11 insertions, 3 deletions
diff --git a/tests/rm/fail-eperm b/tests/rm/fail-eperm
index 6d5f14c72..837804bdd 100755
--- a/tests/rm/fail-eperm
+++ b/tests/rm/fail-eperm
@@ -13,6 +13,7 @@ case "$PERL" in
exit 77
;;
esac
+
ARGV_0=$0
export ARGV_0
@@ -22,7 +23,8 @@ use strict;
(my $ME = $ENV{ARGV_0}) =~ s|.*/||;
-$ENV{VERBOSE} && $ENV{VERBOSE} eq 'yes'
+my $verbose = $ENV{VERBOSE} && $ENV{VERBOSE} eq 'yes';
+$verbose
and system qw (rm --version);
# Ensure that the diagnostics are in English.
@@ -46,13 +48,15 @@ foreach my $dir (@dir_list)
{
$found_dir = 1;
- # Find a non-directory there that's owned by someone else.
+ # Find a non-directory there that is owned by some other user.
opendir DIR_HANDLE, $dir
or die "$ME: couldn't open $dir: $!\n";
foreach my $f (readdir DIR_HANDLE)
{
my $target_file = "$dir/$f";
+ $verbose
+ and warn "$ME: considering $target_file\n";
# Skip files owned by self, symlinks, and directories.
# It's not technically necessary to skip symlinks, but it's simpler.
@@ -75,7 +79,11 @@ foreach my $dir (@dir_list)
or die "$ME: unexpected exit status from `$cmd';\n"
. " got $status, expected 1\n";
- my $exp = "rm: cannot remove `$dir/$f':";
+ my $exp = "rm: cannot remove `$target_file':";
+ $line
+ or die "$ME: no output from `$cmd';\n"
+ . "expected something like `$exp ...'\n";
+
my $regex = quotemeta $exp;
$line =~ /^$regex/
or die "$ME: unexpected dignostic from `$cmd';\n"