From ab42abd16096390513c2d1b176d2227e76a4b35a Mon Sep 17 00:00:00 2001 From: Petri Lehtinen Date: Sat, 12 Nov 2011 21:02:42 +0200 Subject: [PATCH] Update mailbox.Maildir tests Remove a sleep to fix transient test failures. Use skewfactor of -3 to make it work on systems that have 1 second precision for time.time(). Closes #11999 Refs #13254 --- Lib/test/test_mailbox.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Lib/test/test_mailbox.py b/Lib/test/test_mailbox.py index 97d304758e..75e0a8d4f6 100644 --- a/Lib/test/test_mailbox.py +++ b/Lib/test/test_mailbox.py @@ -697,7 +697,7 @@ class TestMaildir(TestMailbox): # skew factor to make _refresh think that the filesystem # safety period has passed and re-reading the _toc is only # required if mtimes differ. - self._box._skewfactor = -2 + self._box._skewfactor = -3 self._box._refresh() self.assertEqual(sorted(self._box._toc.keys()), sorted([key0, key1])) @@ -790,7 +790,12 @@ class TestMaildir(TestMailbox): # refresh is done unconditionally if called for within # two-second-plus-a-bit of the last one, just in case the mbox has # changed; so now we have to wait for that interval to expire. - time.sleep(2.01 + self._box._skewfactor) + # + # Because this is a test, emulate sleeping. Instead of + # sleeping for 2 seconds, use the skew factor to make _refresh + # think that 2 seconds have passed and re-reading the _toc is + # only required if mtimes differ. + self._box._skewfactor = -3 # Re-reading causes the ._toc attribute to be assigned a new dictionary # object, so we'll check that the ._toc attribute isn't a different @@ -803,7 +808,8 @@ class TestMaildir(TestMailbox): self.assertFalse(refreshed()) # Now, write something into cur and remove it. This changes - # the mtime and should cause a re-read. + # the mtime and should cause a re-read. Note that "sleep + # emulation" is still in effect, as skewfactor is -3. filename = os.path.join(self._path, 'cur', 'stray-file') f = open(filename, 'w') f.close() -- 2.40.0