in mozci/data/sources/treeherder/__init__.py [0:0]
def run_test_task_groups(self, branch, rev, task):
# Use a lock since push.py invokes this across many threads (which is
# useful for the 'errorsummary' data source, but not here). This ensures
# we don't make more than one request to Treeherder.
with self.lock:
if task.id not in self.groups_cache:
self.groups_cache.update(self.get_push_test_groups(branch, rev))
try:
# TODO: Once https://github.com/mozilla/mozci/issues/662 is fixed, we should return the actual duration instead of None.
return {
group: (status, None)
for group, status in self.groups_cache.pop(task.id).items()
}
except KeyError:
raise ContractNotFilled(self.name, "test_task_groups", "groups are missing")