Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[jakartabatch-dev] 2.1.0-M1 TCK released: Full conversion of runtime & signature tests to Maven; Batch +CDI integration tests added to TCK; instructions in this email

I'm ending the year now having released to Maven Central (not staging) 2.1.0-M1 versions of each of the API, impl, TCK

We now have an all-Maven TCK !   (no Ant files left)....which should ultimately make this a lot easier to execute (and to document).

Since I did NOT update the TCK guide yet I'll include some details here (assuming anyone executing this in the next few weeks is on the list here):

A quick tour of the important and updated TCK modules:

com.ibm.jbatch.tck/  
   - Holds the runtime tests (previously TestNG, now JUnit 5) as well as the signature files.  
   - Added a test class, CDITests, with 20 tests, and 3 tests to PropertySubstitutionTests

com.ibm.jbatch.tck.exec/
   - Like before, executes the runtime TCK against the jbatch impl (as a Maven dependency) in an SE environment (now 175 tests)
   - This only works with Java 11.  I think the Weld dependency needs to be upgraded to run Java 17.

com.ibm.jbatch.tck.sigtest.exec/
   - Executes the Signature Tests against the jbatch impl using the Netbeans sigtest-maven-plugin (a profile activated for each of Java 11, 17)

jakarta.batch.arquillian.extension/
   - Ondro's contribution moved inside the TCK. This configures an Arquillian JUnit 5 Extension to plug into JUnit 5;  Then implements an Arquillian extension to package up the modules Maven deps using ShrinkWrap

jakarta.batch.arquillian.exec/
   - Also from Ondro moved inside the TCK - executes the runtime TCK using the Arquillian extension above with the "EE profile" (so executes the extra 9 "transaction tests" plus the 175 SE ones).  By default nothing is executed at all.  I have included a profile for Open Liberty which I can get to work on Java 11, 17 with a bit of hacking.

---

Let me note a challenge with this style of test suite, given that it uses CDI, is that if you don't have e.g. a JobOperator Bean available, you won't just fail the one test looking for it you'll fail all 20 or more as deployment/startup fails.  

That's a good segue into explaining why I added the Open Liberty profile to the Arquillian exec module.      

I'm guessing there may not yet be a release/distro of Glassfish or Payara with jbatch or a Batch impl with the new Beans present.   (Or if there is, I didn't see it though didn't look hard).    

There isn't a release of Open Liberty with this support either... but that was easier for me to patch, so I included that profile.   No, it doesn't work out of the box (I included the manual patch instructions).  Why include the Open Liberty profile at all?  Because it's a proof of concept.. a test of the TCK test suite (with the additional manual steps).      OK, just wanted to say a few words and not make it seem like I was just defaulting to Open Liberty just because I work on it.

Finally one other thing not done is the addition of JPMS module-info.java  (our deps didn't have them yet in Maven Central releases when I checked).

OK, that's it.  I'm basically going to be off for the rest of the year though will take a quick check of this list now and then in case there are questions.

Thanks for your contributions this year.. getting close.

Happy Holidays and New Year !
------------------------------------------------------
Scott Kurz
WebSphere / Open Liberty Batch and Developer Experience
skurz@xxxxxxxxxx
--------------------------------------------------------




Back to the top