summaryrefslogtreecommitdiff
path: root/tests/stdlib
diff options
context:
space:
mode:
authorRyan Williams <rdw@lindenlab.com>2009-11-29 02:18:18 -0500
committerRyan Williams <rdw@lindenlab.com>2009-11-29 02:18:18 -0500
commit92d9739f2d936039fef138cfe46ed2aaa41ecdb4 (patch)
treed2c8ee56e606aad019e34080807f0fac201033c3 /tests/stdlib
parent1b6fe06cb95b2f6f7d97f317769d8a0c171478f8 (diff)
downloadeventlet-92d9739f2d936039fef138cfe46ed2aaa41ecdb4.tar.gz
Greened asyncore.
Diffstat (limited to 'tests/stdlib')
-rw-r--r--tests/stdlib/test_asyncore.py51
-rw-r--r--tests/stdlib/test_ftplib.py2
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))