diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2016-01-20 10:55:18 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2016-01-20 10:55:18 +0000 |
commit | 70e9163c9c18e995515598085cb824e554eb7ae7 (patch) | |
tree | a42dc8b2a6c031354bf31472de888bfc8a060132 /tests/chgrp | |
parent | cbf5993c43f49281173f185863577d86bfac6eae (diff) | |
download | coreutils-tarball-70e9163c9c18e995515598085cb824e554eb7ae7.tar.gz |
coreutils-8.25HEADcoreutils-8.25master
Diffstat (limited to 'tests/chgrp')
-rw-r--r-- | tests/chgrp/Makefile.am | 14 | ||||
-rw-r--r-- | tests/chgrp/Makefile.in | 724 | ||||
-rwxr-xr-x | tests/chgrp/basic | 132 | ||||
-rwxr-xr-x | tests/chgrp/basic.sh | 110 | ||||
-rwxr-xr-x | tests/chgrp/default-no-deref | 51 | ||||
-rwxr-xr-x | tests/chgrp/default-no-deref.sh | 33 | ||||
-rwxr-xr-x | tests/chgrp/deref | 84 | ||||
-rwxr-xr-x | tests/chgrp/deref.sh | 60 | ||||
-rwxr-xr-x | tests/chgrp/no-x | 76 | ||||
-rwxr-xr-x | tests/chgrp/no-x.sh | 54 | ||||
-rwxr-xr-x | tests/chgrp/posix-H | 89 | ||||
-rwxr-xr-x | tests/chgrp/posix-H.sh | 70 | ||||
-rwxr-xr-x | tests/chgrp/recurse | 73 | ||||
-rwxr-xr-x | tests/chgrp/recurse.sh | 53 |
14 files changed, 380 insertions, 1243 deletions
diff --git a/tests/chgrp/Makefile.am b/tests/chgrp/Makefile.am deleted file mode 100644 index 8dffd01..0000000 --- a/tests/chgrp/Makefile.am +++ /dev/null @@ -1,14 +0,0 @@ -## Process this file with automake to produce Makefile.in -*-Makefile-*-. -TESTS = \ - default-no-deref \ - basic \ - deref \ - no-x \ - posix-H \ - recurse - -EXTRA_DIST = $(TESTS) -TESTS_ENVIRONMENT = \ - host_triplet=$(host_triplet) \ - CU_TEST_NAME=`basename $(abs_srcdir)`,$$tst \ - PATH="$(VG_PATH_PREFIX)`pwd`/../../src$(PATH_SEPARATOR)$$PATH" diff --git a/tests/chgrp/Makefile.in b/tests/chgrp/Makefile.in deleted file mode 100644 index 7afc0a0..0000000 --- a/tests/chgrp/Makefile.in +++ /dev/null @@ -1,724 +0,0 @@ -# Makefile.in generated by automake 1.10 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = tests/chgrp -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/absolute-header.m4 \ - $(top_srcdir)/m4/acl.m4 $(top_srcdir)/m4/alloca.m4 \ - $(top_srcdir)/m4/allocsa.m4 $(top_srcdir)/m4/argmatch.m4 \ - $(top_srcdir)/m4/arpa_inet_h.m4 $(top_srcdir)/m4/assert.m4 \ - $(top_srcdir)/m4/atexit.m4 $(top_srcdir)/m4/autobuild.m4 \ - $(top_srcdir)/m4/backupfile.m4 $(top_srcdir)/m4/base64.m4 \ - $(top_srcdir)/m4/bison.m4 $(top_srcdir)/m4/boottime.m4 \ - $(top_srcdir)/m4/c-strtod.m4 $(top_srcdir)/m4/calloc.m4 \ - $(top_srcdir)/m4/canon-host.m4 \ - $(top_srcdir)/m4/canonicalize.m4 \ - $(top_srcdir)/m4/chdir-long.m4 $(top_srcdir)/m4/check-decl.m4 \ - $(top_srcdir)/m4/chown.m4 $(top_srcdir)/m4/clock_time.m4 \ - $(top_srcdir)/m4/cloexec.m4 $(top_srcdir)/m4/close-stream.m4 \ - $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/cycle-check.m4 \ - $(top_srcdir)/m4/d-ino.m4 $(top_srcdir)/m4/d-type.m4 \ - $(top_srcdir)/m4/dirfd.m4 $(top_srcdir)/m4/dirname.m4 \ - $(top_srcdir)/m4/dos.m4 $(top_srcdir)/m4/double-slash-root.m4 \ - $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \ - $(top_srcdir)/m4/eoverflow.m4 $(top_srcdir)/m4/error.m4 \ - $(top_srcdir)/m4/euidaccess-stat.m4 \ - $(top_srcdir)/m4/euidaccess.m4 $(top_srcdir)/m4/exclude.m4 \ - $(top_srcdir)/m4/exitfail.m4 $(top_srcdir)/m4/extensions.m4 \ - $(top_srcdir)/m4/fchdir.m4 $(top_srcdir)/m4/fcntl-safer.m4 \ - $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fd-reopen.m4 \ - $(top_srcdir)/m4/file-type.m4 $(top_srcdir)/m4/fileblocks.m4 \ - $(top_srcdir)/m4/filemode.m4 $(top_srcdir)/m4/filenamecat.m4 \ - $(top_srcdir)/m4/flexmember.m4 $(top_srcdir)/m4/fnmatch.m4 \ - $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fprintftime.m4 \ - $(top_srcdir)/m4/free.m4 $(top_srcdir)/m4/fstypename.m4 \ - $(top_srcdir)/m4/fsusage.m4 $(top_srcdir)/m4/ftruncate.m4 \ - $(top_srcdir)/m4/fts.m4 $(top_srcdir)/m4/getaddrinfo.m4 \ - $(top_srcdir)/m4/getcwd-abort-bug.m4 \ - $(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \ - $(top_srcdir)/m4/getdate.m4 $(top_srcdir)/m4/getdelim.m4 \ - $(top_srcdir)/m4/getgroups.m4 $(top_srcdir)/m4/gethostname.m4 \ - $(top_srcdir)/m4/gethrxtime.m4 $(top_srcdir)/m4/getline.m4 \ - $(top_srcdir)/m4/getloadavg.m4 $(top_srcdir)/m4/getndelim2.m4 \ - $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/getpagesize.m4 \ - $(top_srcdir)/m4/getpass.m4 $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \ - $(top_srcdir)/m4/getugroups.m4 \ - $(top_srcdir)/m4/getusershell.m4 $(top_srcdir)/m4/glibc21.m4 \ - $(top_srcdir)/m4/gnulib-common.m4 \ - $(top_srcdir)/m4/gnulib-comp.m4 \ - $(top_srcdir)/m4/group-member.m4 \ - $(top_srcdir)/m4/hard-locale.m4 $(top_srcdir)/m4/hash.m4 \ - $(top_srcdir)/m4/host-os.m4 $(top_srcdir)/m4/human.m4 \ - $(top_srcdir)/m4/i-ring.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/idcache.m4 $(top_srcdir)/m4/inet_ntop.m4 \ - $(top_srcdir)/m4/inline.m4 $(top_srcdir)/m4/intmax_t.m4 \ - $(top_srcdir)/m4/inttostr.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ - $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \ - $(top_srcdir)/m4/isapipe.m4 $(top_srcdir)/m4/jm-macros.m4 \ - $(top_srcdir)/m4/jm-winsz1.m4 $(top_srcdir)/m4/jm-winsz2.m4 \ - $(top_srcdir)/m4/lchmod.m4 $(top_srcdir)/m4/lchown.m4 \ - $(top_srcdir)/m4/lib-check.m4 $(top_srcdir)/m4/lib-ignore.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/link-follow.m4 \ - $(top_srcdir)/m4/localcharset.m4 \ - $(top_srcdir)/m4/long-options.m4 \ - $(top_srcdir)/m4/longdouble.m4 $(top_srcdir)/m4/longlong.m4 \ - $(top_srcdir)/m4/ls-mntd-fs.m4 $(top_srcdir)/m4/lstat.m4 \ - $(top_srcdir)/m4/mbchar.m4 $(top_srcdir)/m4/mbiter.m4 \ - $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbscasecmp.m4 \ - $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbswidth.m4 \ - $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memcasecmp.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/memcmp.m4 \ - $(top_srcdir)/m4/memcoll.m4 $(top_srcdir)/m4/memcpy.m4 \ - $(top_srcdir)/m4/memmove.m4 $(top_srcdir)/m4/mempcpy.m4 \ - $(top_srcdir)/m4/memrchr.m4 $(top_srcdir)/m4/memset.m4 \ - $(top_srcdir)/m4/memxfrm.m4 $(top_srcdir)/m4/mkancesdirs.m4 \ - $(top_srcdir)/m4/mkdir-p.m4 $(top_srcdir)/m4/mkdir-slash.m4 \ - $(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mktime.m4 \ - $(top_srcdir)/m4/modechange.m4 $(top_srcdir)/m4/mountlist.m4 \ - $(top_srcdir)/m4/mpsort.m4 $(top_srcdir)/m4/nanosleep.m4 \ - $(top_srcdir)/m4/netinet_in_h.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/openat.m4 $(top_srcdir)/m4/pathmax.m4 \ - $(top_srcdir)/m4/perl.m4 $(top_srcdir)/m4/physmem.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/posixtm.m4 \ - $(top_srcdir)/m4/posixver.m4 $(top_srcdir)/m4/prereq.m4 \ - $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/putenv.m4 \ - $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \ - $(top_srcdir)/m4/randint.m4 $(top_srcdir)/m4/randperm.m4 \ - $(top_srcdir)/m4/randread.m4 $(top_srcdir)/m4/readlink.m4 \ - $(top_srcdir)/m4/readtokens.m4 $(top_srcdir)/m4/readutmp.m4 \ - $(top_srcdir)/m4/regex.m4 \ - $(top_srcdir)/m4/rename-dest-slash.m4 \ - $(top_srcdir)/m4/rename.m4 $(top_srcdir)/m4/rmdir-errno.m4 \ - $(top_srcdir)/m4/rmdir.m4 $(top_srcdir)/m4/root-dev-ino.m4 \ - $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/safe-read.m4 \ - $(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/same.m4 \ - $(top_srcdir)/m4/save-cwd.m4 $(top_srcdir)/m4/savedir.m4 \ - $(top_srcdir)/m4/savewd.m4 $(top_srcdir)/m4/setenv.m4 \ - $(top_srcdir)/m4/settime.m4 $(top_srcdir)/m4/sha1.m4 \ - $(top_srcdir)/m4/sha256.m4 $(top_srcdir)/m4/sha512.m4 \ - $(top_srcdir)/m4/sig2str.m4 $(top_srcdir)/m4/snprintf.m4 \ - $(top_srcdir)/m4/socklen.m4 $(top_srcdir)/m4/sockpfaf.m4 \ - $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/st_dm_mode.m4 \ - $(top_srcdir)/m4/stat-prog.m4 $(top_srcdir)/m4/stat-time.m4 \ - $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \ - $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \ - $(top_srcdir)/m4/stdio-safer.m4 $(top_srcdir)/m4/stdio_h.m4 \ - $(top_srcdir)/m4/stdlib-safer.m4 $(top_srcdir)/m4/stdlib_h.m4 \ - $(top_srcdir)/m4/stpcpy.m4 $(top_srcdir)/m4/strcspn.m4 \ - $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strftime.m4 \ - $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \ - $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strnumcmp.m4 \ - $(top_srcdir)/m4/strpbrk.m4 $(top_srcdir)/m4/strtod.m4 \ - $(top_srcdir)/m4/strtoimax.m4 $(top_srcdir)/m4/strtol.m4 \ - $(top_srcdir)/m4/strtoll.m4 $(top_srcdir)/m4/strtoul.m4 \ - $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \ - $(top_srcdir)/m4/strverscmp.m4 \ - $(top_srcdir)/m4/sys_socket_h.m4 \ - $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \ - $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \ - $(top_srcdir)/m4/time_r.m4 $(top_srcdir)/m4/timespec.m4 \ - $(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/tzset.m4 \ - $(top_srcdir)/m4/unicodeio.m4 $(top_srcdir)/m4/unistd-safer.m4 \ - $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlink-busy.m4 \ - $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/unlocked-io.m4 \ - $(top_srcdir)/m4/uptime.m4 $(top_srcdir)/m4/userspec.m4 \ - $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utime.m4 \ - $(top_srcdir)/m4/utimecmp.m4 $(top_srcdir)/m4/utimens.m4 \ - $(top_srcdir)/m4/utimes-null.m4 $(top_srcdir)/m4/utimes.m4 \ - $(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vasprintf.m4 \ - $(top_srcdir)/m4/wchar.m4 $(top_srcdir)/m4/wchar_t.m4 \ - $(top_srcdir)/m4/wctype.m4 $(top_srcdir)/m4/wcwidth.m4 \ - $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xalloc.m4 \ - $(top_srcdir)/m4/xfts.m4 $(top_srcdir)/m4/xgetcwd.m4 \ - $(top_srcdir)/m4/xnanosleep.m4 $(top_srcdir)/m4/xstrndup.m4 \ - $(top_srcdir)/m4/xstrtod.m4 $(top_srcdir)/m4/xstrtol.m4 \ - $(top_srcdir)/m4/yesno.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/lib/config.h -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ABSOLUTE_DIRENT_H = @ABSOLUTE_DIRENT_H@ -ABSOLUTE_FCNTL_H = @ABSOLUTE_FCNTL_H@ -ABSOLUTE_INTTYPES_H = @ABSOLUTE_INTTYPES_H@ -ABSOLUTE_NETINET_IN_H = @ABSOLUTE_NETINET_IN_H@ -ABSOLUTE_STDINT_H = @ABSOLUTE_STDINT_H@ -ABSOLUTE_STDIO_H = @ABSOLUTE_STDIO_H@ -ABSOLUTE_STDLIB_H = @ABSOLUTE_STDLIB_H@ -ABSOLUTE_STRING_H = @ABSOLUTE_STRING_H@ -ABSOLUTE_SYS_SOCKET_H = @ABSOLUTE_SYS_SOCKET_H@ -ABSOLUTE_SYS_STAT_H = @ABSOLUTE_SYS_STAT_H@ -ABSOLUTE_SYS_TIME_H = @ABSOLUTE_SYS_TIME_H@ -ABSOLUTE_TIME_H = @ABSOLUTE_TIME_H@ -ABSOLUTE_UNISTD_H = @ABSOLUTE_UNISTD_H@ -ABSOLUTE_WCHAR_H = @ABSOLUTE_WCHAR_H@ -ABSOLUTE_WCTYPE_H = @ABSOLUTE_WCTYPE_H@ -ACLOCAL = @ACLOCAL@ -ALLOCA = @ALLOCA@ -ALLOCA_H = @ALLOCA_H@ -AMTAR = @AMTAR@ -ARPA_INET_H = @ARPA_INET_H@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@ -BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@ -BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@ -BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@ -BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFAULT_POSIX2_VERSION = @DEFAULT_POSIX2_VERSION@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DF_PROG = @DF_PROG@ -DIRENT_H = @DIRENT_H@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EOVERFLOW = @EOVERFLOW@ -EXEEXT = @EXEEXT@ -FCNTL_H = @FCNTL_H@ -FNMATCH_H = @FNMATCH_H@ -GETLOADAVG_LIBS = @GETLOADAVG_LIBS@ -GETOPT_H = @GETOPT_H@ -GLIBC21 = @GLIBC21@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GNULIB_CHOWN = @GNULIB_CHOWN@ -GNULIB_DUP2 = @GNULIB_DUP2@ -GNULIB_FCHDIR = @GNULIB_FCHDIR@ -GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@ -GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@ -GNULIB_GETCWD = @GNULIB_GETCWD@ -GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ -GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ -GNULIB_IMAXABS = @GNULIB_IMAXABS@ -GNULIB_IMAXDIV = @GNULIB_IMAXDIV@ -GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ -GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ -GNULIB_MBSCHR = @GNULIB_MBSCHR@ -GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ -GNULIB_MBSLEN = @GNULIB_MBSLEN@ -GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ -GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ -GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ -GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ -GNULIB_MBSSEP = @GNULIB_MBSSEP@ -GNULIB_MBSSPN = @GNULIB_MBSSPN@ -GNULIB_MBSSTR = @GNULIB_MBSSTR@ -GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ -GNULIB_MEMMEM = @GNULIB_MEMMEM@ -GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ -GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ -GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ -GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ -GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@ -GNULIB_READLINK = @GNULIB_READLINK@ -GNULIB_SNPRINTF = @GNULIB_SNPRINTF@ -GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ -GNULIB_STPCPY = @GNULIB_STPCPY@ -GNULIB_STPNCPY = @GNULIB_STPNCPY@ -GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ -GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ -GNULIB_STRDUP = @GNULIB_STRDUP@ -GNULIB_STRNDUP = @GNULIB_STRNDUP@ -GNULIB_STRNLEN = @GNULIB_STRNLEN@ -GNULIB_STRPBRK = @GNULIB_STRPBRK@ -GNULIB_STRSEP = @GNULIB_STRSEP@ -GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@ -GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ -GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@ -GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@ -GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@ -GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@ -GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@ -GNU_PACKAGE = @GNU_PACKAGE@ -GREP = @GREP@ -HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ -HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ -HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ -HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ -HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ -HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ -HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ -HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@ -HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ -HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ -HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ -HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ -HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ -HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ -HAVE_DUP2 = @HAVE_DUP2@ -HAVE_FTRUNCATE = @HAVE_FTRUNCATE@ -HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ -HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ -HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ -HAVE_MEMPCPY = @HAVE_MEMPCPY@ -HAVE_MKDTEMP = @HAVE_MKDTEMP@ -HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@ -HAVE_READLINK = @HAVE_READLINK@ -HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@ -HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@ -HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ -HAVE_STDINT_H = @HAVE_STDINT_H@ -HAVE_STPCPY = @HAVE_STPCPY@ -HAVE_STPNCPY = @HAVE_STPNCPY@ -HAVE_STRCASECMP = @HAVE_STRCASECMP@ -HAVE_STRCASESTR = @HAVE_STRCASESTR@ -HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ -HAVE_STRNDUP = @HAVE_STRNDUP@ -HAVE_STRPBRK = @HAVE_STRPBRK@ -HAVE_STRSEP = @HAVE_STRSEP@ -HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ -HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ -HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@ -HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@ -HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@ -HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@ -HAVE_UNISTD_H = @HAVE_UNISTD_H@ -HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@ -HAVE_WCTYPE_H = @HAVE_WCTYPE_H@ -HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@ -HAVE_WINT_T = @HAVE_WINT_T@ -HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@ -HAVE__BOOL = @HAVE__BOOL@ -HELP2MAN = @HELP2MAN@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -INTTYPES_H = @INTTYPES_H@ -KMEM_GROUP = @KMEM_GROUP@ -LDFLAGS = @LDFLAGS@ -LIBCOREUTILS_LIBDEPS = @LIBCOREUTILS_LIBDEPS@ -LIBCOREUTILS_LTLIBDEPS = @LIBCOREUTILS_LTLIBDEPS@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIB_ACL = @LIB_ACL@ -LIB_ACL_TRIVIAL = @LIB_ACL_TRIVIAL@ -LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ -LIB_CRYPT = @LIB_CRYPT@ -LIB_EACCESS = @LIB_EACCESS@ -LIB_FDATASYNC = @LIB_FDATASYNC@ -LIB_GETHRXTIME = @LIB_GETHRXTIME@ -LIB_NANOSLEEP = @LIB_NANOSLEEP@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -MAN = @MAN@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NEED_SETGID = @NEED_SETGID@ -NETINET_IN_H = @NETINET_IN_H@ -OBJEXT = @OBJEXT@ -OPTIONAL_BIN_PROGS = @OPTIONAL_BIN_PROGS@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PERL = @PERL@ -POSUB = @POSUB@ -POW_LIB = @POW_LIB@ -PRIPTR_PREFIX = @PRIPTR_PREFIX@ -PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ -PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@ -RANLIB = @RANLIB@ -REPLACE_CHOWN = @REPLACE_CHOWN@ -REPLACE_FCHDIR = @REPLACE_FCHDIR@ -REPLACE_FPRINTF = @REPLACE_FPRINTF@ -REPLACE_GETCWD = @REPLACE_GETCWD@ -REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ -REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@ -REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ -REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ -REPLACE_PRINTF = @REPLACE_PRINTF@ -REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ -REPLACE_SPRINTF = @REPLACE_SPRINTF@ -REPLACE_STRPTIME = @REPLACE_STRPTIME@ -REPLACE_TIMEGM = @REPLACE_TIMEGM@ -REPLACE_VFPRINTF = @REPLACE_VFPRINTF@ -REPLACE_VPRINTF = @REPLACE_VPRINTF@ -REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ -REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ -SEQ_LIBM = @SEQ_LIBM@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ -SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ -STDBOOL_H = @STDBOOL_H@ -STDINT_H = @STDINT_H@ -STRIP = @STRIP@ -SYS_SOCKET_H = @SYS_SOCKET_H@ -SYS_STAT_H = @SYS_STAT_H@ -SYS_TIME_H = @SYS_TIME_H@ -SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@ -TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ -U = @U@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -WCHAR_H = @WCHAR_H@ -WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ -WCTYPE_H = @WCTYPE_H@ -WINT_T_SUFFIX = @WINT_T_SUFFIX@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_CC = @ac_ct_CC@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -gl_LIBOBJS = @gl_LIBOBJS@ -gl_LTLIBOBJS = @gl_LTLIBOBJS@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -TESTS = \ - default-no-deref \ - basic \ - deref \ - no-x \ - posix-H \ - recurse - -EXTRA_DIST = $(TESTS) -TESTS_ENVIRONMENT = \ - host_triplet=$(host_triplet) \ - CU_TEST_NAME=`basename $(abs_srcdir)`,$$tst \ - PATH="$(VG_PATH_PREFIX)`pwd`/../../src$(PATH_SEPARATOR)$$PATH" - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/chgrp/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu tests/chgrp/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - - -check-TESTS: $(TESTS) - @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ - srcdir=$(srcdir); export srcdir; \ - list=' $(TESTS) '; \ - if test -n "$$list"; then \ - for tst in $$list; do \ - if test -f ./$$tst; then dir=./; \ - elif test -f $$tst; then dir=; \ - else dir="$(srcdir)/"; fi; \ - if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ - all=`expr $$all + 1`; \ - case " $(XFAIL_TESTS) " in \ - *$$ws$$tst$$ws*) \ - xpass=`expr $$xpass + 1`; \ - failed=`expr $$failed + 1`; \ - echo "XPASS: $$tst"; \ - ;; \ - *) \ - echo "PASS: $$tst"; \ - ;; \ - esac; \ - elif test $$? -ne 77; then \ - all=`expr $$all + 1`; \ - case " $(XFAIL_TESTS) " in \ - *$$ws$$tst$$ws*) \ - xfail=`expr $$xfail + 1`; \ - echo "XFAIL: $$tst"; \ - ;; \ - *) \ - failed=`expr $$failed + 1`; \ - echo "FAIL: $$tst"; \ - ;; \ - esac; \ - else \ - skip=`expr $$skip + 1`; \ - echo "SKIP: $$tst"; \ - fi; \ - done; \ - if test "$$failed" -eq 0; then \ - if test "$$xfail" -eq 0; then \ - banner="All $$all tests passed"; \ - else \ - banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ - fi; \ - else \ - if test "$$xpass" -eq 0; then \ - banner="$$failed of $$all tests failed"; \ - else \ - banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ - fi; \ - fi; \ - dashes="$$banner"; \ - skipped=""; \ - if test "$$skip" -ne 0; then \ - skipped="($$skip tests were not run)"; \ - test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ - dashes="$$skipped"; \ - fi; \ - report=""; \ - if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ - report="Please report to $(PACKAGE_BUGREPORT)"; \ - test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ - dashes="$$report"; \ - fi; \ - dashes=`echo "$$dashes" | sed s/./=/g`; \ - echo "$$dashes"; \ - echo "$$banner"; \ - test -z "$$skipped" || echo "$$skipped"; \ - test -z "$$report" || echo "$$report"; \ - echo "$$dashes"; \ - test "$$failed" -eq 0; \ - else :; fi - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am - $(MAKE) $(AM_MAKEFLAGS) check-TESTS -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-exec-am: - -install-html: install-html-am - -install-info: install-info-am - -install-man: - -install-pdf: install-pdf-am - -install-ps: install-ps-am - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-TESTS check-am clean clean-generic \ - distclean distclean-generic distdir dvi dvi-am html html-am \ - info info-am install install-am install-data install-data-am \ - install-dvi install-dvi-am install-exec install-exec-am \ - install-html install-html-am install-info install-info-am \ - install-man install-pdf install-pdf-am install-ps \ - install-ps-am install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \ - uninstall-am - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/tests/chgrp/basic b/tests/chgrp/basic deleted file mode 100755 index 475f12f..0000000 --- a/tests/chgrp/basic +++ /dev/null @@ -1,132 +0,0 @@ -#!/bin/sh -# make sure chgrp is reasonable - -# Copyright (C) 2000-2007 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 - chgrp --version -fi - -. $srcdir/../envvar-check -. $srcdir/../lang-default -. $srcdir/../group-names - -pwd=`pwd` -tmp=basic.$$ -trap 'status=$?; cd "$pwd" && rm -rf $tmp && exit $status' 0 -trap '(exit $?); exit' 1 2 13 15 - -framework_failure=0 -mkdir $tmp || framework_failure=1 -cd $tmp || framework_failure=1 - -if test $framework_failure = 1; then - echo 'failure in testing framework' 1>&2 - (exit 1); exit 1 -fi - -fail=0 - -set _ $groups; shift -g1=$1 -g2=$2 -mkdir d -touch f f2 d/f3 -chgrp $g1 f || fail=1 -chgrp $g2 f || fail=1 -chgrp $g2 f2 || fail=1 -chgrp -R $g1 d || fail=1 - -d_files='d d/f3' - -chgrp $g1 f || fail=1 ; test `stat --p=%g f` = $g1 || fail=1 -chgrp $g2 f || fail=1 ; test `stat --p=%g f` = $g2 || fail=1 -chgrp $g2 f || fail=1 ; test `stat --p=%g f` = $g2 || fail=1 -chgrp '' f || fail=1 ; test `stat --p=%g f` = $g2 || fail=1 -chgrp $g1 f || fail=1 ; test `stat --p=%g f` = $g1 || fail=1 -chgrp $g1 f || fail=1 ; test `stat --p=%g f` = $g1 || fail=1 -chgrp --reference=f2 f ; test `stat --p=%g f` = $g2 || fail=1 - -chgrp -R $g2 d ||fail=1; test `stat --p=%g: $d_files` = "$g2:$g2:" || fail=1 -chgrp -R $g1 d ||fail=1; test `stat --p=%g: $d_files` = "$g1:$g1:" || fail=1 -chgrp -R $g2 d ||fail=1; test `stat --p=%g: $d_files` = "$g2:$g2:" || fail=1 -chgrp -R $g1 d ||fail=1; test `stat --p=%g: $d_files` = "$g1:$g1:" || fail=1 -chgrp $g2 d ||fail=1; test `stat --p=%g: $d_files` = "$g2:$g1:" || fail=1 - -rm -f f -touch f -ln -s f symlink -chgrp $g1 f -test `stat --printf=%g f` = $g1 || fail=1 - -# This should not change the group of f. -chgrp -h $g2 symlink -test `stat --printf=%g f` = $g1 || fail=1 - -# Don't fail if chgrp failed to set the group of a symlink. -# Some systems don't support that. -test `stat --printf=%g symlink` = $g2 || - echo 'info: failed to set group of symlink' 1>&2 - -chown --from=:$g1 :$g2 f; test `stat --printf=%g f` = $g2 || fail=1 - -# This *should* change the group of f. -# Though note that the diagnostic is misleading in that -# it says the `group of `symlink'' has been changed. -chgrp $g1 symlink; test `stat --printf=%g f` = $g1 || fail=1 -chown --from=:$g1 :$g2 f; test `stat --printf=%g f` = $g2 || fail=1 - -# If -R is specified without -H or L, -h is assumed. -chgrp -h $g1 f symlink; test `stat --printf=%g symlink` = $g1 || fail=1 -chgrp -R $g2 symlink -chown --from=:$g1 :$g2 f; test `stat --printf=%g f` = $g2 || fail=1 - -# Make sure we can change the group of inaccessible files. -chmod a-r f -chown --from=:$g2 :$g1 f; test `stat --printf=%g f` = $g1 || fail=1 -chmod 0 f -chown --from=:$g1 :$g2 f; test `stat --printf=%g f` = $g2 || fail=1 - -# chown() must not be optimized away even when -# the file's owner and group already have the desired value. -rm -f f g -touch f g -chgrp $g1 f g -chgrp $g2 g -sleep 1 -chgrp $g1 f - -# The following no-change chgrp command is supposed to update f's ctime, -# but on OpenBSD and Darwin 7.9.0 and 8.8.0 (aka MacOS X 10.3.9 and 10.4), -# it appears to be a no-op for some file system types (at least NFS) so g's -# ctime is more recent. This is not a big deal; -# this test works fine when the files are on a local file system (/tmp). -chgrp '' f -test "`ls -C -c -t f g`" = 'f g' || \ - { - case $host_triplet in - *openbsd*) echo ignoring known OpenBSD-specific chgrp failure 1>&2 ;; - *darwin7.9.*|*darwin8.8.*) - echo ignoring known MacOS X-specific chgrp failure 1>&2 ;; - *) echo $host_triplet: no-change chgrp failed to update ctime 1>&2; - fail=1 ;; - esac - } - -(exit $fail); exit $fail diff --git a/tests/chgrp/basic.sh b/tests/chgrp/basic.sh new file mode 100755 index 0000000..b237b14 --- /dev/null +++ b/tests/chgrp/basic.sh @@ -0,0 +1,110 @@ +#!/bin/sh +# make sure chgrp is reasonable + +# Copyright (C) 2000-2016 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 3 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, see <http://www.gnu.org/licenses/>. + +. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src +print_ver_ chgrp +require_membership_in_two_groups_ + + +set _ $groups; shift +g1=$1 +g2=$2 +mkdir d +touch f f2 d/f3 +chgrp $g1 f || fail=1 +chgrp $g2 f || fail=1 +chgrp $g2 f2 || fail=1 +chgrp -R $g1 d || fail=1 + +d_files='d d/f3' + +chgrp $g1 f || fail=1 ; test $(stat --p=%g f) = $g1 || fail=1 +chgrp $g2 f || fail=1 ; test $(stat --p=%g f) = $g2 || fail=1 +chgrp $g2 f || fail=1 ; test $(stat --p=%g f) = $g2 || fail=1 +chgrp '' f || fail=1 ; test $(stat --p=%g f) = $g2 || fail=1 +chgrp $g1 f || fail=1 ; test $(stat --p=%g f) = $g1 || fail=1 +chgrp $g1 f || fail=1 ; test $(stat --p=%g f) = $g1 || fail=1 +chgrp --reference=f2 f ; test $(stat --p=%g f) = $g2 || fail=1 + +chgrp -R $g2 d ||fail=1; test $(stat --p=%g: $d_files) = "$g2:$g2:" || fail=1 +chgrp -R $g1 d ||fail=1; test $(stat --p=%g: $d_files) = "$g1:$g1:" || fail=1 +chgrp -R $g2 d ||fail=1; test $(stat --p=%g: $d_files) = "$g2:$g2:" || fail=1 +chgrp -R $g1 d ||fail=1; test $(stat --p=%g: $d_files) = "$g1:$g1:" || fail=1 +chgrp $g2 d ||fail=1; test $(stat --p=%g: $d_files) = "$g2:$g1:" || fail=1 + +rm -f f +touch f +ln -s f symlink +chgrp $g1 f +test $(stat --printf=%g f) = $g1 || fail=1 + +# This should not change the group of f. +chgrp -h $g2 symlink +test $(stat --printf=%g f) = $g1 || fail=1 + +# Don't fail if chgrp failed to set the group of a symlink. +# Some systems don't support that. +test $(stat --printf=%g symlink) = $g2 || + echo 'info: failed to set group of symlink' 1>&2 + +chown --from=:$g1 :$g2 f; test $(stat --printf=%g f) = $g2 || fail=1 + +# This *should* change the group of f. +# Though note that the diagnostic is misleading in that +# it says the 'group of 'symlink'' has been changed. +chgrp $g1 symlink; test $(stat --printf=%g f) = $g1 || fail=1 +chown --from=:$g1 :$g2 f; test $(stat --printf=%g f) = $g2 || fail=1 + +# If -R is specified without -H or L, -h is assumed. +chgrp -h $g1 f symlink; test $(stat --printf=%g symlink) = $g1 || fail=1 +chgrp -R $g2 symlink +chown --from=:$g1 :$g2 f; test $(stat --printf=%g f) = $g2 || fail=1 + +# Make sure we can change the group of inaccessible files. +chmod a-r f +chown --from=:$g2 :$g1 f; test $(stat --printf=%g f) = $g1 || fail=1 +chmod 0 f +chown --from=:$g1 :$g2 f; test $(stat --printf=%g f) = $g2 || fail=1 + +# chown() must not be optimized away even when +# the file's owner and group already have the desired value. +rm -f f g +touch f g +chgrp $g1 f g +chgrp $g2 g +sleep 1 +chgrp $g1 f + +# The following no-change chgrp command is supposed to update f's ctime, +# but on OpenBSD and Darwin 7.9.0-8.11.1 (aka MacOS X 10.3.9 - 10.4.11) +# it appears to be a no-op for some file system types (at least NFS) so g's +# ctime is more recent. This is not a big deal; +# this test works fine when the files are on a local file system (/tmp). +chgrp '' f +test "$(ls -C -c -t f g)" = 'f g' || \ + { + case $host_triplet in + *openbsd*) echo ignoring known OpenBSD-specific chgrp failure 1>&2 ;; + *darwin7.9.*|*darwin8.*) + echo ignoring known MacOS X-specific chgrp failure 1>&2 ;; + *) echo $host_triplet: no-change chgrp failed to update ctime 1>&2; + fail=1 ;; + esac + } + +Exit $fail diff --git a/tests/chgrp/default-no-deref b/tests/chgrp/default-no-deref deleted file mode 100755 index d2b6753..0000000 --- a/tests/chgrp/default-no-deref +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/sh -# Ensure that chgrp -R does not dereference symlinks. - -# 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 - chgrp --version -fi - -. $srcdir/../group-names -set _ $groups; shift -g2=$2 - -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 -mkdir d && touch f && ln -s ../f d/s || framework_failure=1 - -if test $framework_failure = 1; then - echo "$0: failure in testing framework" 1>&2 - (exit 1); exit 1 -fi - -fail=0 - -g_init=`stat --printf=%g f` -chgrp -R $g2 d || fail=1 -test `stat --printf=%g f` = $g_init || fail=1 - -(exit $fail); exit $fail diff --git a/tests/chgrp/default-no-deref.sh b/tests/chgrp/default-no-deref.sh new file mode 100755 index 0000000..eac0780 --- /dev/null +++ b/tests/chgrp/default-no-deref.sh @@ -0,0 +1,33 @@ +#!/bin/sh +# Ensure that chgrp -R does not dereference symlinks. + +# Copyright (C) 2006-2016 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 3 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, see <http://www.gnu.org/licenses/>. + +. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src +print_ver_ chgrp +require_membership_in_two_groups_ + +set _ $groups; shift +g2=$2 + +mkdir d && touch f && ln -s ../f d/s || framework_failure_ + + +g_init=$(stat --printf=%g f) +chgrp -R $g2 d || fail=1 +test $(stat --printf=%g f) = $g_init || fail=1 + +Exit $fail diff --git a/tests/chgrp/deref b/tests/chgrp/deref deleted file mode 100755 index 413ae22..0000000 --- a/tests/chgrp/deref +++ /dev/null @@ -1,84 +0,0 @@ -#!/bin/sh -# see if chgrp can change the group of a symlink - -# Copyright (C) 2000, 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 - chgrp --version -fi - -. $srcdir/../group-names - -pwd=`pwd` -tmp=slink.$$ -trap 'status=$?; cd "$pwd" && rm -rf $tmp && exit $status' 0 -trap '(exit $?); exit' 1 2 13 15 - -framework_failure=0 -mkdir $tmp || framework_failure=1 -cd $tmp || framework_failure=1 - -if test $framework_failure = 1; then - echo 'failure in testing framework' 1>&2 - (exit 1); exit 1 -fi - -set _ $groups; shift -g1=$1 -g2=$2 - -touch f -ln -s f symlink - -chgrp -h $g2 symlink 2> /dev/null -set _ `ls -ln symlink` -g=$5 -test "$g" = $g2 || { - cat <<EOF 1>&2 -$0: skipping this test; your system doesn't support changing -the owner or group of a symbolic link. -EOF - (exit 77); exit 77 -} - -fail=0 - -chgrp $g1 f -set _ `ls -ln f`; g=$5; test "$g" = $g1 || fail=1 - -chgrp -h $g2 symlink || fail=1 -set _ `ls -ln f`; g=$5; test "$g" = $g1 || fail=1 -set _ `ls -ln symlink`; g=$5; test "$g" = $g2 || fail=1 - -# This should not change the group of f. -chgrp -h $g2 symlink || fail=1 -set _ `ls -ln f`; g=$5; test "$g" = $g1 || fail=1 -set _ `ls -ln symlink`; g=$5; test "$g" = $g2 || fail=1 - -chgrp $g2 f -set _ `ls -ln f`; g=$5; test "$g" = $g2 || fail=1 - -# This *should* change the group of f. -# Though note that the diagnostic you'd get with -c is misleading in that -# it says the `group of `symlink'' has been changed. -chgrp --dereference $g1 symlink -set _ `ls -ln f`; g=$5; test "$g" = $g1 || fail=1 -set _ `ls -ln symlink`; g=$5; test "$g" = $g2 || fail=1 - -(exit $fail); exit $fail diff --git a/tests/chgrp/deref.sh b/tests/chgrp/deref.sh new file mode 100755 index 0000000..a3dd507 --- /dev/null +++ b/tests/chgrp/deref.sh @@ -0,0 +1,60 @@ +#!/bin/sh +# see if chgrp can change the group of a symlink + +# Copyright (C) 2000-2016 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 3 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, see <http://www.gnu.org/licenses/>. + +. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src +print_ver_ chgrp +require_membership_in_two_groups_ + +set _ $groups; shift +g1=$1 +g2=$2 + +touch f +ln -s f symlink + +chgrp -h $g2 symlink 2> /dev/null +set _ $(ls -ln symlink) +g=$5 +test "$g" = $g2 || + skip_ "your system doesn't support changing the owner or group" \ + "of a symbolic link." + + +chgrp $g1 f +set _ $(ls -ln f); g=$5; test "$g" = $g1 || fail=1 + +chgrp -h $g2 symlink || fail=1 +set _ $(ls -ln f); g=$5; test "$g" = $g1 || fail=1 +set _ $(ls -ln symlink); g=$5; test "$g" = $g2 || fail=1 + +# This should not change the group of f. +chgrp -h $g2 symlink || fail=1 +set _ $(ls -ln f); g=$5; test "$g" = $g1 || fail=1 +set _ $(ls -ln symlink); g=$5; test "$g" = $g2 || fail=1 + +chgrp $g2 f +set _ $(ls -ln f); g=$5; test "$g" = $g2 || fail=1 + +# This *should* change the group of f. +# Though note that the diagnostic you'd get with -c is misleading in that +# it says the 'group of 'symlink'' has been changed. +chgrp --dereference $g1 symlink +set _ $(ls -ln f); g=$5; test "$g" = $g1 || fail=1 +set _ $(ls -ln symlink); g=$5; test "$g" = $g2 || fail=1 + +Exit $fail diff --git a/tests/chgrp/no-x b/tests/chgrp/no-x deleted file mode 100755 index e9c702d..0000000 --- a/tests/chgrp/no-x +++ /dev/null @@ -1,76 +0,0 @@ -#!/bin/sh -# Make sure chgrp gives the right diagnostic for a readable, -# but inaccessible directory. - -# Copyright (C) 2003, 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 - chgrp --version -fi - -. $srcdir/../group-names -set _ $groups; shift -g1=$1 -g2=$2 - -. $srcdir/../lang-default -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 -mkdir -p d/no-x/y || framework_failure=1 -chmod u=rw d/no-x || framework_failure=1 - -if test $framework_failure = 1; then - echo "$0: failure in testing framework" 1>&2 - (exit 1); exit 1 -fi - -fail=0 - -# This must exit nonzero. -chgrp -R $g2 d >/dev/null 2>out && fail=1 -cat <<\EOF > exp -chgrp: `d/no-x': Permission denied -EOF - -# With native fdopendir, du uses a different code path. -cat <<\EOF > exp-native-fdopendir -chgrp: cannot access `d/no-x/y': Permission denied -EOF - -if cmp out exp >/dev/null 2>&1; then - : -else - if cmp out exp-native-fdopendir; then - : - else - fail=1 - fi -fi - -test $fail = 1 && diff out exp 2> /dev/null - -(exit $fail); exit $fail diff --git a/tests/chgrp/no-x.sh b/tests/chgrp/no-x.sh new file mode 100755 index 0000000..c42a146 --- /dev/null +++ b/tests/chgrp/no-x.sh @@ -0,0 +1,54 @@ +#!/bin/sh +# Make sure chgrp gives the right diagnostic for a readable, +# but inaccessible directory. + +# Copyright (C) 2003-2016 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 3 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, see <http://www.gnu.org/licenses/>. + +. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src +print_ver_ chgrp +require_membership_in_two_groups_ +skip_if_root_ + +set _ $groups; shift +g1=$1 +g2=$2 + +mkdir -p d/no-x/y || framework_failure_ +chmod u=rw d/no-x || framework_failure_ + + +# This must exit nonzero. +chgrp -R $g2 d >/dev/null 2>out && fail=1 + +prog=chgrp +# NOTE: this code is the same for all tests/*/no-x tests. +# Depending on whether fts is using native fdopendir, we see one +# of the following diagnostics (note also the /y suffix in one case): +# prog: 'd/no-x': Permission denied +# prog: cannot access 'd/no-x/y': Permission denied +# prog: cannot read directory 'd/no-x': Permission denied +# Convert either of the latter two to the first one. +sed "s/^$prog: cannot access /$prog: /" out > t && mv t out +sed "s/^$prog: cannot read directory /$prog: /" out > t && mv t out +sed 's,d/no-x/y,d/no-x,' out > t && mv t out + +cat <<EOF > exp +$prog: 'd/no-x': Permission denied +EOF + +compare exp out || fail=1 + +Exit $fail diff --git a/tests/chgrp/posix-H b/tests/chgrp/posix-H deleted file mode 100755 index b8d1a8e..0000000 --- a/tests/chgrp/posix-H +++ /dev/null @@ -1,89 +0,0 @@ -#!/bin/sh -# Test POSIX-mandated -H option. - -# Copyright (C) 2003, 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 - chgrp --version -fi - -. $srcdir/../group-names -set _ $groups; shift -g1=$1 -g2=$2 - -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 - -mkdir 1 2 3 || framework_failure=1 -touch 1/1F 2/2F 3/3F || framework_failure=1 -ln -s 1 1s || framework_failure=1 -ln -s ../3 2/2s || framework_failure=1 -chgrp -R $g1 1 2 3 || framework_failure=1 - -if test $framework_failure = 1; then - echo "$0: failure in testing framework" 1>&2 - (exit 1); exit 1 -fi - -fail=0 - -chgrp --preserve-root -H -R $g2 1s 2 || fail=1 - -# These must have group $g2. -# ========================= -changed=' -1 -1/1F -2 -2/2F -3 -' -for i in $changed; do - # Filter out symlinks (entries that end in `s'), since it's not - # possible to change their group/owner information on some systems. - case $i in *s) continue;; esac - set _ `ls -dgn $i`; shift - group=$3 - test $group = $g2 || fail=1 -done - -# These must have group $g1. -# ========================= -not_changed=' -1s -2/2s -3/3F -' -for i in $not_changed; do - # Filter out symlinks (entries that end in `s'), since it's not - # possible to change their group/owner information on some systems. - case $i in *s) continue;; esac - set _ `ls -dgn $i`; shift - group=$3 - test $group = $g1 || fail=1 -done - -(exit $fail); exit $fail diff --git a/tests/chgrp/posix-H.sh b/tests/chgrp/posix-H.sh new file mode 100755 index 0000000..832be9a --- /dev/null +++ b/tests/chgrp/posix-H.sh @@ -0,0 +1,70 @@ +#!/bin/sh +# Test POSIX-mandated -H option. + +# Copyright (C) 2003-2016 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 3 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, see <http://www.gnu.org/licenses/>. + +. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src +print_ver_ chgrp +require_membership_in_two_groups_ + +set _ $groups; shift +g1=$1 +g2=$2 + +mkdir 1 2 3 || framework_failure_ +touch 1/1F 2/2F 3/3F || framework_failure_ +ln -s 1 1s || framework_failure_ +ln -s ../3 2/2s || framework_failure_ +chgrp -R $g1 1 2 3 || framework_failure_ + + +chgrp --preserve-root -H -R $g2 1s 2 || fail=1 + +# These must have group $g2. +# ========================= +changed=' +1 +1/1F +2 +2/2F +3 +' +for i in $changed; do + # Filter out symlinks (entries that end in 's'), since it's not + # possible to change their group/owner information on some systems. + case $i in *s) continue;; esac + set _ $(ls -dgn $i); shift + group=$3 + test $group = $g2 || fail=1 +done + +# These must have group $g1. +# ========================= +not_changed=' +1s +2/2s +3/3F +' +for i in $not_changed; do + # Filter out symlinks (entries that end in 's'), since it's not + # possible to change their group/owner information on some systems. + case $i in *s) continue;; esac + set _ $(ls -dgn $i); shift + group=$3 + test $group = $g1 || fail=1 +done + +Exit $fail diff --git a/tests/chgrp/recurse b/tests/chgrp/recurse deleted file mode 100755 index 871388c..0000000 --- a/tests/chgrp/recurse +++ /dev/null @@ -1,73 +0,0 @@ -#!/bin/sh -# ad-hoc tests of chgrp with -R and -H or -L and symlinks - -# Copyright (C) 2000, 2003, 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 - chgrp --version -fi - -. $srcdir/../group-names - -pwd=`pwd` -tmp=recurse.$$ -trap 'status=$?; cd "$pwd" && rm -rf $tmp && exit $status' 0 -trap '(exit $?); exit' 1 2 13 15 - -framework_failure=0 -mkdir $tmp || framework_failure=1 -cd $tmp || framework_failure=1 - -if test $framework_failure = 1; then - echo 'failure in testing framework' 1>&2 - (exit 1); exit 1 -fi - -set _ $groups; shift -g1=$1 -g2=$2 - -fail=0 - -# chgrp -R should not traverse a symlink to a directory. -mkdir d e -touch d/dd e/ee -ln -s ../e d/s -chgrp -R $g1 e/ee || fail=1 -# This should not should change the group of e/ee -chgrp -R $g2 d -set _ `ls -ln e/ee`; g=$5; test "$g" = $g1 || fail=1 -# This must change the group of e/ee, since -L makes -# chgrp traverse the symlink from d/s into e. -chgrp -L -R $g2 d -set _ `ls -ln e/ee`; g=$5; test "$g" = $g2 || fail=1 - -# This must *not* change the group of e/ee -chgrp -H -R $g1 d -set _ `ls -ln e/ee`; g=$5; test "$g" = $g2 || fail=1 - -ln -s d link - -# This shouldn't change the group of e/ee either. -chgrp -H -R $g1 link || fail=1 -set _ `ls -ln e/ee`; g=$5; test "$g" = $g2 || fail=1 -# But it *should* change d/dd. -set _ `ls -ln d/dd`; g=$5; test "$g" = $g1 || fail=1 - -(exit $fail); exit $fail diff --git a/tests/chgrp/recurse.sh b/tests/chgrp/recurse.sh new file mode 100755 index 0000000..3285e1f --- /dev/null +++ b/tests/chgrp/recurse.sh @@ -0,0 +1,53 @@ +#!/bin/sh +# ad-hoc tests of chgrp with -R and -H or -L and symlinks + +# Copyright (C) 2000-2016 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 3 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, see <http://www.gnu.org/licenses/>. + +. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src +print_ver_ chgrp +require_membership_in_two_groups_ + +set _ $groups; shift +g1=$1 +g2=$2 + + +# chgrp -R should not traverse a symlink to a directory. +mkdir d e +touch d/dd e/ee +ln -s ../e d/s +chgrp -R $g1 e/ee || fail=1 +# This should not should change the group of e/ee +chgrp -R $g2 d +set _ $(ls -ln e/ee); g=$5; test "$g" = $g1 || fail=1 +# This must change the group of e/ee, since -L makes +# chgrp traverse the symlink from d/s into e. +chgrp -L -R $g2 d +set _ $(ls -ln e/ee); g=$5; test "$g" = $g2 || fail=1 + +# This must *not* change the group of e/ee +chgrp -H -R $g1 d +set _ $(ls -ln e/ee); g=$5; test "$g" = $g2 || fail=1 + +ln -s d link + +# This shouldn't change the group of e/ee either. +chgrp -H -R $g1 link || fail=1 +set _ $(ls -ln e/ee); g=$5; test "$g" = $g2 || fail=1 +# But it *should* change d/dd. +set _ $(ls -ln d/dd); g=$5; test "$g" = $g1 || fail=1 + +Exit $fail |