-
Notifications
You must be signed in to change notification settings - Fork 8.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ML] Functional tests - stabilize slider value selection #94313
[ML] Functional tests - stabilize slider value selection #94313
Conversation
Pinging @elastic/ml-ui (:ml) |
Checking test stability in a flaky test runner job ... no failure in 50 runs ✔️ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM ⚡
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
This PR stabilizes the slider value selection during ML functional tests.
…-action * 'master' of github.com:elastic/kibana: (43 commits) [Console] Update copy when showing warnings in response headers (#94270) [TSVB] Type public code. Step 1 (#93231) [ML] Functional tests - stabilize slider value selection (#94313) skip another suite blocking es promotion (#94367) [Security Solution] Eliminates a redundant external link icon (#94194) skip another suite blocking es promotion (#94367) [App Search] Role mappings migration part 1 (#94346) [Security Solution][Detections] Fix flaky indicator enrichment tests (#94241) [Workplace Search] Deduplicate icons (#94359) [ML] Add latest transform to intro text (#94039) skip test failing es promotion (#94367) [Maps] convert elasticsearch_utils to TS (#93984) [Security_Solution][Telemetry] - Update endpoint usage to use agentService (#93829) [Security Solution][Exceptions] Fixes OS adding method for exception enrichment (#94343) [ILM] Add support for frozen phase (#93068) [App Search] Fixed 2 relevance tuning bugs (#94312) remove `try` auth mode (#94287) Removing resolver functional tests (#94331) migrate warning mixin to core (#94273) [App Search] Add routes for Role Mappings (#94221) ... # Conflicts: # x-pack/plugins/index_lifecycle_management/public/application/sections/edit_policy/components/phases/cold_phase/cold_phase.tsx # x-pack/plugins/index_lifecycle_management/public/application/sections/edit_policy/components/phases/phase/phase.tsx # x-pack/plugins/index_lifecycle_management/public/application/sections/edit_policy/components/phases/shared_fields/searchable_snapshot_field/searchable_snapshot_field.tsx # x-pack/plugins/index_lifecycle_management/public/application/sections/edit_policy/edit_policy.tsx # x-pack/plugins/index_lifecycle_management/public/application/sections/edit_policy/form/configuration_issues_context.tsx
This PR stabilizes the slider value selection during ML functional tests.
Summary
This PR stabilizes the slider value selection during ML functional tests.
Details
Current situation
The logic of the
setSliderValue
method is not perfectly accurate and with bad timing can lead to test failures, see e.g. #94084.In the final step, one can see a message like
retry.tryForTime error: slider value should be '20' (got '20')
, which looks wrong, but is actually not failing the test. In fact, the finalthrow
of theelse
is needed to trigger the outerretry
. But if the innerretry
times out in a bad moment,currentValue
might not be set correctly when the outer retry is entered (which relies on the calculation of the inner retry).Changes with this PR
currentValue
fetching andcurrentDiff
calculation to the start of the outerretry
, so it's always accurate and doesn't rely on the innerretry
calculation anymore.assertSliderValue
into theelse
, so it returns with a success if the last slider modification hit the target value or throws an error, which will trigger the outerretry
. No assertion outside needed anymore, because eithercurrentDiff === 0
(inif
) orassertSliderValue
was successful (inelse
), which both mean that the value has been set correctly.Closes #94084