summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_mailbox.py
diff options
context:
space:
mode:
authorR David Murray <rdmurray@bitdance.com>2011-03-25 20:16:54 (GMT)
committerR David Murray <rdmurray@bitdance.com>2011-03-25 20:16:54 (GMT)
commit66a4e12da43a4832ed71a1e49600b50d867e87f9 (patch)
tree836e6e4ab277f4df5431e837784eaca5b7744c9b /Lib/test/test_mailbox.py
parentdf07aacebb5e414d2dbf1282df75761a6746c4e6 (diff)
parentb9a428d57de898271bf160f736bbae7e2538bc41 (diff)
downloadcpython-66a4e12da43a4832ed71a1e49600b50d867e87f9.zip
cpython-66a4e12da43a4832ed71a1e49600b50d867e87f9.tar.gz
cpython-66a4e12da43a4832ed71a1e49600b50d867e87f9.tar.bz2
Merge #9557: eliminate 3 seconds of static overhead from test_mailbox.
Diffstat (limited to 'Lib/test/test_mailbox.py')
-rw-r--r--Lib/test/test_mailbox.py18
1 files changed, 11 insertions, 7 deletions
diff --git a/Lib/test/test_mailbox.py b/Lib/test/test_mailbox.py
index 1e4f887..45abcc8 100644
--- a/Lib/test/test_mailbox.py
+++ b/Lib/test/test_mailbox.py
@@ -869,8 +869,6 @@ class TestMaildir(TestMailbox):
self.assertFalse((perms & 0o111)) # Execute bits should all be off.
def test_reread(self):
- # Wait for 2 seconds
- time.sleep(2)
# Initially, the mailbox has not been read and the time is null.
assert getattr(self._box, '_last_read', None) is None
@@ -879,15 +877,21 @@ class TestMaildir(TestMailbox):
self._box._refresh()
assert getattr(self._box, '_last_read', None) is not None
- # Try calling _refresh() again; the modification times shouldn't have
- # changed, so the mailbox should not be re-reading. 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 object.
+ # Put the last modified times more than one second into the past
+ # (because mtime has a one second granularity, a refresh is done
+ # unconditionally if called for within the same second, just in case
+ # the mbox has changed).
+ for subdir in ('cur', 'new'):
+ os.utime(os.path.join(self._box._path, subdir),
+ (time.time()-5,)*2)
+
+ # 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
+ # object.
orig_toc = self._box._toc
def refreshed():
return self._box._toc is not orig_toc
- time.sleep(1) # Wait 1sec to ensure time.time()'s value changes
self._box._refresh()
assert not refreshed()