precept

Crates.ioprecept
lib.rsprecept
version
sourcesrc
created_at2025-03-29 20:22:08.556068+00
updated_at2025-03-29 20:22:08.556068+00
descriptionA testing utility for fuzzing and fault injection to discover erroneous and interesting states.
homepagehttps://github.com/orbitinghail/precept
repositoryhttps://github.com/orbitinghail/precept
max_upload_size
id1611660
Cargo.toml error:TOML parse error at line 19, column 1 | 19 | 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`
size0
Carl Sverre (carlsverre)

documentation

README

Precept

This crate is designed to be used in testing and development to aid in finding interesting and erroneous states. It can be used in concert with a guidance system to provide high signal fuzz testing.

The crate offers a few features:

  1. expectations: a set of macros that can be used to check that the program reaches certain states, and that those states are valid. these macros do not cause the program to crash like an assert would. rather they are emitted to a configured collector for later analysis or a configured guidance system to assist with fuzz testing. notably, these macros support tracking when a state is never reached is extremely helpful for automated fuzzing and verifying test correctness

  2. simulation: wrappers around time and randomness to support fast forwarding and better control over randomness when run within a guidance system

  3. fault injection: a fault injection system that allows a guidance system to trigger custom faults in a controlled manner

Credits

Precept is heavily inspired by the official Antithesis Rust SDK.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you shall be dual licensed as above, without any additional terms or conditions.

Commit count: 0

cargo fmt