|
24 | 24 | //! globals is comparatively simpler. The easiest way is to wrap the test in a closure argument
|
25 | 25 | //! to: `rustc_span::create_default_session_globals_then(|| { test_here(); })`.
|
26 | 26 |
|
27 |
| -use super::counters; |
28 | 27 | use super::graph::{self, BasicCoverageBlock};
|
29 | 28 |
|
30 | 29 | use itertools::Itertools;
|
@@ -551,108 +550,3 @@ fn test_covgraph_switchint_loop_then_inner_loop_else_break() {
|
551 | 550 | assert_successors(&basic_coverage_blocks, bcb(5), &[bcb(1)]);
|
552 | 551 | assert_successors(&basic_coverage_blocks, bcb(6), &[bcb(4)]);
|
553 | 552 | }
|
554 |
| - |
555 |
| -#[test] |
556 |
| -fn test_find_loop_backedges_none() { |
557 |
| - let mir_body = goto_switchint(); |
558 |
| - let basic_coverage_blocks = graph::CoverageGraph::from_mir(&mir_body); |
559 |
| - if false { |
560 |
| - eprintln!( |
561 |
| - "basic_coverage_blocks = {:?}", |
562 |
| - basic_coverage_blocks.iter_enumerated().collect::<Vec<_>>() |
563 |
| - ); |
564 |
| - eprintln!("successors = {:?}", basic_coverage_blocks.successors); |
565 |
| - } |
566 |
| - let backedges = graph::find_loop_backedges(&basic_coverage_blocks); |
567 |
| - assert_eq!( |
568 |
| - backedges.iter_enumerated().map(|(_bcb, backedges)| backedges.len()).sum::<usize>(), |
569 |
| - 0, |
570 |
| - "backedges: {:?}", |
571 |
| - backedges |
572 |
| - ); |
573 |
| -} |
574 |
| - |
575 |
| -#[test] |
576 |
| -fn test_find_loop_backedges_one() { |
577 |
| - let mir_body = switchint_then_loop_else_return(); |
578 |
| - let basic_coverage_blocks = graph::CoverageGraph::from_mir(&mir_body); |
579 |
| - let backedges = graph::find_loop_backedges(&basic_coverage_blocks); |
580 |
| - assert_eq!( |
581 |
| - backedges.iter_enumerated().map(|(_bcb, backedges)| backedges.len()).sum::<usize>(), |
582 |
| - 1, |
583 |
| - "backedges: {:?}", |
584 |
| - backedges |
585 |
| - ); |
586 |
| - |
587 |
| - assert_eq!(backedges[bcb(1)], &[bcb(3)]); |
588 |
| -} |
589 |
| - |
590 |
| -#[test] |
591 |
| -fn test_find_loop_backedges_two() { |
592 |
| - let mir_body = switchint_loop_then_inner_loop_else_break(); |
593 |
| - let basic_coverage_blocks = graph::CoverageGraph::from_mir(&mir_body); |
594 |
| - let backedges = graph::find_loop_backedges(&basic_coverage_blocks); |
595 |
| - assert_eq!( |
596 |
| - backedges.iter_enumerated().map(|(_bcb, backedges)| backedges.len()).sum::<usize>(), |
597 |
| - 2, |
598 |
| - "backedges: {:?}", |
599 |
| - backedges |
600 |
| - ); |
601 |
| - |
602 |
| - assert_eq!(backedges[bcb(1)], &[bcb(5)]); |
603 |
| - assert_eq!(backedges[bcb(4)], &[bcb(6)]); |
604 |
| -} |
605 |
| - |
606 |
| -#[test] |
607 |
| -fn test_traverse_coverage_with_loops() { |
608 |
| - let mir_body = switchint_loop_then_inner_loop_else_break(); |
609 |
| - let basic_coverage_blocks = graph::CoverageGraph::from_mir(&mir_body); |
610 |
| - let mut traversed_in_order = Vec::new(); |
611 |
| - let mut traversal = graph::TraverseCoverageGraphWithLoops::new(&basic_coverage_blocks); |
612 |
| - while let Some(bcb) = traversal.next() { |
613 |
| - traversed_in_order.push(bcb); |
614 |
| - } |
615 |
| - |
616 |
| - // bcb0 is visited first. Then bcb1 starts the first loop, and all remaining nodes, *except* |
617 |
| - // bcb6 are inside the first loop. |
618 |
| - assert_eq!( |
619 |
| - *traversed_in_order.last().expect("should have elements"), |
620 |
| - bcb(6), |
621 |
| - "bcb6 should not be visited until all nodes inside the first loop have been visited" |
622 |
| - ); |
623 |
| -} |
624 |
| - |
625 |
| -#[test] |
626 |
| -fn test_make_bcb_counters() { |
627 |
| - rustc_span::create_default_session_globals_then(|| { |
628 |
| - let mir_body = goto_switchint(); |
629 |
| - let basic_coverage_blocks = graph::CoverageGraph::from_mir(&mir_body); |
630 |
| - // Historically this test would use `spans` internals to set up fake |
631 |
| - // coverage spans for BCBs 1 and 2. Now we skip that step and just tell |
632 |
| - // BCB counter construction that those BCBs have spans. |
633 |
| - let bcb_has_coverage_spans = |bcb: BasicCoverageBlock| (1..=2).contains(&bcb.as_usize()); |
634 |
| - let coverage_counters = counters::CoverageCounters::make_bcb_counters( |
635 |
| - &basic_coverage_blocks, |
636 |
| - bcb_has_coverage_spans, |
637 |
| - ); |
638 |
| - assert_eq!(coverage_counters.num_expressions(), 0); |
639 |
| - |
640 |
| - assert_eq!( |
641 |
| - 0, // bcb1 has a `Counter` with id = 0 |
642 |
| - match coverage_counters.bcb_counter(bcb(1)).expect("should have a counter") { |
643 |
| - counters::BcbCounter::Counter { id, .. } => id, |
644 |
| - _ => panic!("expected a Counter"), |
645 |
| - } |
646 |
| - .as_u32() |
647 |
| - ); |
648 |
| - |
649 |
| - assert_eq!( |
650 |
| - 1, // bcb2 has a `Counter` with id = 1 |
651 |
| - match coverage_counters.bcb_counter(bcb(2)).expect("should have a counter") { |
652 |
| - counters::BcbCounter::Counter { id, .. } => id, |
653 |
| - _ => panic!("expected a Counter"), |
654 |
| - } |
655 |
| - .as_u32() |
656 |
| - ); |
657 |
| - }); |
658 |
| -} |
0 commit comments