-
Notifications
You must be signed in to change notification settings - Fork 16
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 - 2nd attempt #187
Conversation
Yes, I think it's a viable path, a couple of comments:
|
The main benefit of having the file in
So for the snap version, we are already cutting it pretty close to the character limit of 32 (e.g. |
That is a fair point, what about
The snap version is indeed long as-is, if we can watermark the binary that works for me. |
Dynamically influence build of MicroOVN snap via variables set in 'microovn/.build_control' file. This allows us to build MicroOVN with coverage instrumentation on demand, without affecting default builds. Signed-off-by: Martin Kalcok <[email protected]>
When MicroOVN is built with coverage enabled, system tests can collect coverage data from MicroOVN client and daemon binaries executed during tests. By default, the data is stored locally in ".coverage/<test_name>/<container_name>". Signed-off-by: Martin Kalcok <[email protected]>
MicroOVN snap built in the CI pipeline now supports coverage instrumentation in its client and daemon binaries. Test jobs will use this build to collect coverage data that gets uploaded as an artifact from each job. After all tests are executed, a new job will collect and merge coverage data from all tests and produce coverage report in Cobertura XML format. Signed-off-by: Martin Kalcok <[email protected]>
Included topics about building MicroOVN with code coverage support and how to collect coverage data from system tests. Signed-off-by: Martin Kalcok <[email protected]>
This approach seems to be working fine. CI results produced Update since last push:
|
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, thanks!
after #184 had to be reverted, this is a second attempt at enabling coverage data collection during system tests.
This time the
snapcraft.yaml
file is static, so build system likelaunchpad
shouldn't have problem using this repository to publish snaps. Instead, the build is controlled via variables inmicroovn/.build_control
file that gets sourced during the snap build.This PR is a draft. It does not contain doc changes yet as I'd like some feedback on its viability first.