in mozregression/bisector.py [0:0]
def handle_verdict(self, mid_point, verdict):
if verdict == "g":
# if build is good and we are looking for a regression, we
# have to split from
# [G, ?, ?, G, ?, B]
# to
# [G, ?, B]
self.history.add(self.build_range, mid_point, verdict)
if not self.handler.find_fix:
self.build_range = self.build_range[mid_point:]
else:
self.build_range = self.build_range[: mid_point + 1]
self.handler.build_good(mid_point, self.build_range)
elif verdict == "b":
# if build is bad and we are looking for a regression, we
# have to split from
# [G, ?, ?, B, ?, B]
# to
# [G, ?, ?, B]
self.history.add(self.build_range, mid_point, verdict)
if not self.handler.find_fix:
self.build_range = self.build_range[: mid_point + 1]
else:
self.build_range = self.build_range[mid_point:]
self.handler.build_bad(mid_point, self.build_range)
elif verdict == "r":
self.handler.build_retry(mid_point)
elif verdict == "s":
self.handler.build_skip(mid_point)
self.history.add(self.build_range, mid_point, verdict)
self.build_range = self.build_range.deleted(mid_point)
elif verdict == "back":
self.build_range = self.history[-1].build_range
else:
# user exit
self.handler.user_exit(mid_point)
return self.USER_EXIT
return self.RUNNING