diff options
-rwxr-xr-x | Lib/test/regrtest.py | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py index 45b454116f..4f74780276 100755 --- a/Lib/test/regrtest.py +++ b/Lib/test/regrtest.py @@ -127,6 +127,7 @@ import builtins import faulthandler import io import json +import locale import logging import os import platform @@ -1061,7 +1062,7 @@ class saved_test_environment: 'sys.warnoptions', 'threading._dangling', 'multiprocessing.process._dangling', 'sysconfig._CONFIG_VARS', 'sysconfig._INSTALL_SCHEMES', - 'support.TESTFN', + 'support.TESTFN', 'locale' ) def get_sys_argv(self): @@ -1230,6 +1231,14 @@ class saved_test_environment: elif os.path.isdir(support.TESTFN): shutil.rmtree(support.TESTFN) + _locale_categories = [getattr(locale, lc) + for lc in dir(locale) if lc.startswith('LC_')] + def get_locale(self): + return tuple(map(locale.getlocale, self._locale_categories)) + def restore_locale(self, saved): + for category, setting in zip(self._locale_categories, saved): + locale.setlocale(category, setting) + def resource_info(self): for name in self.resources: method_suffix = name.replace('.', '_') |