summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_time.py
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2012-03-02 21:54:03 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2012-03-02 21:54:03 (GMT)
commit643cd68ea4b8d33a6d0163ef693ef6518f76b88f (patch)
tree4dda5f7783635633cc2d092dd975461ba263d2c0 /Lib/test/test_time.py
parent1c13f84f5554cecbdce8bf42dbfb609c1f72282a (diff)
downloadcpython-643cd68ea4b8d33a6d0163ef693ef6518f76b88f.zip
cpython-643cd68ea4b8d33a6d0163ef693ef6518f76b88f.tar.gz
cpython-643cd68ea4b8d33a6d0163ef693ef6518f76b88f.tar.bz2
Issue #13964: signal.sigtimedwait() timeout is now a float instead of a tuple
Add a private API to convert an int or float to a C timespec structure.
Diffstat (limited to 'Lib/test/test_time.py')
-rw-r--r--Lib/test/test_time.py21
1 files changed, 20 insertions, 1 deletions
diff --git a/Lib/test/test_time.py b/Lib/test/test_time.py
index a89c511..26492c1 100644
--- a/Lib/test/test_time.py
+++ b/Lib/test/test_time.py
@@ -497,12 +497,31 @@ class TestStrftime4dyear(_TestStrftimeYear, _Test4dYear):
pass
+class TestPytime(unittest.TestCase):
+ def test_timespec(self):
+ from _testcapi import pytime_object_to_timespec
+ for obj, timespec in (
+ (0, (0, 0)),
+ (-1, (-1, 0)),
+ (-1.0, (-1, 0)),
+ (-1e-9, (-1, 999999999)),
+ (-1.2, (-2, 800000000)),
+ (1.123456789, (1, 123456789)),
+ ):
+ self.assertEqual(pytime_object_to_timespec(obj), timespec)
+
+ for invalid in (-(2 ** 100), -(2.0 ** 100.0), 2 ** 100, 2.0 ** 100.0):
+ self.assertRaises(OverflowError, pytime_object_to_timespec, invalid)
+
+
+
def test_main():
support.run_unittest(
TimeTestCase,
TestLocale,
TestAsctime4dyear,
- TestStrftime4dyear)
+ TestStrftime4dyear,
+ TestPytime)
if __name__ == "__main__":
test_main()