diff options
author | Alex Crichton <alex@alexcrichton.com> | 2014-09-18 17:49:50 -0700 |
---|---|---|
committer | Alex Crichton <alex@alexcrichton.com> | 2014-09-18 17:49:50 -0700 |
commit | c45c5b0c55cc350d68008dedd6860fdaeaf0440d (patch) | |
tree | 1d395c2d66496e4f83afc2209009abcbbbdf906c /tests | |
parent | 4ec939804b0a94e6396c311dfb11293e7cac3058 (diff) | |
download | ssh2-rs-c45c5b0c55cc350d68008dedd6860fdaeaf0440d.zip |
Bind and tests many channel-based functions
Diffstat (limited to 'tests')
-rw-r--r-- | tests/channel.rs | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/channel.rs b/tests/channel.rs index 22f242a..d43e5ef 100644 --- a/tests/channel.rs +++ b/tests/channel.rs @@ -5,8 +5,53 @@ fn smoke() { channel.flush().unwrap(); channel.exec("true").unwrap(); channel.wait_eof().unwrap(); + assert!(channel.eof()); assert_eq!(channel.exit_status().unwrap(), 0); channel.close().unwrap(); channel.wait_close().unwrap(); assert!(channel.eof()); } + +#[test] +fn reading_data() { + let (_tcp, sess) = ::authed_session(); + let mut channel = sess.channel_session().unwrap(); + channel.exec("echo foo").unwrap(); + let output = channel.read_to_string().unwrap(); + assert_eq!(output.as_slice(), "foo\n"); +} + +#[test] +fn writing_data() { + let (_tcp, sess) = ::authed_session(); + let mut channel = sess.channel_session().unwrap(); + channel.exec("read foo && echo $foo").unwrap(); + channel.write(b"foo\n").unwrap(); + channel.close().unwrap(); + let output = channel.read_to_string().unwrap(); + assert_eq!(output.as_slice(), "foo\n"); +} + +#[test] +fn eof() { + let (_tcp, sess) = ::authed_session(); + let mut channel = sess.channel_session().unwrap(); + channel.exec("read foo").unwrap(); + channel.send_eof().unwrap(); + let output = channel.read_to_string().unwrap(); + assert_eq!(output.as_slice(), ""); +} + +#[test] +fn shell() { + let (_tcp, sess) = ::authed_session(); + let mut channel = sess.channel_session().unwrap(); + channel.shell().unwrap(); +} + +#[test] +fn setenv() { + let (_tcp, sess) = ::authed_session(); + let mut channel = sess.channel_session().unwrap(); + let _ = channel.setenv("FOO", "BAR"); +} |