@@ -728,6 +728,7 @@ impl ProjectWorkspace {
728728 & self ,
729729 load : FileLoader < ' _ > ,
730730 extra_env : & FxHashMap < String , String > ,
731+ set_test : bool ,
731732 ) -> ( CrateGraph , ProcMacroPaths ) {
732733 let _p = tracing:: info_span!( "ProjectWorkspace::to_crate_graph" ) . entered ( ) ;
733734
@@ -741,6 +742,7 @@ impl ProjectWorkspace {
741742 sysroot,
742743 extra_env,
743744 cfg_overrides,
745+ set_test,
744746 ) ,
745747 sysroot,
746748 ) ,
@@ -759,6 +761,7 @@ impl ProjectWorkspace {
759761 rustc_cfg. clone ( ) ,
760762 cfg_overrides,
761763 build_scripts,
764+ set_test,
762765 ) ,
763766 sysroot,
764767 ) ,
@@ -772,6 +775,7 @@ impl ProjectWorkspace {
772775 rustc_cfg. clone ( ) ,
773776 cfg_overrides,
774777 build_scripts,
778+ set_test,
775779 )
776780 } else {
777781 detached_file_to_crate_graph (
@@ -780,6 +784,7 @@ impl ProjectWorkspace {
780784 file,
781785 sysroot,
782786 cfg_overrides,
787+ set_test,
783788 )
784789 } ,
785790 sysroot,
@@ -870,11 +875,12 @@ fn project_json_to_crate_graph(
870875 sysroot : & Sysroot ,
871876 extra_env : & FxHashMap < String , String > ,
872877 override_cfg : & CfgOverrides ,
878+ set_test : bool ,
873879) -> ( CrateGraph , ProcMacroPaths ) {
874880 let mut res = ( CrateGraph :: default ( ) , ProcMacroPaths :: default ( ) ) ;
875881 let ( crate_graph, proc_macros) = & mut res;
876882 let ( public_deps, libproc_macro) =
877- sysroot_to_crate_graph ( crate_graph, sysroot, rustc_cfg. clone ( ) , load) ;
883+ sysroot_to_crate_graph ( crate_graph, sysroot, rustc_cfg. clone ( ) , load, set_test ) ;
878884
879885 let r_a_cfg_flag = CfgAtom :: Flag ( sym:: rust_analyzer. clone ( ) ) ;
880886 let mut cfg_cache: FxHashMap < & str , Vec < CfgAtom > > = FxHashMap :: default ( ) ;
@@ -987,13 +993,14 @@ fn cargo_to_crate_graph(
987993 rustc_cfg : Vec < CfgAtom > ,
988994 override_cfg : & CfgOverrides ,
989995 build_scripts : & WorkspaceBuildScripts ,
996+ set_test : bool ,
990997) -> ( CrateGraph , ProcMacroPaths ) {
991998 let _p = tracing:: info_span!( "cargo_to_crate_graph" ) . entered ( ) ;
992999 let mut res = ( CrateGraph :: default ( ) , ProcMacroPaths :: default ( ) ) ;
9931000 let crate_graph = & mut res. 0 ;
9941001 let proc_macros = & mut res. 1 ;
9951002 let ( public_deps, libproc_macro) =
996- sysroot_to_crate_graph ( crate_graph, sysroot, rustc_cfg. clone ( ) , load) ;
1003+ sysroot_to_crate_graph ( crate_graph, sysroot, rustc_cfg. clone ( ) , load, set_test ) ;
9971004
9981005 let cfg_options = CfgOptions :: from_iter ( rustc_cfg) ;
9991006
@@ -1011,8 +1018,10 @@ fn cargo_to_crate_graph(
10111018 let mut cfg_options = cfg_options. clone ( ) ;
10121019
10131020 if cargo[ pkg] . is_local {
1014- // Add test cfg for local crates
1015- cfg_options. insert_atom ( sym:: test. clone ( ) ) ;
1021+ if set_test {
1022+ // Add test cfg for local crates
1023+ cfg_options. insert_atom ( sym:: test. clone ( ) ) ;
1024+ }
10161025 cfg_options. insert_atom ( sym:: rust_analyzer. clone ( ) ) ;
10171026 }
10181027
@@ -1173,14 +1182,17 @@ fn detached_file_to_crate_graph(
11731182 detached_file : & ManifestPath ,
11741183 sysroot : & Sysroot ,
11751184 override_cfg : & CfgOverrides ,
1185+ set_test : bool ,
11761186) -> ( CrateGraph , ProcMacroPaths ) {
11771187 let _p = tracing:: info_span!( "detached_file_to_crate_graph" ) . entered ( ) ;
11781188 let mut crate_graph = CrateGraph :: default ( ) ;
11791189 let ( public_deps, _libproc_macro) =
1180- sysroot_to_crate_graph ( & mut crate_graph, sysroot, rustc_cfg. clone ( ) , load) ;
1190+ sysroot_to_crate_graph ( & mut crate_graph, sysroot, rustc_cfg. clone ( ) , load, set_test ) ;
11811191
11821192 let mut cfg_options = CfgOptions :: from_iter ( rustc_cfg) ;
1183- cfg_options. insert_atom ( sym:: test. clone ( ) ) ;
1193+ if set_test {
1194+ cfg_options. insert_atom ( sym:: test. clone ( ) ) ;
1195+ }
11841196 cfg_options. insert_atom ( sym:: rust_analyzer. clone ( ) ) ;
11851197 override_cfg. apply ( & mut cfg_options, "" ) ;
11861198 let cfg_options = Arc :: new ( cfg_options) ;
@@ -1404,6 +1416,7 @@ fn sysroot_to_crate_graph(
14041416 sysroot : & Sysroot ,
14051417 rustc_cfg : Vec < CfgAtom > ,
14061418 load : FileLoader < ' _ > ,
1419+ set_test : bool ,
14071420) -> ( SysrootPublicDeps , Option < CrateId > ) {
14081421 let _p = tracing:: info_span!( "sysroot_to_crate_graph" ) . entered ( ) ;
14091422 match sysroot. mode ( ) {
@@ -1426,6 +1439,7 @@ fn sysroot_to_crate_graph(
14261439 ..Default :: default ( )
14271440 } ,
14281441 & WorkspaceBuildScripts :: default ( ) ,
1442+ set_test,
14291443 ) ;
14301444
14311445 let mut pub_deps = vec ! [ ] ;
0 commit comments