summaryrefslogtreecommitdiff
path: root/tests/rm
diff options
context:
space:
mode:
Diffstat (limited to 'tests/rm')
-rwxr-xr-xtests/rm/empty-name10
-rwxr-xr-xtests/rm/fail-eperm28
-rwxr-xr-xtests/rm/unreadable9
3 files changed, 11 insertions, 36 deletions
diff --git a/tests/rm/empty-name b/tests/rm/empty-name
index d940d01fa..31d08842e 100755
--- a/tests/rm/empty-name
+++ b/tests/rm/empty-name
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/usr/bin/perl
# Make sure that rm -r '' fails.
# Copyright (C) 1998, 2003, 2005, 2007-2008 Free Software Foundation, Inc.
@@ -16,17 +16,10 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
# On SunOS 4.1.3, running rm -r '' in a nonempty directory may
# actually remove files with names of entries in the current directory
# but relative to `/' rather than relative to the current directory.
-: ${srcdir=.}
-. $top_srcdir/tests/require-perl
-
-me=`echo $0|sed 's,.*/,,'`
-exec $PERL -w -I$top_srcdir/tests -MCoreutils -M"CuTmpdir qw($me)" -- - <<\EOF
-require 5.003;
use strict;
(my $program_name = $0) =~ s|.*/||;
@@ -49,4 +42,3 @@ my $verbose = $ENV{VERBOSE};
my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose);
exit $fail;
-EOF
diff --git a/tests/rm/fail-eperm b/tests/rm/fail-eperm
index 57b33e8f7..889831163 100755
--- a/tests/rm/fail-eperm
+++ b/tests/rm/fail-eperm
@@ -1,5 +1,4 @@
-#!/bin/sh
-# -*- perl -*-
+#!/usr/bin/perl -Tw
# Ensure that rm gives the expected diagnostic when failing to remove a file
# owned by some other user in a directory with the sticky bit set.
@@ -18,23 +17,9 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-if test "$VERBOSE" = yes; then
- set -x
- rm --version
-fi
-
-# FIXME-someday: when run as root we don't need all of the
-# searching below. root can simply create the required
-# dir/files and run the test as someone else.
-
-ARGV_0=$0
-export ARGV_0
-
-exec $PERL -Tw -- - << \EOP
-require 5.003;
use strict;
-(my $ME = $ENV{ARGV_0}) =~ s|.*/||;
+(my $ME = $0) =~ s|.*/||;
my $uid = $<;
# skip if root
@@ -51,7 +36,13 @@ delete @ENV{qw(BASH_ENV CDPATH ENV PATH)};
$ENV{IFS} = '';
my @dir_list = qw(/tmp /var/tmp /usr/tmp);
-my $rm = '../src/rm';
+my $rm = "$ENV{abs_top_builddir}/src/rm";
+
+# Untaint for upcoming popen.
+$rm =~ m!^([-+\@\w./]+)$!
+ or (warn "$ME: unusual absolute builddir name; skipping this test\n"),
+ exit 77;
+$rm = $1;
# Find a directory with the sticky bit set.
my $found_dir;
@@ -160,4 +151,3 @@ if ( ! $found_file)
. "...so, skipping this test\n";
exit 77;
}
-EOP
diff --git a/tests/rm/unreadable b/tests/rm/unreadable
index e0fd93f9b..86c1a51ce 100755
--- a/tests/rm/unreadable
+++ b/tests/rm/unreadable
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/usr/bin/perl
# Test "rm" and unreadable directories.
# Copyright (C) 1998, 2003, 2005-2008 Free Software Foundation, Inc.
@@ -16,12 +16,6 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-: ${srcdir=.}
-. $top_srcdir/tests/require-perl
-
-me=`echo $0|sed 's,.*/,,'`
-exec $PERL -w -I$top_srcdir/tests -MCoreutils -M"CuTmpdir qw($me)" -- - <<\EOF
-require 5.003;
use strict;
(my $program_name = $0) =~ s|.*/||;
@@ -54,4 +48,3 @@ my $verbose = $ENV{VERBOSE};
my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose);
exit $fail;
-EOF