This is an automated email from the ASF dual-hosted git repository.
jungm pushed a commit to branch ee11
in repository https://gitbox.apache.org/repos/asf/tomee-tck.git
The following commit(s) were added to refs/heads/ee11 by this push:
new de24ec6 Drop the JAXB RI pin now that TOMEE-4657 is fixed
de24ec6 is described below
commit de24ec613613b64608cc2f23852bebc7695720b7
Author: Markus Jung <[email protected]>
AuthorDate: Tue Jul 21 20:54:41 2026 +0200
Drop the JAXB RI pin now that TOMEE-4657 is fixed
TomEE pins jakarta.xml.bind.JAXBContextFactory itself, so the validation
runner no longer needs to set it in the server JVM. Bean Validation XML
config works on a stock Plume server.
Also drops the workaround notes from the validation exclusions header,
the runner README, and the KNOWN_ISSUES product gaps.
---
KNOWN_ISSUES.md | 13 +------------
runner-standalone/README.md | 2 +-
runner-standalone/exclusions/validation.txt | 7 -------
.../validation/src/tomee-conf/system.properties | 8 --------
4 files changed, 2 insertions(+), 28 deletions(-)
diff --git a/KNOWN_ISSUES.md b/KNOWN_ISSUES.md
index 75b5d90..3beb416 100644
--- a/KNOWN_ISSUES.md
+++ b/KNOWN_ISSUES.md
@@ -27,7 +27,7 @@ Detail lives next to each runner:
| servlet | 1,706 tests, 12 E | 2 classes (12 methods) | TomEE aborts context
startup on a missing referenced servlet/filter class |
| pages | 682/682 pass | — | — (needs the runner's spec-default encoding
overlay) |
| rest | 2,803 tests, 2 F + 1 E | 3 tests | Feature/DynamicFeature
`META-INF/services` discovery (TOMEE-4321/CXF-9005) + 405-vs-404 matching |
-| validation | 1,049 tests, 0 F (incl. signature test) | — | — (server pins
the JAXB RI; see product gaps) |
+| validation | 1,049 tests, 0 F (incl. signature test) | — | — |
| cdi (core) | 1,388 run, 81 F (incl. signature test) | 54 methods + 27
deploy-failing classes | OpenWebBeans 4.1 build-compatible-extensions gap |
| cdi-ee | 1,829 run, 106 F | 79 methods + 27 deploy-failing classes |
OpenWebBeans 4.1 build-compatible-extensions gap + EE integration |
| el | 361/361 pass (incl. signature test) | — | — |
@@ -178,17 +178,6 @@ Fixes belong in Apache TomEE (or Tomcat); each removes
exclusion entries.
and pass: the runner's Arquillian extension tolerates the deployment
failure so each client probe still runs.
[websocket.txt](runner-standalone/exclusions/websocket.txt).
-13. **Bean Validation XML config broken on stock Plume** — the Plume
- distribution ships EclipseLink MOXy (`eclipselink-5.0.1.jar`) and the JAXB
- RI (`jaxb-runtime-4.0.4.jar`) side by side. EclipseLink registers a
- `jakarta.xml.bind.JAXBContextFactory` service and wins ServiceLoader
- discovery, but MOXy rejects the namespace rewriting Apache BVal performs
- while parsing `validation.xml`/constraint-mapping descriptors, so every
- Bean Validation XML-configuration path fails on an out-of-the-box Plume
- server. The validation runner works around it by pinning the JAXB RI as the
- `jakarta.xml.bind.JAXBContextFactory` system property in the server JVM;
- TomEE should pin the factory itself so applications relying on Bean
- Validation XML config work on stock Plume.
## Upstream provider gaps
diff --git a/runner-standalone/README.md b/runner-standalone/README.md
index d5405c7..22fe717 100644
--- a/runner-standalone/README.md
+++ b/runner-standalone/README.md
@@ -72,7 +72,7 @@ derived from; with the default exclusions applied these
suites run green.
| RESTful Web Services 4.0 | EFTL zip (installed as
`jakarta.ws.rs:jakarta-restful-ws-tck:4.0.1`) | `rest` | **Runs: 2,803 tests, 2
failures, 1 error, 128 skipped without exclusions** (2026-07-18, the skips are
the TCK's own `@Disabled` tests) against TomEE's CXF, with the CXF client
driving the client half of every test; the signature test passes. The runner
sets `openejb.jaxrs.fail-on-constrainedto=false` in the server JVM
(spec-required tolerance of bundled `@ConstrainedTo(CLIENT)` pr [...]
| Servlet 6.1 | EFTL zip (installed as
`jakarta.tck:servlet-tck-runtime:6.1.0`) | `servlet` | **Runs: 1,706 tests, 12
errors, 7 skipped** (2026-07-18). The harness is complete: slf4j-simple
resolves at the TCK-derived version, the TCK's bundled client certificate is
trusted and mapped (both client-cert tests pass, including the https-targeted
deployment via a metadata observer reporting the TLS port), cross-context
dispatch is enabled and the STRICT_SERVLET_COMPLIANCE subset (`alwaysAcce [...]
| Pages 4.0 | EFTL zip (installed as `jakarta.tck:jakarta-pages-tck:4.0.0`) |
`pages` | **Passes 682/682 (0 failures, 0 errors, signature test included, no
exclusions)** (2026-07-18). Needs the Central
`jakarta.tck:common`/`signaturetest` support line at 11.1.1 with sigtest 2.6
(the TCK pom's own pins depend on the unpublished JavaTest harness), and the
overlay removes TomEE's global UTF-8 default encodings from conf/web.xml
because the TCK asserts the spec default ISO-8859-1. Its TomEE/ [...]
-| Validation 3.1 | EFTL zip (installed as
`jakarta.validation:validation-tck-tests:3.1.1`) | `validation` | **Runs: 1,049
tests, 0 failures, no exclusions; the mandatory API signature test runs and
passes** against the `jakarta.validation` packages the Plume distribution
ships. Needs AssertJ 3.7.0 pinned (the published TCK jar is compiled against
its covariant signatures) and the JAXB RI pinned as
`jakarta.xml.bind.JAXBContextFactory` in the server JVM (Plume ships both MOXy
and the RI; [...]
+| Validation 3.1 | EFTL zip (installed as
`jakarta.validation:validation-tck-tests:3.1.1`) | `validation` | **Runs: 1,049
tests, 0 failures, no exclusions; the mandatory API signature test runs and
passes** against the `jakarta.validation` packages the Plume distribution
ships. Needs AssertJ 3.7.0 pinned (the published TCK jar is compiled against
its covariant signatures) |
| WebSocket 2.2 | EFTL zip (installed as
`jakarta.tck:websocket-tck-spec-tests:2.2.0`) | `websocket` | **Runs: 737
tests, 0 failures, 3 errors** (2026-07-18) against Tomcat's WebSocket
implementation, driven through the `tomcat-websocket` client container; the
signature test passes. The negative-deployment classes run and pass: an invalid
server endpoint aborts the whole webapp deployment as the spec requires, and
the runner's Arquillian extension (`NegativeDeploymentToleranceObserver`) [...]
| Security 4.0 | Source reactor zip 4.0.1 | `security` (Maven module) |
**Runs: 26 app modules plus the signature test, 132 tests, 5 failures, 2 errors
at baseline; green with the reviewed exclusions (all 27 invoker projects pass,
verified end-to-end 2026-07-18)**. The runner downloads and patches the
reactor, injects a tomee-remote profile (including the
`trustStore.path`/`trustStore.password` properties the OpenID modules' keytool
steps read), and drives every module through the Maven [...]
| Security 4.0 (legacy old-tck) | Source reactor zip 4.0.1 (old-tck built from
bundled sources) | `security-old` (Maven module) | **Baseline 83 tests, 82
pass, 1 failure (Plume, JDK 21, 2026-07-19); green with the reviewed
exclusion.** The legacy JavaTest half exercises ~65
`com.sun.ts.tests.securityapi` Client classes across the idstore (in-war,
database, LDAP), ham (HTTP authentication mechanism) and securitycontext trees.
It deploys through the TCK's own `tomcat` handler (WAR copy int [...]
diff --git a/runner-standalone/exclusions/validation.txt
b/runner-standalone/exclusions/validation.txt
index e5dfb1e..2f513e5 100644
--- a/runner-standalone/exclusions/validation.txt
+++ b/runner-standalone/exclusions/validation.txt
@@ -2,13 +2,6 @@
# TomEE Plume, Java 21: 1,049 tests, 0 failures, and the mandatory API
# signature test passes. No exclusions.
#
-# The runner pins the JAXB RI as the jakarta.xml.bind.JAXBContextFactory in the
-# server JVM (validation/src/tomee-conf/system.properties). Plume ships both
-# EclipseLink MOXy and the JAXB RI; without the pin MOXy wins ServiceLoader
-# discovery and rejects the namespace rewriting Apache BVal performs while
-# parsing validation.xml and constraint-mapping descriptors, which broke every
-# XML-configuration test. With the RI pinned all descriptor parsing succeeds.
-#
# Format: one fully-qualified class name (excludes the whole class) or
# Class#method per line. Read by the ExclusionsAnnotationTransformer TestNG
# listener through -Dtck.exclusions.file (see runner-standalone/README.md).
diff --git a/runner-standalone/validation/src/tomee-conf/system.properties
b/runner-standalone/validation/src/tomee-conf/system.properties
index fa58353..6e42e6c 100644
--- a/runner-standalone/validation/src/tomee-conf/system.properties
+++ b/runner-standalone/validation/src/tomee-conf/system.properties
@@ -14,11 +14,3 @@ openejb.classloader.forced-skip=org.apache.derby.
# The Jakarta Validation TCK reads the provider under test on the server side.
validation.provider=org.apache.bval.jsr.ApacheValidationProvider
-
-# Plume ships both EclipseLink MOXy and the JAXB RI on the server classpath.
-# EclipseLink registers a jakarta.xml.bind.JAXBContextFactory service and wins
-# ServiceLoader discovery, but MOXy rejects the namespace rewriting Apache BVal
-# performs while parsing validation.xml and constraint-mapping descriptors. Pin
-# the JAXB RI so BVal's XML descriptor parsing uses the implementation it needs
-# (JAXBContext consults this system property before the ServiceLoader).
-jakarta.xml.bind.JAXBContextFactory=org.glassfish.jaxb.runtime.v2.JAXBContextFactory