~malept/ubuntu/lucid/python2.6/dev-dependency-fix

« back to all changes in this revision

Viewing changes to Lib/test/test_poplib.py

  • Committer: Bazaar Package Importer
  • Author(s): Matthias Klose
  • Date: 2009-02-13 12:51:00 UTC
  • Revision ID: james.westby@ubuntu.com-20090213125100-uufgcb9yeqzujpqw
Tags: upstream-2.6.1
ImportĀ upstreamĀ versionĀ 2.6.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
import socket
 
2
import threading
 
3
import poplib
 
4
import time
 
5
 
 
6
from unittest import TestCase
 
7
from test import test_support
 
8
 
 
9
HOST = test_support.HOST
 
10
 
 
11
def server(evt, serv):
 
12
    serv.listen(5)
 
13
    try:
 
14
        conn, addr = serv.accept()
 
15
    except socket.timeout:
 
16
        pass
 
17
    else:
 
18
        conn.send("+ Hola mundo\n")
 
19
        conn.close()
 
20
    finally:
 
21
        serv.close()
 
22
        evt.set()
 
23
 
 
24
class GeneralTests(TestCase):
 
25
 
 
26
    def setUp(self):
 
27
        self.evt = threading.Event()
 
28
        self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 
29
        self.sock.settimeout(3)
 
30
        self.port = test_support.bind_port(self.sock)
 
31
        threading.Thread(target=server, args=(self.evt,self.sock)).start()
 
32
        time.sleep(.1)
 
33
 
 
34
    def tearDown(self):
 
35
        self.evt.wait()
 
36
 
 
37
    def testBasic(self):
 
38
        # connects
 
39
        pop = poplib.POP3(HOST, self.port)
 
40
        pop.sock.close()
 
41
 
 
42
    def testTimeoutDefault(self):
 
43
        self.assertTrue(socket.getdefaulttimeout() is None)
 
44
        socket.setdefaulttimeout(30)
 
45
        try:
 
46
            pop = poplib.POP3("localhost", self.port)
 
47
        finally:
 
48
            socket.setdefaulttimeout(None)
 
49
        self.assertEqual(pop.sock.gettimeout(), 30)
 
50
        pop.sock.close()
 
51
 
 
52
    def testTimeoutNone(self):
 
53
        self.assertTrue(socket.getdefaulttimeout() is None)
 
54
        socket.setdefaulttimeout(30)
 
55
        try:
 
56
            pop = poplib.POP3(HOST, self.port, timeout=None)
 
57
        finally:
 
58
            socket.setdefaulttimeout(None)
 
59
        self.assertTrue(pop.sock.gettimeout() is None)
 
60
        pop.sock.close()
 
61
 
 
62
    def testTimeoutValue(self):
 
63
        pop = poplib.POP3("localhost", self.port, timeout=30)
 
64
        self.assertEqual(pop.sock.gettimeout(), 30)
 
65
        pop.sock.close()
 
66
 
 
67
 
 
68
def test_main(verbose=None):
 
69
    test_support.run_unittest(GeneralTests)
 
70
 
 
71
if __name__ == '__main__':
 
72
    test_main()