[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
some testsuite improvements
From: |
Eric Blake |
Subject: |
some testsuite improvements |
Date: |
Sat, 29 Jan 2005 21:54:02 -0700 |
User-agent: |
Mozilla Thunderbird 1.0 (Windows/20041206) |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Here are some minor fixes to the testsuites. New Makefile.am targets
should be made phony for performance. When parsing file mode attributes,
you need to consider that a file with ACLs set show up with an extra '+'
at the end of the mode string. Also, group and user names can have shell
metacharacters (such as space) in them.
Cygwin creates new directories with ACLs set by default, so that files
created in that directory have POSIX permissions rather than Windows
permissions. This means that on cygwin, every new directory created
during the testsuite has the ACL '+' flag, and that fact unnecessarily
invalidated quite a few tests.
$ mkdir dir
$ getfacl dir
# file: dir
# owner: eblake
# group: None
user::rwx
group::r-x
mask:rwx
other:r-x
default:user::rwx
default:group::r-x
default:other:r-x
$ ls -ld dir
drwxr-xr-x+ 2 eblake None 0 Jan 29 21:45 dir/
I have enough other patches in the works that you probably need to get me
started on a copyright assignment offline. Is there any reason that all
the Makefile.in and other generated files are stored in CVS? It is a bit
annoying to have to filter them out of all my CVS diffs.
2005-01-29 Eric Blake <address@hidden> (tiny change)
* tests/Makefile.am (.PHONY): Add check-root, check-recursive,
and root-hint.
* tests/rwx-to-mode: Ignore ACL designation.
* tests/setgid-check: Likewise.
* tests/chown/separator: Quote user and group names.
- --
Life is short - so eat dessert first!
Eric Blake address@hidden
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFB/Ghq84KuGfSFAYARAu2oAJ9eqxzEaD8tejO0lsIXcd5gIdPL6ACfTkc1
HPejrySZhH7dJ2r1E2PxvYA=
=BBmI
-----END PGP SIGNATURE-----
Index: tests/Makefile.am
===================================================================
RCS file: /cvsroot/coreutils/coreutils/tests/Makefile.am,v
retrieving revision 1.18
diff -u -p -r1.18 Makefile.am
--- tests/Makefile.am 4 Jan 2005 09:41:14 -0000 1.18
+++ tests/Makefile.am 30 Jan 2005 04:54:15 -0000
@@ -24,6 +24,8 @@ SUBDIRS = \
rm rmdir seq sha1sum shred sort stty sum tac tail tail-2 test touch \
tr tsort unexpand uniq wc
+.PHONY: check-root check-recursive evar-check root-hint
+
check-root:
cd chown && $(MAKE) check TESTS=basic
cd cp && $(MAKE) check TESTS=special-bits
@@ -33,7 +35,6 @@ check-root:
check-recursive: evar-check root-hint
# Warn when `make check' is run with POSIXLY_CORRECT or CDPATH set.
-.PHONY: evar-check
evar-check:
../src/printenv POSIXLY_CORRECT >/dev/null \
&& sed s/%%/POSIXLY_CORRECT/ $(srcdir)/.env-warn || :
Index: tests/rwx-to-mode
===================================================================
RCS file: /cvsroot/coreutils/coreutils/tests/rwx-to-mode,v
retrieving revision 1.5
diff -u -p -r1.5 rwx-to-mode
--- tests/rwx-to-mode 7 Nov 2000 14:20:06 -0000 1.5
+++ tests/rwx-to-mode 30 Jan 2005 04:54:15 -0000
@@ -1,7 +1,7 @@
#!/bin/sh
# Convert an ls-style permission string, like drwxr----x and -rw-r-x-wx
# to the equivalent chmod --mode (-m) argument, (=,u=rwx,g=r,o=x and
-# =,u=rw,g=rx,o=wx).
+# =,u=rw,g=rx,o=wx). Ignore ACLs.
case $# in
1) rwx=$1;;
@@ -12,6 +12,7 @@ esac
case $rwx in
[ld-][rwx-][rwx-][rwxsS-][rwx-][rwx-][rwxsS-][rwx-][rwx-][rwxtT-]) ;;
+ [ld-][rwx-][rwx-][rwxsS-][rwx-][rwx-][rwxsS-][rwx-][rwx-][rwxtT-]+) ;;
*) echo "$0: invalid mode string: $rwx" 1>&2; exit 1;;
esac
Index: tests/setgid-check
===================================================================
RCS file: /cvsroot/coreutils/coreutils/tests/setgid-check,v
retrieving revision 1.3
diff -u -p -r1.3 setgid-check
--- tests/setgid-check 23 Jun 2004 15:07:00 -0000 1.3
+++ tests/setgid-check 30 Jan 2005 04:54:15 -0000
@@ -13,6 +13,7 @@ p=`ls -ld $setgid_tmpdir|sed 's/ .*//'`
rmdir $setgid_tmpdir
case $p in
drwx------);;
+ drwx------+);;
drwxr-xr-x);; # Windows98 + DJGPP 2.03 + fileutils-4.1 does this.
*) cwd_is_setgid=yes;;
esac
Index: tests/chown/separator
===================================================================
RCS file: /cvsroot/coreutils/coreutils/tests/chown/separator,v
retrieving revision 1.2
diff -u -p -r1.2 separator
--- tests/chown/separator 14 Jan 2005 10:39:05 -0000 1.2
+++ tests/chown/separator 30 Jan 2005 04:54:15 -0000
@@ -37,8 +37,8 @@ fail=0
chown '' . || fail=1
-for u in $id_u $id_un ''; do
- for g in $id_g $id_gn ''; do
+for u in $id_u "$id_un" ''; do
+ for g in $id_g "$id_gn" ''; do
case $u$g in
*.*) seps=':' ;;
*) seps=': .' ;;
- some testsuite improvements,
Eric Blake <=