[Python-checkins] r42845 - python/trunk/Lib/test/test_logging.py
neal.norwitz
python-checkins at python.org
Sun Mar 5 03:16:17 CET 2006
Author: neal.norwitz
Date: Sun Mar 5 03:16:12 2006
New Revision: 42845
Modified:
python/trunk/Lib/test/test_logging.py
Log:
Backout the last hack and add in this new one.
The failure definitely seems timing related. This change *seems* to work.
Since the failure isn't doesn't occur consistently, it's hard to tell.
Running these tests on Solaris in this order:
test_urllibnet test_operator test_cgi \
test_isinstance test_future test_ast test_logging
generally caused a failure (about 50% of the time) before the sleep.
I couldn't provoke the failure with the sleep.
This should really be cleaned up by using threading.Events or something
so it is not timing dependent and doesn't hang forever on failure.
Modified: python/trunk/Lib/test/test_logging.py
==============================================================================
--- python/trunk/Lib/test/test_logging.py (original)
+++ python/trunk/Lib/test/test_logging.py Sun Mar 5 03:16:12 2006
@@ -98,22 +98,12 @@
self.abort = 0
self.timeout = 1
- def _wait_and_process_data(self):
- rd, wr, ex = select.select([self.socket.fileno()], [], [],
- self.timeout)
- if rd:
- self.handle_request()
-
def serve_until_stopped(self):
while not self.abort:
- self._wait_and_process_data()
-
- # XXX(nnorwitz): Try to fix timing related test failures.
- # It's possible self.aborted was set before the final message
- # was received. By calling _wait_and_process_data(),
- # it gives us one last chance to read messages.
- # The test generally only fails on Solaris.
- self._wait_and_process_data()
+ rd, wr, ex = select.select([self.socket.fileno()], [], [],
+ self.timeout)
+ if rd:
+ self.handle_request()
#notify the main thread that we're about to exit
socketDataProcessed.set()
# close the listen socket
@@ -633,6 +623,10 @@
rootLogger.addHandler(shdlr)
test0()
+ # XXX(nnorwitz): Try to fix timing related test failures.
+ # This sleep gives us some extra time to read messages.
+ # The test generally only fails on Solaris without this sleep.
+ time.sleep(2.0)
shdlr.close()
rootLogger.removeHandler(shdlr)
More information about the Python-checkins
mailing list