diff options
Diffstat (limited to 'tests/chmod/usage')
-rwxr-xr-x | tests/chmod/usage | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/tests/chmod/usage b/tests/chmod/usage deleted file mode 100755 index a823063..0000000 --- a/tests/chmod/usage +++ /dev/null @@ -1,112 +0,0 @@ -#!/bin/sh -# Verify that chmod works correctly with odd option combinations. - -# Copyright (C) 2004, 2005, 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 - chmod --version -fi - -. $srcdir/../lang-default - -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 - -if test $framework_failure = 1; then - echo "$0: failure in testing framework" 1>&2 - (exit 1); exit 1 -fi - -fail=0 - -# Each line in this list is a set of arguments, followed by :, -# followed by the set of files it will attempt to chmod, -# or empty if the usage is erroneous. -# Many of these test cases are due to Glenn Fowler. -# These test cases assume GNU behavior for "options" like -w. -cases=' - -- : - -- -- : - -- -- -- f : -- f - -- -- -w f : -w f - -- -- f : f - -- -w : - -- -w -- f : -- f - -- -w -w f : -w f - -- -w f : f - -- f : - -w : - -w -- : - -w -- -- f : -- f - -w -- -w f : -w f - -w -- f : f - -w -w : - -w -w -- f : f - -w -w -w f : f - -w -w f : f - -w f : f - f : - f -- : - f -w : f - f f : - u+gr f : - ug,+x f : -' - -all_files=`echo "$cases" | sed 's/.*://'|sort -u` - -old_IFS=$IFS -IFS=' -' -for case in $cases; do - IFS=$old_IFS - args=`expr "$case" : ' *\(.*[^ ]\) *:'` - files=`expr "$case" : '.*: *\(.*\)'` - - case $files in - '') - touch -- $all_files || framework_failure=1 - chmod $args 2>/dev/null && fail=1 - ;; - ?*) - touch -- $files || framework_failure=1 - chmod $args || fail=1 - for file in $files; do - # Test for misparsing args by creating all $files but $file. - # chmod has a bug if it succeeds even though $file is absent. - rm -f -- $all_files && touch -- $files && rm -- $file \ - || framework_failure=1 - chmod $args 2>/dev/null && fail=1 - done - ;; - esac -done - -if test $framework_failure = 1; then - echo "$0: failure in testing framework" 1>&2 - fail=1 -fi - -(exit $fail); exit $fail |