diff options
author | Krzysztof Rusek <kr292291@students.mimuw.edu.pl> | 2016-02-11 16:51:19 +0100 |
---|---|---|
committer | Jeff Forcier <jeff@bitprophet.org> | 2016-06-09 10:39:35 -0700 |
commit | caa842bf5d5b59002e8277f55ccd29c531aea08e (patch) | |
tree | 8e34077bf47768560703985277c3e7302fcd2143 /tests | |
parent | 7bd8e93a0e16729c7d348cf5d4b90e62083991d4 (diff) |
Issue #537 reproduction test and fix
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_transport.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/test_transport.py b/tests/test_transport.py index 5069e5b0..d81ad8f3 100644 --- a/tests/test_transport.py +++ b/tests/test_transport.py @@ -828,3 +828,21 @@ class TransportTest(unittest.TestCase): hostkey=public_host_key, username='slowdive', password='pygmalion') + + def test_M_select_after_close(self): + """ + verify that select works when a channel is already closed. + """ + self.setup_test_server() + chan = self.tc.open_session() + chan.invoke_shell() + schan = self.ts.accept(1.0) + schan.close() + + # give client a moment to receive close notification + time.sleep(0.1) + + r, w, e = select.select([chan], [], [], 0.1) + self.assertEqual([chan], r) + self.assertEqual([], w) + self.assertEqual([], e) |