Skip to content

Guidelines_For_Standalone_TCKs

Scott M Stark edited this page Feb 9, 2022 · 1 revision

Describe the actions to be taken for removing duplicate tests from Platform TCK

  • After new SPEC API TCK is considered complete (e.g. new TCK will definitely be included) for EE release
    • Platform TCK pull request is needed to eliminate any Platform TCK tests not needed to validate Platform SPEC requirements.
      • Send email to Platform, Platform TCK, relevant SPEC API mailing lists with PR link for removing duplicate tests.
        • If there is disagreement about removing duplicate tests, the Platform committer team can be asked to vote on the removal of the tests.
        • The pull request will remain open during the discussion period of two weeks.
      • The relevant EE release will block on waiting for the Platform TCK to be updated to remove tests not needed to validate Platform SPEC requirements.

Guidance for creating the Platform TCK pull request to remove tests not needed to validate Platform SPEC requirements

  • Ensure that some validation of SPEC API is done for each tested EE container/vehicle.
  • Review each test and make a determination if there is a specific Platform requirement being tested beyond just using any parts of SPEC API in specified containers.
  • If the new SPEC API TCK validates the Platform requirements (with required EE container/vehicles), all of the Platform TCK tests specific to that SPEC API may be removed.
  • Once the Platform TCK refactoring is complete, revise the guidance here to instead update the Platform TCK to depend directly on the relevant SPEC API TCK tests.

Guidance for how specification TCKs that reference other specification containers are handled

  • If your specification TCK depends on other specifications (for TCK testing) that may change (e.g. public class methods/fields removed) after your specification is released as final, your specification may need to be released again with TCK test updates and verified that a compatible implementation still passes.
    • The reason to release again is for proving that a compatible implementation can pass.
  • There must be at least one Jakarta Platform implementation that passes your specification TCK EE mode tests.
    • As per the Platform TCK user guide stated requirements.
    • There must be at least one Jakarta Platform implementation that passes your specification TCK SE mode tests.
      • If the TCK EE mode tests include running the SE mode tests, there is no need to separately run the SE mode tests.