diff options
author | Florent Xicluna <florent.xicluna@gmail.com> | 2011-11-11 17:59:30 (GMT) |
---|---|---|
committer | Florent Xicluna <florent.xicluna@gmail.com> | 2011-11-11 17:59:30 (GMT) |
commit | e54371e24c15a269acd3b1c080ef98129b0e98c9 (patch) | |
tree | 29cd4149779843b117bb9d2e0f36cc50584fea64 /Lib/test/test_time.py | |
parent | 4ff29db243e0c64356477f0d0b7270b35365757e (diff) | |
download | cpython-e54371e24c15a269acd3b1c080ef98129b0e98c9.zip cpython-e54371e24c15a269acd3b1c080ef98129b0e98c9.tar.gz cpython-e54371e24c15a269acd3b1c080ef98129b0e98c9.tar.bz2 |
Use unittest.skipUnless to skip the test related to the glibc bug, issue #13309.
Diffstat (limited to 'Lib/test/test_time.py')
-rw-r--r-- | Lib/test/test_time.py | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/Lib/test/test_time.py b/Lib/test/test_time.py index dd630bd..f8db499 100644 --- a/Lib/test/test_time.py +++ b/Lib/test/test_time.py @@ -4,7 +4,6 @@ import unittest 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 @@ class TimeTestCase(unittest.TestCase): 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 @@ class TimeTestCase(unittest.TestCase): 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 @@ class TimeTestCase(unittest.TestCase): pass else: self.assertEqual(time.mktime(tt), t) - tt = time.gmtime(self.t) - tzname = time.strftime('%Z', tt) - self.assertNotEqual(tzname, 'LMT') + + # 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. - if platform.libc_ver()[0] == 'glibc': - # Issue #13309: passing extreme values to mktime() or localtime() - # borks the glibc's internal timezone data. - return + tt = time.gmtime(self.t) + tzname = time.strftime('%Z', tt) + self.assertNotEqual(tzname, 'LMT') 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): |