Skip to main content

Module fuzz

Module fuzz 

Source

Re-exportsยง

use crate::executors::DURATION_BETWEEN_METRICS_REPORT; ๐Ÿ”’
use crate::executors::EarlyExit; ๐Ÿ”’
use crate::executors::Executor; ๐Ÿ”’
use crate::executors::FuzzTestTimer; ๐Ÿ”’
use crate::executors::RawCallResult; ๐Ÿ”’
use crate::executors::campaign::CampaignCallKind; ๐Ÿ”’
use crate::executors::campaign::CampaignControl; ๐Ÿ”’
use crate::executors::campaign::CampaignEvent; ๐Ÿ”’
use crate::executors::campaign::FuzzCampaign; ๐Ÿ”’
use crate::executors::campaign::FuzzCampaignMode; ๐Ÿ”’
use crate::executors::corpus::CorpusSyncCoordinator; ๐Ÿ”’
use crate::executors::corpus::GlobalCorpusMetrics; ๐Ÿ”’
use crate::executors::corpus::ReplayTarget; ๐Ÿ”’
use crate::executors::corpus::StatelessReplayTarget; ๐Ÿ”’
use crate::executors::corpus::WorkerCorpus; ๐Ÿ”’
use crate::executors::should_ignore_revert; ๐Ÿ”’
use crate::executors::worker_seed; ๐Ÿ”’
use alloy_dyn_abi::JsonAbiExt; ๐Ÿ”’
use alloy_json_abi::Function; ๐Ÿ”’
use alloy_primitives::Address; ๐Ÿ”’
use alloy_primitives::Bytes; ๐Ÿ”’
use alloy_primitives::Log; ๐Ÿ”’
use alloy_primitives::U256; ๐Ÿ”’
use alloy_primitives::map::HashMap; ๐Ÿ”’
use eyre::Result; ๐Ÿ”’
use foundry_common::sh_println; ๐Ÿ”’
use foundry_common::sh_warn; ๐Ÿ”’
use foundry_config::FuzzConfig; ๐Ÿ”’
use foundry_evm_core::Breakpoints; ๐Ÿ”’
use foundry_evm_core::constants::MAGIC_ASSUME; ๐Ÿ”’
use foundry_evm_core::decode::RevertDecoder; ๐Ÿ”’
use foundry_evm_core::decode::SkipReason; ๐Ÿ”’
use foundry_evm_core::evm::FoundryEvmNetwork; ๐Ÿ”’
use foundry_evm_coverage::HitMaps; ๐Ÿ”’
use foundry_evm_fuzz::BaseCounterExample; ๐Ÿ”’
use foundry_evm_fuzz::BasicTxDetails; ๐Ÿ”’
use foundry_evm_fuzz::CallDetails; ๐Ÿ”’
use foundry_evm_fuzz::CounterExample; ๐Ÿ”’
use foundry_evm_fuzz::FuzzCase; ๐Ÿ”’
use foundry_evm_fuzz::FuzzError; ๐Ÿ”’
use foundry_evm_fuzz::FuzzFixtures; ๐Ÿ”’
use foundry_evm_fuzz::FuzzRunMetadata; ๐Ÿ”’
use foundry_evm_fuzz::FuzzTestResult; ๐Ÿ”’
use foundry_evm_fuzz::strategies::EvmFuzzState; ๐Ÿ”’
use foundry_evm_fuzz::strategies::TxGenerator; ๐Ÿ”’
use foundry_evm_traces::SparsedTraceArena; ๐Ÿ”’
use indicatif::ProgressBar; ๐Ÿ”’
use proptest::test_runner::RngAlgorithm; ๐Ÿ”’
use proptest::test_runner::TestCaseError; ๐Ÿ”’
use proptest::test_runner::TestRng; ๐Ÿ”’
use proptest::test_runner::TestRunner; ๐Ÿ”’
use rayon::iter::IntoParallelIterator; ๐Ÿ”’
use rayon::iter::ParallelIterator; ๐Ÿ”’
use serde_json::json; ๐Ÿ”’
use std::path::PathBuf; ๐Ÿ”’
use std::sync::Arc; ๐Ÿ”’
use std::sync::OnceLock; ๐Ÿ”’
use std::sync::atomic::AtomicBool; ๐Ÿ”’
use std::sync::atomic::AtomicU32; ๐Ÿ”’
use std::sync::atomic::Ordering; ๐Ÿ”’
use std::time::Instant; ๐Ÿ”’
use std::time::SystemTime; ๐Ÿ”’
use std::time::UNIX_EPOCH; ๐Ÿ”’
use frontier::FuzzBranchFrontierArtifact; ๐Ÿ”’
pub(super) use frontier::FuzzBranchFrontier; ๐Ÿ”’
pub(super) use frontier::FuzzFrontierRecorder; ๐Ÿ”’
pub(super) use frontier::StatefulFuzzBranchFrontierArtifact; ๐Ÿ”’
pub(super) use frontier::merge_frontiers; ๐Ÿ”’
pub(super) use frontier::write_frontier_artifact; ๐Ÿ”’

Modulesยง

frontier ๐Ÿ”’
types ๐Ÿ”’

Structsยง

CaseOutcome
Returned by a single fuzz in the case of a successful run
CounterExampleOutcome
Returned by a single fuzz when a counterexample has been discovered
FuzzedExecutor
Wrapper around an Executor which provides fuzzing support using [proptest].
SharedFuzzState ๐Ÿ”’
Shared state for coordinating parallel fuzz workers
WorkerState ๐Ÿ”’

Enumsยง

FuzzOutcome
Outcome of a single fuzz

Constantsยง

MIN_RUNS_PER_WORKER ๐Ÿ”’
Minimum number of runs per worker. This is mainly to reduce the overall number of rayon jobs.
SYNC_INTERVAL ๐Ÿ”’
Corpus syncs across workers every SYNC_INTERVAL runs.