From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Wed, 31 Mar 2021 11:52:31 +0000 (-0700) Subject: bpo-37945: Fix test_locale.test_getsetlocale_issue1813() (GH-25110) (GH-25113) X-Git-Tag: v3.8.9~4 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e143eea4b56ac7ae611e5bcc41eedbc572aa41c3;p=thirdparty%2FPython%2Fcpython.git bpo-37945: Fix test_locale.test_getsetlocale_issue1813() (GH-25110) (GH-25113) Skip the test if setlocale() fails. (cherry picked from commit f3ab670fea75ebe177e3412a5ebe39263cd428e3) Co-authored-by: Victor Stinner --- diff --git a/Lib/test/test_locale.py b/Lib/test/test_locale.py index c5d8e269d631..39091c04f494 100644 --- a/Lib/test/test_locale.py +++ b/Lib/test/test_locale.py @@ -564,7 +564,13 @@ class TestMiscellaneous(unittest.TestCase): loc = locale.getlocale(locale.LC_CTYPE) if verbose: print('testing with %a' % (loc,), end=' ', flush=True) - locale.setlocale(locale.LC_CTYPE, loc) + try: + locale.setlocale(locale.LC_CTYPE, loc) + except locale.Error as exc: + # bpo-37945: setlocale(LC_CTYPE) fails with getlocale(LC_CTYPE) + # and the tr_TR locale on Windows. getlocale() builds a locale + # which is not recognize by setlocale(). + self.skipTest(f"setlocale(LC_CTYPE, {loc!r}) failed: {exc!r}") self.assertEqual(loc, locale.getlocale(locale.LC_CTYPE)) def test_invalid_locale_format_in_localetuple(self): diff --git a/Misc/NEWS.d/next/Tests/2021-03-31-11-38-42.bpo-37945.HTUYhv.rst b/Misc/NEWS.d/next/Tests/2021-03-31-11-38-42.bpo-37945.HTUYhv.rst new file mode 100644 index 000000000000..e1c95f63bf7c --- /dev/null +++ b/Misc/NEWS.d/next/Tests/2021-03-31-11-38-42.bpo-37945.HTUYhv.rst @@ -0,0 +1,2 @@ +Fix test_getsetlocale_issue1813() of test_locale: skip the test if +``setlocale()`` fails. Patch by Victor Stinner.