12个版本 (重大更新)
0.11.0 | 2024年6月8日 |
---|---|
0.10.0 | 2023年9月28日 |
0.9.0 | 2023年3月21日 |
0.8.0 | 2022年10月27日 |
0.2.0 | 2019年10月16日 |
483 在 测试 类别中排名
21,854 每月下载量
在 27 个crate中使用 27 (2 个直接使用)
655KB
16K SLoC
包含 (Mach-o 可执行文件, 335KB) CrashReport_Yosemite.o、(Mach-o 可执行文件, 320KB) CrashReport_Mavericks.o、(Mach-o 可执行文件, 310KB) CrashReport_Mountain_Lion.o、(Mach-o 可执行文件, 335KB) CrashReport_Sierra.o
bolero
Rust的模糊和属性测试前端
书籍
Bolero书籍的副本可以在这里找到: http://camshaft.github.io/bolero
快速入门
-
安装子命令并添加依赖
$ cargo add --dev bolero $ cargo install -f cargo-bolero
-
使用
bolero::check!
宏编写测试pub fn buggy_add(x: u32, y: u32) -> u32 { if x == 12976 && y == 14867 { return x.wrapping_sub(y); } return x.wrapping_add(y); } #[test] fn fuzz_add() { bolero::check!() .with_type() .cloned() .for_each(|(a, b)| buggy_add(a, b) == a.wrapping_add(b)); }
-
使用
cargo bolero
$ cargo bolero test fuzz_add # ... some moments later ... ======================== Test Failure ======================== Input: ( 12976, 14867, ) Error: test returned `false` ==============================================================
Linux安装
cargo-bolero
需要安装一些库来编译。如果这些库不可用,可以通过执行cargo install cargo-bolero --no-default-features -f
Debian/Ubuntu
$ sudo apt install binutils-dev libunwind-dev