Skip to content

Commit 48d11df

Browse files
committed
Remove load_cargo_with_fake_sysroot
1 parent ccbc3d2 commit 48d11df

1 file changed

Lines changed: 30 additions & 54 deletions

File tree

  • src/tools/rust-analyzer/crates/project-model/src

‎src/tools/rust-analyzer/crates/project-model/src/tests.rs‎

Lines changed: 30 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -18,65 +18,38 @@ use crate::{
1818
};
1919

2020
fnload_cargo(file:&str) -> (CrateGraph,ProcMacroPaths){
21-
load_cargo_with_overrides(file,CfgOverrides::default())
21+
let project_workspace = load_workspace_from_metadata(file);
22+
to_crate_graph(project_workspace,&mutDefault::default())
2223
}
2324

2425
fnload_cargo_with_overrides(
2526
file:&str,
2627
cfg_overrides:CfgOverrides,
2728
) -> (CrateGraph,ProcMacroPaths){
28-
let meta:Metadata = get_test_json_file(file);
29-
let manifest_path =
30-
ManifestPath::try_from(AbsPathBuf::try_from(meta.workspace_root.clone()).unwrap()).unwrap();
31-
let cargo_workspace = CargoWorkspace::new(meta, manifest_path,Default::default());
32-
let project_workspace = ProjectWorkspace{
33-
kind:ProjectWorkspaceKind::Cargo{
34-
cargo: cargo_workspace,
35-
build_scripts:WorkspaceBuildScripts::default(),
36-
rustc:Err(None),
37-
error:None,
38-
set_test:true,
39-
},
40-
cfg_overrides,
41-
sysroot:Sysroot::empty(),
42-
rustc_cfg:Vec::new(),
43-
toolchain:None,
44-
target_layout:Err("target_data_layout not loaded".into()),
45-
};
46-
to_crate_graph(project_workspace)
29+
let project_workspace =
30+
ProjectWorkspace{ cfg_overrides, ..load_workspace_from_metadata(file)};
31+
to_crate_graph(project_workspace,&mutDefault::default())
4732
}
4833

49-
fnload_cargo_with_fake_sysroot(
50-
file_map:&mutFxHashMap<AbsPathBuf,FileId>,
51-
file:&str,
52-
) -> (CrateGraph,ProcMacroPaths){
34+
fnload_workspace_from_metadata(file:&str) -> ProjectWorkspace{
5335
let meta:Metadata = get_test_json_file(file);
5436
let manifest_path =
5537
ManifestPath::try_from(AbsPathBuf::try_from(meta.workspace_root.clone()).unwrap()).unwrap();
5638
let cargo_workspace = CargoWorkspace::new(meta, manifest_path,Default::default());
57-
let project_workspace = ProjectWorkspace{
39+
ProjectWorkspace{
5840
kind:ProjectWorkspaceKind::Cargo{
5941
cargo: cargo_workspace,
6042
build_scripts:WorkspaceBuildScripts::default(),
6143
rustc:Err(None),
6244
error:None,
6345
set_test:true,
6446
},
65-
sysroot:get_fake_sysroot(),
66-
rustc_cfg:Vec::new(),
6747
cfg_overrides:Default::default(),
48+
sysroot:Sysroot::empty(),
49+
rustc_cfg:Vec::new(),
6850
toolchain:None,
6951
target_layout:Err("target_data_layout not loaded".into()),
70-
};
71-
project_workspace.to_crate_graph(
72-
&mut{
73-
|path| {
74-
let len = file_map.len();
75-
Some(*file_map.entry(path.to_path_buf()).or_insert(FileId::from_raw(len asu32)))
76-
}
77-
},
78-
&Default::default(),
79-
)
52+
}
8053
}
8154

8255
fnload_rust_project(file:&str) -> (CrateGraph,ProcMacroPaths){
@@ -91,7 +64,7 @@ fn load_rust_project(file: &str) -> (CrateGraph, ProcMacroPaths) {
9164
target_layout:Err(Arc::from("test has no data layout")),
9265
cfg_overrides:Default::default(),
9366
};
94-
to_crate_graph(project_workspace)
67+
to_crate_graph(project_workspace,&mutDefault::default())
9568
}
9669

9770
fnget_test_json_file<T:DeserializeOwned>(file:&str) -> T{
@@ -160,13 +133,15 @@ fn rooted_project_json(data: ProjectJsonData) -> ProjectJson {
160133
ProjectJson::new(None, base, data)
161134
}
162135

163-
fnto_crate_graph(project_workspace:ProjectWorkspace) -> (CrateGraph,ProcMacroPaths){
136+
fnto_crate_graph(
137+
project_workspace:ProjectWorkspace,
138+
file_map:&mutFxHashMap<AbsPathBuf,FileId>,
139+
) -> (CrateGraph,ProcMacroPaths){
164140
project_workspace.to_crate_graph(
165141
&mut{
166-
letmut counter = 0;
167-
move |_path| {
168-
counter += 1;
169-
Some(FileId::from_raw(counter))
142+
|path| {
143+
let len = file_map.len();
144+
Some(*file_map.entry(path.to_path_buf()).or_insert(FileId::from_raw(len asu32)))
170145
}
171146
},
172147
&Default::default(),
@@ -256,8 +231,7 @@ fn rust_project_is_proc_macro_has_proc_macro_dep() {
256231

257232
#[test]
258233
fncrate_graph_dedup_identical(){
259-
let(mut crate_graph, proc_macros) =
260-
load_cargo_with_fake_sysroot(&mutDefault::default(),"regex-metadata.json");
234+
let(mut crate_graph, proc_macros) = load_cargo("regex-metadata.json");
261235
crate_graph.sort_deps();
262236

263237
let(d_crate_graph,mut d_proc_macros) = (crate_graph.clone(), proc_macros.clone());
@@ -269,17 +243,19 @@ fn crate_graph_dedup_identical() {
269243

270244
#[test]
271245
fncrate_graph_dedup(){
272-
let path_map = &mutDefault::default();
273-
let(mut crate_graph, _proc_macros) =
274-
load_cargo_with_fake_sysroot(path_map,"ripgrep-metadata.json");
275-
assert_eq!(crate_graph.iter().count(),81);
276-
crate_graph.sort_deps();
277-
let(regex_crate_graph,mut regex_proc_macros) =
278-
load_cargo_with_fake_sysroot(path_map,"regex-metadata.json");
279-
assert_eq!(regex_crate_graph.iter().count(),60);
246+
letmut file_map = Default::default();
247+
248+
let ripgrep_workspace = load_workspace_from_metadata("ripgrep-metadata.json");
249+
let(mut crate_graph, _proc_macros) = to_crate_graph(ripgrep_workspace,&mut file_map);
250+
assert_eq!(crate_graph.iter().count(),71);
280251

252+
let regex_workspace = load_workspace_from_metadata("regex-metadata.json");
253+
let(regex_crate_graph,mut regex_proc_macros) = to_crate_graph(regex_workspace,&mut file_map);
254+
assert_eq!(regex_crate_graph.iter().count(),50);
255+
256+
crate_graph.sort_deps();
281257
crate_graph.extend(regex_crate_graph,&mut regex_proc_macros);
282-
assert_eq!(crate_graph.iter().count(),118);
258+
assert_eq!(crate_graph.iter().count(),108);
283259
}
284260

285261
#[test]

0 commit comments

Comments
 (0)