From 27a1370ae0608d083ec1b4162d510cb7ec6a95f5 Mon Sep 17 00:00:00 2001 From: Vinay Sajip Date: Mon, 3 May 2010 15:11:53 +0000 Subject: [PATCH] Issue #8576: logging updated to remove usage of find_unused_port(). --- Lib/logging/config.py | 2 ++ Lib/test/test_logging.py | 9 +++++---- Misc/NEWS | 2 ++ 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/Lib/logging/config.py b/Lib/logging/config.py index 4f55c53ead1..07b9d1a8342 100644 --- a/Lib/logging/config.py +++ b/Lib/logging/config.py @@ -873,6 +873,8 @@ def listen(port=DEFAULT_LOGGING_CONFIG_PORT): def run(self): server = self.rcvr(port=self.port, handler=self.hdlr, ready=self.ready) + if self.port == 0: + self.port = server.server_address[1] self.ready.set() global _listener logging._acquireLock() diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py index 0211f560747..ed17d15f2ee 100644 --- a/Lib/test/test_logging.py +++ b/Lib/test/test_logging.py @@ -38,8 +38,7 @@ from SocketServer import ThreadingTCPServer, StreamRequestHandler import struct import sys import tempfile -from test.test_support import captured_stdout, run_with_locale, run_unittest,\ - find_unused_port +from test.test_support import captured_stdout, run_with_locale, run_unittest import textwrap import unittest import warnings @@ -1664,10 +1663,12 @@ class ConfigDictTest(BaseTest): @unittest.skipUnless(threading, 'listen() needs threading to work') def setup_via_listener(self, text): - port = find_unused_port() - t = logging.config.listen(port) + # Ask for a randomly assigned port (by using port 0) + t = logging.config.listen(0) t.start() t.ready.wait() + # Now get the port allocated + port = t.port t.ready.clear() try: sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) diff --git a/Misc/NEWS b/Misc/NEWS index f4f4d2fb613..e024d60a9b0 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -31,6 +31,8 @@ Core and Builtins Library ------- +- Issue #8576: logging updated to remove usage of find_unused_port(). + - Issue #4687: Fix accuracy of garbage collection runtimes displayed with gc.DEBUG_STATS.