Allow linter to use alternate features.txt file

This commit is contained in:
Liviu Rau 2023-10-10 12:42:55 +02:00 committed by Philip Chimento
parent a9821b4211
commit be929de3ec

View File

@ -52,12 +52,16 @@ parser.add_argument('--exceptions',
parser.add_argument('path', parser.add_argument('path',
nargs='+', nargs='+',
help='file name or directory of files to lint') help='file name or directory of files to lint')
parser.add_argument('--features',
help='File containing all known features usable in tests',
default='features.txt')
checks = [ def checks(features):
return [
CheckEsid(), CheckEsid(),
CheckFileName(), CheckFileName(),
CheckFrontmatter(), CheckFrontmatter(),
CheckFeatures('features.txt'), CheckFeatures(features),
CheckHarnessFeatures(), CheckHarnessFeatures(),
CheckHarness(), CheckHarness(),
CheckIncludes(), CheckIncludes(),
@ -66,9 +70,9 @@ checks = [
CheckNoPadding(), CheckNoPadding(),
CheckFlags(), CheckFlags(),
CheckPosix(), CheckPosix(),
] ]
def lint(file_names): def lint(file_names, features):
errors = dict() errors = dict()
for file_name in file_names: for file_name in file_names:
@ -78,7 +82,7 @@ def lint(file_names):
with open(file_name, 'r') as f: with open(file_name, 'r') as f:
content = f.read() content = f.read()
meta = lib.frontmatter.parse(content) meta = lib.frontmatter.parse(content)
for check in checks: for check in checks(features):
error = check.run(file_name, meta, content) error = check.run(file_name, meta, content)
if error is not None: if error is not None:
@ -99,7 +103,7 @@ if __name__ == '__main__':
file_count = len(files) file_count = len(files)
print('Linting %s file(s)' % (file_count)) print('Linting %s file(s)' % (file_count))
all_errors = lint(files) all_errors = lint(files, args.features)
unexpected_errors = dict(all_errors) unexpected_errors = dict(all_errors)
for file_name, failures in all_errors.items(): for file_name, failures in all_errors.items():