Rewrite check-includes.pl in python
This commit is contained in:
parent
083e2ba445
commit
c4a090d60e
3 changed files with 23 additions and 24 deletions
23
tools/check-includes.py
Executable file
23
tools/check-includes.py
Executable file
|
@ -0,0 +1,23 @@
|
|||
#!/usr/bin/env python3
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
|
||||
# pylint: disable=missing-docstring,invalid-name,unspecified-encoding,consider-using-with
|
||||
|
||||
import re
|
||||
import sys
|
||||
|
||||
def check_file(filename):
|
||||
seen = set()
|
||||
good = True
|
||||
for n, line in enumerate(open(filename)):
|
||||
if m := re.match(r'^\s*#\s*include\s*[<"](\S*)[>"]', line):
|
||||
include = m.group(1)
|
||||
if include in seen:
|
||||
print(f'{filename}:{n}: {line.strip()}')
|
||||
good = False
|
||||
seen.add(include)
|
||||
return good
|
||||
|
||||
if __name__ == '__main__':
|
||||
good = all(check_file(name) for name in sys.argv[1:])
|
||||
sys.exit(0 if good else 1)
|
Loading…
Add table
Add a link
Reference in a new issue