Commit 228f9e2b by Alexander Popov

Fix the bug in the verdict description for ComplexOptCheck

Before the fix:
CONFIG_EFI_DISABLE_PCI_DMA | kconfig | y | clipos | self_protection | OK: not found

After the fix:
CONFIG_EFI_DISABLE_PCI_DMA | kconfig | y | clipos | self_protection | OK: CONFIG_EFI not found

Also added the assertions preventing similar bugs in future.
parent e98c458b
...@@ -235,11 +235,18 @@ class OR(ComplexOptCheck): ...@@ -235,11 +235,18 @@ class OR(ComplexOptCheck):
for i, opt in enumerate(self.opts): for i, opt in enumerate(self.opts):
opt.check() opt.check()
if opt.result.startswith('OK'): if opt.result.startswith('OK'):
if opt.result == 'OK' and i != 0: self.result = opt.result
# Simple OK is not enough for additional checks, add more info: # Add more info for additional checks:
self.result = 'OK: {} "{}"'.format(opt.name, opt.expected) if i != 0:
else: if opt.result == 'OK':
self.result = opt.result self.result = 'OK: {} "{}"'.format(opt.name, opt.expected)
elif opt.result == 'OK: not found':
self.result = 'OK: {} not found'.format(opt.name)
elif opt.result == 'OK: is present':
self.result = 'OK: {} is present'.format(opt.name)
# VersionCheck provides enough info
elif not opt.result.startswith('OK: version'):
sys.exit('[!] ERROR: unexpected OK description "{}"'.format(opt.result))
return return
self.result = self.opts[0].result self.result = self.opts[0].result
...@@ -265,8 +272,10 @@ class AND(ComplexOptCheck): ...@@ -265,8 +272,10 @@ class AND(ComplexOptCheck):
elif opt.result == 'FAIL: not present': elif opt.result == 'FAIL: not present':
self.result = 'FAIL: {} not present'.format(opt.name) self.result = 'FAIL: {} not present'.format(opt.name)
else: else:
# This FAIL message is self-explaining. # VersionCheck provides enough info
self.result = opt.result self.result = opt.result
if not opt.result.startswith('FAIL: version'):
sys.exit('[!] ERROR: unexpected FAIL description "{}"'.format(opt.result))
return return
sys.exit('[!] ERROR: invalid AND check') sys.exit('[!] ERROR: invalid AND check')
......
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