From 003c9e29520a24da7177f16fe26e758c6baeaaca Mon Sep 17 00:00:00 2001 From: Neal Norwitz Date: Fri, 11 Aug 2006 06:09:41 +0000 Subject: Fix the failures on cygwin (2006-08-10 fixed the actual locking issue). The first hunk changes the colon to an ! like other Windows variants. We need to always wait on the child so the lock gets released and no other tests fail. This is the try/finally in the second hunk. --- Lib/test/test_mailbox.py | 13 ++++++++----- Misc/NEWS | 2 ++ 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/Lib/test/test_mailbox.py b/Lib/test/test_mailbox.py index 45dd118..6cdc441 100644 --- a/Lib/test/test_mailbox.py +++ b/Lib/test/test_mailbox.py @@ -1,4 +1,5 @@ import os +import sys import time import stat import socket @@ -461,7 +462,7 @@ class TestMaildir(TestMailbox): def setUp(self): TestMailbox.setUp(self) - if os.name in ('nt', 'os2'): + if os.name in ('nt', 'os2') or sys.platform == 'cygwin': self._box.colon = '!' def test_add_MM(self): @@ -736,11 +737,13 @@ class _TestMboxMMDF(TestMailbox): # In the parent, sleep a bit to give the child time to acquire # the lock. time.sleep(0.5) - self.assertRaises(mailbox.ExternalClashError, - self._box.lock) + try: + self.assertRaises(mailbox.ExternalClashError, + self._box.lock) + finally: + # Wait for child to exit. Locking should now succeed. + exited_pid, status = os.waitpid(pid, 0) - # Wait for child to exit. Locking should now succeed. - exited_pid, status = os.waitpid(pid, 0) self._box.lock() self._box.unlock() diff --git a/Misc/NEWS b/Misc/NEWS index 25d0294..f2fc704 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -58,6 +58,8 @@ Extension Modules Tests ----- +- test_mailbox should now work on cygwin versions 2006-08-10 and later. + - Bug #1535182: really test the xreadlines() method of bz2 objects. - test_threading now skips testing alternate thread stack sizes on -- cgit v0.12