mirror of
https://sourceware.org/git/glibc.git
synced 2026-10-28 10:25:13 +08:00
The b and B conversions were left out when the formatted printf output tests were added, because gawk does not handle them at all. Verification no longer goes through AWK, so cover them now. They follow the existing integer conversions, with the alternative form producing the 0b or 0B prefix for a nonzero value. Note that B was listed for neither the '#' and '0' flags nor precision, so add it to those lists next to b, as otherwise most of its records would never be produced. Tested on x86_64-linux-gnu, where all 576 results pass. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
39 lines
1.2 KiB
Bash
39 lines
1.2 KiB
Bash
#!/bin/bash
|
|
# Testing of unsigned int printf conversions.
|
|
# Copyright (C) 2024-2026 Free Software Foundation, Inc.
|
|
# This file is part of the GNU C Library.
|
|
|
|
# The GNU C Library is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU Lesser General Public
|
|
# License as published by the Free Software Foundation; either
|
|
# version 2.1 of the License, or (at your option) any later version.
|
|
|
|
# The GNU C Library is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
# Lesser General Public License for more details.
|
|
|
|
# You should have received a copy of the GNU Lesser General Public
|
|
# License along with the GNU C Library; if not, see
|
|
# <https://www.gnu.org/licenses/>.
|
|
|
|
set -e
|
|
|
|
xprintf=$1; shift
|
|
common_objpfx=$1; shift
|
|
test_program_prefix=$1; shift
|
|
|
|
status=0
|
|
|
|
for f in B b o u x X; do
|
|
echo Verifying $f
|
|
(set -o pipefail
|
|
${test_program_prefix} \
|
|
${common_objpfx}stdio-common/tst-printf-format-${xprintf}-uint $f |
|
|
${PYTHON:-python3} tst-printf-format.py 2>&1 |
|
|
head -n 1 | sed "s/^/Conversion $f output error, first line:\n/") 2>&1 ||
|
|
status=1
|
|
done
|
|
|
|
exit $status
|