def is_config_consistent_failure()

in mozci/task.py [0:0]


    def is_config_consistent_failure(self, minimum_count: int = 3) -> Optional[bool]:
        config_to_results = collections.defaultdict(list)
        for task in self.tasks:
            for result in task.results:
                if result.group == self.name:
                    config_to_results[task.configuration].append(result.ok)

        # If there is no config for which we have at least 'minimum_count' runs, return None (that is, unknown).
        if all(len(results) < minimum_count for results in config_to_results.values()):
            return None

        # Return True if there is at least one configuration for which we have only failures, False otherwise.
        return any(
            len(results) >= minimum_count and not any(results)
            for results in config_to_results.values()
        )