Repository navigation
build: exclude the generated CCJSqlParser from JaCoCo - #2867
Merged
manticore-projects merged 1 commit intoOct 29, 2026
Merged
manticore-projects merged 1 commit into
manticore-projects merged 1 commit into
Conversation
Instrumented by JaCoCo, the generated CCJSqlParser class is close to the 65,535 constant-pool limit (808 entries left on c84ad0e). Past the limit the agent loads it uninstrumented and the coverage verification fails. Exclude it from the agent, the report and the verification, like the TokenManager. The verification pattern "**CCJSqlParserTokenManager**" did not match the class file, so both classes are now excluded by their exact paths, which keeps the nested helper classes measured. See JSQLParser#2866. Signed-off-by: minleejae <mmj9808@gmail.com>
Contributor
|
Thank you very much! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Implements the short-term fix proposed in #2866. Instrumented by JaCoCo, the generated
CCJSqlParserclass has 808 constant-pool entries left on master (c84ad0ebc). When a grammar change crosses the limit, the agent fails withClassTooLargeException, loads the parser uninstrumented, andjacocoTestCoverageVerificationfails.The parser is now excluded from the agent (
test.jacoco.excludes), fromjacocoTestReportand fromjacocoTestCoverageVerification. The agent already excludedCCJSqlParserTokenManagerthis way. The report and verification exclusions use the exact class-file paths**/parser/CCJSqlParserTokenManager.classand**/parser/CCJSqlParser.class, so nested classes such asCCJSqlParser$ObjectNamesstay instrumented and measured.This also closes two gaps in the existing TokenManager exclusion, which together counted the uninstrumented TokenManager as 0% covered in both tasks:
**CCJSqlParserTokenManager**did not match the class-file path.The coverage thresholds, the rule-level
excludesand the Maven build are unchanged.Validation:
Java 17 Gradle
checkpasses: 12,262 tests with 0 failures and 25 skipped. Grammar ambiguity, formatting (Spotless ratchet againstupstream/master), Checkstyle, PMD, SpotBugs and JaCoCo all pass.The test execution data contains the nested
CCJSqlParser$…classes but neitherCCJSqlParsernorCCJSqlParserTokenManager. The HTML report lists neither class.Bundle totals checked by the verification rules:
The numbers change because two classes leave the bundle, not because coverage improves:
AI assistance: prepared with Claude Code.