@@ -728,6 +728,7 @@ impl ProjectWorkspace {
728
728
& self ,
729
729
load : FileLoader < ' _ > ,
730
730
extra_env : & FxHashMap < String , String > ,
731
+ set_test : bool ,
731
732
) -> ( CrateGraph , ProcMacroPaths ) {
732
733
let _p = tracing:: info_span!( "ProjectWorkspace::to_crate_graph" ) . entered ( ) ;
733
734
@@ -741,6 +742,7 @@ impl ProjectWorkspace {
741
742
sysroot,
742
743
extra_env,
743
744
cfg_overrides,
745
+ set_test,
744
746
) ,
745
747
sysroot,
746
748
) ,
@@ -759,6 +761,7 @@ impl ProjectWorkspace {
759
761
rustc_cfg. clone ( ) ,
760
762
cfg_overrides,
761
763
build_scripts,
764
+ set_test,
762
765
) ,
763
766
sysroot,
764
767
) ,
@@ -772,6 +775,7 @@ impl ProjectWorkspace {
772
775
rustc_cfg. clone ( ) ,
773
776
cfg_overrides,
774
777
build_scripts,
778
+ set_test,
775
779
)
776
780
} else {
777
781
detached_file_to_crate_graph (
@@ -780,6 +784,7 @@ impl ProjectWorkspace {
780
784
file,
781
785
sysroot,
782
786
cfg_overrides,
787
+ set_test,
783
788
)
784
789
} ,
785
790
sysroot,
@@ -870,11 +875,12 @@ fn project_json_to_crate_graph(
870
875
sysroot : & Sysroot ,
871
876
extra_env : & FxHashMap < String , String > ,
872
877
override_cfg : & CfgOverrides ,
878
+ set_test : bool ,
873
879
) -> ( CrateGraph , ProcMacroPaths ) {
874
880
let mut res = ( CrateGraph :: default ( ) , ProcMacroPaths :: default ( ) ) ;
875
881
let ( crate_graph, proc_macros) = & mut res;
876
882
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 ) ;
878
884
879
885
let r_a_cfg_flag = CfgAtom :: Flag ( sym:: rust_analyzer. clone ( ) ) ;
880
886
let mut cfg_cache: FxHashMap < & str , Vec < CfgAtom > > = FxHashMap :: default ( ) ;
@@ -987,13 +993,14 @@ fn cargo_to_crate_graph(
987
993
rustc_cfg : Vec < CfgAtom > ,
988
994
override_cfg : & CfgOverrides ,
989
995
build_scripts : & WorkspaceBuildScripts ,
996
+ set_test : bool ,
990
997
) -> ( CrateGraph , ProcMacroPaths ) {
991
998
let _p = tracing:: info_span!( "cargo_to_crate_graph" ) . entered ( ) ;
992
999
let mut res = ( CrateGraph :: default ( ) , ProcMacroPaths :: default ( ) ) ;
993
1000
let crate_graph = & mut res. 0 ;
994
1001
let proc_macros = & mut res. 1 ;
995
1002
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 ) ;
997
1004
998
1005
let cfg_options = CfgOptions :: from_iter ( rustc_cfg) ;
999
1006
@@ -1011,8 +1018,10 @@ fn cargo_to_crate_graph(
1011
1018
let mut cfg_options = cfg_options. clone ( ) ;
1012
1019
1013
1020
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
+ }
1016
1025
cfg_options. insert_atom ( sym:: rust_analyzer. clone ( ) ) ;
1017
1026
}
1018
1027
@@ -1173,14 +1182,17 @@ fn detached_file_to_crate_graph(
1173
1182
detached_file : & ManifestPath ,
1174
1183
sysroot : & Sysroot ,
1175
1184
override_cfg : & CfgOverrides ,
1185
+ set_test : bool ,
1176
1186
) -> ( CrateGraph , ProcMacroPaths ) {
1177
1187
let _p = tracing:: info_span!( "detached_file_to_crate_graph" ) . entered ( ) ;
1178
1188
let mut crate_graph = CrateGraph :: default ( ) ;
1179
1189
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 ) ;
1181
1191
1182
1192
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
+ }
1184
1196
cfg_options. insert_atom ( sym:: rust_analyzer. clone ( ) ) ;
1185
1197
override_cfg. apply ( & mut cfg_options, "" ) ;
1186
1198
let cfg_options = Arc :: new ( cfg_options) ;
@@ -1404,6 +1416,7 @@ fn sysroot_to_crate_graph(
1404
1416
sysroot : & Sysroot ,
1405
1417
rustc_cfg : Vec < CfgAtom > ,
1406
1418
load : FileLoader < ' _ > ,
1419
+ set_test : bool ,
1407
1420
) -> ( SysrootPublicDeps , Option < CrateId > ) {
1408
1421
let _p = tracing:: info_span!( "sysroot_to_crate_graph" ) . entered ( ) ;
1409
1422
match sysroot. mode ( ) {
@@ -1426,6 +1439,7 @@ fn sysroot_to_crate_graph(
1426
1439
..Default :: default ( )
1427
1440
} ,
1428
1441
& WorkspaceBuildScripts :: default ( ) ,
1442
+ set_test,
1429
1443
) ;
1430
1444
1431
1445
let mut pub_deps = vec ! [ ] ;
0 commit comments