Skip to content

Jakarta EE 10 TCK Tests

David Matějček edited this page Jul 2, 2024 · 15 revisions

Introduction

All TCK tests can be executed directly from the GlassFish git repository. Prerequisities are:

  • JDK17
  • Maven 3.9.6+
  • Ant 1.10.14+
  • Docker host(s)

Or you can use precreated docker node for these builds: dmatej/glassfish-jenkins-node for builds on your Jenkins.

In 2022 we were able to run all TCK tests on private computers in addition to the Eclipse TCK project (Platform TCK Builds and Standalone TCK Builds). Results with some really short info are here (Google Docs table).

Since then we made some changes, so now we are not using a bash script any more, but all TCK tests were integrated to the GlassFish build.

Some of TCK sets have a standalone and a platform variant of execution. That is because the whole TCK Platform package is really huge amount of tests and quite complicated and old piece of software containing around 40 000 of integration tests. The TCK Team first gained some control over the project, then stabilized it and finally they started with the refactoring which is still in progress. But that did not stop Jakarta EE evolution, so with the release of Jakarta EE 10 we had some pieces twice while there is an effort to keep them synchronized and consistent.

Parts of the TCK Set

Activation

  • 93 tests, 1 minute.
mvn clean install -Ptck -pl :jakarta-activation-tck,:glassfish-external-tck-activation

Application Client

  • 50 tests, 16 minutes.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=ApplicationClientITest

Authentication

  • 68 tests, 17 minutes.
mvn clean install -Ptck -pl :jakarta-authentication-tck,:glassfish-external-tck-authentication

Authorization

Standalone variant, 34 tests, 4 minutes:

mvn clean install -Ptck -pl :jakarta-authorization-tck,:glassfish-external-tck-authorization

Platform variant, 40 tests, 10 minutes:

mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=AuthorizationITest

CDI, Contexts and Dependency Injection

  • 1833 tests, 18 minutes.
mvn clean install -amd -fae -Ptck -pl :glassfish-external-tck-cdi-parent

Concurrency

  • 196 tests, 3 minutes.
mvn clean install -Ptck -pl :glassfish-external-tck-concurrency

Connectors

Standalone variant, 133 tests, 7 minutes:

mvn clean install -Ptck -pl :jakarta-connectors-tck,:glassfish-external-tck-connectors

Platform variant, 477 tests, 33 minutes.

mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=ConnectorITest

EJB, Enterprise Beans

  • This is a huge package, so we usually execute it per partes.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=EjbITest # all EJB tests in one block.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=EjbITest#ejb # 1793 tests, 5-7 hours.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=EjbITest#ejb30LiteStatefulTimeout # 44 tests, 6.5 hours.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=EjbITest#ejb30BB # 1193 tests, 5-7 hours.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=EjbITest#ejb30LiteAppException # 365 tests, 33 minutes.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=EjbITest#ejb30LiteAsync # 300 tests, 30 minutes.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=EjbITest#ejb30LiteBasic # 105 tests, 16 minutes.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=EjbITest#ejb30LiteEjbContext # 50 tests, 7 minutes.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=EjbITest#ejb30LiteEnvEntry # 30 tests, 11 minutes.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=EjbITest#ejb30LiteLookup # 30 tests, 7 minutes.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=EjbITest#ejb30LiteNaming # 54 tests, 10 minutes.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=EjbITest#ejb30LiteNointerface # 60 tests, 12 minutes.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=EjbITest#ejb30LitePackaging # 211 tests, 20 minutes.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=EjbITest#ejb30LiteSingleton # 230 tests, 49 minutes.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=EjbITest#ejb30LiteStatefulConcurrency # 80 tests, 41 minutes.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=EjbITest#ejb30LiteTx # 358 tests, 30 minutes.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=EjbITest#ejb30LiteView # 95 tests, 15 minutes.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=EjbITest#ejb30LiteXmlOverride # 30 tests, 7 minutes.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=EjbITest#ejb30Assembly # 51 tests, 10 minutes.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=EjbITest#ejb30Misc # 95 tests, 19 minutes.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=EjbITest#ejb30Sec # 99 tests, 13 minutes.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=EjbITest#ejb30Timer # 178 tests, 68 minutes.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=EjbITest#ejb30Webservice # 3 tests, 8 minutes.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=EjbITest#ejb30Zombie # 1 tests, 7 minutes.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=EjbITest#ejb32 # 825 tests, 4-5 hours.

EL, Expression Language

Standalone variant, 350 tests, 10 minutes.

mvn clean install -Ptck -pl :jakarta-expression-language-tck,:glassfish-external-tck-expression-language

Platform variant, 695 tests, 33 minutes.

mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=ExpressionLanguageITest

Faces

  • 5661 tests, 165 minutes.
mvn clean install -Ptck -pl :jakarta-faces-tck,:glassfish-external-tck-faces

JDBC

mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=JdbcITest#appClient # 1231 tests, 150 minutes.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=JdbcITest#ejb # 1231 tests, 150 minutes.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=JdbcITest#jsp # 1231 tests, 120 minutes.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=JdbcITest#servlet # 1231 tests, 120 minutes.

JSON

mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=JSONITest#jsonb # 18 tests, 9 minutes.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=JSONITest#jsonp # 76 tests, 12 minutes.
mvn clean install -Ptck -pl :glassfish-external-tck-jsonp # 179 tests, 40 seconds.

Mail

  • 112 tests, 14 minutes.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=MailITest

Messaging

  • 3510 tests, 6-9 hours.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=MessagingITest

Microprofile

  • 225 tests, 11 minutes.
mvn clean install -amd -fae -Ptck -pl :glassfish-external-tck-microprofile

Pages

Standalone variant, 708 tests, 23 minutes.

mvn clean install -Ptck -pl :jakarta-pages-tck,:glassfish-external-tck-pages

Platform variant, 735 tests, 63 minutes.

mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=ServerPagesITest

Pages - Tags

Standalone variant, ? tests, 19 minutes.

mvn clean install -Ptck -pl :jakarta-pages-tags-tck,:glassfish-external-tck-pages-tags

Platform variant, 541 tests, 50 minutes.

mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=StandardTagLibraryITest

Persistence

mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=PersistenceITest#appManaged # 1749 tests, 5-6 hours.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=PersistenceITest#appManagedNoTx # 1887 tests, 5-6 hours.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=PersistenceITest#pmServlet # 1895 tests, 96 minutes.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=PersistenceITest#puServlet # 1885 tests, 2 hours.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=PersistenceITest#stateful3 # 1749 tests, 2-3 hours.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=PersistenceITest#stateless3 # 1897 tests, 160 minutes.

REST

Standalone variant, 2789 tests, 8 minutes.

mvn clean install -Ptck -pl :jakarta-rest-tck,:glassfish-external-tck-rest

Platform variant, 138 tests, 16 minutes.

mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=RestfulWebservicesITest

Servlet

Standalone variant, 1694 tests, 58 minutes.

mvn clean install -Ptck -pl :jakarta-servlet-tck,:glassfish-external-tck-servlet

Platform variant, 735 tests, 60 minutes.

mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=ServletITest

SOAP Webservices

mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=WebservicesITest#webservices12 # 242 tests, 96 minutes.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=WebservicesITest#webservices13 # 53 tests, 27 minutes.

Transactions

mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=TransactionsITest#jta # 141 tests, 17 minutes.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=TransactionsITest#xa # 66 tests, 10 minutes.

Validation

  • 1045 tests, 6 minutes.
mvn clean install -Ptck -pl :glassfish-external-tck-validation

WebSocket

Standalone variant, 737 tests, 5 minutes.

mvn clean install -Ptck -pl :jakarta-websocket-tck,:glassfish-external-tck-websocket

Platform variant, 748 tests, 80 minutes.

mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=WebsocketITest

Other and Remaining

  • The IntegrationITest joins three not too large blocks to one. Even this way every block can be executed individually.
  • These three parts are Integration, Samples and Signature test.
  • 34 tests, 8 minutes.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=IntegrationITest#integration # 18 tests, 7 minutes.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=IntegrationITest#samples # 12 tests, 7 minutes.
mvn clean install -Ptck -pl :platform-tck-runner -Dit.test=IntegrationITest#signaturetest # 4 tests, 10 minutes.