TCK6Guide

TCK6Guide

Information provided in this document will guide you on how to set up and run the TCK 6 with JBoss AS 6.

(for TCK5, see instead TCK5Guide)

 

Obtaining TCK and JavaEE 6 RI

 

Java EE 6 CTS and Reference Implementation zip distributions have been commited 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/javaee6-cts/trunk

 

  • June 2013 Updates:

 

  • August 2011 Updates:

 

 

Checkout TCK6 bundle.

 

The Java EE 6 CTS has been unpacked and can be obtained by performing an svn checkout of:

 

https://svn.devel.redhat.com/repos/jboss-tck/tck6/trunk/

 

This TCK6 repo is up-to-date with the August 02, 2011 update: Revision 3003 or higher . The porting layer is checked out as part of the tck6 module.  If you are running TCK 6 against JBoss AS 6, use the porting package, jee6tck-mods. If you are running against JBoss AS 7, use jee6tck-as7-mods.

Checkout Java EE 6 RI

JBoss AS 6.0

  1. Check out from Subversion and Build

  2. Or,obtain a zip file of JBoss AS 6

JBoss AS 7.0

  1. Set up AS 7 in git as outlined in Hacking on AS7
    • ./build.sh install
  2. Or, obtain a zip file of JBoss AS 7

 

Set Up and Configuration

Configure /etc/hosts (linux users)

Make sure your /etc/hosts contain the following record:

127.0.0.1 localhost localhost.localdomain

 

Set Local Environment Variables
  • Set TS_HOME environment variable to work_dir
  • Set JBOSS_HOME to the JBoss AS installation selected above
  • Set JAVAEE_HOME to $JBOSS_HOME
  • Set JAVAEE_HOME_RI to Java EE 6 RI (e.g., /opt/glassfishv3/glassfish)
  • Set JAVA_HOME to your JDK 6.0 installation.
  • Set DERBY_HOME $JAVAEE_HOME_RI/../javadb

 

Configure JBoss AS to run the CTS
  • Set up the porting package for JBoss AS version under test
    • Running with JBoss AS 6: cd  $TS_HOME/jee6tck-mods
    • Running with JBoss AS 7: cd $TS_HOME/jee6tck-as7-mods
  • Copy ant.properties.example to ant.properties
  • Edit ant.properties to provide the correct settings for your environment

 

The EE 6 TCK has two modes of certification which is determined by the ts.jte property:  javaee.level.   This determines the level of Java EE support for the implementation under test and is relevant to archive deployments - whether EARs are supported. The values for this property are:

      • full - for full Java EE Platform support
      • web  - for Java EE Web Profile

 

  • To set up the TCK environment for a full JavaEE certification:
    • ant -Dprofile=full
  • For Web profile certification:
    • ant -Dprofile=web

 

If you need to switch your environment to the alternate level, this property can be manually edited after the TCK configuration is performed.

 

  • To clean the jee6tck-mods or jee6tck-as7-mods environment:
    • ant clean


*NOTE:  The CTS documentation recommends setting ANT_HOME to the location of the Ant implementation provided in $TS_HOME/tools/ant.

Create the CTS Config
  • cd $TS_HOME/bin
  • ant config.vi
Start JavaDB
  • cd $DERBY_HOME/binGlassfish v3.1
  • ./setNetworkServerCP
  • ./startNetworkServer
Initialize the Tables needed for the CTS Run
  • cd $TS_HOME/bin
  • ant init.derby
Initialize the Tables needed for the Embedded CTS Run (EJB 3.1 Lite)
  • cd $TS_HOME/bin
  • ant init.derbyEmbedded
Start RI (required for reverse tests only)
  • cd $TS_HOME/bin
  • ant config.ri

               Please note JBoss AS must not be running when starting the RI.

Start the CTS config

  • For JBoss AS 6:

    • cd $JBOSS_HOME/bin

    • ./run.sh -c cts

  • For JBoss AS 7:
    • cd $JBOSS_HOME/bin
    • ./standalone.sh

Running TCK full Full Profile Certification

    • cd $TS_HOME/src/com/sun/ts/tests/samples
    • ant runclient

If this fails with "[javatest.batch] bad value for "timeoutFactor" command (1.0)", do export LC_ALL=en_US.

Running TCK for Web Profile Certification

  • If you have set up your TCK environment to run with the web profile (javee.level=web) , you must also execute the tests using the keywords javaee_web_profile. The runclient command would be:
    • ant -Dkeywords=javaee_web_profile runclient

Build reverse tests

  • cd $TS_HOME/src/com/sun/ts/tests/jaxws

  • ant -Dts.home=$TS_HOME -Dbuild.vi=true clean build

  • cd $TS_HOME/src/com/sun/ts/tests/jws

  • ant -Dts.home=$TS_HOME -Dbuild.vi=true clean build

Run CTS Test Modules

To run other test modules, simply change to the test module directory and execute the runclient command according to your certification level.

  • Full:  ant runclient

     or

  • Web: ant -Dkeywords=javaee_web_profile runclient

Clean the CTS config

To remove the $JBOSS_HOME/server/cts config:

  • cd $JBOSS_HOME/bin

  • ant clean.vi

This is useful if you rebuild jee6tck-mods and need to re-create the cts config.

 

Build webservice special cases

Some tests in webservices12 module require an additional build phase:

  • cd $TS_HOME/bin
  • ant -Dbuild.vi=true build.special.webservices.clients

 

Deploying Common Resource Adapters

To deploy the resource adapters needed for connector and XA tests, execute the following command prior to running the tests:

  • cd $TS_HOME/bin
  • ant -f xml/impl/jboss/deploy.xml  deploy.all.rars

 

JIRA Categories

JBCTS - category to file compatiblity issues uncovered in implementations

CTS - category to file CTS test challenges. The following information should be included.

  1. Licensee Name:
  2. CTS version: (from $TS_HOME/bin, execute 'ant version')
  3. Exclude list date: ( $TS_HOME/bin/ts.jtx file )
  4. Specification Reference:
    • Spec Name:
    • Spec version:
    • Spec date:
    • Page/Section to reference:
  5. Problem Description and attached the .jtr from the failed test.

 

DEBUGGING

 

To debug TCK6 porting layer patch $TS_HOME/bin/xml/ts.top.import.xml in section <presetdef name="javatest.batch">
and add <jvmarg value="-Xrunjdwp:transport=dt_socket,address=5006,server=y,suspend=y"/> there.

 

REFERENCES