borinquenkid opened a new pull request, #16278: URL: https://github.com/apache/grails-core/pull/16278
## Summary - Closes real JaCoCo coverage gaps in `grails-data-hibernate7` (both the `core` and `grails-plugin` subprojects) — no production code changes, tests only. - `AggregatePersistenceContextInterceptor`: 24.5% → 86.8% (no dedicated Spec existed for the multi-datasource lifecycle fan-out). - `HibernateCriteriaBuilder`: 72.7% → 89.6%, `PredicateGenerator`: 83.2% → 85.2% (extended the existing "low-level method coverage" Direct spec: createAlias, exists/notExists closures, eqAll/gtSome/geSome/ltSome/leSome, notIn, inList, ignoreCase eq, plus the documented `PredicateGenerator.registerCriterionHandler` extension point). - `DetachedAssociationFunction`: 50% → 100%, `IdentityEnumType`: 65.6% → 91.8% (`BidiEnumMap` → 100%). - `GrailsHibernateUtil`: 77.9% → 85.3% (proxy-unwrap branches reached by explicitly initializing a Hibernate proxy after clearing the session, plus the single-arg delegate overloads). - `ManyToOneBinder`: 78.2% → 100% (composite-identity join-key derivation for circular many-to-many associations). - `ChildHibernateDatastore`: 80% → 100%, `SelectHqlQuery`: 82.9% → 100%, `JpaQueryContext`: 78.5% → 95.4%. - `HibernateGrailsPlugin`: 0% → 100% — added a new `HibernateGrailsPluginSpec` that drives `doWithSpring()` through a `BeanBuilder`, following the existing `QuartzGrailsPluginSpec` pattern (no plugin manager or full app bootstrap needed). **Module totals:** `core` 93.6% → 94.9%, `grails-plugin` 63.7% → 77.8%. A couple of items were deliberately left alone and are not part of this PR: - `HibernateQueryConstants` and `ProjectionPredicate` are unreferenced/deprecated dead code — flagged as removal candidates rather than given tests to inflate coverage on code nothing calls. - A handful of defensive "unsupported X" exception branches and TRACE-level log lines in `GrailsHibernateUtil`/`PredicateGenerator` aren't reachable through the public Groovy-compiled API surface in this module. ## Test plan - [x] `./gradlew :grails-data-hibernate7-core:test` — full suite green (3101 tests) - [x] `./gradlew :grails-data-hibernate7:test` — full suite green (28 tests) - [x] `./gradlew :grails-data-hibernate7-core:codeStyle :grails-data-hibernate7:codeStyle` — clean - [x] JaCoCo reports regenerated after each change to confirm real coverage movement (not stale cached reports) 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01QAjfckcY4EJsxranv1RyGV -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
