diff options
Diffstat (limited to 'tests/basic.rs')
-rw-r--r-- | tests/basic.rs | 70 |
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() } |