summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2014-09-18 17:49:50 -0700
committerAlex Crichton <alex@alexcrichton.com>2014-09-18 17:49:50 -0700
commitc45c5b0c55cc350d68008dedd6860fdaeaf0440d (patch)
tree1d395c2d66496e4f83afc2209009abcbbbdf906c /tests
parent4ec939804b0a94e6396c311dfb11293e7cac3058 (diff)
downloadssh2-rs-c45c5b0c55cc350d68008dedd6860fdaeaf0440d.zip
Bind and tests many channel-based functions
Diffstat (limited to 'tests')
-rw-r--r--tests/channel.rs45
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");
+}