0
0
mirror of https://github.com/bec-project/bec_widgets.git synced 2025-07-14 03:31:50 +02:00

test(conftest): only run cleanup checks if test passed

This commit is contained in:
2024-09-04 14:07:49 +02:00
committed by wyzula_j
parent 8a354690c9
commit 26920f8482

View File

@ -7,12 +7,26 @@ from bec_widgets.qt_utils import error_popups
from bec_widgets.utils import bec_dispatcher as bec_dispatcher_module from bec_widgets.utils import bec_dispatcher as bec_dispatcher_module
@pytest.hookimpl(tryfirst=True, hookwrapper=True)
def pytest_runtest_makereport(item, call):
# execute all other hooks to obtain the report object
outcome = yield
rep = outcome.get_result()
item.stash["failed"] = rep.failed
@pytest.fixture(autouse=True) @pytest.fixture(autouse=True)
def qapplication(qtbot): # pylint: disable=unused-argument def qapplication(qtbot, request): # pylint: disable=unused-argument
yield yield
# if the test failed, we don't want to check for open widgets as
# it simply pollutes the output
if request.node.stash._storage.get("failed"):
print("Test failed, skipping cleanup checks")
return
qapp = QApplication.instance() qapp = QApplication.instance()
# qapp.quit()
qapp.processEvents() qapp.processEvents()
if hasattr(qapp, "os_listener") and qapp.os_listener: if hasattr(qapp, "os_listener") and qapp.os_listener:
qapp.removeEventFilter(qapp.os_listener) qapp.removeEventFilter(qapp.os_listener)