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
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
*Also, there's an experimental automated ant script which can be used to setup/test: https://svn.corp.jboss.com/repos/qa/eap-tck/ *
Checkout TCK1.4.1 bundle.
For EAP4.2/JBossAS 4.2.x community version
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.)
For EAP 4.3 series
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.)
Checkout J2EE RI
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)
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)
Checkout and build JBoss 4.2.x from subversion
https://svn.jboss.org/repos/jbossas/branches/Branch_4_2/ (For EAP use an EAP build)
Install J2EE RI. (unzip j2eeri-1_4_1-fcs-bin-b05-windows-04_mar_2004.jar)
Set TS_HOME environment variable to work_dir
Set JBOSS_HOME to JBoss-4.2.x build from Branch_4_2 of jbossas.
Set J2EE_HOME to j2eeri-1_4_1
Have JDK 5.0 installed. Set JAVA_HOME to your JDK5.0 installation.
Prepare TCK for use with JBoss
Run "ant clean" from work_dir/j2eetck-mods (Not required when setting up TCK1.4 for the first time)
Run ant from work_dir/j2eetck-mods folder( This prepares the TCK1.4 package for use with JBoss)
Prepare J2EE RI for TCK
Run "ant -f setup.xml setup" from J2EE_HOME
Prepare the cts config to run the tests with
Clean the cts config. $TS_HOME/bin/tsant.bat clean.vi. (Not required if the cts config does not exist).
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.
Start and initialize pointbase(This has to be done before running tests)
To start pointbase, run $J2EE_HOME/pointbase/tools/serveroption/startserver.bat
Initialize pointbase, $TS_HOME/bin/tsant.bat init.pointbase
Start JBoss cts config before running TCK tests.
$JBOSS_HOME/bin/run.bat -c cts
Run TCK tests
To run all the tests $TS_HOME/bin/tsant.bat runclient
To run a set of tests run tsant.bat runclient from the folder under $TS_HOME/src/com/sun/ts/tests/MODULE_NAME.
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.
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)
Update jbossas and rebuild JBoss 4.2.x.
Execute steps 6, 8, 9, 10 from the above section and step 11 to run the tests.
Before running tests set the following parameters in $TS_HOME/bin/ts.jte
create.interop.tables.only=true for interop tests
How to run the interop tests
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)
Startup JBoss cts config
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.
Run the interop tests as explained in the section above.
Stop J2EE RI ($J2EERI/bin asadmin.bat stop-domain)
How to run the csiv2 interop tests
Startup JBoss cts config and pointbase with pointbase initialized
Run $TS_HOME/bin/tsant.bat enable.csiv2 . This prepares tck for csiv2 tests and starts up RI.
Run the csiv2 tests as explained in the section above.
To disable csiv2 run $TS_HOME/bin/tsant.bat disable.csiv2
How to run the rmi-iiop tests
Startup JBoss cts config and pointbase with pointbase initialized
cd $TS_HOME/bin ; ./tsant start.rmiiiop.server to start the standalone RMI server
Run the RMI-IIOP tests as any other module
How to run the TCK with a different database
Edit -ds.xml inside j2eetck-mods/jboss-db/ with the connection parameters specific to the db you are using.
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
Clean j2eetck-mods. Run "ant clean" from j2eetck-mods folder
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.
-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.
Clean jboss cts config. $TS_HOME/bin/tsant.bat clean.vi
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.mssqlserver (mssql)
$TS_HOME/bin/tsant.bat init.db2 (db2-7.2, db2-8.0)
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.