Rollup merge of #124969 - onur-ozkan:test-tests-remap, r=Mark-Simulacrum

check if `x test tests` missing any test directory

Add a unit test to ensure we don't skip any test directories for `x test tests` in the future.
This commit is contained in:
Matthias Krüger 2024-05-11 13:16:41 +02:00 committed by GitHub
commit 7d7a182c29
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 23 additions and 0 deletions

View File

@ -320,11 +320,13 @@ const PATH_REMAP: &[(&str, &[&str])] = &[
(
"tests",
&[
// tidy-alphabetical-start
"tests/assembly",
"tests/codegen",
"tests/codegen-units",
"tests/coverage",
"tests/coverage-run-rustdoc",
"tests/crashes",
"tests/debuginfo",
"tests/incremental",
"tests/mir-opt",
@ -340,6 +342,7 @@ const PATH_REMAP: &[(&str, &[&str])] = &[
"tests/rustdoc-ui",
"tests/ui",
"tests/ui-fulldeps",
// tidy-alphabetical-end
],
),
];

View File

@ -128,6 +128,26 @@ fn validate_path_remap() {
});
}
#[test]
fn check_missing_paths_for_x_test_tests() {
let build = Build::new(configure("test", &["A-A"], &["A-A"]));
let (_, tests_remap_paths) =
PATH_REMAP.iter().find(|(target_path, _)| *target_path == "tests").unwrap();
let tests_dir = fs::read_dir(build.src.join("tests")).unwrap();
for dir in tests_dir {
let path = dir.unwrap().path();
// Skip if not a test directory.
if path.ends_with("tests/auxiliary") || !path.is_dir() {
continue
}
assert!(tests_remap_paths.iter().any(|item| path.ends_with(*item)), "{} is missing in PATH_REMAP tests list.", path.display());
}
}
#[test]
fn test_exclude() {
let mut config = configure("test", &["A-A"], &["A-A"]);