summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorjaimefrites <hootrade@ya.ru>2016-09-26 21:02:57 +0300
committerSergey Shepelev <temotor@gmail.com>2017-01-18 01:03:31 +0500
commit0fdb1154cb5fa9389034e987f91aaeb0263463fa (patch)
treeaef350a7afc8f3752006001dd6247d1d2563026e /tests
parent0fed9e52ed84f690cd20495375fc06203889f189 (diff)
downloadeventlet-select-294.tar.gz
green.select: fix mark_as_closed() wrong number of argsselect-294
https://github.com/eventlet/eventlet/pull/294
Diffstat (limited to 'tests')
-rw-r--r--tests/green_select_test.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/green_select_test.py b/tests/green_select_test.py
new file mode 100644
index 0000000..e3d6624
--- /dev/null
+++ b/tests/green_select_test.py
@@ -0,0 +1,25 @@
+import eventlet
+from eventlet import hubs
+from eventlet.green import select
+import tests
+original_socket = eventlet.patcher.original('socket')
+
+
+def test_select_mark_file_as_reopened():
+ # https://github.com/eventlet/eventlet/pull/294
+ # Fix API inconsistency in select and Hub.
+ # mark_as_closed takes one argument, but called without arguments.
+ # on_error takes file descriptor, but called with an exception object.
+ s = original_socket.socket()
+ s.setblocking(0)
+ s.bind(('127.0.0.1', 0))
+ s.listen(5)
+
+ gt = eventlet.spawn(select.select, [s], [s], [s])
+ eventlet.sleep(0.01)
+
+ with eventlet.Timeout(0.5) as t:
+ with tests.assert_raises(hubs.IOClosed):
+ hubs.get_hub().mark_as_reopened(s.fileno())
+ gt.wait()
+ t.cancel()