[clang-tidy] Do not pass any file when listing checks in run_clang_ti… (#137286)

…dy.py

Currently, run_clang_tidy.py does not correctly display the list of
checks picked up from the top-level .clang-tidy file. The reason for
that is that we are passing an empty string as input file.

However, that's not how we are supposed to use clang-tidy to list
checks. Per
65eccb463d,
we simply should not pass any file at all - the internal code of
clang-tidy will pass a "dummy" file if that's the case and get the
.clang-tidy file from the current working directory.

Fixes #136659

Co-authored-by: Carlos Gálvez <carlos.galvez@zenseact.com>
This commit is contained in:
Carlos Galvez 2025-04-29 11:13:30 +02:00 committed by GitHub
parent 3d47bc9d25
commit 014ab736dc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 7 additions and 3 deletions

View File

@ -87,7 +87,7 @@ def find_compilation_database(path: str) -> str:
def get_tidy_invocation(
f: str,
f: Optional[str],
clang_tidy_binary: str,
checks: str,
tmpdir: Optional[str],
@ -147,6 +147,7 @@ def get_tidy_invocation(
start.append(f"--warnings-as-errors={warnings_as_errors}")
if allow_no_checks:
start.append("--allow-no-checks")
if f:
start.append(f)
return start
@ -490,7 +491,7 @@ async def main() -> None:
try:
invocation = get_tidy_invocation(
"",
None,
clang_tidy_binary,
args.checks,
None,

View File

@ -103,6 +103,9 @@ Improvements to clang-tidy
- Fixed bug in :program:`clang-tidy` by which `HeaderFilterRegex` did not take
effect when passed via the `.clang-tidy` file.
- Fixed bug in :program:`run_clang_tidy.py` where the program would not
correctly display the checks enabled by the top-level `.clang-tidy` file.
New checks
^^^^^^^^^^