So, while trying to run the TCK with Quarkus I came across this one bit in tests - https://github.com/eclipse/microprofile-context-propagation/blob/master/tck/src/main/java/org/eclipse/microprofile/context/tck/ThreadContextTest.java#L155-L160
This gives me crashes with
IllegalAccessException probably because of class loader black magic that quarkus uses to execute Arquillian.
Nonetheless, I find this approach very awkward at best, does anyone happen to remember why it's there?
We could simply call (for instance)
@ManagedExecutorConfig) the TCK tests went out of their way to ensure that an implementation could pass when CDI was not available.
InitialContext.doLookup()wont work as we dont have EJBs there
IllegalStateExceptionis no provider is found) and if that's ok, then proceed using
Instance.select()just without the reflections since we depend in the API anyway?
SECURITYcontext propagation? We declare its propagation in the spec, but we only vaguely declare what it is and have no TCKs for it. There isn't a unified way to do security in MP, so we cannot easily test it (granted, JTA isn't part of MP either), unless we'd add an SPI for that (not saying we should).