Skip to content
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

Create new EJB Lite TCK #965

Closed
wants to merge 6 commits into from

Conversation

alwin-joseph
Copy link
Contributor

@alwin-joseph alwin-joseph commented May 9, 2022

Fixes Issue
#963

Describe the change
Create new standalone TCK that runs ejblite tests (src/com/sun/ts/tests/ejb30/lite & src/com/sun/ts/tests/ejb32/lite)

Test from Jenkins : https://ci.eclipse.org/jakartaee-tck/job/jakartaee-tck-alw/job/ejblite-tck/9/ (in progress) will build ejblite TCK and run tests in ejb30/lite/appexception

Major issues to be resolved :

  • The docker/build_ejblitetck.sh to build the ejblite tck, when run locally fails due to missing class for rmic ant task in install/ejblite/bin/build.xml. But when run in docker container this works completing the compilation. I am yet to find out what is missing or required for local run. For now the tck build is done via docker container now.

Jenkins jobs :
Build ejblite tck : https://ci.eclipse.org/jakartaee-tck/job/10/job/jakarta-ejblite-tck-build/ (copies the tck bundle at https://download.eclipse.org/ee4j/jakartaee-tck/jakartaee10/staged/eftl/jakarta-ejblite-tck-4.0.1.zip )
Run ejblite TCK : https://ci.eclipse.org/jakartaee-tck/job/10/job/jakarta-ejblite-tck-run/ (only single parameter as run suite is acceptable now)

CC @arjantijms @scottmarlow

@arjantijms
Copy link
Contributor

rmic is the The Java RMI Compiler, which should not be needed at all for EJB-lite, since it doesn't support Remote EJB (which is the part that needs Remote Method Invocations (RMI)).

@alwin-joseph
Copy link
Contributor Author

rmic is the The Java RMI Compiler, which should not be needed at all for EJB-lite, since it doesn't support Remote EJB (which is the part that needs Remote Method Invocations (RMI)).

For platform TCK it is used at https://github.com/eclipse-ee4j/jakartaee-tck/blob/786858b951c63ec304d9813a808909d274fb8b43/install/jakartaee/bin/build.xml#L780 to compile AutoDeploymentServer. This was used as it is for ejblite tck also in this PR at install/ejblite/bin/build.xml . Skipping this will cause deployment failure before test execution.

@alwin-joseph
Copy link
Contributor Author

With the current changes the tck bundle is available at https://ci.eclipse.org/jakartaee-tck/job/jakartaee-tck-alw/job/ejblite-tck/9/artifact/standalone-bundles/ejblite-tck-4.0.1.zip for an initial review of contents.

@arjantijms
Copy link
Contributor

I see, thanks. I need to look at how that exactly works, but I guess at some point (not now, obviously), we could replace AutoDeploymentServer by a REST based API that is now much more common.

We may need to look at the security manager usage of AutoDeploymentServer though. This won't work on JDK 18 and higher:

 // SetSecurityManager
 System.setSecurityManager(new RMISecurityManager());

@scottmarlow scottmarlow requested a review from dblevins May 10, 2022 13:15
@scottmarlow
Copy link
Contributor

Will the new EJB Lite TCK run all ejbembed tests as well? Or will they still be run via the Platform TCK?

CC @arjantijms

@scottmarlow
Copy link
Contributor

As discussed on Platform TCK call, this new TCK is just for the convenience of the community to have a different way to run the EJB Lite tests but is not an official TCK that can be used for certification. Please speak up if you feel differently.

@scottmarlow scottmarlow reopened this May 11, 2022
@arjantijms
Copy link
Contributor

I would love to see this TCK eventually be the official TCK that can be used for certification, just like e.g. the standalone Servlet or Pages TCK can be used for certification. That way we may finally be able to easily certify a standalone implementation of EJB Lite on a container like Tomcat.

But of course we could delay this to the EE 11 timeframe, as for EE 10 there might not be so much time left.

@alwin-joseph alwin-joseph marked this pull request as ready for review May 16, 2022 14:43
@gurunrao
Copy link
Contributor

gurunrao commented May 27, 2022

PR looks good to me, anyone has objection/review, comments please let us know before early next week, planning for merge early next week.

@alwin-joseph alwin-joseph marked this pull request as draft May 27, 2022 08:09
@alwin-joseph
Copy link
Contributor Author

PR looks good to me, anyone has objection/review, comments please let us know before early next week, planning for merge early next week.

The PR needs improvement without which it will be difficult to execute the tests. I will keep it draft for some more time until I can make those changes.

@gurunrao
Copy link
Contributor

closing the PR, since refactor will be completed for EE 11. Please feel free to open the PR as needed.

@gurunrao gurunrao closed this Sep 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants