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:


    • May 2014 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:



    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
      • ./ 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: 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_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 to
    • Edit 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
    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

      • ./ -c cts

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

    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 clean build

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

    • ant -Dts.home=$TS_HOME 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


    • Web: ant -Dkeywords=javaee_web_profile runclient

    Clean the CTS config

    To remove the $JBOSS_HOME/server/cts config:

    • cd $JBOSS_HOME/bin

    • ant

    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 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.




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