equinor / webviz-ert

ERT webviz plugins
GNU General Public License v3.0
12 stars 23 forks source link

Fix flaky test on self-hosted runner #418

Closed kwinkunks closed 1 year ago

kwinkunks commented 1 year ago

On Azure, the test test_response_correlation.test_axes_labels() is flaky, timing out half the time with the default 10 s limit. Here is one example:

=================================== FAILURES ===================================
_______________________________ test_axes_labels _______________________________

mock_data = None
dash_duo = <dash.testing.composite.DashComposite object at 0x2b4017208970>

    def test_axes_labels(mock_data, dash_duo):
        """test_axis_labels loads two different plots and checks that axes are
        labelled correctly"""

        plugin = setup_plugin(
            dash_duo, __name__, ResponseCorrelation, window_size=(1024, 2048)
        )

        # find the right ensemble which has mock data prepared for this test
        wanted_ensemble_name = "default3"
        select_ensemble(dash_duo, plugin, wanted_ensemble_name)

        wanted_responses = ["WOPR:OP1", "FOPR"]

        # we only see one response at a time, so we choose and check one after the
        # other
        for wanted_response in wanted_responses:
            response_selector_id = plugin.uuid("parameter-selector-multi-resp")
            select_by_name(dash_duo, f"#{response_selector_id}", wanted_response)

            plot_id = plugin.uuid("response-overview")

            # check that y axis label spells out "Value"
>           dash_duo.wait_for_text_to_equal(f"#{plot_id} text.ytitle", "Value")

tests/views/test_response_correlation.py:34: 
.
.
.
E       selenium.common.exceptions.TimeoutException: Message: text -> Value not found within 10s

../test-kenv/root/lib64/python3.8/site-packages/selenium/webdriver/support/wait.py:87: TimeoutException

Following tests depend on the same plot. Perhaps it takes about 10 s to render (seems long but :shrug: ) so propose increasing timeout limit for this one wait.