Expand description
Forge test runner for multiple contracts.
Re-exportsยง
use crate::ContractRunner;๐use crate::TestFilter;๐use crate::progress::TestsProgress;๐use crate::result::SuiteResult;๐use crate::result::SymbolicCounterexampleArtifact;๐use crate::result::SymbolicCounterexampleArtifactKind;๐use crate::runner::ContractRunnerContext;๐use crate::runner::InvariantCampaignScope;๐use crate::runner::count_runnable_invariant_campaign_anchors;๐use crate::runner::function_matches_network_pass;๐use crate::symbolic_regression::SYMBOLIC_REGRESSION_MARKER;๐use alloy_json_abi::Function;๐use alloy_json_abi::JsonAbi;๐use alloy_primitives::Address;๐use alloy_primitives::Bytes;๐use alloy_primitives::ChainId;๐use alloy_primitives::U256;๐use eyre::Result;๐use foundry_cli::opts::configure_pcx_from_compile_output;๐use foundry_common::ContractsByArtifact;๐use foundry_common::ContractsByArtifactBuilder;๐use foundry_common::EmptyTestFilter;๐use foundry_common::LIBRARY_DEPLOYER;๐use foundry_common::TestFunctionKind;๐use foundry_common::external_compiler::external_artifact_is_test_eligible;๐use foundry_common::get_contract_name;๐use foundry_common::namespaced_storage;๐use foundry_compilers::Artifact;๐use foundry_compilers::ArtifactId;๐use foundry_compilers::Compiler;๐use foundry_compilers::ProjectCompileOutput;๐use foundry_compilers::artifacts::Contract;๐use foundry_compilers::artifacts::Libraries;๐use foundry_config::Config;๐use foundry_config::FoundryHardfork;๐use foundry_config::InlineConfig;๐use foundry_evm::backend::Backend;๐use foundry_evm::core::evm::EvmEnvFor;๐use foundry_evm::core::evm::FoundryEvmNetwork;๐use foundry_evm::core::evm::SpecFor;๐use foundry_evm::core::evm::TxEnvFor;๐use foundry_evm::decode::RevertDecoder;๐use foundry_evm::executors::EarlyExit;๐use foundry_evm::executors::Executor;๐use foundry_evm::executors::ExecutorBuilder;๐use foundry_evm::executors::ReplayObservation;๐use foundry_evm::executors::ShowmapDomain;๐use foundry_evm::fuzz::BaseCounterExample;๐use foundry_evm::fuzz::BasicTxDetails;๐use foundry_evm::fuzz::strategies::EnumBounds;๐use foundry_evm::fuzz::strategies::LiteralsDictionary;๐use foundry_evm::inspectors::CheatsConfig;๐use foundry_evm::inspectors::EdgeIndexMap;๐use foundry_evm::opts::EvmOpts;๐use foundry_evm::opts::ExecutionSpecContext;๐use foundry_evm::opts::resolve_execution_spec;๐use foundry_evm::traces::InternalTraceMode;๐use foundry_evm::traces::TraceRequirements;๐use foundry_evm_networks::NetworkVariant;๐use foundry_linking::DetailedLinkOutput;๐use foundry_linking::LinkOutput;๐use foundry_linking::Linker;๐use foundry_linking::LinkerError;๐use foundry_linking::Resolver;๐use std::borrow::Borrow;๐use std::collections::BTreeMap;๐use std::collections::BTreeSet;๐use std::ops::Deref;๐use std::ops::DerefMut;๐use std::path::PathBuf;๐use std::sync::Arc;๐use std::sync::Mutex;๐use std::sync::mpsc;๐use std::time::Instant;๐use rayon::prelude::*;๐
Structsยง
- Fuzz
Failure Replay Config - A validated stateless fuzz failure and its unique replay target.
- Fuzz
Minimize Config - CLI-only options that switch fuzz/invariant tests into single-entry replay mode for corpus minimization.
- Fuzz
Minimize Observation - Replay observation for one matched minimization target.
- Multi
Contract Runner - A multi contract runner receives a set of contracts deployed in an EVM instance and proceeds to run all test functions in these contracts.
- Multi
Contract Runner Builder - Builder used for instantiating the multi-contract runner
- Multi
Network Config - Tracks network assignment across a multi-network test run.
- Showmap
Config - CLI-only options that switch fuzz/invariant tests into corpus replay
mode that emits AFL-
afl-showmap-style coverage files. - Symbolic
Artifact Replay Config - Test
Contract - Test
Function ๐Matcher - Test
Runner Config - Configuration for the test runner.
Enumsยง
- Fuzz
Minimize Mode - Replay behavior required by a fuzz minimization command.
- Library
Deployment - Forge-local library deployment strategy.