[Python-checkins] r54586 - python/trunk/Lib/test/test_poplib.py

facundo.batista python-checkins at python.org
Tue Mar 27 20:50:30 CEST 2007


Author: facundo.batista
Date: Tue Mar 27 20:50:29 2007
New Revision: 54586

Added:
   python/trunk/Lib/test/test_poplib.py
Log:

The basic test cases of poplib.py.


Added: python/trunk/Lib/test/test_poplib.py
==============================================================================
--- (empty file)
+++ python/trunk/Lib/test/test_poplib.py	Tue Mar 27 20:50:29 2007
@@ -0,0 +1,71 @@
+import socket
+import threading
+import poplib
+import time
+
+from unittest import TestCase
+from test import test_support
+
+
+def server(evt):
+    serv = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+    serv.settimeout(3)
+    serv.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
+    serv.bind(("", 9091))
+    serv.listen(5)
+    try:
+        conn, addr = serv.accept()
+    except socket.timeout:
+        pass
+    else:
+        conn.send("+ Hola mundo\n")
+        conn.close()
+    finally:
+        serv.close()
+        evt.set()
+
+class GeneralTests(TestCase):
+    
+    def setUp(self):
+        self.evt = threading.Event()
+        threading.Thread(target=server, args=(self.evt,)).start()
+        time.sleep(.1)
+
+    def tearDown(self):
+        self.evt.wait()
+
+    def testBasic(self):
+        # connects
+        pop = poplib.POP3("localhost", 9091)
+        pop.sock.close()
+        
+    def testTimeoutDefault(self):
+        # default
+        pop = poplib.POP3("localhost", 9091)
+        self.assertTrue(pop.sock.gettimeout() is None)
+        pop.sock.close()
+    
+    def testTimeoutValue(self):
+        # a value
+        pop = poplib.POP3("localhost", 9091, timeout=30)
+        self.assertEqual(pop.sock.gettimeout(), 30)
+        pop.sock.close()
+
+    def testTimeoutNone(self):
+        # None, having other default
+        previous = socket.getdefaulttimeout()
+        socket.setdefaulttimeout(30)
+        try:
+            pop = poplib.POP3("localhost", 9091, timeout=None)
+        finally:
+            socket.setdefaulttimeout(previous)
+        self.assertEqual(pop.sock.gettimeout(), 30)
+        pop.sock.close()
+
+
+
+def test_main(verbose=None):
+    test_support.run_unittest(GeneralTests)
+
+if __name__ == '__main__':
+    test_main()


More information about the Python-checkins mailing list