def is_pass(self, expected_results, actual_results, expected_similarity = 0.66):
"""Checks to see if a command execution passes.
If actual results compared to expected results is within
the expected similarity level then it's considered a pass.
Returns a dictionary containing the results:
{
"passed": boolean,
"command": "the command executed",
"results": "Results returned",
"expected_results": "Expected results",
"similarity": float,
"required_similarity": float
}
"""
differ = difflib.Differ()
comparison = differ.compare(actual_results, expected_results)
diff = differ.compare(actual_results, expected_results)
seq = difflib.SequenceMatcher(lambda x: x in " \t\n\r", actual_results, expected_results)
is_pass = seq.ratio() >= expected_similarity
self.ui.log("debug", "Similarity is: " + str(seq.ratio()))
message = {
"passed": is_pass,
"command": self.last_command,
"results": actual_results,
"expected_results": expected_results,
"similarity": seq.ratio(),
"required_similarity": expected_similarity
}
return message
评论列表
文章目录