@@ -936,6 +936,7 @@ define_config! {
936
936
jobs: Option <u32 > = "jobs" ,
937
937
compiletest_diff_tool: Option <String > = "compiletest-diff-tool" ,
938
938
ccache: Option <StringOrBool > = "ccache" ,
939
+ exclude: Option <Vec <PathBuf >> = "exclude" ,
939
940
}
940
941
}
941
942
@@ -1365,22 +1366,6 @@ impl Config {
1365
1366
"flags.exclude" = ?flags. exclude
1366
1367
) ;
1367
1368
1368
- config. skip = flags
1369
- . skip
1370
- . into_iter ( )
1371
- . chain ( flags. exclude )
1372
- . map ( |p| {
1373
- // Never return top-level path here as it would break `--skip`
1374
- // logic on rustc's internal test framework which is utilized
1375
- // by compiletest.
1376
- if cfg ! ( windows) {
1377
- PathBuf :: from ( p. to_str ( ) . unwrap ( ) . replace ( '/' , "\\ " ) )
1378
- } else {
1379
- p
1380
- }
1381
- } )
1382
- . collect ( ) ;
1383
-
1384
1369
#[ cfg( feature = "tracing" ) ]
1385
1370
span ! (
1386
1371
target: "CONFIG_HANDLING" ,
@@ -1625,8 +1610,29 @@ impl Config {
1625
1610
jobs,
1626
1611
compiletest_diff_tool,
1627
1612
mut ccache,
1613
+ exclude,
1628
1614
} = toml. build . unwrap_or_default ( ) ;
1629
1615
1616
+ let mut paths: Vec < PathBuf > = flags. skip . into_iter ( ) . chain ( flags. exclude ) . collect ( ) ;
1617
+
1618
+ if let Some ( exclude) = exclude {
1619
+ paths. extend ( exclude) ;
1620
+ }
1621
+
1622
+ config. skip = paths
1623
+ . into_iter ( )
1624
+ . map ( |p| {
1625
+ // Never return top-level path here as it would break `--skip`
1626
+ // logic on rustc's internal test framework which is utilized
1627
+ // by compiletest.
1628
+ if cfg ! ( windows) {
1629
+ PathBuf :: from ( p. to_str ( ) . unwrap ( ) . replace ( '/' , "\\ " ) )
1630
+ } else {
1631
+ p
1632
+ }
1633
+ } )
1634
+ . collect ( ) ;
1635
+
1630
1636
config. jobs = Some ( threads_from_config ( flags. jobs . unwrap_or ( jobs. unwrap_or ( 0 ) ) ) ) ;
1631
1637
1632
1638
if let Some ( file_build) = build {
0 commit comments