Standalone JTA 1.1 TCK Guide

Standalone JTA 1.1 TCK Guide

Information provided in this document will guide you on how to set up and run the Standalone JTA 1.1 TCK with JBoss Transactions.

 

 

Obtaining TCK and JBossTS's porting layer

 

JTA TCK and JBoss Transactions porting layer have been committed to the internal SVN repository accessible through the JBoss LDAP UserId/Pwd.

 

The official releases of the drops can be found in the following repo:

https://svn.devel.redhat.com/repos/jboss-tck/standalone-tck/jta/

 

The porting layer can be obtained by performing an svn checkout of:

https://svn.devel.redhat.com/repos/jboss-tck/standalone-tck/jta/jtatck-mods/

 

 

Checkout JBoss Transaction from Subversion and Build

 

JBoss Transactions from Git master

 

  • git clone git://github.com/jbosstm/narayana.git
  • cd narayana
  • ./build.sh clean install

 

JBoss Transactions from branch JBOSSTS_4_16

 

 

JBoss Transactions from branch JBOSSTS_4_6_1_GA_CP

 

 

Set Up and Configuration

  • Unpack JTA TCK zip (jtatck-1.1_20-Oct-2008.zip).
  • Check out jtatck-mods from the svn mentioned above.

 

Set Local Environment Variables
  • Set TS_HOME environment variable to JTA TCK, e.g. work_dir/jtatck
  • Set JAVAEE_HOME to the same directory
  • Set JBOSSTS_HOME to JBoss Transactions build, e.g. work_dir/jbosstm/install or unzipped work_dir/narayana/narayana-full/target/narayana-full*.zip
  • Set TS_ANT to $TS_HOME/tools/ant/bin/ant
  • Set JAVA_HOME to your JDK 6.0 installation.

 

Configure JTA TCK to run against JBoss Transactions
  • chmod a+x $TS_HOME/tools/ant/bin/*
  • cd work_dir/jtatck-mods
  • $TS_ANT hack.tsharness
  • run $TS_ANT -Djbossts.version=[trunk|master|JBOSSTS_4_6_1_GA_CP|JBOSSTS_4_16]

 

The target 'hack.tsharness' compiles and replaces TSNamingContext class in tsharness.jar with a class from jtatck-mods that directly takes an UserTransaction instance from JBossTS instead of looking up the JNDI.

The following command configures JTA TCK with paths to JBossTS and so on, and removes any references to DB1 from JTA TCK as those are not needed for JTA tests.

 

Run the Standalone JTA TCK

  • cd $TS_HOME/bin
  • $TS_ANT -Dkeywords="standalone_vehicle" run.all.tests

 

Create XML report of test results
  • java -Xint -cp $TS_HOME/lib/javatest.jar:$TS_HOME/lib/tsharness.jar com.sun.javatest.cof.Main -o report.xml $TS_HOME/bin/JTwork

 

*NOTE: $TS_HOME/bin/JTwork dir includes test results in JavaTest format.

 

 

Set up JTA TCK to JBossAS

 

The jtatck-mods can also be set up to JBossAS instead of standalone JBoss Transactions and then JTA TCK can be tested with jsp and servlet vehicles against JBossAS instance.

 

Note: the JTA TCK is (for now at least) basically a subset of the JavaEE TCK. Running JTA standalone TCK against JBossAS is not materially different to running the transactions tests from the JavaEE TCK. Thus depending on what you already have installed or what is installed on hudson, you may be able to get the results you need without a new setup.

Set up jtatck-mods to JBossAS
  • Set JBOSSTS_HOME to JBOSS_HOME
  • Do NOT run the hack.tsharness command
  • Run only $TS_ANT -Djbossts.version="jbossas.${JBOSS_VERSION}"
    where JBOSS_VERSION can be 'trunk' or 'as6' or 'eap5', depends on which JBossAS you have
Create CTS config
  • cd $TS_HOME/bin
  • $TS_ANT build.all.tests
  • $TS_ANT config.vi
  • $TS_ANT deploy.all
Start CTS config
  • cd $JBOSS_HOME/bin
  • ./run.sh -c cts &> cts.log &
Run JTA TCK with jsp and servlet vehicles
  • cd $TS_HOME/bin
  • $TS_ANT -Dkeywords="jsp_vehicle|servlet_vehicle" run.all.tests


*NOTE: configurations for standalone TCK and TCK against JBossAS are not compatible. You need to start from the beginning in case you want switch from one to another.

 

References