Skip to content

TCK environment contains optional tests and dependencies by default #132

@JanWesterkamp-iJUG

Description

@JanWesterkamp-iJUG

Describe the bug
The TCK includes optional tests by default, TCK users are required to configure exclusion of them manually. This results in opt-out instead of opt-in behaviour.
Some of these optional TCK tests require a Jakarta Web Profile component spec too, so resulting in expecting an environment beyond Jakarta Core Profile to run these tests (as default) - which violates the current requirements for the MicroProfile umbrella spec.
This component spec Jakarta Concurrent/Concurrency 3.0.3 version deviates by a Patch Release from the current Jakarta Web Profile version (3.0.2) and is configured as compile dependency.

The default setup must not require optional tests.
The default setup must not depend on a non-core-profile Jakarta component spec, as this excludes MiroProfile implementations that are based on the Jakarta Core Profile only.
Managing dependencies separately and not conform with the given environment will result in dependency issues.

(Describe the problem as concisely as possible.)

Potential solutions:

There is not simply way to solve all aspects of this, but optional test definitions and dependencies should be omitted in general.
The dependency tree for umbrella and component specs need to be respected.

Splitting up the TCK into a core (required) and optional module (i.e. like in MP Metrics), may be with a distribution package that can be configured according to the environment, might solve the optional test configuration issue.
Preventing the use of Jakarta Concurrency (introduced in #108) at all or moving that module outside the component spec into a separate stand-alone component spec (not part of the MicroProfile umbrella spec) could allow the usage and dependency to it. BTW, this is a pattern used for the MP JWT integration with Jakarta Web Profile/Platform specs recently (the so - not optimal - called MP JWT Bridge spec).

If we do not respect the existing dependency tree, we will not solve the dependency deviations - so simply using the latest version is not the best way. Even when here the deviation in theory should not have an effect, I could make a difference in practice.
Unfortunately there is no updated version in the Jakarta EE BOM avalilable, as there is no support for a Patch Release on Jakarta EE 10 currently.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions