in cbmc_viewer/resultt.py [0:0]
def __init__(self, results_list=None):
"""Merge a list of results into a single result.
Each result is given by the dict representation of a result object.
"""
results_list = results_list or [EMPTY_RESULT]
for results in results_list:
self.validate(results)
self.program = choose([results[PROGRAM] for results in results_list])
self.status = flatten([results[STATUS] for results in results_list])
self.warning = flatten([results[WARNING] for results in results_list])
success = set(flatten([results[RESULT][True] for results in results_list]))
failure = set(flatten([results[RESULT][False] for results in results_list]))
self.results = {
True: sorted(success.difference(failure), key=propertyt.key),
False: sorted(failure, key=propertyt.key)
}
status = [results[PROVER] for results in results_list] or [None]
self.prover = None if None in status else FAILURE if FAILURE in status else SUCCESS
self.validate()