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
commit 2fec5560868466fc8ad40bbf9d72bedd5dd23fe2 Author: Markus Jung <[email protected]> AuthorDate: Sat Jul 18 21:16:54 2026 +0200 Run the JSON-B TCK with COMPAT locale data and drop the locale exclusions --- KNOWN_ISSUES.md | 16 +++++++++------- runner-standalone/README.md | 2 +- runner-standalone/exclusions/jsonb.txt | 13 ++++--------- runner-standalone/jsonb/pom.xml | 8 ++++++++ 4 files changed, 22 insertions(+), 17 deletions(-) diff --git a/KNOWN_ISSUES.md b/KNOWN_ISSUES.md index 8e42686..78dd253 100644 --- a/KNOWN_ISSUES.md +++ b/KNOWN_ISSUES.md @@ -35,7 +35,7 @@ Detail lives next to each runner: | persistence | 2,135/2,135 pass (incl. signature test) | — | — (standalone/SE vehicle on Plume's EclipseLink) | | transactions | 49 tests, 40 pass, 9 F (all 3 signature vehicles pass) | 22 test ids (3 client files) | TomEE UserTransaction rollback/timeout state leaks | | jsonp | 197/197 pass (incl. pluggability + signature) | — | — | -| jsonb | 295 tests, 2 F + 2 E | 4 tests | 2 Johnzon 2.1.0 gaps + 2 TCK pre-CLDR-34 locale expectations | +| jsonb | 295 tests, 1 F + 1 E | 2 tests | 2 Johnzon 2.1.0 gaps | | debugging | passes (4 SMAPs validated) | — | — | | security | 132 tests, 5 F + 2 E; signature test passes | 7 tests | TomEE Jakarta Security | | authentication | 105 tests, 50 F; signature test passes | 50 methods (spi) | Tomcat AuthConfigFactory SPI | @@ -137,12 +137,14 @@ Need triage/fixes in the upstream projects TomEE ships. resolved through CDI, leaving `@Inject` fields null (the adapter and serializer CDI tests pass — the deserializer half of TOMEE-4436); `@JsonbDateFormat` on a `@JsonbCreator` constructor parameter is ignored - during polymorphic (`@JsonbTypeInfo`) deserialization. 2 excluded tests - in [jsonb.txt](runner-standalone/exclusions/jsonb.txt); the other 2 - entries there are the TCK's pre-CLDR-34 French locale expectations, a - JDK-data mismatch rather than a Johnzon defect. The runner runs Johnzon - with the spec-compat switches - `johnzon.use-bigdecimal-stringadapter=false` / + during polymorphic (`@JsonbTypeInfo`) deserialization. These are the 2 + excluded tests in + [jsonb.txt](runner-standalone/exclusions/jsonb.txt). The runner passes + `-Djava.locale.providers=COMPAT` (same as Apache Johnzon's jakartaee TCK + run) so the JVM uses the pre-CLDR-34 locale data the TCK's French + number-format tests expect (U+00A0 as the grouping separator rather than + the U+202F CLDR 34+/JDK 13+ emit). It also runs Johnzon with the + spec-compat switches `johnzon.use-bigdecimal-stringadapter=false` / `johnzon.use-biginteger-stringadapter=false` (same as apache/tomee `tck/jsonb-standalone`), so BigDecimal/BigInteger serialize as the JSON numbers §3.4.1 requires instead of Johnzon's precision-preserving string diff --git a/runner-standalone/README.md b/runner-standalone/README.md index 3ecc3ca..4ccb508 100644 --- a/runner-standalone/README.md +++ b/runner-standalone/README.md @@ -63,7 +63,7 @@ derived from; with the default exclusions applied these suites run green. | Faces 4.1 | Source reactor zip 4.1.2 | `faces` (Maven module) | **Runs: modern Arquillian modules — 263 tests on record, 9 failures + 30 errors** (2026-07-18) on Plume's Mojarra. The dominant product finding: TomEE's faces-config.xml unmarshaller rejects the `xsi:schemaLocation` attribute used by Faces 4.1 descriptors, failing those deployments (the 31 class exclusions in `exclusions/faces.txt`). The `faces-signaturetest` module runs in the same invoker pass and passes against the Moja [...] | Faces 4.1 (legacy old-tck) | Source reactor zip 4.1.2 (old-tck built from bundled sources) | `faces-old` (Maven module) | **Passes 5,391/5,391 (standalone mode, no exclusions)** (2026-07-18). The recorded full run shows 5 failures in `htmloutcometargetbutton`, all from a foreign server answering port 8080 mid-run; they pass on re-run against TomEE. The JavaTest half deploys through the TCK's own `tomcat` handler (WAR copy into `webapps/`) against a TomEE instance the runner provisions [...] | JSON Processing 2.1 | `jakarta.json:jakarta.json-tck-*:2.1.1` (Maven Central; byte-identical to the EFTL zip pinned in `environment/versions.env`) | `jsonp` | **Passes 197/197** (2026-07-18) against Apache Johnzon 2.1.0, the JSON-P provider bundled in the TomEE Plume snapshot: 179 functional + signature tests and 18 pluggability tests. The signature test checks the `jakarta.json` packages of the distribution's `jakartaee-api` jar | -| JSON Binding 3.0 | `jakarta.json.bind:jakarta.json.bind-tck:3.0.0` (Maven Central; byte-identical to the EFTL zip pinned in `environment/versions.env`) | `jsonb` | **Runs: 295 tests, 2 failures, 2 errors, 5 skipped** (2026-07-18) against Apache Johnzon 2.1.0 with OpenWebBeans as the CDI SE container (the runner boots it because the TCK's own private `@BeforeAll` bootstrap is ignored by JUnit). The runner sets `johnzon.use-bigdecimal-stringadapter=false`/`johnzon.use-biginteger-stringad [...] +| JSON Binding 3.0 | `jakarta.json.bind:jakarta.json.bind-tck:3.0.0` (Maven Central; byte-identical to the EFTL zip pinned in `environment/versions.env`) | `jsonb` | **Runs: 295 tests, 1 failure, 1 error, 5 skipped** against Apache Johnzon 2.1.0 with OpenWebBeans as the CDI SE container (the runner boots it because the TCK's own private `@BeforeAll` bootstrap is ignored by JUnit). The runner sets `johnzon.use-bigdecimal-stringadapter=false`/`johnzon.use-biginteger-stringadapter=false` (J [...] | Debugging Support 2.0 | EFTL zip (installed as `jakartatck:jakarta-debugging-tck:2.0.0`) | `debugging` | **Passes** (2026-07-18). The runner compiles the TCK's `testclient.war` JSPs offline with the Jasper compiler bundled in the TomEE distribution (SMAP generation and dumping enabled, no server needed) and the TCK's `VerifySMAP` validates the embedded `SourceDebugExtension` of both generated classes plus both dumped `.smap` files. The Platform catalog's Pages debugging classes also pass | | Enterprise Beans 4.0 Lite | Covered by the Platform TCK catalog (`runner-webprofile`, `ejb30`/`ejb32`) | — | See `runner-webprofile/KNOWN_FAILURES.md` | | Standard Tag Library 3.0 | Covered by the Platform TCK catalog (`tags-tck`) | — | Blocked by the Jakarta Tags TLD registration gap | diff --git a/runner-standalone/exclusions/jsonb.txt b/runner-standalone/exclusions/jsonb.txt index fd43f08..2ec3276 100644 --- a/runner-standalone/exclusions/jsonb.txt +++ b/runner-standalone/exclusions/jsonb.txt @@ -1,19 +1,14 @@ # Jakarta JSON Binding 3.0 TCK (jakarta.json.bind-tck 3.0.0) against Apache -# Johnzon 2.1.0 (the version bundled in the TomEE distribution), Java 21, -# 2026-07-18 baseline: 295 tests, 2 failures, 2 errors, 5 skipped +# Johnzon 2.1.0 (the version bundled in the TomEE distribution), Java 21: +# 295 tests, 2 non-passing (the two Johnzon 2.1.0 gaps below), 5 skipped # (the skips are the TCK's own @Disabled tests). The runner sets # johnzon.use-bigdecimal-stringadapter=false and # johnzon.use-biginteger-stringadapter=false so BigDecimal/BigInteger # serialize as JSON numbers per spec §3.4.1 instead of Johnzon's # precision-preserving string default, which the mapping tests require. # -# TCK-vs-JDK locale data: since CLDR 34 the JDK formats the French thousands -# grouping separator as U+202F (narrow no-break space); the TCK still expects -# the pre-JDK-13 U+00A0. Not a Johnzon defect. -**/ee/jakarta/tck/json/bind/customizedmapping/numberformat/NumberFormatCustomizationTest.java#testNumberFormatField -**/ee/jakarta/tck/json/bind/customizedmapping/numberformat/NumberFormatCustomizationTest.java#testNumberFormatAccessors -# -# Johnzon 2.1.0 gaps to triage upstream (see KNOWN_ISSUES.md): +# This file excludes exactly the two Johnzon 2.1.0 gaps to triage upstream +# (see KNOWN_ISSUES.md): # JsonbDeserializer instances are not resolved through CDI, so their # @Inject fields stay null (the matching adapter and serializer CDI tests # pass). diff --git a/runner-standalone/jsonb/pom.xml b/runner-standalone/jsonb/pom.xml index 16fe834..b5d888d 100644 --- a/runner-standalone/jsonb/pom.xml +++ b/runner-standalone/jsonb/pom.xml @@ -154,6 +154,14 @@ <configuration> <skip>${tck.standalone.skip}</skip> <excludesFile>${tck.exclusions.file}</excludesFile> + <!-- The COMPAT locale provider restores the pre-CLDR-34 locale + data the TCK expects (e.g. U+00A0 as the French grouping + separator, which CLDR 34+/JDK 13+ replace with U+202F). Same + setup as Apache Johnzon's jakartaee TCK run. Locale providers + are read at JVM init, so this must be an argLine flag, not a + systemPropertyVariables entry. Note: the COMPAT provider is + removed in JDK 23+. --> + <argLine>-Djava.locale.providers=COMPAT</argLine> <dependenciesToScan> <dependency>jakarta.json.bind:jakarta.json.bind-tck</dependency> </dependenciesToScan>
