Expand description
Mutation testing orchestrator.
This module coordinates the mutation testing workflow, including:
- Filtering source files for mutation
- Managing mutation handlers per file
- Running mutations in parallel with caching
- Aggregating results and reporting
Re-exportsยง
use std::collections::BTreeMap;๐use std::collections::BTreeSet;๐use std::collections::HashSet;๐use std::path::Path;๐use std::path::PathBuf;๐use std::sync::Arc;๐use std::sync::atomic::AtomicBool;๐use std::sync::atomic::Ordering;๐use std::time::Instant;๐use alloy_primitives::keccak256;๐use eyre::Result;๐use eyre::WrapErr;๐use foundry_cli::utils::FoundryPathExt;๐use foundry_common::compile::ProjectCompiler;๐use foundry_common::sh_println;๐use foundry_compilers::Language;๐use foundry_compilers::ProjectCompileOutput;๐use foundry_compilers::compilers::multi::MultiCompiler;๐use foundry_compilers::compilers::multi::MultiCompilerLanguage;๐use foundry_compilers::utils::source_files_iter;๐use foundry_config::Config;๐use foundry_config::filter::GlobMatcher;๐use foundry_evm::backend::Backend;๐use foundry_evm::core::evm::FoundryEvmNetwork;๐use foundry_evm::executors::ExecutorBuilder;๐use foundry_evm::fork::Fork;๐use foundry_evm::opts::EvmOpts;๐use crate::cmd::test::FilterArgs;๐use crate::cmd::test::RerunFailure;๐use crate::mutation::MutationHandler;๐use crate::mutation::MutationProgress;๐use crate::mutation::MutationReporter;๐use crate::mutation::MutationsSummary;๐use crate::mutation::mutant::Mutant;๐use crate::mutation::mutant::MutationResult;๐use crate::mutation::mutant::MutationType;๐use crate::mutation::runner::MutationEvmConfig;๐use crate::mutation::runner::run_mutations_parallel_with_progress;๐use crate::mutation::type_analysis::collect_mutation_exclusions;๐use crate::mutation::type_analysis::normalize_path;๐
Structsยง
- Artifact
Cache ๐Fingerprint - Execution
Cache ๐Fingerprint - Filter
Args ๐Fingerprint - Mutation
RunConfig - Configuration for mutation testing run.
- Mutation
RunResult - Result of a mutation testing run.
Functionsยง
- filter_
args_ ๐fingerprint - mutation_
compile_ ๐sources - mutation_
execution_ ๐cache_ key - Build the cache discriminator for mutation results.
- mutation_
execution_ ๐cache_ key_ from_ parts_ with_ rerun_ failures - partition_
adaptively_ ๐skipped_ mutants - project_
relative_ ๐path - resolve_
mutate_ ๐paths - Resolve which paths to mutate based on configuration.
- run_
mutation_ testing - Run mutation testing on the project.