From b0a1d628b84dad92f4cf0e62987d63f1d8fb3311 Mon Sep 17 00:00:00 2001 From: Antoine Pitrou Date: Fri, 11 Nov 2011 03:04:35 +0100 Subject: Avoid a glibc bug in test_time (issue #13309) --- Lib/test/test_time.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Lib/test/test_time.py b/Lib/test/test_time.py index afdf43e..dd630bd 100644 --- a/Lib/test/test_time.py +++ b/Lib/test/test_time.py @@ -5,6 +5,7 @@ import locale import sysconfig import sys import warnings +import platform # Max year is only limited by the size of C int. SIZEOF_INT = sysconfig.get_config_var('SIZEOF_INT') or 4 @@ -313,13 +314,14 @@ class TimeTestCase(unittest.TestCase): # It may not be possible to reliably make mktime return error # on all platfom. This will make sure that no other exception # than OverflowError is raised for an extreme value. + if platform.libc_ver()[0] == 'glibc': + # Issue #13309: passing extreme values to mktime() or localtime() + # borks the glibc's internal timezone data. + return try: time.mktime((-1, 1, 1, 0, 0, 0, -1, -1, -1)) except OverflowError: pass - msg = "Issue #13309: the '%Z' specifier reports erroneous timezone" - msg += " after time.mktime((-1, 1, 1, 0, 0, 0, -1, -1, -1))." - self.assertEqual(time.strftime('%Z', tt), tzname, msg) class TestLocale(unittest.TestCase): -- cgit v0.12