summaryrefslogtreecommitdiff
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
...
* strtol, strtoll, strtoul, strtoull: Make ISO C 23 compliant.Bruno Haible2023-03-164-0/+248
| | | | | | | | | | | | | | | | | | | | * lib/strtol.c (INTERNAL (strtol)): Treat 'b' and base 2 like 'x' and base 16. Based on glibc commit 64924422a99690d147a166b4de3103f3bf3eaf6c by Joseph Myers. * m4/strtol.m4 (gl_FUNC_STRTOL): Test also whether parsing binary integers works. Update cross-compilation guesses. * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise. * m4/strtoul.m4 (gl_FUNC_STRTOUL): Likewise. * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise. * tests/test-strtol.c (main): Add tests of parsing binary integers. * tests/test-strtoll.c (main): Likewise. * tests/test-strtoul.c (main): Likewise. * tests/test-strtoull.c (main): Likewise. * doc/posix-functions/strtol.texi: Mention the problem with parsing binary integers. * doc/posix-functions/strtoll.texi: Likewise. * doc/posix-functions/strtoul.texi: Likewise. * doc/posix-functions/strtoull.texi: Likewise.
* stddef: Define 'unreachable', for ISO C 23 compliance.Bruno Haible2023-03-161-0/+24
| | | | | | | | | | | | * lib/verify.h (_GL_HAS_BUILTIN_UNREACHABLE): Don't define if already defined. * lib/stddef.in.h (_GL_HAS_BUILTIN_UNREACHABLE, unreachable): New macros. (abort): Declare if needed for unreachable. * m4/stddef_h.m4 (gl_STDDEF_H): Test for unreachable. * tests/test-stddef.c (test_unreachable_optimization, test_unreachable_noreturn): New functions, based on tests/test-verify.c. * doc/posix-headers/stddef.texi: Mention unreachable.
* gettimeofday, timespec_get tests: Avoid test failure on glibc/Linux.Bruno Haible2023-03-082-2/+4
| | | | | | | * modules/gettimeofday-tests (Depends-on): Add 'time'. * modules/timespec_get-tests (Depends-on): Likewise. * tests/test-gettimeofday.c (test_consistency): Update comment. * tests/test-timespec_get.c (main): Likewise.
* time: Add tests.Bruno Haible2023-03-081-0/+49
| | | | | * tests/test-time.c: New file. * modules/time-tests: New file.
* time: New module.Bruno Haible2023-03-081-0/+4
| | | | | | | | | | | | | | * lib/time.in.h (time): New declaration. * lib/time.c: New file. * m4/time_h.m4 (gl_TIME_H_REQUIRE_DEFAULTS): Initialize GNULIB_TIME. (gl_TIME_H_DEFAULTS): Initialize REPLACE_TIME. * m4/time.m4: New file. * modules/time-h (Makefile.am): Substitute GNULIB_TIME, REPLACE_TIME. * modules/time: New file. * tests/test-time-h-c++.cc: Check the signature of GNULIB_NAMESPACE::time. * doc/posix-functions/time.texi: Mention the glibc problem and the 'time' module.
* time-h: Renamed from time.Bruno Haible2023-03-083-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * modules/time-h: Renamed from modules/time. * tests/test-time-h.c: Renamed from tests/test-time.c. * modules/time-h-tests: Renamed from modules/time-tests. Update. * tests/test-time-h-c++.cc: Renamed from tests/test-time-c++.cc. * tests/test-time-h-c++2.cc: Renamed from tests/test-time-c++2.cc. * modules/time-h-c++-tests: Renamed from modules/time-c++-tests. Update. * modules/cond (Depends-on): Update. * modules/ctime (Depends-on): Likewise. * modules/localtime (Depends-on): Likewise. * modules/mktime (Depends-on): Likewise. * modules/nanosleep (Depends-on): Likewise. * modules/parse-datetime (Depends-on): Likewise. * modules/posixcheck (Depends-on): Likewise. * modules/pthread-h (Depends-on): Likewise. * modules/stat-time (Depends-on): Likewise. * modules/stat-time-tests (Depends-on): Likewise. * modules/strftime-fixes (Depends-on): Likewise. * modules/strptime (Depends-on): Likewise. * modules/sys_stat (Depends-on): Likewise. * modules/tempname (Depends-on): Likewise. * modules/threads-h (Depends-on): Likewise. * modules/time_r (Depends-on): Likewise. * modules/time_rz (Depends-on): Likewise. * modules/timegm (Depends-on): Likewise. * modules/timespec (Depends-on): Likewise. * modules/timespec_get (Depends-on): Likewise. * modules/timespec_getres (Depends-on): Likewise. * modules/tzset (Depends-on): Likewise. * modules/usleep-tests (Depends-on): Likewise. * modules/utime (Depends-on): Likewise. * modules/utimecmp (Depends-on): Likewise. * modules/utimens (Depends-on): Likewise. * modules/windows-cond (Depends-on): Likewise. * modules/windows-timedmutex (Depends-on): Likewise. * modules/windows-timedrecmutex (Depends-on): Likewise. * modules/windows-timedrwlock (Depends-on): Likewise. * modules/xnanosleep (Depends-on): Likewise. * doc/posix-headers/time.texi: Update. * NEWS: Mention the change.
* gettimeofday tests: Enhance test.Bruno Haible2023-03-081-4/+44
| | | | | | | | * tests/test-gettimeofday.c: Include <stdlib.h> and macros.h. (test_clobber): New function, extracted from main. (test_consistency): New function, based on tests/test-timespec_get.c. (main): Invoke both functions. * modules/gettimeofday-tests (Files): Add macros.h.
* timespec_get tests: Add comment.Bruno Haible2023-03-051-0/+2
| | | | * tests/test-timespec_get.c: Add a comment regarding a glibc bug.
* nl_langinfo tests: Avoid test failure on Solaris 11.Bruno Haible2023-03-021-2/+2
| | | | | * tests/test-nl_langinfo2.c (main): Skip French T_FMT_AMPM test on Solaris.
* unilbrk tests: Fix compilation failures (regression 2023-02-11).Bruno Haible2023-02-188-8/+24
| | | | | | | | | | | | * tests/unilbrk/test-u8-possible-linebreaks.c (main): Outside of libunistring, don't test the backward compatibility function. * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise. * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise. * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise. * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise. * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise. * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise. * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
* chown, lchown, fchownat tests: Avoid test failure on macOS 12.Bruno Haible2023-02-102-7/+18
| | | | | | * tests/test-chown.h (test_chown): Skip some assertions if getgid() == (gid_t)-1. * tests/test-lchown.h (test_lchown): Likewise.
* nl_langinfo tests: Add another test.Bruno Haible2023-02-082-0/+148
| | | | | | | | | | | * tests/test-nl_langinfo2.c: New file. * tests/test-nl_langinfo2.sh: New file. * modules/nl_langinfo-tests (Files): Add them. Add intl-thread-locale.m4. (Depends-on): Add c-strcasestr, stdbool. (configure.ac): Invoke gt_FUNC_USELOCALE. (Makefile.am): Arrange to compile test-nl_langinfo2 and test it through test-nl_langinfo2.sh.
* nl_langinfo tests: Prepare for adding more tests.Bruno Haible2023-02-082-3/+3
| | | | | | | * tests/test-nl_langinfo1.c: Renamed from tests/test-nl_langinfo.c. * tests/test-nl_langinfo1.sh: Renamed from tests/test-nl_langinfo.sh. Update. * modules/nl_langinfo-tests (Files, Makefile.am): Update.
* setlocale-null: Don't use a lock in Cygwin >= 3.4.6.Bruno Haible2023-02-061-1/+1
| | | | | | | | | Road paved by Corinna Vinschen <vinschen@redhat.com>. * m4/setlocale_null.m4 (gl_FUNC_SETLOCALE_NULL): Assume that setlocale (LC_ALL, NULL) is multithread-safe in Cygwin >= 3.4.6. * lib/setlocale_null.c: Update comments. * tests/test-setlocale_null-mt-all.c: Likewise.
* c-nullptr: Add tests.Bruno Haible2023-02-062-0/+126
| | | | | | | * tests/test-nullptr.c: New file. * modules/c-nullptr-tests: New file. * tests/test-nullptr-c++.cc: New file. * modules/c-nullptr-c++-tests: New file.
* assert-h, verify: Fix compilation error in C++ mode with MSVC 14.Bruno Haible2023-02-052-0/+7
| | | | | | * lib/verify.h (static_assert): Define _ALLOW_KEYWORD_MACROS. * tests/test-assert-h-c++.cc: Strengthen test. * tests/test-assert-h-c++2.cc: Likewise.
* assert-h, verify: Fix conflict with standard C++ header files on macOS.Bruno Haible2023-02-042-0/+8
| | | | | | | | * lib/verify.h (_Static_assert): Don't redefine with clang ≥ 3.8.0 in C++ mode. * tests/test-assert-h-c++.cc: Also check against conflict with the standard C++ header files. * tests/test-assert-h-c++2.cc: Likewise.
* unistdio/*printf: Fix negative width handling for %U, %lU, %llU.Bruno Haible2023-01-284-0/+1218
| | | | | | | | | | * lib/vasnprintf.c (VASNPRINTF): In the code for %U, %lU, %llU, test for the FLAG_LEFT bit in the flags variable. * tests/unistdio/test-u8-printf1.h (test_xfunction): Add tests for width given as argument for the directives %U, %lU, %llU, %s, %a, %f, %e, %g. * tests/unistdio/test-u16-printf1.h (test_xfunction): Likewise. * tests/unistdio/test-u32-printf1.h (test_xfunction): Likewise. * tests/unistdio/test-ulc-printf1.h (test_xfunction): Likewise.
* vasnprintf-posix: Fix possible bug with negative width handling for %lc.Bruno Haible2023-01-282-0/+2
| | | | | | | | | | | | | | * lib/vasnprintf.c (VASNPRINTF): In the code for %lc in vasnprintf, test for the FLAG_LEFT bit in the flags variable. * tests/test-vasnprintf-posix.c (test_function): Add tests for width given as argument for the directives %c, %lc. * tests/test-vasprintf-posix.c (test_function): Likewise. * tests/test-snprintf-posix.h (test_function): Likewise. * tests/test-sprintf-posix.h (test_function): Likewise. * tests/test-snprintf-posix.c: Include <wchar.h>, for wint_t. * tests/test-sprintf-posix.c: Likewise. * tests/test-vsnprintf-posix.c: Likewise. * tests/test-vsprintf-posix.c: Likewise.
* vasnprintf-posix: Fix possible bug with negative width handling for %lc.Bruno Haible2023-01-286-0/+308
| | | | | | | | | | | | * lib/vasnprintf.c (VASNPRINTF): In the code for %lc in vasnprintf, test for the FLAG_LEFT bit in the flags variable. * tests/test-vasnprintf-posix.c (test_function): Add tests for width given as argument for the directives %c, %lc. * tests/test-vasprintf-posix.c (test_function): Likewise. * tests/test-snprintf-posix.h (test_function): Likewise. * tests/test-sprintf-posix.h (test_function): Likewise. * tests/test-snprintf-posix.c: Include <wchar.h>, for wint_t. * tests/test-sprintf-posix.c: Likewise.
* vasnprintf-posix: Fix negative width handling for %ls directive.Bruno Haible2023-01-284-0/+288
| | | | | | | | | | | | Reported by clang via Po Lu <luangruo@yahoo.com>. * lib/vasnprintf.c (VASNPRINTF): In the code for %ls in vasnprintf and for %s in vasnwprintf, test for the FLAG_LEFT bit in the flags variable. * tests/test-vasnprintf-posix.c (test_function): Add tests for width given as argument for the directives %s, %ls. * tests/test-vasprintf-posix.c (test_function): Likewise. * tests/test-snprintf-posix.h (test_function): Likewise. * tests/test-sprintf-posix.h (test_function): Likewise.
* vasnprintf-posix: Add more unit tests.Bruno Haible2023-01-284-0/+608
| | | | | | | | * tests/test-vasnprintf-posix.c (test_function): Add tests for width given as argument for the directives %a, %f, %e, %g. * tests/test-vasprintf-posix.c (test_function): Likewise. * tests/test-snprintf-posix.h (test_function): Likewise. * tests/test-sprintf-posix.h (test_function): Likewise.
* login_tty: Ensure declaration in <utmp.h>.Bruno Haible2023-01-213-1/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * tests/test-utmp-c++.cc: New file. * modules/utmp-c++-tests: New file. * tests/test-utmp.c: New file. * modules/utmp-tests: New file. * lib/login_tty.c: Include <utmp.h>. * m4/login_tty.m4: New file. (gl_FUNC_LOGIN_TTY): Moved here from m4/pty.m4. Set HAVE_LOGIN_TTY. * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Moved to m4/login_tty.m4. * modules/login_tty (Files): Add m4/login_tty.m4. (Depends-on): Add utmp. Remove pty. Update condition. (configure.ac): Update condition. Invoke gl_UTMP_MODULE_INDICATOR instead of gl_PTY_MODULE_INDICATOR. (Include): List <utmp.h>. * doc/glibc-functions/login_tty.texi: Mark the include file diversity as fixed. * tests/test-login_tty.c: Include <utmp.h>. Don't declare login_tty here. * lib/utmp.in.h: New file. * m4/utmp_h.m4: New file. * modules/utmp: New file. * doc/glibc-headers/utmp.texi: New file. * doc/gnulib.texi (Glibc Header File Substitutes): Include it.
* alignasof tests: Rename test file.Bruno Haible2023-01-211-1/+1
| | | | | * tests/test-alignasof.c: Renamed from tests/test-stdalign.c. * modules/alignasof-tests (Files, Makefile.am): Update accordingly.
* alignasof tests: Fix GCC warning (regression 2023-01-15).Bruno Haible2023-01-211-0/+1
| | | | * tests/test-stdalign.c (alignas): Undefine before redefine.
* getprogname: Move declaration from "getprogname.h" to <stdlib.h>.Bruno Haible2023-01-211-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | * lib/stdlib.in.h (getprogname): New declaration. * lib/getprogname.h: Add deprecation warning. (getprogname): Remove declaration. * lib/getprogname.c: Include <stdlib.h> instead of getprogname.h. * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether getprogname is declared. (gl_STDLIB_H_REQUIRE_DEFAULTS): Initialize GNULIB_GETPROGNAME. (gl_STDLIB_H_DEFAULTS): Initialize HAVE_GETPROGNAME. * m4/getprogname.m4 (gl_PREREQ_GETPROGNAME): New macro, extracted from gl_FUNC_GETPROGNAME. Set HAVE_GETPROGNAME. (gl_FUNC_GETPROGNAME): Remove code that was moved to gl_PREREQ_GETPROGNAME. * modules/stdlib (Makefile.am): Substitute GNULIB_GETPROGNAME and HAVE_GETPROGNAME. * modules/getprogname (Depends-on): Add stdlib. (configure.ac): Define a module indicator. Invoke gl_PREREQ_GETPROGNAME. (Makefile.am): Don't compile getprogname.c if not needed. (Include): List <stdlib.h> instead of getprogname.h. * tests/test-getprogname.c: Include <stdlib.h> instead of getprogname.h. * NEWS: Mention the change. * lib/argmatch.c: Don't include getprogname.h. * lib/c-stack.c: Likewise. * lib/error.c: Likewise. * lib/git-merge-changelog.c: Likewise.
* execute tests: Avoid test failure with GNU make 4.4.Bruno Haible2023-01-171-6/+5
| | | | | | | | Reported by Eric Blake in <https://lists.gnu.org/archive/html/bug-gnulib/2023-01/msg00157.html>. * tests/test-execute-main.c (main): Reset the SIGPIPE handler to default on all platforms.
* execute tests: Avoid test failure on Android.Bruno Haible2023-01-171-0/+12
| | | | | * tests/test-execute-main.c (main): Reset the SIGPIPE handler to default.
* hard-locale: Port to Android ≥ 5.0.Bruno Haible2023-01-171-5/+13
| | | | | | | | * lib/hard-locale.c: Include <stdlib.h>. (hard_locale): On Android, consider also MB_CUR_MAX, even if the locale's name is "C". * tests/test-hard-locale.c (test_one, main): Assume that on Android, even the "C" locale is hard.
* stddef tests: Fix compilation error (regression 2023-01-15).Bruno Haible2023-01-161-1/+0
| | | | * tests/test-stddef.c: Don't include <stdalign.h>.
* mbrtowc, mbrtoc32 tests: Avoid test failure on Android ≥ 5.0.Bruno Haible2023-01-162-0/+20
| | | | | | | * tests/test-mbrtowc.c (main): On Android 5.0 or newer, when testing the "C" locale, verify that the encoding is UTF-8. * tests/test-mbrtoc32.c (main): Likewise. * doc/posix-functions/setlocale.texi: Mention the Android problems.
* mbrtowc, mbrtoc32 tests: Refactor.Bruno Haible2023-01-162-32/+76
| | | | | * tests/test-mbrtowc.c (main): Straighten convoluted code. * tests/test-mbrtoc32.c (main): Likewise.
* Use ‘head -n1’ rather than ‘head -1’Paul Eggert2023-01-162-4/+4
| | | | POSIX no longer requires support for ‘head -1’.
* test-framework-sh: work around AIX 7.2 diff bugsPaul Eggert2023-01-141-3/+4
| | | | | | | * tests/init.sh (compare_dev_null_): Run diff in the C locale. AIX 7.2 diff messes up in UTF-8 locales; for example, ‘printf '\360\220\200\200\n' | diff - /dev/null’ incorrectly outputs nothing and exits with status 0 when LC_ALL=en_US.UTF-8.
* login_tty tests: Be more verbose when the test fails.Bruno Haible2023-01-131-4/+31
| | | | | * tests/test-login_tty.c (main): When the test fails, write a message into a file.
* error, verror tests: Add clarification.Bruno Haible2023-01-122-0/+8
| | | | | | | * tests/test-error.c (main): Clarify why we don't test error_at_line with a NULL filename. * tests/test-verror.c (main): Clarify why we don't test verror_at_line with a NULL filename.
* verror: Add tests.Bruno Haible2023-01-122-0/+163
| | | | | | * tests/test-verror.sh: New file, based on tests/test-error.sh. * tests/test-verror.c: New file, based on tests/test-error.c. * modules/verror-tests: New file.
* error: Add tests.Bruno Haible2023-01-122-0/+120
| | | | | | * tests/test-error.sh: New file. * tests/test-error.c: New file. * modules/error-tests: New file.
* spawn-pipe tests: Fix test failure on Android.Bruno Haible2023-01-111-3/+3
| | | | | * tests/test-spawn-pipe-child.c (main): Skip the is_open (STDERR_FILENO) check on Android.
* posix_spawn_file_actions_addfchdir tests: Fix test failure on Android.Bruno Haible2023-01-111-7/+25
| | | | | | | | | * tests/test-posix_spawn-fchdir.c: Include xvasprintf.h. (test): On Android, use "/proc" instead of "/". (main): Determine the relative location of the 'pwd' program accordingly. * modules/posix_spawn_file_actions_addfchdir-tests (Depends-on): Add xvasprintf.
* rename, renameat, renameatu: Fix test failures on Android/Termux.Bruno Haible2023-01-111-1/+6
| | | | | * tests/test-rename.h (test_rename): On Android, treat an EACCES failure like EPERM.
* link, linkat tests: Fix test failures on Android/Termux.Bruno Haible2023-01-112-1/+11
| | | | | | | * tests/test-link.h (test_link): On Android, treat an EACCES failure like EPERM. * tests/test-linkat.c (main): When test_link is marked skipped, skip the rest of the test as well.
* link tests: Correct indentation.Bruno Haible2023-01-111-10/+10
| | | | * tests/test-link.h (test_link): Correct indentation.
* update-copyright: also work with two or more updatable lines in a fileJim Meyering2023-01-101-0/+8
| | | | | | * build-aux/update-copyright: Replace every occurrence of the copyright line, not just the first one. * tests/test-update-copyright.sh: Add a test case for this.
* Fix some test failures on Android ≥ 11.Bruno Haible2023-01-109-1/+22
| | | | | | | | | | | | | * tests/test-fclose.c (main): On Android, avoid triggering the file-descriptor sanitizer (fdsan). * tests/test-fdopen.c (main): Likewise. * tests/test-fflush.c (main): Likewise. * tests/test-fgetc.c (main): Likewise. * tests/test-fputc.c (main): Likewise. * tests/test-fread.c (main): Likewise. * tests/test-fseeko4.c (main): Likewise. * tests/test-ftello4.c (main): Likewise. * tests/test-fwrite.c (main): Likewise.
* memset_explicit tests: Fix signature check.Bruno Haible2023-01-101-1/+1
| | | | * tests/test-memset_explicit.c: Fix return type in signature check.
* setlocale-null: Rename LIB_SETLOCALE_NULL to SETLOCALE_NULL_LIB.Bruno Haible2023-01-071-1/+1
| | | | | | * m4/setlocale_null.m4: Rename LIB_SETLOCALE_NULL to SETLOCALE_NULL_LIB. All uses changed. * NEWS: Mention the change
* maint: run 'make update-copyright'Simon Josefsson2023-01-011372-1372/+1372
|
* doc: C2x → C23Paul Eggert2022-12-241-2/+2
|
* posix_spawnp-tests: fix filename typoPaul Eggert2022-12-221-1/+1
| | | | | | | | Problem reported for GNU m4 by Mitchell Dorrell in: https://lists.gnu.org/r/bug-m4/2022-12/msg00000.html * tests/test-posix_spawnp-script.c (DATA_FILENAME): Fix typo in file name that caused race with test-posix_spawn-script.c.