Vendor dependencies
Let's see how I like this workflow.
This commit is contained in:
parent
34d1830413
commit
9c435dc440
7500 changed files with 1665121 additions and 99 deletions
34
vendor/tokio/tests/io_fill_buf.rs
vendored
Normal file
34
vendor/tokio/tests/io_fill_buf.rs
vendored
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
#![warn(rust_2018_idioms)]
|
||||
#![cfg(all(feature = "full", not(tokio_wasi)))] // Wasi does not support file operations
|
||||
|
||||
use tempfile::NamedTempFile;
|
||||
use tokio::fs::File;
|
||||
use tokio::io::{AsyncBufReadExt, BufReader};
|
||||
use tokio_test::assert_ok;
|
||||
|
||||
#[tokio::test]
|
||||
async fn fill_buf_file() {
|
||||
let file = NamedTempFile::new().unwrap();
|
||||
|
||||
assert_ok!(std::fs::write(file.path(), b"hello"));
|
||||
|
||||
let file = assert_ok!(File::open(file.path()).await);
|
||||
let mut file = BufReader::new(file);
|
||||
|
||||
let mut contents = Vec::new();
|
||||
|
||||
loop {
|
||||
let consumed = {
|
||||
let buffer = assert_ok!(file.fill_buf().await);
|
||||
if buffer.is_empty() {
|
||||
break;
|
||||
}
|
||||
contents.extend_from_slice(buffer);
|
||||
buffer.len()
|
||||
};
|
||||
|
||||
file.consume(consumed);
|
||||
}
|
||||
|
||||
assert_eq!(contents, b"hello");
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue