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>

Reply via email to