From 5e778f7c8d1ecf3d8f11385db013af2ba026e2a5 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Sat, 22 Aug 2009 18:56:06 +0200 Subject: global: convert indentation-TABs to spaces Transformed via this shell code: t=$'\t' git ls-files \ | grep -vE '(^|/)((GNU)?[Mm]akefile|ChangeLog)|\.(am|mk)$' \ | grep -vE 'tests/pr/|help2man' \ | xargs grep -lE "^ *$t" \ | xargs perl -MText::Tabs -ni -le \ '$m=/^( *\t[ \t]*)(.*)/; print $m ? expand($1) . $2 : $_' --- tests/rm/fail-eperm | 166 ++++++++++++++++++++++++++-------------------------- 1 file changed, 83 insertions(+), 83 deletions(-) (limited to 'tests/rm/fail-eperm') diff --git a/tests/rm/fail-eperm b/tests/rm/fail-eperm index 20ce77040..9ccb913a6 100755 --- a/tests/rm/fail-eperm +++ b/tests/rm/fail-eperm @@ -51,89 +51,89 @@ foreach my $dir (@dir_list) { if (-d $dir && -k _ && -r _ && -w _ && -x _) { - $found_dir = 1; - - # 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) - { - # Consider only names containing "safe" characters. - $f =~ /^([-\@\w.]+)$/ - or next; - $f = $1; # untaint $f - - 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. - # SVR4-like systems (e.g., Solaris 9) let you unlink files that - # you can write, so skip writable files too. - -l $target_file || -o _ || -d _ || -w _ - and next; - - $found_file = 1; - - # Invoke rm on this file and ensure that we get the - # expected exit code and diagnostic. - my $cmd = "$rm -f -- $target_file"; - open RM, "$cmd 2>&1 |" - or die "$ME: cannot execute `$cmd'\n"; - - my $line = ; - - close RM; - my $rc = $?; - # This test opportunistically looks for files that can't - # be removed but those files may already have been removed - # by their owners by the time we get to them. It is a - # race condition. If so then the rm is successful and our - # test is thwarted. Detect this case and ignore. - if ($rc == 0) - { - next if ! -e $target_file; - die "$ME: unexpected exit status from `$cmd';\n" - . " got 0, expected 1\n"; - } - if (0x80 < $rc) - { - my $status = $rc >> 8; - $status == 1 - or die "$ME: unexpected exit status from `$cmd';\n" - . " got $status, expected 1\n"; - } - else - { - # Terminated by a signal. - my $sig_num = $rc & 0x7F; - die "$ME: command `$cmd' died with signal $sig_num\n"; - } - - my $exp = "rm: cannot remove `$target_file':"; - $line - or die "$ME: no output from `$cmd';\n" - . "expected something like `$exp ...'\n"; - - # Transform the actual diagnostic so that it starts with "rm:". - # Depending on your system, it might be "rm:" already, or - # "../../src/rm:". - $line =~ s,^\Q$rm\E:,rm:,; - - my $regex = quotemeta $exp; - $line =~ /^$regex/ - or die "$ME: unexpected diagnostic from `$cmd';\n" - . " got $line" - . " expected $exp ...\n"; - - last; - } - - closedir DIR_HANDLE; - $found_file - and last; + $found_dir = 1; + + # 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) + { + # Consider only names containing "safe" characters. + $f =~ /^([-\@\w.]+)$/ + or next; + $f = $1; # untaint $f + + 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. + # SVR4-like systems (e.g., Solaris 9) let you unlink files that + # you can write, so skip writable files too. + -l $target_file || -o _ || -d _ || -w _ + and next; + + $found_file = 1; + + # Invoke rm on this file and ensure that we get the + # expected exit code and diagnostic. + my $cmd = "$rm -f -- $target_file"; + open RM, "$cmd 2>&1 |" + or die "$ME: cannot execute `$cmd'\n"; + + my $line = ; + + close RM; + my $rc = $?; + # This test opportunistically looks for files that can't + # be removed but those files may already have been removed + # by their owners by the time we get to them. It is a + # race condition. If so then the rm is successful and our + # test is thwarted. Detect this case and ignore. + if ($rc == 0) + { + next if ! -e $target_file; + die "$ME: unexpected exit status from `$cmd';\n" + . " got 0, expected 1\n"; + } + if (0x80 < $rc) + { + my $status = $rc >> 8; + $status == 1 + or die "$ME: unexpected exit status from `$cmd';\n" + . " got $status, expected 1\n"; + } + else + { + # Terminated by a signal. + my $sig_num = $rc & 0x7F; + die "$ME: command `$cmd' died with signal $sig_num\n"; + } + + my $exp = "rm: cannot remove `$target_file':"; + $line + or die "$ME: no output from `$cmd';\n" + . "expected something like `$exp ...'\n"; + + # Transform the actual diagnostic so that it starts with "rm:". + # Depending on your system, it might be "rm:" already, or + # "../../src/rm:". + $line =~ s,^\Q$rm\E:,rm:,; + + my $regex = quotemeta $exp; + $line =~ /^$regex/ + or die "$ME: unexpected diagnostic from `$cmd';\n" + . " got $line" + . " expected $exp ...\n"; + + last; + } + + closedir DIR_HANDLE; + $found_file + and last; } } -- cgit v1.2.3-54-g00ecf