Kaydet (Commit) 53d3645f authored tarafından Victor Stinner's avatar Victor Stinner

Issue #13847: Make test_localtime_failure() more robust

Skip the test if we are unable to find an invalid time_t value.
üst 2cbae98e
...@@ -345,16 +345,21 @@ class TimeTestCase(unittest.TestCase): ...@@ -345,16 +345,21 @@ class TimeTestCase(unittest.TestCase):
def test_localtime_failure(self): def test_localtime_failure(self):
# Issue #13847: check for localtime() failure # Issue #13847: check for localtime() failure
invalid_time_t = 2**60 invalid_time_t = None
try: for time_t in (-1, 2**30, 2**33, 2**60):
time.localtime(invalid_time_t) try:
except ValueError as err: time.localtime(time_t)
if str(err) == "timestamp out of range for platform time_t": except ValueError as err:
self.skipTest("need 64-bit time_t") if str(err) == "timestamp out of range for platform time_t":
else: self.skipTest("need 64-bit time_t")
raise else:
except OSError: raise
pass except OSError:
invalid_time_t = time_t
break
if invalid_time_t is None:
self.skipTest("unable to find an invalid time_t value")
self.assertRaises(OSError, time.localtime, invalid_time_t) self.assertRaises(OSError, time.localtime, invalid_time_t)
self.assertRaises(OSError, time.gmtime, invalid_time_t) self.assertRaises(OSError, time.gmtime, invalid_time_t)
self.assertRaises(OSError, time.ctime, invalid_time_t) self.assertRaises(OSError, time.ctime, invalid_time_t)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment