#io #testing #read-write #io-write #chunks #data #tiny

dribble

使用小块数据对 Read 和 Write 的压力测试实现

2 个版本 (1 个稳定版)

使用旧的 Rust 2015

1.0.0 2015 年 5 月 25 日
0.1.0 2015 年 5 月 24 日

#65#chunks


snappy_framed 使用

MIT 许可证

6KB
62

Build Status Latest version License

文档

dribble 库可以帮助您通过传递小而随机的数据块来测试 Rust 特性 std::io::Readstd::io::Write 的实现。这允许您对接近缓冲区边界的代码进行压力测试。

将以下内容放置在您的 Cargo.toml 文件中

[dev-dependencies]
dribble = "*"

并将以下内容放置在您的顶级库文件中

#[cfg(test)] extern crate dribble;

以小块读取数据

use std::io::{Cursor, Read};
use dribble::DribbleReader;

let input = b"This is my test data";
let mut cursor = Cursor::new(input as &[u8]);
let mut dribble = DribbleReader::new(&mut cursor);
let mut output = vec!();
dribble.read_to_end(&mut output).unwrap();

assert_eq!(input as &[u8], &output as &[u8]);

以小块写入数据

use std::io::Write;
use dribble::DribbleWriter;

let input = b"This is my test data";
let mut output = vec!();
{
    let mut dribble = DribbleWriter::new(&mut output);
    dribble.write(input).unwrap();
}

assert_eq!(input as &[u8], &output as &[u8]);

依赖关系

~310KB