File tree 2 files changed +35
-0
lines changed
2 files changed +35
-0
lines changed Original file line number Diff line number Diff line change @@ -74,6 +74,9 @@ continuous integration systems.",
74
74
pub fn exec ( config : & mut Config , args : & ArgMatches ) -> CliResult {
75
75
let mut compile_opts = args. compile_options ( config, CompileMode :: Build ) ?;
76
76
compile_opts. build_config . release = !args. is_present ( "debug" ) ;
77
+ // We override target architecture to host architecture since it may be
78
+ // set to some other architecture in .cargo/config.
79
+ compile_opts. build_config . requested_target = None ;
77
80
78
81
let krates = args. values_of ( "crate" )
79
82
. unwrap_or_default ( )
Original file line number Diff line number Diff line change @@ -1606,3 +1606,35 @@ fn git_repo_replace() {
1606
1606
. contains( & format!( "{}" , new_rev) )
1607
1607
) ;
1608
1608
}
1609
+
1610
+ #[ test]
1611
+ fn install_with_non_existent_target ( ) {
1612
+ pkg ( "bar" , "0.0.1" ) ;
1613
+
1614
+ let p = project ( "foo" )
1615
+ . file (
1616
+ "Cargo.toml" ,
1617
+ r#"
1618
+ [package]
1619
+ name = "foo"
1620
+ version = "0.1.0"
1621
+ authors = []
1622
+ "# ,
1623
+ )
1624
+ . file (
1625
+ ".cargo/config" ,
1626
+ r#"
1627
+ [build]
1628
+ target = "non-existing-target"
1629
+ "# ,
1630
+ )
1631
+ . file ( "src/main.rs" , "fn main() {}" )
1632
+ . build ( ) ;
1633
+
1634
+ assert_that (
1635
+ cargo_process ( "install" ) . arg ( "bar" ) . cwd ( p. root ( ) ) ,
1636
+ execs ( ) . with_status ( 0 ) ,
1637
+ ) ;
1638
+ assert_that ( cargo_home ( ) , has_installed_exe ( "bar" ) ) ;
1639
+ }
1640
+
You can’t perform that action at this time.
0 commit comments