Commit 866d3c07 by Alexander Popov

Improve print_unknown_options()

Don't miss options behind the second level of ComplexOptCheck
parent 70975c39
...@@ -614,16 +614,25 @@ def add_kconfig_checks(l, arch): ...@@ -614,16 +614,25 @@ def add_kconfig_checks(l, arch):
def print_unknown_options(checklist, parsed_options): def print_unknown_options(checklist, parsed_options):
known_options = [] known_options = []
for opt in checklist:
if hasattr(opt, 'opts'): for o1 in checklist:
for o in opt.opts: if not hasattr(o1, 'opts'):
if hasattr(o, 'name'): known_options.append(o1.name)
known_options.append(o.name) continue
else: for o2 in o1.opts:
known_options.append(opt.name) if not hasattr(o2, 'opts'):
if hasattr(o2, 'name'):
known_options.append(o2.name)
continue
for o3 in o2.opts:
if hasattr(o3, 'opts'):
sys.exit('[!] ERROR: unexpected ComplexOptCheck inside {}'.format(o2.name))
if hasattr(o3, 'name'):
known_options.append(o3.name)
for option, value in parsed_options.items(): for option, value in parsed_options.items():
if option not in known_options: if option not in known_options:
print('[?] No rule for option {} ({})'.format(option, value)) print('[?] No check for option {} ({})'.format(option, value))
def print_checklist(mode, checklist, with_results): def print_checklist(mode, checklist, with_results):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment