summaryrefslogtreecommitdiff
path: root/Lib/test/test_time.py
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2013-12-16 22:38:46 +0100
committerVictor Stinner <victor.stinner@gmail.com>2013-12-16 22:38:46 +0100
commitf3e44e66cd19eebe4f834f4be18f1ecc8db6f812 (patch)
treef98a41546071d170cdfacf91fc453359fc1d87d7 /Lib/test/test_time.py
parent2fce67ae29cdd86719e9d246cff4dced9b4609b5 (diff)
parent5cd502b4e86de9ccec24af6a9e923a785c4e2840 (diff)
downloadcpython-f3e44e66cd19eebe4f834f4be18f1ecc8db6f812.tar.gz
(Merge 3.3) Close #19999: tolerate coarse time when testing time.monotonic() on
very busy/slow buildbot
Diffstat (limited to 'Lib/test/test_time.py')
-rw-r--r--Lib/test/test_time.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/Lib/test/test_time.py b/Lib/test/test_time.py
index 6b7a4fb768..bc5f69e031 100644
--- a/Lib/test/test_time.py
+++ b/Lib/test/test_time.py
@@ -371,6 +371,14 @@ class TimeTestCase(unittest.TestCase):
@unittest.skipUnless(hasattr(time, 'monotonic'),
'need time.monotonic')
def test_monotonic(self):
+ # monotonic() should not go backward
+ times = [time.monotonic() for n in range(100)]
+ t1 = times[0]
+ for t2 in times[1:]:
+ self.assertGreaterEqual(t2, t1, "times=%s" % times)
+ t1 = t2
+
+ # monotonic() includes time elapsed during a sleep
t1 = time.monotonic()
time.sleep(0.5)
t2 = time.monotonic()
@@ -378,6 +386,7 @@ class TimeTestCase(unittest.TestCase):
self.assertGreater(t2, t1)
self.assertTrue(0.5 <= dt <= 1.0, dt)
+ # monotonic() is a monotonic but non adjustable clock
info = time.get_clock_info('monotonic')
self.assertTrue(info.monotonic)
self.assertFalse(info.adjustable)