dev-python/Babel: backport fix for buggy test

Bug: https://bugs.gentoo.org/618448
Package-Manager: Portage-2.3.5_p32, Repoman-2.3.2_p62
This commit is contained in:
Mike Gilbert
2017-05-14 17:35:40 -04:00
parent fb4cddf622
commit 7b83bf7420
2 changed files with 34 additions and 2 deletions

View File

@@ -23,6 +23,10 @@ DEPEND="${DEPEND}
doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
test? ( >=dev-python/pytest-2.3.5[${PYTHON_USEDEP}] )"
PATCHES=(
"${FILESDIR}"/2.3-Fix-the-way-local-time-is-constructed-in-tests.patch
)
python_prepare_all() {
# Make the tests use implementation-specific datadir,
# because they try to write in it.
@@ -35,8 +39,6 @@ python_prepare_all() {
python_test() {
# Create implementation-specific datadir for tests.
cp -R -l tests/messages/data "${BUILD_DIR}"/ || die
# https://bugs.gentoo.org/show_bug.cgi?id=618448
export TZ=UTC
py.test || die
}

View File

@@ -0,0 +1,30 @@
From 476515c2418039e471656f47efbfc43e5230c1fd Mon Sep 17 00:00:00 2001
From: Isaac Jurado <diptongo@gmail.com>
Date: Sun, 29 May 2016 10:50:42 +0200
Subject: [PATCH] Fix the way local time is constructed in tests
In summer time zones, the test for "get_timezone_name" failed because the
construct used to obtain a local time did not deal properly with DST offsets.
As recommended by pytz, it is better to convert to local time from UTC.
---
tests/test_dates.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tests/test_dates.py b/tests/test_dates.py
index 3bb9e8b..b0d093e 100644
--- a/tests/test_dates.py
+++ b/tests/test_dates.py
@@ -624,8 +624,9 @@ def test_get_timezone_name():
assert dates.get_timezone_name(tz, locale='en', width='long',
zone_variant='daylight') == u'Pacific Daylight Time'
+ localnow = datetime.utcnow().replace(tzinfo=timezone('UTC')).astimezone(dates.LOCALTZ)
assert (dates.get_timezone_name(None, locale='en_US') ==
- dates.get_timezone_name(datetime.now().replace(tzinfo=dates.LOCALTZ), locale='en_US'))
+ dates.get_timezone_name(localnow, locale='en_US'))
assert (dates.get_timezone_name('Europe/Berlin', locale='en_US') == "Central European Time")
--
2.13.0