test-dup2: enhance test
[gnulib.git] / ChangeLog
index c2ed577..f2427e4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,233 @@
+2009-10-10  Eric Blake  <ebb9@byu.net>
+
+       test-dup2: enhance test
+       * tests/test-dup2.c (main): Also check AT_FDCWD.
+
+       test-stat-time: avoid more spurious failures
+       * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
+       xfs; and avoid race if the two timestamps cross quantization edge.
+
+       relocatable: prefer 'file system' over 'filesystem'
+       * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
+       (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
+       * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
+       * doc/relocatable.texi (Enabling Relocatability): Likewise.
+       * lib/relocatable.c (compute_curr_prefix): Likewise.
+
+2009-10-10  Jim Meyering  <meyering@redhat.com>
+
+       stat-time-tests: check for the usleep function
+       * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
+
+2009-10-10  Bruno Haible  <bruno@clisp.org>
+
+       * modules/xnanosleep: Put the Link section after the Include section.
+
+2009-10-09  Eric Blake  <ebb9@byu.net>
+
+       dup2: work around FreeBSD 6.1 bug
+       * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
+       * doc/posix-functions/dup2.texi (dup2): Document it.
+       Reported by Nelson H. F. Beebe and Jim Meyering.
+
+       test-stat-time: port to buggy NFS clients
+       * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
+       (test_ctime): Also skip test if mtime and ctime are skewed.
+
+       maint: prefer 'file system' over 'filesystem'
+       * doc/posix-functions/fstatat.texi (fstatat): Likewise.
+       * doc/posix-functions/lstat.texi (lstat): Likewise.
+       * lib/file-has-acl.c (file_has_acl): Likewise.
+       * lib/fwriteerror.c [TEST]: Likewise.
+       * tests/test-areadlink.h (test_areadlink): Likewise.
+       * tests/test-areadlinkat-with-size.c (main): Likewise.
+       * tests/test-areadlinkat.c (main): Likewise.
+       * tests/test-canonicalize-lgpl.c (main): Likewise.
+       * tests/test-canonicalize.c (main): Likewise.
+       * tests/test-fstatat.c (main): Likewise.
+       * tests/test-linkat.c (main): Likewise.
+       * tests/test-lstat.h (test_lstat_func): Likewise.
+       * tests/test-mkdir.h (test_mkdir): Likewise.
+       * tests/test-readlink.h (test_readlink): Likewise.
+       * tests/test-remove.c (main): Likewise.
+       * tests/test-rename.h (test_rename): Likewise.
+       * tests/test-renameat.c (main): Likewise.
+       * tests/test-rmdir.h (test_rmdir_func): Likewise.
+       * tests/test-symlink.h (test_symlink): Likewise.
+       * tests/test-symlinkat.c (main): Likewise.
+       * tests/test-unlink.h (test_unlink_func): Likewise.
+       * tests/test-unlinkat.c (main): Likewise.
+
+       maint: make realtime library usage explicit
+       * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
+       * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
+       * modules/settime (Link): Likewise.
+       * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
+
+       test-stat-time: speed up execution
+       * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
+       warning on mingw.
+       (nap): New helper function.
+       (prepare_test): Use it to reduce sleep time.
+       (test_mtime, test_ctime, test_birthtime): Allow for subsecond
+       execution.
+       * modules/stat-time-tests (configure.ac): Check for usleep.
+
+2009-10-09  Jim Meyering  <meyering@redhat.com>
+
+       selinux-h: always use getfilecon wrappers
+       * lib/getfilecon.c: New file.
+       * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
+       [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
+       [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
+       (fgetfilecon): Provide a stub.
+       * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
+       AC_SUBST SELINUX_SELINUX_H, since now we're generating that
+       file unconditionally.
+       When <selinux/selinux.h> is found, arrange to use wrappers.
+       * modules/selinux-h (Files): Add getfilecon.c.
+       (Makefile.am): Substitute include-next-related bits
+       into the now-always-generated selinux/selinux.h file.
+       * doc/glibc-functions/lgetfilecon.texi: New file.
+       * doc/glibc-functions/fgetfilecon.texi: New file.
+       * doc/glibc-functions/getfilecon.texi: New file.
+       * doc/glibc-functions/getfilecon-desc.texi: New file.
+       * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
+       which to pull in the new files.
+       * MODULES.html.sh (Misc): Add selinux-h.
+
+2009-10-08  Jim Meyering  <meyering@redhat.com>
+
+       unistd: fix comment typo
+       * lib/unistd.in.h (euidaccess): Fix a comment typo.
+
+2009-10-08  Eric Blake  <ebb9@byu.net>
+
+       areadlink: use SIZE_MAX consistently
+       * modules/areadlink (Depends-on): Add stdint.
+       * modules/areadlink-with-size (Depends-on): Likewise.
+       * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
+       gives NULL; drop sys/types, since unistd gives size_t; and add
+       stdint for SIZE_MAX.
+       (SIZE_MAX): Rely on headers.
+       * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
+       and add stdint.
+       * lib/areadlink.c (includes): Drop sys/types, and add stdint.
+       (SIZE_MAX): Likewise.
+       (INITIAL_BUF_SIZE): Turn into enum.
+       * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
+
+2009-10-08  Jim Meyering  <meyering@redhat.com>
+
+       areadlinkat: avoid compilation failure
+       * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
+       Fix typo in comment.
+
+2009-10-07  Eric Blake  <ebb9@byu.net>
+
+       areadlinkat-with-size: new module
+       * modules/areadlinkat-with-size: New module.
+       * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
+       * lib/areadlink.h (areadlinkat): Declare it.
+       * MODULES.html.sh (File system functions): Mention it.
+       * modules/areadlinkat-with-size-tests: New test.
+       * tests/test-areadlinkat-with-size.c: New file.
+
+       xreadlinkat: new module
+       * modules/xreadlinkat: New module.
+       * lib/xreadlinkat.c (xreadlinkat): New file.
+       * lib/xreadlink.h (xreadlinkat): Declare it.
+       * MODULES.html.sh (File system functions): Mention it.
+
+       areadlinkat: new module
+       * lib/at-func.c (FUNC_FAIL): New define.
+       (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
+       * modules/areadlinkat: New module.
+       * lib/linkat.c (areadlinkat): Move...
+       * lib/areadlinkat.c (areadlinkat): ...to new file.
+       * lib/areadlink.h (areadlinkat): Declare it.
+       * modules/linkat (Depends-on): Add areadlinkat.
+       * MODULES.html.sh (File system functions): Mention it.
+       * modules/areadlinkat-tests: New test.
+       * tests/test-areadlinkat.c: New file.
+
+       areadlink, areadlink-with-size: add tests
+       * modules/areadlink-tests: New test.
+       * modules/areadlink-with-size-tests: Likewise.
+       * tests/test-areadlink.h: New file.
+       * tests/test-areadlink.c: Likewise.
+       * tests/test-areadlink-with-size.c: Likewise.
+
+       maint: minor cleanups
+       * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
+       _UNUSED_PARAMETER_ instead.
+       * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
+       * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
+       * modules/linkat-tests (Files): Distribute test-link.h.
+
+       openat, utimens: whitespace cleanup
+       * lib/openat.c: Prefer space throughout, rather than mix of 8
+       spaces vs. tabs.
+       * lib/at-func.c: Likewise.
+       * lib/utimens.c: Likewise.
+
+       openat: avoid using wrong fd
+       * lib/openat.c (openat_permissive): Reject user's fd if saving the
+       working directory chooses same fd.
+       * lib/at-func.c (AT_FUNC_NAME): Likewise.
+
+       mkdir, mkdirat: fix cygwin 1.5.x bug
+       * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
+       * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
+       * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
+       bug.
+       (gl_PREREQ_MKDIR): Delete unused macro.
+       * modules/mkdir (Files): Track file rename.
+       (configure.ac): Update macro name.
+       * modules/openat (Depends-on): Add mkdir.
+       * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
+
+       mkdir, mkdirat: add tests
+       * modules/mkdir-tests: New test.
+       * tests/test-mkdir.h: New file.
+       * tests/test-mkdir.c: Likewise.
+       * tests/test-mkdirat.c: Likewise.
+       * modules/openat-tests (Files): Add new files.
+       (Makefile.am): Run new test.
+
 2009-10-06  Eric Blake  <ebb9@byu.net>
 
+       doc: tweak *at function documentation
+       * doc/posix-functions/faccessat.texi (faccessat): Mention
+       known issue with replacement.
+       * doc/posix-functions/fchdir.texi (fchdir): Likewise.
+       * doc/posix-functions/linkat.texi (linkat): Likewise.
+       * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
+       * doc/posix-functions/mknodat.texi (mknodat): Likewise.
+       * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
+       * doc/posix-functions/renameat.texi (renameat): Likewise.
+       * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
+
+       openat: fix GNU/Hurd bug in unlinkat
+       * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
+       broken.
+       * doc/posix-functions/unlink.texi (unlink): Document this.
+       * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
+
+       fdopendir: fix GNU/Hurd bug
+       * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
+       allowing non-directory fds.
+       * lib/fdopendir.c (rpl_fdopendir): Work around it.
+       * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
+       * modules/dirent (Makefile.am): Substitute it.
+       * lib/dirent.in.h (fdopendir): Declare replacement.
+       * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
+       * tests/test-fdopendir.c (main): Test something other than
+       /dev/null, since on Hurd that behaves like a directory.
+
+       test-symlink: port to GNU/Hurd
+       * tests/test-symlink.h (test_symlink): Relax expected errno.
+
        doc: tweak more cygwin information
        * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
        now compatible with glibc.
 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
            Bruno Haible  <bruno@clisp.org>
 
-       * lib/uname.c (uname): Use a table-driver algorithm to compute
+       * lib/uname.c (uname): Use a table-driven algorithm to compute
        Windows NT versions.
 
 2009-10-04  Bruno Haible  <bruno@clisp.org>