gh-53203: Improve tests for strptime() (GH-125090)

Run them with different locales and different date and time.

Add the @run_with_locales() decorator to run the test with multiple
locales.

Improve the run_with_locale() context manager/decorator -- it now
catches only expected exceptions and reports the test as skipped if no
appropriate locale is available.
This commit is contained in:
Serhiy Storchaka 2024-10-08 11:40:02 +03:00 committed by GitHub
parent 7c4b6a68f2
commit 19984fe024
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 198 additions and 83 deletions

View file

@ -26,7 +26,7 @@ except ImportError:
from test import support
from test.support import os_helper
from test.support import (
TestFailed, run_with_locale, no_tracing,
TestFailed, run_with_locales, no_tracing,
_2G, _4G, bigmemtest
)
from test.support.import_helper import forget
@ -2895,7 +2895,7 @@ class AbstractPickleTests:
got = self.loads(pickle)
self.assert_is_copy(value, got)
@run_with_locale('LC_ALL', 'de_DE', 'fr_FR')
@run_with_locales('LC_ALL', 'de_DE', 'fr_FR', '')
def test_float_format(self):
# make sure that floats are formatted locale independent with proto 0
self.assertEqual(self.dumps(1.2, 0)[0:3], b'F1.')