Crates.io | bolero-honggfuzz |
lib.rs | bolero-honggfuzz |
version | |
source | src |
created_at | 2019-10-16 02:38:24.590655+00 |
updated_at | 2025-02-27 00:17:36.976453+00 |
description | honggfuzz plugin for bolero |
homepage | https://github.com/camshaft/bolero |
repository | https://github.com/camshaft/bolero |
max_upload_size | |
id | 172860 |
Cargo.toml error: | TOML parse error at line 18, column 1 | 18 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include` |
size | 0 |
fuzz and property testing front-end for Rust
A copy of the Bolero Book can be found here: http://camshaft.github.io/bolero
Install subcommand and add a dependency
$ cargo add --dev bolero
$ cargo install -f cargo-bolero
Write a test using bolero::check!
macro:
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));
}
Run the test with cargo bolero
$ cargo bolero test fuzz_add
# ... some moments later ...
======================== Test Failure ========================
Input:
(
12976,
14867,
)
Error:
test returned `false`
==============================================================
cargo-bolero
needs a couple of libraries installed to compile. If these libraries aren't
available the requirement can be relaxed by executing cargo install cargo-bolero --no-default-features -f
$ sudo apt install binutils-dev libunwind-dev