-
Notifications
You must be signed in to change notification settings - Fork 83
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
Coverage flakes #362
Comments
Cross pasting the tail of the CI output in case it gets wiped because of storage policies 30 days ahead:
|
Some mundande changes related to header construction. Switches us to clang-10, which hopefully addresses envoyproxy#362 Signed-off-by: Otto van der Schaaf <oschaaf@we-amp.com>
Has some mundane changes related to header construction. Switches us to clang-10, which hopefully addresses envoyproxy#362 Signed-off-by: Otto van der Schaaf <oschaaf@we-amp.com>
Notable changes in this Update: - Changes related to header construction - CI moves from clang-9 to clang-10 - Changes related to satisfy the new clang-tidy version: - Fix superfluous initializers in the rate limiter code. - Suppress modernize-avoid-bind to get sequencer_test.cc to pass checks. (clang-tidy's auto generated suggested fix fails to build) - Move to use typed configs in `AddFilter()` in the server filter tests. This avoids asserts being triggered by the integration test framework as deprecated fields for which support was dropped get generated otherwise. - Drop the coverage threshold by 0.1% Hopefully addresses #362 by producing more reliable and accurate coverage reports. Signed-off-by: Otto van der Schaaf <oschaaf@we-amp.com>
Bad news, clang-10 didn't fix this, as #367 just hit this again: The python integration tests failed to yield coverage.dat
This then drops the CI job way below the coverage threshold:
|
For posterity, as we're about to exclude the python integration tests for coverage to resolve this,
|
Following an offline discussion about coverage flakes in CI, and how to best improve there we decided to exclude the integration tests altogether from strict coverage treshold expectations. As such, we lower the unit testing coverage threshold to 92.1% here. We still run the integration tests in a new CI task, with the intent to make that not required to pass for merging, so informational only. Fixes #362 Signed-off-by: Otto van der Schaaf <oschaaf@we-amp.com>
Sometimes coverage dips far below the threshold (90.x% instead of 98.x%). When this happens it is always the python integration test runs not being considered when it comes to computing
the coverage. Some more information on this can be found here.
I'm filing this issue because it just happened on a CI run following a merge to master:
https://app.circleci.com/pipelines/github/envoyproxy/nighthawk/1640/workflows/6823a1ea-bb7d-4bce-a42c-ae6c6b38de5d/jobs/12923/steps
TLDR; we probably need to wait for clang-10 to get used in the docker image we use to test, and we source that image from Envoy.
If that doesn't resolve it, more looking into this is warranted.
The text was updated successfully, but these errors were encountered: