Mercurial > cpython-lru_cache-weakref
diff Lib/test/test_time.py @ 73505:bcd347cd6bf2
Use unittest.skipUnless to skip the test related to the glibc bug, issue #13309.
| author | Florent Xicluna <florent.xicluna@gmail.com> |
|---|---|
| date | Fri, 11 Nov 2011 18:59:30 +0100 |
| parents | 05164831011e |
| children | c7638be1e430 |
line wrap: on
line diff
--- a/Lib/test/test_time.py Fri Nov 11 09:41:17 2011 -0600 +++ b/Lib/test/test_time.py Fri Nov 11 18:59:30 2011 +0100 @@ -4,7 +4,6 @@ import locale import sysconfig import sys -import warnings import platform # Max year is only limited by the size of C int. @@ -200,8 +199,8 @@ else: self.assertEqual(time.ctime(testval)[20:], str(year)) - @unittest.skipIf(not hasattr(time, "tzset"), - "time module has no attribute tzset") + @unittest.skipUnless(hasattr(time, "tzset"), + "time module has no attribute tzset") def test_tzset(self): from os import environ @@ -298,8 +297,7 @@ t1 = time.mktime(lt1) self.assertAlmostEqual(t1, t0, delta=0.2) - # XXX run last to work around issue #13309 on Gentoo - def test_zzz_mktime(self): + def test_mktime(self): # Issue #1726687 for t in (-2, -1, 0, 1): try: @@ -308,20 +306,23 @@ pass else: self.assertEqual(time.mktime(tt), t) + + # Issue #13309: passing extreme values to mktime() or localtime() + # borks the glibc's internal timezone data. + @unittest.skipUnless(platform.libc_ver()[0] != 'glibc', + "disabled because of a bug in glibc. Issue #13309") + def test_mktime_error(self): + # 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. tt = time.gmtime(self.t) tzname = time.strftime('%Z', tt) self.assertNotEqual(tzname, 'LMT') - # 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 + self.assertEqual(time.strftime('%Z', tt), tzname) class TestLocale(unittest.TestCase):
