[Python-checkins] python/dist/src/Lib/test test_logging.py,1.5,1.6
gvanrossum@users.sourceforge.net
gvanrossum@users.sourceforge.net
Fri, 25 Apr 2003 07:22:05 -0700
Update of /cvsroot/python/python/dist/src/Lib/test
In directory sc8-pr-cvs1:/tmp/cvs-serv2824
Modified Files:
test_logging.py
Log Message:
New version from Vinaj, should solve the threading problems (hopefully).
Index: test_logging.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_logging.py,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** test_logging.py 18 Feb 2003 14:20:02 -0000 1.5
--- test_logging.py 25 Apr 2003 14:22:00 -0000 1.6
***************
*** 39,42 ****
--- 39,44 ----
BANNER = "-- %-10s %-6s ---------------------------------------------------\n"
+ FINISH_UP = "Finish up, it's closing time. Messages should bear numbers 0 through 24."
+
#----------------------------------------------------------------------------
# Log receiver
***************
*** 80,87 ****
--- 82,94 ----
def handleLogRecord(self, record):
logname = "logrecv.tcp." + record.name
+ #If the end-of-messages sentinel is seen, tell the server to terminate
+ if record.msg == FINISH_UP:
+ self.server.abort = 1
record.msg = record.msg + " (via " + logname + ")"
logger = logging.getLogger(logname)
logger.handle(record)
+ socketDataProcessed = threading.Condition()
+
class LogRecordSocketReceiver(ThreadingTCPServer):
"""
***************
*** 108,111 ****
--- 115,122 ----
self.handle_request()
abort = self.abort
+ #notify the main thread that we're about to exit
+ socketDataProcessed.acquire()
+ socketDataProcessed.notify()
+ socketDataProcessed.release()
def process_request(self, request, client_address):
***************
*** 196,200 ****
INF_ERR_UNDEF.debug(nextmessage())
! INF.info("Messages should bear numbers 0 through 24.")
#----------------------------------------------------------------------------
--- 207,211 ----
INF_ERR_UNDEF.debug(nextmessage())
! INF.info(FINISH_UP)
#----------------------------------------------------------------------------
***************
*** 456,463 ****
finally:
! #shut down server
! tcpserver.abort = 1
! for thread in threads:
! thread.join()
banner("logrecv output", "begin")
sys.stdout.write(sockOut.getvalue())
--- 467,474 ----
finally:
! #wait for TCP receiver to terminate
! socketDataProcessed.acquire()
! socketDataProcessed.wait()
! socketDataProcessed.release()
banner("logrecv output", "begin")
sys.stdout.write(sockOut.getvalue())