add upstream patch to fix tests/misc/printf-mb.sh

This commit is contained in:
Kamil Dudka 2022-04-11 15:42:29 +02:00
parent 5bf61ea697
commit 3483a527ec
2 changed files with 57 additions and 0 deletions

View File

@ -13,6 +13,8 @@ Source106: coreutils-colorls.csh
# do not make coreutils-single depend on /usr/bin/coreutils
%global __requires_exclude ^%{_bindir}/coreutils$
Patch0: printf-mb-fr-test.patch
# disable the test-lock gnulib test prone to deadlock
Patch100: coreutils-8.26-test-lock.patch

55
printf-mb-fr-test.patch Normal file
View File

@ -0,0 +1,55 @@
From 2dafb4c0616d1a12917e35278fb9a2f74461d5f7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?P=C3=A1draig=20Brady?= <P@draigBrady.com>
Date: Mon, 11 Apr 2022 13:47:44 +0100
Subject: [PATCH] tests: printf-mb.sh: fix false failure with french
translations
* tests/misc/printf-mb.sh: As per commit 04148c99c,
adjust non C warnings to those of LC_MESSAGES=C before comparison.
Reported by Adam Sampson
---
tests/misc/printf-mb.sh | 18 +++++++++++++-----
1 file changed, 13 insertions(+), 5 deletions(-)
diff --git a/tests/misc/printf-mb.sh b/tests/misc/printf-mb.sh
index 69ed3dfe8..f2f32c8a7 100755
--- a/tests/misc/printf-mb.sh
+++ b/tests/misc/printf-mb.sh
@@ -33,9 +33,9 @@ if test "$LOCALE_FR_UTF8" != "none"; then
#uni-byte
LC_ALL=C $prog '%04x\n' "'$($prog '\xe1')" >>out 2>>err
#valid multi-byte, with trailing
- LC_ALL=$f $prog '%04x\n' '"á"' >>out 2>>err
+ LC_ALL=$f $prog '%04x\n' '"á=' >>out 2>>err
#invalid multi-byte, with trailing
- LC_ALL=$f $prog '%04x\n' "'$($prog '\xe1')'" >>out 2>>err
+ LC_ALL=$f $prog '%04x\n' "'$($prog '\xe1')=" >>out 2>>err
)
cat <<\EOF > exp || framework_failure_
00e1
@@ -46,11 +46,19 @@ if test "$LOCALE_FR_UTF8" != "none"; then
EOF
compare exp out || fail=1
+ # Disparate LC_CTYPE and LC_MESSAGES problematic on macos,
+ # so just look for character in warning message,
+ # and normalize to LC_MESSAGES=C
+ C_WARNING='printf: '\
+'warning: =: character(s) following character constant have been ignored'
+
+ sed "s/printf:.*=.*/$C_WARNING/" < err > c_err || framework_failure_
+
cat <<EOF > exp_err
-printf: warning: ": character(s) following character constant have been ignored
-printf: warning: ': character(s) following character constant have been ignored
+$C_WARNING
+$C_WARNING
EOF
- compare exp_err err || fail=1
+ compare exp_err c_err || fail=1
fi
Exit $fail
--
2.26.2