Skip to content

Commit be91d95

Browse files
committed
Make test cases simpler
1 parent f79e818 commit be91d95

File tree

4 files changed

+48
-138
lines changed

4 files changed

+48
-138
lines changed

crates/base-db/src/input.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -668,7 +668,7 @@ impl CrateGraph {
668668
// If the origins differ, check if the two crates are equal without
669669
// considering the dev dependencies, if they are, they most likely are in
670670
// different loaded workspaces which may cause issues. We keep the local
671-
// version and discard the library one as the local version may have
671+
// version and discard the library one as the local version may have
672672
// dev-dependencies that we want to keep resolving. See #15656 for more
673673
// information.
674674
if data.eq_ignoring_origin_and_deps(&crate_data, true) {

crates/project-model/src/tests.rs

+15-17
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use std::{
33
path::{Path, PathBuf},
44
};
55

6-
use base_db::{CrateGraph, DependencyKind, FileId, ProcMacroPaths};
6+
use base_db::{CrateGraph, FileId, ProcMacroPaths};
77
use cfg::{CfgAtom, CfgDiff};
88
use expect_test::{expect_file, ExpectFile};
99
use paths::{AbsPath, AbsPathBuf};
@@ -251,7 +251,7 @@ fn crate_graph_dedup() {
251251
}
252252

253253
#[test]
254-
fn test_deduplicate_crate_differing_in_origin() {
254+
fn test_deduplicate_origin_dev() {
255255
let path_map = &mut Default::default();
256256
let (mut crate_graph, _proc_macros) =
257257
load_cargo_with_sysroot(path_map, "deduplication_crate_graph_A.json");
@@ -261,24 +261,23 @@ fn test_deduplicate_crate_differing_in_origin() {
261261

262262
crate_graph.extend(crate_graph_1, &mut _proc_macros_2);
263263

264-
let mut crates_named_p1 = vec![];
264+
let mut crates_named_p2 = vec![];
265265
for id in crate_graph.iter() {
266266
let krate = &crate_graph[id];
267267
if let Some(name) = krate.display_name.as_ref() {
268-
if name.to_string() == "p1" {
269-
crates_named_p1.push(krate);
268+
if name.to_string() == "p2" {
269+
crates_named_p2.push(krate);
270270
}
271271
}
272272
}
273273

274-
assert!(crates_named_p1.len() == 1);
275-
let p1 = crates_named_p1[0];
276-
assert!(p1.dependencies.iter().filter(|dep| dep.kind() == DependencyKind::Dev).count() == 1);
277-
assert!(p1.origin.is_local());
274+
assert!(crates_named_p2.len() == 1);
275+
let p2 = crates_named_p2[0];
276+
assert!(p2.origin.is_local());
278277
}
279278

280279
#[test]
281-
fn test_deduplicate_crate_differing_in_origin_in_rev_resolution_order() {
280+
fn test_deduplicate_origin_dev_rev() {
282281
let path_map = &mut Default::default();
283282
let (mut crate_graph, _proc_macros) =
284283
load_cargo_with_sysroot(path_map, "deduplication_crate_graph_B.json");
@@ -288,18 +287,17 @@ fn test_deduplicate_crate_differing_in_origin_in_rev_resolution_order() {
288287

289288
crate_graph.extend(crate_graph_1, &mut _proc_macros_2);
290289

291-
let mut crates_named_p1 = vec![];
290+
let mut crates_named_p2 = vec![];
292291
for id in crate_graph.iter() {
293292
let krate = &crate_graph[id];
294293
if let Some(name) = krate.display_name.as_ref() {
295-
if name.to_string() == "p1" {
296-
crates_named_p1.push(krate);
294+
if name.to_string() == "p2" {
295+
crates_named_p2.push(krate);
297296
}
298297
}
299298
}
300299

301-
assert!(crates_named_p1.len() == 1);
302-
let p1 = crates_named_p1[0];
303-
assert!(p1.dependencies.iter().filter(|dep| dep.kind() == DependencyKind::Dev).count() == 1);
304-
assert!(p1.origin.is_local());
300+
assert!(crates_named_p2.len() == 1);
301+
let p2 = crates_named_p2[0];
302+
assert!(p2.origin.is_local());
305303
}

crates/project-model/test_data/deduplication_crate_graph_A.json

+22-22
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,24 @@
33
{
44
"name": "p1",
55
"version": "0.1.0",
6-
"id": "p1 0.1.0 (path+file:///path/to/project/example_project/projects/p1)",
6+
"id": "p1 0.1.0 (path+file:///example_project/p1)",
77
"license": null,
88
"license_file": null,
99
"description": null,
1010
"source": null,
1111
"dependencies": [
1212
{
13-
"name": "p3",
13+
"name": "p2",
1414
"source": null,
1515
"req": "*",
16-
"kind": "dev",
16+
"kind": null,
1717
"rename": null,
1818
"optional": false,
1919
"uses_default_features": true,
2020
"features": [],
2121
"target": null,
2222
"registry": null,
23-
"path": "/path/to/project/example_project/projects/p3"
23+
"path": "/example_project/p2"
2424
}
2525
],
2626
"targets": [
@@ -32,15 +32,15 @@
3232
"lib"
3333
],
3434
"name": "p1",
35-
"src_path": "/path/to/project/example_project/projects/p1/src/lib.rs",
35+
"src_path": "/example_project/p1/src/lib.rs",
3636
"edition": "2021",
3737
"doc": true,
3838
"doctest": true,
3939
"test": true
4040
}
4141
],
4242
"features": {},
43-
"manifest_path": "/path/to/project/example_project/projects/p1/Cargo.toml",
43+
"manifest_path": "/example_project/p1/Cargo.toml",
4444
"metadata": null,
4545
"publish": null,
4646
"authors": [],
@@ -56,9 +56,9 @@
5656
"rust_version": null
5757
},
5858
{
59-
"name": "p3",
59+
"name": "p2",
6060
"version": "0.1.0",
61-
"id": "p3 0.1.0 (path+file:///path/to/project/example_project/projects/p3)",
61+
"id": "p2 0.1.0 (path+file:///example_project/p2)",
6262
"license": null,
6363
"license_file": null,
6464
"description": null,
@@ -72,16 +72,16 @@
7272
"crate_types": [
7373
"lib"
7474
],
75-
"name": "p3",
76-
"src_path": "/path/to/project/example_project/projects/p3/src/lib.rs",
75+
"name": "p2",
76+
"src_path": "/example_project/p2/src/lib.rs",
7777
"edition": "2021",
7878
"doc": true,
7979
"doctest": true,
8080
"test": true
8181
}
8282
],
8383
"features": {},
84-
"manifest_path": "/path/to/project/example_project/projects/p3/Cargo.toml",
84+
"manifest_path": "/example_project/p2/Cargo.toml",
8585
"metadata": null,
8686
"publish": null,
8787
"authors": [],
@@ -98,25 +98,25 @@
9898
}
9999
],
100100
"workspace_members": [
101-
"p1 0.1.0 (path+file:///path/to/project/example_project/projects/p1)"
101+
"p1 0.1.0 (path+file:///example_project/p1)"
102102
],
103103
"workspace_default_members": [
104-
"p1 0.1.0 (path+file:///path/to/project/example_project/projects/p1)"
104+
"p1 0.1.0 (path+file:///example_project/p1)"
105105
],
106106
"resolve": {
107107
"nodes": [
108108
{
109-
"id": "p1 0.1.0 (path+file:///path/to/project/example_project/projects/p1)",
109+
"id": "p1 0.1.0 (path+file:///example_project/p1)",
110110
"dependencies": [
111-
"p3 0.1.0 (path+file:///path/to/project/example_project/projects/p3)"
111+
"p2 0.1.0 (path+file:///example_project/p2)"
112112
],
113113
"deps": [
114114
{
115-
"name": "p3",
116-
"pkg": "p3 0.1.0 (path+file:///path/to/project/example_project/projects/p3)",
115+
"name": "p2",
116+
"pkg": "p2 0.1.0 (path+file:///example_project/p2)",
117117
"dep_kinds": [
118118
{
119-
"kind": "dev",
119+
"kind": null,
120120
"target": null
121121
}
122122
]
@@ -125,16 +125,16 @@
125125
"features": []
126126
},
127127
{
128-
"id": "p3 0.1.0 (path+file:///path/to/project/example_project/projects/p3)",
128+
"id": "p2 0.1.0 (path+file:///example_project/p2)",
129129
"dependencies": [],
130130
"deps": [],
131131
"features": []
132132
}
133133
],
134-
"root": "p1 0.1.0 (path+file:///path/to/project/example_project/projects/p1)"
134+
"root": "p1 0.1.0 (path+file:///example_project/p1)"
135135
},
136-
"target_directory": "/path/to/project/example_project/projects/p1/target",
136+
"target_directory": "/example_project/p1/target",
137137
"version": 1,
138-
"workspace_root": "/path/to/project/example_project/projects/p1",
138+
"workspace_root": "/example_project/p1",
139139
"metadata": null
140140
}
Original file line numberDiff line numberDiff line change
@@ -1,83 +1,14 @@
11
{
22
"packages": [
3-
{
4-
"name": "p1",
5-
"version": "0.1.0",
6-
"id": "p1 0.1.0 (path+file:///path/to/project/example_project/projects/p1)",
7-
"license": null,
8-
"license_file": null,
9-
"description": null,
10-
"source": null,
11-
"dependencies": [
12-
{
13-
"name": "p3",
14-
"source": null,
15-
"req": "*",
16-
"kind": "dev",
17-
"rename": null,
18-
"optional": false,
19-
"uses_default_features": true,
20-
"features": [],
21-
"target": null,
22-
"registry": null,
23-
"path": "/path/to/project/example_project/projects/p3"
24-
}
25-
],
26-
"targets": [
27-
{
28-
"kind": [
29-
"lib"
30-
],
31-
"crate_types": [
32-
"lib"
33-
],
34-
"name": "p1",
35-
"src_path": "/path/to/project/example_project/projects/p1/src/lib.rs",
36-
"edition": "2021",
37-
"doc": true,
38-
"doctest": true,
39-
"test": true
40-
}
41-
],
42-
"features": {},
43-
"manifest_path": "/path/to/project/example_project/projects/p1/Cargo.toml",
44-
"metadata": null,
45-
"publish": null,
46-
"authors": [],
47-
"categories": [],
48-
"keywords": [],
49-
"readme": null,
50-
"repository": null,
51-
"homepage": null,
52-
"documentation": null,
53-
"edition": "2021",
54-
"links": null,
55-
"default_run": null,
56-
"rust_version": null
57-
},
583
{
594
"name": "p2",
605
"version": "0.1.0",
61-
"id": "p2 0.1.0 (path+file:///path/to/project/example_project/projects/p2)",
6+
"id": "p2 0.1.0 (path+file:///example_project/p2)",
627
"license": null,
638
"license_file": null,
649
"description": null,
6510
"source": null,
66-
"dependencies": [
67-
{
68-
"name": "p1",
69-
"source": null,
70-
"req": "*",
71-
"kind": null,
72-
"rename": null,
73-
"optional": false,
74-
"uses_default_features": true,
75-
"features": [],
76-
"target": null,
77-
"registry": null,
78-
"path": "/path/to/project/example_project/projects/p1"
79-
}
80-
],
11+
"dependencies": [],
8112
"targets": [
8213
{
8314
"kind": [
@@ -87,15 +18,15 @@
8718
"lib"
8819
],
8920
"name": "p2",
90-
"src_path": "/path/to/project/example_project/projects/p2/src/lib.rs",
21+
"src_path": "/example_project/p2/src/lib.rs",
9122
"edition": "2021",
9223
"doc": true,
9324
"doctest": true,
9425
"test": true
9526
}
9627
],
9728
"features": {},
98-
"manifest_path": "/path/to/project/example_project/projects/p2/Cargo.toml",
29+
"manifest_path": "/example_project/p2/Cargo.toml",
9930
"metadata": null,
10031
"publish": null,
10132
"authors": [],
@@ -112,43 +43,24 @@
11243
}
11344
],
11445
"workspace_members": [
115-
"p2 0.1.0 (path+file:///path/to/project/example_project/projects/p2)"
46+
"p2 0.1.0 (path+file:///example_project/p2)"
11647
],
11748
"workspace_default_members": [
118-
"p2 0.1.0 (path+file:///path/to/project/example_project/projects/p2)"
49+
"p2 0.1.0 (path+file:///example_project/p2)"
11950
],
12051
"resolve": {
12152
"nodes": [
12253
{
123-
"id": "p1 0.1.0 (path+file:///path/to/project/example_project/projects/p1)",
54+
"id": "p2 0.1.0 (path+file:///example_project/p2)",
12455
"dependencies": [],
12556
"deps": [],
12657
"features": []
127-
},
128-
{
129-
"id": "p2 0.1.0 (path+file:///path/to/project/example_project/projects/p2)",
130-
"dependencies": [
131-
"p1 0.1.0 (path+file:///path/to/project/example_project/projects/p1)"
132-
],
133-
"deps": [
134-
{
135-
"name": "p1",
136-
"pkg": "p1 0.1.0 (path+file:///path/to/project/example_project/projects/p1)",
137-
"dep_kinds": [
138-
{
139-
"kind": null,
140-
"target": null
141-
}
142-
]
143-
}
144-
],
145-
"features": []
14658
}
14759
],
148-
"root": "p2 0.1.0 (path+file:///path/to/project/example_project/projects/p2)"
60+
"root": "p2 0.1.0 (path+file:///example_project/p2)"
14961
},
150-
"target_directory": "/path/to/project/example_project/projects/p2/target",
62+
"target_directory": "/example_project/p2/target",
15163
"version": 1,
152-
"workspace_root": "/path/to/project/example_project/projects/p2",
64+
"workspace_root": "/example_project/p2",
15365
"metadata": null
15466
}

0 commit comments

Comments
 (0)