Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jakarta.ee-spec.committee] Requirements for individual specification TCKs

Just to jump into this thread, I am generally supportive of the idea that if a Specification has intentions to be included in a Platform or Profile, it should be testable in that context.

Historically, in the JCP days that was taken that quite seriously and we went to great lengths to ensure things were testable in every context.  This is why we run the same test several times, once as a Servlet, again as a JSP, again as an EJB, etc.  To go from that to the extreme of it not being testable in a container at all is too far of a departure IMO.


-- 
David Blevins
http://twitter.com/dblevins
http://www.tomitribe.com
310-633-3852

On Apr 6, 2022, at 12:10 PM, Thomas Watson <tjwatson@xxxxxxxxxx> wrote:

For EE 10 we have several new individual TCKs.  I would like to understand if we established any general policies for how such TCKs are executed.  I'm asking for a general discussion about such a policy.  But if it helps to have some examples I am referring to the TCKs for the individual specifications JSON Binding, JSON Processing and XML Binding.  My understanding of these three individual TCKs is that they are only able to be run directly against Java SE.

Tom

From: Scott Marlow <smarlow@xxxxxxxxxx>
Sent: Wednesday, April 6, 2022 12:23 PM
To: Jakarta specification committee <jakarta.ee-spec.committee@xxxxxxxxxxx>; Thomas Watson <tjwatson@xxxxxxxxxx>
Subject: [EXTERNAL] Re: [jakarta.ee-spec.committee] Requirements for individual specification TCKs
 
This Message Is From an External Sender
This message came from outside your organization.
Is there a specific individual Jakarta EE specification TCK that you are referring to?  Perhaps one of the new for EE 10 TCKs?  

Scott
On 4/5/22 10:24 AM, Thomas Watson wrote:
Hi all,

It is not clear that the specification committee has discussed and decided on the requirements for individual specification TCK execution (aka standalone TCK).  Recent discussions about individual specification TCKs have identified an exposure for a platform implementation to claim compliance for individual specifications that are included in the platform, web profile or core profile.  A TCK must be executable within the context of the profile it is included in: platform, web profile or core profile.  â€‹Otherwise, there is no confirmation that the compliant platform, web profile or core profile implementation functions properly with respect to the individual specification TCK.

Some individual specification TCK teams have indicated the desire to develop TCKs that are only executable outside of a profile implementation and only run directly on Java SE.  It is acceptable for specification projects to develop a TCK that can run directly on Java SE.  It is not acceptable for that complete TCK to only be executable directly on Java SE.

A TCK can have three types of tests:

  1. Tests that only apply when running outside of a platform (or profile), such as on Java SE, to test behavior defined by the specification for that mode of execution.
  2. Tests that only apply when running in a platform (or profile) to test behavior defined by the specification for that mode of execution.
  3. Tests that apply to the behavior defined by the specification for all modes of execution.

The tests of type 2 and 3 must be able to be executed in the context of the profile they are included in: platform, web profile or core profile.

We want to discuss proposing the following requirements for individual specification TCKs within the specification committee:

  1. The individual specification TCK must provide a profile-ready mechanism for running the required TCK tests (types 2 and 3) in the profiles they are included in: platform, web profile or core profile. Type 1 tests must be excluded and not required to be executed.
  2. The individual specification TCK must provide a mechanism for running the required TCK tests (types 1 and 3) outside the context of a platform or profile such as on Java SE. Type 2 tests must be excluded and not run.
  3. It is important that type 3 tests be run in compatible implementations of the profiles to validate the individual specification implementation functions properly in the profile implementation: platform, web profile or core profile.

Note that we avoided using the term "standalone TCK" because to some the term "standalone" means TCKs that run outside of any platform or profile container.

Thomas Watson


_______________________________________________
jakarta.ee-spec.committee mailing list
jakarta.ee-spec.committee@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/jakarta.ee-spec.committee
_______________________________________________
jakarta.ee-spec.committee mailing list
jakarta.ee-spec.committee@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/jakarta.ee-spec.committee


Back to the top