[ 
https://issues.apache.org/jira/browse/SLING-12306?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Henry Kuijpers updated SLING-12306:
-----------------------------------
    Component/s: Testing

> Sling mock: JUnit 5 parallel execution results in unregistered adapter 
> factories
> --------------------------------------------------------------------------------
>
>                 Key: SLING-12306
>                 URL: https://issues.apache.org/jira/browse/SLING-12306
>             Project: Sling
>          Issue Type: Bug
>          Components: Testing
>            Reporter: Henry Kuijpers
>            Priority: Major
>
> We have junit-jupiter.properties:
> {code:java}
> junit.jupiter.execution.parallel.enabled = true
> junit.jupiter.execution.parallel.mode.default = same_thread
> junit.jupiter.execution.parallel.mode.classes.default = concurrent {code}
> And this results, randomly everytime, in lots of tests failing because of 
> missing adapter factories.
>  
> We sometimes see that `boundAdapterFactories` is an empty list. Sometimes we 
> see that `factoryCache` is a filled map, with all value lists empty.
>  
> We usually see the expected `descriptors` having variable content. One time 
> it has 4 entries for o.a.s.a.r.Resource, the other run it has 5 entries.
>  
> I believe this is a concurrency issue somehow. I can reproduce it on older 
> versions as well (previously we couldn't). So there could also be something 
> with dependencies involved. 
>  
> ----
> More specifically, we seem to get a lot of these stack traces like this:
> {code:java}
> java.lang.RuntimeException: No page manager.
>     at 
> io.wcm.testing.mock.aem.context.AemContextImpl.pageManager(AemContextImpl.java:169)
>     at 
> io.wcm.testing.mock.aem.context.AemContextImpl.currentPage(AemContextImpl.java:229)
>  {code}
> (also posting this for findability on search engines)
> And also a lot of cases where a Resource cannot be adapted to a ValueMap for 
> example.
> Which boils down to the adapter factory that can adapt a ResourceResolver to 
> a PageManager, missing or actually not registered yet.
> We do have the proper @ExtendWith etc setup.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to