0
0
mirror of https://github.com/bec-project/bec_widgets.git synced 2025-07-13 19:21:50 +02:00

perf: replace wait with waitUntil

This commit is contained in:
2025-06-06 14:53:29 +02:00
committed by David Perl
parent dea2568de3
commit d626caae3d
5 changed files with 45 additions and 32 deletions

View File

@ -51,7 +51,6 @@ def test_rpc_add_dock_with_plots_e2e(qtbot, bec_client_lib, connected_client_gui
# Waii until docks are registered
qtbot.waitUntil(check_docks_registered, timeout=5000)
qtbot.wait(500)
assert len(dock.panels) == 3
assert hasattr(gui.bec, "dock_0")

View File

@ -168,11 +168,16 @@ def test_accept_changes(axis_settings_fixture, qtbot):
axis_settings.ui.x_grid.checked = True
axis_settings.accept_changes()
qtbot.wait(200)
assert plot_base.title == "New Title"
assert plot_base.x_min == 10
assert plot_base.x_max == 20
assert plot_base.x_label == "New X Label"
assert plot_base.x_log is True
assert plot_base.x_grid is True
qtbot.waitUntil(
lambda: all(
[
plot_base.title == "New Title",
plot_base.x_min == 10,
plot_base.x_max == 20,
plot_base.x_label == "New X Label",
plot_base.x_log is True,
plot_base.x_grid is True,
]
),
timeout=200,
)

View File

@ -47,24 +47,21 @@ def test_bec_dock_area_add_remove_dock(bec_dock_area, qtbot):
# Remove docks
d0_name = d0.name()
bec_dock_area.delete(d0_name)
qtbot.wait(200)
d1.remove()
qtbot.wait(200)
assert len(bec_dock_area.dock_area.docks) == initial_count + 1
qtbot.waitUntil(lambda: len(bec_dock_area.dock_area.docks) == initial_count + 1, timeout=200)
assert d0.name() not in dict(bec_dock_area.dock_area.docks)
assert d1.name() not in dict(bec_dock_area.dock_area.docks)
assert d2.name() in dict(bec_dock_area.dock_area.docks)
def test_close_docks(bec_dock_area, qtbot):
d0 = bec_dock_area.new(name="dock_0")
d1 = bec_dock_area.new(name="dock_1")
d2 = bec_dock_area.new(name="dock_2")
_ = bec_dock_area.new(name="dock_0")
_ = bec_dock_area.new(name="dock_1")
_ = bec_dock_area.new(name="dock_2")
bec_dock_area.delete_all()
qtbot.wait(200)
assert len(bec_dock_area.dock_area.docks) == 0
qtbot.waitUntil(lambda: len(bec_dock_area.dock_area.docks) == 0)
def test_undock_and_dock_docks(bec_dock_area, qtbot):

View File

@ -120,11 +120,11 @@ def test_roi_name_edit(roi_tree, image_widget, qtbot):
roi_tree.tree.editItem(item, roi_tree.COL_ROI)
qtbot.keyClicks(roi_tree.tree.viewport().focusWidget(), "new_name")
qtbot.keyClick(roi_tree.tree.viewport().focusWidget(), Qt.Key_Return)
qtbot.wait(200)
# Check the ROI name was updated
assert roi.label == "new_name"
assert item.text(roi_tree.COL_ROI) == "new_name"
qtbot.waitUntil(
lambda: all([roi.label == "new_name", item.text(roi_tree.COL_ROI) == "new_name"]),
timeout=200,
)
def test_roi_width_edit(roi_tree, image_widget, qtbot):
@ -138,9 +138,8 @@ def test_roi_width_edit(roi_tree, image_widget, qtbot):
# Change the width
width_spin.setValue(25)
qtbot.wait(200)
# Check the ROI width was updated
assert roi.line_width == 25
qtbot.waitUntil(lambda: roi.line_width == 25, timeout=200)
def test_delete_roi_button(roi_tree, image_widget, qtbot):
@ -153,11 +152,12 @@ def test_delete_roi_button(roi_tree, image_widget, qtbot):
del_btn = layout.itemAt(1).widget()
del_btn.click()
qtbot.wait(200)
# Verify ROI was removed
assert roi not in roi_tree.roi_items
assert roi not in image_widget.roi_controller.rois
qtbot.waitUntil(
lambda: all([roi not in roi_tree.roi_items, roi not in image_widget.roi_controller.rois]),
timeout=200,
)
def test_roi_color_change_from_roi(roi_tree, image_widget):

View File

@ -508,19 +508,31 @@ def test_crosshair_roi_panels_visibility(qtbot, mocked_client):
# Enable ROI crosshair
switch.actions["crosshair_roi"].action.trigger()
qtbot.wait(500)
# Panels must be visible
assert bec_image_view.side_panel_x.panel_height > 0
assert bec_image_view.side_panel_y.panel_width > 0
qtbot.waitUntil(
lambda: all(
[
bec_image_view.side_panel_x.panel_height > 0,
bec_image_view.side_panel_y.panel_width > 0,
]
),
timeout=500,
)
# Disable ROI crosshair
switch.actions["crosshair_roi"].action.trigger()
qtbot.wait(500)
# Panels hidden again
assert bec_image_view.side_panel_x.panel_height == 0
assert bec_image_view.side_panel_y.panel_width == 0
qtbot.waitUntil(
lambda: all(
[
bec_image_view.side_panel_x.panel_height == 0,
bec_image_view.side_panel_y.panel_width == 0,
]
),
timeout=500,
)
def test_roi_plot_data_from_image(qtbot, mocked_client):