mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
Issue #13847: Make test_localtime_failure() more robust
Skip the test if we are unable to find an invalid time_t value.
This commit is contained in:
parent
2cbae98ea4
commit
53d3645f95
1 changed files with 15 additions and 10 deletions
|
@ -345,16 +345,21 @@ class TimeTestCase(unittest.TestCase):
|
|||
|
||||
def test_localtime_failure(self):
|
||||
# Issue #13847: check for localtime() failure
|
||||
invalid_time_t = 2**60
|
||||
try:
|
||||
time.localtime(invalid_time_t)
|
||||
except ValueError as err:
|
||||
if str(err) == "timestamp out of range for platform time_t":
|
||||
self.skipTest("need 64-bit time_t")
|
||||
else:
|
||||
raise
|
||||
except OSError:
|
||||
pass
|
||||
invalid_time_t = None
|
||||
for time_t in (-1, 2**30, 2**33, 2**60):
|
||||
try:
|
||||
time.localtime(time_t)
|
||||
except ValueError as err:
|
||||
if str(err) == "timestamp out of range for platform time_t":
|
||||
self.skipTest("need 64-bit time_t")
|
||||
else:
|
||||
raise
|
||||
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.gmtime, invalid_time_t)
|
||||
self.assertRaises(OSError, time.ctime, invalid_time_t)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue