@@ -57,24 +57,6 @@ fn check_cli<const N: usize>(paths: [&str; N]) {
5757 ) ;
5858}
5959
60- macro_rules! std {
61- ( $host: ident => $target: ident, stage = $stage: literal) => {
62- compile:: Std :: new(
63- Compiler { host: TargetSelection :: from_user( stringify!( $host) ) , stage: $stage } ,
64- TargetSelection :: from_user( stringify!( $target) ) ,
65- )
66- } ;
67- }
68-
69- macro_rules! rustc {
70- ( $host: ident => $target: ident, stage = $stage: literal) => {
71- compile:: Rustc :: new(
72- Compiler { host: TargetSelection :: from_user( stringify!( $host) ) , stage: $stage } ,
73- TargetSelection :: from_user( stringify!( $target) ) ,
74- )
75- } ;
76- }
77-
7860#[ test]
7961fn test_valid ( ) {
8062 // make sure multi suite paths are accepted
@@ -135,17 +117,6 @@ fn test_exclude_kind() {
135117 assert ! ( run_build( & [ path] , config) . contains:: <tool:: CargoTest >( ) ) ;
136118}
137119
138- /// Ensure that if someone passes both a single crate and `library`, all library crates get built.
139- #[ test]
140- fn alias_and_path_for_library ( ) {
141- let mut cache =
142- run_build ( & [ "library" . into ( ) , "core" . into ( ) ] , configure ( "build" , & [ "A" ] , & [ "A" ] ) ) ;
143- assert_eq ! (
144- first( cache. all:: <compile:: Std >( ) ) ,
145- & [ std!( A => A , stage = 0 ) , std!( A => A , stage = 1 ) ]
146- ) ;
147- }
148-
149120mod defaults {
150121 use super :: { configure, first, run_build} ;
151122 use crate :: builder:: * ;
@@ -159,7 +130,10 @@ mod defaults {
159130 let a = TargetSelection :: from_user ( "A" ) ;
160131 assert_eq ! (
161132 first( cache. all:: <compile:: Std >( ) ) ,
162- & [ std!( A => A , stage = 0 ) , std!( A => A , stage = 1 ) , ]
133+ & [
134+ compile:: Std { compiler: Compiler { host: a, stage: 0 } , target: a } ,
135+ compile:: Std { compiler: Compiler { host: a, stage: 1 } , target: a } ,
136+ ]
163137 ) ;
164138 assert ! ( !cache. all:: <compile:: Assemble >( ) . is_empty( ) ) ;
165139 // Make sure rustdoc is only built once.
@@ -169,7 +143,10 @@ mod defaults {
169143 // - this is the compiler it's _linked_ to, not built with.
170144 & [ tool:: Rustdoc { compiler: Compiler { host: a, stage: 1 } } ] ,
171145 ) ;
172- assert_eq ! ( first( cache. all:: <compile:: Rustc >( ) ) , & [ rustc!( A => A , stage = 0 ) ] , ) ;
146+ assert_eq ! (
147+ first( cache. all:: <compile:: Rustc >( ) ) ,
148+ & [ compile:: Rustc { compiler: Compiler { host: a, stage: 0 } , target: a } , ]
149+ ) ;
173150 }
174151
175152 #[ test]
@@ -178,7 +155,10 @@ mod defaults {
178155 let mut cache = run_build ( & [ ] , config) ;
179156
180157 let a = TargetSelection :: from_user ( "A" ) ;
181- assert_eq ! ( first( cache. all:: <compile:: Std >( ) ) , & [ std!( A => A , stage = 0 ) ] ) ;
158+ assert_eq ! (
159+ first( cache. all:: <compile:: Std >( ) ) ,
160+ & [ compile:: Std { compiler: Compiler { host: a, stage: 0 } , target: a } , ]
161+ ) ;
182162 assert ! ( !cache. all:: <compile:: Assemble >( ) . is_empty( ) ) ;
183163 assert_eq ! (
184164 first( cache. all:: <tool:: Rustdoc >( ) ) ,
@@ -205,10 +185,10 @@ mod defaults {
205185 assert_eq ! (
206186 first( cache. all:: <compile:: Std >( ) ) ,
207187 & [
208- std! ( A => A , stage = 0 ) ,
209- std! ( A => A , stage = 1 ) ,
210- std! ( A => B , stage = 0 ) ,
211- std! ( A => B , stage = 1 ) ,
188+ compile :: Std { compiler : Compiler { host : a , stage: 0 } , target : a } ,
189+ compile :: Std { compiler : Compiler { host : a , stage: 1 } , target : a } ,
190+ compile :: Std { compiler : Compiler { host : a , stage: 0 } , target : b } ,
191+ compile :: Std { compiler : Compiler { host : a , stage: 1 } , target : b } ,
212192 ]
213193 ) ;
214194 assert_eq ! (
@@ -228,7 +208,10 @@ mod defaults {
228208 ) ;
229209 assert_eq ! (
230210 first( cache. all:: <compile:: Rustc >( ) ) ,
231- & [ rustc!( A => A , stage = 0 ) , rustc!( A => B , stage = 0 ) , ]
211+ & [
212+ compile:: Rustc { compiler: Compiler { host: a, stage: 0 } , target: a } ,
213+ compile:: Rustc { compiler: Compiler { host: a, stage: 0 } , target: b } ,
214+ ]
232215 ) ;
233216 }
234217
@@ -351,18 +334,19 @@ mod dist {
351334 assert_eq ! (
352335 first( cache. all:: <compile:: Std >( ) ) ,
353336 & [
354- std! ( A => A , stage = 0 ) ,
355- std! ( A => A , stage = 1 ) ,
356- std! ( A => A , stage = 2 ) ,
357- std! ( A => B , stage = 1 ) ,
358- std! ( A => B , stage = 2 ) ,
337+ compile :: Std { compiler : Compiler { host : a , stage: 0 } , target : a } ,
338+ compile :: Std { compiler : Compiler { host : a , stage: 1 } , target : a } ,
339+ compile :: Std { compiler : Compiler { host : a , stage: 2 } , target : a } ,
340+ compile :: Std { compiler : Compiler { host : a , stage: 1 } , target : b } ,
341+ compile :: Std { compiler : Compiler { host : a , stage: 2 } , target : b } ,
359342 ] ,
360343 ) ;
361344 assert_eq ! ( first( cache. all:: <dist:: Src >( ) ) , & [ dist:: Src ] ) ;
362345 }
363346
364347 #[ test]
365348 fn dist_only_cross_host ( ) {
349+ let a = TargetSelection :: from_user ( "A" ) ;
366350 let b = TargetSelection :: from_user ( "B" ) ;
367351 let mut config = configure ( & [ "A" , "B" ] , & [ "A" , "B" ] ) ;
368352 config. docs = false ;
@@ -376,7 +360,10 @@ mod dist {
376360 ) ;
377361 assert_eq ! (
378362 first( cache. all:: <compile:: Rustc >( ) ) ,
379- & [ rustc!( A => A , stage = 0 ) , rustc!( A => B , stage = 1 ) , ]
363+ & [
364+ compile:: Rustc { compiler: Compiler { host: a, stage: 0 } , target: a } ,
365+ compile:: Rustc { compiler: Compiler { host: a, stage: 1 } , target: b } ,
366+ ]
380367 ) ;
381368 }
382369
@@ -463,11 +450,11 @@ mod dist {
463450 assert_eq ! (
464451 first( cache. all:: <compile:: Std >( ) ) ,
465452 & [
466- std! ( A => A , stage = 0 ) ,
467- std! ( A => A , stage = 1 ) ,
468- std! ( A => A , stage = 2 ) ,
469- std! ( A => B , stage = 1 ) ,
470- std! ( A => B , stage = 2 ) ,
453+ compile :: Std { compiler : Compiler { host : a , stage: 0 } , target : a } ,
454+ compile :: Std { compiler : Compiler { host : a , stage: 1 } , target : a } ,
455+ compile :: Std { compiler : Compiler { host : a , stage: 2 } , target : a } ,
456+ compile :: Std { compiler : Compiler { host : a , stage: 1 } , target : b } ,
457+ compile :: Std { compiler : Compiler { host : a , stage: 2 } , target : b } ,
471458 ]
472459 ) ;
473460 assert_eq ! (
@@ -487,29 +474,33 @@ mod dist {
487474 let mut builder = Builder :: new ( & build) ;
488475 builder. run_step_descriptions (
489476 & Builder :: get_step_descriptions ( Kind :: Build ) ,
490- & [ "compiler/rustc" . into ( ) , "library" . into ( ) ] ,
477+ & [ "compiler/rustc" . into ( ) , "library/std " . into ( ) ] ,
491478 ) ;
492479
480+ let a = TargetSelection :: from_user ( "A" ) ;
481+ let b = TargetSelection :: from_user ( "B" ) ;
482+ let c = TargetSelection :: from_user ( "C" ) ;
483+
493484 assert_eq ! (
494485 first( builder. cache. all:: <compile:: Std >( ) ) ,
495486 & [
496- std! ( A => A , stage = 0 ) ,
497- std! ( A => A , stage = 1 ) ,
498- std! ( A => A , stage = 2 ) ,
499- std! ( A => B , stage = 1 ) ,
500- std! ( A => B , stage = 2 ) ,
501- std! ( A => C , stage = 2 ) ,
487+ compile :: Std { compiler : Compiler { host : a , stage: 0 } , target : a } ,
488+ compile :: Std { compiler : Compiler { host : a , stage: 1 } , target : a } ,
489+ compile :: Std { compiler : Compiler { host : a , stage: 2 } , target : a } ,
490+ compile :: Std { compiler : Compiler { host : a , stage: 1 } , target : b } ,
491+ compile :: Std { compiler : Compiler { host : a , stage: 2 } , target : b } ,
492+ compile :: Std { compiler : Compiler { host : a , stage: 2 } , target : c } ,
502493 ]
503494 ) ;
504- assert_eq ! ( builder. cache. all:: <compile:: Assemble >( ) . len ( ) , 5 ) ;
495+ assert ! ( ! builder. cache. all:: <compile:: Assemble >( ) . is_empty ( ) ) ;
505496 assert_eq ! (
506497 first( builder. cache. all:: <compile:: Rustc >( ) ) ,
507498 & [
508- rustc! ( A => A , stage = 0 ) ,
509- rustc! ( A => A , stage = 1 ) ,
510- rustc! ( A => A , stage = 2 ) ,
511- rustc! ( A => B , stage = 1 ) ,
512- rustc! ( A => B , stage = 2 ) ,
499+ compile :: Rustc { compiler : Compiler { host : a , stage: 0 } , target : a } ,
500+ compile :: Rustc { compiler : Compiler { host : a , stage: 1 } , target : a } ,
501+ compile :: Rustc { compiler : Compiler { host : a , stage: 2 } , target : a } ,
502+ compile :: Rustc { compiler : Compiler { host : a , stage: 1 } , target : b } ,
503+ compile :: Rustc { compiler : Compiler { host : a , stage: 2 } , target : b } ,
513504 ]
514505 ) ;
515506 }
@@ -522,10 +513,15 @@ mod dist {
522513 builder. run_step_descriptions ( & Builder :: get_step_descriptions ( Kind :: Build ) , & [ ] ) ;
523514
524515 let a = TargetSelection :: from_user ( "A" ) ;
516+ let c = TargetSelection :: from_user ( "C" ) ;
525517
526518 assert_eq ! (
527519 first( builder. cache. all:: <compile:: Std >( ) ) ,
528- & [ std!( A => A , stage = 0 ) , std!( A => A , stage = 1 ) , std!( A => C , stage = 2 ) , ]
520+ & [
521+ compile:: Std { compiler: Compiler { host: a, stage: 0 } , target: a } ,
522+ compile:: Std { compiler: Compiler { host: a, stage: 1 } , target: a } ,
523+ compile:: Std { compiler: Compiler { host: a, stage: 2 } , target: c } ,
524+ ]
529525 ) ;
530526 assert_eq ! (
531527 first( builder. cache. all:: <compile:: Assemble >( ) ) ,
@@ -537,7 +533,10 @@ mod dist {
537533 ) ;
538534 assert_eq ! (
539535 first( builder. cache. all:: <compile:: Rustc >( ) ) ,
540- & [ rustc!( A => A , stage = 0 ) , rustc!( A => A , stage = 1 ) , ]
536+ & [
537+ compile:: Rustc { compiler: Compiler { host: a, stage: 0 } , target: a } ,
538+ compile:: Rustc { compiler: Compiler { host: a, stage: 1 } , target: a } ,
539+ ]
541540 ) ;
542541 }
543542
0 commit comments