@@ -40,34 +40,7 @@ pub fn check(root_path: &Path, bless: bool, bad: &mut bool) {
40
40
) ;
41
41
}
42
42
43
- let mut remaining_issue_names: BTreeSet < & str > = allowed_issue_names. clone ( ) ;
44
-
45
- let ( ui, ui_fulldeps) = ( path. join ( "ui" ) , path. join ( "ui-fulldeps" ) ) ;
46
- let paths = [ ui. as_path ( ) , ui_fulldeps. as_path ( ) ] ;
47
- crate :: walk:: walk_no_read ( & paths, |_, _| false , & mut |entry| {
48
- let file_path = entry. path ( ) ;
49
- if let Some ( ext) = file_path. extension ( ) . and_then ( OsStr :: to_str) {
50
- check_unexpected_extension ( bad, file_path, ext) ;
51
-
52
- // NB: We do not use file_stem() as some file names have multiple `.`s and we
53
- // must strip all of them.
54
- let testname =
55
- file_path. file_name ( ) . unwrap ( ) . to_str ( ) . unwrap ( ) . split_once ( '.' ) . unwrap ( ) . 0 ;
56
- if ext == "stderr" || ext == "stdout" || ext == "fixed" {
57
- check_stray_output_snapshot ( bad, file_path, testname) ;
58
- check_empty_output_snapshot ( bad, file_path) ;
59
- }
60
-
61
- deny_new_nondescriptive_test_names (
62
- bad,
63
- path,
64
- & mut remaining_issue_names,
65
- file_path,
66
- testname,
67
- ext,
68
- ) ;
69
- }
70
- } ) ;
43
+ let remaining_issue_names = recursively_check_ui_tests ( bad, path, & allowed_issue_names) ;
71
44
72
45
// if there are any file names remaining, they were moved on the fs.
73
46
// our data must remain up to date, so it must be removed from issues.txt
@@ -98,6 +71,42 @@ pub fn check(root_path: &Path, bless: bool, bad: &mut bool) {
98
71
}
99
72
}
100
73
74
+ fn recursively_check_ui_tests < ' issues > (
75
+ bad : & mut bool ,
76
+ path : & Path ,
77
+ allowed_issue_names : & ' issues BTreeSet < & ' issues str > ,
78
+ ) -> BTreeSet < & ' issues str > {
79
+ let mut remaining_issue_names: BTreeSet < & str > = allowed_issue_names. clone ( ) ;
80
+
81
+ let ( ui, ui_fulldeps) = ( path. join ( "ui" ) , path. join ( "ui-fulldeps" ) ) ;
82
+ let paths = [ ui. as_path ( ) , ui_fulldeps. as_path ( ) ] ;
83
+ crate :: walk:: walk_no_read ( & paths, |_, _| false , & mut |entry| {
84
+ let file_path = entry. path ( ) ;
85
+ if let Some ( ext) = file_path. extension ( ) . and_then ( OsStr :: to_str) {
86
+ check_unexpected_extension ( bad, file_path, ext) ;
87
+
88
+ // NB: We do not use file_stem() as some file names have multiple `.`s and we
89
+ // must strip all of them.
90
+ let testname =
91
+ file_path. file_name ( ) . unwrap ( ) . to_str ( ) . unwrap ( ) . split_once ( '.' ) . unwrap ( ) . 0 ;
92
+ if ext == "stderr" || ext == "stdout" || ext == "fixed" {
93
+ check_stray_output_snapshot ( bad, file_path, testname) ;
94
+ check_empty_output_snapshot ( bad, file_path) ;
95
+ }
96
+
97
+ deny_new_nondescriptive_test_names (
98
+ bad,
99
+ path,
100
+ & mut remaining_issue_names,
101
+ file_path,
102
+ testname,
103
+ ext,
104
+ ) ;
105
+ }
106
+ } ) ;
107
+ remaining_issue_names
108
+ }
109
+
101
110
fn check_unexpected_extension ( bad : & mut bool , file_path : & Path , ext : & str ) {
102
111
const EXPECTED_TEST_FILE_EXTENSIONS : & [ & str ] = & [
103
112
"rs" , // test source files
0 commit comments