Cette page consolide l’état des tests TCK officiels CDI 4.1 exécutés contre Vauban. La source de vérité est le vauban-tck-runner, exécuté à chaque build : 774/774 tests CDI Lite passent (100 %).

Synthèse

Métrique Valeur Détail Notes

Profil testé

CDI Lite

Sous-ensemble du TCK 4.1

Le profil Full n’est pas ciblé.

Date du dernier run

2026-06-14

Vauban 0.1.0-SNAPSHOT

Profil -Ptck sur vauban-tck-runner.

Tests CDI Lite (non skippés)

774

Subset officiel CDI Lite.

Passés

774

100 %

Intégralité du profil Lite.

Échoués

0

Erreurs

0

Aucun crash JVM, aucune Throwable non capturée.

Temps d’exécution

~5 s

Sur la machine du dernier run (voir BENCH.md).

Progression historique

Début     ~12%   ██████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
Session 1 38,2%  ████████████████░░░░░░░░░░░░░░░░░░░░░░░░  (+200)
Session 2 52,5%  █████████████████████░░░░░░░░░░░░░░░░░░░  (+113)
Actuel    100 %  ████████████████████████████████████████  (774/774)

Fonctionnalités majeures couvertes

Fonctionnalité Statut

Managed beans (@ApplicationScoped, @RequestScoped, @Dependent, @Singleton)

Injection (@Inject champs, constructeurs, méthodes)

Qualifiers (@Named, @Default, @Any, custom, @Nonbinding)

Producers (@Produces méthodes et champs)

Disposers (@Disposes)

Événements (Event<T>, @Observes, @ObservesAsync)

Stéréotypes (@Stereotype)

Alternatives (@Alternative, @Priority)

Instance<T> programmatic lookup

InjectionPoint metadata

@Typed, @Vetoed

Observer priority et Reception.IF_EXISTS

Intercepteurs (@AroundInvoke, @AroundConstruct)

Client proxies (scopes normaux)

Build Compatible Extensions (BCE)

@TransientReference, EventMetadata

Tests volontairement skippés

Catégorie Raison

Portable extensions runtime (Extension, BeforeBeanDiscovery, AfterBeanDiscovery)

Hors profil Lite. Vauban implémente exclusivement les Build Compatible Extensions.

@ConversationScoped

Hors profil Lite.

PassivationCapable / passivation

Hors profil Lite. Aucun bean n’est sérialisable.

EL intégré aux beans gérés

Hors profil Lite. jakarta.el est requis seulement comme dépendance de la spec, pas activé sur les beans applicatifs.

@Specializes

Hors profil Lite (reportée à un éventuel profil Full).

Tests skippés pour cause d’environnement

  • Tests d’Arquillian qui requièrent un conteneur servlet : hors périmètre Vauban (relèvent de Foy).

  • Tests EL avancés : nécessitent un évaluateur EL applicatif, non câblé dans le runner Vauban.

Bugs ouverts impactant la couverture

Tracés dans BUG.md :

ID Symptôme État

VAU-PRX-002

Drift entre ClientProxyGenerator (compile-time) et RuntimeClientProxyGenerator (runtime)

Corrigé

VAU-INJ-001

Field injection résout immédiatement les beans normal-scope (perte du client proxy)

Corrigé (2026-05-07)

Reproduire localement

cd vauban
sdk env
mvn install -DskipTests -q && mvn test -pl vauban-tck-runner -Ptck

Le runner exécute Arquillian + TestNG. Le rapport Surefire est généré dans vauban-tck-runner/target/surefire-reports/.

Conformément à la contrainte du workspace, vauban-tck-runner est inclus dans le reactor Vauban — contrairement à cassini-tck ou foy-tck qui sont détachés à cause de ShrinkWrap Maven Resolver. Le TCK CDI ne dépend pas de ShrinkWrap Resolver dans cette configuration.