diff options
author | Carl Lerche <me@carllerche.com> | 2019-06-26 17:06:56 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-06-26 17:06:56 -0700 |
commit | 1f47ed3dcc4b582315cdbfb195495d7d4c76d3f3 (patch) | |
tree | 0b9ca199a6b5e5539d75e4fe46dbc7563bb1b20c /tokio/tests/io_read_exact.rs | |
parent | e9aaacddbda25eeb56a40e4f5e85d616d5e08b74 (diff) |
tokio: rewrite io_read.rs test to use async/await (#1207)
This simplifies the test
Diffstat (limited to 'tokio/tests/io_read_exact.rs')
-rw-r--r-- | tokio/tests/io_read_exact.rs | 25 |
1 files changed, 8 insertions, 17 deletions
diff --git a/tokio/tests/io_read_exact.rs b/tokio/tests/io_read_exact.rs index 94e35514..1e3ab4ed 100644 --- a/tokio/tests/io_read_exact.rs +++ b/tokio/tests/io_read_exact.rs @@ -1,17 +1,15 @@ #![deny(warnings, rust_2018_idioms)] +#![feature(async_await)] use tokio::io::{AsyncRead, AsyncReadExt}; -use tokio_test::assert_ready_ok; -use tokio_test::task::MockTask; +use tokio_test::assert_ok; -use pin_utils::pin_mut; -use std::future::Future; use std::io; use std::pin::Pin; use std::task::{Context, Poll}; -#[test] -fn read_exact() { +#[tokio::test] +async fn read_exact() { struct Rd { val: &'static [u8; 11], } @@ -31,16 +29,9 @@ fn read_exact() { } let mut buf = Box::new([0; 8]); - let mut task = MockTask::new(); + let mut rd = Rd { val: b"hello world" }; - task.enter(|cx| { - let mut rd = Rd { val: b"hello world" }; - - let read = rd.read_exact(&mut buf[..]); - pin_mut!(read); - - let n = assert_ready_ok!(read.poll(cx)); - assert_eq!(n, 8); - assert_eq!(buf[..], b"hello wo"[..]); - }); + let n = assert_ok!(rd.read_exact(&mut buf[..]).await); + assert_eq!(n, 8); + assert_eq!(buf[..], b"hello wo"[..]); } |