Skip to content

change url mapping wildcard validation config value and address edge case direct mapping#15542

Draft
codeconsole wants to merge 3 commits intoapache:7.1.xfrom
codeconsole:7.1.x-urlmappings-specificity
Draft

change url mapping wildcard validation config value and address edge case direct mapping#15542
codeconsole wants to merge 3 commits intoapache:7.1.xfrom
codeconsole:7.1.x-urlmappings-specificity

Conversation

@codeconsole
Copy link
Copy Markdown
Contributor

changed the url mapping wildcard validation config value

and

addressed issue where direct mapping should win over wildcard.

@codeconsole codeconsole marked this pull request as draft April 1, 2026 03:07
@testlens-app

This comment has been minimized.

@testlens-app

This comment has been minimized.

@testlens-app
Copy link
Copy Markdown

testlens-app bot commented Apr 3, 2026

🚨 TestLens detected 12 failed tests 🚨

Here is what you can do:

  1. Inspect the test failures carefully.
  2. If you are convinced that some of the tests are flaky, you can mute them below.
  3. Finally, trigger a rerun by checking the rerun checkbox.

Test Summary

Check Project/Task Test Runs
CI - Groovy Joint Validation Build / build_grails :grails-test-suite-web:test DoubleWildcardUrlMappingTests > testDoubleWildcardInParam
CI - Groovy Joint Validation Build / build_grails :grails-test-examples-app5:integrationTest WildcardValidationDisabledSpec > grails.urlmapping.validateWildcards false keeps the fallback mapping selected ahead of a valid wildcard controller match
CI / Build Grails-Core (macos-latest, 21) :grails-test-suite-web:test DoubleWildcardUrlMappingTests > testDoubleWildcardInParam
CI / Build Grails-Core (ubuntu-latest, 17) :grails-test-suite-web:test DoubleWildcardUrlMappingTests > testDoubleWildcardInParam
CI / Build Grails-Core (ubuntu-latest, 21) :grails-test-suite-web:test DoubleWildcardUrlMappingTests > testDoubleWildcardInParam
CI / Build Grails-Core (ubuntu-latest, 25) :grails-test-suite-web:test DoubleWildcardUrlMappingTests > testDoubleWildcardInParam
CI / Build Grails-Core (windows-latest, 25) :grails-test-suite-web:test DoubleWildcardUrlMappingTests > testDoubleWildcardInParam
CI / Build Grails-Core Rerunning all Tasks (ubuntu-latest, 17) :grails-test-suite-web:test DoubleWildcardUrlMappingTests > testDoubleWildcardInParam
CI / Functional Tests (Java 17, indy=false) :grails-test-examples-app5:integrationTest WildcardValidationDisabledSpec > grails.urlmapping.validateWildcards false keeps the fallback mapping selected ahead of a valid wildcard controller match
CI / Functional Tests (Java 17, indy=true) :grails-test-examples-app5:integrationTest WildcardValidationDisabledSpec > grails.urlmapping.validateWildcards false keeps the fallback mapping selected ahead of a valid wildcard controller match
CI / Functional Tests (Java 21, indy=false) :grails-test-examples-app5:integrationTest WildcardValidationDisabledSpec > grails.urlmapping.validateWildcards false keeps the fallback mapping selected ahead of a valid wildcard controller match
CI / Functional Tests (Java 25, indy=false) :grails-test-examples-app5:integrationTest WildcardValidationDisabledSpec > grails.urlmapping.validateWildcards false keeps the fallback mapping selected ahead of a valid wildcard controller match

🏷️ Commit: e4a5692
▶️ Tests: 43210 executed
🟡 Checks: 33/34 completed

Test Failures (first 5 of 12)

DoubleWildcardUrlMappingTests > testDoubleWildcardInParam (:grails-test-suite-web:test in CI / Build Grails-Core (macos-latest, 21))
Condition not satisfied:

"doc/" == c.params.path
       |  | |      |
       |  | |      null
       |  | [d:1, controller:doubleWildcard, action:otherAction]
       |  <org.grails.web.mapping.DoubleWildCardController@4a937d43 grails_artefact_gsp_TagLibraryInvoker__developmentMode=false grails_artefact_gsp_TagLibraryInvoker__tagLibraryLookup=null grails_web_api_WebAttributes__grailsApplication=null grails_artefact_Controller__mimeTypesSupport=org.grails.plugins.web.api.MimeTypesApiSupport@19877453 grails_web_api_ServletAttributes__applicationContext=null grails_web_api_ServletAttributes__servletContext=null grails_artefact_controller_support_RequestForwarder__linkGenerator=null grails_artefact_controller_support_RequestForwarder__urlConverter=null grails_artefact_controller_support_ResponseRedirector__linkGenerator=null grails_artefact_controller_support_ResponseRedirector__redirectListeners=null grails_artefact_controller_support_ResponseRedirector__requestDataValueProcessor=null grails_artefact_controller_support_ResponseRedirector__useJsessionId=false grails_artefact_controller_support_ResponseRenderer__actionResultTransformers=[] grails_artefact_controller_support_ResponseRenderer__grailsLayoutSelector=null grails_artefact_controller_support_ResponseRenderer__grailsRenderViewMutator=null grails_artefact_controller_support_ResponseRenderer__mimeUtility=null grails_artefact_controller_support_ResponseRenderer__pluginManager=null grails_artefact_controller_RestResponder__PROPERTY_RESPONSE_FORMATS=responseFormats grails_artefact_controller_RestResponder__proxyHandler=null grails_artefact_controller_RestResponder__rendererRegistry=null>
       false

	at org.grails.web.mapping.DoubleWildcardUrlMappingTests.testDoubleWildcardInParam(DoubleWildcardUrlMappingTests.groovy:76)
expected actual
null doc/
DoubleWildcardUrlMappingTests > testDoubleWildcardInParam (:grails-test-suite-web:test in CI / Build Grails-Core (ubuntu-latest, 17))
Condition not satisfied:

"doc/" == c.params.path
       |  | |      |
       |  | |      null
       |  | [d:1, controller:doubleWildcard, action:otherAction]
       |  <org.grails.web.mapping.DoubleWildCardController@4a467f08 grails_artefact_gsp_TagLibraryInvoker__developmentMode=false grails_artefact_gsp_TagLibraryInvoker__tagLibraryLookup=null grails_web_api_WebAttributes__grailsApplication=null grails_artefact_Controller__mimeTypesSupport=org.grails.plugins.web.api.MimeTypesApiSupport@2541b4d3 grails_web_api_ServletAttributes__applicationContext=null grails_web_api_ServletAttributes__servletContext=null grails_artefact_controller_support_RequestForwarder__linkGenerator=null grails_artefact_controller_support_RequestForwarder__urlConverter=null grails_artefact_controller_support_ResponseRedirector__linkGenerator=null grails_artefact_controller_support_ResponseRedirector__redirectListeners=null grails_artefact_controller_support_ResponseRedirector__requestDataValueProcessor=null grails_artefact_controller_support_ResponseRedirector__useJsessionId=false grails_artefact_controller_support_ResponseRenderer__actionResultTransformers=[] grails_artefact_controller_support_ResponseRenderer__grailsLayoutSelector=null grails_artefact_controller_support_ResponseRenderer__grailsRenderViewMutator=null grails_artefact_controller_support_ResponseRenderer__mimeUtility=null grails_artefact_controller_support_ResponseRenderer__pluginManager=null grails_artefact_controller_RestResponder__PROPERTY_RESPONSE_FORMATS=responseFormats grails_artefact_controller_RestResponder__proxyHandler=null grails_artefact_controller_RestResponder__rendererRegistry=null>
       false

	at org.grails.web.mapping.DoubleWildcardUrlMappingTests.testDoubleWildcardInParam(DoubleWildcardUrlMappingTests.groovy:76)
expected actual
null doc/
DoubleWildcardUrlMappingTests > testDoubleWildcardInParam (:grails-test-suite-web:test in CI / Build Grails-Core (ubuntu-latest, 21))
Condition not satisfied:

"doc/" == c.params.path
       |  | |      |
       |  | |      null
       |  | [d:1, controller:doubleWildcard, action:otherAction]
       |  <org.grails.web.mapping.DoubleWildCardController@5f9b37b5 grails_artefact_gsp_TagLibraryInvoker__developmentMode=false grails_artefact_gsp_TagLibraryInvoker__tagLibraryLookup=null grails_web_api_WebAttributes__grailsApplication=null grails_artefact_Controller__mimeTypesSupport=org.grails.plugins.web.api.MimeTypesApiSupport@17abef0f grails_web_api_ServletAttributes__applicationContext=null grails_web_api_ServletAttributes__servletContext=null grails_artefact_controller_support_RequestForwarder__linkGenerator=null grails_artefact_controller_support_RequestForwarder__urlConverter=null grails_artefact_controller_support_ResponseRedirector__linkGenerator=null grails_artefact_controller_support_ResponseRedirector__redirectListeners=null grails_artefact_controller_support_ResponseRedirector__requestDataValueProcessor=null grails_artefact_controller_support_ResponseRedirector__useJsessionId=false grails_artefact_controller_support_ResponseRenderer__actionResultTransformers=[] grails_artefact_controller_support_ResponseRenderer__grailsLayoutSelector=null grails_artefact_controller_support_ResponseRenderer__grailsRenderViewMutator=null grails_artefact_controller_support_ResponseRenderer__mimeUtility=null grails_artefact_controller_support_ResponseRenderer__pluginManager=null grails_artefact_controller_RestResponder__PROPERTY_RESPONSE_FORMATS=responseFormats grails_artefact_controller_RestResponder__proxyHandler=null grails_artefact_controller_RestResponder__rendererRegistry=null>
       false

	at org.grails.web.mapping.DoubleWildcardUrlMappingTests.testDoubleWildcardInParam(DoubleWildcardUrlMappingTests.groovy:76)
expected actual
null doc/
DoubleWildcardUrlMappingTests > testDoubleWildcardInParam (:grails-test-suite-web:test in CI / Build Grails-Core (ubuntu-latest, 25))
Condition not satisfied:

"doc/" == c.params.path
       |  | |      |
       |  | |      null
       |  | [d:1, controller:doubleWildcard, action:otherAction]
       |  <org.grails.web.mapping.DoubleWildCardController@19e5e846 grails_artefact_gsp_TagLibraryInvoker__developmentMode=false grails_artefact_gsp_TagLibraryInvoker__tagLibraryLookup=null grails_web_api_WebAttributes__grailsApplication=null grails_artefact_Controller__mimeTypesSupport=org.grails.plugins.web.api.MimeTypesApiSupport@2258228f grails_web_api_ServletAttributes__applicationContext=null grails_web_api_ServletAttributes__servletContext=null grails_artefact_controller_support_RequestForwarder__linkGenerator=null grails_artefact_controller_support_RequestForwarder__urlConverter=null grails_artefact_controller_support_ResponseRedirector__linkGenerator=null grails_artefact_controller_support_ResponseRedirector__redirectListeners=null grails_artefact_controller_support_ResponseRedirector__requestDataValueProcessor=null grails_artefact_controller_support_ResponseRedirector__useJsessionId=false grails_artefact_controller_support_ResponseRenderer__actionResultTransformers=[] grails_artefact_controller_support_ResponseRenderer__grailsLayoutSelector=null grails_artefact_controller_support_ResponseRenderer__grailsRenderViewMutator=null grails_artefact_controller_support_ResponseRenderer__mimeUtility=null grails_artefact_controller_support_ResponseRenderer__pluginManager=null grails_artefact_controller_RestResponder__PROPERTY_RESPONSE_FORMATS=responseFormats grails_artefact_controller_RestResponder__proxyHandler=null grails_artefact_controller_RestResponder__rendererRegistry=null>
       false

	at org.grails.web.mapping.DoubleWildcardUrlMappingTests.testDoubleWildcardInParam(DoubleWildcardUrlMappingTests.groovy:76)
expected actual
null doc/
DoubleWildcardUrlMappingTests > testDoubleWildcardInParam (:grails-test-suite-web:test in CI / Build Grails-Core (windows-latest, 25))
Condition not satisfied:

"doc/" == c.params.path
       |  | |      |
       |  | |      null
       |  | [d:1, controller:doubleWildcard, action:otherAction]
       |  <org.grails.web.mapping.DoubleWildCardController@1d7914a5 grails_artefact_gsp_TagLibraryInvoker__developmentMode=false grails_artefact_gsp_TagLibraryInvoker__tagLibraryLookup=null grails_web_api_WebAttributes__grailsApplication=null grails_artefact_Controller__mimeTypesSupport=org.grails.plugins.web.api.MimeTypesApiSupport@18ce7872 grails_web_api_ServletAttributes__applicationContext=null grails_web_api_ServletAttributes__servletContext=null grails_artefact_controller_support_RequestForwarder__linkGenerator=null grails_artefact_controller_support_RequestForwarder__urlConverter=null grails_artefact_controller_support_ResponseRedirector__linkGenerator=null grails_artefact_controller_support_ResponseRedirector__redirectListeners=null grails_artefact_controller_support_ResponseRedirector__requestDataValueProcessor=null grails_artefact_controller_support_ResponseRedirector__useJsessionId=false grails_artefact_controller_support_ResponseRenderer__actionResultTransformers=[] grails_artefact_controller_support_ResponseRenderer__grailsLayoutSelector=null grails_artefact_controller_support_ResponseRenderer__grailsRenderViewMutator=null grails_artefact_controller_support_ResponseRenderer__mimeUtility=null grails_artefact_controller_support_ResponseRenderer__pluginManager=null grails_artefact_controller_RestResponder__PROPERTY_RESPONSE_FORMATS=responseFormats grails_artefact_controller_RestResponder__proxyHandler=null grails_artefact_controller_RestResponder__rendererRegistry=null>
       false

	at org.grails.web.mapping.DoubleWildcardUrlMappingTests.testDoubleWildcardInParam(DoubleWildcardUrlMappingTests.groovy:76)
expected actual
null doc/

Muted Tests

Note

Checks are currently running using the configuration below.

Select tests to mute in this pull request:

🔲 DoubleWildcardUrlMappingTests > testDoubleWildcardInParam
🔲 WildcardValidationDisabledSpec > grails.urlmapping.validateWildcards false keeps the fallback mapping selected ahead of a valid wildcard controller match

Reuse successful test results:

🔲 ♻️ Only rerun the tests that failed or were muted before

Click the checkbox to trigger a rerun:

🔲 Rerun jobs


Learn more about TestLens at testlens.app.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

1 participant