Version 29

    Cruisecontrol web application for TCK1.4 results.

     

    The TCK1.4 tests are automated on cruisecontrol to run continuously on a daily basis.

     

     

     

     

    Link to the CC web app

     

    http://dev17.qa.atl.jboss.com:8440/cruisecontrol

     

    You should be behind the JBoss VPN to access the web application

     

     

     

     

    Tests results for each project

    The tests results can be found under the "Build Artifacts" link for each project.

     

    • JTreport folder - HTML reports showing the total no of tests run, the failures and successful tests.

    • JTwork folder - Contains the detailed javatest results

    • tests.log - Log showing all tests being run

    • server/cts/log/server.log - server log for the CTS config against which the tests are run.

     

    Since the TCK tests produce html results the CC web app would be unable to process them. Hence the web app would display Unit Tests(0)

     

     

     

    How to Run the TCK1.4 tests

    Setup files for TCK are available in the internal SVN repository accessible through the JBoss LDAP UserId/Pwd

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

     

     

    *Also, there's an experimental automated ant script which can be used to setup/test: https://svn.corp.jboss.com/repos/qa/eap-tck/ *

     

    1. Checkout TCK1.4.1 bundle.

      1. For EAP4.2/JBossAS 4.2.x community version

        1. svn co https://svn.devel.redhat.com/repos/jboss-tck/tck141/trunk/ work_dir. (The porting layer is now a part of the tck141 module. tck141/trunk/j2eetck-mods which is checked out in this step.)

      2. For EAP 4.3 series

        1. svn co https://svn.devel.redhat.com/repos/jboss-tck/tck141/branches/eap43/ work_dir. (The porting layer is now a part of the tck141 module. tck141/branches/eap43/j2eetck-mods which is checked out in this step.)

    2. Checkout J2EE RI

      1. svn export https://svn.devel.redhat.com/repos/jboss-tck/j2ee14-tck-dist/trunk/j2eeri-1_4_1-fcs-bin-b05-windows-04_mar_2004.zip (J2EE RI, For Windows)

      2. svn export https://svn.devel.redhat.com/repos/jboss-tck/j2ee14-tck-dist/trunk/j2eeri-1_4_1-fcs-bin-b05-linux-04_mar_2004.zip (J2EE RI, For Linux)

    3. Checkout and build JBoss 4.2.x from subversion

      1. https://svn.jboss.org/repos/jbossas/branches/Branch_4_2/ (For EAP use an EAP build)

    4. Install J2EE RI. (unzip j2eeri-1_4_1-fcs-bin-b05-windows-04_mar_2004.jar)

    5. Setup Environment

      1. Set TS_HOME environment variable to work_dir

      2. Set JBOSS_HOME to JBoss-4.2.x build from Branch_4_2 of jbossas.

      3. Set J2EE_HOME to j2eeri-1_4_1

      4. Have JDK 5.0 installed. Set JAVA_HOME to your JDK5.0 installation.

    6. Prepare TCK for use with JBoss

      1. Run "ant clean" from work_dir/j2eetck-mods (Not required when setting up TCK1.4 for the first time)

      2. Run ant from work_dir/j2eetck-mods folder( This prepares the TCK1.4 package for use with JBoss)

    7. Prepare J2EE RI for TCK

      1. Run "ant -f setup.xml setup" from J2EE_HOME

    8. Prepare the cts config to run the tests with

      1. Clean the cts config. $TS_HOME/bin/tsant.bat clean.vi. (Not required if the cts config does not exist).

      2. Run $TS_HOME/bin/tsant.bat config.vi (make sure JBoss is not running). This creates a custom $JBOSS_HOME/server/cts configuration that is a subset of the all configuration.

    9. Start and initialize pointbase(This has to be done before running tests)

      1. To start pointbase, run $J2EE_HOME/pointbase/tools/serveroption/startserver.bat

      2. Initialize pointbase, $TS_HOME/bin/tsant.bat init.pointbase

    10. Start JBoss cts config before running TCK tests.

      1. $JBOSS_HOME/bin/run.bat -c cts

    11. Run TCK tests

      1. GUI mode

        1. $TS_HOME/bin/tsant.bat gui

      2. Command Line

        1. To run all the tests $TS_HOME/bin/tsant.bat runclient

        2. To run a set of tests run tsant.bat runclient from the folder under $TS_HOME/src/com/sun/ts/tests/MODULE_NAME.

        3. If you want to run a single test, you can use:

          • tsant -Dtest.client=<relative path of Java test class> -Dtests=<name of the test in java file> runclient

          • eg: Assuming you are at $TS_HOME/src/com/sun/ts/tests/samples, you can use

          • tsant -Dtest.client=javamail/ee/transport/send_Test.java -Dtest=testconnect_from_jsp runclient

     

    How do i update my TCK setup when i resume work.

    1. Run "svn update" from work_dir. (This automatically updates the TCK1.4 package if any patches from SUN have been applied. This also updates the porting package which was automatically checked out under work_dir)

    2. Update jbossas and rebuild JBoss 4.2.x.

    3. Execute steps 6, 8, 9, 10 from the above section and step 11 to run the tests.

     

     

    Customizations

    1. Before running tests set the following parameters in $TS_HOME/bin/ts.jte

      1. work.dir

      2. report.dir

      3. create.interop.tables.only=true for interop tests

     

     

    How to run the interop tests

    1. Startup pointbase and initialize it $TS_HOME/bin/tsant.bat init.pointbase (Set create.interop.tables.only to true in $TS_HOME/bin/ts.jte before initializing)

    2. Startup JBoss cts config

    3. Startup J2EE RI ($J2EERI/bin asadmin.bat start-domain). Note: make sure you have done $TS_HOME/bin/tsant config.ri before you start J2EE RI. This will prepare the RI to run the interop tests.

    4. Run the interop tests as explained in the section above.

    5. Stop J2EE RI ($J2EERI/bin asadmin.bat stop-domain)

    6. Stop JBoss

     

     

    How to run the csiv2 interop tests

    1. Startup JBoss cts config and pointbase with pointbase initialized

    2. Run $TS_HOME/bin/tsant.bat enable.csiv2 . This prepares tck for csiv2 tests and starts up RI.

    3. Run the csiv2 tests as explained in the section above.

    4. To disable csiv2 run $TS_HOME/bin/tsant.bat disable.csiv2

     

     

    How to run the rmi-iiop tests

    1. Startup JBoss cts config and pointbase with pointbase initialized

    2. cd $TS_HOME/bin ; ./tsant start.rmiiiop.server to start the standalone RMI server

    3. Run the RMI-IIOP tests as any other module

     

     

    How to run the TCK with a different database

    1. Edit -ds.xml inside j2eetck-mods/jboss-db/ with the connection parameters specific to the db you are using.

    2. Create a db with the same name as found in the -ds.xml and create users as found in -ds.xml so you don't have to edit other config files with db names and users

    3. Clean j2eetck-mods. Run "ant clean" from j2eetck-mods folder

    4. Build j2eetck-mods for the specific database. Run "ant -Dcts.db=DbName -Ddatasource-mapping=$DBTYPEMAPPINGNAME" from j2eetck-mods, where DbName can be oracle9i, oracle10g, mysql, mssql, db2-7.2, db2-8.0, postgresql or sybase.

    and

    • -Ddatasource-mapping="MS SQLSERVER2000"

    • -Ddatasource-mapping="PostgreSQL 8.0"

    • -Ddatasource-mapping="mySQL"

    • -Ddatasource-mapping="Oracle9i" (for Oracle9i)

    • -Ddatasource-mapping="Oracle9i" (for Oracle10g, no separate mapping for 10g)

    The jbosscmp-jdbc.xml descriptor overrides needs the exact type-mapping for the ejb tests.

    1. Clean jboss cts config. $TS_HOME/bin/tsant.bat clean.vi

    2. Build jboss cts config for the specific db. $TS_HOME/bin/tsant.bat config.vi -Dcts.db=DbName -Djboss.db.setup=true, where DbName is one of the above.

     

    NOTE: Before running with mysql and postgresql apply the patch j2eetck1.4_mysql_postgresql_patch.zip which contains the sql's taken from the TCK5 package.

     

    NOTE: All the databases have been initialized with the tables necessary for TCK.

    To reinitilize use:

    • $TS_HOME/bin/tsant.bat init.oracle (oracle9i, oracle10g)

    • $TS_HOME/bin/tsant.bat init.mysql

    • $TS_HOME/bin/tsant.bat init.mssqlserver (mssql)

    • $TS_HOME/bin/tsant.bat init.db2 (db2-7.2, db2-8.0)

    • $TS_HOME/bin/tsant.bat init.postgresql

    • $TS_HOME/bin/tsant.bat init.sybase

     

    The remaining steps are similar to the regular TCK setup. Both jboss and cts use the database that is configured. No needed to start pointbase. The tests connect to the DB instances that are configured in the QA lab. So connect to the RedHat VPN to connect to these database instances.

     

     

    Referenced by: