diff options
author | Robey Pointer <robey@lag.net> | 2005-02-15 15:48:47 +0000 |
---|---|---|
committer | Robey Pointer <robey@lag.net> | 2005-02-15 15:48:47 +0000 |
commit | fb2d7bbdddeefd7c519c5a300b2f810fb364884f (patch) | |
tree | a7c2a512898ad49f8b83dea08464e63a9291526c /tests/test_transport.py | |
parent | c7d56a309d8a1e0b9999cc39e24697f3d45eedcf (diff) |
[project @ Arch-1:robey@lag.net--2003-public%secsh--dev--1.0--patch-146]
raise better exception on empty key
raise a clearer exception when trying to create an empty key.
Diffstat (limited to 'tests/test_transport.py')
-rw-r--r-- | tests/test_transport.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/test_transport.py b/tests/test_transport.py index 3e51485d..71ca140d 100644 --- a/tests/test_transport.py +++ b/tests/test_transport.py @@ -311,3 +311,37 @@ class TransportTest (unittest.TestCase): self.assertEquals('communist j. cat\n', f.readline()) chan.close() self.assertEquals('', f.readline()) + + def test_9_exit_status(self): + """ + verify that get_exit_status() works. + """ + host_key = RSAKey.from_private_key_file('tests/test_rsa.key') + public_host_key = RSAKey(data=str(host_key)) + self.ts.add_server_key(host_key) + event = threading.Event() + server = NullServer() + self.assert_(not event.isSet()) + self.ts.start_server(event, server) + self.tc.ultra_debug = True + self.tc.connect(hostkey=public_host_key) + self.tc.auth_password(username='slowdive', password='pygmalion') + event.wait(1.0) + self.assert_(event.isSet()) + self.assert_(self.ts.is_active()) + + chan = self.tc.open_session() + schan = self.ts.accept(1.0) + self.assert_(chan.exec_command('yes')) + schan.send('Hello there.\n') + # trigger an EOF + schan.shutdown_read() + schan.shutdown_write() + schan.send_exit_status(23) + schan.close() + + f = chan.makefile() + self.assertEquals('Hello there.\n', f.readline()) + self.assertEquals('', f.readline()) + self.assertEquals(23, chan.recv_exit_status()) + chan.close() |