Yesterday, I (with my red fedora firmly in place) opened a
challenge against one set of tests in the MP Telemetry TCK: https://github.com/eclipse/microprofile-telemetry/issues/137
The initial challenge was filed because the test itself is
testing functionality that depends on Jakarta EE specs
(Concurrency and Servlet) that are not listed as required by the
platform spec
(https://download.eclipse.org/microprofile/microprofile-6.1/microprofile-spec-6.1.html#microprofile6.1).
It is our understanding that sub specs can not expand that list of
required specs, so the dependency of these tests (and the
functionality their presence implies) is impermissible. After more
discussion, we realized -- unless we've missed something -- that
the tests also cover functionality that is specified in neither
the MP Telemetry nor the OpenTelemetry specifications, so they're
testing non-specified functionality, making them doubly
inappropriate. We contend, then, that these tests should be
removed from the TCK.
Emily responded that these tests are optional, so we can simply
ignore the tests and still certify, and that's certainly our plan.
However, optional or not, these tests -- as a matter of "legality"
-- ought not be there, optional or not, for implementers and
integrators to have to deal with. Furthermore, the assertion that
the tests are optional is also somewhat suspect, based on the
language in the TCK itself
(https://github.com/eclipse/microprofile-telemetry/blob/main/tracing/tck/README.adoc#declaring-the-tests-to-run):
Although support for JAX-RS server async
programming models is not optional, these tests depend on
Jakarta Concurrency because they use ManagedExecutorService
.
If you are testing in an environment which does
not provide Jakarta Concurrency, you should exclude the optional-jaxrs-tests
group.
Since WildFly does provide Jakarta Concurrency, it
would seem that these test are not, in fact, optional.
(Our OpenTelemetry integration is done using a shared library --
smallrye-opentelemtry -- that can not add the Jakarta dependencies
need to properly implement support for the functionality under
test. Addressing that would require a fair bit of re-work that
we'd prefer to avoid given the optional nature of the
requirement).
What we, the WildFly team, would like from this group is some
clarity on these tests, specifically whether or not their
presence, even if optional, is permissible given the concerns
above.
Thanks!
_______________________________________________