Running the Sun TCK for JPA
Sun's Technology Compatibility Kit for JPA is available to OpenJPA
committers (other TCKs are available to Apache committers in general).
Requesting access to the TCK
- Review the section "Testing with TCKs" on the Apache JCP participation page
- The OpenJPA project has already requested access.
- Sign the Apache NDA.
- Send the signed form to ASF Secretary secretary@apache.org.
Per email with the Secretary, a scan (pdf) of the signed form is fine.
- After the NDA has been accepted, then you need to request access to the TCK svn repository via a note to jcp-open@apache.org.
- Monitor both your private e-mail and the jcp-open mailing list for the confirmation e-mail that you now have access to the TCK svn repository.
The most up to date and complete information can be found on the Apache JCP participation page.
Once you have a copy of the TCK you can execute the TCK bucket in maven.
-
URL for latest JPA 2.0 TCK (authorization gives you access to the full TCK tree)
-
Copy the JPA 2 tck to ${user.home}/.m2/privaterepos/jpatck-2.0_15-Aug-2011.zip
-
Run the integration-test maven goal from the openjpa-integration/tck directory:
$ mvn integration-test -Ptck2-profile
More information on running the TCK can be found in the pom.xml file for the tck module and the corresponding ant script for the current tck.
What to do with a new revision of the TCK
Periodically, the TCK is updated by Oracle. This may be a maintenance release, or it may be due to a new release of the JPA specification.
In either case, there are a few steps that need to be performed to recognize and execute this updated TCK test bucket.
- Create an xml file specific to the updated TCK. The name is based off the TCK level and date of the release.
The easiest way is to copy an existing version (ie. tck2-20110815.xml).
- Update this entry in the newly created xml file to point at the downloaded TCK zip file name:
< property name="tck.level" value="jpatck-2.0_15-Aug-2011" \>
- Update the openjpa-integration/tck/pom.xml by modifying this entry appropriately:
< tck2.level >20110815< /tck2.level>
- You may also need to create a new tckx-profile, if it's required for a new release of the specification. I'll leave that as an exercise for
the next editor...