Crate chaos_theory

Crate chaos_theory 

Source
Expand description

chaos_theory is a modern property-based testing and structure-aware fuzzing library.

Modules§

make
Collection of built-in generator implementations.

Macros§

assume
Mark the current test case as invalid if the expression is false.
fuzz_target_libfuzzer_sys
Define a libfuzzer_sys fuzz target.
vdbg
dbg wrapper that checks Source::should_log.
veprintln
eprintln wrapper that checks Source::should_log.
vprintln
println wrapper that checks Source::should_log.

Structs§

Config
Custom configuration for Env.
Env
Environment and settings for chaos_theory magic.
Gen
Type-erased generator of T, implemented as a boxed trait object.
GenShared
Thread-safe type-erased generator of T, implemented as a boxed trait object.
Source
Primary interface for working with pseudo-random data.
SourceRaw
Lower-level variant of Source, primarily for use in Generator implementations.

Enums§

Effect
Result of the Source::repeat or SourceRaw::repeat step.
MaybeOwned
Type that represents either owned or borrowed values.

Traits§

Arbitrary
A trait for types that have a default Generator implementation.
Generator
A trait for types that describe composable generation of values.
OptionExt
Utility trait to give Option an OptionExt::assume_some helper.

Functions§

check
Check that property holds (does not panic).
fuzz_check
Check that property holds (does not panic) on fuzzer-provided input.
fuzz_mutate
Mutate fuzzer input.
fuzz_mutate_crossover
Cross-over two fuzzer inputs.
fuzz_write_seed
Write seed input for the fuzzer. This can conveniently be done from an ignored test.