Turn some error conditions into assertions (part 4)
[kconfig-hardened-check.git] / kconfig_hardened_check / __init__.py
index 635397ea6aadbd3747bb5f8f9af5f42097981ae2..fea82724f2aa54ae19bb0bd799ed28ff34ec58b9 100644 (file)
@@ -676,8 +676,8 @@ def print_unknown_options(checklist, parsed_options):
                     known_options.append(o2.name)
                 continue
             for o3 in o2.opts:
-                if o3.type == 'complex':
-                    sys.exit('[!] ERROR: unexpected ComplexOptCheck inside {}'.format(o2.name))
+                assert(o3.type != 'complex'), \
+                       'unexpected ComplexOptCheck inside {}'.format(o2.name)
                 if hasattr(o3, 'name'):
                     known_options.append(o3.name)
 
@@ -735,22 +735,22 @@ def print_checklist(mode, checklist, with_results):
 
 
 def populate_simple_opt_with_data(opt, data, data_type):
-    if opt.type == 'complex':
-        sys.exit('[!] ERROR: unexpected ComplexOptCheck {}: {}'.format(opt.name, vars(opt)))
-    if opt.type not in SIMPLE_OPTION_TYPES:
-        sys.exit('[!] ERROR: invalid opt type "{}" for {}'.format(opt.type, opt.name))
-    if data_type not in SIMPLE_OPTION_TYPES:
-        sys.exit('[!] ERROR: invalid data type "{}"'.format(data_type))
+    assert(opt.type != 'complex'), \
+           'unexpected ComplexOptCheck "{}"'.format(opt.name)
+    assert(opt.type in SIMPLE_OPTION_TYPES), \
+           'invalid opt type "{}"'.format(opt.type)
+    assert(data_type in SIMPLE_OPTION_TYPES), \
+           'invalid data type "{}"'.format(data_type)
 
     if data_type != opt.type:
         return
 
     if data_type in ('kconfig', 'cmdline'):
         opt.state = data.get(opt.name, None)
-    elif data_type == 'version':
-        opt.ver = data
     else:
-        sys.exit('[!] ERROR: unexpected data type "{}"'.format(data_type))
+        assert(data_type == 'version'), \
+               'unexpected data type "{}"'.format(data_type)
+        opt.ver = data
 
 
 def populate_opt_with_data(opt, data, data_type):
@@ -762,8 +762,8 @@ def populate_opt_with_data(opt, data, data_type):
             else:
                 populate_simple_opt_with_data(o, data, data_type)
     else:
-        if opt.type not in ('kconfig', 'cmdline'):
-            sys.exit('[!] ERROR: bad type "{}" for a simple check {}'.format(opt.type, opt.name))
+        assert(opt.type in ('kconfig', 'cmdline')), \
+               'bad type "{}" for a simple check'.format(opt.type)
         populate_simple_opt_with_data(opt, data, data_type)