@@ -943,6 +943,7 @@ define_config! {
943
943
jobs: Option <u32 > = "jobs" ,
944
944
compiletest_diff_tool: Option <String > = "compiletest-diff-tool" ,
945
945
ccache: Option <StringOrBool > = "ccache" ,
946
+ exclude: Option <Vec <PathBuf >> = "exclude" ,
946
947
}
947
948
}
948
949
@@ -1374,22 +1375,6 @@ impl Config {
1374
1375
"flags.exclude" = ?flags. exclude
1375
1376
) ;
1376
1377
1377
- config. skip = flags
1378
- . skip
1379
- . into_iter ( )
1380
- . chain ( flags. exclude )
1381
- . map ( |p| {
1382
- // Never return top-level path here as it would break `--skip`
1383
- // logic on rustc's internal test framework which is utilized
1384
- // by compiletest.
1385
- if cfg ! ( windows) {
1386
- PathBuf :: from ( p. to_str ( ) . unwrap ( ) . replace ( '/' , "\\ " ) )
1387
- } else {
1388
- p
1389
- }
1390
- } )
1391
- . collect ( ) ;
1392
-
1393
1378
#[ cfg( feature = "tracing" ) ]
1394
1379
span ! (
1395
1380
target: "CONFIG_HANDLING" ,
@@ -1635,8 +1620,29 @@ impl Config {
1635
1620
jobs,
1636
1621
compiletest_diff_tool,
1637
1622
mut ccache,
1623
+ exclude,
1638
1624
} = toml. build . unwrap_or_default ( ) ;
1639
1625
1626
+ let mut paths: Vec < PathBuf > = flags. skip . into_iter ( ) . chain ( flags. exclude ) . collect ( ) ;
1627
+
1628
+ if let Some ( exclude) = exclude {
1629
+ paths. extend ( exclude) ;
1630
+ }
1631
+
1632
+ config. skip = paths
1633
+ . into_iter ( )
1634
+ . map ( |p| {
1635
+ // Never return top-level path here as it would break `--skip`
1636
+ // logic on rustc's internal test framework which is utilized
1637
+ // by compiletest.
1638
+ if cfg ! ( windows) {
1639
+ PathBuf :: from ( p. to_str ( ) . unwrap ( ) . replace ( '/' , "\\ " ) )
1640
+ } else {
1641
+ p
1642
+ }
1643
+ } )
1644
+ . collect ( ) ;
1645
+
1640
1646
config. jobs = Some ( threads_from_config ( flags. jobs . unwrap_or ( jobs. unwrap_or ( 0 ) ) ) ) ;
1641
1647
1642
1648
if let Some ( file_build) = build {
0 commit comments