Mercurial > bzapi
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 |
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() |