Don't test datetime in locales with no encoding
authorDebian Science Team <debian-science-maintainers@lists.alioth.debian.org>
Tue, 31 Jan 2023 13:21:16 +0000 (13:21 +0000)
committerPeter Michael Green <plugwash@raspbian.org>
Tue, 31 Jan 2023 13:21:16 +0000 (13:21 +0000)
Some datetime tests run the test in every available locale.
If this set includes locales without an encoding (currently dsb_DE
and sah_RU), it fails due to Python bug
https://bugs.python.org/issue20088

Failure log
https://tests.reproducible-builds.org/debian/rbuild/buster/amd64/pandas_0.23.3+dfsg-3.rbuild.log.gz

Author: Rebecca N. Palmer <rebecca_palmer@zoho.com>
Bug: https://github.com/pandas-dev/pandas/issues/20957
Forwarded: no

Gbp-Pq: Name skip_noencoding_locales.patch

pandas/_config/localization.py

index c4355e954c67c889101bdcc623a27c19740d3855..74bb0fa0fff0934b600c00393688177948dd5650 100644 (file)
@@ -108,7 +108,10 @@ def _valid_locales(locales: list[str] | str, normalize: bool) -> list[str]:
 
 
 def _default_locale_getter() -> bytes:
-    return subprocess.check_output(["locale -a"], shell=True)
+    raw_locales = subprocess.check_output(["locale -a"], shell=True)
+    # skip locales without encoding, to avoid Python bug https://bugs.python.org/issue20088
+    raw_locales = raw_locales.replace(b'\ndsb_DE\n',b'\n').replace(b'\nsah_RU\n',b'\n').replace(b'\ncrh_UA\n',b'\n')
+    return raw_locales
 
 
 def get_locales(