Skip to content

Commit fa7b8ae

Browse files
committed
add add_group macro for grouping tidy watcher tags
1 parent 344410f commit fa7b8ae

File tree

1 file changed

+95
-53
lines changed

1 file changed

+95
-53
lines changed

src/tools/tidy/src/watcher.rs

+95-53
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ fn span_hash(source: &str, tag: &str, bad: &mut bool) -> Result<String, ()> {
6060
Ok(format!("{:x}", hasher.finalize()))
6161
}
6262

63-
fn check_entry(entry: &ListEntry<'_>, bad: &mut bool, root_path: &Path) {
63+
fn check_entry(entry: &ListEntry<'_>, group_idx: usize, bad: &mut bool, root_path: &Path) {
6464
let file = fs::read_to_string(root_path.join(Path::new(entry.0)))
6565
.unwrap_or_else(|e| panic!("{:?}, path: {}", e, entry.0));
6666
let actual_hash = span_hash(&file, entry.2, bad).unwrap();
@@ -77,75 +77,117 @@ fn check_entry(entry: &ListEntry<'_>, bad: &mut bool, root_path: &Path) {
7777
}
7878
tidy_error!(
7979
bad,
80-
"hash for tag `{}` in path `{}` mismatch:\n actual: `{}`, expected: `{}`\n",
80+
"hash for tag `{}` in path `{}` mismatch:\n actual: `{}`, expected: `{}`\n \
81+
Verify that tags `{:?}` in sync.",
8182
entry.2,
8283
entry.0,
8384
actual_hash,
84-
entry.1
85+
entry.1,
86+
TIDY_WATCH_LIST[group_idx].iter().map(|e| e.2).collect::<Vec<&str>>()
8587
);
8688
}
8789
}
8890

91+
macro_rules! add_group {
92+
($($entry:expr),*) => {
93+
&[$($entry),*]
94+
};
95+
}
96+
8997
/// (path, hash, tag)
9098
type ListEntry<'a> = (&'a str, &'a str, &'a str);
9199

92100
/// List of tags to watch, along with paths and hashes
93101
#[rustfmt::skip]
94-
const TIDY_WATCH_LIST: &[ListEntry<'_>] = &[
102+
const TIDY_WATCH_LIST: &[&[ListEntry<'_>]] = &[
95103
// sync perf commit across dockerfile and opt-dist
96-
("src/tools/opt-dist/src/main.rs", "728c2783154a52a30bdb1d66f8ea1f2a", "tidy-ticket-perf-commit"),
97-
("src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile", "76c8d9783e38e25a461355f82fcd7955", "tidy-ticket-perf-commit"),
98-
99-
("compiler/rustc_ast/src/token.rs", "70666de80ab0194a67524deeda3c01b8", "tidy-ticket-ast-from_token"),
100-
("compiler/rustc_ast/src/token.rs", "9a78008a2377486eadf19d67ee4fdce2", "tidy-ticket-ast-can_begin_literal_maybe_minus"),
101-
("compiler/rustc_parse/src/parser/expr.rs", "500240cdc80690209060fdce10ce065a", "tidy-ticket-rustc_parse-can_begin_literal_maybe_minus"),
102-
103-
("compiler/rustc_builtin_macros/src/assert/context.rs", "81bd6f37797c22fce5c85a4b590b3856", "tidy-ticket-all-expr-kinds"),
104-
("tests/ui/macros/rfc-2011-nicer-assert-messages/all-expr-kinds.rs", "78ce54cc25baeac3ae07c876db25180c", "tidy-ticket-all-expr-kinds"),
105-
106-
("compiler/rustc_const_eval/src/interpret/validity.rs", "91c69e391741f64b7624e1bda4b31bc3", "tidy-ticket-try_visit_primitive"),
107-
("compiler/rustc_const_eval/src/interpret/validity.rs", "05e496c9ca019273c49ba9de48b5da23", "tidy-ticket-visit_value"),
104+
add_group!(
105+
("src/tools/opt-dist/src/main.rs", "728c2783154a52a30bdb1d66f8ea1f2a", "tidy-ticket-perf-commit"),
106+
("src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile", "76c8d9783e38e25a461355f82fcd7955", "tidy-ticket-perf-commit")
107+
),
108+
109+
add_group!(
110+
("compiler/rustc_ast/src/token.rs", "70666de80ab0194a67524deeda3c01b8", "tidy-ticket-ast-from_token"),
111+
("compiler/rustc_ast/src/token.rs", "9a78008a2377486eadf19d67ee4fdce2", "tidy-ticket-ast-can_begin_literal_maybe_minus"),
112+
("compiler/rustc_parse/src/parser/expr.rs", "500240cdc80690209060fdce10ce065a", "tidy-ticket-rustc_parse-can_begin_literal_maybe_minus")
113+
),
114+
115+
add_group!(
116+
("compiler/rustc_builtin_macros/src/assert/context.rs", "81bd6f37797c22fce5c85a4b590b3856", "tidy-ticket-all-expr-kinds"),
117+
("tests/ui/macros/rfc-2011-nicer-assert-messages/all-expr-kinds.rs", "78ce54cc25baeac3ae07c876db25180c", "tidy-ticket-all-expr-kinds")
118+
),
119+
120+
add_group!(
121+
("compiler/rustc_const_eval/src/interpret/validity.rs", "91c69e391741f64b7624e1bda4b31bc3", "tidy-ticket-try_visit_primitive"),
122+
("compiler/rustc_const_eval/src/interpret/validity.rs", "05e496c9ca019273c49ba9de48b5da23", "tidy-ticket-visit_value")
123+
),
108124

109125
// sync self-profile-events help mesage with actual list of events
110-
("compiler/rustc_data_structures/src/profiling.rs", "881e7899c7d6904af1bc000594ee0418", "tidy-ticket-self-profile-events"),
111-
("compiler/rustc_session/src/options.rs", "012ee5a3b61ee1377744e5c6913fa00a", "tidy-ticket-self-profile-events"),
112-
113-
("compiler/rustc_errors/src/json.rs", "5907da5c0476785fe2aae4d0d62f7171", "tidy-ticket-UnusedExterns"),
114-
("src/librustdoc/doctest.rs", "b5bb5128abb4a2dbb47bb1a1a083ba9b", "tidy-ticket-UnusedExterns"),
115-
116-
("compiler/rustc_middle/src/ty/util.rs", "cae64b1bc854e7ee81894212facb5bfa", "tidy-ticket-static_ptr_ty"),
117-
("compiler/rustc_middle/src/ty/util.rs", "6f5ead08474b4d3e358db5d3c7aef970", "tidy-ticket-thread_local_ptr_ty"),
118-
119-
("compiler/rustc_mir_build/src/thir/pattern/deconstruct_pat.rs", "8ac64f1266a60bb7b11d80ac764e5154", "tidy-ticket-arity"),
120-
("compiler/rustc_mir_build/src/thir/pattern/deconstruct_pat.rs", "2bab79a2441e8ffae79b7dc3befe91cf", "tidy-ticket-wildcards"),
121-
122-
("compiler/rustc_mir_build/src/thir/pattern/deconstruct_pat.rs", "3844ca4b7b45be1c721c17808ee5b2e2", "tidy-ticket-is_covered_by"),
123-
("compiler/rustc_mir_build/src/thir/pattern/deconstruct_pat.rs", "4d296b7b1f48a9dd92e8bb8cd3344718", "tidy-ticket-is_covered_by_any"),
124-
125-
("compiler/rustc_monomorphize/src/partitioning.rs", "f4f33e9c14f4e0c3a20b5240ae36a7c8", "tidy-ticket-short_description"),
126-
("compiler/rustc_codegen_ssa/src/back/write.rs", "5286f7f76fcf564c98d7a8eaeec39b18", "tidy-ticket-short_description"),
127-
128-
("compiler/rustc_session/src/config/sigpipe.rs", "8d765a5c613d931852c0f59ed1997dcd", "tidy-ticket-sigpipe"),
129-
("library/std/src/sys/unix/mod.rs", "2cdc37081831cdcf44f3331efbe440af", "tidy-ticket-sigpipe"),
130-
131-
("compiler/rustc_trait_selection/src/solve/assembly/structural_traits.rs", "b205939890472130649d5fd4fc86a992", "tidy-ticket-extract_tupled_inputs_and_output_from_callable"),
132-
("compiler/rustc_trait_selection/src/traits/select/candidate_assembly.rs", "e9a77bba86a02702af65b2713af47394", "tidy-ticket-assemble_fn_pointer_candidates"),
133-
134-
("compiler/rustc_trait_selection/src/solve/eval_ctxt/select.rs", "d0c807d90501f3f63dffc3e7ec046c20", "tidy-ticket-rematch_unsize"),
135-
("compiler/rustc_trait_selection/src/solve/trait_goals.rs", "f1b0ce28128b5d5a5b545af3f3cf55f4", "tidy-ticket-consider_builtin_unsize_candidate"),
136-
137-
("compiler/rustc_trait_selection/src/traits/project.rs", "66585f93352fe56a5be6cc5a63bcc756", "tidy-ticket-assemble_candidates_from_impls-UserDefined"),
138-
("compiler/rustc_ty_utils/src/instance.rs", "e8b404fd4160512708f922140a8bb187", "tidy-ticket-resolve_associated_item-UserDefined"),
139-
140-
("compiler/rustc_hir_analysis/src/lib.rs", "842e23fb65caf3a96681686131093316", "tidy-ticket-sess-time-item_types_checking"),
141-
("src/librustdoc/core.rs", "d11d64105aa952bbf3c0c2f211135c43", "tidy-ticket-sess-time-item_types_checking"),
142-
143-
("library/core/src/ptr/metadata.rs", "57fc0e05c177c042c9766cc1134ae240", "tidy-ticket-static_assert_expected_bounds_for_metadata"),
144-
("library/core/tests/ptr.rs", "13ecb32e2a0db0998ff94f33a30f5cfd", "tidy-ticket-static_assert_expected_bounds_for_metadata"),
126+
add_group!(
127+
("compiler/rustc_data_structures/src/profiling.rs", "881e7899c7d6904af1bc000594ee0418", "tidy-ticket-self-profile-events"),
128+
("compiler/rustc_session/src/options.rs", "012ee5a3b61ee1377744e5c6913fa00a", "tidy-ticket-self-profile-events")
129+
),
130+
131+
add_group!(
132+
("compiler/rustc_errors/src/json.rs", "5907da5c0476785fe2aae4d0d62f7171", "tidy-ticket-UnusedExterns"),
133+
("src/librustdoc/doctest.rs", "b5bb5128abb4a2dbb47bb1a1a083ba9b", "tidy-ticket-UnusedExterns")
134+
),
135+
136+
add_group!(
137+
("compiler/rustc_middle/src/ty/util.rs", "cae64b1bc854e7ee81894212facb5bfa", "tidy-ticket-static_ptr_ty"),
138+
("compiler/rustc_middle/src/ty/util.rs", "6f5ead08474b4d3e358db5d3c7aef970", "tidy-ticket-thread_local_ptr_ty")
139+
),
140+
141+
add_group!(
142+
("compiler/rustc_mir_build/src/thir/pattern/deconstruct_pat.rs", "8ac64f1266a60bb7b11d80ac764e5154", "tidy-ticket-arity"),
143+
("compiler/rustc_mir_build/src/thir/pattern/deconstruct_pat.rs", "2bab79a2441e8ffae79b7dc3befe91cf", "tidy-ticket-wildcards")
144+
),
145+
146+
add_group!(
147+
("compiler/rustc_mir_build/src/thir/pattern/deconstruct_pat.rs", "3844ca4b7b45be1c721c17808ee5b2e2", "tidy-ticket-is_covered_by"),
148+
("compiler/rustc_mir_build/src/thir/pattern/deconstruct_pat.rs", "4d296b7b1f48a9dd92e8bb8cd3344718", "tidy-ticket-is_covered_by_any")
149+
),
150+
151+
add_group!(
152+
("compiler/rustc_monomorphize/src/partitioning.rs", "f4f33e9c14f4e0c3a20b5240ae36a7c8", "tidy-ticket-short_description"),
153+
("compiler/rustc_codegen_ssa/src/back/write.rs", "5286f7f76fcf564c98d7a8eaeec39b18", "tidy-ticket-short_description")
154+
),
155+
156+
add_group!(
157+
("compiler/rustc_session/src/config/sigpipe.rs", "8d765a5c613d931852c0f59ed1997dcd", "tidy-ticket-sigpipe"),
158+
("library/std/src/sys/unix/mod.rs", "2cdc37081831cdcf44f3331efbe440af", "tidy-ticket-sigpipe")
159+
),
160+
161+
add_group!(
162+
("compiler/rustc_trait_selection/src/solve/assembly/structural_traits.rs", "b205939890472130649d5fd4fc86a992", "tidy-ticket-extract_tupled_inputs_and_output_from_callable"),
163+
("compiler/rustc_trait_selection/src/traits/select/candidate_assembly.rs", "e9a77bba86a02702af65b2713af47394", "tidy-ticket-assemble_fn_pointer_candidates")
164+
),
165+
166+
add_group!(
167+
("compiler/rustc_trait_selection/src/solve/eval_ctxt/select.rs", "d0c807d90501f3f63dffc3e7ec046c20", "tidy-ticket-rematch_unsize"),
168+
("compiler/rustc_trait_selection/src/solve/trait_goals.rs", "f1b0ce28128b5d5a5b545af3f3cf55f4", "tidy-ticket-consider_builtin_unsize_candidate")
169+
),
170+
171+
add_group!(
172+
("compiler/rustc_trait_selection/src/traits/project.rs", "66585f93352fe56a5be6cc5a63bcc756", "tidy-ticket-assemble_candidates_from_impls-UserDefined"),
173+
("compiler/rustc_ty_utils/src/instance.rs", "e8b404fd4160512708f922140a8bb187", "tidy-ticket-resolve_associated_item-UserDefined")
174+
),
175+
176+
add_group!(
177+
("compiler/rustc_hir_analysis/src/lib.rs", "842e23fb65caf3a96681686131093316", "tidy-ticket-sess-time-item_types_checking"),
178+
("src/librustdoc/core.rs", "d11d64105aa952bbf3c0c2f211135c43", "tidy-ticket-sess-time-item_types_checking")
179+
),
180+
181+
add_group!(
182+
("library/core/src/ptr/metadata.rs", "57fc0e05c177c042c9766cc1134ae240", "tidy-ticket-static_assert_expected_bounds_for_metadata"),
183+
("library/core/tests/ptr.rs", "13ecb32e2a0db0998ff94f33a30f5cfd", "tidy-ticket-static_assert_expected_bounds_for_metadata")
184+
),
145185
];
146186

147187
pub fn check(root_path: &Path, bad: &mut bool) {
148-
for entry in TIDY_WATCH_LIST {
149-
check_entry(entry, bad, root_path);
188+
for (group_idx, group) in TIDY_WATCH_LIST.iter().enumerate() {
189+
for entry in group.iter() {
190+
check_entry(entry, group_idx, bad, root_path);
191+
}
150192
}
151193
}

0 commit comments

Comments
 (0)