Skip to content

Commit 5eb30f0

Browse files
committed
coverage: Remove some old low-value unit tests for graph traversal
These tests might have originally been useful as an implementation aid, but now they don't provide enough value to justify the burden of updating them as the underlying code changes. The code they test is still exercised by the main end-to-end coverage tests.
1 parent cd0c944 commit 5eb30f0

File tree

2 files changed

+0
-111
lines changed

2 files changed

+0
-111
lines changed

compiler/rustc_mir_transform/src/coverage/counters.rs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -168,11 +168,6 @@ impl CoverageCounters {
168168
self.counter_increment_sites.len()
169169
}
170170

171-
#[cfg(test)]
172-
pub(super) fn num_expressions(&self) -> usize {
173-
self.expressions.len()
174-
}
175-
176171
fn set_bcb_counter(&mut self, bcb: BasicCoverageBlock, counter_kind: BcbCounter) -> BcbCounter {
177172
if let Some(replaced) = self.bcb_counters[bcb].replace(counter_kind) {
178173
bug!(

compiler/rustc_mir_transform/src/coverage/tests.rs

Lines changed: 0 additions & 106 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
//! globals is comparatively simpler. The easiest way is to wrap the test in a closure argument
2525
//! to: `rustc_span::create_default_session_globals_then(|| { test_here(); })`.
2626
27-
use super::counters;
2827
use super::graph::{self, BasicCoverageBlock};
2928

3029
use itertools::Itertools;
@@ -551,108 +550,3 @@ fn test_covgraph_switchint_loop_then_inner_loop_else_break() {
551550
assert_successors(&basic_coverage_blocks, bcb(5), &[bcb(1)]);
552551
assert_successors(&basic_coverage_blocks, bcb(6), &[bcb(4)]);
553552
}
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

Comments
 (0)