annotate test_cosocket.py @ 34:b4fab248d1eb

Added a bunch of files from http://hg.toolness.com/cosocket
author Atul Varma <varmaa@toolness.com>
date Thu, 24 Dec 2009 15:40:39 -0800
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
34
b4fab248d1eb Added a bunch of files from http://hg.toolness.com/cosocket
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
1 import cosocket
b4fab248d1eb Added a bunch of files from http://hg.toolness.com/cosocket
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
2 import unittest
b4fab248d1eb Added a bunch of files from http://hg.toolness.com/cosocket
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
3
b4fab248d1eb Added a bunch of files from http://hg.toolness.com/cosocket
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
4 class Tests(unittest.TestCase):
b4fab248d1eb Added a bunch of files from http://hg.toolness.com/cosocket
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
5 PORT = 38424
b4fab248d1eb Added a bunch of files from http://hg.toolness.com/cosocket
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
6 IP = '127.0.0.1'
b4fab248d1eb Added a bunch of files from http://hg.toolness.com/cosocket
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
7
b4fab248d1eb Added a bunch of files from http://hg.toolness.com/cosocket
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
8 def testSimple(self):
b4fab248d1eb Added a bunch of files from http://hg.toolness.com/cosocket
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
9 done = dict(client = 0, server = 0, connection = 0)
b4fab248d1eb Added a bunch of files from http://hg.toolness.com/cosocket
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
10
b4fab248d1eb Added a bunch of files from http://hg.toolness.com/cosocket
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
11 def server_coroutine():
b4fab248d1eb Added a bunch of files from http://hg.toolness.com/cosocket
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
12 yield cosocket.until_listening((self.IP, self.PORT))
b4fab248d1eb Added a bunch of files from http://hg.toolness.com/cosocket
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
13 cosocket.AsyncChatCoroutine(client_coroutine())
b4fab248d1eb Added a bunch of files from http://hg.toolness.com/cosocket
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
14 conn, addr = yield cosocket.until_connection_accepted()
b4fab248d1eb Added a bunch of files from http://hg.toolness.com/cosocket
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
15 cosocket.AsyncChatCoroutine(connection_coroutine(addr), conn)
b4fab248d1eb Added a bunch of files from http://hg.toolness.com/cosocket
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
16 done['server'] += 1
b4fab248d1eb Added a bunch of files from http://hg.toolness.com/cosocket
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
17
b4fab248d1eb Added a bunch of files from http://hg.toolness.com/cosocket
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
18 def client_coroutine():
b4fab248d1eb Added a bunch of files from http://hg.toolness.com/cosocket
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
19 yield cosocket.until_connected((self.IP, self.PORT))
b4fab248d1eb Added a bunch of files from http://hg.toolness.com/cosocket
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
20 yield cosocket.until_sent('hai2u\r\n')
b4fab248d1eb Added a bunch of files from http://hg.toolness.com/cosocket
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
21 data = yield cosocket.until_received(terminator = '\r\n')
b4fab248d1eb Added a bunch of files from http://hg.toolness.com/cosocket
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
22 self.assertEqual(data, 'hai2u')
b4fab248d1eb Added a bunch of files from http://hg.toolness.com/cosocket
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
23 done['client'] += 1
b4fab248d1eb Added a bunch of files from http://hg.toolness.com/cosocket
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
24
b4fab248d1eb Added a bunch of files from http://hg.toolness.com/cosocket
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
25 def connection_coroutine(addr):
b4fab248d1eb Added a bunch of files from http://hg.toolness.com/cosocket
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
26 data = yield cosocket.until_received('\r\n')
b4fab248d1eb Added a bunch of files from http://hg.toolness.com/cosocket
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
27 yield cosocket.until_sent(data + '\r\n')
b4fab248d1eb Added a bunch of files from http://hg.toolness.com/cosocket
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
28 done['connection'] += 1
b4fab248d1eb Added a bunch of files from http://hg.toolness.com/cosocket
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
29
b4fab248d1eb Added a bunch of files from http://hg.toolness.com/cosocket
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
30 cosocket.AsyncChatCoroutine(server_coroutine())
b4fab248d1eb Added a bunch of files from http://hg.toolness.com/cosocket
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
31 cosocket.loop()
b4fab248d1eb Added a bunch of files from http://hg.toolness.com/cosocket
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
32 self.assertEqual(done['server'], 1)
b4fab248d1eb Added a bunch of files from http://hg.toolness.com/cosocket
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
33
b4fab248d1eb Added a bunch of files from http://hg.toolness.com/cosocket
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
34 if __name__ == '__main__':
b4fab248d1eb Added a bunch of files from http://hg.toolness.com/cosocket
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
35 unittest.main()