@@ -6,6 +6,7 @@ use std::fs::{self, File, OpenOptions};
6
6
use std:: io:: prelude:: * ;
7
7
8
8
use cargo:: util:: ProcessBuilder ;
9
+ use cargotest:: ChannelChanger ;
9
10
use cargotest:: install:: { cargo_home, has_installed_exe} ;
10
11
use cargotest:: support:: git;
11
12
use cargotest:: support:: paths;
@@ -907,6 +908,56 @@ fn use_path_workspace() {
907
908
assert ! ( lock == lock2, "different lockfiles" ) ;
908
909
}
909
910
911
+ #[ test]
912
+ fn dev_dependencies_no_check ( ) {
913
+ Package :: new ( "foo" , "1.0.0" ) . publish ( ) ;
914
+ let p = project ( "foo" )
915
+ . file ( "Cargo.toml" , r#"
916
+ [package]
917
+ name = "bar"
918
+ version = "0.1.0"
919
+ authors = []
920
+
921
+ [dev-dependencies]
922
+ baz = "1.0.0"
923
+ "# )
924
+ . file ( "src/main.rs" , "fn main() {}" )
925
+ . build ( ) ;
926
+
927
+ assert_that ( p. cargo ( "build" ) , execs ( ) . with_status ( 101 ) ) ;
928
+ assert_that ( p. cargo ( "install" ) , execs ( ) . with_status ( 0 ) ) ;
929
+ }
930
+
931
+ #[ test]
932
+ fn dev_dependencies_lock_file_untouched ( ) {
933
+ Package :: new ( "foo" , "1.0.0" ) . publish ( ) ;
934
+ let p = project ( "foo" )
935
+ . file ( "Cargo.toml" , r#"
936
+ [package]
937
+ name = "foo"
938
+ version = "0.1.0"
939
+ authors = []
940
+
941
+ [dev-dependencies]
942
+ bar = { path = "a" }
943
+ "# )
944
+ . file ( "src/main.rs" , "fn main() {}" )
945
+ . file ( "a/Cargo.toml" , r#"
946
+ [package]
947
+ name = "bar"
948
+ version = "0.1.0"
949
+ authors = []
950
+ "# )
951
+ . file ( "a/src/lib.rs" , "" )
952
+ . build ( ) ;
953
+
954
+ assert_that ( p. cargo ( "build" ) , execs ( ) . with_status ( 0 ) ) ;
955
+ let lock = p. read_lockfile ( ) ;
956
+ assert_that ( p. cargo ( "install" ) , execs ( ) . with_status ( 0 ) ) ;
957
+ let lock2 = p. read_lockfile ( ) ;
958
+ assert ! ( lock == lock2, "different lockfiles" ) ;
959
+ }
960
+
910
961
#[ test]
911
962
fn vers_precise ( ) {
912
963
pkg ( "foo" , "0.1.1" ) ;
0 commit comments