-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add JSON-B TCK tests to repo #221
Conversation
To more easily review the changes, look at the second commit, which is the modifications I had to make after copy/pasting the tests over from the original jakartaee-tck repo |
08a2de9
to
764ee98
Compare
…d use jakarta namespace
What exactly do you expect from the TCK tests in the repo? These are just the test classes. Without the TCK framework, these are not able to be run. |
hi @jansupol, I've adapted the tests so they simply use the JUnit framework now, and this repo can now produce the TCK tests as a consumable jar artifact on Maven Central. The benefit of this is that any implementation can then consume the TCK tests as a basic maven dependency and run them. For example, here is a draft PR in Eclipse Yasson that will run the TCK tests simply with This setup is similar to what MicroProfile specs do. As I mentioned in the PR summary, the main benefit is that all of the spec artifacts (API, spec doc, and TCK) are housed in one repo |
Also, @m0mus it will be much easier to review if you only look at the second commit of this PR. The first commit was copy/pasting over the tests from the TCK repo, and the second commit is the changes I made to those tests (e.g. using JUnit instead of the custom TCK harness) |
One thing that I did not include in this PR is the pom.xml updates necessary to publish the TCK tests on maven central. Like Microprofile does: |
Hi, just wanted to cross reference a discussion that started on the TCK dev ml that didn't reach a conclusion but might be helpful anyway. The part about retaining the testing of multiple vehicles in the standalone TCKs might be of interest. |
@aguibert I see what you did, now. I see the following issues (maybe I missed those):
|
|
|
I understand a concern about not meeting Jakarta EE 9 deadlines if we start moving TCK tests out of CTS. I am proposing the following: We will not move JSONB TCK tests from CTS yet. We will do it after Jakarta EE 9 is released. We will keep them in sync until that time. Users may use TCK tests in this repo as more convenient way of checking compatibility. But it cannot be used officially for compliance testing for now. |
I don't know will signature tests be required for the next platform releases or not. @aguibert do MicroProfile specs have signature tests? |
sigtests are useful to track and detect API changes which may be useful going forward. It's probably the last instance which may catch backward incompatible changes which may fall through reviews, so I would not abandon them. To put my comment into some context - for EE 9, API changes are not allowed and sigtests are the best to guard this requirement. |
Could the API signatures be validated in the API project instead of being part of the TCK? In MicroProfile we use a maven plugin to verify that we follow semantic versioning rules: so we could simply add this plugin to the jsonb-api project and it would achieve the same result as the SigTests. |
@aguibert I don't see a configuration for In general, I don't have other requests. I think we can merge it after you address my comments above. |
@m0mus currently we don't use the bnd plugin at all. I can add it in a separate PR. I am going to rework this PR to satisfy some comments on the jakartaee-dev mailing list. Basically I'm going to rework it to use JUnit+Arquillian instead of just JUnit, so that it can easily be tested inside of an app server environment. |
@jansupol @m0mus this PR should be ready for approval now. Here is a summary of the additional changes I made:
|
Everything is cool. Only one thing missing is |
@m0mus ok, I've pushed another commit with some README instructions (basically just a pointer to how Yasson does it). Should be ready for approval now |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Ports the existing JSON-B TCK tests from the https://github.com/eclipse-ee4j/jakartaee-tck repo.
This will provide several benefits:
Once this PR is merged, I will open a PR on jakartaee-tck to remove the ported tests.