@@ -6,7 +6,6 @@ fn configure(cmd: &str, host: &[&str], target: &[&str]) -> Config {
6
6
let mut config = Config :: parse ( & [ cmd. to_owned ( ) ] ) ;
7
7
// don't save toolstates
8
8
config. save_toolstates = None ;
9
- config. skip_only_host_steps = false ;
10
9
config. dry_run = true ;
11
10
config. ninja_in_file = false ;
12
11
// try to avoid spurious failures in dist where we create/delete each others file
@@ -20,16 +19,8 @@ fn configure(cmd: &str, host: &[&str], target: &[&str]) -> Config {
20
19
t ! ( fs:: create_dir_all( & dir) ) ;
21
20
config. out = dir;
22
21
config. build = TargetSelection :: from_user ( "A" ) ;
23
- config. hosts = vec ! [ config. build]
24
- . into_iter ( )
25
- . chain ( host. iter ( ) . map ( |s| TargetSelection :: from_user ( s) ) )
26
- . collect :: < Vec < _ > > ( ) ;
27
- config. targets = config
28
- . hosts
29
- . clone ( )
30
- . into_iter ( )
31
- . chain ( target. iter ( ) . map ( |s| TargetSelection :: from_user ( s) ) )
32
- . collect :: < Vec < _ > > ( ) ;
22
+ config. hosts = host. iter ( ) . map ( |s| TargetSelection :: from_user ( s) ) . collect ( ) ;
23
+ config. targets = target. iter ( ) . map ( |s| TargetSelection :: from_user ( s) ) . collect ( ) ;
33
24
config
34
25
}
35
26
@@ -45,7 +36,7 @@ mod defaults {
45
36
46
37
#[ test]
47
38
fn build_default ( ) {
48
- let build = Build :: new ( configure ( "build" , & [ ] , & [ ] ) ) ;
39
+ let build = Build :: new ( configure ( "build" , & [ "A" ] , & [ "A" ] ) ) ;
49
40
let mut builder = Builder :: new ( & build) ;
50
41
builder. run_step_descriptions ( & Builder :: get_step_descriptions ( Kind :: Build ) , & [ ] ) ;
51
42
@@ -73,7 +64,7 @@ mod defaults {
73
64
74
65
#[ test]
75
66
fn build_stage_0 ( ) {
76
- let config = Config { stage : 0 , ..configure ( "build" , & [ ] , & [ ] ) } ;
67
+ let config = Config { stage : 0 , ..configure ( "build" , & [ "A" ] , & [ "A" ] ) } ;
77
68
let build = Build :: new ( config) ;
78
69
let mut builder = Builder :: new ( & build) ;
79
70
builder. run_step_descriptions ( & Builder :: get_step_descriptions ( Kind :: Build ) , & [ ] ) ;
@@ -95,7 +86,7 @@ mod defaults {
95
86
96
87
#[ test]
97
88
fn build_cross_compile ( ) {
98
- let config = Config { stage : 1 , ..configure ( "build" , & [ "B" ] , & [ "B" ] ) } ;
89
+ let config = Config { stage : 1 , ..configure ( "build" , & [ "A" , " B"] , & [ "A" , "B" ] ) } ;
99
90
let build = Build :: new ( config) ;
100
91
let mut builder = Builder :: new ( & build) ;
101
92
builder. run_step_descriptions ( & Builder :: get_step_descriptions ( Kind :: Build ) , & [ ] ) ;
@@ -143,7 +134,7 @@ mod defaults {
143
134
144
135
#[ test]
145
136
fn doc_default ( ) {
146
- let mut config = configure ( "doc" , & [ ] , & [ ] ) ;
137
+ let mut config = configure ( "doc" , & [ "A" ] , & [ "A" ] ) ;
147
138
config. compiler_docs = true ;
148
139
config. cmd = Subcommand :: Doc { paths : Vec :: new ( ) , open : false } ;
149
140
let build = Build :: new ( config) ;
@@ -182,7 +173,7 @@ mod dist {
182
173
183
174
#[ test]
184
175
fn dist_baseline ( ) {
185
- let build = Build :: new ( configure ( & [ ] , & [ ] ) ) ;
176
+ let build = Build :: new ( configure ( & [ "A" ] , & [ "A" ] ) ) ;
186
177
let mut builder = Builder :: new ( & build) ;
187
178
builder. run_step_descriptions ( & Builder :: get_step_descriptions ( Kind :: Dist ) , & [ ] ) ;
188
179
@@ -208,7 +199,7 @@ mod dist {
208
199
209
200
#[ test]
210
201
fn dist_with_targets ( ) {
211
- let build = Build :: new ( configure ( & [ ] , & [ "B" ] ) ) ;
202
+ let build = Build :: new ( configure ( & [ "A" ] , & [ "A" , "B" ] ) ) ;
212
203
let mut builder = Builder :: new ( & build) ;
213
204
builder. run_step_descriptions ( & Builder :: get_step_descriptions ( Kind :: Dist ) , & [ ] ) ;
214
205
@@ -239,7 +230,7 @@ mod dist {
239
230
240
231
#[ test]
241
232
fn dist_with_hosts ( ) {
242
- let build = Build :: new ( configure ( & [ "B" ] , & [ ] ) ) ;
233
+ let build = Build :: new ( configure ( & [ "A" , " B"] , & [ "A" , "B" ] ) ) ;
243
234
let mut builder = Builder :: new ( & build) ;
244
235
builder. run_step_descriptions ( & Builder :: get_step_descriptions ( Kind :: Dist ) , & [ ] ) ;
245
236
@@ -285,7 +276,7 @@ mod dist {
285
276
fn dist_only_cross_host ( ) {
286
277
let a = TargetSelection :: from_user ( "A" ) ;
287
278
let b = TargetSelection :: from_user ( "B" ) ;
288
- let mut build = Build :: new ( configure ( & [ "B" ] , & [ ] ) ) ;
279
+ let mut build = Build :: new ( configure ( & [ "A" , " B"] , & [ "A" , "B" ] ) ) ;
289
280
build. config . docs = false ;
290
281
build. config . extended = true ;
291
282
build. hosts = vec ! [ b] ;
@@ -307,7 +298,7 @@ mod dist {
307
298
308
299
#[ test]
309
300
fn dist_with_targets_and_hosts ( ) {
310
- let build = Build :: new ( configure ( & [ "B" ] , & [ "C" ] ) ) ;
301
+ let build = Build :: new ( configure ( & [ "A" , " B"] , & [ "A" , "B" , "C" ] ) ) ;
311
302
let mut builder = Builder :: new ( & build) ;
312
303
builder. run_step_descriptions ( & Builder :: get_step_descriptions ( Kind :: Dist ) , & [ ] ) ;
313
304
@@ -342,40 +333,26 @@ mod dist {
342
333
}
343
334
344
335
#[ test]
345
- fn dist_with_target_flag ( ) {
346
- let mut config = configure ( & [ "B" ] , & [ "C" ] ) ;
347
- config. skip_only_host_steps = true ; // as-if --target=C was passed
336
+ fn dist_with_empty_host ( ) {
337
+ let config = configure ( & [ ] , & [ "C" ] ) ;
348
338
let build = Build :: new ( config) ;
349
339
let mut builder = Builder :: new ( & build) ;
350
340
builder. run_step_descriptions ( & Builder :: get_step_descriptions ( Kind :: Dist ) , & [ ] ) ;
351
341
352
342
let a = TargetSelection :: from_user ( "A" ) ;
353
- let b = TargetSelection :: from_user ( "B" ) ;
354
343
let c = TargetSelection :: from_user ( "C" ) ;
355
344
356
- assert_eq ! (
357
- first( builder. cache. all:: <dist:: Docs >( ) ) ,
358
- & [ dist:: Docs { host: a } , dist:: Docs { host: b } , dist:: Docs { host: c } , ]
359
- ) ;
360
- assert_eq ! (
361
- first( builder. cache. all:: <dist:: Mingw >( ) ) ,
362
- & [ dist:: Mingw { host: a } , dist:: Mingw { host: b } , dist:: Mingw { host: c } , ]
363
- ) ;
364
- assert_eq ! ( first( builder. cache. all:: <dist:: Rustc >( ) ) , & [ ] ) ;
345
+ assert_eq ! ( first( builder. cache. all:: <dist:: Docs >( ) ) , & [ dist:: Docs { host: c } , ] ) ;
346
+ assert_eq ! ( first( builder. cache. all:: <dist:: Mingw >( ) ) , & [ dist:: Mingw { host: c } , ] ) ;
365
347
assert_eq ! (
366
348
first( builder. cache. all:: <dist:: Std >( ) ) ,
367
- & [
368
- dist:: Std { compiler: Compiler { host: a, stage: 1 } , target: a } ,
369
- dist:: Std { compiler: Compiler { host: a, stage: 1 } , target: b } ,
370
- dist:: Std { compiler: Compiler { host: a, stage: 2 } , target: c } ,
371
- ]
349
+ & [ dist:: Std { compiler: Compiler { host: a, stage: 2 } , target: c } , ]
372
350
) ;
373
- assert_eq ! ( first( builder. cache. all:: <dist:: Src >( ) ) , & [ ] ) ;
374
351
}
375
352
376
353
#[ test]
377
354
fn dist_with_same_targets_and_hosts ( ) {
378
- let build = Build :: new ( configure ( & [ "B" ] , & [ "B" ] ) ) ;
355
+ let build = Build :: new ( configure ( & [ "A" , " B"] , & [ "A" , "B" ] ) ) ;
379
356
let mut builder = Builder :: new ( & build) ;
380
357
builder. run_step_descriptions ( & Builder :: get_step_descriptions ( Kind :: Dist ) , & [ ] ) ;
381
358
@@ -428,7 +405,7 @@ mod dist {
428
405
429
406
#[ test]
430
407
fn build_all ( ) {
431
- let build = Build :: new ( configure ( & [ "B" ] , & [ "C" ] ) ) ;
408
+ let build = Build :: new ( configure ( & [ "A" , " B"] , & [ "A" , "B" , "C" ] ) ) ;
432
409
let mut builder = Builder :: new ( & build) ;
433
410
builder. run_step_descriptions (
434
411
& Builder :: get_step_descriptions ( Kind :: Build ) ,
@@ -464,25 +441,20 @@ mod dist {
464
441
}
465
442
466
443
#[ test]
467
- fn build_with_target_flag ( ) {
468
- let mut config = configure ( & [ "B" ] , & [ "C" ] ) ;
469
- config. skip_only_host_steps = true ;
444
+ fn build_with_empty_host ( ) {
445
+ let config = configure ( & [ ] , & [ "C" ] ) ;
470
446
let build = Build :: new ( config) ;
471
447
let mut builder = Builder :: new ( & build) ;
472
448
builder. run_step_descriptions ( & Builder :: get_step_descriptions ( Kind :: Build ) , & [ ] ) ;
473
449
474
450
let a = TargetSelection :: from_user ( "A" ) ;
475
- let b = TargetSelection :: from_user ( "B" ) ;
476
451
let c = TargetSelection :: from_user ( "C" ) ;
477
452
478
453
assert_eq ! (
479
454
first( builder. cache. all:: <compile:: Std >( ) ) ,
480
455
& [
481
456
compile:: Std { compiler: Compiler { host: a, stage: 0 } , target: a } ,
482
457
compile:: Std { compiler: Compiler { host: a, stage: 1 } , target: a } ,
483
- compile:: Std { compiler: Compiler { host: a, stage: 2 } , target: a } ,
484
- compile:: Std { compiler: Compiler { host: a, stage: 1 } , target: b } ,
485
- compile:: Std { compiler: Compiler { host: a, stage: 2 } , target: b } ,
486
458
compile:: Std { compiler: Compiler { host: a, stage: 2 } , target: c } ,
487
459
]
488
460
) ;
@@ -505,7 +477,7 @@ mod dist {
505
477
506
478
#[ test]
507
479
fn test_with_no_doc_stage0 ( ) {
508
- let mut config = configure ( & [ ] , & [ ] ) ;
480
+ let mut config = configure ( & [ "A" ] , & [ "A" ] ) ;
509
481
config. stage = 0 ;
510
482
config. cmd = Subcommand :: Test {
511
483
paths : vec ! [ "library/std" . into( ) ] ,
@@ -545,7 +517,7 @@ mod dist {
545
517
546
518
#[ test]
547
519
fn test_exclude ( ) {
548
- let mut config = configure ( & [ ] , & [ ] ) ;
520
+ let mut config = configure ( & [ "A" ] , & [ "A" ] ) ;
549
521
config. exclude = vec ! [ "src/tools/tidy" . into( ) ] ;
550
522
config. cmd = Subcommand :: Test {
551
523
paths : Vec :: new ( ) ,
@@ -572,7 +544,7 @@ mod dist {
572
544
573
545
#[ test]
574
546
fn doc_ci ( ) {
575
- let mut config = configure ( & [ ] , & [ ] ) ;
547
+ let mut config = configure ( & [ "A" ] , & [ "A" ] ) ;
576
548
config. compiler_docs = true ;
577
549
config. cmd = Subcommand :: Doc { paths : Vec :: new ( ) , open : false } ;
578
550
let build = Build :: new ( config) ;
@@ -601,7 +573,7 @@ mod dist {
601
573
#[ test]
602
574
fn test_docs ( ) {
603
575
// Behavior of `x.py test` doing various documentation tests.
604
- let mut config = configure ( & [ ] , & [ ] ) ;
576
+ let mut config = configure ( & [ "A" ] , & [ "A" ] ) ;
605
577
config. cmd = Subcommand :: Test {
606
578
paths : vec ! [ ] ,
607
579
test_args : vec ! [ ] ,
0 commit comments