From 54f9f83e5cd417267b29a38f3364716523e69b28 Mon Sep 17 00:00:00 2001 From: Antoine Pitrou Date: Fri, 30 Apr 2010 23:08:48 +0000 Subject: Issue #8576: Remove use of find_unused_port() in test_smtplib and test_multiprocessing. Patch by Paul Moore. --- Lib/test/test_multiprocessing.py | 6 +++--- Lib/test/test_smtplib.py | 12 ++++++++---- Misc/NEWS | 3 +++ 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/Lib/test/test_multiprocessing.py b/Lib/test/test_multiprocessing.py index 03629d1..59b3357 100644 --- a/Lib/test/test_multiprocessing.py +++ b/Lib/test/test_multiprocessing.py @@ -1262,9 +1262,9 @@ class _TestManagerRestart(BaseTestCase): def test_rapid_restart(self): authkey = os.urandom(32) - port = test_support.find_unused_port() manager = QueueManager( - address=('localhost', port), authkey=authkey, serializer=SERIALIZER) + address=('localhost', 0), authkey=authkey, serializer=SERIALIZER) + addr = manager.get_server().address manager.start() p = self.Process(target=self._putter, args=(manager.address, authkey)) @@ -1274,7 +1274,7 @@ class _TestManagerRestart(BaseTestCase): del queue manager.shutdown() manager = QueueManager( - address=('localhost', port), authkey=authkey, serializer=SERIALIZER) + address=addr, authkey=authkey, serializer=SERIALIZER) manager.start() manager.shutdown() diff --git a/Lib/test/test_smtplib.py b/Lib/test/test_smtplib.py index 977a152..b74fa40 100644 --- a/Lib/test/test_smtplib.py +++ b/Lib/test/test_smtplib.py @@ -155,8 +155,10 @@ class DebuggingServerTests(unittest.TestCase): self._threads = test_support.threading_setup() self.serv_evt = threading.Event() self.client_evt = threading.Event() - self.port = test_support.find_unused_port() - self.serv = smtpd.DebuggingServer((HOST, self.port), ('nowhere', -1)) + # Pick a random unused port by passing 0 for the port number + self.serv = smtpd.DebuggingServer((HOST, 0), ('nowhere', -1)) + # Keep a note of what port was assigned + self.port = self.serv.socket.getsockname()[1] serv_args = (self.serv, self.serv_evt, self.client_evt) self.thread = threading.Thread(target=debugging_server, args=serv_args) self.thread.start() @@ -392,8 +394,10 @@ class SMTPSimTests(unittest.TestCase): self._threads = test_support.threading_setup() self.serv_evt = threading.Event() self.client_evt = threading.Event() - self.port = test_support.find_unused_port() - self.serv = SimSMTPServer((HOST, self.port), ('nowhere', -1)) + # Pick a random unused port by passing 0 for the port number + self.serv = SimSMTPServer((HOST, 0), ('nowhere', -1)) + # Keep a note of what port was assigned + self.port = self.serv.socket.getsockname()[1] serv_args = (self.serv, self.serv_evt, self.client_evt) self.thread = threading.Thread(target=debugging_server, args=serv_args) self.thread.start() diff --git a/Misc/NEWS b/Misc/NEWS index b42665a..355654b 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -134,6 +134,9 @@ Extension Modules Tests ----- +- Issue #8576: Remove use of find_unused_port() in test_smtplib and + test_multiprocessing. Patch by Paul Moore. + - Issue #7449: Fix many tests to support Python compiled without thread support. Patches written by Jerry Seutter. -- cgit v0.12