diff options
| author | Ryan Williams <rdw@lindenlab.com> | 2009-11-29 02:18:18 -0500 |
|---|---|---|
| committer | Ryan Williams <rdw@lindenlab.com> | 2009-11-29 02:18:18 -0500 |
| commit | 92d9739f2d936039fef138cfe46ed2aaa41ecdb4 (patch) | |
| tree | d2c8ee56e606aad019e34080807f0fac201033c3 /tests/stdlib | |
| parent | 1b6fe06cb95b2f6f7d97f317769d8a0c171478f8 (diff) | |
| download | eventlet-92d9739f2d936039fef138cfe46ed2aaa41ecdb4.tar.gz | |
Greened asyncore.
Diffstat (limited to 'tests/stdlib')
| -rw-r--r-- | tests/stdlib/test_asyncore.py | 51 | ||||
| -rw-r--r-- | tests/stdlib/test_ftplib.py | 2 |
2 files changed, 53 insertions, 0 deletions
diff --git a/tests/stdlib/test_asyncore.py b/tests/stdlib/test_asyncore.py new file mode 100644 index 0000000..0617c87 --- /dev/null +++ b/tests/stdlib/test_asyncore.py @@ -0,0 +1,51 @@ +from eventlet import patcher +from eventlet.green import asyncore +from eventlet.green import select +from eventlet.green import socket +from eventlet.green import threading +from eventlet.green import time + +patcher.inject("test.test_asyncore", + globals(), + ('asyncore', asyncore), + ('select', select), + ('socket', socket), + ('threading', threading), + ('time', time)) + +def new_closeall_check(self, usedefault): + # Check that close_all() closes everything in a given map + + l = [] + testmap = {} + for i in range(10): + c = dummychannel() + l.append(c) + self.assertEqual(c.socket.closed, False) + testmap[i] = c + + if usedefault: + # the only change we make is to not assign to asyncore.socket_map + # because doing so fails to assign to the real asyncore's socket_map + # and thus the test fails + socketmap = asyncore.socket_map.copy() + try: + asyncore.socket_map.clear() + asyncore.socket_map.update(testmap) + asyncore.close_all() + finally: + testmap = asyncore.socket_map.copy() + asyncore.socket_map.clear() + asyncore.socket_map.update(socketmap) + else: + asyncore.close_all(testmap) + + self.assertEqual(len(testmap), 0) + + for c in l: + self.assertEqual(c.socket.closed, True) + +HelperFunctionTests.closeall_check = new_closeall_check + +if __name__ == "__main__": + test_main()
\ No newline at end of file diff --git a/tests/stdlib/test_ftplib.py b/tests/stdlib/test_ftplib.py index 7317af4..0bff132 100644 --- a/tests/stdlib/test_ftplib.py +++ b/tests/stdlib/test_ftplib.py @@ -1,10 +1,12 @@ from eventlet import patcher +from eventlet.green import asyncore from eventlet.green import ftplib from eventlet.green import threading from eventlet.green import socket patcher.inject('test.test_ftplib', globals(), + ('asyncore', asyncore), ('ftplib', ftplib), ('socket', socket), ('threading', threading)) |
