glibc/stdio-common
Maciej W. Rozycki 7ec4d7e3d1 stdio-common: Add tests for formatted printf output specifiers
This is a collection of tests for formatted printf output specifiers
covering the d, i, o, u, x, and X integer conversions, the e, E, f, F,
g, and G floating-point conversions, the c character conversion, and the
s string conversion.  Also the hh, h, l, and ll length modifiers are
covered with the integer conversions as is the L length modifier with
the floating-point conversions.

The -, +, space, #, and 0 flags are iterated over, as permitted by the
conversion handled, in tuples of 1..5, including tuples with repetitions
of 2, and combined with field width and/or precision, again as permitted
by the conversion.  The resulting format string is then used to produce
output from respective sets of input data corresponding to the specific
conversion under test.  POSIX extensions beyond ISO C are not used.

Output is produced in the form of records which include both the format
string (and width and/or precision where given in the form of separate
arguments) and the conversion result, and is verified with GNU AWK using
the format obtained from each such record against the reference value
also supplied, relying on the fact that GNU AWK has its own independent
implementation of format processing, striving to be ISO C compatible.

In the course of implementation I have determined that in the non-bignum
mode GNU AWK uses system sprintf(3) for the floating-point conversions,
defeating the objective of doing the verification against an independent
implementation.  Additionally the bignum mode (using MPFR) is required
to correctly output wider integer and floating-point data.  Therefore
for the conversions affected the relevant shell scripts sanity-check AWK
and terminate with unsupported status if the bignum mode is unavailable
for floating-point data or where data is output incorrectly.

The f and F floating-point conversions are build-time options for GNU
AWK, depending on the environment, so they are probed for before being
used.  Similarly the a and A floating-point conversions, however they
are currently not used, see below.  Also GNU AWK does not handle the b
or B integer conversions at all at the moment, as at 5.3.0.  Support for
the a, A, b, and B conversions can however be easily added following the
approach taken for the f and F conversions.

Output produced by gawk for the a and A floating-point conversions does
not match one produced by us: insufficient precision is used where one
hasn't been explicitly given, e.g. for the negated maximum finite IEEE
754 64-bit value of -1.79769313486231570814527423731704357e+308 and "%a"
format we produce -0x1.fffffffffffffp+1023 vs gawk's -0x1.000000p+1024
and a different exponent is chosen otherwise, such as with "%.a" where
we output -0x2p+1023 vs gawk's -0x1p+1024 for the same value, or "%.20a"
where -0x1.fffffffffffff0000000p+1023 is our output, but gawk produces
-0xf.ffffffffffff80000000p+1020 instead.  Consequently I chose not to
include a and A conversions in testing at this time.

And last but not least there are numerous corner cases that GNU AWK does
not handle correctly, which are worked around by explicit handling in
the AWK script.  These are in particular:

- extraneous leading 0 produced for the alternative form with the o
  conversion, e.g. { printf "%#.2o", 1 } produces "001" rather than
  "01",

- unexpected 0 produced where no characters are expected for the input
  of 0 and the alternative form with the precision of 0 and the integer
  hexadecimal conversions, e.g. { printf "%#.x", 0 } produces "0" rather
  than "",

- missing + character in the non-bignum mode only for the input of 0
  with the + flag, precision of 0 and the signed integer conversions,
  e.g. { printf "%+.i", 0 } produces "" rather than "+",

- missing space character in the non-bignum mode only for the input of 0
  with the space flag, precision of 0 and the signed integer
  conversions, e.g. { printf "% .i", 0 } produces "" rather than " ",

- for released gawk versions of up to 4.2.1 missing - character for the
  input of -NaN with the floating-point conversions, e.g. { printf "%e",
  "-nan" }' produces "nan" rather than "-nan",

- for released gawk versions from 5.0.0 onwards + character output for
  the input of -NaN with the floating-point conversions, e.g. { printf
  "%e", "-nan" }' produces "+nan" rather than "-nan",

- for released gawk versions from 5.0.0 onwards + character output for
  the input of Inf or NaN in the absence of the + or space flags with
  the floating-point conversions, e.g. { printf "%e", "inf" }' produces
  "+inf" rather than "inf",

- for released gawk versions of up to 4.2.1 missing + character for the
  input of Inf or NaN with the + flag and the floating-point
  conversions, e.g. { printf "%+e", "inf" }' produces "inf" rather than
  "+inf",

- for released gawk versions of up to 4.2.1 missing space character for
  the input of Inf or NaN with the space flag and the floating-point
  conversions, e.g. { printf "% e", "nan" }' produces "nan" rather than
  " nan",

- for released gawk versions from 5.0.0 onwards + character output for
  the input of Inf or NaN with the space flag and the floating-point
  conversions, e.g. { printf "% e", "inf" }' produces "+inf" rather than
  " inf",

- for released gawk versions from 5.0.0 onwards the field width is
  ignored for the input of Inf or NaN and the floating-point
  conversions, e.g. { printf "%20e", "-inf" }' produces "-inf" rather
  than "                -inf",

NB for released gawk versions of up to 4.2.1 floating-point conversion
issues apply to the bignum mode only, as in the non-bignum mode system
sprintf(3) is used.  As from version 5.0.0 specialized handling has been
added for [-]Inf and [-]NaN inputs and the issues listed apply to both
modes.  The '--posix' flag makes gawk versions from 5.0.0 onwards avoid
the issue with field width and the + character unconditionally output
for the input of Inf or NaN, however not the remaining issues and then
the 'gensub' function is not supported in the POSIX mode, so to go this
path I deemed not worth it.

Each test completes within single seconds except for the long double
one.  There the F/f formats produce a large number of digits, which
appears to be computationally intensive and CPU-bound.  Standalone
execution time for 'tst-printf-format-p-ldouble --direct f' is in the
range of 00m36s for POWER9@2.166GHz and 09m52s for FU740@1.2GHz and
output redirected locally to /dev/null, and 10m11s for FU740 and output
redirected over 100Mbps network via SSH to /dev/null, so the throughput
of the network adds very little (~3.2% in this case) to the processing
time.  This is with IEEE 754 quad.

So I have scaled the timeout for 'tst-printf-format-skeleton-ldouble'
accordingly.  Regardless, following recent practice the test has been
added to the standard rather than extended set.  However, unlike most
of the remaining tests it has been split by the conversion specifier,
so as to allow better parallelization of this long-running test.  As
a side effect this lets the test report the unsupported status for the
F/f conversions where applicable, so 'tst-printf-format-p-double' has
been split for consistency as well.

Only printf itself is handled at the moment, but the infrastructure
provides for all the printf family functions to be verified, changes
for which to be supplied separately.  The complication around having
some tests iterating over all the relevant conversion specifiers and
other verifying conversion specifiers individually combined with
iterating over printf family functions has hit a peculiarity in GNU
make where the use of multiple targets with a pattern rule is handled
differently from such use with an ordinary rule.  Consequently it
seems impossible to bulk-define a pattern rule using '$(foreach ...)',
where each target would simply trigger the recipe according to the
pattern and matching dependencies individually (such a rule does work,
but implies all targets to be updated with a single recipe execution).

Therefore as a compromise a single single-target pattern rule has been
defined that has listed all the conversion-specific scripts and all the
test executables as dependencies.  Consequently tests will be rerun in
the absence of changes to their actual sources or scripts whenever an
unrelated file has changed that has been listed.  Also all the formatted
printf output tests will always be built whenever any single one is to
be run.  This only affects test development and not test runs in the
field, though it does change the order of execution of the individual
steps and also acts as a Makefile barrier in parallel runs.  As the
execution time dominates the compilation time for these tests it is not
seen as a serious shortcoming.

As pointed out by Florian Weimer <fweimer@redhat.com> the malloc tracing
facility can take a substantial amount of time in calling dladdr(3) to
determine the caller's location.  This is not needed by the verification
made with these tests, so I chose to interpose the symbol with a stub
implementation that always fails in the shared skeleton.  We have total
control over the test environment, so I think it is a safe and minimal
impact approach.  If there's ever anything else added to the tests that
would actually rely on dladdr(3) returning usable results, only then we
can think of a different approach.

Reviewed-by: DJ Delorie <dj@redhat.com>
2024-11-07 06:14:24 +00:00
..
bits Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
_i18n_number.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
_itoa.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
_itowa.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
_itowa.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
asprintf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
bug1.c
bug1.input
bug2.c
bug3.c tests: replace fread by xfread 2023-06-13 19:59:08 -04:00
bug4.c tests: replace fread by xfread 2023-06-13 19:59:08 -04:00
bug5.c tests: fix warn unused result on asprintf calls 2023-06-06 08:23:53 -04:00
bug6.c tests: fix warn unused results 2023-06-01 13:01:32 -04:00
bug6.input
bug7.c Avoid insecure usage of tmpnam in tests. 2018-07-18 21:04:12 +00:00
bug8.c
bug9.c
bug10.c
bug11.c
bug12.c tests: replace fread by xfread 2023-06-13 19:59:08 -04:00
bug13.c
bug14.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
bug16.c stdio-common: Use array_length and array_end macros 2017-11-02 12:45:20 +01:00
bug17.c
bug18.c
bug18a.c
bug19.c tests: fix warn unused results 2023-06-01 13:01:32 -04:00
bug19a.c
bug20.c
bug21.c Use C99-compliant scanf under _GNU_SOURCE with modern compilers. 2019-01-03 11:12:39 -05:00
bug22.c Remove most vfprintf width/precision-dependent allocations (bug 14231, bug 26211). 2020-07-07 14:54:12 +00:00
bug23.c
bug24.c
bug25.c Another round of inclusion fixes for _ISOMAC testsuite. 2017-03-22 08:44:32 -04:00
bug26.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
bug27.c stdio-common: Adjust tests in Makefile 2023-05-18 12:34:00 -04:00
bug28.c stdio-common: Adjust tests in Makefile 2023-05-18 12:34:00 -04:00
bug29.c stdio-common: Adjust tests in Makefile 2023-05-18 12:34:00 -04:00
bug-vfprintf-nargs.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
ctermid.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
cuserid.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
Depend
dprintf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
err_map.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
errlist-compat-data.h stdio: Remove the usage of $(fno-unit-at-a-time) for errlist.c 2022-05-13 10:54:41 -03:00
errlist-data-gen.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
errlist-data.S stdio: Remove the usage of $(fno-unit-at-a-time) for errlist.c 2022-05-13 10:54:41 -03:00
errlist.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
errname.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
errnobug.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
flockfile.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
fprintf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
fscanf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
ftrylockfile.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
funlockfile.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
fxprintf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
gentempfd.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
getline.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
getw.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
grouping_iterator.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
grouping_iterator.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
iovfscanf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
isoc23_fscanf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
isoc23_scanf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
isoc23_sscanf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
isoc23_vfscanf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
isoc23_vscanf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
isoc23_vsscanf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
isoc99_fscanf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
isoc99_scanf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
isoc99_sscanf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
isoc99_vfscanf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
isoc99_vscanf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
isoc99_vsscanf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
itoa-digits.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
itoa-udigits.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
itowa-digits.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
Makefile stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
perror.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
printf_buffer_as_file.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
printf_buffer_as_file.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
printf_buffer_done.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
printf_buffer_flush.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
printf_buffer_pad_1.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
printf_buffer_putc_1.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
printf_buffer_puts_1.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
printf_buffer_to_file.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
printf_buffer_to_file.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
printf_buffer_write.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
printf_buffer-char.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
printf_buffer-wchar_t.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
printf_fp.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
printf_fphex.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
printf_function_invoke.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
printf_size.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
printf-parse.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
printf-parsemb.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
printf-parsewc.c
printf-prs.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
printf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
printf.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
psiginfo-data.h Fix typos. 2013-10-12 14:47:50 +02:00
psiginfo-define.h
psiginfo.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
psignal.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
putw.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
reg-modifier.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
reg-printf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
reg-type.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
remove.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
rename.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
renameat2.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
renameat.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
scanf1.c
scanf2.c
scanf3.c
scanf4.c Split DIAG_* macros to new header libc-diag.h. 2017-02-25 09:59:46 -05:00
scanf5.c
scanf7.c Split DIAG_* macros to new header libc-diag.h. 2017-02-25 09:59:46 -05:00
scanf8.c
scanf9.c
scanf10.c
scanf11.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
scanf12.c
scanf12.input
scanf13.c Fix missing NUL terminator in stdio-common/scanf13 test 2022-10-28 11:16:51 +01:00
scanf14.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
scanf15.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
scanf16.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
scanf17.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
scanf18.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
scanf19.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
scanf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
siglist-gen.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
siglist.S stdio: Remove the usage of $(fno-unit-at-a-time) for siglist.c 2022-05-13 10:54:41 -03:00
snprintf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
sprintf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
sscanf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
stdio_ext.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tempnam.c posix: Sync tempname with gnulib 2024-04-10 14:53:39 -03:00
tempname.c posix: Sync tempname with gnulib 2024-04-10 14:53:39 -03:00
temptest.c
test_rdwr.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
test-fseek.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
test-fwrite.c tests: fix warn unused result on asprintf calls 2023-06-06 08:23:53 -04:00
test-popen.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
test-strerr.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
test-vfprintf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tfformat.c stdio-common: Add a few double formatting tests [BZ #27245] 2021-02-03 16:47:47 -03:00
tiformat.c
tllformat.c
tmpdir.c posix: Sync tempname with gnulib 2024-04-10 14:53:39 -03:00
tmpdir.h posix: Sync tempname with gnulib 2024-04-10 14:53:39 -03:00
tmpfile64.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tmpfile.c posix: Sync tempname with gnulib 2024-04-10 14:53:39 -03:00
tmpnam_r.c posix: Sync tempname with gnulib 2024-04-10 14:53:39 -03:00
tmpnam.c posix: Sync tempname with gnulib 2024-04-10 14:53:39 -03:00
translated_number_width.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-bz11319-fortify2.c Use PRINTF_FORTIFY instead of _IO_FLAGS2_FORTIFY (bug 11319) 2018-12-05 18:15:43 -02:00
tst-bz11319.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-cookie.c tests: replace fread by xfread 2023-06-13 19:59:08 -04:00
tst-dprintf-length.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-errno-manual.py Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-fdopen2.c stdio-common: Add new test for fdopen 2024-09-26 15:33:03 +02:00
tst-fdopen.c Avoid insecure usage of tmpnam in tests. 2018-07-18 21:04:12 +00:00
tst-ferror.c Modify several tests to use test-skeleton.c 2015-08-06 02:59:04 -04:00
tst-ferror.input
tst-fgets2.c fgets: more tests 2024-09-04 16:24:12 -04:00
tst-fgets.c Prefer https for Sourceware links 2017-11-16 11:49:26 +05:30
tst-fileno.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-fmemopen2.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-fmemopen3.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-fmemopen4.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-fmemopen.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-fphex-wide.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-fphex.c stdio-common: Use array_length and array_end macros 2017-11-02 12:45:20 +01:00
tst-fread.c Add tests of fread 2024-09-24 14:06:22 +00:00
tst-freopen2-main.c Fix freopen handling of ,ccs= (bug 23675) 2024-09-05 20:08:10 +00:00
tst-freopen2.c Add more thorough tests of freopen 2024-09-04 16:32:21 +00:00
tst-freopen3-main.c Fix memory leak on freopen error return (bug 32140) 2024-09-05 11:16:59 +00:00
tst-freopen3.c Add more thorough tests of freopen 2024-09-04 16:32:21 +00:00
tst-freopen4-main.c stdio-common: Fix memory leak in tst-freopen4* tests on UNSUPPORTED 2024-09-28 21:06:11 +02:00
tst-freopen4.c Add freopen special-case tests: chroot, EFBIG, stdin/stdout/stderr 2024-09-20 23:26:31 +00:00
tst-freopen5.c Add freopen special-case tests: chroot, EFBIG, stdin/stdout/stderr 2024-09-20 23:26:31 +00:00
tst-freopen6-main.c Add freopen special-case tests: chroot, EFBIG, stdin/stdout/stderr 2024-09-20 23:26:31 +00:00
tst-freopen6.c Add freopen special-case tests: chroot, EFBIG, stdin/stdout/stderr 2024-09-20 23:26:31 +00:00
tst-freopen7-main.c Add freopen special-case tests: thread cancellation 2024-10-07 19:44:25 +00:00
tst-freopen7.c Add freopen special-case tests: thread cancellation 2024-10-07 19:44:25 +00:00
tst-freopen64-2.c Add more thorough tests of freopen 2024-09-04 16:32:21 +00:00
tst-freopen64-3.c Add more thorough tests of freopen 2024-09-04 16:32:21 +00:00
tst-freopen64-4.c Add freopen special-case tests: chroot, EFBIG, stdin/stdout/stderr 2024-09-20 23:26:31 +00:00
tst-freopen64-6.c Add freopen special-case tests: chroot, EFBIG, stdin/stdout/stderr 2024-09-20 23:26:31 +00:00
tst-freopen64-7.c Add freopen special-case tests: thread cancellation 2024-10-07 19:44:25 +00:00
tst-fseek.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-fwrite-memstrm.c Add a new fwrite test for memory streams 2024-09-09 15:58:07 -03:00
tst-fwrite-overflow.c Add a new fwrite test that exercises buffer overflow 2024-09-30 15:57:12 -03:00
tst-fwrite-ro.c Add a new fwrite test for read-only streams 2024-09-09 14:32:20 -03:00
tst-fwrite.c Prefer https for Sourceware links 2017-11-16 11:49:26 +05:30
tst-getline-enomem.c Add more tests of getline 2024-08-21 19:58:14 +00:00
tst-getline.c Add more tests of getline 2024-08-21 19:58:14 +00:00
tst-gets.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-gets.input
tst-grouping2.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-grouping3.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-grouping_iterator.c localedata: Use consistent values for grouping and mon_grouping 2024-01-25 11:41:02 +01:00
tst-grouping.c
tst-long-dbl-fphex.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-memstream-string.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-obprintf.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-perror.c tests: replace ftruncate by xftruncate 2023-06-01 12:45:13 -04:00
tst-popen2.c
tst-popen3.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-popen.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-printf-binary-main.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-printf-binary.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-printf-bz18872.sh Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-printf-bz25691.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-printf-format-c.sh stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-char.sh stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-double.sh stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-int.sh stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-ldouble.sh stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-llong.sh stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-long.sh stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-p-c.c stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-p-char.c stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-p-double.c stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-p-int.c stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-p-ldouble.c stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-p-llong.c stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-p-long.c stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-p-s.c stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-p-short.c stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-p-uchar.c stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-p-uint.c stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-p-ullong.c stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-p-ulong.c stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-p-ushort.c stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-p.h stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-s.sh stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-short.sh stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-skeleton-c.c stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-skeleton-char.c stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-skeleton-double.c stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-skeleton-int.c stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-skeleton-ldouble.c stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-skeleton-llong.c stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-skeleton-long.c stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-skeleton-s.c stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-skeleton-short.c stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-skeleton-uchar.c stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-skeleton-uint.c stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-skeleton-ullong.c stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-skeleton-ulong.c stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-skeleton-ushort.c stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-skeleton.c stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-uchar.sh stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-uint.sh stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-ullong.sh stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-ulong.sh stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format-ushort.sh stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format.awk stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-format.sh stdio-common: Add tests for formatted printf output specifiers 2024-11-07 06:14:24 +00:00
tst-printf-fp-free.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-printf-fp-leak.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-printf-intn-main.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-printf-intn.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-printf-oct.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-printf-round.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-printf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-printf.sh Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-printfsz-islongdouble.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-printfsz-islongdouble.sh Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-printfsz.c Split DIAG_* macros to new header libc-diag.h. 2017-02-25 09:59:46 -05:00
tst-put-error.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-renameat2.c support: Use macros for *stat wrappers 2024-08-16 16:05:20 +02:00
tst-rndseek.c Don't reduce test timeout to less than default 2018-10-17 09:34:13 +02:00
tst-scanf-binary-c11.c Refer to C23 in place of C2X in glibc 2024-02-01 11:02:01 +00:00
tst-scanf-binary-c23.c Rename c2x / gnu2x tests to c23 / gnu23 2024-02-01 17:55:57 +00:00
tst-scanf-binary-gnu11.c Refer to C23 in place of C2X in glibc 2024-02-01 11:02:01 +00:00
tst-scanf-binary-gnu89.c Refer to C23 in place of C2X in glibc 2024-02-01 11:02:01 +00:00
tst-scanf-binary-main.c Refer to C23 in place of C2X in glibc 2024-02-01 11:02:01 +00:00
tst-scanf-bz27650.c stdio-common: Add test for vfscanf with matches longer than INT_MAX [BZ #27650] 2024-07-26 13:21:34 +01:00
tst-scanf-intn-main.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-scanf-intn.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-scanf-nan.c stdio-common: Fix scanf parsing for NaN types [BZ #30647] 2024-10-25 15:05:06 -03:00
tst-scanf-round.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-scanf-to_inpunct.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-setvbuf1.c
tst-setvbuf1.expect
tst-sprintf2.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-sprintf3.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-sprintf-errno.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-sprintf.c Split DIAG_* macros to new header libc-diag.h. 2017-02-25 09:59:46 -05:00
tst-sscanf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-swprintf.c stdio-common: Use array_length and array_end macros 2017-11-02 12:45:20 +01:00
tst-swscanf.c
tst-tmpnam.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-unbputc.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-unbputc.sh Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-ungetc-leak.c ungetc: Fix backup buffer leak on program exit [BZ #27821] 2024-08-15 13:56:13 -04:00
tst-ungetc.c ungetc: Fix uninitialized read when putting into unused streams [BZ #27821] 2024-08-15 13:55:07 -04:00
tst-unlockedio.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-vfprintf-mbs-prec.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-vfprintf-user-type.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-vfprintf-width-i18n.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-vfprintf-width-prec-alloc.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-vfprintf-width-prec.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-wc-printf.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tstdiomisc.c stdio-common: Use array_length and array_end macros 2017-11-02 12:45:20 +01:00
tstgetln.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tstgetln.input
tstscanf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tstscanf.input
Versions crypt: Remove libcrypt support 2023-10-30 13:03:59 -03:00
vfprintf-internal.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
vfprintf-process-arg.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
vfprintf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
vfscanf-internal.c stdio-common: Fix scanf parsing for NaN types [BZ #30647] 2024-10-25 15:05:06 -03:00
vfscanf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
vfwprintf-internal.c Add __v*printf_internal with flags arguments 2018-12-05 18:15:42 -02:00
vfwprintf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
vfwscanf-internal.c Add __vfscanf_internal and __vfwscanf_internal with flags arguments. 2018-12-05 18:15:42 -02:00
vfwscanf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
vprintf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
wprintf_buffer_as_file.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
wprintf_buffer_done.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
wprintf_buffer_flush.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
wprintf_buffer_pad_1.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
wprintf_buffer_putc_1.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
wprintf_buffer_puts_1.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
wprintf_buffer_to_file.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
wprintf_buffer_write.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
wprintf_function_invoke.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xbug.c Convert 703 function definitions to prototype style. 2015-10-16 20:21:49 +00:00
Xprintf_buffer_done.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
Xprintf_buffer_flush.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
Xprintf_buffer_pad_1.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
Xprintf_buffer_putc_1.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
Xprintf_buffer_puts_1.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
Xprintf_buffer_write.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
Xprintf_function_invoke.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00