@@ -1349,6 +1349,51 @@ host_test!(RunMakeFullDeps {
13491349
13501350default_test ! ( Assembly { path: "tests/assembly" , mode: "assembly" , suite: "assembly" } ) ;
13511351
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+
13521397default_test ! ( CoverageMap {
13531398 path: "tests/coverage-map" ,
13541399 mode: "coverage-map" ,
0 commit comments