# Make coreutils tests for cp. -*-Makefile-*-
-# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003, 2005, 2006 Free
+# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003, 2005, 2006, 2007 Free
# Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
AUTOMAKE_OPTIONS = 1.1 gnits
TESTS = \
- file-perm-race open-perm-race parent-perm-race \
+ file-perm-race parent-perm-race \
backup-dir \
src-base-dot \
sparse \
+++ /dev/null
-#!/bin/sh
-# Ensure that when open creates a destination file,
-# that file has properly restrictive permissions.
-# Before coreutils-6.7, there was an interval in which
-# a just-created file would have too-generous permissions.
-
-# Copyright (C) 2006 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301, USA.
-
-if test "$VERBOSE" = yes; then
- set -x
- cp --version
-fi
-
-. $srcdir/../input-tty
-. $srcdir/../envvar-check
-. $srcdir/../group-names
-PRIV_CHECK_ARG=require-non-root . $srcdir/../priv-check
-
-pwd=`pwd`
-t0=`echo "$0"|sed 's,.*/,,'`.tmp; tmp=$t0/$$
-trap 'status=$?; cd "$pwd" && chmod -R u+rwx $t0 && rm -rf $t0 && exit $status' 0
-trap '(exit $?); exit $?' 1 2 13 15
-
-framework_failure=0
-mkdir -p $tmp || framework_failure=1
-cd $tmp || framework_failure=1
-
-set _ $groups; shift
-group_2=$2
-
-umask 2
-mkdir d && chgrp $group_2 d && chmod g+s,g-w d || framework_failure=1
-touch file && chmod go+w file || framework_failure=1
-
-( gdb --version ) > gdb.out 2>&1
-case `cat gdb.out` in
- 'GNU gdb'*) ;;
- *) echo "$0: can't run gdb. Skipping this test." 1>&2;
- (exit 77); exit 77;;
-esac
-
-gdb -nx --batch-silent \
- --eval-command='break copy_reg' \
- --eval-command='break open_safer' \
- --eval-command='quit' \
- $abs_top_builddir/src/cp < /dev/null > gdb.out 2>&1
-if test -s gdb.out; then
- cat <<EOF 1>&2
-$0: can't set breakpoints in cp. Skipping this test.
-EOF
- (exit 77); exit 77
-fi
-
-cat <<\EOF > gdb-cmd || framework_failure=1
-break copy_reg
-run
-break open_safer
-continue
-continue
-finish
-quit
-EOF
-
-if test $framework_failure = 1; then
- echo "$0: failure in testing framework" 1>&2
- (exit 1); exit 1
-fi
-
-gdb -nx --batch-silent --command=gdb-cmd --args \
- $abs_top_builddir/src/cp -p file d > gdb.out 2>&1
-# Expect no output.
-
-if test -s gdb.out; then
- cat <<EOF 1>&2
-$0: unexpected output from gdb: (skipping this test)
-EOF
- cat gdb.out 1>&2
- (exit 77); exit 77
-fi
-
-fail=0
-
-# Before coreutils-6.7, the perm string would be -rw-rw----
-stat --printf='%A\n%g\n' d/file > out || fail=1
-cat <<EOF > exp || fail=1
--rw-------
-$group_2
-EOF
-
-cmp out exp || fail=1
-test $fail = 1 && diff out exp 2> /dev/null
-
-(exit $fail); exit $fail