@@ -14,7 +14,7 @@ use super::death;
14
14
use cargo_test_support:: paths:: { self , CargoPathExt } ;
15
15
use cargo_test_support:: registry:: Package ;
16
16
use cargo_test_support:: {
17
- basic_manifest, is_coarse_mtime, project, rustc_host, rustc_host_env, sleep_ms,
17
+ basic_manifest, basic_lib_manifest , is_coarse_mtime, project, rustc_host, rustc_host_env, sleep_ms,
18
18
} ;
19
19
20
20
#[ cargo_test]
@@ -2814,3 +2814,62 @@ directory sources are not [..]
2814
2814
)
2815
2815
. run ( ) ;
2816
2816
}
2817
+
2818
+ #[ cargo_test]
2819
+ fn skip_mtime_check_in_selected_cargo_home_subdirs ( ) {
2820
+ let p = project ( )
2821
+ . at ( "cargo_home/registry/foo" )
2822
+ . file ( "Cargo.toml" , & basic_lib_manifest ( "foo" ) )
2823
+ . file ( "src/lib.rs" , "" )
2824
+ . build ( ) ;
2825
+ let project_root = p. root ( ) ;
2826
+ let cargo_home = project_root. parent ( ) . unwrap ( ) . parent ( ) . unwrap ( ) ;
2827
+ p. cargo ( "check -v" )
2828
+ . env ( "CARGO_HOME" , & cargo_home)
2829
+ . with_stderr (
2830
+ "\
2831
+ [CHECKING] foo v0.5.0 ([CWD])
2832
+ [RUNNING] `rustc --crate-name foo src/lib.rs [..]
2833
+ [FINISHED] dev [..]" ,
2834
+ )
2835
+ . run ( ) ;
2836
+ p. change_file ( "src/lib.rs" , "illegal syntax" ) ;
2837
+ p. cargo ( "check -v" )
2838
+ . env ( "CARGO_HOME" , & cargo_home)
2839
+ . with_stderr (
2840
+ "\
2841
+ [FRESH] foo v0.5.0 ([CWD])
2842
+ [FINISHED] dev [..]" ,
2843
+ )
2844
+ . run ( ) ;
2845
+ }
2846
+
2847
+ #[ cargo_test]
2848
+ fn use_mtime_cache_in_cargo_home ( ) {
2849
+ let p = project ( )
2850
+ . at ( "cargo_home/foo" )
2851
+ . file ( "Cargo.toml" , & basic_lib_manifest ( "foo" ) )
2852
+ . file ( "src/lib.rs" , "" )
2853
+ . build ( ) ;
2854
+ let project_root = p. root ( ) ;
2855
+ let cargo_home = project_root. parent ( ) . unwrap ( ) ;
2856
+ p. cargo ( "check -v" )
2857
+ . env ( "CARGO_HOME" , & cargo_home)
2858
+ . with_stderr (
2859
+ "\
2860
+ [CHECKING] foo v0.5.0 ([CWD])
2861
+ [RUNNING] `rustc --crate-name foo src/lib.rs [..]
2862
+ [FINISHED] dev [..]" ,
2863
+ )
2864
+ . run ( ) ;
2865
+ p. change_file ( "src/lib.rs" , "illegal syntax" ) ;
2866
+ p. cargo ( "check -v" )
2867
+ . env ( "CARGO_HOME" , & cargo_home)
2868
+ . with_stderr (
2869
+ "\
2870
+ [DIRTY] foo v0.5.0 ([CWD]): [..]
2871
+ [CHECKING] foo v0.5.0 ([CWD])
2872
+ [RUNNING] `rustc --crate-name foo src/lib.rs [..]" ,
2873
+ )
2874
+ . run_expect_error ( ) ;
2875
+ }
0 commit comments