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

Method compile_seed

src/execution/mod.rs:863–892  ·  view source on GitHub ↗
(&self, seed_id: usize)

Source from the content-addressed store, hash-verified

861 }
862
863 pub fn compile_seed(&self, seed_id: usize) -> Result<()> {
864 let work_seed = self.deopt.get_work_seed_by_id(seed_id)?;
865 if !work_seed.exists() {
866 let seed_path = self.deopt.get_succ_seed_path_by_id(seed_id)?;
867 std::fs::copy(seed_path, &work_seed)?;
868 }
869
870 let binary_out = work_seed.with_extension("out");
871 if !binary_out.exists() {
872 let mut transformer = Transformer::new(&work_seed, &self.deopt)?;
873 transformer.add_fd_sanitizer()?;
874 transformer.preprocess()?;
875 self.compile(
876 vec![&work_seed],
877 &binary_out,
878 crate::execution::Compile::FUZZER,
879 )?;
880 }
881 let fuzzer_binary = work_seed.with_extension("cov.out");
882 if !fuzzer_binary.exists() {
883 self.compile(
884 vec![&work_seed],
885 &fuzzer_binary,
886 crate::execution::Compile::COVERAGE,
887 )?;
888 }
889 self.deopt
890 .copy_library_init_file(&get_file_dirname(&work_seed))?;
891 Ok(())
892 }
893
894 pub fn eval_seed_coverage(&self, seed_id: usize) -> Result<()> {
895 let work_seed = self.deopt.get_work_seed_by_id(seed_id)?;

Callers 3

find_testbed_corporaFunction · 0.80
recheck_seedMethod · 0.80
eval_seed_coverageMethod · 0.80

Calls 7

get_file_dirnameFunction · 0.85
get_work_seed_by_idMethod · 0.80
add_fd_sanitizerMethod · 0.80
preprocessMethod · 0.80
compileMethod · 0.45

Tested by

no test coverage detected