in benchmarks/perf-tool/okpt/diff/diff.py [0:0]
def _validate_keys(self) -> Tuple[bool, str, str]:
"""Ensure both test results have `metadata` and `results` keys."""
check_keydict = lambda key, res: key in res and isinstance(
res[key], dict)
# check if results have a `metadata` field and if `metadata` is a dict
if self.metadata:
if not check_keydict(TestResultFields.METADATA, self.base_result):
return (False, TestResultFields.METADATA, TestResultNames.BASE)
if not check_keydict(TestResultFields.METADATA,
self.changed_result):
return (
False,
TestResultFields.METADATA,
TestResultNames.CHANGED
)
# check if results have a `results` field and `results` is a dict
if not check_keydict(TestResultFields.RESULTS, self.base_result):
return (False, TestResultFields.RESULTS, TestResultNames.BASE)
if not check_keydict(TestResultFields.RESULTS, self.changed_result):
return (False, TestResultFields.RESULTS, TestResultNames.CHANGED)
return (True, '', '')