-
Notifications
You must be signed in to change notification settings - Fork 521
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
Fix part of #5343: Building proto with coverage results for data processing #5439
Conversation
… file content and its related test content in the provided subpackage
…d test files with corresponding build configurations and content
…the contents as byte array
…eturning coverage data
… arguments and use them
…e in testing the utilities
…o code_coverage_bazel_command_execution
…o code_coverage_bazel_command_execution
…instead of test target
Yeah @BenHenning, that is what is implemented in the #5433, developer inputs a sourceFile.kt and we map them to test targets. (this was decided based on user experience) Edit: If that question is something related to M2 (I am right now uncertain which would be the best strategy and that would be based on the ci runs. If we could get the list of changed files (not affected), then that that should be straightforward with the existing script. |
The suggestion to add test cases as in #5433 (comment) are implemented in this PR with [commit] |
Hi @adhiamboperes, this PR is now ready for review, addressed all the review comments Ben left. Can you PTAL! |
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.
Thanks @Rd4dev. I took a full pass and the implementation looks clean, and I think the structure of the coverage.proto
looks great.
Thank you so much @adhiamboperes 😃 |
APK & AAB differences analysisNote that this is a summarized snapshot. See the CI artifacts for detailed differences. DevExpand to see flavor specificsUniversal APKAPK file size: 16 MiB (old), 16 MiB (new), 8 bytes (Removed) APK download size (estimated): 14 MiB (old), 14 MiB (new), 3 bytes (Added) Method count: 227007 (old), 227007 (new), 0 (No change) Features: 2 (old), 2 (new), 0 (No change) Permissions: 6 (old), 6 (new), 0 (No change) Resources: 6550 (old), 6550 (new), 0 (No change)
Lesson assets: 111 (old), 111 (new), 0 (No change) AAB differencesExpand to see AAB specificsSupported configurations:
Base APKAPK file size: 16 MiB (old), 16 MiB (new), 8 bytes (Removed) Configuration hdpiAPK file size: 59 KiB (old), 59 KiB (new), 0 bytes (No change) Configuration ldpiAPK file size: 56 KiB (old), 56 KiB (new), 0 bytes (No change) Configuration mdpiAPK file size: 53 KiB (old), 53 KiB (new), 0 bytes (No change) Configuration tvdpiAPK file size: 102 KiB (old), 102 KiB (new), 0 bytes (No change) Configuration xhdpiAPK file size: 67 KiB (old), 67 KiB (new), 0 bytes (No change) Configuration xxhdpiAPK file size: 76 KiB (old), 76 KiB (new), 0 bytes (No change) Configuration xxxhdpiAPK file size: 79 KiB (old), 79 KiB (new), 0 bytes (No change) AlphaExpand to see flavor specificsUniversal APKAPK file size: 10 MiB (old), 10 MiB (new), 4 bytes (Removed) APK download size (estimated): 9184 KiB (old), 9184 KiB (new), 31 bytes (Added) Method count: 101341 (old), 101341 (new), 0 (No change) Features: 2 (old), 2 (new), 0 (No change) Permissions: 6 (old), 6 (new), 0 (No change) Resources: 5504 (old), 5504 (new), 0 (No change)
Lesson assets: 111 (old), 111 (new), 0 (No change) AAB differencesExpand to see AAB specificsSupported configurations:
Base APKAPK file size: 9 MiB (old), 9 MiB (new), 4 bytes (Removed) Configuration hdpiAPK file size: 52 KiB (old), 52 KiB (new), 0 bytes (No change) Configuration ldpiAPK file size: 52 KiB (old), 52 KiB (new), 0 bytes (No change) Configuration mdpiAPK file size: 46 KiB (old), 46 KiB (new), 0 bytes (No change) Configuration tvdpiAPK file size: 90 KiB (old), 90 KiB (new), 0 bytes (No change) Configuration xhdpiAPK file size: 60 KiB (old), 60 KiB (new), 0 bytes (No change) Configuration xxhdpiAPK file size: 69 KiB (old), 69 KiB (new), 0 bytes (No change) Configuration xxxhdpiAPK file size: 71 KiB (old), 71 KiB (new), 0 bytes (No change) BetaExpand to see flavor specificsUniversal APKAPK file size: 10 MiB (old), 10 MiB (new), 4 bytes (Removed) APK download size (estimated): 9169 KiB (old), 9169 KiB (new), 30 bytes (Removed) Method count: 101341 (old), 101341 (new), 0 (No change) Features: 2 (old), 2 (new), 0 (No change) Permissions: 6 (old), 6 (new), 0 (No change) Resources: 5504 (old), 5504 (new), 0 (No change)
Lesson assets: 111 (old), 111 (new), 0 (No change) AAB differencesExpand to see AAB specificsSupported configurations:
Base APKAPK file size: 9 MiB (old), 9 MiB (new), 0 bytes (No change) Configuration hdpiAPK file size: 52 KiB (old), 52 KiB (new), 0 bytes (No change) Configuration ldpiAPK file size: 52 KiB (old), 52 KiB (new), 0 bytes (No change) Configuration mdpiAPK file size: 46 KiB (old), 46 KiB (new), 0 bytes (No change) Configuration tvdpiAPK file size: 90 KiB (old), 90 KiB (new), 0 bytes (No change) Configuration xhdpiAPK file size: 60 KiB (old), 60 KiB (new), 0 bytes (No change) Configuration xxhdpiAPK file size: 69 KiB (old), 69 KiB (new), 0 bytes (No change) Configuration xxxhdpiAPK file size: 71 KiB (old), 71 KiB (new), 0 bytes (No change) GaExpand to see flavor specificsUniversal APKAPK file size: 10 MiB (old), 10 MiB (new), 4 bytes (Removed) APK download size (estimated): 9169 KiB (old), 9169 KiB (new), 1 bytes (Added) Method count: 101341 (old), 101341 (new), 0 (No change) Features: 2 (old), 2 (new), 0 (No change) Permissions: 6 (old), 6 (new), 0 (No change) Resources: 5504 (old), 5504 (new), 0 (No change)
Lesson assets: 111 (old), 111 (new), 0 (No change) AAB differencesExpand to see AAB specificsSupported configurations:
Base APKAPK file size: 9 MiB (old), 9 MiB (new), 4 bytes (Removed) Configuration hdpiAPK file size: 52 KiB (old), 52 KiB (new), 0 bytes (No change) Configuration ldpiAPK file size: 52 KiB (old), 52 KiB (new), 0 bytes (No change) Configuration mdpiAPK file size: 46 KiB (old), 46 KiB (new), 0 bytes (No change) Configuration tvdpiAPK file size: 90 KiB (old), 90 KiB (new), 0 bytes (No change) Configuration xhdpiAPK file size: 60 KiB (old), 60 KiB (new), 0 bytes (No change) Configuration xxhdpiAPK file size: 69 KiB (old), 69 KiB (new), 0 bytes (No change) Configuration xxxhdpiAPK file size: 71 KiB (old), 71 KiB (new), 0 bytes (No change) |
@adhiamboperes, also I am unsure how to get this pass the unresolved conversations, to get it merged? |
@seanlip Can you help get this PR merged? @BenHenning is on leave and was fine with the PR changes. |
Yup, I think that's fine. I'll see if I can merge this. |
Ben's away, and Adhiambo has approved. See comment that Sandeep linked to.
@adhiamboperes Could you please check the previous conversations and resolve them to confirm they are resolved, since that's a requirement for merge? Thanks. |
@Rd4dev, there are two comments to respond to, but I have verified everything else as addressed and resolved them. |
Thanks @adhiamboperes,
|
Thanks @Rd4dev. Everything looks good. |
Explanation
Fixes part of #5343
Project
[PR 1.4 of Project 4.1]
Changes Made
coverage.proto
to store the coverage data generated during coverage analysis.To Note:
Result:
A representation of the list of Coverage Report proto is presented below:
This is the output on running 2 hardcoded test cases:
math:MathModelTest
andmath:FloatExtensionsTest
List of Coverage Report
Representation in Protobuf
Function Coverage: Interpreted execution counts to determine coverage status. Any execution count greater than 0 signifies full coverage, otherwise considered null.
Branch Coverage: Determined coverage based on the recorded hit count for each branch. A hit count greater than 0 denotes full coverage, otherwise marked as null.
Usage:
The stored proto will be used to generate coverage reports in md and HTML formats [to be handled in PR 1.5]
Essential Checklist
For UI-specific PRs only
If your PR includes UI-related changes, then: