mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-12-26 04:53:34 +00:00
Sort runnable test results to make them deterministic
This commit is contained in:
parent
9b046d1051
commit
0ae795136d
1 changed files with 133 additions and 132 deletions
|
@ -544,7 +544,8 @@ mod tests {
|
||||||
expect: Expect,
|
expect: Expect,
|
||||||
) {
|
) {
|
||||||
let (analysis, position) = fixture::position(ra_fixture);
|
let (analysis, position) = fixture::position(ra_fixture);
|
||||||
let runnables = analysis.runnables(position.file_id).unwrap();
|
let mut runnables = analysis.runnables(position.file_id).unwrap();
|
||||||
|
runnables.sort_by_key(|it| (it.nav.full_range.start(), it.nav.name.clone()));
|
||||||
expect.assert_debug_eq(&runnables);
|
expect.assert_debug_eq(&runnables);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
actions,
|
actions,
|
||||||
|
@ -580,9 +581,24 @@ mod not_a_root {
|
||||||
fn main() {}
|
fn main() {}
|
||||||
}
|
}
|
||||||
"#,
|
"#,
|
||||||
&[Bin, Test, Test, Bench, TestMod],
|
&[TestMod, Bin, Test, Test, Bench],
|
||||||
expect![[r#"
|
expect![[r#"
|
||||||
[
|
[
|
||||||
|
Runnable {
|
||||||
|
use_name_in_title: false,
|
||||||
|
nav: NavigationTarget {
|
||||||
|
file_id: FileId(
|
||||||
|
0,
|
||||||
|
),
|
||||||
|
full_range: 0..137,
|
||||||
|
name: "",
|
||||||
|
kind: Module,
|
||||||
|
},
|
||||||
|
kind: TestMod {
|
||||||
|
path: "",
|
||||||
|
},
|
||||||
|
cfg: None,
|
||||||
|
},
|
||||||
Runnable {
|
Runnable {
|
||||||
use_name_in_title: false,
|
use_name_in_title: false,
|
||||||
nav: NavigationTarget {
|
nav: NavigationTarget {
|
||||||
|
@ -657,21 +673,6 @@ mod not_a_root {
|
||||||
},
|
},
|
||||||
cfg: None,
|
cfg: None,
|
||||||
},
|
},
|
||||||
Runnable {
|
|
||||||
use_name_in_title: false,
|
|
||||||
nav: NavigationTarget {
|
|
||||||
file_id: FileId(
|
|
||||||
0,
|
|
||||||
),
|
|
||||||
full_range: 0..137,
|
|
||||||
name: "",
|
|
||||||
kind: Module,
|
|
||||||
},
|
|
||||||
kind: TestMod {
|
|
||||||
path: "",
|
|
||||||
},
|
|
||||||
cfg: None,
|
|
||||||
},
|
|
||||||
]
|
]
|
||||||
"#]],
|
"#]],
|
||||||
);
|
);
|
||||||
|
@ -1065,7 +1066,7 @@ mod root_tests {
|
||||||
mod nested_tests_4 {}
|
mod nested_tests_4 {}
|
||||||
}
|
}
|
||||||
"#,
|
"#,
|
||||||
&[TestMod, TestMod, TestMod, Test, Test, Test],
|
&[TestMod, TestMod, Test, Test, TestMod, Test],
|
||||||
expect![[r#"
|
expect![[r#"
|
||||||
[
|
[
|
||||||
Runnable {
|
Runnable {
|
||||||
|
@ -1102,23 +1103,6 @@ mod root_tests {
|
||||||
},
|
},
|
||||||
cfg: None,
|
cfg: None,
|
||||||
},
|
},
|
||||||
Runnable {
|
|
||||||
use_name_in_title: false,
|
|
||||||
nav: NavigationTarget {
|
|
||||||
file_id: FileId(
|
|
||||||
0,
|
|
||||||
),
|
|
||||||
full_range: 202..286,
|
|
||||||
focus_range: 206..220,
|
|
||||||
name: "nested_tests_2",
|
|
||||||
kind: Module,
|
|
||||||
description: "mod nested_tests_2",
|
|
||||||
},
|
|
||||||
kind: TestMod {
|
|
||||||
path: "root_tests::nested_tests_0::nested_tests_2",
|
|
||||||
},
|
|
||||||
cfg: None,
|
|
||||||
},
|
|
||||||
Runnable {
|
Runnable {
|
||||||
use_name_in_title: false,
|
use_name_in_title: false,
|
||||||
nav: NavigationTarget {
|
nav: NavigationTarget {
|
||||||
|
@ -1161,6 +1145,23 @@ mod root_tests {
|
||||||
},
|
},
|
||||||
cfg: None,
|
cfg: None,
|
||||||
},
|
},
|
||||||
|
Runnable {
|
||||||
|
use_name_in_title: false,
|
||||||
|
nav: NavigationTarget {
|
||||||
|
file_id: FileId(
|
||||||
|
0,
|
||||||
|
),
|
||||||
|
full_range: 202..286,
|
||||||
|
focus_range: 206..220,
|
||||||
|
name: "nested_tests_2",
|
||||||
|
kind: Module,
|
||||||
|
description: "mod nested_tests_2",
|
||||||
|
},
|
||||||
|
kind: TestMod {
|
||||||
|
path: "root_tests::nested_tests_0::nested_tests_2",
|
||||||
|
},
|
||||||
|
cfg: None,
|
||||||
|
},
|
||||||
Runnable {
|
Runnable {
|
||||||
use_name_in_title: false,
|
use_name_in_title: false,
|
||||||
nav: NavigationTarget {
|
nav: NavigationTarget {
|
||||||
|
@ -1197,9 +1198,24 @@ $0
|
||||||
#[cfg(feature = "foo")]
|
#[cfg(feature = "foo")]
|
||||||
fn test_foo1() {}
|
fn test_foo1() {}
|
||||||
"#,
|
"#,
|
||||||
&[Test, TestMod],
|
&[TestMod, Test],
|
||||||
expect![[r#"
|
expect![[r#"
|
||||||
[
|
[
|
||||||
|
Runnable {
|
||||||
|
use_name_in_title: false,
|
||||||
|
nav: NavigationTarget {
|
||||||
|
file_id: FileId(
|
||||||
|
0,
|
||||||
|
),
|
||||||
|
full_range: 0..51,
|
||||||
|
name: "",
|
||||||
|
kind: Module,
|
||||||
|
},
|
||||||
|
kind: TestMod {
|
||||||
|
path: "",
|
||||||
|
},
|
||||||
|
cfg: None,
|
||||||
|
},
|
||||||
Runnable {
|
Runnable {
|
||||||
use_name_in_title: false,
|
use_name_in_title: false,
|
||||||
nav: NavigationTarget {
|
nav: NavigationTarget {
|
||||||
|
@ -1228,21 +1244,6 @@ fn test_foo1() {}
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
Runnable {
|
|
||||||
use_name_in_title: false,
|
|
||||||
nav: NavigationTarget {
|
|
||||||
file_id: FileId(
|
|
||||||
0,
|
|
||||||
),
|
|
||||||
full_range: 0..51,
|
|
||||||
name: "",
|
|
||||||
kind: Module,
|
|
||||||
},
|
|
||||||
kind: TestMod {
|
|
||||||
path: "",
|
|
||||||
},
|
|
||||||
cfg: None,
|
|
||||||
},
|
|
||||||
]
|
]
|
||||||
"#]],
|
"#]],
|
||||||
);
|
);
|
||||||
|
@ -1258,9 +1259,24 @@ $0
|
||||||
#[cfg(all(feature = "foo", feature = "bar"))]
|
#[cfg(all(feature = "foo", feature = "bar"))]
|
||||||
fn test_foo1() {}
|
fn test_foo1() {}
|
||||||
"#,
|
"#,
|
||||||
&[Test, TestMod],
|
&[TestMod, Test],
|
||||||
expect![[r#"
|
expect![[r#"
|
||||||
[
|
[
|
||||||
|
Runnable {
|
||||||
|
use_name_in_title: false,
|
||||||
|
nav: NavigationTarget {
|
||||||
|
file_id: FileId(
|
||||||
|
0,
|
||||||
|
),
|
||||||
|
full_range: 0..73,
|
||||||
|
name: "",
|
||||||
|
kind: Module,
|
||||||
|
},
|
||||||
|
kind: TestMod {
|
||||||
|
path: "",
|
||||||
|
},
|
||||||
|
cfg: None,
|
||||||
|
},
|
||||||
Runnable {
|
Runnable {
|
||||||
use_name_in_title: false,
|
use_name_in_title: false,
|
||||||
nav: NavigationTarget {
|
nav: NavigationTarget {
|
||||||
|
@ -1299,21 +1315,6 @@ fn test_foo1() {}
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
Runnable {
|
|
||||||
use_name_in_title: false,
|
|
||||||
nav: NavigationTarget {
|
|
||||||
file_id: FileId(
|
|
||||||
0,
|
|
||||||
),
|
|
||||||
full_range: 0..73,
|
|
||||||
name: "",
|
|
||||||
kind: Module,
|
|
||||||
},
|
|
||||||
kind: TestMod {
|
|
||||||
path: "",
|
|
||||||
},
|
|
||||||
cfg: None,
|
|
||||||
},
|
|
||||||
]
|
]
|
||||||
"#]],
|
"#]],
|
||||||
);
|
);
|
||||||
|
@ -1400,9 +1401,24 @@ mod tests {
|
||||||
}
|
}
|
||||||
gen2!();
|
gen2!();
|
||||||
"#,
|
"#,
|
||||||
&[TestMod, TestMod, TestMod, Test, Test],
|
&[TestMod, TestMod, Test, Test, TestMod],
|
||||||
expect![[r#"
|
expect![[r#"
|
||||||
[
|
[
|
||||||
|
Runnable {
|
||||||
|
use_name_in_title: false,
|
||||||
|
nav: NavigationTarget {
|
||||||
|
file_id: FileId(
|
||||||
|
0,
|
||||||
|
),
|
||||||
|
full_range: 0..237,
|
||||||
|
name: "",
|
||||||
|
kind: Module,
|
||||||
|
},
|
||||||
|
kind: TestMod {
|
||||||
|
path: "",
|
||||||
|
},
|
||||||
|
cfg: None,
|
||||||
|
},
|
||||||
Runnable {
|
Runnable {
|
||||||
use_name_in_title: false,
|
use_name_in_title: false,
|
||||||
nav: NavigationTarget {
|
nav: NavigationTarget {
|
||||||
|
@ -1426,28 +1442,17 @@ gen2!();
|
||||||
file_id: FileId(
|
file_id: FileId(
|
||||||
0,
|
0,
|
||||||
),
|
),
|
||||||
full_range: 0..237,
|
full_range: 218..225,
|
||||||
name: "",
|
name: "foo_test",
|
||||||
kind: Module,
|
kind: Function,
|
||||||
},
|
},
|
||||||
kind: TestMod {
|
kind: Test {
|
||||||
path: "",
|
test_id: Path(
|
||||||
},
|
"tests::foo_test",
|
||||||
cfg: None,
|
|
||||||
},
|
|
||||||
Runnable {
|
|
||||||
use_name_in_title: true,
|
|
||||||
nav: NavigationTarget {
|
|
||||||
file_id: FileId(
|
|
||||||
0,
|
|
||||||
),
|
),
|
||||||
full_range: 228..236,
|
attr: TestAttr {
|
||||||
name: "tests2",
|
ignore: false,
|
||||||
kind: Module,
|
},
|
||||||
description: "mod tests2",
|
|
||||||
},
|
|
||||||
kind: TestMod {
|
|
||||||
path: "tests2",
|
|
||||||
},
|
},
|
||||||
cfg: None,
|
cfg: None,
|
||||||
},
|
},
|
||||||
|
@ -1472,22 +1477,18 @@ gen2!();
|
||||||
cfg: None,
|
cfg: None,
|
||||||
},
|
},
|
||||||
Runnable {
|
Runnable {
|
||||||
use_name_in_title: false,
|
use_name_in_title: true,
|
||||||
nav: NavigationTarget {
|
nav: NavigationTarget {
|
||||||
file_id: FileId(
|
file_id: FileId(
|
||||||
0,
|
0,
|
||||||
),
|
),
|
||||||
full_range: 218..225,
|
full_range: 228..236,
|
||||||
name: "foo_test",
|
name: "tests2",
|
||||||
kind: Function,
|
kind: Module,
|
||||||
|
description: "mod tests2",
|
||||||
},
|
},
|
||||||
kind: Test {
|
kind: TestMod {
|
||||||
test_id: Path(
|
path: "tests2",
|
||||||
"tests::foo_test",
|
|
||||||
),
|
|
||||||
attr: TestAttr {
|
|
||||||
ignore: false,
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
cfg: None,
|
cfg: None,
|
||||||
},
|
},
|
||||||
|
@ -1516,25 +1517,9 @@ macro_rules! foo {
|
||||||
}
|
}
|
||||||
foo!();
|
foo!();
|
||||||
"#,
|
"#,
|
||||||
&[TestMod, Test, Test, Test],
|
&[Test, Test, Test, TestMod],
|
||||||
expect![[r#"
|
expect![[r#"
|
||||||
[
|
[
|
||||||
Runnable {
|
|
||||||
use_name_in_title: true,
|
|
||||||
nav: NavigationTarget {
|
|
||||||
file_id: FileId(
|
|
||||||
0,
|
|
||||||
),
|
|
||||||
full_range: 210..217,
|
|
||||||
name: "foo_tests",
|
|
||||||
kind: Module,
|
|
||||||
description: "mod foo_tests",
|
|
||||||
},
|
|
||||||
kind: TestMod {
|
|
||||||
path: "foo_tests",
|
|
||||||
},
|
|
||||||
cfg: None,
|
|
||||||
},
|
|
||||||
Runnable {
|
Runnable {
|
||||||
use_name_in_title: true,
|
use_name_in_title: true,
|
||||||
nav: NavigationTarget {
|
nav: NavigationTarget {
|
||||||
|
@ -1595,6 +1580,22 @@ foo!();
|
||||||
},
|
},
|
||||||
cfg: None,
|
cfg: None,
|
||||||
},
|
},
|
||||||
|
Runnable {
|
||||||
|
use_name_in_title: true,
|
||||||
|
nav: NavigationTarget {
|
||||||
|
file_id: FileId(
|
||||||
|
0,
|
||||||
|
),
|
||||||
|
full_range: 210..217,
|
||||||
|
name: "foo_tests",
|
||||||
|
kind: Module,
|
||||||
|
description: "mod foo_tests",
|
||||||
|
},
|
||||||
|
kind: TestMod {
|
||||||
|
path: "foo_tests",
|
||||||
|
},
|
||||||
|
cfg: None,
|
||||||
|
},
|
||||||
]
|
]
|
||||||
"#]],
|
"#]],
|
||||||
);
|
);
|
||||||
|
@ -1671,9 +1672,24 @@ fn t0() {}
|
||||||
#[test]
|
#[test]
|
||||||
fn t1() {}
|
fn t1() {}
|
||||||
"#,
|
"#,
|
||||||
&[Test, Test, TestMod],
|
&[TestMod, Test, Test],
|
||||||
expect![[r#"
|
expect![[r#"
|
||||||
[
|
[
|
||||||
|
Runnable {
|
||||||
|
use_name_in_title: false,
|
||||||
|
nav: NavigationTarget {
|
||||||
|
file_id: FileId(
|
||||||
|
1,
|
||||||
|
),
|
||||||
|
full_range: 0..39,
|
||||||
|
name: "m",
|
||||||
|
kind: Module,
|
||||||
|
},
|
||||||
|
kind: TestMod {
|
||||||
|
path: "m",
|
||||||
|
},
|
||||||
|
cfg: None,
|
||||||
|
},
|
||||||
Runnable {
|
Runnable {
|
||||||
use_name_in_title: false,
|
use_name_in_title: false,
|
||||||
nav: NavigationTarget {
|
nav: NavigationTarget {
|
||||||
|
@ -1716,21 +1732,6 @@ fn t1() {}
|
||||||
},
|
},
|
||||||
cfg: None,
|
cfg: None,
|
||||||
},
|
},
|
||||||
Runnable {
|
|
||||||
use_name_in_title: false,
|
|
||||||
nav: NavigationTarget {
|
|
||||||
file_id: FileId(
|
|
||||||
1,
|
|
||||||
),
|
|
||||||
full_range: 0..39,
|
|
||||||
name: "m",
|
|
||||||
kind: Module,
|
|
||||||
},
|
|
||||||
kind: TestMod {
|
|
||||||
path: "m",
|
|
||||||
},
|
|
||||||
cfg: None,
|
|
||||||
},
|
|
||||||
]
|
]
|
||||||
"#]],
|
"#]],
|
||||||
);
|
);
|
||||||
|
|
Loading…
Reference in a new issue