@@ -31,8 +31,14 @@ impl default::Default for Assert {
31
31
/// Defaults to asserting _successful_ execution.
32
32
fn default ( ) -> Self {
33
33
Assert {
34
- cmd : vec ! [ "cargo" , "run" , "--quiet" , "--" ]
35
- . into_iter ( )
34
+ cmd : vec ! [
35
+ "cargo" ,
36
+ "run" ,
37
+ #[ cfg( not( debug_assertions) ) ]
38
+ "--release" ,
39
+ "--quiet" ,
40
+ "--" ,
41
+ ] . into_iter ( )
36
42
. map ( OsString :: from)
37
43
. collect ( ) ,
38
44
env : Environment :: inherit ( ) ,
@@ -61,6 +67,8 @@ impl Assert {
61
67
cmd : vec ! [
62
68
OsStr :: new( "cargo" ) ,
63
69
OsStr :: new( "run" ) ,
70
+ #[ cfg( not( debug_assertions) ) ]
71
+ OsStr :: new( "--release" ) ,
64
72
OsStr :: new( "--quiet" ) ,
65
73
OsStr :: new( "--bin" ) ,
66
74
name. as_ref( ) ,
@@ -530,6 +538,52 @@ mod test {
530
538
Assert :: command ( & [ "printenv" ] )
531
539
}
532
540
541
+ #[ test]
542
+ fn main_binary_default_uses_active_profile ( ) {
543
+ let assert = Assert :: main_binary ( ) ;
544
+
545
+ let expected = if cfg ! ( debug_assertions) {
546
+ OsString :: from ( "cargo run --quiet -- " )
547
+ } else {
548
+ OsString :: from ( "cargo run --release --quiet -- " )
549
+ } ;
550
+
551
+ assert_eq ! (
552
+ expected,
553
+ assert
554
+ . cmd
555
+ . into_iter( )
556
+ . fold( OsString :: from( "" ) , |mut cmd, token| {
557
+ cmd. push( token) ;
558
+ cmd. push( " " ) ;
559
+ cmd
560
+ } )
561
+ ) ;
562
+ }
563
+
564
+ #[ test]
565
+ fn cargo_binary_default_uses_active_profile ( ) {
566
+ let assert = Assert :: cargo_binary ( "hello" ) ;
567
+
568
+ let expected = if cfg ! ( debug_assertions) {
569
+ OsString :: from ( "cargo run --quiet --bin hello -- " )
570
+ } else {
571
+ OsString :: from ( "cargo run --release --quiet --bin hello -- " )
572
+ } ;
573
+
574
+ assert_eq ! (
575
+ expected,
576
+ assert
577
+ . cmd
578
+ . into_iter( )
579
+ . fold( OsString :: from( "" ) , |mut cmd, token| {
580
+ cmd. push( token) ;
581
+ cmd. push( " " ) ;
582
+ cmd
583
+ } )
584
+ ) ;
585
+ }
586
+
533
587
#[ test]
534
588
fn take_ownership ( ) {
535
589
let x = Environment :: inherit ( ) ;
0 commit comments