This is an automated email from the ASF dual-hosted git repository.

jdaugherty pushed a commit to branch 8.0.x
in repository https://gitbox.apache.org/repos/asf/grails-core.git

commit 8a86bed6063e5b5b3f2280271513cb8e30bae0e9
Merge: 856e5b2a09 75605d7db1
Author: James Daugherty <[email protected]>
AuthorDate: Sat Jul 11 10:49:57 2026 -0400

    Merge pull request #15937 from apache/feat/latency-testing
    
    Add testing support option to introduce latency

 gradle/publish-root-config.gradle                  |   1 +
 grails-doc/src/en/guide/introduction/whatsNew.adoc |   9 ++
 .../src/en/guide/testing/functionalTesting.adoc    |  73 +++++++++++++
 grails-test-examples/latency/build.gradle          |  48 ++++++++
 .../latency/grails-app/conf/application.yml        |  47 ++++++++
 .../latency/grails-app/conf/logback.xml            |  31 ++++++
 .../controllers/latencyapp/FastController.groovy   |  34 ++++++
 .../controllers/latencyapp/SlowController.groovy   |  34 ++++++
 .../controllers/latencyapp/UrlMappings.groovy      |  30 +++++
 .../grails-app/init/latencyapp/Application.groovy  |  30 +++++
 .../groovy/latencyapp/LatencyFunctionalSpec.groovy |  62 +++++++++++
 grails-testing-support-latency/build.gradle        |  69 ++++++++++++
 .../latency/LatencyAutoConfiguration.groovy        |  56 ++++++++++
 .../grails/testing/latency/LatencyFilter.groovy    |  96 ++++++++++++++++
 .../testing/latency/LatencyProperties.groovy       |  84 ++++++++++++++
 ...rk.boot.autoconfigure.AutoConfiguration.imports |   1 +
 .../latency/LatencyAutoConfigurationSpec.groovy    |  63 +++++++++++
 .../testing/latency/LatencyFilterSpec.groovy       | 121 +++++++++++++++++++++
 settings.gradle                                    |   3 +
 19 files changed, 892 insertions(+)

diff --cc settings.gradle
index 5daed3b617,36495d6615..95465c7a96
--- a/settings.gradle
+++ b/settings.gradle
@@@ -596,22 -594,10 +598,23 @@@ project(':grails-test-examples-scaffold
  project(':grails-test-examples-views-functional-tests').projectDir = 
file('grails-test-examples/views-functional-tests')
  project(':grails-test-examples-views-functional-tests-plugin').projectDir = 
file('grails-test-examples/views-functional-tests-plugin')
  project(':grails-test-examples-test-phases').projectDir = 
file('grails-test-examples/test-phases')
 -project(':grails-test-examples-spring-dependency-management').projectDir = 
file('grails-test-examples/spring-dependency-management')
  project(':grails-test-examples-jetty').projectDir = 
file('grails-test-examples/jetty')
+ project(':grails-test-examples-latency').projectDir = 
file('grails-test-examples/latency')
  
 +// The Spring Dependency Management example imports grails-bom as a Maven BOM 
through
 +// io.spring.dependency-management, which resolves BOM imports with its own 
detached
 +// configurations. Those bypass the local-project substitution rules in
 +// gradle/functional-test-config.gradle, so the import only works when
 +// org.apache.grails:grails-bom:<projectVersion> is already published to a 
repository.
 +// During a release (reproducible build, SOURCE_DATE_EPOCH set) the version 
being staged
 +// is not published anywhere yet, so the example cannot resolve its 
dependencies -
 +// exclude it from the build graph entirely. It still builds and runs on 
every regular
 +// CI build, where the -SNAPSHOT BOM is available from the Apache snapshots 
repository.
 +if (!isReproducibleBuild) {
 +    include 'grails-test-examples-spring-dependency-management'
 +    project(':grails-test-examples-spring-dependency-management').projectDir 
= file('grails-test-examples/spring-dependency-management')
 +}
 +
  includeBuild('./grails-gradle') {
      name = 'grails-gradle'
  }

Reply via email to