diff options
| author | jaimefrites <hootrade@ya.ru> | 2016-09-26 21:02:57 +0300 |
|---|---|---|
| committer | Sergey Shepelev <temotor@gmail.com> | 2017-01-18 01:03:31 +0500 |
| commit | 0fdb1154cb5fa9389034e987f91aaeb0263463fa (patch) | |
| tree | aef350a7afc8f3752006001dd6247d1d2563026e /tests | |
| parent | 0fed9e52ed84f690cd20495375fc06203889f189 (diff) | |
| download | eventlet-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.py | 25 |
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() |
