summaryrefslogtreecommitdiff
path: root/modules/openat-tests
Commit message (Collapse)AuthorAgeFilesLines
* open, openat: Really support O_CLOEXEC.Bruno Haible2020-05-241-0/+1
| | | | | | | | | | | * lib/open.c (open): When have_cloexec is still undecided, do pass a O_CLOEXEC flag to orig_open. * lib/openat.c (rpl_openat): When have_cloexec is still undecided, do pass a O_CLOEXEC flag to orig_openat. * tests/test-open.h (test_open): Verify that O_CLOEXEC is honoured. * modules/open-tests (Depends-on): Add fcntl. * modules/openat-tests (Depends-on): Likewise. * modules/fcntl-safer-tests (Depends-on): Likewise.
* Port tests away from prognamePino Toscano2016-09-051-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Modules that need the program name already depend on getprogname. * modules/acl-tests (Depends-on): Remove progname. * modules/argmatch (Depends-on): Likewise. * modules/argmatch-tests (Depends-on): Likewise. * modules/argp-tests (Depends-on): Likewise. * modules/argp-version-etc-tests (Depends-on): Likewise. * modules/array-list-tests (Depends-on): Likewise. * modules/array-oset-tests (Depends-on): Likewise. * modules/avltree-list-tests (Depends-on): Likewise. * modules/avltree-oset-tests (Depends-on): Likewise. * modules/avltreehash-list-tests (Depends-on): Likewise. * modules/carray-list-tests (Depends-on): Likewise. * modules/copy-file-tests (Depends-on): Likewise. * modules/exclude-tests (Depends-on): Likewise. * modules/fchownat-tests (Depends-on): Likewise. * modules/fdopendir-tests (Depends-on): Likewise. * modules/filenamecat-tests (Depends-on): Likewise. * modules/fstatat-tests (Depends-on): Likewise. * modules/fstrcmp-tests (Depends-on): Likewise. * modules/linked-list-tests (Depends-on): Likewise. * modules/linkedhash-list-tests (Depends-on): Likewise. * modules/mkdirat-tests (Depends-on): Likewise. * modules/nonblocking-pipe-tests (Depends-on): Likewise. * modules/nonblocking-socket-tests (Depends-on): Likewise. * modules/obstack-printf-tests (Depends-on): Likewise. * modules/openat-tests (Depends-on): Likewise. * modules/parse-datetime-tests (Depends-on): Likewise. * modules/pipe-filter-gi-tests (Depends-on): Likewise. * modules/pipe-filter-ii-tests (Depends-on): Likewise. * modules/quotearg-simple-tests (Depends-on): Likewise. * modules/quotearg-tests (Depends-on): Likewise. * modules/rbtree-list-tests (Depends-on): Likewise. * modules/rbtree-oset-tests (Depends-on): Likewise. * modules/rbtreehash-list-tests (Depends-on): Likewise. * modules/spawn-pipe-tests (Depends-on): Likewise. * modules/system-quote-tests (Depends-on): Likewise. * modules/uniname/uniname-tests (Depends-on): Likewise. * modules/uninorm/nfc-tests (Depends-on): Likewise. * modules/uninorm/nfd-tests (Depends-on): Likewise. * modules/uninorm/nfkc-tests (Depends-on): Likewise. * modules/uninorm/nfkd-tests (Depends-on): Likewise. * modules/unistdio/u16-vsnprintf-tests (Depends-on): Likewise. * modules/unistdio/u16-vsprintf-tests (Depends-on): Likewise. * modules/unistdio/u32-vsnprintf-tests (Depends-on): Likewise. * modules/unistdio/u32-vsprintf-tests (Depends-on): Likewise. * modules/unistdio/u8-vsnprintf-tests (Depends-on): Likewise. * modules/unistdio/u8-vsprintf-tests (Depends-on): Likewise. * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Likewise. * modules/unistdio/ulc-vsprintf-tests (Depends-on): Likewise. * modules/unlinkat-tests (Depends-on): Likewise. * modules/version-etc-tests (Depends-on): Likewise. * modules/xalloc-die-tests (Depends-on): Likewise. * modules/xmemdup0-tests (Depends-on): Likewise. * modules/xprintf-posix-tests (Depends-on): Likewise. * modules/xvasprintf-tests (Depends-on): Likewise. * tests/test-argmatch.c: Do not include progname.h. (main) Stop calling set_program_name. * tests/test-argp-version-etc.c: Likewise. * tests/test-argp.c: Likewise. * tests/test-argv-iter.c: Likewise. * tests/test-array_list.c: Likewise. * tests/test-array_oset.c: Likewise. * tests/test-avltree_list.c: Likewise. * tests/test-avltree_oset.c: Likewise. * tests/test-avltreehash_list.c: Likewise. * tests/test-carray_list.c: Likewise. * tests/test-copy-acl.c: Likewise. * tests/test-copy-file.c: Likewise. * tests/test-exclude.c: Likewise. * tests/test-fchownat.c: Likewise. * tests/test-fdopendir.c: Likewise. * tests/test-filenamecat.c: Likewise. * tests/test-fstatat.c: Likewise. * tests/test-fstrcmp.c: Likewise. * tests/test-linked_list.c: Likewise. * tests/test-linkedhash_list.c: Likewise. * tests/test-mkdirat.c: Likewise. * tests/test-nonblocking-pipe-main.c: Likewise. * tests/test-nonblocking-socket-main.c: Likewise. * tests/test-obstack-printf.c: Likewise. * tests/test-openat.c: Likewise. * tests/test-parse-datetime.c: Likewise. * tests/test-pipe-filter-gi1.c: Likewise. * tests/test-pipe-filter-gi2-main.c: Likewise. * tests/test-pipe-filter-ii1.c: Likewise. * tests/test-pipe-filter-ii2-main.c: Likewise. * tests/test-quotearg-simple.c: Likewise. * tests/test-quotearg.c: Likewise. * tests/test-rbtree_list.c: Likewise. * tests/test-rbtree_oset.c: Likewise. * tests/test-rbtreehash_list.c: Likewise. * tests/test-sameacls.c: Likewise. * tests/test-set-mode-acl.c: Likewise. * tests/test-spawn-pipe-main.c: Likewise. * tests/test-system-quote-main.c: Likewise. * tests/test-unlinkat.c: Likewise. * tests/test-version-etc.c: Likewise. * tests/test-xalloc-die.c: Likewise. * tests/test-xfprintf-posix.c: Likewise. * tests/test-xmemdup0.c: Likewise. * tests/test-xprintf-posix.c: Likewise. * tests/test-xvasprintf.c: Likewise. * tests/uniname/test-uninames.c: Likewise. * tests/uninorm/test-u32-nfc-big.c: Likewise. * tests/uninorm/test-u32-nfd-big.c: Likewise. * tests/uninorm/test-u32-nfkc-big.c: Likewise. * tests/uninorm/test-u32-nfkd-big.c: Likewise. * tests/unistdio/test-u16-vsnprintf1.c: Likewise. * tests/unistdio/test-u16-vsprintf1.c: Likewise. * tests/unistdio/test-u32-vsnprintf1.c: Likewise. * tests/unistdio/test-u32-vsprintf1.c: Likewise. * tests/unistdio/test-u8-vsnprintf1.c: Likewise. * tests/unistdio/test-u8-vsprintf1.c: Likewise. * tests/unistdio/test-ulc-vsnprintf1.c: Likewise. * tests/unistdio/test-ulc-vsprintf1.c: Likewise. * tests/test-c-stack.c: (program_name): Do not define. (main): Do not set program_name. * tests/test-closein.c: Likewise. * tests/test-xstrtol.c: Likewise. * tests/test-yesno.c: Likewise.
* openat tests: Fix file list.Bruno Haible2011-11-041-0/+1
| | | | * modules/openat-tests (Files): Add tests/test-open.h.
* New module 'mkdirat', split off from module 'openat'.Bruno Haible2011-11-041-8/+2
| | | | | | | | | | | | | | | | | | | * m4/mkdirat.m4: New file. extracted from m4/openat.m4. * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS. Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT. * modules/mkdirat: New file, extracted from modules/openat. * modules/openat (Files): Remove lib/mkdirat.c. (Depends-on): Remove mkdir. (configure.ac): Remove AC_LIBOBJ of mkdirat. (Include): Remove <sys/stat.h>. * modules/mkdirat-tests: New file, extracted from modules/openat-tests. * modules/openat-tests (Files): Remove tests/test-mkdirat.c, tests/test-mkdir.h. (Depends-on): Remove ignore-value. (Makefile.am): Remove rules for test-mkdirat. * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead of module 'openat'. * NEWS: Mention the change.
* New module 'fstatat', split off from module 'openat'.Bruno Haible2011-11-041-7/+2
| | | | | | | | | | | | | | | | | | | | | | | | | * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is defined. * m4/fstatat.m4: New file. extracted from m4/openat.m4. * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke gl_FUNC_FSTATAT. (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4. * modules/fstatat: New file, extracted from modules/openat. * modules/openat (Files): Remove lib/fstatat.c. (Depends-on): Remove lstat. (configure.ac): Remove AC_LIBOBJ of fstatat. * modules/fstatat-tests: New file, extracted from modules/openat-tests. * modules/openat-tests (Files): Remove tests/test-fstatat.c, tests/test-lstat.h, tests/test-stat.h. (Depends-on): Remove getcwd-lgpl. (Makefile.am): Remove rules for test-fstatat. * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead of module 'openat'. * NEWS: Mention the change. * modules/getcwd (Depends-on): Add fstatat. * modules/linkat (Depends-on): Likewise. * modules/mkfifoat-tests (Depends-on): Likewise. * modules/utimensat (Depends-on): Add fstatat. Remove openat.
* New module 'unlinkat', split off from module 'openat'.Bruno Haible2011-11-021-7/+2
| | | | | | | | | | | | | | | | | | | | | | * m4/unlinkat.m4: New file, extracted from m4/openat.m4. * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT, REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat. * modules/unlinkat: New file, extracted from modules/openat. Correct the dependency conditions. * modules/openat (Files): Remove lib/unlinkat.c. (Depends-on): Remove rmdir, unlink. (configure.ac): Remove AC_LIBOBJ of unlinkat. * modules/unlinkat-tests: New file, extracted from modules/openat-tests. * modules/openat-tests (Files): Remove tests/test-unlinkat.c, tests/test-rmdir.h, tests/test-unlink.h. (Depends-on): Remove unlinkdir. (Makefile.am): Remove rules for test-unlinkat. * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead of module 'openat'. * NEWS: Mention the change. * modules/linkat-tests (Depends-on): Add unlinkat. * modules/mkfifoat-tests (Depends-on): Likewise. * modules/readlinkat-tests (Depends-on): Likewise.
* New module 'fchmodat', split off from module 'openat'.Bruno Haible2011-11-021-4/+2
| | | | | | | | | | | | | | | | | * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is defined. * m4/fchmodat.m4: New file, extracted from m4/openat.m4. * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test for fchmodat, lchmod. Don't set HAVE_FCHMODAT. * modules/fchmodat: New file, extracted from modules/openat. * modules/openat (Files): Remove lib/fchmodat.c. (configure.ac): Remove AC_LIBOBJ of fchmodat. * modules/fchmodat-tests: New file, extracted from modules/openat-tests. * modules/openat-tests (Files): Remove tests/test-fchmodat.c. (Makefile.am): Remove rules for test-fchmodat. * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead of module 'openat'. * NEWS: Mention the change.
* New module 'fchownat', split off from module 'openat'.Bruno Haible2011-11-011-13/+2
| | | | | | | | | | | | | | | | | | | | | | | * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is defined. * m4/fchownat.m4: New file, extracted from m4/openat.m4. * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't invoke gl_FUNC_FCHOWNAT. (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG, gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4. * modules/fchownat: New file, extracted from modules/openat. * modules/openat (Files): Remove lib/fchownat.c. (Depends-on): Remove lchown. (configure.ac): Remove AC_LIBOBJ of fchownat. * modules/fchownat-tests: New file, extracted from modules/openat-tests. * modules/openat-tests (Files): Remove tests/test-fchownat.c, tests/test-chown.h, tests/test-lchown.h, tests/nap.h. (Depends-on): Remove mgetgroups, usleep, stat-time. (configure.ac): Remove test for getegid. (Makefile.am): Remove rules for test-fchownat. * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead of module 'openat'. * NEWS: Mention the change.
* Tests: Avoid link failures w.r.t. libintl.Bruno Haible2011-10-081-0/+1
| | | | | | | | | | | | | | * modules/faccessat-tests (Makefile.am): Link test-faccessat against $(LIBINTL). * modules/fchdir-tests (Makefile.am): Link test-fchdir against $(LIBINTL). * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl against $(LIBINTL). * modules/getcwd-tests (Makefile.am): Link test-getcwd against $(LIBINTL). * modules/openat-tests (Makefile.am): Link test-fchmodat against $(LIBINTL). * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
* openat tests: EBADF tests.Bruno Haible2011-09-201-2/+6
| | | | | | | | | | | * tests/test-fchownat.c (main): Add tests for EBADF. * tests/test-fstatat.c (main): Likewise. * tests/test-mkdirat.c (main): Likewise. * tests/test-openat.c (main): Likewise. * tests/test-unlinkat.c (main): Likewise. * tests/test-fchmodat.c: New file. * modules/openat-tests (Files): Add tests/test-fchmodat.c. (Makefile.am): Also run 'test-fchmodat'.
* test-stat: don't allocate PATH_MAX bytesEric Blake2011-06-201-1/+1
| | | | | | | | | | | | | | | | | POSIX allows systems (like Hurd) that don't define PATH_MAX, or which define it larger than a reasonable stack allocation should be. The test originally used stack allocation to avoid portability problems with getcwd, but the getcwd-lgpl module solves those. * tests/test-stat.h (test_stat_func): Don't stack-allocate a PATH_MAX-sized buffer. * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax. * modules/stat-tests (Depends-on): Likewise. * tests/test-fstatat.c (includes): Drop pathmax.h. * tests/test-stat.c (includes): Likewise. Reported by Bruno Haible. Signed-off-by: Eric Blake <eblake@redhat.com>
* openat, fdopendir tests: Fix link errors.Bruno Haible2011-06-181-0/+1
| | | | | | | | | | | | | | | | | * modules/openat-tests (Depends-on): Add progname. * modules/fdopendir-tests (Depends-on): Likewise. * tests/test-fchownat.c: Include progname.h. (main): Call set_program_name. * tests/test-fstatat.c: Include progname.h. (main): Call set_program_name. * tests/test-mkdirat.c: Include progname.h. (main): Call set_program_name. * tests/test-openat.c: Include progname.h. (main): Call set_program_name. * tests/test-unlinkat.c: Include progname.h. (main): Call set_program_name. * tests/test-fdopendir.c: Include progname.h. (main): Call set_program_name.
* Fix link errors in tests: openat-die uses gettext-h.Bruno Haible2011-05-311-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat against $(LIBINTL). * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer against $(LIBINTL). * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against $(LIBINTL). * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat against $(LIBINTL). * modules/linkat-tests (Makefile.am): Link test-linkat against $(LIBINTL). * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against $(LIBINTL). * modules/openat-safer-tests (Makefile.am): Link test-openat-safer against $(LIBINTL). * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat, test-mkdirat, test-openat, test-unlinkat against $(LIBINTL). * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against $(LIBINTL). * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against $(LIBINTL). * modules/utimensat-tests (Makefile.am): Link test-utimensat against $(LIBINTL). Reported by Tom G. Christensen <tgc@jupiterrise.com>.
* tests: drop unused link dependencyEric Blake2011-04-281-5/+0
| | | | | | | | | | | | | | | | | | | | | | | Ever since commit 2392b18099, openat and fdopendir no longer drag in xalloc-die through indirect dependencies, so these tests no longer need $(LIBINTL). * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD. * modules/dirent-safer-tests (Makefile.am): Likewise. * modules/fdopendir-tests (Makefile.am): Likewise. * modules/mkfifoat-tests (Makefile.am): Likewise. * modules/openat-safer-tests (Makefile.am): Likewise. * modules/openat-tests (Makefile.am): Likewise. * modules/readlinkat-tests (Makefile.am): Likewise. * modules/symlinkat-tests (Makefile.am): Likewise. * modules/linkat-tests (Makefile.am): Likewise. (Depends-on): Switch to filenamecat-lgpl. * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused LIBINTL. * modules/utimensat-tests (test_utimensat_LDADD): Likewise. * tests/test-linkat.c (main): Don't require xalloc. Signed-off-by: Eric Blake <eblake@redhat.com>
* tests: silence warning about system returnEric Blake2010-02-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Silence a compiler warning for platforms that mark system() with attribute warn_unused_result. * tests/test-areadlink-with-size.c (main): Ignore system result. * tests/test-areadlink.c (main): 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-chown.c (main): Likewise. * tests/test-fchownat.c (main): Likewise. * tests/test-fdutimensat.c (main): Likewise. * tests/test-fstatat.c (main): Likewise. * tests/test-futimens.c (main): Likewise. * tests/test-lchown.c (main): Likewise. * tests/test-link.c (main): Likewise. * tests/test-linkat.c (main): Likewise. * tests/test-lstat.c (main): Likewise. * tests/test-mkdir.c (main): Likewise. * tests/test-mkdirat.c (main): Likewise. * tests/test-mkfifo.c (main): Likewise. * tests/test-mkfifoat.c (main): Likewise. * tests/test-mknod.c (main): Likewise. * tests/test-readlink.c (main): Likewise. * tests/test-remove.c (main): Likewise. * tests/test-rename.c (main): Likewise. * tests/test-renameat.c (main): Likewise. * tests/test-rmdir.c (main): Likewise. * tests/test-symlink.c (main): Likewise. * tests/test-symlinkat.c (main): Likewise. * tests/test-unlink.c (main): Likewise. * tests/test-unlinkat.c (main): Likewise. * tests/test-utimens.c (main): Likewise. * tests/test-utimensat.c (main): Likewise. * modules/areadlink-tests (Depends-on): Add ignore-value. * modules/areadlink-with-size-tests (Depends-on): Likewise. * modules/areadlinkat-tests (Depends-on): Likewise. * modules/areadlinkat-with-size-tests (Depends-on): Likewise. * modules/canonicalize-lgpl-tests (Depends-on): Likewise. * modules/canonicalize-tests (Depends-on): Likewise. * modules/chown-tests (Depends-on): Likewise. * modules/fdutimensat-tests (Depends-on): Likewise. * modules/futimens-tests (Depends-on): Likewise. * modules/lchown-tests (Depends-on): Likewise. * modules/link-tests (Depends-on): Likewise. * modules/linkat-tests (Depends-on): Likewise. * modules/lstat-tests (Depends-on): Likewise. * modules/mkdir-tests (Depends-on): Likewise. * modules/mkfifo-tests (Depends-on): Likewise. * modules/mkfifoat-tests (Depends-on): Likewise. * modules/mknod-tests (Depends-on): Likewise. * modules/openat-tests (Depends-on): Likewise. * modules/readlink-tests (Depends-on): Likewise. * modules/remove-tests (Depends-on): Likewise. * modules/rename-tests (Depends-on): Likewise. * modules/renameat-tests (Depends-on): Likewise. * modules/rmdir-tests (Depends-on): Likewise. * modules/symlink-tests (Depends-on): Likewise. * modules/symlinkat-tests (Depends-on): Likewise. * modules/unlink-tests (Depends-on): Likewise. * modules/utimens-tests (Depends-on): Likewise. * modules/utimensat-tests (Depends-on): Likewise. Signed-off-by: Eric Blake <ebb9@byu.net>
* Refactor common macros used in tests.Bruno Haible2009-12-241-1/+2
|
* tests: add signature checksEric Blake2009-12-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These tests will help catch problems similar to the one recently fixed for cygwin declaring getsubopt and symlinkat in the wrong header. * tests/signature.h (SIGNATURE_CHECK): New file. * modules/atexit-tests (Files): Use it. * modules/btowc-tests (Files): Likewise. * modules/canonicalize-lgpl-tests (Files): Likewise. * modules/ceilf-tests (Files): Likewise. * modules/ceill-tests (Files): Likewise. * modules/chown-tests (Files): Likewise. * modules/dprintf-posix-tests (Files): Likewise. * modules/dup2-tests (Files): Likewise. * modules/dup3-tests (Files): Likewise. * modules/duplocale-tests (Files): Likewise. * modules/fchdir-tests (Files): Likewise. * modules/fcntl-tests (Files): Likewise. * modules/fdopendir-tests (Files): Likewise. * modules/fflush-tests (Files): Likewise. * modules/flock-tests (Files): Likewise. * modules/floorf-tests (Files): Likewise. * modules/floorl-tests (Files): Likewise. * modules/fnmatch-tests (Files): Likewise. * modules/fopen-tests (Files): Likewise. * modules/fprintf-posix-tests (Files): Likewise. * modules/freopen-tests (Files): Likewise. * modules/frexp-nolibm-tests (Files): Likewise. * modules/frexp-tests (Files): Likewise. * modules/frexpl-nolibm-tests (Files): Likewise. * modules/frexpl-tests (Files): Likewise. * modules/fseek-tests (Files): Likewise. * modules/fseeko-tests (Files): Likewise. * modules/fsync-tests (Files): Likewise. * modules/ftell-tests (Files): Likewise. * modules/ftello-tests (Files): Likewise. * modules/futimens-tests (Files): Likewise. * modules/getaddrinfo-tests (Files): Likewise. * modules/getcwd-tests (Files): Likewise. * modules/getdelim-tests (Files): Likewise. * modules/getdtablesize-tests (Files): Likewise. * modules/getgroups-tests (Files): Likewise. * modules/gethostname-tests (Files): Likewise. * modules/getline-tests (Files): Likewise. * modules/getopt-posix-tests (Files): Likewise. * modules/gettimeofday-tests (Files): Likewise. * modules/glob-tests (Files): Likewise. * modules/iconv-tests (Files): Likewise. * modules/inet_ntop-tests (Files): Likewise. * modules/inet_pton-tests (Files): Likewise. * modules/isblank-tests (Files): Likewise. * modules/lchown-tests (Files): Likewise. * modules/ldexpl-tests (Files): Likewise. * modules/link-tests (Files): Likewise. * modules/linkat-tests (Files): Likewise. * modules/lseek-tests (Files): Likewise. * modules/lstat-tests (Files): Likewise. * modules/mbrtowc-tests (Files): Likewise. * modules/mbsinit-tests (Files): Likewise. * modules/mbsnrtowcs-tests (Files): Likewise. * modules/mbsrtowcs-tests (Files): Likewise. * modules/memchr-tests (Files): Likewise. * modules/memcmp-tests (Files): Likewise. * modules/memmem-tests (Files): Likewise. * modules/memrchr-tests (Files): Likewise. * modules/mkdir-tests (Files): Likewise. * modules/mkfifo-tests (Files): Likewise. * modules/mkfifoat-tests (Files): Likewise. * modules/mknod-tests (Files): Likewise. * modules/nanosleep-tests (Files): Likewise. * modules/nl_langinfo-tests (Files): Likewise. * modules/obstack-printf-tests (Files): Likewise. * modules/open-tests (Files): Likewise. * modules/openat-tests (Files): Likewise. * modules/perror-tests (Files): Likewise. * modules/pipe2-tests (Files): Likewise. * modules/poll-tests (Files): Likewise. * modules/popen-tests (Files): Likewise. * modules/posix_spawn-tests (Files): Likewise. * modules/posix_spawnp-tests (Files): Likewise. * modules/pread-tests (Files): Likewise. * modules/printf-posix-tests (Files): Likewise. * modules/pty-tests (Files): Likewise. * modules/random_r-tests (Files): Likewise. * modules/rawmemchr-tests (Files): Likewise. * modules/readlink-tests (Files): Likewise. * modules/remove-tests (Files): Likewise. * modules/rename-tests (Files): Likewise. * modules/renameat-tests (Files): Likewise. * modules/rmdir-tests (Files): Likewise. * modules/round-tests (Files): Likewise. * modules/roundf-tests (Files): Likewise. * modules/roundl-tests (Files): Likewise. * modules/select-tests (Files): Likewise. * modules/setenv-tests (Files): Likewise. * modules/sigaction-tests (Files): Likewise. * modules/sleep-tests (Files): Likewise. * modules/snprintf-posix-tests (Files): Likewise. * modules/snprintf-tests (Files): Likewise. * modules/sprintf-posix-tests (Files): Likewise. * modules/stat-tests (Files): Likewise. * modules/strcasestr-tests (Files): Likewise. * modules/strchrnul-tests (Files): Likewise. * modules/strerror-tests (Files): Likewise. * modules/strsignal-tests (Files): Likewise. * modules/strstr-tests (Files): Likewise. * modules/strtod-tests (Files): Likewise. * modules/strverscmp-tests (Files): Likewise. * modules/symlink-tests (Files): Likewise. * modules/symlinkat-tests (Files): Likewise. * modules/times-tests (Files): Likewise. * modules/trunc-tests (Files): Likewise. * modules/truncf-tests (Files): Likewise. * modules/truncl-tests (Files): Likewise. * modules/tsearch-tests (Files): Likewise. * modules/uname-tests (Files): Likewise. * modules/unlink-tests (Files): Likewise. * modules/unsetenv-tests (Files): Likewise. * modules/usleep-tests (Files): Likewise. * modules/utimensat-tests (Files): Likewise. * modules/vasprintf-tests (Files): Likewise. * modules/vdprintf-posix-tests (Files): Likewise. * modules/vfprintf-posix-tests (Files): Likewise. * modules/vprintf-posix-tests (Files): Likewise. * modules/vsnprintf-posix-tests (Files): Likewise. * modules/vsnprintf-tests (Files): Likewise. * modules/vsprintf-posix-tests (Files): Likewise. * modules/wcrtomb-tests (Files): Likewise. * modules/wcsnrtombs-tests (Files): Likewise. * modules/wcsrtombs-tests (Files): Likewise. * modules/wcwidth-tests (Files): Likewise. * tests/test-isfinite.c (isfinite): Ensure macro declaration. * tests/test-isinf.c (isinf): Likewise. * tests/test-isnan.c (isnan): Likewise. * tests/test-signbit.c (signbit): Likewise. * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure declaration, either as macro or with correct signature. (select): Ensure function under test is declared with correct signature in correct header. * tests/test-atexit.c (atexit): Likewise. * tests/test-btowc.c (btowc): Likewise. * tests/test-canonicalize-lgpl.c (realpath) (canonicalize_file_name): Likewise. * tests/test-ceilf1.c (ceilf): Likewise. * tests/test-ceill.c (ceill): Likewise. * tests/test-chown.c (chown): Likewise. * tests/test-dprintf-posix.c (dprintf): Likewise. * tests/test-dup2.c (dup2): Likewise. * tests/test-dup3.c (dup3): Likewise. * tests/test-duplocale.c (duplocale): Likewise. * tests/test-fchdir.c (fchdir): Likewise. * tests/test-fchownat.c (fchownat): Likewise. * tests/test-fcntl.c (fcntl): Likewise. * tests/test-fdopendir.c (fdopendir): Likewise. * tests/test-fflush.c (fflush): Likewise. * tests/test-flock.c (flock): Likewise. * tests/test-floorf1.c (floorf): Likewise. * tests/test-floorl.c (floorl): Likewise. * tests/test-fnmatch.c (fnmatch): Likewise. * tests/test-fopen.c (fopen): Likewise. * tests/test-fprintf-posix.c (fprintf): Likewise. * tests/test-freopen.c (freopen): Likewise. * tests/test-frexp.c (frexp): Likewise. * tests/test-frexpl.c (frexpl): Likewise. * tests/test-fseek.c (fseek): Likewise. * tests/test-fseeko.c (fseeko): Likewise. * tests/test-fstatat.c (fstatat): Likewise. * tests/test-fsync.c (fsync): Likewise. * tests/test-ftell.c (ftell): Likewise. * tests/test-ftello.c (ftello): Likewise. * tests/test-futimens.c (futimens): Likewise. * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo) (gai_strerror): Likewise. * tests/test-getcwd.c (getcwd): Likewise. * tests/test-getdelim.c (getdelim): Likewise. * tests/test-getdtablesize.c (getdtablesize): Likewise. * tests/test-getgroups.c (getgroups): Likewise. * tests/test-gethostname.c (gethostname): Likewise. * tests/test-getline.c (getline): Likewise. * tests/test-getopt.c (getopt, getopt_long, getopt_long_only): Likewise. * tests/test-gettimeofday.c (gettimeofday): Likewise. * tests/test-glob.c (glob, globfree): Likewise. * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise. * tests/test-inet_ntop.c (inet_ntop): Likewise. * tests/test-inet_pton.c (inet_pton): Likewise. * tests/test-isblank.c (isblank): Likewise. * tests/test-lchown.c (lchown): Likewise. * tests/test-ldexpl.c (ldexpl): Likewise. * tests/test-link.c (link): Likewise. * tests/test-linkat.c (linkat): Likewise. * tests/test-lseek.c (lseek): Likewise. * tests/test-lstat.c (lstat): Likewise. * tests/test-mbrtowc.c (mbrtowc): Likewise. * tests/test-mbsinit.c (mbsinit): Likewise. * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise. * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise. * tests/test-memchr.c (memchr): Likewise. * tests/test-memcmp.c (memcmp): Likewise. * tests/test-memmem.c (memmem): Likewise. * tests/test-memrchr.c (memrchr): Likewise. * tests/test-mkdir.c (mkdir): Likewise. * tests/test-mkdirat.c (mkdirat): Likewise. * tests/test-mkfifo.c (mkfifo): Likewise. * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise. * tests/test-mknod.c (mknod): Likewise. * tests/test-nanosleep.c (nanosleep): Likewise. * tests/test-nl_langinfo.c (nl_langinfo): Likewise. * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf): Likewise. * tests/test-open.c (open): Likewise. * tests/test-openat.c (openat): Likewise. * tests/test-perror.c (perror): Likewise. * tests/test-pipe2.c (pipe2): Likewise. * tests/test-poll.c (poll): Likewise. * tests/test-popen.c (popen, pclose): Likewise. * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init) (posix_spawnattr_destroy, posix_spawnattr_setsigmask) (posix_spawnattr_setflags, posix_spawn_file_actions_init) (posix_spawn_file_actions_destroy) (posix_spawn_file_actions_addclose) (posix_spawn_file_actions_addopen) (posix_spawn_file_actions_adddup2): Likewise. * tests/test-posix_spawn3.c (posix_spawn): Likewise. * tests/test-pread.c (pread): Likewise. * tests/test-printf-posix.c (printf): Likewise. * tests/test-pty.c (openpty, forkpty): Likewise. * tests/test-random_r.c (srandom_r, initstate_r, setstate_r) (random_r): Likewise. * tests/test-rawmemchr.c (rawmemchr): Likewise. * tests/test-readlink.c (readlink): Likewise. * tests/test-remove.c (remove): Likewise. * tests/test-rename.c (rename): Likewise. * tests/test-renameat.c (renameat): Likewise. * tests/test-rmdir.c (rmdir): Likewise. * tests/test-round1.c (round): Likewise. * tests/test-roundf1.c (roundf): Likewise. * tests/test-roundl.c (roundl): Likewise. * tests/test-setenv.c (setenv): Likewise. * tests/test-sigaction.c (sigaction): Likewise. * tests/test-sleep.c (sleep): Likewise. * tests/test-snprintf.c (snprintf): Likewise. * tests/test-sprintf-posix.c (sprintf): Likewise. * tests/test-stat.c (stat): Likewise. * tests/test-stpncpy.c (stpncpy): Likewise. * tests/test-strcasestr.c (strcasestr): Likewise. * tests/test-strchrnul.c (strchrnul): Likewise. * tests/test-strerror.c (strerror): Likewise. * tests/test-strsignal.c (strsignal): Likewise. * tests/test-strstr.c (strstr): Likewise. * tests/test-strtod.c (strtod): Likewise. * tests/test-strverscmp.c (strverscmp): Likewise. * tests/test-symlink.c (symlink): Likewise. * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise. * tests/test-times.c (times): Likewise. * tests/test-trunc1.c (trunc): Likewise. * tests/test-truncf1.c (truncf): Likewise. * tests/test-truncl.c (truncl): Likewise. * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk): Likewise. * tests/test-uname.c (uname): Likewise. * tests/test-unlink.c (unlink): Likewise. * tests/test-unlinkat.c (unlinkat): Likewise. * tests/test-unsetenv.c (unsetenv): Likewise. * tests/test-usleep.c (usleep): Likewise. * tests/test-utimensat.c (utimensat): Likewise. * tests/test-vasprintf.c (asprintf, vasprintf): Likewise. * tests/test-vdprintf-posix.c (vdprintf): Likewise. * tests/test-vfprintf-posix.c (vfprintf): Likewise. * tests/test-vprintf-posix.c (vprintf): Likewise. * tests/test-vsnprintf.c (vsnprintf): Likewise. * tests/test-vsprintf-posix.c (vsprintf): Likewise. * tests/test-wcrtomb.c (wcrtomb): Likewise. * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise. * tests/test-wcsrtombs.c (wcsrtombs): Likewise. * tests/test-wcwidth.c (wcwidth): Likewise. Signed-off-by: Eric Blake <ebb9@byu.net>
* test-utimens: avoid spurious failureEric Blake2009-12-211-0/+1
| | | | | | | | | | | | | | | | | | | | Fixes a spurious failure on ext3, with one-second resolution, now that ctime effects are being tested for inequality. * tests/test-chown.h (nap): Factor... * tests/nap.h: ...into new file. * tests/test-lchown.h (nap): Avoid duplication. * tests/test-utimens-common.h (nap): Use shared implementation, necessary on file systems with 1-second resolution. * modules/chown-tests (Files): Include new file. * modules/fdutimensat-tests (Files): Likewise. * modules/futimens-tests (Files): Likewise. * modules/lchown-tests (Files): Likewise. * modules/openat-tests (Files): Likewise. * modules/utimens-tests (Files): Likewise. * modules/utimensat-tests (Files): Likewise. Signed-off-by: Eric Blake <ebb9@byu.net>
* usleep: use it to simplify testsEric Blake2009-11-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | Blindly using usleep makes it easier to write tests. * modules/stat-time-tests (Depends-on): Add usleep. (configure.ac): Drop usleep check. * modules/chown-tests (Depends-on, configure.ac): Likewise. * modules/lchown-tests (Depends-on, configure.ac): Likewise. * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise. * modules/futimens-tests (Depends-on, configure.ac): Likewise. * modules/openat-tests (Depends-on, configure.ac): Likewise. * modules/utimens-tests (Depends-on, configure.ac): Likewise. * modules/utimensat-tests (Depends-on, configure.ac): Likewise. * modules/pipe-filter-gi-tests (Depends-on, configure.ac): Likewise. * tests/test-chown.h (nap): Rely on nicer usleep semantics. * tests/test-lchown.h (nap): Likewise. * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise. * tests/test-stat-time.c (nap): Likewise. * tests/test-utimens-common.h (nap): Update comments. Signed-off-by: Eric Blake <ebb9@byu.net>
* openat: detect Solaris fchownat bugEric Blake2009-11-141-2/+11
| | | | | | | | | | | | | | | | | | Solaris 9 fchownat(dir,"name/",uid,gid,flag) has same bugs as chown and lchown. * lib/fchownat.c (rpl_fchownat): Work around Solaris bug. Avoid penalizing glibc chownat when only lchownat is broken. * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are trailing slash bugs. * doc/posix-functions/fchownat.texi (fchownat): Document the bug. * modules/openat-tests (Files): Include more files. (Depends-on): Add mgetgroups, sleep, stat-time. (configure.ac): Add additional checks. (Makefile.am): Build new test. * tests/test-fchownat.c: New file. Signed-off-by: Eric Blake <ebb9@byu.net>
* mkdir, mkdirat: add testsEric Blake2009-10-071-2/+5
| | | | | | | | | | | | | This test exposes failures on cygwin 1.5 and in our mkdirat emulation. * 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. Signed-off-by: Eric Blake <ebb9@byu.net>
* symlink: use throughout gnulibEric Blake2009-09-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check. * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why symlink is not used. * modules/symlinkat (Depends-on): Add symlink. * modules/canonicalize-lgpl-tests (Depends-on): Likewise. * modules/canonicalize-tests (Depends-on): Likewise. * modules/lstat-tests (Depends-on): Likewise. * modules/openat-tests (Depends-on): Likewise. * modules/remove-tests (Depends-on): Likewise. * modules/rmdir-tests (Depends-on): Likewise. * modules/unlink-tests (Depends-on): Likewise. * tests/test-canonicalize-lgpl.c (symlink): Delete stub. * tests/test-canonicalize.c (symlink): Likewise. * tests/test-fstatat.c (symlink): Likewise. * tests/test-lstat.c (symlink): Likewise. * tests/test-remove.c (symlink): Likewise. * tests/test-rmdir.c (symlink): Likewise. * tests/test-unlink.c (symlink): Likewise. * tests/test-unlinkat.c (symlink): Likewise. Signed-off-by: Eric Blake <ebb9@byu.net>
* test-unlinkat: enhance test, to expose Solaris 9 bugEric Blake2009-09-191-0/+2
| | | | | | | | | | | | | | | | | | | Share the unlink tests with unlinkat. * tests/test-unlink.c (main): Factor guts... * tests/test-unlink.h (test_rmdir_func): ...into new file. * tests/test-rmdir.h (test_rmdir_func): Add parameter. * tests/test-rmdir.c (main): Adjust caller. * tests/test-unlinkat.c (main): Likewise. Add unlink tests. (unlinker): New helper function. (rmdirat): Enhance check. * modules/rmdir-tests (Depends-on): Add stdbool. * modules/unlink-tests (Depends-on): Likewise. (Files): Add test-unlink.h. * modules/openat-tests (Files): Likewise. (Depends-on): Add unlinkdir. Signed-off-by: Eric Blake <ebb9@byu.net>
* test-fstatat: new test, to expose Solaris 9 bugsEric Blake2009-09-191-2/+7
| | | | | | | | | | | | | | | | | | Share the stat and lstat tests with fstatat. * tests/test-stat.c (main): Factor guts... * tests/test-stat.h (test_stat_func): ...into new file. * tests/test-lstat.c (main): Factor guts... * tests/test-lstat.h (test_lstat_func): ...into new file. * tests/test-fstatat.c: New file. * modules/stat-tests (Files): Add test-stat.h. * modules/lstat-tests (Files): Add test-lstat.h. (Depends-on): Add stdbool. * modules/openat-tests (Depends-on): Add pathmax. (Files): Add test-lstat.h, test-stat.h, test-fstatat.c. (Makefile.am): Run new test. Signed-off-by: Eric Blake <ebb9@byu.net>
* openat: allow return of fd 0Eric Blake2009-09-191-2/+4
| | | | | | | | | | | | | | | | | | | | | | | Partially reverts patch fc33350 from 2009-09-02. * modules/chdir-long (Depends-on): Relax openat-safer to openat. * modules/save-cwd (Depends-on): Replace fcntl-safer with unistd-safer. * lib/chdir-long.c (includes): Replace "fcntl--.h" with <fcntl.h>; this module does not leak fds. * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat must be allowed to return 0, leaving openat_safer to add the safety. (openat_permissive): Avoid writing to just-opened fd 2 if restoring the current directory fails. * lib/openat-die.c (openat_restore_fail): Add comment. * lib/save-cwd.c (includes): Make "fcntl--.h" conditional. (save_cwd): Guarantee safe fd, but without use of open_safer. * tests/test-openat.c: New test. * modules/openat-tests (Files, Makefile.am): Distribute and build new file. Signed-off-by: Eric Blake <ebb9@byu.net>
* openat-tests: ensure unlinkat behaves like rmdirEric Blake2009-09-161-0/+13
* tests/test-rmdir.c (main): Factor guts... * tests/test-rmdir.h (test_rmdir_func): ...into new file. * modules/rmdir-tests (Files): Ship new file. * modules/openat-tests: New test. * tests/test-unlinkat.c: Likewise. Signed-off-by: Eric Blake <ebb9@byu.net>