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
    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