Mercurial > cpython-lru_cache-weakref
annotate Lib/test/test_telnetlib.py @ 54294:dba767bc3155 legacy-trunk
remove mention of old ctypes version
| author | Benjamin Peterson <benjamin@python.org> |
|---|---|
| date | Sat, 23 May 2009 20:59:09 +0000 |
| parents | 109941015703 |
| children | 17891566a478 |
| rev | line source |
|---|---|
|
41323
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
1 import socket |
|
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
2 import threading |
|
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
3 import telnetlib |
|
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
4 import time |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
5 import Queue |
|
41323
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
6 |
|
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
7 from unittest import TestCase |
|
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
8 from test import test_support |
|
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
9 |
|
46362
d917da2b1946
- Issue #2550: The approach used by client/server code for obtaining ports
Trent Nelson <trent.nelson@snakebite.org>
parents:
46147
diff
changeset
|
10 HOST = test_support.HOST |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
11 EOF_sigil = object() |
|
41323
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
12 |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
13 def server(evt, serv, dataq=None): |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
14 """ Open a tcp server in three steps |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
15 1) set evt to true to let the parent know we are ready |
|
52972
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
16 2) [optional] if is not False, write the list of data from dataq.get() |
|
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
17 to the socket. |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
18 3) set evt to true to let the parent know we're done |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
19 """ |
|
41323
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
20 serv.listen(5) |
|
44983
dca3f646e8a1
Reduce the race condition by signalling when the server is ready
Neal Norwitz <nnorwitz@gmail.com>
parents:
41532
diff
changeset
|
21 evt.set() |
|
41323
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
22 try: |
|
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
23 conn, addr = serv.accept() |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
24 if dataq: |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
25 data = '' |
|
52978
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
26 new_data = dataq.get(True, 0.5) |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
27 dataq.task_done() |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
28 for item in new_data: |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
29 if item == EOF_sigil: |
|
52972
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
30 break |
|
52978
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
31 if type(item) in [int, float]: |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
32 time.sleep(item) |
|
52972
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
33 else: |
|
52978
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
34 data += item |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
35 written = conn.send(data) |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
36 data = data[written:] |
|
41323
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
37 except socket.timeout: |
|
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
38 pass |
|
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
39 finally: |
|
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
40 serv.close() |
|
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
41 evt.set() |
|
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
42 |
|
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
43 class GeneralTests(TestCase): |
|
41532
4b9fa8092e82
Whitespace normalization. Ugh, we really need to do this more often.
Neal Norwitz <nnorwitz@gmail.com>
parents:
41323
diff
changeset
|
44 |
|
41323
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
45 def setUp(self): |
|
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
46 self.evt = threading.Event() |
|
46362
d917da2b1946
- Issue #2550: The approach used by client/server code for obtaining ports
Trent Nelson <trent.nelson@snakebite.org>
parents:
46147
diff
changeset
|
47 self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) |
|
d917da2b1946
- Issue #2550: The approach used by client/server code for obtaining ports
Trent Nelson <trent.nelson@snakebite.org>
parents:
46147
diff
changeset
|
48 self.sock.settimeout(3) |
|
d917da2b1946
- Issue #2550: The approach used by client/server code for obtaining ports
Trent Nelson <trent.nelson@snakebite.org>
parents:
46147
diff
changeset
|
49 self.port = test_support.bind_port(self.sock) |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
50 self.thread = threading.Thread(target=server, args=(self.evt,self.sock)) |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
51 self.thread.start() |
|
44983
dca3f646e8a1
Reduce the race condition by signalling when the server is ready
Neal Norwitz <nnorwitz@gmail.com>
parents:
41532
diff
changeset
|
52 self.evt.wait() |
|
dca3f646e8a1
Reduce the race condition by signalling when the server is ready
Neal Norwitz <nnorwitz@gmail.com>
parents:
41532
diff
changeset
|
53 self.evt.clear() |
|
41323
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
54 time.sleep(.1) |
|
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
55 |
|
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
56 def tearDown(self): |
|
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
57 self.evt.wait() |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
58 self.thread.join() |
|
41323
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
59 |
|
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
60 def testBasic(self): |
|
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
61 # connects |
|
46362
d917da2b1946
- Issue #2550: The approach used by client/server code for obtaining ports
Trent Nelson <trent.nelson@snakebite.org>
parents:
46147
diff
changeset
|
62 telnet = telnetlib.Telnet(HOST, self.port) |
|
41323
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
63 telnet.sock.close() |
|
41532
4b9fa8092e82
Whitespace normalization. Ugh, we really need to do this more often.
Neal Norwitz <nnorwitz@gmail.com>
parents:
41323
diff
changeset
|
64 |
|
41323
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
65 def testTimeoutDefault(self): |
|
47372
e2c5ae30cffe
Fixed the semantic of timeout for socket.create_connection and
Facundo Batista <facundobatista@gmail.com>
parents:
46362
diff
changeset
|
66 self.assertTrue(socket.getdefaulttimeout() is None) |
|
e2c5ae30cffe
Fixed the semantic of timeout for socket.create_connection and
Facundo Batista <facundobatista@gmail.com>
parents:
46362
diff
changeset
|
67 socket.setdefaulttimeout(30) |
|
e2c5ae30cffe
Fixed the semantic of timeout for socket.create_connection and
Facundo Batista <facundobatista@gmail.com>
parents:
46362
diff
changeset
|
68 try: |
|
e2c5ae30cffe
Fixed the semantic of timeout for socket.create_connection and
Facundo Batista <facundobatista@gmail.com>
parents:
46362
diff
changeset
|
69 telnet = telnetlib.Telnet("localhost", self.port) |
|
e2c5ae30cffe
Fixed the semantic of timeout for socket.create_connection and
Facundo Batista <facundobatista@gmail.com>
parents:
46362
diff
changeset
|
70 finally: |
|
e2c5ae30cffe
Fixed the semantic of timeout for socket.create_connection and
Facundo Batista <facundobatista@gmail.com>
parents:
46362
diff
changeset
|
71 socket.setdefaulttimeout(None) |
|
41323
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
72 self.assertEqual(telnet.sock.gettimeout(), 30) |
|
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
73 telnet.sock.close() |
|
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
74 |
|
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
75 def testTimeoutNone(self): |
|
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
76 # None, having other default |
|
47372
e2c5ae30cffe
Fixed the semantic of timeout for socket.create_connection and
Facundo Batista <facundobatista@gmail.com>
parents:
46362
diff
changeset
|
77 self.assertTrue(socket.getdefaulttimeout() is None) |
|
41323
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
78 socket.setdefaulttimeout(30) |
|
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
79 try: |
|
46362
d917da2b1946
- Issue #2550: The approach used by client/server code for obtaining ports
Trent Nelson <trent.nelson@snakebite.org>
parents:
46147
diff
changeset
|
80 telnet = telnetlib.Telnet(HOST, self.port, timeout=None) |
|
41323
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
81 finally: |
|
47372
e2c5ae30cffe
Fixed the semantic of timeout for socket.create_connection and
Facundo Batista <facundobatista@gmail.com>
parents:
46362
diff
changeset
|
82 socket.setdefaulttimeout(None) |
|
e2c5ae30cffe
Fixed the semantic of timeout for socket.create_connection and
Facundo Batista <facundobatista@gmail.com>
parents:
46362
diff
changeset
|
83 self.assertTrue(telnet.sock.gettimeout() is None) |
|
e2c5ae30cffe
Fixed the semantic of timeout for socket.create_connection and
Facundo Batista <facundobatista@gmail.com>
parents:
46362
diff
changeset
|
84 telnet.sock.close() |
|
e2c5ae30cffe
Fixed the semantic of timeout for socket.create_connection and
Facundo Batista <facundobatista@gmail.com>
parents:
46362
diff
changeset
|
85 |
|
e2c5ae30cffe
Fixed the semantic of timeout for socket.create_connection and
Facundo Batista <facundobatista@gmail.com>
parents:
46362
diff
changeset
|
86 def testTimeoutValue(self): |
|
e2c5ae30cffe
Fixed the semantic of timeout for socket.create_connection and
Facundo Batista <facundobatista@gmail.com>
parents:
46362
diff
changeset
|
87 telnet = telnetlib.Telnet("localhost", self.port, timeout=30) |
|
41323
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
88 self.assertEqual(telnet.sock.gettimeout(), 30) |
|
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
89 telnet.sock.close() |
|
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
90 |
|
47372
e2c5ae30cffe
Fixed the semantic of timeout for socket.create_connection and
Facundo Batista <facundobatista@gmail.com>
parents:
46362
diff
changeset
|
91 def testTimeoutOpen(self): |
|
e2c5ae30cffe
Fixed the semantic of timeout for socket.create_connection and
Facundo Batista <facundobatista@gmail.com>
parents:
46362
diff
changeset
|
92 telnet = telnetlib.Telnet() |
|
e2c5ae30cffe
Fixed the semantic of timeout for socket.create_connection and
Facundo Batista <facundobatista@gmail.com>
parents:
46362
diff
changeset
|
93 telnet.open("localhost", self.port, timeout=30) |
|
e2c5ae30cffe
Fixed the semantic of timeout for socket.create_connection and
Facundo Batista <facundobatista@gmail.com>
parents:
46362
diff
changeset
|
94 self.assertEqual(telnet.sock.gettimeout(), 30) |
|
e2c5ae30cffe
Fixed the semantic of timeout for socket.create_connection and
Facundo Batista <facundobatista@gmail.com>
parents:
46362
diff
changeset
|
95 telnet.sock.close() |
|
41323
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
96 |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
97 def _read_setUp(self): |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
98 self.evt = threading.Event() |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
99 self.dataq = Queue.Queue() |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
100 self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
101 self.sock.settimeout(3) |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
102 self.port = test_support.bind_port(self.sock) |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
103 self.thread = threading.Thread(target=server, args=(self.evt,self.sock, self.dataq)) |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
104 self.thread.start() |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
105 self.evt.wait() |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
106 self.evt.clear() |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
107 time.sleep(.1) |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
108 |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
109 def _read_tearDown(self): |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
110 self.evt.wait() |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
111 self.thread.join() |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
112 |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
113 class ReadTests(TestCase): |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
114 setUp = _read_setUp |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
115 tearDown = _read_tearDown |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
116 |
|
52978
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
117 # use a similar approach to testing timeouts as test_timeout.py |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
118 # these will never pass 100% but make the fuzz big enough that it is rare |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
119 block_long = 0.6 |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
120 block_short = 0.3 |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
121 def test_read_until_A(self): |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
122 """ |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
123 read_until(expected, [timeout]) |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
124 Read until the expected string has been seen, or a timeout is |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
125 hit (default is no timeout); may block. |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
126 """ |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
127 want = ['x' * 10, 'match', 'y' * 10, EOF_sigil] |
|
52972
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
128 self.dataq.put(want) |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
129 telnet = telnetlib.Telnet(HOST, self.port) |
|
52972
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
130 self.dataq.join() |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
131 data = telnet.read_until('match') |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
132 self.assertEqual(data, ''.join(want[:-2])) |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
133 |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
134 def test_read_until_B(self): |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
135 # test the timeout - it does NOT raise socket.timeout |
|
52978
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
136 want = ['hello', self.block_long, 'not seen', EOF_sigil] |
|
52972
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
137 self.dataq.put(want) |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
138 telnet = telnetlib.Telnet(HOST, self.port) |
|
52972
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
139 self.dataq.join() |
|
52978
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
140 data = telnet.read_until('not seen', self.block_short) |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
141 self.assertEqual(data, want[0]) |
|
52978
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
142 self.assertEqual(telnet.read_all(), 'not seen') |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
143 |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
144 def test_read_all_A(self): |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
145 """ |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
146 read_all() |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
147 Read all data until EOF; may block. |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
148 """ |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
149 want = ['x' * 500, 'y' * 500, 'z' * 500, EOF_sigil] |
|
52972
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
150 self.dataq.put(want) |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
151 telnet = telnetlib.Telnet(HOST, self.port) |
|
52972
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
152 self.dataq.join() |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
153 data = telnet.read_all() |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
154 self.assertEqual(data, ''.join(want[:-1])) |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
155 return |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
156 |
|
52972
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
157 def _test_blocking(self, func): |
|
52978
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
158 self.dataq.put([self.block_long, EOF_sigil]) |
|
52972
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
159 self.dataq.join() |
|
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
160 start = time.time() |
|
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
161 data = func() |
|
52978
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
162 self.assertTrue(self.block_short <= time.time() - start) |
|
52972
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
163 |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
164 def test_read_all_B(self): |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
165 self._test_blocking(telnetlib.Telnet(HOST, self.port).read_all) |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
166 |
|
52972
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
167 def test_read_all_C(self): |
|
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
168 self.dataq.put([EOF_sigil]) |
|
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
169 telnet = telnetlib.Telnet(HOST, self.port) |
|
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
170 self.dataq.join() |
|
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
171 telnet.read_all() |
|
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
172 telnet.read_all() # shouldn't raise |
|
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
173 |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
174 def test_read_some_A(self): |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
175 """ |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
176 read_some() |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
177 Read at least one byte or EOF; may block. |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
178 """ |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
179 # test 'at least one byte' |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
180 want = ['x' * 500, EOF_sigil] |
|
52972
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
181 self.dataq.put(want) |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
182 telnet = telnetlib.Telnet(HOST, self.port) |
|
52972
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
183 self.dataq.join() |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
184 data = telnet.read_all() |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
185 self.assertTrue(len(data) >= 1) |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
186 |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
187 def test_read_some_B(self): |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
188 # test EOF |
|
52972
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
189 self.dataq.put([EOF_sigil]) |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
190 telnet = telnetlib.Telnet(HOST, self.port) |
|
52972
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
191 self.dataq.join() |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
192 self.assertEqual('', telnet.read_some()) |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
193 |
|
52972
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
194 def test_read_some_C(self): |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
195 self._test_blocking(telnetlib.Telnet(HOST, self.port).read_some) |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
196 |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
197 def _test_read_any_eager_A(self, func_name): |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
198 """ |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
199 read_very_eager() |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
200 Read all data available already queued or on the socket, |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
201 without blocking. |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
202 """ |
|
52978
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
203 want = [self.block_long, 'x' * 100, 'y' * 100, EOF_sigil] |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
204 expects = want[1] + want[2] |
|
52972
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
205 self.dataq.put(want) |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
206 telnet = telnetlib.Telnet(HOST, self.port) |
|
52972
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
207 self.dataq.join() |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
208 func = getattr(telnet, func_name) |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
209 data = '' |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
210 while True: |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
211 try: |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
212 data += func() |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
213 self.assertTrue(expects.startswith(data)) |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
214 except EOFError: |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
215 break |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
216 self.assertEqual(expects, data) |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
217 |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
218 def _test_read_any_eager_B(self, func_name): |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
219 # test EOF |
|
52972
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
220 self.dataq.put([EOF_sigil]) |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
221 telnet = telnetlib.Telnet(HOST, self.port) |
|
52972
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
222 self.dataq.join() |
|
52978
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
223 time.sleep(self.block_short) |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
224 func = getattr(telnet, func_name) |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
225 self.assertRaises(EOFError, func) |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
226 |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
227 # read_eager and read_very_eager make the same gaurantees |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
228 # (they behave differently but we only test the gaurantees) |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
229 def test_read_very_eager_A(self): |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
230 self._test_read_any_eager_A('read_very_eager') |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
231 def test_read_very_eager_B(self): |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
232 self._test_read_any_eager_B('read_very_eager') |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
233 def test_read_eager_A(self): |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
234 self._test_read_any_eager_A('read_eager') |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
235 def test_read_eager_B(self): |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
236 self._test_read_any_eager_B('read_eager') |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
237 # NB -- we need to test the IAC block which is mentioned in the docstring |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
238 # but not in the module docs |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
239 |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
240 def _test_read_any_lazy_B(self, func_name): |
|
52972
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
241 self.dataq.put([EOF_sigil]) |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
242 telnet = telnetlib.Telnet(HOST, self.port) |
|
52972
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
243 self.dataq.join() |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
244 func = getattr(telnet, func_name) |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
245 telnet.fill_rawq() |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
246 self.assertRaises(EOFError, func) |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
247 |
|
52978
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
248 def test_read_lazy_A(self): |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
249 want = ['x' * 100, EOF_sigil] |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
250 self.dataq.put(want) |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
251 telnet = telnetlib.Telnet(HOST, self.port) |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
252 self.dataq.join() |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
253 time.sleep(self.block_short) |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
254 self.assertEqual('', telnet.read_lazy()) |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
255 data = '' |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
256 while True: |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
257 try: |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
258 read_data = telnet.read_lazy() |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
259 data += read_data |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
260 if not read_data: |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
261 telnet.fill_rawq() |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
262 except EOFError: |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
263 break |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
264 self.assertTrue(want[0].startswith(data)) |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
265 self.assertEqual(data, want[0]) |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
266 |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
267 def test_read_lazy_B(self): |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
268 self._test_read_any_lazy_B('read_lazy') |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
269 |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
270 def test_read_very_lazy_A(self): |
|
52978
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
271 want = ['x' * 100, EOF_sigil] |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
272 self.dataq.put(want) |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
273 telnet = telnetlib.Telnet(HOST, self.port) |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
274 self.dataq.join() |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
275 time.sleep(self.block_short) |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
276 self.assertEqual('', telnet.read_very_lazy()) |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
277 data = '' |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
278 while True: |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
279 try: |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
280 read_data = telnet.read_very_lazy() |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
281 except EOFError: |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
282 break |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
283 data += read_data |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
284 if not read_data: |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
285 telnet.fill_rawq() |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
286 self.assertEqual('', telnet.cookedq) |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
287 telnet.process_rawq() |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
288 self.assertTrue(want[0].startswith(data)) |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
289 self.assertEqual(data, want[0]) |
|
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
290 |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
291 def test_read_very_lazy_B(self): |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
292 self._test_read_any_lazy_B('read_very_lazy') |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
293 |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
294 class nego_collector(object): |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
295 def __init__(self, sb_getter=None): |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
296 self.seen = '' |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
297 self.sb_getter = sb_getter |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
298 self.sb_seen = '' |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
299 |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
300 def do_nego(self, sock, cmd, opt): |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
301 self.seen += cmd + opt |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
302 if cmd == tl.SE and self.sb_getter: |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
303 sb_data = self.sb_getter() |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
304 self.sb_seen += sb_data |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
305 |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
306 tl = telnetlib |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
307 class OptionTests(TestCase): |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
308 setUp = _read_setUp |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
309 tearDown = _read_tearDown |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
310 # RFC 854 commands |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
311 cmds = [tl.AO, tl.AYT, tl.BRK, tl.EC, tl.EL, tl.GA, tl.IP, tl.NOP] |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
312 |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
313 def _test_command(self, data): |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
314 """ helper for testing IAC + cmd """ |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
315 self.setUp() |
|
52972
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
316 self.dataq.put(data) |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
317 telnet = telnetlib.Telnet(HOST, self.port) |
|
52972
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
318 self.dataq.join() |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
319 nego = nego_collector() |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
320 telnet.set_option_negotiation_callback(nego.do_nego) |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
321 txt = telnet.read_all() |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
322 cmd = nego.seen |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
323 self.assertTrue(len(cmd) > 0) # we expect at least one command |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
324 self.assertTrue(cmd[0] in self.cmds) |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
325 self.assertEqual(cmd[1], tl.NOOPT) |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
326 self.assertEqual(len(''.join(data[:-1])), len(txt + cmd)) |
|
52978
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
327 nego.sb_getter = None # break the nego => telnet cycle |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
328 self.tearDown() |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
329 |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
330 def test_IAC_commands(self): |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
331 # reset our setup |
|
52972
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
332 self.dataq.put([EOF_sigil]) |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
333 telnet = telnetlib.Telnet(HOST, self.port) |
|
52972
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
334 self.dataq.join() |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
335 self.tearDown() |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
336 |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
337 for cmd in self.cmds: |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
338 self._test_command(['x' * 100, tl.IAC + cmd, 'y'*100, EOF_sigil]) |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
339 self._test_command(['x' * 10, tl.IAC + cmd, 'y'*10, EOF_sigil]) |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
340 self._test_command([tl.IAC + cmd, EOF_sigil]) |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
341 # all at once |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
342 self._test_command([tl.IAC + cmd for (cmd) in self.cmds] + [EOF_sigil]) |
|
52972
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
343 self.assertEqual('', telnet.read_sb_data()) |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
344 |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
345 def test_SB_commands(self): |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
346 # RFC 855, subnegotiations portion |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
347 send = [tl.IAC + tl.SB + tl.IAC + tl.SE, |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
348 tl.IAC + tl.SB + tl.IAC + tl.IAC + tl.IAC + tl.SE, |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
349 tl.IAC + tl.SB + tl.IAC + tl.IAC + 'aa' + tl.IAC + tl.SE, |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
350 tl.IAC + tl.SB + 'bb' + tl.IAC + tl.IAC + tl.IAC + tl.SE, |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
351 tl.IAC + tl.SB + 'cc' + tl.IAC + tl.IAC + 'dd' + tl.IAC + tl.SE, |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
352 EOF_sigil, |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
353 ] |
|
52972
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
354 self.dataq.put(send) |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
355 telnet = telnetlib.Telnet(HOST, self.port) |
|
52972
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
356 self.dataq.join() |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
357 nego = nego_collector(telnet.read_sb_data) |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
358 telnet.set_option_negotiation_callback(nego.do_nego) |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
359 txt = telnet.read_all() |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
360 self.assertEqual(txt, '') |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
361 want_sb_data = tl.IAC + tl.IAC + 'aabb' + tl.IAC + 'cc' + tl.IAC + 'dd' |
|
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
362 self.assertEqual(nego.sb_seen, want_sb_data) |
|
52972
41e7202e9f93
eliminate more race conditions in telnetlib tests
Jack Diederich <jackdied@gmail.com>
parents:
52962
diff
changeset
|
363 self.assertEqual('', telnet.read_sb_data()) |
|
52978
109941015703
- Make timing assertions very generous (a la test_timeout.py)
Jack Diederich <jackdied@gmail.com>
parents:
52972
diff
changeset
|
364 nego.sb_getter = None # break the nego => telnet cycle |
|
41323
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
365 |
|
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
366 def test_main(verbose=None): |
|
52928
e363958fcd70
test the telnetlib.Telnet interface more thoroughly
Jack Diederich <jackdied@gmail.com>
parents:
47372
diff
changeset
|
367 test_support.run_unittest(GeneralTests, ReadTests, OptionTests) |
|
41323
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
368 |
|
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
369 if __name__ == '__main__': |
|
3fd8f06577ff
Added timout parameter to telnetlib.Telnet. Also created
Facundo Batista <facundobatista@gmail.com>
parents:
diff
changeset
|
370 test_main() |
