Fix mypy warning in json_dump()
authorAlexander Popov <alex.popov@linux.com>
Sun, 12 May 2024 13:28:03 +0000 (16:28 +0300)
committerAlexander Popov <alex.popov@linux.com>
Sun, 12 May 2024 13:28:03 +0000 (16:28 +0300)
kernel_hardening_checker/engine.py:119: error: "None" has no attribute "startswith"  [attr-defined]

The `json_dump()` function printing the results should not be called
for the OptCheck and ComplexOptCheck objects with empty results.

kernel_hardening_checker/engine.py

index 0bf0ad560f09ccd0950e14f12dd4f625d31a391c..1e69c791727b858dc3d04e46750da2e8545d3051 100644 (file)
@@ -115,6 +115,7 @@ class OptCheck:
             "reason": self.reason,
         }
         if with_results:
             "reason": self.reason,
         }
         if with_results:
+            assert self.result, f'unexpected empty result in {self.name}'
             dump["check_result"] = self.result
             dump["check_result_bool"] = self.result.startswith('OK')
         return dump
             dump["check_result"] = self.result
             dump["check_result_bool"] = self.result.startswith('OK')
         return dump
@@ -230,6 +231,7 @@ class ComplexOptCheck:
         dump = self.opts[0].json_dump(False)
         if with_results:
             # Add the 'check_result' and 'check_result_bool' keys to the dictionary
         dump = self.opts[0].json_dump(False)
         if with_results:
             # Add the 'check_result' and 'check_result_bool' keys to the dictionary
+            assert self.result, f'unexpected empty result in {self.name}'
             dump["check_result"] = self.result
             dump["check_result_bool"] = self.result.startswith('OK')
         return dump
             dump["check_result"] = self.result
             dump["check_result_bool"] = self.result.startswith('OK')
         return dump