def build(self, nb_builds, return_exec_code=SkipDialog.Accepted): class FInfo(FutureBuildInfo): def _fetch(self): return self.data build_range = BuildRange(None, [FInfo(None, i) for i in range(nb_builds)]) dialog = SkipDialog(build_range) dialog.exec_ = lambda: return_exec_code self.qtbot.addWidget(dialog) dialog.show() self.qtbot.waitForWindowShown(dialog) return dialog