@@ -223,24 +223,20 @@ fn print_mir_graphviz(name: &str, mir_body: &Body<'_>) {
223223 }
224224}
225225
226- fn print_coverage_graphviz (
227- name : & str ,
228- mir_body : & Body < ' _ > ,
229- basic_coverage_blocks : & graph:: CoverageGraph ,
230- ) {
226+ fn print_coverage_graphviz ( name : & str , mir_body : & Body < ' _ > , graph : & graph:: CoverageGraph ) {
231227 if PRINT_GRAPHS {
232228 println ! (
233229 "digraph {} {{\n {}\n }}" ,
234230 name,
235- basic_coverage_blocks
231+ graph
236232 . iter_enumerated( )
237233 . map( |( bcb, bcb_data) | {
238234 format!(
239235 " {:?} [label=\" {:?}: {}\" ];\n {}" ,
240236 bcb,
241237 bcb,
242238 mir_body[ bcb_data. last_bb( ) ] . terminator( ) . kind. name( ) ,
243- basic_coverage_blocks
239+ graph
244240 . successors( bcb)
245241 . map( |successor| { format!( " {:?} -> {:?};" , bcb, successor) } )
246242 . join( "\n " )
@@ -300,11 +296,11 @@ fn goto_switchint<'a>() -> Body<'a> {
300296
301297#[ track_caller]
302298fn assert_successors (
303- basic_coverage_blocks : & graph:: CoverageGraph ,
299+ graph : & graph:: CoverageGraph ,
304300 bcb : BasicCoverageBlock ,
305301 expected_successors : & [ BasicCoverageBlock ] ,
306302) {
307- let mut successors = basic_coverage_blocks . successors [ bcb] . clone ( ) ;
303+ let mut successors = graph . successors [ bcb] . clone ( ) ;
308304 successors. sort_unstable ( ) ;
309305 assert_eq ! ( successors, expected_successors) ;
310306}
@@ -315,8 +311,8 @@ fn test_covgraph_goto_switchint() {
315311 if false {
316312 eprintln ! ( "basic_blocks = {}" , debug_basic_blocks( & mir_body) ) ;
317313 }
318- let basic_coverage_blocks = graph:: CoverageGraph :: from_mir ( & mir_body) ;
319- print_coverage_graphviz ( "covgraph_goto_switchint " , & mir_body, & basic_coverage_blocks ) ;
314+ let graph = graph:: CoverageGraph :: from_mir ( & mir_body) ;
315+ print_coverage_graphviz ( "covgraph_goto_switchint " , & mir_body, & graph ) ;
320316 /*
321317 ┌──────────────┐ ┌─────────────────┐
322318 │ bcb2: Return │ ◀── │ bcb0: SwitchInt │
@@ -328,16 +324,11 @@ fn test_covgraph_goto_switchint() {
328324 │ bcb1: Return │
329325 └─────────────────┘
330326 */
331- assert_eq ! (
332- basic_coverage_blocks. num_nodes( ) ,
333- 3 ,
334- "basic_coverage_blocks: {:?}" ,
335- basic_coverage_blocks. iter_enumerated( ) . collect:: <Vec <_>>( )
336- ) ;
327+ assert_eq ! ( graph. num_nodes( ) , 3 , "graph: {:?}" , graph. iter_enumerated( ) . collect:: <Vec <_>>( ) ) ;
337328
338- assert_successors ( & basic_coverage_blocks , bcb ( 0 ) , & [ bcb ( 1 ) , bcb ( 2 ) ] ) ;
339- assert_successors ( & basic_coverage_blocks , bcb ( 1 ) , & [ ] ) ;
340- assert_successors ( & basic_coverage_blocks , bcb ( 2 ) , & [ ] ) ;
329+ assert_successors ( & graph , bcb ( 0 ) , & [ bcb ( 1 ) , bcb ( 2 ) ] ) ;
330+ assert_successors ( & graph , bcb ( 1 ) , & [ ] ) ;
331+ assert_successors ( & graph , bcb ( 2 ) , & [ ] ) ;
341332}
342333
343334/// Create a mock `Body` with a loop.
@@ -383,12 +374,8 @@ fn switchint_then_loop_else_return<'a>() -> Body<'a> {
383374#[ test]
384375fn test_covgraph_switchint_then_loop_else_return ( ) {
385376 let mir_body = switchint_then_loop_else_return ( ) ;
386- let basic_coverage_blocks = graph:: CoverageGraph :: from_mir ( & mir_body) ;
387- print_coverage_graphviz (
388- "covgraph_switchint_then_loop_else_return" ,
389- & mir_body,
390- & basic_coverage_blocks,
391- ) ;
377+ let graph = graph:: CoverageGraph :: from_mir ( & mir_body) ;
378+ print_coverage_graphviz ( "covgraph_switchint_then_loop_else_return" , & mir_body, & graph) ;
392379 /*
393380 ┌─────────────────┐
394381 │ bcb0: Call │
@@ -408,17 +395,12 @@ fn test_covgraph_switchint_then_loop_else_return() {
408395 │ │
409396 └─────────────────────────────────────┘
410397 */
411- assert_eq ! (
412- basic_coverage_blocks. num_nodes( ) ,
413- 4 ,
414- "basic_coverage_blocks: {:?}" ,
415- basic_coverage_blocks. iter_enumerated( ) . collect:: <Vec <_>>( )
416- ) ;
398+ assert_eq ! ( graph. num_nodes( ) , 4 , "graph: {:?}" , graph. iter_enumerated( ) . collect:: <Vec <_>>( ) ) ;
417399
418- assert_successors ( & basic_coverage_blocks , bcb ( 0 ) , & [ bcb ( 1 ) ] ) ;
419- assert_successors ( & basic_coverage_blocks , bcb ( 1 ) , & [ bcb ( 2 ) , bcb ( 3 ) ] ) ;
420- assert_successors ( & basic_coverage_blocks , bcb ( 2 ) , & [ ] ) ;
421- assert_successors ( & basic_coverage_blocks , bcb ( 3 ) , & [ bcb ( 1 ) ] ) ;
400+ assert_successors ( & graph , bcb ( 0 ) , & [ bcb ( 1 ) ] ) ;
401+ assert_successors ( & graph , bcb ( 1 ) , & [ bcb ( 2 ) , bcb ( 3 ) ] ) ;
402+ assert_successors ( & graph , bcb ( 2 ) , & [ ] ) ;
403+ assert_successors ( & graph , bcb ( 3 ) , & [ bcb ( 1 ) ] ) ;
422404}
423405
424406/// Create a mock `Body` with nested loops.
@@ -494,11 +476,11 @@ fn switchint_loop_then_inner_loop_else_break<'a>() -> Body<'a> {
494476#[ test]
495477fn test_covgraph_switchint_loop_then_inner_loop_else_break ( ) {
496478 let mir_body = switchint_loop_then_inner_loop_else_break ( ) ;
497- let basic_coverage_blocks = graph:: CoverageGraph :: from_mir ( & mir_body) ;
479+ let graph = graph:: CoverageGraph :: from_mir ( & mir_body) ;
498480 print_coverage_graphviz (
499481 "covgraph_switchint_loop_then_inner_loop_else_break" ,
500482 & mir_body,
501- & basic_coverage_blocks ,
483+ & graph ,
502484 ) ;
503485 /*
504486 ┌─────────────────┐
@@ -531,18 +513,13 @@ fn test_covgraph_switchint_loop_then_inner_loop_else_break() {
531513 │ │
532514 └────────────────────────────────────────────┘
533515 */
534- assert_eq ! (
535- basic_coverage_blocks. num_nodes( ) ,
536- 7 ,
537- "basic_coverage_blocks: {:?}" ,
538- basic_coverage_blocks. iter_enumerated( ) . collect:: <Vec <_>>( )
539- ) ;
540-
541- assert_successors ( & basic_coverage_blocks, bcb ( 0 ) , & [ bcb ( 1 ) ] ) ;
542- assert_successors ( & basic_coverage_blocks, bcb ( 1 ) , & [ bcb ( 2 ) , bcb ( 3 ) ] ) ;
543- assert_successors ( & basic_coverage_blocks, bcb ( 2 ) , & [ ] ) ;
544- assert_successors ( & basic_coverage_blocks, bcb ( 3 ) , & [ bcb ( 4 ) ] ) ;
545- assert_successors ( & basic_coverage_blocks, bcb ( 4 ) , & [ bcb ( 5 ) , bcb ( 6 ) ] ) ;
546- assert_successors ( & basic_coverage_blocks, bcb ( 5 ) , & [ bcb ( 1 ) ] ) ;
547- assert_successors ( & basic_coverage_blocks, bcb ( 6 ) , & [ bcb ( 4 ) ] ) ;
516+ assert_eq ! ( graph. num_nodes( ) , 7 , "graph: {:?}" , graph. iter_enumerated( ) . collect:: <Vec <_>>( ) ) ;
517+
518+ assert_successors ( & graph, bcb ( 0 ) , & [ bcb ( 1 ) ] ) ;
519+ assert_successors ( & graph, bcb ( 1 ) , & [ bcb ( 2 ) , bcb ( 3 ) ] ) ;
520+ assert_successors ( & graph, bcb ( 2 ) , & [ ] ) ;
521+ assert_successors ( & graph, bcb ( 3 ) , & [ bcb ( 4 ) ] ) ;
522+ assert_successors ( & graph, bcb ( 4 ) , & [ bcb ( 5 ) , bcb ( 6 ) ] ) ;
523+ assert_successors ( & graph, bcb ( 5 ) , & [ bcb ( 1 ) ] ) ;
524+ assert_successors ( & graph, bcb ( 6 ) , & [ bcb ( 4 ) ] ) ;
548525}
0 commit comments