]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-37945: Fix test_locale.test_getsetlocale_issue1813() (#25110)
authorVictor Stinner <vstinner@python.org>
Wed, 31 Mar 2021 11:01:46 +0000 (13:01 +0200)
committerGitHub <noreply@github.com>
Wed, 31 Mar 2021 11:01:46 +0000 (13:01 +0200)
Skip the test if setlocale() fails.

Lib/test/test_locale.py
Misc/NEWS.d/next/Tests/2021-03-31-11-38-42.bpo-37945.HTUYhv.rst [new file with mode: 0644]

index bd08c4f3007fc7f5297326a113231d5267acb573..4bb4c5541d077dac224c26d83628493ec706ca84 100644 (file)
@@ -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 (file)
index 0000000..e1c95f6
--- /dev/null
@@ -0,0 +1,2 @@
+Fix test_getsetlocale_issue1813() of test_locale: skip the test if
+``setlocale()`` fails. Patch by Victor Stinner.