-
Notifications
You must be signed in to change notification settings - Fork 38
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
Update TCK for web profile #260
Conversation
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.
Nice work on this pull Kyle! It looks like you overachieved and were able to package more tests than just those 4 servlets with 3.0 spec coverage into WARs for web profile testing.
tck/src/main/java/ee/jakarta/tck/concurrent/common/TestGroups.java
Outdated
Show resolved
Hide resolved
Previously the concurrency/tck-dist/src/main/starter/suite-web.xml had:
But now,
Should the concurrency/tck-dist/src/main/asciidoc/concurrency-tck-reference-guide.adoc give guidance on running the Concurrency TCK with Web Profile versus Full Platform? Previously, concurrency-tck-reference-guide.adoc contained:
With this pull request, we now have:
Should we add guidance on switching between running against |
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.
This doesn't quite work, at least in WildFly. There are two tests, ManagedExecutorDefinitionWebTests
and ManagedScheduledExecutorDefinitionWebTests
, which attempt to register the same ManagedExecutorDefinition
twice. It really seems they should be creating different resource names or the packages themselves cannot be added.
I will note it's not enough to just remove the package import as both the servlet and EJB context URL's are injected to the test via Arquillian.
One minor nit, the formatting is using a combo of tabs and spaces. It seems like ideally it would be consistent.
...ck/concurrent/spec/ManagedExecutorService/resourcedef/ManagedExecutorDefinitionWebTests.java
Show resolved
Hide resolved
.../ManagedScheduledExecutorService/resourcedef/ManagedScheduledExecutorDefinitionWebTests.java
Show resolved
Hide resolved
ContextServiceDefinitionServlet.class, | ||
ContextServiceDefinitionInterface.class, | ||
ContextServiceDefinitionWebBean.class) | ||
.addAsWebInfResource(ManagedScheduledExecutorDefinitionWebTests.class.getPackage(), "ejb-jar.xml", "ejb-jar.xml") |
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.
Same with this, it's registering the same @ManagedExecutorDefinition
.
...concurrent/spec/ManagedThreadFactory/resourcedef/ManagedThreadFactoryDefinitionWebTests.java
Show resolved
Hide resolved
Running the web profile against GF results in one failure:
I'll have to look into this to see what is exactly going wrong. |
There's some concerns still, but let's address those in a next PR. |
I didn't make any changes to the TCK doc besides fixing the |
Fixes #244
I went ahead and duplicated the test classes that currently can only run on Full profile because they package tests as EARs, and packaged them as WEB archives instead. I then disabled tests where they didn't make sense to run on Web Profile.
I also had to make some modifications due to the way that we passed EJB JNDI names between the test classes and the application running on the server. I did this by introducing an SPI that will provide the JNDI name depending on if we are running in Full Profile vs Web Profile.
Here are the results of testing this against Open Liberty:
Full Profile Results
Web Profile Results