-
Notifications
You must be signed in to change notification settings - Fork 365
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
Enhanced coverage processing (#2) #254
Conversation
@qododavid @EmbeddedDevops1 Appreciate your review. |
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
PR Code Suggestions ✨Explore these optional code suggestions:
|
34e9df8
to
340f16c
Compare
* While earlier PR[qodo-ai#230] managed to breakdown processing code into a class hierarechy, there wasnt any changes made to the code. This PR brings in enhancements to coverage processing where coverage data is stored by entity (Class or File). * Coverage data is stored using a FQDN so that conflicts are taken care. This closes[qodo-ai#251] * Earlier PR broke the behaviour of the agent that only target file coverage is considered if the global coverage flag is not set by the user, this PR fixes it to bring back the original behaviour.
340f16c
to
86dbebe
Compare
User description
While earlier PR [Refactored coverage processor in to class hierarchy #230] managed to breakdown processing
code into a class hierarechy, there wasnt any changes
made to the code. This PR brings in enhancements to
coverage processing where coverage data is stored by
entity (Class or File).
Coverage data is stored using a FQDN so that conflicts
are taken care. This closes [Misidentification of relevant coverage report causes tests to be thrown away #251]
Earlier PR broke the behaviour of the agent that only
target file coverage is considered if the global coverage
flag is not set by the user, this PR fixes it to bring
back the original behaviour.
PR Type
Enhancement, Tests
Description
Enhanced coverage processing to handle file path conflicts.
Added
is_target_file
attribute for accurate coverage matching.Refactored coverage processors to improve modularity and accuracy.
Updated and expanded test cases for coverage processors.
Changes walkthrough 📝
UnitTestValidator.py
Simplify coverage report processing in UnitTestValidator
cover_agent/UnitTestValidator.py
file_pattern
parameter in coverage processing.processor.py
Refactor coverage processors and add target file filtering
cover_agent/coverage/processor.py
is_target_file
attribute inCoverageData
.filter_to_target_coverage
method inCoverageReport
.test_processor.py
Expand and update tests for coverage processors
tests/coverage/test_processor.py
is_target_file
functionality.test_UnitTestValidator.py
Update UnitTestValidator tests for new coverage logic
tests/test_UnitTestValidator.py
CoverageReport
structure.is_target_file
attribute.jacocoTestReport.xml
Add sample JaCoCo XML report for tests
sample-reports/jacocoTestReport.xml
lcov.info
Add sample LCOV report for tests
sample-reports/lcov.info