aboutsummaryrefslogtreecommitdiffstats
path: root/tests/basic.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/basic.rs')
-rw-r--r--tests/basic.rs70
1 files changed, 29 insertions, 41 deletions
diff --git a/tests/basic.rs b/tests/basic.rs
index ed75e60..fd74463 100644
--- a/tests/basic.rs
+++ b/tests/basic.rs
@@ -22,65 +22,53 @@ fn test_cat_blocking() {
}
#[cfg(feature = "async")]
+#[tokio::main]
#[test]
-fn test_cat_async() {
+async fn test_cat_async() {
use futures::stream::StreamExt as _;
use tokio::io::AsyncWriteExt as _;
- let status = tokio::runtime::Builder::new_multi_thread()
- .enable_all()
- .build()
- .unwrap()
- .block_on(async {
- let mut pty = pty_process::Pty::new().unwrap();
- let pts = pty.pts().unwrap();
- pty.resize(pty_process::Size::new(24, 80)).unwrap();
- let mut child =
- pty_process::Command::new("cat").spawn(&pts).unwrap();
+ let mut pty = pty_process::Pty::new().unwrap();
+ let pts = pty.pts().unwrap();
+ pty.resize(pty_process::Size::new(24, 80)).unwrap();
+ let mut child = pty_process::Command::new("cat").spawn(&pts).unwrap();
- let (pty_r, mut pty_w) = pty.split();
+ let (pty_r, mut pty_w) = pty.split();
- pty_w.write_all(b"foo\n").await.unwrap();
+ pty_w.write_all(b"foo\n").await.unwrap();
- let mut output = helpers::output_async(pty_r);
- assert_eq!(output.next().await.unwrap(), "foo\r\n");
- assert_eq!(output.next().await.unwrap(), "foo\r\n");
+ let mut output = helpers::output_async(pty_r);
+ assert_eq!(output.next().await.unwrap(), "foo\r\n");
+ assert_eq!(output.next().await.unwrap(), "foo\r\n");
- pty_w.write_all(&[4u8]).await.unwrap();
- child.wait().await.unwrap()
- });
+ pty_w.write_all(&[4u8]).await.unwrap();
+ let status = child.wait().await.unwrap();
assert_eq!(status.code().unwrap(), 0);
}
#[cfg(feature = "async")]
+#[tokio::main]
#[test]
-fn test_yes_async() {
+async fn test_yes_async() {
use tokio::io::AsyncReadExt as _;
- tokio::runtime::Builder::new_multi_thread()
- .enable_all()
- .build()
- .unwrap()
- .block_on(async {
- let mut pty = pty_process::Pty::new().unwrap();
- let pts = pty.pts().unwrap();
- pty.resize(pty_process::Size::new(24, 80)).unwrap();
- let mut child =
- pty_process::Command::new("yes").spawn(&pts).unwrap();
+ let mut pty = pty_process::Pty::new().unwrap();
+ let pts = pty.pts().unwrap();
+ pty.resize(pty_process::Size::new(24, 80)).unwrap();
+ let mut child = pty_process::Command::new("yes").spawn(&pts).unwrap();
- let mut buf = [0u8; 3];
+ let mut buf = [0u8; 3];
- let bytes = pty.read_buf(&mut &mut buf[..]).await.unwrap();
- assert_eq!(&buf[..bytes], b"y\r\n");
+ let bytes = pty.read_buf(&mut &mut buf[..]).await.unwrap();
+ assert_eq!(&buf[..bytes], b"y\r\n");
- let (mut pty_r, _pty_w) = pty.split();
- let bytes = pty_r.read_buf(&mut &mut buf[..]).await.unwrap();
- assert_eq!(&buf[..bytes], b"y\r\n");
+ let (mut pty_r, _pty_w) = pty.split();
+ let bytes = pty_r.read_buf(&mut &mut buf[..]).await.unwrap();
+ assert_eq!(&buf[..bytes], b"y\r\n");
- let (mut pty_r, _pty_w) = pty.into_split();
- let bytes = pty_r.read_buf(&mut &mut buf[..]).await.unwrap();
- assert_eq!(&buf[..bytes], b"y\r\n");
+ let (mut pty_r, _pty_w) = pty.into_split();
+ let bytes = pty_r.read_buf(&mut &mut buf[..]).await.unwrap();
+ assert_eq!(&buf[..bytes], b"y\r\n");
- child.kill().await.unwrap()
- });
+ child.kill().await.unwrap()
}