MCPcopy Create free account
hub / github.com/FuzzAnything/PromptFuzz / transform

Function transform

src/program/transform.rs:1613–1633  ·  view source on GitHub ↗
(
    deopt: &Deopt,
    program_path: &Path,
    use_cons: bool,
    corpora: Option<PathBuf>,
)

Source from the content-addressed store, hash-verified

1611}
1612
1613pub fn transform(
1614 deopt: &Deopt,
1615 program_path: &Path,
1616 use_cons: bool,
1617 corpora: Option<PathBuf>,
1618) -> Result<()> {
1619 let constraints = super::infer::load_constraints(deopt)?;
1620 if use_cons {
1621 let corpora = corpora.expect("a corpora must be passed when transform with constraints");
1622 let mut transformer = Transformer::new_check(program_path, deopt)?;
1623 let changable_args = transformer.transform_with_execution_check(&constraints, &corpora)?;
1624 let mut transformer = Transformer::new(program_path, deopt)?;
1625 transformer.transform_to_fuzzer(&constraints, changable_args)?;
1626 } else {
1627 let mut transformer = Transformer::new_check(program_path, deopt)?;
1628 let changable_args = Vec::from_iter(0..transformer.get_transform_len(&constraints)?);
1629 let mut transformer = Transformer::new(program_path, deopt)?;
1630 transformer.transform_to_fuzzer(&constraints, changable_args)?;
1631 }
1632 Ok(())
1633}
1634
1635#[cfg(test)]
1636mod tests {

Callers

nothing calls this directly

Calls 4

load_constraintsFunction · 0.85
transform_to_fuzzerMethod · 0.80
get_transform_lenMethod · 0.80

Tested by

no test coverage detected