in gui/mozregui/bisection.py [0:0]
def _evaluate(self):
# this is called in the working thread, so installation does not
# block the ui.
# download in background, if desired and that last verdict was not
# a skip.
if self.download_in_background and self.test_runner.verdict != "s":
self.index_promise = IndexPromise(
self.mid,
self.bisection._download_next_builds,
args=(self._persist_files,),
)
# run the build evaluation
self.bisection.evaluate(self.build_infos)
# wait for the next index in the thread if any
if self.index_promise:
self.index_promise()
# if there was an error, stop the possible downloads
if self.test_runner.run_error:
self.download_manager.cancel()
self.download_manager.wait(raise_if_error=False)
if not self.test_runner.run_error:
self.step_testing.emit(self.bisection, self.build_infos)