From 3dd734fe03dc15ac74f8e5a9403c7dcdf3321203 Mon Sep 17 00:00:00 2001 From: Vinay Sajip Date: Fri, 5 Feb 2010 14:52:05 +0000 Subject: [PATCH] Issue #7857: test_logging: listener test now uses find_unused_port(). --- Lib/test/test_logging.py | 36 +++++++++++++++++++----------------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py index 9b410e9a7e1..7453672bffa 100644 --- a/Lib/test/test_logging.py +++ b/Lib/test/test_logging.py @@ -40,7 +40,8 @@ import string import struct import sys import tempfile -from test.test_support import captured_stdout, run_with_locale, run_unittest +from test.test_support import captured_stdout, run_with_locale, run_unittest,\ + find_unused_port import textwrap import threading import time @@ -1573,24 +1574,25 @@ class ConfigDictTest(BaseTest): self.test_config1_ok(self.config11) def setup_via_listener(self, text): - PORT = 9030 - t = logging.config.listen(PORT) + port = find_unused_port() + t = logging.config.listen(port) t.start() + try: + sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + sock.connect(('localhost', port)) - sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - sock.connect(('localhost', PORT)) - - slen = struct.pack('>L', len(text)) - s = slen + text - sentsofar = 0 - left = len(s) - while left > 0: - sent = sock.send(s[sentsofar:]) - sentsofar += sent - left -= sent - sock.close() - logging.config.stopListening() - t.join() + slen = struct.pack('>L', len(text)) + s = slen + text + sentsofar = 0 + left = len(s) + while left > 0: + sent = sock.send(s[sentsofar:]) + sentsofar += sent + left -= sent + sock.close() + finally: + logging.config.stopListening() + t.join() def test_listen_config_10_ok(self): with captured_stdout() as output: