dev-python/Babel: backport fix for buggy test
authorMike Gilbert <floppym@gentoo.org>
Sun, 14 May 2017 21:35:40 +0000 (17:35 -0400)
committerMike Gilbert <floppym@gentoo.org>
Sun, 14 May 2017 21:35:40 +0000 (17:35 -0400)
Bug: https://bugs.gentoo.org/618448
Package-Manager: Portage-2.3.5_p32, Repoman-2.3.2_p62

dev-python/Babel/Babel-2.3.4.ebuild
dev-python/Babel/files/2.3-Fix-the-way-local-time-is-constructed-in-tests.patch [new file with mode: 0644]

index a7cc27cafdfe0e00b40e7b3f4772e4aefcd06aae..8a594828ac27f33cceb603e775a6ad6bbfed1a75 100644 (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
 }
 
diff --git a/dev-python/Babel/files/2.3-Fix-the-way-local-time-is-constructed-in-tests.patch b/dev-python/Babel/files/2.3-Fix-the-way-local-time-is-constructed-in-tests.patch
new file mode 100644 (file)
index 0000000..fdfb31d
--- /dev/null
@@ -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
+