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')

Reply via email to