This is an automated email from the ASF dual-hosted git repository. jamesfredley pushed a commit to branch improve-gh-ci-speed in repository https://gitbox.apache.org/repos/asf/grails-core.git
commit 891696cda5f49cc61e1be45f9c38a79041ba7a60 Author: James Fredley <[email protected]> AuthorDate: Sun Jan 25 14:06:09 2026 -0500 Add cleanup for constraint caches to be good citizens in parallel tests --- .../org/grails/web/commandobjects/CommandObjectNoDataSpec.groovy | 5 +++++ .../groovy/org/grails/web/commandobjects/CommandObjectsSpec.groovy | 6 ++++++ .../test/groovy/grails/validation/ValidateableTraitAdHocSpec.groovy | 4 ++++ .../src/test/groovy/grails/validation/ValidateableTraitSpec.groovy | 4 ++++ 4 files changed, 19 insertions(+) diff --git a/grails-test-suite-web/src/test/groovy/org/grails/web/commandobjects/CommandObjectNoDataSpec.groovy b/grails-test-suite-web/src/test/groovy/org/grails/web/commandobjects/CommandObjectNoDataSpec.groovy index 35f145598f..9d4d65b1a3 100644 --- a/grails-test-suite-web/src/test/groovy/org/grails/web/commandobjects/CommandObjectNoDataSpec.groovy +++ b/grails-test-suite-web/src/test/groovy/org/grails/web/commandobjects/CommandObjectNoDataSpec.groovy @@ -46,6 +46,11 @@ class CommandObjectNoDataSpec extends Specification implements GrailsWebUnitTest Artist.clearConstraintsMap() } + def cleanup() { + ConstraintEvalUtils.clearDefaultConstraints() + Artist.clearConstraintsMap() + } + void "test shared constraint"() { when: Artist artist = new Artist(name: "X") diff --git a/grails-test-suite-web/src/test/groovy/org/grails/web/commandobjects/CommandObjectsSpec.groovy b/grails-test-suite-web/src/test/groovy/org/grails/web/commandobjects/CommandObjectsSpec.groovy index abe96c31df..9cb32f5328 100644 --- a/grails-test-suite-web/src/test/groovy/org/grails/web/commandobjects/CommandObjectsSpec.groovy +++ b/grails-test-suite-web/src/test/groovy/org/grails/web/commandobjects/CommandObjectsSpec.groovy @@ -55,6 +55,12 @@ class CommandObjectsSpec extends Specification implements ControllerUnitTest<Tes ArtistSubclass.clearConstraintsMap() } + def cleanup() { + ConstraintEvalUtils.clearDefaultConstraints() + Artist.clearConstraintsMap() + ArtistSubclass.clearConstraintsMap() + } + void "Test command object with date binding"() { setup: def expectedCalendar = Calendar.instance diff --git a/grails-validation/src/test/groovy/grails/validation/ValidateableTraitAdHocSpec.groovy b/grails-validation/src/test/groovy/grails/validation/ValidateableTraitAdHocSpec.groovy index 071cf0d76a..1f1f6ad61d 100644 --- a/grails-validation/src/test/groovy/grails/validation/ValidateableTraitAdHocSpec.groovy +++ b/grails-validation/src/test/groovy/grails/validation/ValidateableTraitAdHocSpec.groovy @@ -37,6 +37,10 @@ class ValidateableTraitAdHocSpec extends Specification { PersonAdHocSharedConstraintsValidateable.clearConstraintsMap() } + void cleanup() { + PersonAdHocSharedConstraintsValidateable.clearConstraintsMap() + } + void 'Test that pre-declared constraints can be used'() { given: def person = new PersonAdHocValidateable(name: nameValue, age: ageValue) diff --git a/grails-validation/src/test/groovy/grails/validation/ValidateableTraitSpec.groovy b/grails-validation/src/test/groovy/grails/validation/ValidateableTraitSpec.groovy index c6bc49d680..4aa816ff6e 100644 --- a/grails-validation/src/test/groovy/grails/validation/ValidateableTraitSpec.groovy +++ b/grails-validation/src/test/groovy/grails/validation/ValidateableTraitSpec.groovy @@ -46,6 +46,10 @@ class ValidateableTraitSpec extends Specification { SharedConstraintsValidateable.clearConstraintsMap() } + void cleanup() { + SharedConstraintsValidateable.clearConstraintsMap() + } + void 'Test validate can be invoked in a unit test with no special configuration'() { when: 'an object is valid' def validateable = new MyValidateable(name: 'Kirk', age: 47, town: 'STL')
