@@ -223,24 +223,20 @@ fn print_mir_graphviz(name: &str, mir_body: &Body<'_>) {
223
223
}
224
224
}
225
225
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 ) {
231
227
if PRINT_GRAPHS {
232
228
println ! (
233
229
"digraph {} {{\n {}\n }}" ,
234
230
name,
235
- basic_coverage_blocks
231
+ graph
236
232
. iter_enumerated( )
237
233
. map( |( bcb, bcb_data) | {
238
234
format!(
239
235
" {:?} [label=\" {:?}: {}\" ];\n {}" ,
240
236
bcb,
241
237
bcb,
242
238
mir_body[ bcb_data. last_bb( ) ] . terminator( ) . kind. name( ) ,
243
- basic_coverage_blocks
239
+ graph
244
240
. successors( bcb)
245
241
. map( |successor| { format!( " {:?} -> {:?};" , bcb, successor) } )
246
242
. join( "\n " )
@@ -300,11 +296,11 @@ fn goto_switchint<'a>() -> Body<'a> {
300
296
301
297
#[ track_caller]
302
298
fn assert_successors (
303
- basic_coverage_blocks : & graph:: CoverageGraph ,
299
+ graph : & graph:: CoverageGraph ,
304
300
bcb : BasicCoverageBlock ,
305
301
expected_successors : & [ BasicCoverageBlock ] ,
306
302
) {
307
- let mut successors = basic_coverage_blocks . successors [ bcb] . clone ( ) ;
303
+ let mut successors = graph . successors [ bcb] . clone ( ) ;
308
304
successors. sort_unstable ( ) ;
309
305
assert_eq ! ( successors, expected_successors) ;
310
306
}
@@ -315,8 +311,8 @@ fn test_covgraph_goto_switchint() {
315
311
if false {
316
312
eprintln ! ( "basic_blocks = {}" , debug_basic_blocks( & mir_body) ) ;
317
313
}
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 ) ;
320
316
/*
321
317
┌──────────────┐ ┌─────────────────┐
322
318
│ bcb2: Return │ ◀── │ bcb0: SwitchInt │
@@ -328,16 +324,11 @@ fn test_covgraph_goto_switchint() {
328
324
│ bcb1: Return │
329
325
└─────────────────┘
330
326
*/
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 <_>>( ) ) ;
337
328
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 ) , & [ ] ) ;
341
332
}
342
333
343
334
/// Create a mock `Body` with a loop.
@@ -383,12 +374,8 @@ fn switchint_then_loop_else_return<'a>() -> Body<'a> {
383
374
#[ test]
384
375
fn test_covgraph_switchint_then_loop_else_return ( ) {
385
376
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) ;
392
379
/*
393
380
┌─────────────────┐
394
381
│ bcb0: Call │
@@ -408,17 +395,12 @@ fn test_covgraph_switchint_then_loop_else_return() {
408
395
│ │
409
396
└─────────────────────────────────────┘
410
397
*/
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 <_>>( ) ) ;
417
399
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 ) ] ) ;
422
404
}
423
405
424
406
/// Create a mock `Body` with nested loops.
@@ -494,11 +476,11 @@ fn switchint_loop_then_inner_loop_else_break<'a>() -> Body<'a> {
494
476
#[ test]
495
477
fn test_covgraph_switchint_loop_then_inner_loop_else_break ( ) {
496
478
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) ;
498
480
print_coverage_graphviz (
499
481
"covgraph_switchint_loop_then_inner_loop_else_break" ,
500
482
& mir_body,
501
- & basic_coverage_blocks ,
483
+ & graph ,
502
484
) ;
503
485
/*
504
486
┌─────────────────┐
@@ -531,18 +513,13 @@ fn test_covgraph_switchint_loop_then_inner_loop_else_break() {
531
513
│ │
532
514
└────────────────────────────────────────────┘
533
515
*/
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 ) ] ) ;
548
525
}
0 commit comments