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