Re-tuning jacoco coverage for a higher quality "you need to write more tests". #578
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.
I had a PR blocked on a coverage limit and decided the coverage report needed improving. First, all generated classes should be excluded from the report. Second, the block is applied to branch based coverage. Line based coverage shall no longer block changes. Why? A simple example: In a nested function call 'foo(bar(5))' if code is refactored to 'int x = bar(5); foo(x);' We've altered the line count and therefore the coverage ratio without any change to the code complexity or even to the AST. Branch coverage by contrast is a much closer approximation of 'has this code changed in complexity or behavior'. Thirdly, the scope of coverage is changed from PACKAGE to BUNDLE. PACKAGE makes sense for some libraries that limit interaction between package scopes. Since this repository contains deployable units (ie. lambda functions equivalent to executables) we choose to evaluate the coverage in totality. Why? A simple example is if some method is extracted across package boundaries the safety and correctness of the bundle hasn't changed but the coverage may throw a hissy fit. Overall these changes will produce a higher value signal when coverage checks do fail.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.