Re: [PATCH 3/5] [pre-commit] Run flake8 for gdb/gdb-gdb.py.in
Simon Marchi <[email protected]>
| Newsgroups | gmane.comp.gdb.patches |
|---|---|
| Message-ID | <[email protected]> |
On 7/20/26 8:50 AM, Tom de Vries wrote: > When running the pre-commit hooks for gdb/gdb-gdb.py.in: > ... > $ pre-commit run --files gdb/gdb-gdb.py.in > black...................................................................Passed > flake8..............................................(no files to check)Skipped > isort...................................................................Passed > codespell...............................................................Passed > tclint..............................................(no files to check)Skipped > check-include-guards................................(no files to check)Skipped > check-gnu-style.....................................(no files to check)Skipped > - hook id: check-gnu-style > check-whitespace........................................................Passed > pre-commit-setup........................................................Passed > check-file-mode.........................................................Passed > ... > we see that flake8 is skipped. > > The hook setup has a types_or workaround that's supposed to prevent this: > ... > - id: flake8 > types_or: *gdb_python_types > files: *gdb_python_files > args: [--config, gdb/setup.cfg] > ... > but that doesn't work because flake8's .pre-commit-hooks.yaml doesn't set > types_or, but types: > ... > types: [python] > ... > > So we end up with an effective setting of both types and types_or: > ... > types: [python] > types_or: [file] > ... > which both have to be matched, and because gdb/gdb-gdb.py.in doesn't match > python: > ... > $ identify-cli gdb/gdb-gdb.py.in > ["file", "non-executable", "text"] > ... > the file is skipped. > > This could be fixed by: > ... > - types_or: [file] > + types: [file] > ... > but an isort update setting types_or could reintroduce the same problem. > > For robustness, fix this by setting both types and types_or for each python > hook. > > Using the same value for both settings would work: > ... > types: [file] > types_or: [file] > ... > because types and types_or have the same effect for list lengths 0 and 1. > > But I think it's better to have different anchors to avoid any confusion about > the and/or behavior, in which case it's more natural to use the actual default > [] for types_or, and to update the anchor names to reflect that these are the > default values: > ... > types: &types_default [file] > types_or: &types_or_default [] > ... Are we doing all this just for gdb-gdb.py.in? Because it might not need to be a ".in" file, I don't see any substitution in it (unlike gdb-gdb.gdb.in). Could we rename it to gdb-gdb.py and use AC_CONFIG_LINKS on it? Would that simplify things? Simon