From 2dafb4c0616d1a12917e35278fb9a2f74461d5f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A1draig=20Brady?=
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 <