From: Bruno Haible Date: Tue, 24 Dec 2024 15:48:26 +0000 (+0100) Subject: lang-python-*: Fix test failures on mingw with UCRT. X-Git-Tag: v0.23.1~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=efdfdd60f6c68042570dd6f37426cf5164ed79f8;p=thirdparty%2Fgettext.git lang-python-*: Fix test failures on mingw with UCRT. * gettext-tools/tests/lang-python-1: Disable ISO8859_LOCALE_UNSUPPORTED for Python 3. Set PYTHONIOENCODING environment variable. * gettext-tools/tests/lang-python-2: Likewise. --- diff --git a/gettext-tools/tests/lang-python-1 b/gettext-tools/tests/lang-python-1 index 9267a219d..ad72bc856 100755 --- a/gettext-tools/tests/lang-python-1 +++ b/gettext-tools/tests/lang-python-1 @@ -3,11 +3,6 @@ # Test of gettext facilities in the Python language. -# Note: This test fails with Python 2.3 ... 2.7 when an ISO-8859-1 locale is -# present. -# It looks like a bug in Python's gettext.py. This here is a quick workaround: -ISO8859_LOCALE_UNSUPPORTED=yes - cat <<\EOF > prog1.py import gettext @@ -69,6 +64,8 @@ if (python3 -V) >/dev/null 2>/dev/null; then else if (python -V) >/dev/null 2>/dev/null; then PYTHON=python + # Avoid a bug in Python's gettext.py with Python 2.3 ... 2.7. + ISO8859_LOCALE_UNSUPPORTED=yes else echo "Skipping test: python not found"; Exit 77 fi @@ -92,13 +89,13 @@ EOF : ${LOCALE_FR_UTF8=fr_FR.UTF-8} if test $LOCALE_FR_UTF8 != none; then prepare_locale_ fr $LOCALE_FR_UTF8 - LANGUAGE= LC_ALL=$LOCALE_FR_UTF8 $PYTHON prog1.py > prog.out || Exit 1 + LANGUAGE= LC_ALL=$LOCALE_FR_UTF8 PYTHONIOENCODING=UTF-8 $PYTHON prog1.py > prog.out || Exit 1 ${DIFF} prog.oku prog.out || Exit 1 fi if test -z "$ISO8859_LOCALE_UNSUPPORTED"; then if test $LOCALE_FR != none; then prepare_locale_ fr $LOCALE_FR - LANGUAGE= LC_ALL=$LOCALE_FR $PYTHON prog1.py > prog.out || Exit 1 + LANGUAGE= LC_ALL=$LOCALE_FR PYTHONIOENCODING=ISO-8859-1 $PYTHON prog1.py > prog.out || Exit 1 ${DIFF} prog.ok prog.out || Exit 1 fi if test $LOCALE_FR = none && test $LOCALE_FR_UTF8 = none; then diff --git a/gettext-tools/tests/lang-python-2 b/gettext-tools/tests/lang-python-2 index 44145da37..d33f5fe5c 100755 --- a/gettext-tools/tests/lang-python-2 +++ b/gettext-tools/tests/lang-python-2 @@ -4,11 +4,6 @@ # Test of gettext facilities (including plural handling) in the Python # language. -# Note: This test fails with Python 2.3 ... 2.7 when an ISO-8859-1 locale is -# present. -# It looks like a bug in Python's gettext.py. This here is a quick workaround: -ISO8859_LOCALE_UNSUPPORTED=yes - cat <<\EOF > prog2.py import sys import gettext @@ -88,6 +83,8 @@ if (python3 -V) >/dev/null 2>/dev/null; then else if (python -V) >/dev/null 2>/dev/null; then PYTHON=python + # Avoid a bug in Python's gettext.py with Python 2.3 ... 2.7. + ISO8859_LOCALE_UNSUPPORTED=yes else echo "Skipping test: python not found"; Exit 77 fi @@ -113,13 +110,13 @@ EOF : ${LOCALE_FR_UTF8=fr_FR.UTF-8} if test $LOCALE_FR_UTF8 != none; then prepare_locale_ fr $LOCALE_FR_UTF8 - LANGUAGE= LC_ALL=$LOCALE_FR_UTF8 $PYTHON prog2.py 2 > prog.out || Exit 1 + LANGUAGE= LC_ALL=$LOCALE_FR_UTF8 PYTHONIOENCODING=UTF-8 $PYTHON prog2.py 2 > prog.out || Exit 1 ${DIFF} prog.oku prog.out || Exit 1 fi if test -z "$ISO8859_LOCALE_UNSUPPORTED"; then if test $LOCALE_FR != none; then prepare_locale_ fr $LOCALE_FR - LANGUAGE= LC_ALL=$LOCALE_FR $PYTHON prog2.py 2 > prog.out || Exit 1 + LANGUAGE= LC_ALL=$LOCALE_FR PYTHONIOENCODING=ISO-8859-1 $PYTHON prog2.py 2 > prog.out || Exit 1 ${DIFF} prog.ok prog.out || Exit 1 fi if test $LOCALE_FR = none && test $LOCALE_FR_UTF8 = none; then