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

Function test_branch_coverage

src/feedback/observer.rs:313–339  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

311
312 #[test]
313 fn test_branch_coverage() -> Result<()> {
314 crate::config::Config::init_test("cJSON");
315 let deopt = Deopt::new("cJSON".to_string())?;
316 let executor = Executor::new(&deopt)?;
317
318 let profdata: PathBuf = [
319 Deopt::get_crate_dir()?,
320 "testsuites",
321 "corpora",
322 "defualt.profdata",
323 ]
324 .iter()
325 .collect();
326 let coverage = Executor::obtain_cov_from_profdata(&executor, &profdata)?;
327 let clang_branch = coverage.get_total_summary().count_covered_branches();
328 let clang_total_branch: usize = coverage.get_total_summary().count_total_branches();
329 log::info!("clang coverage: covered: {clang_branch}, total: {clang_total_branch}");
330
331 let mut observer = Observer::new(&deopt);
332 observer.merge_coverage(&coverage);
333 log::info!("self coverage: {}", observer.dump_global_states());
334
335 let covered_clang_branch = coverage.get_covered_branch();
336 let covered_observer_branch = observer.get_covered_branch();
337 assert_eq!(covered_clang_branch.len(), covered_observer_branch.len());
338 Ok(())
339 }
340}

Callers

nothing calls this directly

Calls 5

get_total_summaryMethod · 0.80
count_total_branchesMethod · 0.80
merge_coverageMethod · 0.80
get_covered_branchMethod · 0.45

Tested by

no test coverage detected