(
&self,
fuzzer_content: String,
fuzzer_id: usize,
drivers: &[PathBuf],
driver_id: &[usize],
)
| 224 | } |
| 225 | |
| 226 | fn fuse_fuzzer( |
| 227 | &self, |
| 228 | fuzzer_content: String, |
| 229 | fuzzer_id: usize, |
| 230 | drivers: &[PathBuf], |
| 231 | driver_id: &[usize], |
| 232 | ) -> Result<()> { |
| 233 | let fuzzer_dir = self.get_fuzzer_dir(fuzzer_id)?; |
| 234 | crate::deopt::utils::create_dir_if_nonexist(&fuzzer_dir)?; |
| 235 | // write the condensed fuzzer |
| 236 | let fuzzer_path: PathBuf = [fuzzer_dir.clone(), "fuzzer.cc".into()].iter().collect(); |
| 237 | std::fs::write(fuzzer_path, fuzzer_content)?; |
| 238 | |
| 239 | for (id, driver) in drivers.iter().enumerate() { |
| 240 | // write each unit driver with new driver id. |
| 241 | let dst_driver: PathBuf = [fuzzer_dir.clone(), driver.file_name().unwrap().into()] |
| 242 | .iter() |
| 243 | .collect(); |
| 244 | self.change_driver_id(driver, &dst_driver, driver_id[id])?; |
| 245 | } |
| 246 | Ok(()) |
| 247 | } |
| 248 | |
| 249 | fn get_fuzzer_dir(&self, fuzzer_id: usize) -> Result<PathBuf> { |
| 250 | let fuzzer_dir: PathBuf = [ |
no test coverage detected