@@ -2319,3 +2319,92 @@ Caused by:
2319
2319
)
2320
2320
. run ( ) ;
2321
2321
}
2322
+
2323
+ #[ cargo_test]
2324
+ fn simple_primary_package_env_var ( ) {
2325
+ let p = project ( )
2326
+ . file (
2327
+ "Cargo.toml" ,
2328
+ r#"
2329
+ [project]
2330
+ name = "foo"
2331
+ version = "0.1.0"
2332
+ authors = []
2333
+
2334
+ [workspace]
2335
+ members = ["bar"]
2336
+ "# ,
2337
+ )
2338
+ . file ( "src/main.rs" , "fn main() {}" )
2339
+ . file (
2340
+ "bar/Cargo.toml" ,
2341
+ r#"
2342
+ [project]
2343
+ name = "bar"
2344
+ version = "0.1.0"
2345
+ authors = []
2346
+ workspace = ".."
2347
+ "# ,
2348
+ )
2349
+ . file ( "bar/src/main.rs" , "fn main() {}" ) ;
2350
+ let p = p. build ( ) ;
2351
+
2352
+ p. cargo ( "build -vv" )
2353
+ . with_stderr_contains (
2354
+ "[RUNNING] [..] CARGO_CRATE_NAME=foo [..] CARGO_PRIMARY_PACKAGE=1 [..]" ,
2355
+ )
2356
+ . run ( ) ;
2357
+
2358
+ // Again, this time selecting a specific crate
2359
+ p. cargo ( "clean" ) . run ( ) ;
2360
+ p. cargo ( "build -vv -p bar" )
2361
+ . with_stderr_contains (
2362
+ "[RUNNING] [..] CARGO_CRATE_NAME=bar [..] CARGO_PRIMARY_PACKAGE=1 [..]" ,
2363
+ )
2364
+ . run ( ) ;
2365
+
2366
+ // Again, this time selecting all crates
2367
+ p. cargo ( "clean" ) . run ( ) ;
2368
+ p. cargo ( "build -vv --all" )
2369
+ . with_stderr_contains (
2370
+ "[RUNNING] [..] CARGO_CRATE_NAME=foo [..] CARGO_PRIMARY_PACKAGE=1 [..]" ,
2371
+ )
2372
+ . with_stderr_contains (
2373
+ "[RUNNING] [..] CARGO_CRATE_NAME=bar [..] CARGO_PRIMARY_PACKAGE=1 [..]" ,
2374
+ )
2375
+ . run ( ) ;
2376
+ }
2377
+
2378
+ #[ cargo_test]
2379
+ fn virtual_primary_package_env_var ( ) {
2380
+ let p = project ( )
2381
+ . file (
2382
+ "Cargo.toml" ,
2383
+ r#"
2384
+ [workspace]
2385
+ members = ["foo", "bar"]
2386
+ "# ,
2387
+ )
2388
+ . file ( "foo/Cargo.toml" , & basic_manifest ( "foo" , "0.1.0" ) )
2389
+ . file ( "foo/src/main.rs" , "fn main() {}" )
2390
+ . file ( "bar/Cargo.toml" , & basic_manifest ( "bar" , "0.1.0" ) )
2391
+ . file ( "bar/src/main.rs" , "fn main() {}" ) ;
2392
+ let p = p. build ( ) ;
2393
+
2394
+ p. cargo ( "build -vv" )
2395
+ . with_stderr_contains (
2396
+ "[RUNNING] [..] CARGO_CRATE_NAME=foo [..] CARGO_PRIMARY_PACKAGE=1 [..]" ,
2397
+ )
2398
+ . with_stderr_contains (
2399
+ "[RUNNING] [..] CARGO_CRATE_NAME=bar [..] CARGO_PRIMARY_PACKAGE=1 [..]" ,
2400
+ )
2401
+ . run ( ) ;
2402
+
2403
+ // Again, this time selecting a specific crate
2404
+ p. cargo ( "clean" ) . run ( ) ;
2405
+ p. cargo ( "build -vv -p foo" )
2406
+ . with_stderr_contains (
2407
+ "[RUNNING] [..] CARGO_CRATE_NAME=foo [..] CARGO_PRIMARY_PACKAGE=1 [..]" ,
2408
+ )
2409
+ . run ( ) ;
2410
+ }
0 commit comments