Cette page consolide l’état des tests TCK officiels exécutés contre Mansart. Source de vérité au quotidien : BUG.md et TCK.md à la racine de chaque sous-module.

Synthèse

Spec / sous-module Total Passés Notes

Jakarta Data 1.0 — EntityTests

73

73

✅ M7 livré 2026-05-05. Voir lien:https://codeberg.org/Vidocq/mansart/src/branch/main/mansart-jakarta-data/PLAN.md[PLAN.md].

Jakarta Data 1.0 — SignatureTests

1

1

✅ M7-26 livré 2026-05-05.

Jakarta Data 1.0 — PersistenceTests

⏳ Hors scope v1 — dépend de mansart-persistence (M7 en attente).

Jakarta Data 1.0 — NoSQLTests

❌ Hors scope v1 (Mansart cible SQL/JDBC).

Jakarta Transactions 2.0 — Smoke

5

5

✅ Wiring MansartTckProvider + MansartUserTransaction validé.

Jakarta Transactions 2.0 — Suite tsharness full-tck

~40 (JTA EE leafs)

build SUCCESSFUL

⚠️ M6c en cours : pilotage ant runclient leaf-par-leaf + parsing rapport HTML → target/tck-report-transactions.txt.

Jakarta Transactions 2.0 — Signature tests

livré

Compilés contre classpath Mansart, BUILD SUCCESSFUL.

Jakarta Data 1.0 — détail

Runner : mansart-jakarta-data/mansart-data-tck, hors reactor (POM Model 4.0.0 standalone, pas de <parent>). Raison : ShrinkWrap Maven Resolver 3.3 ne sait pas parser Maven Model 4.1.0 (cf. CLAUDE.md workspace).

Architecture du harness :

  • Arquillian + ShrinkWrap pour les fixtures TCK officielles.

  • Adapter Mansart : MansartRuntimeProducer injecte un RepositoryRuntime à partir d’un DataSource H2 in-memory de test.

  • TckLoadableExtension + TckArchiveProcessor enrichissent les WebArchive TCK avec les implémentations Mansart générées par APT.

Reproduction locale :

cd mansart/mansart-jakarta-data
./run-official-tck-data-1.0.sh all

Bug historique majeur : BUG-20260505-01 (entités TCK non métamodélisées car compilées sans le processor en classpath APT). Résolu par le runner runtime de M7 (MansartRuntimeRepoCreator). Voir lien:https://codeberg.org/Vidocq/mansart/src/branch/main/mansart-jakarta-data/BUG.md[BUG.md].

Jakarta Transactions 2.0 — détail

Runner : mansart-transactions/, voir lien:https://codeberg.org/Vidocq/mansart/src/branch/main/mansart-transactions/TCK.md[TCK.md].

Le TCK officiel distribué par Eclipse est un harness Sun tsharness historique :

  • bin/build.xml Apache Ant.

  • bin/ts.jte ~80 propriétés (JAVA_HOME, classpath SUT, hostnames, ports).

  • Tests src/com/sun/ts/tests/jta/ee/ compilés sur place par ant build puis exécutés via ant runclient.

Aucun jar Surefire-scannable n’existe — dependenciesToScan sur jtatck.jar ne trouve que des classes de support, pas les tests.

État :

  • M6 smoke wiring 5/5 (./run-official-tck-transactions-2.0.sh smoke).

  • M6b profile full-tck : ant build.all.tests BUILD SUCCESSFUL sur les ~7 répertoires JTA EE + signature tests.

  • M6c pilotage leaf-par-leaf + parsing rapport tsharness HTML.

Reproduction manuelle :

cd mansart/mansart-transactions
./install-tck.sh                           # télécharge + dépaquette
cd .tck-cache/transactions-tck/bin
$EDITOR ts.jte                             # JAVA_HOME, jta.classes, provider Mansart
ant build && ant runclient
xdg-open ../dist/index.html

Tests volontairement skippés

Test Raison

PersistenceTests.* (Jakarta Data)

Dépend de mansart-persistence (JPA 3.2) — M7 en attente. Jakarta Data NoSQL hors scope v1.

NoSQLTests.* (Jakarta Data)

Mansart cible exclusivement SQL/JDBC en v1.

Tests skippés pour cause d’environnement

Aucun à ce jour. Les TCK Jakarta Data et Jakarta Transactions tournent en CI sur H2 in-memory, sans dépendance externe.

Reproduire localement

# Jakarta Data 1.0
cd mansart/mansart-jakarta-data
./run-official-tck-data-1.0.sh all

# Jakarta Transactions 2.0 (smoke)
cd mansart/mansart-transactions
./run-official-tck-transactions-2.0.sh smoke

Pré-requis : artefacts officiels Jakarta non publics installés dans le M2 local — procédure dans le README de chaque runner.