]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
tests: printf-mb.sh: fix false failure with french translations
authorPádraig Brady <P@draigBrady.com>
Mon, 11 Apr 2022 12:47:44 +0000 (13:47 +0100)
committerPádraig Brady <P@draigBrady.com>
Mon, 11 Apr 2022 14:46:57 +0000 (15:46 +0100)
* tests/misc/printf-mb.sh: As per commit 04148c99c,
adjust non C warnings before comparison, to those of LC_MESSAGES=C.
Reported by Adam Sampson

tests/misc/printf-mb.sh

index 69ed3dfe845f26475113bc7d13591eff1a007019..f2f32c8a755dcc618b1cbf22792f2224721efada 100755 (executable)
@@ -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