[jboss-svn-commits] JBL Code SVN: r28051 - in labs/jbosstm/trunk/qa: ext and 2 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Jul 15 09:44:51 EDT 2009
Author: jhalliday
Date: 2009-07-15 09:44:51 -0400 (Wed, 15 Jul 2009)
New Revision: 28051
Added:
labs/jbosstm/trunk/qa/run-tests.xml
Removed:
labs/jbosstm/trunk/qa/build-dtfjunit.xml
labs/jbosstm/trunk/qa/ext/jdom.jar
labs/jbosstm/trunk/qa/ext/junit-4.5.jar
labs/jbosstm/trunk/qa/run-dtf-local.xml
labs/jbosstm/trunk/qa/tests/src/org/jboss/jbossts/qa/junit/XML2JUnit.java
labs/jbosstm/trunk/qa/testselections/
Modified:
labs/jbosstm/trunk/qa/README.txt
labs/jbosstm/trunk/qa/TaskImpl.properties
labs/jbosstm/trunk/qa/tests/build-jta.xml
labs/jbosstm/trunk/qa/tests/build-jts.xml
Log:
Remove last refs to DTF, update docs for the new junit method of running tests. JBTM-390
Modified: labs/jbosstm/trunk/qa/README.txt
===================================================================
--- labs/jbosstm/trunk/qa/README.txt 2009-07-15 13:09:03 UTC (rev 28050)
+++ labs/jbosstm/trunk/qa/README.txt 2009-07-15 13:44:51 UTC (rev 28051)
@@ -26,131 +26,44 @@
# $Id$
# @author jonathan.halliday at redhat.com, created 2007-02-08
-This is the JBossTS QA Testsuite, otherwise known as jbossts-qa and previously as ats-qa
-It provides the glue between JBossTS and the DTF, including product specific tests and configuration.
+This is the JBossTS QA Testsuite.
-As of April 2008, the DTF used to run these tests is open source. Thus the jbossts-qa test suite is
-likewise being moved to open source.
+JBossTS provides distributed transaction management. The tests in the QA suite exercise
+it using several processes (JVMs) for e.g. clients, servers and recovery processes. This
+differs from normal unit tests that run in a single JVM. In addition the QA tests can
+be long running, either because they do a lot of iterations for stress testing or because
+they include realtime waits for e.g. recovery process timeouts and such. Thus running the
+QA tests is a distinct step from running unit tests, which are an integral part of the build.
-For JBossTS 4.4 and later, the jbossts-qa test suite is in the JBossTS source repository directory qa/
-i.e. it's now considered part of the JBossTS project, not an independent entity.
-The DTF used to run it is at https://svn.jboss.org/repos/dtf/ (see http://labs.jboss.com/jbossdtf)
+From July 2009, JBossTS no longer uses the DTF framework for running QA tests. Instead the
+tests have been converted to junit4 and use a small scaffold to spawn the java processes
+as required. This allows better use of existing tool support e.g. junit ant integration, hudson.
-Earlier releases of JBossTS continue to use the closed source version of jbossts-qa, running under the
-closed source version of DTF. For JBoss staff only, these can be found on the intranet at
- https://svn.corp.jboss.com/repos/qa/jbossts/trunk/
- https://svn.corp.jboss.com/repos/dtf/trunk/
- https://wiki.corp.jboss.com/bin/view/IT/SystemServiceQaDtfEnvironment
+requires: jdk (1.6+), ant (1.7+), database drivers (for jdbc tests only, see build.xml)
-The live DTF environment used by JBoss to test JBossTS releases is not publicly accessible at present.
-We hope to expose this test environment read-only to the community in due course, allowing for viewing
-of our test results. Until then, users wishing to utilise DTF must install their own instance.
+build the product:
+ cd jbossts_checkout_from_svn; ant jts
+This will build the qa tests, although you can also do that manually with
+ cd qa; ant
-For JBoss staff wanting to access the internal servers, see the information at
- https://wiki.corp.jboss.com/bin/view/IT/SystemServiceQaDtfEnvironment
+The tests are executed by the run-tests.xml ant script. There are various test groups, see
+the script for an up to date list. For short(ish) smoke testing try
+ ant -f run-test.xml express
-To use this package, you need:
+This will test the product as built and placed in the ../install directory by the initial product build.
+The test framework runs in an environment defined by the run-tests.xml script, but the test tasks i.e.
+clients, servers etc, run in an environment dictated by the ./TaskImpl.properties file. Edit that file
+as required for your system e.g. location of desired jvm and such.
- The JDK, apache ant, (plus tomcat and mysql if running the DTF locally)
+To debug the test framework, see debug jvm arg in the run-test.xml junit-tests task.
+To debug spawned processes, edit TaskImpl.properties to set debug command line args.
- An installation of the Distributed Test Framework.
- If you don't already have access to one go fetch it from the URL abve:
- and follow the instructions in the DTF-Install-README.txt file.
- Note: build with Java 5 (export JAVA_HOME=... before running ant) if you want to run tests
- on a 5 JVM, or run the framework itself on 5. A Java 6 build won't run tests on Java 5.
-
- A build of the JBossTS, JTS edition to test. If you don't already have one then either:
- download a binary from http://labs.jboss.com/portal/jbosstm/downloads (get the 'full', not the 'jta' version)
- or
- svn co http://anonsvn.labs.jboss.com/labs/jbosstm/ and build with 'ant jts'
- Note: You need to build using Java 5 if you expect to test on that version of the JVM.
-
-TODO: idl compiler
-
- JDBC Database drivers for any database you want to test against (there are issues with redistributing
- the drivers for commercial dbs, hence they are not provided bundled with this project)
-
-TODO: check licencing on specific db drivers - can we check them into this project? It would make life easier...
-should be possible for the open source dbs at least, plus maybe others
-
-Now edit the build.xml file in this directory, setting the properties near the top to the locations of
-the various pre-requisites mentioned above. If you want to package an AS as part of the test suite
-then make sure that the JBOSS_HOME environment variable points to a valid JBoss distribution and
-set the ant property 'as' to true. When runing the tests ensure that the version of TestingFramework.jar used
-running the DTF is the same one that is checked into JBossTS.
-
-Create the directory config/jdbc_profiles/<name_of_testnode_host>/ by copying the existing
-config/jdbc_profiles/_template/ directory, one for each host on which a test node will run.
-Edit the JDBCProfiles file in the new director(y|ies), setting the database connection information.
+For jdbc tests, ensure the required drivers are present (see build.xml get.drivers target)
+and create a suitable config/jdbc_profiles/<name_of_testnode_host>/ file by copying the existing
+config/jdbc_profiles/_template/ directory or rely on the one in config/jdbc_profiles/default
By convention each test node has two accounts on each database server, with names of '<testnode_hostname>1'
and '<testnode_hostname>2'. This allows for testing of transactions with two resources. These accounts
need table creation privs plus the usual CRUD. The actual tables will be created automatically when the
tests run.
-Set the JAVA_HOME to the older version of Java you may want to run tests on..
-
-Run 'ant'. This target will build JTA/JTS version of the product if the JBossTS build was JTA/JTS.
-The builds generates a .zip file with the QA distribution, which contains the tests plus the product itself
-copied in from your installation above, plus the database drivers, plus some config files and a copy of
-the JBoss AS if built with 'ant -Das=true'.
-
-To deploy the built product QA distribution to the DTF:
-
- Edit the product configuration file config/JBossTS_JTS_JacORB_QA.xml to suit your DTF installation.
- Copy it to the testenv/services/products/ directory of the DTF installation.
-
- Edit the product installation file config/jbossts-jts-qa-install.xml to suit your DTF installation.
- Copy it to the appropriate directory on the DTF web server, typically webapps/dtf/productinstallers/
-
- (you can skip the two parts above if you just are redeploying a fresh build over an existing one)
-
- Copy the test package build/jbossts-jts-qa-distribution.zip to the appropriate directory
- on the DTF web server, typically webapps/dtf/productbuilds/
-
- Bind the product to the installer file using the DTF webapp Deployment menu
- (e.g. JBossTS_JTS_JacORB_QA -> http://.../dtf/productinstallers/jbossts-jts-qa-install.xml)
-
-You can now deploy the product to test nodes, define tests (files can be uploaded from the
-testdefs/ directory of this project) and run selections of them through the DTF web application.
-However, doing this by hand on a new DTF installation is tedious, so here is a rather hacky optional
-shortcut for those who have control over their own DTF installation and don't mind taking risks:
-
- Testdefs (what is involved in a test or group of tests e.g. client and server processes etc)
- and Test selections (which tests to run on which platforms) are stored in .xml files and also
- have entries in the DTF database. You can upload testdef files to the webapp, which creates the
- database entry for them automatically, including assigning them a sequence number. However, you
- can't do this with test selections files. Test selections are normally defined through the web
- interface, which creates both the .xml file and the database entry. These each contain reference to
- the sequence number of the corresponding testdefs. Since this number depends on the order in which
- the testdefs were installed, it may differ from one DTF instance to another. Thus to populate a
- DTF installation with pre-existing testdefs and testselections, you need to manipulate the database
- directly to ensure the correlation of sequence numbers. You'll probably be able to get away with this
- only if there are no existing testdefs or testselections in the database.
-
- The basic procedure is:
-
- Copy the files testdefs/*.xml to the DTF's webapps/dtf/producttests/ directory
- Copy the files testselections/*.xml to the DTF's webapps/dtf/producttests/ directory
- Run the config/load-jbossts-sql.sql file against the DTF database as the dtf user.
- Make appropriate ritual sacrifices, cross your fingers and restart the DTF.
-
- If you take this route, you then have the ability to use the config/run-tests.sh and config/run-qa.xml
- files to automate your test runs. The .xml file contains test selection file names, so it works
- only with the specific sequence numbers generated by the above steps, not any random DTF installation.
- You'll need to tweak the urls in these files to point to your DTF server.
-
-
-Addendum for running JTA rather than JTS QA:
-
- Read the JTS deployment stuff above first so you know what is going on, this section is very terse.
- You need to build or obtain the JBossTS JTA rather than JTS ('ant jta')
- Edit build.xml, set buildtype to jta (TODO: determine automatically from .jars in ts.home?)
- Edit config/JBossTS_JTA_QA.xml and copy to the server
- Edit config/jbossts-jta-qa-install.xml and copy to the server TODO
- copy build/jbossts-jta-qa-distribution.zip to the server
- Bind JBossTS_JTA_QA -> http://.../dtf/productinstallers/jbossts-jta-qa-install.xml
-
-
-Note: txoj tests require test classes from JBossTS that are not installed by default. try e.g.
- scp ArjunaCore/txoj/lib/tests/txoj_tests.jar /services/DTF/JBossTS-JTA-QA/lib/ext/
Modified: labs/jbosstm/trunk/qa/TaskImpl.properties
===================================================================
--- labs/jbosstm/trunk/qa/TaskImpl.properties 2009-07-15 13:09:03 UTC (rev 28050)
+++ labs/jbosstm/trunk/qa/TaskImpl.properties 2009-07-15 13:44:51 UTC (rev 28051)
@@ -1,14 +1,29 @@
-# command line elements for executing spawned java tasks
-#COMMAND_LINE_0=/usr/local/jdk1.5.0_15/bin/java
+#
+# TaskImpl.properties - a config file for the TaskImpl class which is responsible for spawning
+# processes (usually JVMs) for multi-process tests.
+# The command line used for the spawned JVM is composed by taking the COMMAND_LINE_X
+# properties in muleric order, starting at 0 and counting up until a property is found missing.
+# Care should be taken when renumbering - don't reuse the same number or miss any out!
+#
+# Location of the JVM to use. Should usually be jdk6. Tweak according to your machine.
+# Note: the version in svn should have the right value for the hudson server - don't check in you own!
#COMMAND_LINE_0=/usr/local/jdk1.6.0_14/bin/java
COMMAND_LINE_0=/usr/local/jdk1.6.0_11/bin/java
+#
COMMAND_LINE_1=-classpath
-
-##########
-## yeah I know it won't work on windows.
+#
+# The classpath consists (appox) of the JBossTS build (from its original home in 'install' - we no longer copy to
+# qa/build/) plus its bundled runtime dependencies, including jacorb, plus the qa tests jar, plus a dir in which the build
+# script places any requied db driver. Note the use of wildcards for this - don't expect it to work on jdk5.
+#
+# The effective properties file for JBossTS is the one in ../install/etc but not that later in this
+# file we use command line override of some properties.
+#
+## yeah I know it won't work on windows. - we either need another file or some clever internal munging. TODO.
COMMAND_LINE_2=../install/lib/jbossjts.jar:../install/lib/ext/jta-1_1-classes.zip:../install/lib/ext/connector-api.jar:../install/lib/ext/commons-logging-1.1.jar:../install/lib/ext/log4j-1.2.8.jar:../install/etc/:../install/jacorb/lib/idl.jar:../install/jacorb/lib/backport-util-concurrent.jar:../install/jacorb/lib/jacorb.jar:../install/jacorb/lib/antlr-2.7.2.jar:../install/jacorb/lib/picocontainer-1.2.jar:../install/jacorb/lib/logkit-1.2.jar:../install/jacorb/lib/wrapper-3.1.0.jar:../install/jacorb/lib/avalon-framework-4.1.5.jar:../install/jacorb/etc/:ext/fscontext.jar:ext/providerutil.jar:tests/build/jbossts-jts-qa.jar:dbdrivers/selected_dbdriver/*
-##########
-
+#
+# properties used by the tests or test framework:
+#
COMMAND_LINE_3=-Dqa.debug=true
COMMAND_LINE_4=-DContext.PROVIDER_URL=file:///tmp
COMMAND_LINE_5=-DContext.INITIAL_CONTEXT_FACTORY=com.sun.jndi.fscontext.RefFSContextFactory
@@ -16,17 +31,23 @@
COMMAND_LINE_7=-Djdbcprofilestore.dir=config/jdbc_profiles
COMMAND_LINE_8=-Dmemorytestprofilestore.dir=config/memory_profiles/
COMMAND_LINE_9=-Dots.server.bindname=value_1
-
-###########
+#
+# properties that modify the behaviour of the product being tested:
+#
COMMAND_LINE_10=-Dcom.arjuna.ats.arjuna.coordinator.maintainHeuristics=NO
COMMAND_LINE_11=-Dcom.arjuna.ats.arjuna.recovery.periodicRecoveryPeriod=10
COMMAND_LINE_12=-Dcom.arjuna.ats.arjuna.recovery.recoveryBackoffPeriod=5
-
+#
+# enable these to debug spawned processes. You may need to pause the test
+# framework in a debugger too, or it may spawn multiple procs on the same
+# debug port.
+#
#COMMAND_LINE_13=-Xdebug
#COMMAND_LINE_14=-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5006
#
-# task arg properties substitutions
+# task arg properties substitutions - you probably don't need to mess with these.
+# Read TaskImpl to understand how they work if you do.
ORBFLAGS_1=
ORBFLAGS_2=
1=value_1
Deleted: labs/jbosstm/trunk/qa/build-dtfjunit.xml
===================================================================
--- labs/jbosstm/trunk/qa/build-dtfjunit.xml 2009-07-15 13:09:03 UTC (rev 28050)
+++ labs/jbosstm/trunk/qa/build-dtfjunit.xml 2009-07-15 13:44:51 UTC (rev 28051)
@@ -1,251 +0,0 @@
-<!--
- JBoss, Home of Professional Open Source
- Copyright 2009, Red Hat Middleware LLC, and individual contributors
- as indicated by the @author tags.
- See the copyright.txt in the distribution for a
- full listing of individual contributors.
- This copyrighted material is made available to anyone wishing to use,
- modify, copy, or redistribute it subject to the terms and conditions
- of the GNU Lesser General Public License, v. 2.1.
- This program is distributed in the hope that it will be useful, but WITHOUT A
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- You should have received a copy of the GNU Lesser General Public License,
- v.2.1 along with this distribution; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- MA 02110-1301, USA.
-
- (C) 2009,
- @author JBoss Inc.
---><project name="dtfjunit" default="compile" basedir=".">
-
- <!--
- Build script for experimental JUnit4 version of local DTF.
-
- lifecycle:
-
- # build the JBossTS that's going to be tested
- cd jbossts; ant clean; ant jbossjts
- # build the normal DTF testsuite
- cd qa; ant clean; ant
- # build the JUnit test code
- ant -f build-dtfjunit.xml compile
- # generate the JUnit tests from testdef xml
- ant -f build-dtfjunit.xml generate
- # run the JUnit tests
- ant -f build-dtfjunit.xml runtests
-
- -->
-
- <property name="jbossts.home" value="../install"/>
-
- <property name="src" location="tests/src"/>
- <property name="build" location="tests/build/classes"/>
-
- <path id="build">
-
- <pathelement location="ext/junit-4.5.jar"/>
- <pathelement location="ext/jdom.jar"/>
-
- <fileset dir="${jbossts.home}/lib">
- <include name="*.jar"/>
- </fileset>
- <fileset dir="${jbossts.home}/lib/ext">
- <include name="*.jar"/>
- <include name="*.zip"/>
- </fileset>
- <pathelement location="${jbossts.home}/etc"/>
-
- <pathelement location="../ext/TestingFramework.jar"/>
- </path>
-
-
- <target name="compile" description="compile the source ">
- <javac srcdir="${src}" destdir="${build}" classpathref="build" debug="true" fork="true">
- <include name="**/junit/*.java"/>
- <include name="**/junit/testgroup/*.java"/>
-
- <!--<exclude name="**/junit/XML2JUnit.java"/>-->
- </javac>
- </target>
-
- <target name="compile-generated" description="compile the generated test source ">
- <javac srcdir="${src}" destdir="${build}" classpathref="build" debug="true" fork="true">
- <include name="**/junit/generated/*.java"/>
- </javac>
- </target>
-
- <target name="runtests" depends="compile-generated">
-
- <!--
- <antcall target="run-onegroup"><param name="tests" value="currenttests01"/></antcall>
- <antcall target="run-onegroup"><param name="tests" value="jtatests01"/></antcall>
- <antcall target="run-onegroup"><param name="tests" value="otsserver"/></antcall>
-
- <antcall target="run-onegroup"><param name="tests" value="rawresources01_1"/></antcall>
- <antcall target="run-onegroup"><param name="tests" value="rawresources01_2"/></antcall>
- <antcall target="run-onegroup"><param name="tests" value="rawresources01_3"/></antcall>
- <antcall target="run-onegroup"><param name="tests" value="rawresources02_1"/></antcall>
- <antcall target="run-onegroup"><param name="tests" value="rawresources02_2"/></antcall>
- <antcall target="run-onegroup"><param name="tests" value="rawresources02_3"/></antcall>
-
- <antcall target="run-onegroup"><param name="tests" value="rawsubtransactionawareresources01_1"/></antcall>
- <antcall target="run-onegroup"><param name="tests" value="rawsubtransactionawareresources01_2"/></antcall>
- <antcall target="run-onegroup"><param name="tests" value="rawsubtransactionawareresources01_3"/></antcall>
- <antcall target="run-onegroup"><param name="tests" value="rawsubtransactionawareresources02_1"/></antcall>
- <antcall target="run-onegroup"><param name="tests" value="rawsubtransactionawareresources02_2"/></antcall>
- <antcall target="run-onegroup"><param name="tests" value="rawsubtransactionawareresources02_3"/></antcall>
-
- <antcall target="run-onegroup"><param name="tests" value="crashrecovery01"/></antcall>
- <antcall target="run-onegroup"><param name="tests" value="crashrecovery02_1"/></antcall>
- <antcall target="run-onegroup"><param name="tests" value="crashrecovery03"/></antcall>
- <antcall target="run-onegroup"><param name="tests" value="crashrecovery04"/></antcall>
- <antcall target="run-onegroup"><param name="tests" value="crashrecovery05_1"/></antcall>
- <antcall target="run-onegroup"><param name="tests" value="crashrecovery06"/></antcall>
- <antcall target="run-onegroup"><param name="tests" value="crashrecovery07"/></antcall>
- -->
-
- <!-- cr12: failing 02, 03, 04 - remove terminate -->
- <!--<antcall target="run-onegroup"><param name="tests" value="crashrecovery12"/></antcall>-->
-
-<!--
- <antcall target="run-onegroup"><param name="tests" value="crashrecovery02_2"/></antcall>
- <antcall target="run-onegroup"><param name="tests" value="crashrecovery05_2"/></antcall>
- <antcall target="run-onegroup"><param name="tests" value="crashrecovery08"/></antcall>
--->
- <antcall target="run-onegroup"><param name="tests" value="jdbcresources01_oracle_thin_jndi"/></antcall>
- <!--
- <antcall target="run-onegroup"><param name="tests" value="jdbcresources02_oracle_thin_jndi"/></antcall>
- <antcall target="run-onegroup"><param name="tests" value="jdbcresources01_mssqlserver_jndi"/></antcall>
- <antcall target="run-onegroup"><param name="tests" value="jdbcresources02_mssqlserver_jndi"/></antcall>
- <antcall target="run-onegroup"><param name="tests" value="jdbcresources01_ibmdb2_jndi"/></antcall>
- <antcall target="run-onegroup"><param name="tests" value="jdbcresources02_ibmdb2_jndi"/></antcall>
- <antcall target="run-onegroup"><param name="tests" value="jdbcresources01_pgsql_jndi"/></antcall>
- <antcall target="run-onegroup"><param name="tests" value="jdbcresources02_pgsql_jndi"/></antcall>
- <antcall target="run-onegroup"><param name="tests" value="jdbcresources01_mysql_jndi"/></antcall>
- <antcall target="run-onegroup"><param name="tests" value="jdbcresources02_mysql_jndi"/></antcall>
- <antcall target="run-onegroup"><param name="tests" value="jdbcresources01_sybase_jndi"/></antcall>
- <antcall target="run-onegroup"><param name="tests" value="jdbcresources02_sybase_jndi"/></antcall>
--->
- </target>
-
-
- <target name="run-onegroup" depends="compile">
- <echo message="Running group ${tests}"/>
- <java classname="org.junit.runner.JUnitCore" fork="true">
- <classpath>
- <path refid="build"/>
- <pathelement location="${build}"/>
- <pathelement location="."/>
- </classpath>
- <!--<arg value="org.jboss.jbossts.qa.junit.generated.TestGroup_${tests}"/>-->
- <arg value="org.jboss.jbossts.qa.junit.testgroup.TestGroup_${tests}"/>
-
- <!--<jvmarg value="-Xdebug"/>-->
- <!--<jvmarg value="-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5006"/>-->
- </java>
- </target>
-
- <target name="generate" depends="compile">
-
- <delete dir="${src}/org/jboss/jbossts/qa/junit/generated"/>
- <mkdir dir="${src}/org/jboss/jbossts/qa/junit/generated"/>
-<!--
- <antcall target="run-generator"><param name="tests" value="currenttests01"/></antcall>
- <antcall target="run-generator"><param name="tests" value="jtatests01"/></antcall>
- <antcall target="run-generator"><param name="tests" value="otsserver"/></antcall>
- <antcall target="run-generator"><param name="tests" value="rawresources01_1"/></antcall>
- <antcall target="run-generator"><param name="tests" value="rawresources01_2"/></antcall>
- <antcall target="run-generator"><param name="tests" value="rawresources01_3"/></antcall>
- <antcall target="run-generator"><param name="tests" value="rawresources02_1"/></antcall>
- <antcall target="run-generator"><param name="tests" value="rawresources02_2"/></antcall>
- <antcall target="run-generator"><param name="tests" value="rawresources02_3"/></antcall>
- <antcall target="run-generator"><param name="tests" value="rawsubtransactionawareresources01_1"/></antcall>
- <antcall target="run-generator"><param name="tests" value="rawsubtransactionawareresources01_2"/></antcall>
- <antcall target="run-generator"><param name="tests" value="rawsubtransactionawareresources01_3"/></antcall>
- <antcall target="run-generator"><param name="tests" value="rawsubtransactionawareresources02_1"/></antcall>
- <antcall target="run-generator"><param name="tests" value="rawsubtransactionawareresources02_2"/></antcall>
- <antcall target="run-generator"><param name="tests" value="rawsubtransactionawareresources02_3"/></antcall>
- <antcall target="run-generator"><param name="tests" value="crashrecovery01"/></antcall>
- <antcall target="run-generator"><param name="tests" value="crashrecovery02_1"/></antcall>
- <antcall target="run-generator"><param name="tests" value="crashrecovery02_2"/></antcall>
- <antcall target="run-generator"><param name="tests" value="crashrecovery03"/></antcall>
- <antcall target="run-generator"><param name="tests" value="crashrecovery04"/></antcall>
- <antcall target="run-generator"><param name="tests" value="crashrecovery05_1"/></antcall>
- <antcall target="run-generator"><param name="tests" value="crashrecovery05_2"/></antcall>
- <antcall target="run-generator"><param name="tests" value="crashrecovery06"/></antcall>
- <antcall target="run-generator"><param name="tests" value="crashrecovery07"/></antcall>
- <antcall target="run-generator"><param name="tests" value="crashrecovery08"/></antcall>
- <antcall target="run-generator"><param name="tests" value="crashrecovery09"/></antcall>
- <antcall target="run-generator"><param name="tests" value="crashrecovery10"/></antcall>
- <antcall target="run-generator"><param name="tests" value="crashrecovery11-oracle_jndi"/></antcall>
- <antcall target="run-generator"><param name="tests" value="crashrecovery11-mssqlserver_jndi"/></antcall>
- <antcall target="run-generator"><param name="tests" value="crashrecovery11-ibmdb2_jndi"/></antcall>
- <antcall target="run-generator"><param name="tests" value="crashrecovery11-pgsql_jndi"/></antcall>
- <antcall target="run-generator"><param name="tests" value="crashrecovery11-mysql_jndi"/></antcall>
- <antcall target="run-generator"><param name="tests" value="crashrecovery11-sybase_jndi"/></antcall>
- <antcall target="run-generator"><param name="tests" value="crashrecovery12"/></antcall>
- <antcall target="run-generator"><param name="tests" value="jdbcresources01-oracle_thin_jndi"/></antcall>
- <antcall target="run-generator"><param name="tests" value="jdbcresources02-oracle_thin_jndi"/></antcall>
- <antcall target="run-generator"><param name="tests" value="jdbcresources01_mssqlserver_jndi"/></antcall>
- <antcall target="run-generator"><param name="tests" value="jdbcresources02_mssqlserver_jndi"/></antcall>
- <antcall target="run-generator"><param name="tests" value="jdbcresources01-ibmdb2_jndi"/></antcall>
- <antcall target="run-generator"><param name="tests" value="jdbcresources02-ibmdb2_jndi"/></antcall>
- <antcall target="run-generator"><param name="tests" value="jdbcresources01-pgsql_jndi"/></antcall>
- <antcall target="run-generator"><param name="tests" value="jdbcresources02-pgsql_jndi"/></antcall>
- <antcall target="run-generator"><param name="tests" value="jdbcresources01-mysql_jndi"/></antcall>
- <antcall target="run-generator"><param name="tests" value="jdbcresources02-mysql_jndi"/></antcall>
- <antcall target="run-generator"><param name="tests" value="jdbcresources01-sybase_jndi"/></antcall>
- <antcall target="run-generator"><param name="tests" value="jdbcresources02-sybase_jndi"/></antcall>
- <antcall target="run-generator"><param name="tests" value="jdbclocals01-oracle_jndi"/></antcall>
- <antcall target="run-generator"><param name="tests" value="jdbclocals01-mssql_jndi"/></antcall>
- <antcall target="run-generator"><param name="tests" value="jdbclocals01-ibmdb2_jndi"/></antcall>
- <antcall target="run-generator"><param name="tests" value="jdbclocals01-pgsql_jndi"/></antcall>
- <antcall target="run-generator"><param name="tests" value="jdbclocals01-mysql_jndi"/></antcall>
- <antcall target="run-generator"><param name="tests" value="jdbclocals01-sybase_jndi"/></antcall>
-
-
- <antcall target="run-generator"><param name="tests" value="txoj"/></antcall>
- <antcall target="run-generator"><param name="tests" value="txcore"/></antcall>
- <antcall target="run-generator"><param name="tests" value="ait01_otstransactionmanager"/></antcall>
- <antcall target="run-generator"><param name="tests" value="aitresources01"/></antcall>
-
- <antcall target="run-generator"><param name="tests" value="jdbcresources03-oracle_thin_jndi"/></antcall>
- <antcall target="run-generator"><param name="tests" value="jdbcresources04-oracle_thin_jndi"/></antcall>
-
- <antcall target="run-generator"><param name="tests" value="otsserver-timeout"/></antcall>
-
- <antcall target="run-generator"><param name="tests" value="perfprofile01_e"/></antcall>
- <antcall target="run-generator"><param name="tests" value="perfprofile01_i"/></antcall>
- <antcall target="run-generator"><param name="tests" value="perfprofileio"/></antcall>
- <antcall target="run-generator"><param name="tests" value="crashrecovery13"/></antcall>
-
--->
-
- <!--<antcall target="run-generator"><param name="tests" value="performance"/></antcall> -->
- <!--<antcall target="run-generator"><param name="tests" value="as-crashrecovery01"/></antcall>-->
-
- </target>
-
-
- <target name="run-generator">
-
- <echo message="Processing ${tests}"/>
-
- <java classname="org.jboss.jbossts.qa.junit.XML2JUnit" fork="true">
- <classpath>
- <path refid="build"/>
- <pathelement location="${build}"/>
- </classpath>
- <arg value="testdefs/jbossts-qa-${tests}-testdefs.xml"/>
- <arg value="${src}/org/jboss/jbossts/qa/junit/generated"/>
-
- <jvmarg value="-Xdebug"/>
- <jvmarg value="-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5006"/>
-
- </java>
-
- <echo message="Done test group ${tests}"/>
- </target>
-
-</project>
\ No newline at end of file
Deleted: labs/jbosstm/trunk/qa/ext/jdom.jar
===================================================================
(Binary files differ)
Deleted: labs/jbosstm/trunk/qa/ext/junit-4.5.jar
===================================================================
(Binary files differ)
Deleted: labs/jbosstm/trunk/qa/run-dtf-local.xml
===================================================================
--- labs/jbosstm/trunk/qa/run-dtf-local.xml 2009-07-15 13:09:03 UTC (rev 28050)
+++ labs/jbosstm/trunk/qa/run-dtf-local.xml 2009-07-15 13:44:51 UTC (rev 28051)
@@ -1,409 +0,0 @@
-<!--
- JBoss, Home of Professional Open Source
- Copyright 2008, Red Hat Middleware LLC, and individual contributors
- as indicated by the @author tags.
- See the copyright.txt in the distribution for a
- full listing of individual contributors.
- This copyrighted material is made available to anyone wishing to use,
- modify, copy, or redistribute it subject to the terms and conditions
- of the GNU Lesser General Public License, v. 2.1.
- This program is distributed in the hope that it will be useful, but WITHOUT A
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- You should have received a copy of the GNU Lesser General Public License,
- v.2.1 along with this distribution; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- MA 02110-1301, USA.
-
- (C) 2008,
- @author JBoss Inc.
--->
-
-<!--
- Ant build script for running DTF tests locally using the new lightweight test runner (JIRA DTF-4).
- Does not need tomcat, mysql or any DTF server processes running.
-
- For JBossTS JTS builds.
-
- 1) Run the top level JBossTS ant build: ant jts
- 2) Run the qa build: cd qa; ant
- 2) Run the tests: ant -f run-dtf-local.xml
-
- For general tests plus JDBC (e.g. use on hudson):
- cd qa
- ant get.drivers dist
- ant -f run-dtf-local.xml junit junit-jdbc
-
- Paths are relative to the JVM's working dir - don't expect to be able to execute this from anywhere but 'qa'.
-
--->
-<project name="Local DTF Test for JBossTS" default="junit" basedir=".">
-
- <property name="working.dir" location="build"/>
-
- <path id="tests.classpath">
- <pathelement location="${working.dir}/qa/lib/TestingFramework.jar"/>
- <pathelement location="../ext/junit.jar"/>
- <pathelement location="ext/jdom.jar"/>
- </path>
-
- <!-- a faster subset of the tests for smoke testing. aim to keep to under one hour total. -->
- <target name="express">
-
- <!-- currenttests01 : 36 tests, 3 minutes -->
- <antcall target="junit-tests"><param name="tests" value="currenttests01"/></antcall>
- <!-- jtatests01 : 6 tests, 1 minute -->
- <antcall target="junit-tests"><param name="tests" value="jtatests01"/></antcall>
- <!-- otsserver : 20 tests, 7 minutes -->
- <antcall target="junit-tests"><param name="tests" value="otsserver"/></antcall>
-
- <!-- rawresources01_1 : 6 tests, 1 minute -->
- <antcall target="junit-tests"><param name="tests" value="rawresources01_1"/></antcall>
- <!-- rawresources02_1 : 6 tests, 1 minute -->
- <antcall target="junit-tests"><param name="tests" value="rawresources02_1"/></antcall>
- <!-- rawsubtransactionawareresources01_1 : 6 tests, 1 minute -->
- <antcall target="junit-tests"><param name="tests" value="rawsubtransactionawareresources01_1"/></antcall>
- <!-- rawsubtransactionawareresources02_1 : 6 tests, 1 minute -->
- <antcall target="junit-tests"><param name="tests" value="rawsubtransactionawareresources02_1"/></antcall>
-
- <!-- crashrecovery01 : 24 tests, 6 minutes -->
- <antcall target="junit-tests"><param name="tests" value="crashrecovery01"/></antcall>
- <!-- crashrecovery02_1 : 5 tests, 6 minutes -->
- <antcall target="junit-tests"><param name="tests" value="crashrecovery02_1"/></antcall>
- <!-- crashrecovery03 : 1 tests, 1 minute -->
- <antcall target="junit-tests"><param name="tests" value="crashrecovery03"/></antcall>
- <!-- crashrecovery06 : 2 tests, 1 minute -->
- <antcall target="junit-tests"><param name="tests" value="crashrecovery06"/></antcall>
- <!-- crashrecovery12 : 7 tests, 5 minutes -->
- <antcall target="junit-tests"><param name="tests" value="crashrecovery12"/></antcall>
-
- </target>
-
- <!-- General tests.
- Some groups take a really long time and are disabled by default.
- The remaining tests should take a combined time of around 4hrs or so.
- -->
- <target name="junit">
-
- <!-- currenttests01 : 36 tests, 3 minutes -->
- <antcall target="junit-tests"><param name="tests" value="currenttests01"/></antcall>
- <!-- jtatests01 : 6 tests, 1 minute -->
- <antcall target="junit-tests"><param name="tests" value="jtatests01"/></antcall>
- <!-- otsserver : 20 tests, 7 minutes -->
- <antcall target="junit-tests"><param name="tests" value="otsserver"/></antcall>
-
- <!-- rawresources01_1 : 6 tests, 1 minute -->
- <antcall target="junit-tests"><param name="tests" value="rawresources01_1"/></antcall>
- <!-- rawresources01_2 : 294 tests, 30 minutes -->
- <antcall target="junit-tests"><param name="tests" value="rawresources01_2"/></antcall>
- <!-- rawresources01_3 : 150 tests, 15 minutes -->
- <antcall target="junit-tests"><param name="tests" value="rawresources01_3"/></antcall>
- <!-- rawresources02_1 : 6 tests, 1 minute -->
- <antcall target="junit-tests"><param name="tests" value="rawresources02_1"/></antcall>
- <!-- rawresources02_2 : 294 tests, 30 minutes -->
- <antcall target="junit-tests"><param name="tests" value="rawresources02_2"/></antcall>
- <!-- rawresources02_3 : 150 tests, 15 minutes -->
- <antcall target="junit-tests"><param name="tests" value="rawresources02_3"/></antcall>
-
- <!-- rawsubtransactionawareresources01_1 : 6 tests, 1 minute -->
- <antcall target="junit-tests"><param name="tests" value="rawsubtransactionawareresources01_1"/></antcall>
- <!-- rawsubtransactionawareresources01_2 : 10 tests, 1 minute -->
- <antcall target="junit-tests"><param name="tests" value="rawsubtransactionawareresources01_2"/></antcall>
- <!-- rawsubtransactionawareresources01_3 : 25 tests, 3 minutes -->
- <antcall target="junit-tests"><param name="tests" value="rawsubtransactionawareresources01_3"/></antcall>
- <!-- rawsubtransactionawareresources02_1 : 6 tests, 1 minute -->
- <antcall target="junit-tests"><param name="tests" value="rawsubtransactionawareresources02_1"/></antcall>
- <!-- rawsubtransactionawareresources02_2 : 10 tests, 1 minute -->
- <antcall target="junit-tests"><param name="tests" value="rawsubtransactionawareresources02_2"/></antcall>
- <!-- rawsubtransactionawareresources02_3 : 25 tests, 3 minutes -->
- <antcall target="junit-tests"><param name="tests" value="rawsubtransactionawareresources02_3"/></antcall>
-
- <!-- crashrecovery01 : 24 tests, 6 minutes -->
- <antcall target="junit-tests"><param name="tests" value="crashrecovery01"/></antcall>
- <!-- crashrecovery02_1 : 5 tests, 6 minutes -->
- <antcall target="junit-tests"><param name="tests" value="crashrecovery02_1"/></antcall>
- <!-- crashrecovery02_2 : 50 tests, 60 minutes -->
- <!-- <antcall target="junit-tests"><param name="tests" value="crashrecovery02_2"/></antcall> -->
- <!-- crashrecovery03 : 1 tests, 1 minute -->
- <antcall target="junit-tests"><param name="tests" value="crashrecovery03"/></antcall>
- <!-- crashrecovery04 : 48 tests, 11 minutes -->
- <antcall target="junit-tests"><param name="tests" value="crashrecovery04"/></antcall>
- <!-- crashrecovery05_1 : 10 tests, 12 minutes -->
- <antcall target="junit-tests"><param name="tests" value="crashrecovery05_1"/></antcall>
- <!-- crashrecovery05_2 : 100 tests, 122 minutes -->
- <!-- <antcall target="junit-tests"><param name="tests" value="crashrecovery05_2"/></antcall> -->
- <!-- crashrecovery06 : 2 tests, 1 minute -->
- <antcall target="junit-tests"><param name="tests" value="crashrecovery06"/></antcall>
- <!-- crashrecovery07 : 16 tests, 87 minutes -->
- <antcall target="junit-tests"><param name="tests" value="crashrecovery07"/></antcall>
- <!-- crashrecovery08 : 32 tests, 228 minutes -->
- <!-- <antcall target="junit-tests"><param name="tests" value="crashrecovery08"/></antcall> -->
- <!-- crashrecovery09 : 6 tests, 7 minutes -->
- <antcall target="junit-tests"><param name="tests" value="crashrecovery09"/></antcall>
- <!-- crashrecovery10 : 6 tests, 7 minutes -->
- <antcall target="junit-tests"><param name="tests" value="crashrecovery10"/></antcall>
- <!-- crashrecovery12 : 7 tests, 5 minutes -->
- <antcall target="junit-tests"><param name="tests" value="crashrecovery12"/></antcall>
-
- </target>
-
- <!-- long running crash rec test groups (the ones disabled in the 'junit' target) -->
- <target name="junit-longer">
- <antcall target="junit-tests"><param name="tests" value="crashrecovery02_2"/></antcall>
- <antcall target="junit-tests"><param name="tests" value="crashrecovery05_2"/></antcall>
- <antcall target="junit-tests"><param name="tests" value="crashrecovery08"/></antcall>
- </target>
-
- <!-- copy the selected db driver out of the available set into the classpath.
- Drivers are placed into the pool by build.xml and into the classpath by config/<product>.xml
- -->
- <target name="install-dbdriver">
- <delete dir="dbdrivers/selected_dbdriver"/>
- <mkdir dir="dbdrivers/selected_dbdriver"/>
- <copy todir="dbdrivers/selected_dbdriver" flatten="true">
- <fileset dir="dbdrivers/" includes="**/${files}"/>
- </copy>
- </target>
-
- <!-- JDBC tests.
- You'll need a qa/config/jdbc_profiles/<hostname>/JDBCProfiles file for your machine to run these ones,
- although using the 'default' one is also an option.
- Plus copies of the db drivers of course (try 'ant get.drivers' if inside the redhat network).
- And a set of servers to run against. Did I mention it was complicated :-)
- -->
- <target name="junit-jdbc">
-
- <antcall target="install-dbdriver"><param name="files" value="ojdbc14.jar"/></antcall>
- <antcall target="junit-tests"><param name="tests" value="jdbcresources01_oracle_thin_jndi"/></antcall>
- <antcall target="junit-tests"><param name="tests" value="jdbcresources02_oracle_thin_jndi"/></antcall>
-
- <!-- mssql needs different .jar for jdk 1.5 vs. 1.6 runtime -->
- <condition property="mssql.driver" value="sqljdbc4.jar">
- <equals arg1="${java.specification.version}" arg2="1.6"/>
- </condition>
- <property name="mssql.driver" value="sqljdbc.jar"/>
- <antcall target="install-dbdriver"><param name="files" value="${mssql.driver}"/></antcall>
- <antcall target="junit-tests"><param name="tests" value="jdbcresources01_mssqlserver_jndi"/></antcall>
- <antcall target="junit-tests"><param name="tests" value="jdbcresources02_mssqlserver_jndi"/></antcall>
-
- <antcall target="install-dbdriver"><param name="files" value="db2*"/></antcall>
- <antcall target="junit-tests"><param name="tests" value="jdbcresources01_ibmdb2_jndi"/></antcall>
- <antcall target="junit-tests"><param name="tests" value="jdbcresources02_ibmdb2_jndi"/></antcall>
-
- <antcall target="install-dbdriver"><param name="files" value="postgresql-8.3-603.jdbc3.jar"/></antcall>
- <antcall target="junit-tests"><param name="tests" value="jdbcresources01_pgsql_jndi"/></antcall>
- <antcall target="junit-tests"><param name="tests" value="jdbcresources02_pgsql_jndi"/></antcall>
-
- <antcall target="install-dbdriver"><param name="files" value="mysql-connector-java-5.1.7-bin.jar"/></antcall>
- <antcall target="junit-tests"><param name="tests" value="jdbcresources01_mysql_jndi"/></antcall>
- <antcall target="junit-tests"><param name="tests" value="jdbcresources02_mysql_jndi"/></antcall>
-
- <antcall target="install-dbdriver"><param name="files" value="jconn3.jar"/></antcall>
- <antcall target="junit-tests"><param name="tests" value="jdbcresources01_sybase_jndi"/></antcall>
- <antcall target="junit-tests"><param name="tests" value="jdbcresources02_sybase_jndi"/></antcall>
-
- </target>
-
- <target name="junit-jdbc-crachrec">
- <!-- crashrecovery11 : jdbc resource crash recovery tests. 4 tests, 4 minutes per db -->
-
- <antcall target="install-dbdriver"><param name="files" value="ojdbc14.jar"/></antcall>
- <antcall target="junit-tests"><param name="tests" value="crashrecovery11-oracle_jndi"/></antcall>
-
- <!--mssql needs different .jar for jdk 1.5 vs. 1.6 runtime -->
- <condition property="mssql.driver" value="sqljdbc4.jar">
- <equals arg1="${java.specification.version}" arg2="1.6"/>
- </condition>
- <property name="mssql.driver" value="sqljdbc.jar"/>
- <antcall target="install-dbdriver"><param name="files" value="${mssql.driver}"/></antcall>
- <antcall target="junit-tests"><param name="tests" value="crashrecovery11-mssqlserver_jndi"/></antcall>
-
- <antcall target="install-dbdriver"><param name="files" value="db2*"/></antcall>
- <antcall target="junit-tests"><param name="tests" value="crashrecovery11-ibmdb2_jndi"/></antcall>
-
- <antcall target="install-dbdriver"><param name="files" value="postgresql-8.3-603.jdbc3.jar"/></antcall>
- <antcall target="junit-tests"><param name="tests" value="crashrecovery11-pgsql_jndi"/></antcall>
-
- <antcall target="install-dbdriver"><param name="files" value="mysql-connector-java-5.1.7-bin.jar"/></antcall>
- <antcall target="junit-tests"><param name="tests" value="crashrecovery11-mysql_jndi"/></antcall>
-
- <antcall target="install-dbdriver"><param name="files" value="jconn3.jar"/></antcall>
- <antcall target="junit-tests"><param name="tests" value="crashrecovery11-sybase_jndi"/></antcall>
-
- </target>
-
- <target name="jta">
- <property name="use_jta_mode" value="true"/>
-
- <!-- txcore: 352 tests, 3.5 hrs
- Some memory tests fail, see JBTM-555 -->
- <!-- <antcall target="junit-tests"><param name="tests" value="txcore"/></antcall> -->
-
- <!-- jtatest01 : 6 tests, minute-->
- <antcall target="junit-tests"><param name="tests" value="jtatests01"/></antcall>
-
- <!-- jdbclocals01 : 6 tests, 2 minutes for each db -->
-
- <antcall target="install-dbdriver"><param name="files" value="ojdbc14.jar"/></antcall>
- <antcall target="junit-tests"><param name="tests" value="jdbclocals01-oracle_jndi"/></antcall>
-
- <!-- mssql needs different .jar for jdk 1.5 vs. 1.6 runtime -->
- <condition property="mssql.driver" value="sqljdbc4.jar">
- <equals arg1="${java.specification.version}" arg2="1.6"/>
- </condition>
- <property name="mssql.driver" value="sqljdbc.jar"/>
- <antcall target="install-dbdriver"><param name="files" value="${mssql.driver}"/></antcall>
- <antcall target="junit-tests"><param name="tests" value="jdbclocals01-mssql_jndi"/></antcall>
-
- <antcall target="install-dbdriver"><param name="files" value="db2*"/></antcall>
- <antcall target="junit-tests"><param name="tests" value="jdbclocals01-ibmdb2_jndi"/></antcall>
-
- <antcall target="install-dbdriver"><param name="files" value="postgresql-8.3-603.jdbc3.jar"/></antcall>
- <antcall target="junit-tests"><param name="tests" value="jdbclocals01-pgsql_jndi"/></antcall>
-
- <antcall target="install-dbdriver"><param name="files" value="mysql-connector-java-5.1.7-bin.jar"/></antcall>
- <antcall target="junit-tests"><param name="tests" value="jdbclocals01-mysql_jndi"/></antcall>
-
- <antcall target="install-dbdriver"><param name="files" value="jconn3.jar"/></antcall>
- <antcall target="junit-tests"><param name="tests" value="jdbclocals01-sybase_jndi"/></antcall>
-
- </target>
-
- <!-- ##################################### -->
-
- <target name="junit-tests">
-
- <echo message="Running junit test group ${tests} from basedir=${basedir}"/>
-
- <java classname="org.junit.runner.JUnitCore" fork="true">
- <classpath>
-
- <pathelement location="../ext/junit-4.6.jar"/>
-
- <fileset dir="tests/build">
- <include name="jbossts-*-qa.jar"/>
- </fileset>
-
- <fileset dir="../install/lib">
- <include name="*.jar"/>
- </fileset>
- <fileset dir="../install/lib/ext">
- <include name="*.jar"/>
- <include name="*.zip"/>
- </fileset>
- <pathelement location="../install/etc"/>
-
-
- </classpath>
-
- <arg value="org.jboss.jbossts.qa.junit.testgroup.TestGroup_${tests}"/>
-
- <!--<jvmarg value="-Xdebug"/>-->
- <!--<jvmarg value="-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5006"/>-->
- </java>
- </target>
-
- <!-- ##################################### -->
-
- <target name="junit-tests-old">
-
- <echo message="Running test group ${tests} from basedir=${basedir}"/>
-
- <!-- by default we run in JTS config. Override by setting this property
- before antcalling the test target -->
- <property name="use_jta_mode" value="false"/>
- <condition property="product_file" value="JBossTS_JTA_QA.xml">
- <istrue value="${use_jta_mode}"/>
- </condition>
- <property name="product_file" value="JBossTS_JTS_JacORB_QA.xml"/>
-
- <echo message="Running with config ${product_file}"/>
-
- <!-- this runs forked because the product config file it uses has relative paths in it, so we need to guarantee
- the working dir is the same as the location of this script.
- TODO: investigate why it needs such a large memory footprint. I suspect it's buffering
- the entire stdout, which is big for longer runs as DTF tends to be rather verbose.
- But with 10MB of stdout based on text file size, junit needs >128MB of memory???
- Stopping the buffering would be nice anyhow, as it stands we don't see any output in the file
- until the tests are all done, which makes following progress a bit of a problem. -->
- <junit printsummary="yes" haltonfailure="yes" fork="true" dir="${basedir}" maxmemory="192m">
- <classpath>
- <path refid="tests.classpath"/>
- </classpath>
-
- <formatter type="plain"/>
-
- <sysproperty key="testdefsFile" value="${basedir}/testdefs/jbossts-qa-${tests}-testdefs.xml"/>
- <sysproperty key="productConfigFile" value="${basedir}/config/${product_file}"/>
- <sysproperty key="testnodeConfigFile" value="${basedir}/config/nodeconfig.xml"/>
- <sysproperty key="testnamePattern" value=".*"/>
-
- <test name="org.jboss.dtf.testframework.local.JUnitTestSuite" outfile="jbossts-qa-${tests}-output"/>
-
- </junit>
-
- <echo message="Done test group ${tests}"/>
- </target>
-
- <target name="performance">
- <!-- caution: perf tests are essentially regression tests and are only meaningful
- if used with the same hardware (profile) and config between runs. -->
-
- <!-- perfprofileio : 18 tests, 9 minutes -->
- <antcall target="junit-tests"><param name="tests" value="perfprofileio"/></antcall>
- <!-- perfprofile01_i (JTS implicit) : 25 tests, 31 minutes -->
- <antcall target="junit-tests"><param name="tests" value="perfprofile01_i"/></antcall>
- <!-- perfprofile01_e (JTS explicit) : 25 tests, 35 minutes -->
- <antcall target="junit-tests"><param name="tests" value="perfprofile01_e"/></antcall>
- </target>
-
-
-
- <target name="scratch">
-
- <antcall target="install-dbdriver"><param name="files" value="ojdbc14.jar"/></antcall>
- <antcall target="junit-tests"><param name="tests" value="jdbcresources01_oracle_thin_jndi"/></antcall>
-
- </target>
-
-<!--
- unused examples of other approaches to running tests:
-
- <target name="run2">
- <java classname="org.jboss.dtf.testframework.local.JUnitTestSuite" fork="true">
- <classpath>
- <path refid="tests.classpath"/>
- </classpath>
-
- <arg value="./testdefs/jbossts-qa-txcore-testdefs.xml"/>
- <arg value="config/JBossTS_JTS_JacORB_QA.xml"/>
- <arg value="config/nodeconfig.xml-local"/>
- <arg value=".*"/>
-
- <jvmarg value="-Xdebug"/>
- <jvmarg value="-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"/>
-
- </java>
- </target>
-
- <target name="run">
- <antcall target="run-tests"><param name="testdefs.filename" value="jbossts-qa-txcore-testdefs.xml"/></antcall>
- </target>
-
- <target name="run-tests">
- <java classname="org.jboss.dtf.testframework.local.LocalTestManager" fork="true">
- <classpath>
- <path refid="tests.classpath"/>
- <pathelement location="/usr/local/javastuff/jdom-1.1/lib/xerces.jar"/>
- </classpath>
- <arg value="file:///home/jhalli/IdeaProjects/jboss/jbossts_trunk/qa/testdefs/${testdefs.filename}"/>
- <arg value="/home/jhalli/IdeaProjects/jboss/jbossts_trunk/qa/config/JBossTS_JTS_JacORB_QA.xml"/>
- <arg value="file:///home/jhalli/IdeaProjects/jboss/jbossts_trunk/qa/config/nodeconfig.xml"/>
-
- <jvmarg value="-Xdebug"/>
- <jvmarg value="-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"/>
-
- </java>
- </target>
--->
-</project>
Copied: labs/jbosstm/trunk/qa/run-tests.xml (from rev 28048, labs/jbosstm/trunk/qa/run-dtf-local.xml)
===================================================================
--- labs/jbosstm/trunk/qa/run-tests.xml (rev 0)
+++ labs/jbosstm/trunk/qa/run-tests.xml 2009-07-15 13:44:51 UTC (rev 28051)
@@ -0,0 +1,391 @@
+<!--
+ JBoss, Home of Professional Open Source
+ Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ as indicated by the @author tags.
+ See the copyright.txt in the distribution for a
+ full listing of individual contributors.
+ This copyrighted material is made available to anyone wishing to use,
+ modify, copy, or redistribute it subject to the terms and conditions
+ of the GNU Lesser General Public License, v. 2.1.
+ This program is distributed in the hope that it will be useful, but WITHOUT A
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ You should have received a copy of the GNU Lesser General Public License,
+ v.2.1 along with this distribution; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ MA 02110-1301, USA.
+
+ (C) 2008,
+ @author JBoss Inc.
+-->
+
+<!--
+ Ant build script for running QA tests using junit.
+
+ For JBossTS JTS builds.
+
+ 1) Run the top level JBossTS ant build: ant jts
+ 2) Run the tests: ant -f run-tests.xml
+
+ For general tests plus JDBC (e.g. use on hudson):
+ cd qa
+ ant get.drivers dist
+ ant -f run-dtf-local.xml junit junit-jdbc
+
+ Paths are relative to the JVM's working dir - don't expect to be able to execute this from anywhere but 'qa'.
+
+-->
+<project name="QA Tests for JBossTS" default="junit" basedir=".">
+
+ <property name="working.dir" location="build"/>
+
+ <!-- handy utility space where you can copy one or more test groups if you want to run something ah-hoc -->
+ <target name="scratch">
+
+ <antcall target="install-dbdriver"><param name="files" value="ojdbc14.jar"/></antcall>
+ <antcall target="junit-tests"><param name="tests" value="jdbcresources01_oracle_thin_jndi"/></antcall>
+
+ </target>
+
+ <!-- a faster subset of the tests for smoke testing. aim to keep to under one hour total. -->
+ <target name="express">
+
+ <!-- currenttests01 : 36 tests, 3 minutes -->
+ <antcall target="junit-tests"><param name="tests" value="currenttests01"/></antcall>
+ <!-- jtatests01 : 6 tests, 1 minute -->
+ <antcall target="junit-tests"><param name="tests" value="jtatests01"/></antcall>
+ <!-- otsserver : 20 tests, 7 minutes -->
+ <antcall target="junit-tests"><param name="tests" value="otsserver"/></antcall>
+
+ <!-- rawresources01_1 : 6 tests, 1 minute -->
+ <antcall target="junit-tests"><param name="tests" value="rawresources01_1"/></antcall>
+ <!-- rawresources02_1 : 6 tests, 1 minute -->
+ <antcall target="junit-tests"><param name="tests" value="rawresources02_1"/></antcall>
+ <!-- rawsubtransactionawareresources01_1 : 6 tests, 1 minute -->
+ <antcall target="junit-tests"><param name="tests" value="rawsubtransactionawareresources01_1"/></antcall>
+ <!-- rawsubtransactionawareresources02_1 : 6 tests, 1 minute -->
+ <antcall target="junit-tests"><param name="tests" value="rawsubtransactionawareresources02_1"/></antcall>
+
+ <!-- crashrecovery01 : 24 tests, 6 minutes -->
+ <antcall target="junit-tests"><param name="tests" value="crashrecovery01"/></antcall>
+ <!-- crashrecovery02_1 : 5 tests, 6 minutes -->
+ <antcall target="junit-tests"><param name="tests" value="crashrecovery02_1"/></antcall>
+ <!-- crashrecovery03 : 1 tests, 1 minute -->
+ <antcall target="junit-tests"><param name="tests" value="crashrecovery03"/></antcall>
+ <!-- crashrecovery06 : 2 tests, 1 minute -->
+ <antcall target="junit-tests"><param name="tests" value="crashrecovery06"/></antcall>
+ <!-- crashrecovery12 : 7 tests, 5 minutes -->
+ <antcall target="junit-tests"><param name="tests" value="crashrecovery12"/></antcall>
+
+ </target>
+
+ <!-- General tests.
+ Some groups take a really long time and are disabled by default.
+ The remaining tests should take a combined time of around 4hrs or so.
+ -->
+ <target name="junit">
+
+ <!-- currenttests01 : 36 tests, 3 minutes -->
+ <antcall target="junit-tests"><param name="tests" value="currenttests01"/></antcall>
+ <!-- jtatests01 : 6 tests, 1 minute -->
+ <antcall target="junit-tests"><param name="tests" value="jtatests01"/></antcall>
+ <!-- otsserver : 20 tests, 7 minutes -->
+ <antcall target="junit-tests"><param name="tests" value="otsserver"/></antcall>
+
+ <!-- rawresources01_1 : 6 tests, 1 minute -->
+ <antcall target="junit-tests"><param name="tests" value="rawresources01_1"/></antcall>
+ <!-- rawresources01_2 : 294 tests, 30 minutes -->
+ <antcall target="junit-tests"><param name="tests" value="rawresources01_2"/></antcall>
+ <!-- rawresources01_3 : 150 tests, 15 minutes -->
+ <antcall target="junit-tests"><param name="tests" value="rawresources01_3"/></antcall>
+ <!-- rawresources02_1 : 6 tests, 1 minute -->
+ <antcall target="junit-tests"><param name="tests" value="rawresources02_1"/></antcall>
+ <!-- rawresources02_2 : 294 tests, 30 minutes -->
+ <antcall target="junit-tests"><param name="tests" value="rawresources02_2"/></antcall>
+ <!-- rawresources02_3 : 150 tests, 15 minutes -->
+ <antcall target="junit-tests"><param name="tests" value="rawresources02_3"/></antcall>
+
+ <!-- rawsubtransactionawareresources01_1 : 6 tests, 1 minute -->
+ <antcall target="junit-tests"><param name="tests" value="rawsubtransactionawareresources01_1"/></antcall>
+ <!-- rawsubtransactionawareresources01_2 : 10 tests, 1 minute -->
+ <antcall target="junit-tests"><param name="tests" value="rawsubtransactionawareresources01_2"/></antcall>
+ <!-- rawsubtransactionawareresources01_3 : 25 tests, 3 minutes -->
+ <antcall target="junit-tests"><param name="tests" value="rawsubtransactionawareresources01_3"/></antcall>
+ <!-- rawsubtransactionawareresources02_1 : 6 tests, 1 minute -->
+ <antcall target="junit-tests"><param name="tests" value="rawsubtransactionawareresources02_1"/></antcall>
+ <!-- rawsubtransactionawareresources02_2 : 10 tests, 1 minute -->
+ <antcall target="junit-tests"><param name="tests" value="rawsubtransactionawareresources02_2"/></antcall>
+ <!-- rawsubtransactionawareresources02_3 : 25 tests, 3 minutes -->
+ <antcall target="junit-tests"><param name="tests" value="rawsubtransactionawareresources02_3"/></antcall>
+
+ <!-- crashrecovery01 : 24 tests, 6 minutes -->
+ <antcall target="junit-tests"><param name="tests" value="crashrecovery01"/></antcall>
+ <!-- crashrecovery02_1 : 5 tests, 6 minutes -->
+ <antcall target="junit-tests"><param name="tests" value="crashrecovery02_1"/></antcall>
+ <!-- crashrecovery02_2 : 50 tests, 60 minutes -->
+ <!-- <antcall target="junit-tests"><param name="tests" value="crashrecovery02_2"/></antcall> -->
+ <!-- crashrecovery03 : 1 tests, 1 minute -->
+ <antcall target="junit-tests"><param name="tests" value="crashrecovery03"/></antcall>
+ <!-- crashrecovery04 : 48 tests, 11 minutes -->
+ <antcall target="junit-tests"><param name="tests" value="crashrecovery04"/></antcall>
+ <!-- crashrecovery05_1 : 10 tests, 12 minutes -->
+ <antcall target="junit-tests"><param name="tests" value="crashrecovery05_1"/></antcall>
+ <!-- crashrecovery05_2 : 100 tests, 122 minutes -->
+ <!-- <antcall target="junit-tests"><param name="tests" value="crashrecovery05_2"/></antcall> -->
+ <!-- crashrecovery06 : 2 tests, 1 minute -->
+ <antcall target="junit-tests"><param name="tests" value="crashrecovery06"/></antcall>
+ <!-- crashrecovery07 : 16 tests, 87 minutes -->
+ <antcall target="junit-tests"><param name="tests" value="crashrecovery07"/></antcall>
+ <!-- crashrecovery08 : 32 tests, 228 minutes -->
+ <!-- <antcall target="junit-tests"><param name="tests" value="crashrecovery08"/></antcall> -->
+ <!-- crashrecovery09 : 6 tests, 7 minutes -->
+ <antcall target="junit-tests"><param name="tests" value="crashrecovery09"/></antcall>
+ <!-- crashrecovery10 : 6 tests, 7 minutes -->
+ <antcall target="junit-tests"><param name="tests" value="crashrecovery10"/></antcall>
+ <!-- crashrecovery12 : 7 tests, 5 minutes -->
+ <antcall target="junit-tests"><param name="tests" value="crashrecovery12"/></antcall>
+
+ </target>
+
+ <!-- long running crash rec test groups (the ones disabled in the 'junit' target) -->
+ <target name="junit-longer">
+ <antcall target="junit-tests"><param name="tests" value="crashrecovery02_2"/></antcall>
+ <antcall target="junit-tests"><param name="tests" value="crashrecovery05_2"/></antcall>
+ <antcall target="junit-tests"><param name="tests" value="crashrecovery08"/></antcall>
+ </target>
+
+ <!-- copy the selected db driver out of the available set into the classpath.
+ See also build.xml get.drivers and TaskImpl.properties for classpath
+ -->
+ <target name="install-dbdriver">
+ <delete dir="dbdrivers/selected_dbdriver"/>
+ <mkdir dir="dbdrivers/selected_dbdriver"/>
+ <copy todir="dbdrivers/selected_dbdriver" flatten="true">
+ <fileset dir="dbdrivers/" includes="**/${files}"/>
+ </copy>
+ </target>
+
+ <!-- JDBC tests.
+ You'll need a qa/config/jdbc_profiles/<hostname>/JDBCProfiles file for your machine to run these ones,
+ although using the 'default' one is also an option.
+ Plus copies of the db drivers of course (try 'ant get.drivers' if inside the redhat network).
+ And a set of servers to run against. Did I mention it was complicated :-)
+ -->
+ <target name="junit-jdbc">
+
+ <antcall target="install-dbdriver"><param name="files" value="ojdbc14.jar"/></antcall>
+ <antcall target="junit-tests"><param name="tests" value="jdbcresources01_oracle_thin_jndi"/></antcall>
+ <antcall target="junit-tests"><param name="tests" value="jdbcresources02_oracle_thin_jndi"/></antcall>
+
+ <!-- mssql needs different .jar for jdk 1.5 vs. 1.6 runtime -->
+ <condition property="mssql.driver" value="sqljdbc4.jar">
+ <equals arg1="${java.specification.version}" arg2="1.6"/>
+ </condition>
+ <property name="mssql.driver" value="sqljdbc.jar"/>
+ <antcall target="install-dbdriver"><param name="files" value="${mssql.driver}"/></antcall>
+ <antcall target="junit-tests"><param name="tests" value="jdbcresources01_mssqlserver_jndi"/></antcall>
+ <antcall target="junit-tests"><param name="tests" value="jdbcresources02_mssqlserver_jndi"/></antcall>
+
+ <antcall target="install-dbdriver"><param name="files" value="db2*"/></antcall>
+ <antcall target="junit-tests"><param name="tests" value="jdbcresources01_ibmdb2_jndi"/></antcall>
+ <antcall target="junit-tests"><param name="tests" value="jdbcresources02_ibmdb2_jndi"/></antcall>
+
+ <antcall target="install-dbdriver"><param name="files" value="postgresql-8.3-603.jdbc3.jar"/></antcall>
+ <antcall target="junit-tests"><param name="tests" value="jdbcresources01_pgsql_jndi"/></antcall>
+ <antcall target="junit-tests"><param name="tests" value="jdbcresources02_pgsql_jndi"/></antcall>
+
+ <antcall target="install-dbdriver"><param name="files" value="mysql-connector-java-5.1.7-bin.jar"/></antcall>
+ <antcall target="junit-tests"><param name="tests" value="jdbcresources01_mysql_jndi"/></antcall>
+ <antcall target="junit-tests"><param name="tests" value="jdbcresources02_mysql_jndi"/></antcall>
+
+ <antcall target="install-dbdriver"><param name="files" value="jconn3.jar"/></antcall>
+ <antcall target="junit-tests"><param name="tests" value="jdbcresources01_sybase_jndi"/></antcall>
+ <antcall target="junit-tests"><param name="tests" value="jdbcresources02_sybase_jndi"/></antcall>
+
+ </target>
+
+ <target name="junit-jdbc-crachrec">
+ <!-- crashrecovery11 : jdbc resource crash recovery tests. 4 tests, 4 minutes per db -->
+
+ <antcall target="install-dbdriver"><param name="files" value="ojdbc14.jar"/></antcall>
+ <antcall target="junit-tests"><param name="tests" value="crashrecovery11-oracle_jndi"/></antcall>
+
+ <!--mssql needs different .jar for jdk 1.5 vs. 1.6 runtime -->
+ <condition property="mssql.driver" value="sqljdbc4.jar">
+ <equals arg1="${java.specification.version}" arg2="1.6"/>
+ </condition>
+ <property name="mssql.driver" value="sqljdbc.jar"/>
+ <antcall target="install-dbdriver"><param name="files" value="${mssql.driver}"/></antcall>
+ <antcall target="junit-tests"><param name="tests" value="crashrecovery11-mssqlserver_jndi"/></antcall>
+
+ <antcall target="install-dbdriver"><param name="files" value="db2*"/></antcall>
+ <antcall target="junit-tests"><param name="tests" value="crashrecovery11-ibmdb2_jndi"/></antcall>
+
+ <antcall target="install-dbdriver"><param name="files" value="postgresql-8.3-603.jdbc3.jar"/></antcall>
+ <antcall target="junit-tests"><param name="tests" value="crashrecovery11-pgsql_jndi"/></antcall>
+
+ <antcall target="install-dbdriver"><param name="files" value="mysql-connector-java-5.1.7-bin.jar"/></antcall>
+ <antcall target="junit-tests"><param name="tests" value="crashrecovery11-mysql_jndi"/></antcall>
+
+ <antcall target="install-dbdriver"><param name="files" value="jconn3.jar"/></antcall>
+ <antcall target="junit-tests"><param name="tests" value="crashrecovery11-sybase_jndi"/></antcall>
+
+ </target>
+
+ <target name="jta">
+ <property name="use_jta_mode" value="true"/>
+
+ <!-- txcore: 352 tests, 3.5 hrs
+ Some memory tests fail, see JBTM-555 -->
+ <!-- <antcall target="junit-tests"><param name="tests" value="txcore"/></antcall> -->
+
+ <!-- jtatest01 : 6 tests, minute-->
+ <antcall target="junit-tests"><param name="tests" value="jtatests01"/></antcall>
+
+ <!-- jdbclocals01 : 6 tests, 2 minutes for each db -->
+
+ <antcall target="install-dbdriver"><param name="files" value="ojdbc14.jar"/></antcall>
+ <antcall target="junit-tests"><param name="tests" value="jdbclocals01-oracle_jndi"/></antcall>
+
+ <!-- mssql needs different .jar for jdk 1.5 vs. 1.6 runtime -->
+ <condition property="mssql.driver" value="sqljdbc4.jar">
+ <equals arg1="${java.specification.version}" arg2="1.6"/>
+ </condition>
+ <property name="mssql.driver" value="sqljdbc.jar"/>
+ <antcall target="install-dbdriver"><param name="files" value="${mssql.driver}"/></antcall>
+ <antcall target="junit-tests"><param name="tests" value="jdbclocals01-mssql_jndi"/></antcall>
+
+ <antcall target="install-dbdriver"><param name="files" value="db2*"/></antcall>
+ <antcall target="junit-tests"><param name="tests" value="jdbclocals01-ibmdb2_jndi"/></antcall>
+
+ <antcall target="install-dbdriver"><param name="files" value="postgresql-8.3-603.jdbc3.jar"/></antcall>
+ <antcall target="junit-tests"><param name="tests" value="jdbclocals01-pgsql_jndi"/></antcall>
+
+ <antcall target="install-dbdriver"><param name="files" value="mysql-connector-java-5.1.7-bin.jar"/></antcall>
+ <antcall target="junit-tests"><param name="tests" value="jdbclocals01-mysql_jndi"/></antcall>
+
+ <antcall target="install-dbdriver"><param name="files" value="jconn3.jar"/></antcall>
+ <antcall target="junit-tests"><param name="tests" value="jdbclocals01-sybase_jndi"/></antcall>
+
+ </target>
+
+ <target name="performance">
+ <!-- caution: perf tests are essentially regression tests and are only meaningful
+ if used with the same hardware (profile) and config between runs. -->
+
+ <!-- perfprofileio : 18 tests, 9 minutes -->
+ <antcall target="junit-tests"><param name="tests" value="perfprofileio"/></antcall>
+ <!-- perfprofile01_i (JTS implicit) : 25 tests, 31 minutes -->
+ <antcall target="junit-tests"><param name="tests" value="perfprofile01_i"/></antcall>
+ <!-- perfprofile01_e (JTS explicit) : 25 tests, 35 minutes -->
+ <antcall target="junit-tests"><param name="tests" value="perfprofile01_e"/></antcall>
+ </target>
+
+ <!-- ##################################### -->
+
+ <!-- This is where all the hard work happens - use junit to coordinate multi-process tests: -->
+ <target name="junit-tests">
+
+ <!-- TODO support JTA mode testing of JTS .jar files? -
+ would need classpath munging for props file in TaskImpl.properties -->
+
+ <echo message="Running junit test group ${tests} from basedir=${basedir}"/>
+
+ <!-- this runs forked because the product config file it uses has relative paths in it, so we need to guarantee
+ the working dir is the same as the location of this script. -->
+ <junit printsummary="yes" haltonfailure="yes" fork="true" dir="${basedir}">
+ <classpath>
+
+ <!--
+ This is the classpath for the test framework, not the test components e.g. clients/servers.
+ Those are configured via TaskImpl.properties instead.
+
+ The test groups (org.jboss.jbossts.qa.junit.testgroup.TestGroup_XXXX classes) contains the
+ test methods, which link against the test classes, which in turn link against JBossTS.
+ Hence we need JBossTS in the classpath for the framework, even though it does not get run there.
+ On the up side, you get better diagnostic messages and code management/navigation in IDEs.
+ -->
+ <pathelement location="../ext/junit-4.6.jar"/>
+
+ <fileset dir="tests/build">
+ <include name="jbossts-*-qa.jar"/>
+ </fileset>
+
+ <fileset dir="../install/lib">
+ <include name="*.jar"/>
+ </fileset>
+ <fileset dir="../install/lib/ext">
+ <include name="*.jar"/>
+ <include name="*.zip"/>
+ </fileset>
+ <pathelement location="../install/etc"/>
+
+ </classpath>
+
+ <formatter type="plain"/>
+
+ <test name="org.jboss.jbossts.qa.junit.testgroup.TestGroup_${tests}"/>
+
+ <!--<jvmarg value="-Xdebug"/>-->
+ <!--<jvmarg value="-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5006"/>-->
+
+ </junit>
+
+<!--
+ <java classname="org.junit.runner.JUnitCore" fork="true">
+ <classpath>
+
+
+
+ </classpath>
+
+ <arg value="org.jboss.jbossts.qa.junit.testgroup.TestGroup_${tests}"/>
+
+ </java>
+--> </target>
+
+ <!-- ##################################### -->
+
+ <target name="junit-tests-old">
+
+ <echo message="Running test group ${tests} from basedir=${basedir}"/>
+
+ <!-- by default we run in JTS config. Override by setting this property
+ before antcalling the test target -->
+ <property name="use_jta_mode" value="false"/>
+ <condition property="product_file" value="JBossTS_JTA_QA.xml">
+ <istrue value="${use_jta_mode}"/>
+ </condition>
+ <property name="product_file" value="JBossTS_JTS_JacORB_QA.xml"/>
+
+ <echo message="Running with config ${product_file}"/>
+
+ <!-- this runs forked because the product config file it uses has relative paths in it, so we need to guarantee
+ the working dir is the same as the location of this script.
+ TODO: investigate why it needs such a large memory footprint. I suspect it's buffering
+ the entire stdout, which is big for longer runs as DTF tends to be rather verbose.
+ But with 10MB of stdout based on text file size, junit needs >128MB of memory???
+ Stopping the buffering would be nice anyhow, as it stands we don't see any output in the file
+ until the tests are all done, which makes following progress a bit of a problem. -->
+ <junit printsummary="yes" haltonfailure="yes" fork="true" dir="${basedir}" maxmemory="192m">
+ <classpath>
+ <path refid="tests.classpath"/>
+ </classpath>
+
+ <formatter type="plain"/>
+
+ <sysproperty key="testdefsFile" value="${basedir}/testdefs/jbossts-qa-${tests}-testdefs.xml"/>
+ <sysproperty key="productConfigFile" value="${basedir}/config/${product_file}"/>
+ <sysproperty key="testnodeConfigFile" value="${basedir}/config/nodeconfig.xml"/>
+ <sysproperty key="testnamePattern" value=".*"/>
+
+ <test name="org.jboss.dtf.testframework.local.JUnitTestSuite" outfile="jbossts-qa-${tests}-output"/>
+
+ </junit>
+
+ <echo message="Done test group ${tests}"/>
+ </target>
+
+
+
+</project>
Property changes on: labs/jbosstm/trunk/qa/run-tests.xml
___________________________________________________________________
Name: svn:mergeinfo
+
Modified: labs/jbosstm/trunk/qa/tests/build-jta.xml
===================================================================
--- labs/jbosstm/trunk/qa/tests/build-jta.xml 2009-07-15 13:09:03 UTC (rev 28050)
+++ labs/jbosstm/trunk/qa/tests/build-jta.xml 2009-07-15 13:44:51 UTC (rev 28051)
@@ -88,7 +88,6 @@
<include name="**/org/jboss/jbossts/qa/astests/**/*.java"/>
<exclude name="**/astests/**"/>
- <exclude name="**/junit/XML2JUnit.java"/>
<classpath>
<path refid="jta.classpath"/>
Modified: labs/jbosstm/trunk/qa/tests/build-jts.xml
===================================================================
--- labs/jbosstm/trunk/qa/tests/build-jts.xml 2009-07-15 13:09:03 UTC (rev 28050)
+++ labs/jbosstm/trunk/qa/tests/build-jts.xml 2009-07-15 13:44:51 UTC (rev 28051)
@@ -220,7 +220,6 @@
<exclude name="org/jboss/jbossts/qa/ArjunaCore/Common/ClassPathParserTest.java" />
<exclude name="**/${astest.dir}/**/*.java" />
- <exclude name="**/junit/XML2JUnit.java"/>
<classpath>
<path refid="jts.classpath"/>
Deleted: labs/jbosstm/trunk/qa/tests/src/org/jboss/jbossts/qa/junit/XML2JUnit.java
===================================================================
--- labs/jbosstm/trunk/qa/tests/src/org/jboss/jbossts/qa/junit/XML2JUnit.java 2009-07-15 13:09:03 UTC (rev 28050)
+++ labs/jbosstm/trunk/qa/tests/src/org/jboss/jbossts/qa/junit/XML2JUnit.java 2009-07-15 13:44:51 UTC (rev 28051)
@@ -1,433 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2009, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2009,
- * @author JBoss Inc.
- */
-package org.jboss.jbossts.qa.junit;
-
-import org.jboss.dtf.testframework.coordinator2.TestDefinitionRepository;
-import org.jboss.dtf.testframework.coordinator2.TestDefinition;
-import org.jboss.dtf.testframework.coordinator2.TaskDefinition;
-import org.jboss.dtf.testframework.coordinator2.TaskDefinitionRepository;
-import org.jboss.dtf.testframework.coordinator.Action;
-
-import java.net.URL;
-import java.io.File;
-import java.io.FileWriter;
-import java.util.*;
-
-/**
- * Utility class that reads DTF -testdef.xml input and writes equivalent JUnit4 tests in .java source format.
- *
- * Usage: java org.jboss.dtf.testframework.junit.XML2JUnit <inputfile> <outputdir>
- * e.g. java org.jboss.dtf.testframework.junit.XML2JUnit mytests-testdefs-xml /My/Tests/Dir
- *
- * @author Jonathan Halliday (jonathan.halliday at redhat.com) 2009-05
- */
-public class XML2JUnit
-{
- public static void main(String[] args) throws Exception {
- String testdefsFile = args[0];
- TestDefinitionRepository testDefinitionRepository = new TestDefinitionRepository(new URL("file://"+(new File(testdefsFile).getAbsolutePath())));
- TaskDefinitionRepository taskDefinitionRepository = new TaskDefinitionRepository(new URL("file://"+(new File(testdefsFile).getAbsolutePath())));
-
- XML2JUnit instance = new XML2JUnit(testDefinitionRepository, taskDefinitionRepository);
-
- String classname = instance.generateHeader();
-
- instance.generateLifecycle();
-
- instance.generateTests();
- instance.generateFooter();
-
- FileWriter fileWriter = new FileWriter(args[1]+File.separator+classname+".java");
- fileWriter.write(instance.getBuffer());
- fileWriter.close();
- }
-
-
- TestDefinitionRepository testDefinitionRepository = null;
- TaskDefinitionRepository taskDefinitionRepository = null;
- List<TestDefinition> testDefs = null;
- StringBuilder buffer = null;
- int nameCount = 0;
-
- public XML2JUnit(TestDefinitionRepository testDefinitionRepository, TaskDefinitionRepository taskDefinitionRepository) {
- this.testDefinitionRepository = testDefinitionRepository;
- this.taskDefinitionRepository = taskDefinitionRepository;
- this.buffer = new StringBuilder(512*1024);
- }
-
- public String getBuffer() {
- return buffer.toString();
- }
-
- public String generateHeader() {
- Map<String, TestDefinition> testIDs2testDefs = testDefinitionRepository.getTestDefinitionsMap();
- testDefs = new ArrayList(testIDs2testDefs.values());
- Collections.sort(testDefs, new TestDefinitionComparator());
-
- String name = testDefs.get(0).getId().replace("-", "_").toLowerCase();
- if(name.contains("_")) {
- name = name.substring(0, name.lastIndexOf("_"));
- }
-
- buffer.append("\n");
- buffer.append("package org.jboss.jbossts.qa.junit.generated;\n");
- buffer.append("\n");
- buffer.append("import org.jboss.jbossts.qa.junit.*;\n");
- buffer.append("import org.junit.*;\n");
- buffer.append("\n");
- buffer.append("// Automatically generated by XML2JUnit\n");
- buffer.append("public class TestGroup_"+name+" extends TestGroupBase\n");
- buffer.append("{\n");
-
- buffer.append("\tpublic String getTestGroupName()\n");
- buffer.append("\t{\n");
- buffer.append("\t\treturn \""+name+"\";\n");
- buffer.append("\t}\n");
- buffer.append("\n");
-
- return "TestGroup_"+name;
- }
-
- public void generateFooter() {
- buffer.append("}");
- }
-
- public void generateTests() throws Exception {
- for(TestDefinition testDefinition : testDefs) {
- buffer.append("\t at Test public void "+testDefinition.getId().replace("-", "_")+"()\n");
- buffer.append("\t{\n");
-
- String groupId = testDefinition.getGroupId();
- String testId = testDefinition.getId();
-
- if (testId.startsWith(groupId + "_")) {
- testId = testId.substring(groupId.length() + 1);
- }
-
- testId = testId.replace("-", "_");
-
- buffer.append("\t\tsetTestName(\""+testId+"\");\n" );
-
- generateTest(testDefinition);
- buffer.append("\t}\n\n");
-
- nameCount = 0;
- }
- }
-
- private static class TestDefinitionComparator implements Comparator<TestDefinition>
- {
- public int compare(TestDefinition o1, TestDefinition o2)
- {
- return o1.getId().compareTo(o2.getId());
- }
- }
-
- private TaskDefinition getTaskDef(Action action, TestDefinition testDefinition) throws Exception {
- TaskDefinition taskDefinition = null;
- if(action.getType() == Action.PERFORM_TASK || action.getType() == Action.START_TASK) {
- String groupId = testDefinition.getGroupId();
- String taskIdToPerform = action.getAssociatedTaskId();
- taskDefinition = taskDefinitionRepository.getTaskDefinition(groupId, taskIdToPerform);
- if (taskDefinition == null)
- {
- taskDefinition = taskDefinitionRepository.getTaskDefinition(taskIdToPerform);
- }
- }
- return taskDefinition;
- }
-
- // identify required contents of setUp and tearDown
- public void generateLifecycle() throws Exception {
-
- // EmptyObjectStore is in the test base class, don't generate for it
- for(TestDefinition testDefinition : testDefs) {
- ArrayList<Action> actionList = testDefinition.getActionList();
- TaskDefinition taskDefinition = getTaskDef(actionList.remove(0), testDefinition);
- if(taskDefinition == null || !taskDefinition.getClassName().equals("org.jboss.jbossts.qa.Utils.EmptyObjectStore")) {
- throw new IllegalArgumentException("Test does not start with EmptyObjectStore");
- }
- }
-
- int startingBufferPosition = buffer.length();
-
- buffer.append("\n\t at Before public void setUp()\n");
- buffer.append("\t{\n");
- buffer.append("\t\tsuper.setUp();\n");
-
- List<Action> outstandingActions = generateCommonTasks(false, null); // setUp method
-
- if(outstandingActions.size() > 0) {
- generateLocalVariables(startingBufferPosition, outstandingActions);
- }
-
- buffer.append("\t}\n\n");
-
- buffer.append("\t at After public void tearDown()\n");
- buffer.append("\t{\n");
- // do the per server terminates inside a try blockso we can guarantee to call super.tearDown in
- // a finally block if any of them fails
- buffer.append("\t\ttry {\n");
-
- generateCommonTasks(true, outstandingActions); // tearDown method
-
- buffer.append("\t\t} finally {\n");
- buffer.append("\t\t\tsuper.tearDown();\n");
- buffer.append("\t\t}\n");
- buffer.append("\t}\n\n");
- }
-
- private void generateLocalVariables(int startingBufferPosition, List<Action> actions) throws Exception {
- for(Action action : actions) {
- buffer.insert(startingBufferPosition, "\tprotected Task "+action.getAssociatedRuntimeTaskId()+" = null;\n");
- }
- }
-
- private List<Action> generateCommonTasks(boolean fromEnd, List<Action> terminationActions) throws Exception {
-
- if(terminationActions != null) {
- for(Action action : terminationActions) {
- generateTask(action,testDefs.get(0), true);
- }
- }
-
- TaskDefinition candidateCommonTask;
- List<Action> outstandingActions = new LinkedList<Action>();
- do {
- candidateCommonTask = null;
- for(TestDefinition testDefinition : testDefs) {
- int index = fromEnd ? (testDefinition.getActionList().size()-1) : 0;
- Action action = (Action)testDefinition.getActionList().get(index);
- TaskDefinition taskDef = getTaskDef(action, testDefinition);
- if(taskDef == null) {
- break;
- }
- if(candidateCommonTask == null
- && taskDef.getClassName().indexOf(".Server") == -1
- && taskDef.getClassName().indexOf(".Client") == -1) {
- candidateCommonTask = taskDef;
- } else if(candidateCommonTask == null) {
- continue;
- } else if(taskDef.getClassName().equals(candidateCommonTask.getClassName())
- && taskDef.getParameters().equals(candidateCommonTask.getParameters())) {
- continue;
- } else {
- candidateCommonTask = null;
- break;
- }
- }
- if(candidateCommonTask != null) {
-
- TestDefinition testDef = testDefs.get(0);
- int index = fromEnd ? (testDef.getActionList().size()-1) : 0;
- Action action = (Action)testDef.getActionList().get(index);
- boolean isSetup = !fromEnd;
- generateTask(action, testDef, isSetup);
-
- for(TestDefinition testDefinition : testDefs) {
- index = fromEnd ? (testDefinition.getActionList().size()-1) : 0;
- testDefinition.getActionList().remove(index);
- }
-
- if(!fromEnd && action.getType() == Action.START_TASK) {
-
- boolean actionAdded = false;
- for(TestDefinition testDefinition : testDefs) {
- ArrayList<Action> actionList = testDefinition.getActionList();
- Iterator<Action> actionIter = actionList.iterator();
- while(actionIter.hasNext()) {
- Action candidateTerminatorAction = actionIter.next();
- try {
- if(candidateTerminatorAction.getAssociatedRuntimeTaskId().equals(action.getAssociatedRuntimeTaskId())
- && candidateTerminatorAction.getType() == Action.TERMINATE_TASK) {
- actionIter.remove();
- if(!actionAdded) {
- outstandingActions.add(candidateTerminatorAction);
- actionAdded = true;
- }
- break;
- }
- } catch(NullPointerException e) {
- e.printStackTrace();
- }
- }
- }
- }
- }
- } while (candidateCommonTask != null);
-
- return outstandingActions;
- }
-
- public String[] filterParams(String[] params) {
- List<String> filteredParams = new ArrayList<String>(params.length);
- for(String param : params) {
- if("$(ORBFLAGS_1)".equals(param)
- || "$(ORBFLAGS_2)".equals(param)) {
- continue;
- }
- filteredParams.add(param);
- }
- return filteredParams.toArray(new String[filteredParams.size()]);
- }
-
- public void generateTask(Action action, TestDefinition testDefinition, boolean isSetup) throws Exception {
-
- TaskDefinition taskDefinition = getTaskDef(action, testDefinition);
- String outputDirectory;
- String filename;
- int timeout;
-
- switch(action.getType()) {
- case Action.PERFORM_TASK:
- String name = (action.getAssociatedRuntimeTaskId() == null ? ("task"+(nameCount++)) : action.getAssociatedRuntimeTaskId());
- outputDirectory = testOutputDirectory(testDefinition, isSetup);
- filename = testOutputFilename(testDefinition, name);
- timeout = testTimeout(action, testDefinition);
-
- buffer.append("\t\tTask "+name+" = createTask(");
- buffer.append("\""+name+"\", ");
- buffer.append(taskDefinition.getClassName()+".class, Task.TaskType."+taskDefinition.getTypeText());
- //buffer.append(", \"" + outputDirectory + filename + "\", " + timeout + ");\n");
- buffer.append(", "+timeout+ ");\n");
-
- if(action.getParameterList().length != 0) {
- buffer.append("\t\t"+name+".perform("); // new String[] {
-
- String[] params = filterParams(action.getParameterList());
- int length = params.length;
- for(int i = 0; i < length; i++) {
- String param = params[i];
- buffer.append("\""+param+"\"");
- if(i != length-1) {
- buffer.append(", ");
- }
- }
- buffer.append(");\n"); // }
- } else {
- buffer.append("\t\t"+name+".perform();\n");
- }
- break;
- case Action.START_TASK:
- if(isSetup) {
- buffer.append("\t\t"); // use local variable, don't declate a new one
- } else {
- buffer.append("\t\tTask ");
- }
- outputDirectory = testOutputDirectory(testDefinition, isSetup);
- filename = testOutputFilename(testDefinition, action.getAssociatedRuntimeTaskId());
- timeout = testTimeout(action, testDefinition);
-
- buffer.append(action.getAssociatedRuntimeTaskId() + " = createTask(");
- buffer.append("\""+action.getAssociatedRuntimeTaskId()+"\", ");
- buffer.append(taskDefinition.getClassName()+".class, Task.TaskType."+taskDefinition.getTypeText());
- //buffer.append(", \"" + outputDirectory + filename + "\", " + timeout + ");\n");
- buffer.append(", "+timeout+ ");\n");
-
- if(action.getParameterList().length != 0) {
- buffer.append("\t\t"+action.getAssociatedRuntimeTaskId()+".start("); // new String[] {
-
- String[] params = filterParams(action.getParameterList());
- int length = params.length;
- for(int i = 0; i < length; i++) {
- String param = params[i];
- buffer.append("\""+param+"\"");
- if(i != length-1) {
- buffer.append(", ");
- }
- }
- buffer.append(");\n"); // }
- } else {
- buffer.append("\t\t"+action.getAssociatedRuntimeTaskId()+".start();\n");
- }
- break;
- case Action.TERMINATE_TASK:
- if (isSetup) {
- buffer.append("\t\t\t"+action.getAssociatedRuntimeTaskId()+".terminate();\n");
- } else {
- buffer.append("\t\t"+action.getAssociatedRuntimeTaskId()+".terminate();\n");
- }
- break;
- case Action.WAIT_FOR_TASK:
- buffer.append("\t\t"+action.getAssociatedRuntimeTaskId()+".waitFor();\n");
- break;
- default:
- throw new IllegalArgumentException("Unknown Action type "+action.getType());
- }
- }
-
- private String testOutputFilename(TestDefinition testDefinition, String name) {
- // TODO - identify a better naming scheme
- return name + "_output.txt";
- }
-
- private String testOutputDirectory(TestDefinition testDefinition, boolean isSetup) {
- // TODO - identify a better naming scheme
-
- String groupId = testDefinition.getGroupId();
- if (isSetup) {
- // setup tasks write their output in the parent directory
- return "./testoutput/" + groupId + "/";
- } else {
- String testId = testDefinition.getId();
-
- if (testId.startsWith(groupId + "_")) {
- testId = testId.substring(groupId.length() + 1);
- }
-
- return "./testoutput/" + groupId + "/" + testId.replace("-", "_") + "/";
- }
- }
-
- private int testTimeout(Action action, TestDefinition testDefinition)
- {
- int timeout = 480;
- try {
- TaskDefinition taskDef = getTaskDef(action, testDefinition);
- if (taskDef != null) {
- timeout = taskDef.getTimeout();
- }
- } catch (Exception e) {
- // ignore -- just use default timeout
- }
-
- return timeout;
- }
-
- public void generateTest(TestDefinition testDefinition) throws Exception {
-
- if(testDefinition == null) {
- throw new IllegalArgumentException("testDefinition must not be null!");
- }
-
- if(testDefinition.getNumberOfNodesRequired() != 1) {
- System.err.println("Unsupported node count "+testDefinition.getNumberOfNodesRequired()+" for test "+testDefinition.getDescription()+", skipping it");
- return;
- }
-
- ArrayList<Action> actionList = testDefinition.getActionList();
-
- for(Action action : actionList) {
- generateTask(action, testDefinition, false);
- }
- }
-}
-
More information about the jboss-svn-commits
mailing list