@@ -1349,6 +1349,51 @@ host_test!(RunMakeFullDeps {
1349
1349
1350
1350
default_test ! ( Assembly { path: "tests/assembly" , mode: "assembly" , suite: "assembly" } ) ;
1351
1351
1352
+ #[ derive( Debug , Copy , Clone , PartialEq , Eq , Hash ) ]
1353
+ pub struct Coverage {
1354
+ pub compiler : Compiler ,
1355
+ pub target : TargetSelection ,
1356
+ }
1357
+
1358
+ impl Coverage {
1359
+ const SUITE : & ' static str = "coverage" ;
1360
+ }
1361
+
1362
+ impl Step for Coverage {
1363
+ type Output = ( ) ;
1364
+ const DEFAULT : bool = false ;
1365
+ const ONLY_HOSTS : bool = false ;
1366
+
1367
+ fn should_run ( run : ShouldRun < ' _ > ) -> ShouldRun < ' _ > {
1368
+ run. alias ( Self :: SUITE )
1369
+ }
1370
+
1371
+ fn make_run ( run : RunConfig < ' _ > ) {
1372
+ let compiler = run. builder . compiler ( run. builder . top_stage , run. build_triple ( ) ) ;
1373
+
1374
+ run. builder . ensure ( Coverage { compiler, target : run. target } ) ;
1375
+ }
1376
+
1377
+ fn run ( self , builder : & Builder < ' _ > ) {
1378
+ builder. ensure ( Compiletest {
1379
+ compiler : self . compiler ,
1380
+ target : self . target ,
1381
+ mode : "coverage-map" ,
1382
+ suite : "coverage-map" ,
1383
+ path : "tests/coverage-map" ,
1384
+ compare_mode : None ,
1385
+ } ) ;
1386
+ builder. ensure ( Compiletest {
1387
+ compiler : self . compiler ,
1388
+ target : self . target ,
1389
+ mode : "run-coverage" ,
1390
+ suite : "run-coverage" ,
1391
+ path : "tests/run-coverage" ,
1392
+ compare_mode : None ,
1393
+ } ) ;
1394
+ }
1395
+ }
1396
+
1352
1397
default_test ! ( CoverageMap {
1353
1398
path: "tests/coverage-map" ,
1354
1399
mode: "coverage-map" ,
0 commit comments