Skip to main content

Crate bcore_mutation

Crate bcore_mutation 

Source
Expand description

§Mutation Core

A mutation testing tool for Bitcoin Core written in Rust.

This library provides functionality to:

  • Generate mutants for Bitcoin Core source code
  • Analyze mutants by running tests against them
  • Generate detailed reports of surviving mutants
  • AST-based arid node detection to filter unproductive mutants

§Example

use bcore_mutation::mutation;
use std::collections::HashMap;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Generate mutants for a specific file with AST filtering
    mutation::run_mutation(
        None,                    // PR number
        Some("src/test.cpp".into()), // file path
        false,                   // one_mutant
        false,                   // only_security_mutations
        None,                    // range_lines
        None,                    // coverage
        false,                   // test_only
        HashMap::new(),          // skip_lines
        true,                    // enable_ast_filtering
        None,                    // custom_expert_rule
    ).await?;

    Ok(())
}

Re-exports§

pub use error::MutationError;
pub use error::Result;

Modules§

analyze
ast_analysis
coverage
error
git_changes
mutation
operators
prelude
Re-export commonly used types
report