Skip to main content

Module orchestrator

Module orchestrator 

Source
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ยง

ArtifactCacheFingerprint ๐Ÿ”’
ExecutionCacheFingerprint ๐Ÿ”’
FilterArgsFingerprint ๐Ÿ”’
MutationRunConfig
Configuration for mutation testing run.
MutationRunResult
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.