()
| 285 | |
| 286 | #[test] |
| 287 | fn test_observe_branch_coverage() -> Result<()> { |
| 288 | crate::config::Config::init_test("libvpx"); |
| 289 | let mut deopt = Deopt::new("libvpx".to_string())?; |
| 290 | //let executor = Executor::new(&deopt)?; |
| 291 | //let programs = deopt.load_programs_from_seeds(true)?; |
| 292 | //let _ = executor.check_programs_are_correct(&programs, &deopt)?; |
| 293 | |
| 294 | let observer = Observer::sync_from_previous(&mut deopt)?; |
| 295 | let (covered_branch, total_branch) = observer.branches.compute_branch_coverage(); |
| 296 | |
| 297 | deopt.load_programs_from_seeds()?; |
| 298 | let mut observer = Observer::new(&deopt); |
| 299 | for program in deopt.seed_queue.iter() { |
| 300 | let coverage = deopt.get_seed_coverage(program.id)?; |
| 301 | let new_branches = observer.has_new_branch(&coverage); |
| 302 | if !new_branches.is_empty() { |
| 303 | observer.merge_new_branch(&new_branches); |
| 304 | } |
| 305 | } |
| 306 | println!("covered: {covered_branch}, total_branch: {total_branch}"); |
| 307 | let (covered_branch, total_branch) = observer.branches.compute_branch_coverage(); |
| 308 | println!("covered: {covered_branch}, total_branch: {total_branch}"); |
| 309 | Ok(()) |
| 310 | } |
| 311 | |
| 312 | #[test] |
| 313 | fn test_branch_coverage() -> Result<()> { |
nothing calls this directly
no test coverage detected