Kaydet (Commit) a763c063 authored tarafından Antoine Pitrou's avatar Antoine Pitrou

Suppress transient refleaks in test_smtplib.

üst b218d289
...@@ -39,17 +39,21 @@ def server(evt, buf, serv): ...@@ -39,17 +39,21 @@ def server(evt, buf, serv):
class GeneralTests(TestCase): class GeneralTests(TestCase):
def setUp(self): def setUp(self):
self._threads = test_support.threading_setup()
self.evt = threading.Event() self.evt = threading.Event()
self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.sock.settimeout(15) self.sock.settimeout(15)
self.port = test_support.bind_port(self.sock) self.port = test_support.bind_port(self.sock)
servargs = (self.evt, "220 Hola mundo\n", self.sock) servargs = (self.evt, "220 Hola mundo\n", self.sock)
threading.Thread(target=server, args=servargs).start() self.thread = threading.Thread(target=server, args=servargs)
self.thread.start()
self.evt.wait() self.evt.wait()
self.evt.clear() self.evt.clear()
def tearDown(self): def tearDown(self):
self.evt.wait() self.evt.wait()
self.thread.join()
test_support.threading_cleanup(*self._threads)
def testBasic1(self): def testBasic1(self):
# connects # connects
...@@ -142,12 +146,14 @@ class DebuggingServerTests(TestCase): ...@@ -142,12 +146,14 @@ class DebuggingServerTests(TestCase):
self.output = StringIO.StringIO() self.output = StringIO.StringIO()
sys.stdout = self.output sys.stdout = self.output
self._threads = test_support.threading_setup()
self.serv_evt = threading.Event() self.serv_evt = threading.Event()
self.client_evt = threading.Event() self.client_evt = threading.Event()
self.port = test_support.find_unused_port() self.port = test_support.find_unused_port()
self.serv = smtpd.DebuggingServer((HOST, self.port), ('nowhere', -1)) self.serv = smtpd.DebuggingServer((HOST, self.port), ('nowhere', -1))
serv_args = (self.serv, self.serv_evt, self.client_evt) serv_args = (self.serv, self.serv_evt, self.client_evt)
threading.Thread(target=debugging_server, args=serv_args).start() self.thread = threading.Thread(target=debugging_server, args=serv_args)
self.thread.start()
# wait until server thread has assigned a port number # wait until server thread has assigned a port number
self.serv_evt.wait() self.serv_evt.wait()
...@@ -158,6 +164,8 @@ class DebuggingServerTests(TestCase): ...@@ -158,6 +164,8 @@ class DebuggingServerTests(TestCase):
self.client_evt.set() self.client_evt.set()
# wait for the server thread to terminate # wait for the server thread to terminate
self.serv_evt.wait() self.serv_evt.wait()
self.thread.join()
test_support.threading_cleanup(*self._threads)
# restore sys.stdout # restore sys.stdout
sys.stdout = self.old_stdout sys.stdout = self.old_stdout
...@@ -253,17 +261,21 @@ class BadHELOServerTests(TestCase): ...@@ -253,17 +261,21 @@ class BadHELOServerTests(TestCase):
self.output = StringIO.StringIO() self.output = StringIO.StringIO()
sys.stdout = self.output sys.stdout = self.output
self._threads = test_support.threading_setup()
self.evt = threading.Event() self.evt = threading.Event()
self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.sock.settimeout(15) self.sock.settimeout(15)
self.port = test_support.bind_port(self.sock) self.port = test_support.bind_port(self.sock)
servargs = (self.evt, "199 no hello for you!\n", self.sock) servargs = (self.evt, "199 no hello for you!\n", self.sock)
threading.Thread(target=server, args=servargs).start() self.thread = threading.Thread(target=server, args=servargs)
self.thread.start()
self.evt.wait() self.evt.wait()
self.evt.clear() self.evt.clear()
def tearDown(self): def tearDown(self):
self.evt.wait() self.evt.wait()
self.thread.join()
test_support.threading_cleanup(*self._threads)
sys.stdout = self.old_stdout sys.stdout = self.old_stdout
def testFailingHELO(self): def testFailingHELO(self):
...@@ -369,12 +381,14 @@ class SimSMTPServer(smtpd.SMTPServer): ...@@ -369,12 +381,14 @@ class SimSMTPServer(smtpd.SMTPServer):
class SMTPSimTests(TestCase): class SMTPSimTests(TestCase):
def setUp(self): def setUp(self):
self._threads = test_support.threading_setup()
self.serv_evt = threading.Event() self.serv_evt = threading.Event()
self.client_evt = threading.Event() self.client_evt = threading.Event()
self.port = test_support.find_unused_port() self.port = test_support.find_unused_port()
self.serv = SimSMTPServer((HOST, self.port), ('nowhere', -1)) self.serv = SimSMTPServer((HOST, self.port), ('nowhere', -1))
serv_args = (self.serv, self.serv_evt, self.client_evt) serv_args = (self.serv, self.serv_evt, self.client_evt)
threading.Thread(target=debugging_server, args=serv_args).start() self.thread = threading.Thread(target=debugging_server, args=serv_args)
self.thread.start()
# wait until server thread has assigned a port number # wait until server thread has assigned a port number
self.serv_evt.wait() self.serv_evt.wait()
...@@ -385,6 +399,8 @@ class SMTPSimTests(TestCase): ...@@ -385,6 +399,8 @@ class SMTPSimTests(TestCase):
self.client_evt.set() self.client_evt.set()
# wait for the server thread to terminate # wait for the server thread to terminate
self.serv_evt.wait() self.serv_evt.wait()
self.thread.join()
test_support.threading_cleanup(*self._threads)
def testBasic(self): def testBasic(self):
# smoke test # smoke test
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment