def scct_app(tmpdir_factory, caplog): caplog.set_level(logging.ERROR) app = QApplication(sys.argv) app.setStyle(QStyleFactory.create('Fusion')) tmp_dir = tmpdir_factory.getbasetemp() if tmp_dir.join('profiles').check(exists=0): profile_dir = tmp_dir.mkdir('profiles').mkdir( hex(random.randint(49152, 65535))[2:]) casting_html_src = os.path.normpath( os.path.join(os.path.dirname(__file__), '../casting_html')) assert os.path.exists(casting_html_src) casting_html = profile_dir.join('casting_html') if casting_html.check(exists=0): shutil.copytree(casting_html_src, casting_html) scctool.settings.loadSettings(str(tmp_dir), True) cntlr = MainController() main_window = MainWindow(cntlr, app, False) main_window.show() yield (main_window, cntlr) main_window.close() cntlr.cleanUp() app.exit(1) for record in caplog.records: assert record.levelname != 'CRITICAL' assert record.levelname != 'ERROR'
def main_window(app, showChangelog=False): """Run the main exectuable.""" from PyQt5.QtCore import QSize from PyQt5.QtGui import QIcon from scctool.controller import MainController from scctool.view.main import MainWindow try: icon = QIcon() icon.addFile(scctool.settings.getResFile('scct.ico'), QSize(32, 32)) icon.addFile(scctool.settings.getResFile('scct.png'), QSize(256, 256)) app.setWindowIcon(icon) cntlr = MainController() logger.info("Starting... v{}".format(__version__)) MainWindow(cntlr, app, showChangelog) return cntlr except Exception: logger.exception("Exception in main_window") raise