[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[jakartaee-platform-dev] EE versus SE TCK tests, asking why we have Java SE TCK tests in our Jakarta EE TCKs and planning for EE 11 TCK Refactoring
|
Hi,
From a definition point of view, what defines a Java SE TCK test
versus a Jakarta EE TCK test?
IMO, a TCK test can be:
- A Jakarta EE TCK test which means deployed + run with a
Jakarta EE container.
- A Java SE TCK test which means run directly with Java SE
(doesn't require a Jakarta EE container.)
- Both #1 (EE) + #2 (SE) ways of being run.
What other definitions come to mind when explaining the
difference between Java SE versus Jakarta EE tests?
Why do we have Java SE TCK tests in our Jakarta EE TCKs?
IMO, we need the Java SE TCK tests during the respective owning
Specification API Ballot process and later for validating
implementations as being compatible. For example, the Jakarta
Persistence 3.1 SPEC API (using EclipseLink) initially passed the
Ballot process using the Jakarta Persistence 3.1 TCK (which
contains only Java SE TCK tests) and Hibernate ORM also passed the
Jakarta Persistence 3.1 TCK proving that it is Persistence 3.1
compatible. We also have specifications that do not require
testing against an EE container to meet the Specification
requirements (e.g. JSON Binding). We do have the freedom to add
further Jakarta EE TCK tests for validating that technologies like
JSON Binding work with particular EE containers (as previously
discussed, that is an itch that implementations want to scratch).
Platform TCK issue#1126 [3] is for planning the (remaining)
Jakarta EE 11 Platform TCK refactoring effort. It is a work in
progress for the initial EE 11 refactoring work. The milestone
one goal is to establish a small number of refactored
Jakarta EE TCK tests for each different test bucket to serve as
examples that can be extended with the remaining tests and also
allow interested EE 10 implementations to validate that they can
pass the initial TCK tests. The milestone two goal is to
do the same for adding a small number of refactored Java SE TCK
tests for the test buckets that have such SE tests that can be
validated against interested implementations of the relevant
specifications. The milestone three goal is to add some
`hard to refactor` tests to each test bucket (should still be
using EE 10 specifications). The milestone four goal is
to complete the TCKs needed for the first wave of EE 11
Specification Ballots (with EE 11 TCK tests being added in time
for that to happen). Everything mentioned here is subject to
change as we further define the Jakarta EE 11 release.
Scott
[1] https://jakarta.ee/committees/specification/tckprocess
[2] "How Tests May be Added to a TCK
The only time tests may be added to a TCK are in a major or
minor
release. A service release which updates the exclude list MUST not
have
test additions or updates (see exception below for addressing
newer Java SE versions).
"
[3] https://github.com/eclipse-ee4j/jakartaee-tck/issues/1126.