Mitigate flaky test failure about "CRM_Utils_Check_Component_Env->checkVersion()" #17038
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
The function
CRM_Utils_Check_Component_Env->checkVersion()
relies on an external data feed. If there's an error fetching feed, then we wind up with a PHP warning. This bubbles up to false-negatives in the test suite. This problem should be tracked in a different way.Before
This warning can manifest on random pages:
It can also manifest as random test-failures. I recently saw these false-negatives:
After
The warning is suppressed.
Technical Details
To test this, I used the following to reproduce the problem and observe the mitigation:
Comments
I'm not usually a fan of suppressing warnings. It is legit to have some QA signals if
latest.civicrm.org
is unavailable. However, its better to use uptime monitoring for that web-service. It shouldn't manifest in random unit-tests or PHP warnings on random pages.