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测试 类别中排名

Download history 666/week @ 2024-04-14 564/week @ 2024-04-21 615/week @ 2024-04-28 1060/week @ 2024-05-05 975/week @ 2024-05-12 3451/week @ 2024-05-19 4217/week @ 2024-05-26 2764/week @ 2024-06-02 2798/week @ 2024-06-09 2355/week @ 2024-06-16 3586/week @ 2024-06-23 4425/week @ 2024-06-30 6720/week @ 2024-07-07 6635/week @ 2024-07-14 5009/week @ 2024-07-21 3461/week @ 2024-07-28

21,854 每月下载量
27crate中使用 27 (2 个直接使用)

MIT 许可证

655KB
16K SLoC

C 15K SLoC // 0.1% comments Rust 489 SLoC // 0.0% comments Shell 303 SLoC // 0.2% comments

包含 (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

Build Status Latest version Documentation License

Rust的模糊和属性测试前端

书籍

Bolero书籍的副本可以在这里找到: http://camshaft.github.io/bolero

快速入门

  1. 安装子命令并添加依赖

    $ cargo add --dev bolero
    $ cargo install -f cargo-bolero
    
  2. 使用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));
    }
    
  3. 使用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

依赖项