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

Method save_err_program

src/deopt.rs:554–584  ·  view source on GitHub ↗
(
        &mut self,
        program: &Program,
        err_msg: &ProgramError,
    )

Source from the content-addressed store, hash-verified

552 }
553
554 pub fn save_err_program(
555 &mut self,
556 program: &Program,
557 err_msg: &ProgramError,
558 ) -> Result<PathBuf> {
559 let save_dir = self.get_library_error_seed_dir()?;
560
561 let save_dir: PathBuf = match err_msg {
562 ProgramError::Syntax(_) => [save_dir.clone(), "syntax".into()].iter().collect(),
563 ProgramError::Link(_) => [save_dir.clone(), "link".into()].iter().collect(),
564 ProgramError::Execute(_) => [save_dir.clone(), "execute".into()].iter().collect(),
565 ProgramError::Fuzzer(_) => [save_dir.clone(), "fuzzer".into()].iter().collect(),
566 ProgramError::Coverage(_) => [save_dir.clone(), "coverage".into()].iter().collect(),
567 ProgramError::Hang(_) => [save_dir.clone(), "hang".into()].iter().collect(),
568 };
569 utils::create_dir_if_nonexist(&save_dir)?;
570 let seed_path: PathBuf = [
571 save_dir,
572 format!("id_{number:>0width$}.cc", number = program.id, width = 6).into(),
573 ]
574 .iter()
575 .collect();
576 let content = [
577 utils::format_library_header_strings(self).to_string(),
578 program.serialize(),
579 err_msg.get_err_msg(),
580 ]
581 .concat();
582 std::fs::write(&seed_path, content)?;
583 Ok(seed_path)
584 }
585
586 pub fn load_programs_from_seeds(&mut self) -> Result<()> {
587 self.seed_queue.clear();

Callers 2

recheck_seedMethod · 0.80

Calls 5

create_dir_if_nonexistFunction · 0.85
get_err_msgMethod · 0.80
serializeMethod · 0.45

Tested by

no test coverage detected