[jboss-cvs] JBoss Messaging SVN: r7966 - in branches/Branch_1_4: src/main/org/jboss/jms/tx and 3 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Mar 3 09:50:50 EST 2010


Author: gaohoward
Date: 2010-03-03 09:50:50 -0500 (Wed, 03 Mar 2010)
New Revision: 7966

Added:
   branches/Branch_1_4/src/main/org/jboss/messaging/core/impl/tx/TxCallbackEx.java
   branches/Branch_1_4/tests/build-test-AS5.xml
   branches/Branch_1_4/tests/build-test-EAP4.xml
   branches/Branch_1_4/tests/build-test-EAP5.xml
Modified:
   branches/Branch_1_4/src/main/org/jboss/jms/server/endpoint/ServerConnectionEndpoint.java
   branches/Branch_1_4/src/main/org/jboss/jms/tx/ClientTransaction.java
   branches/Branch_1_4/src/main/org/jboss/jms/tx/ResourceManager.java
   branches/Branch_1_4/src/main/org/jboss/messaging/core/impl/ChannelSupport.java
   branches/Branch_1_4/src/main/org/jboss/messaging/core/impl/tx/Transaction.java
   branches/Branch_1_4/tests/build.xml
Log:
JBMESSAGING-1786



Modified: branches/Branch_1_4/src/main/org/jboss/jms/server/endpoint/ServerConnectionEndpoint.java
===================================================================
--- branches/Branch_1_4/src/main/org/jboss/jms/server/endpoint/ServerConnectionEndpoint.java	2010-02-25 16:52:48 UTC (rev 7965)
+++ branches/Branch_1_4/src/main/org/jboss/jms/server/endpoint/ServerConnectionEndpoint.java	2010-03-03 14:50:50 UTC (rev 7966)
@@ -522,12 +522,14 @@
 
             // for 2pc rollback - we just don't cancel any messages back to the channel; this is
             // driven from the client side.
+            // if the transaction rollback comes from recovery, we need to cancel the messages
+            // see JBMESSAGING-1786
 
             Transaction tx =  tr.getPreparedTx(request.getXid());
 
             if (trace) { log.trace(this + " rolling back " + tx); }
 
-            tx.rollback();
+            tx.rollback(request.getState().isRecovered());
          }
 
          if (trace) { log.trace(this + " processed transaction successfully"); }

Modified: branches/Branch_1_4/src/main/org/jboss/jms/tx/ClientTransaction.java
===================================================================
--- branches/Branch_1_4/src/main/org/jboss/jms/tx/ClientTransaction.java	2010-02-25 16:52:48 UTC (rev 7965)
+++ branches/Branch_1_4/src/main/org/jboss/jms/tx/ClientTransaction.java	2010-03-03 14:50:50 UTC (rev 7966)
@@ -63,6 +63,8 @@
    private List sessionStatesList;
 
    private boolean clientSide;
+   
+   private boolean recovered;
 
    // Static --------------------------------------------------------
 
@@ -70,7 +72,13 @@
 
    public ClientTransaction()
    {
+      this(false);
+   }
+   
+   public ClientTransaction(boolean isRecovered)
+   {
       clientSide = true;
+      recovered = isRecovered;
    }
 
    // Public --------------------------------------------------------
@@ -215,6 +223,17 @@
       }
    }
 
+   public boolean isRecovered()
+   {
+      return recovered;
+   }
+
+   public void setRecovered(boolean b)
+   {
+      recovered = b;
+   }
+
+
    // Streamable implementation ---------------------------------
 
    public void write(DataOutputStream out) throws Exception
@@ -272,6 +291,7 @@
             out.writeLong(Long.MIN_VALUE);
          }
       }
+      out.writeBoolean(recovered);
    }
 
 
@@ -315,6 +335,8 @@
             sessionState.addAck(new DefaultAck(l));
          }
       }
+      
+      recovered = in.readBoolean();
    }
 
    // Protected -----------------------------------------------------

Modified: branches/Branch_1_4/src/main/org/jboss/jms/tx/ResourceManager.java
===================================================================
--- branches/Branch_1_4/src/main/org/jboss/jms/tx/ResourceManager.java	2010-02-25 16:52:48 UTC (rev 7965)
+++ branches/Branch_1_4/src/main/org/jboss/jms/tx/ResourceManager.java	2010-03-03 14:50:50 UTC (rev 7966)
@@ -426,7 +426,7 @@
          request = new TransactionRequest(TransactionRequest.TWO_PHASE_ROLLBACK_REQUEST, xid, tx);
          
          if (trace) { log.trace("Sending rollback to server, tx:" + tx); }
-                                  
+         
          sendTransactionXA(request, connection);
       } 
       else
@@ -580,14 +580,16 @@
             for (int i = 0; i < txs.length;i++)
             {
                //Don't overwrite if it is already there
-               if (!transactions.containsKey(txs[i]))
+               ClientTransaction tx = (ClientTransaction)transactions.get(txs[i]);
+               if (tx == null)
                {
-                  ClientTransaction tx = new ClientTransaction();
+                  tx = new ClientTransaction(true);
    
                   tx.setState(ClientTransaction.TX_PREPARED);
    
                   transactions.put(txs[i], tx);
                }
+               tx.setRecovered(true);
             }
 
             return txs;

Modified: branches/Branch_1_4/src/main/org/jboss/messaging/core/impl/ChannelSupport.java
===================================================================
--- branches/Branch_1_4/src/main/org/jboss/messaging/core/impl/ChannelSupport.java	2010-02-25 16:52:48 UTC (rev 7965)
+++ branches/Branch_1_4/src/main/org/jboss/messaging/core/impl/ChannelSupport.java	2010-03-03 14:50:50 UTC (rev 7966)
@@ -1083,12 +1083,55 @@
 
       public void afterRollback(boolean onePhase) throws Exception
       {
-         //tx rolled back, we need to inform the monitor
-         for(Iterator i = refsToAdd.iterator(); i.hasNext(); )
+         afterRollbackEx(onePhase, false);
+      }
+
+      public void afterRollbackEx(boolean onePhase, boolean isRecovered) throws Exception
+      {
+         if (!isRecovered)
          {
-            MessageReference ref = (MessageReference)i.next();
-            monitor.unmarkSending(ref);
+            return;
          }
+      
+         boolean performDelivery = false;
+         for(Iterator i = deliveriesToRemove.iterator(); i.hasNext(); )
+         {
+            Delivery del = (Delivery)i.next();
+      
+            MessageReference ref = del.getReference();
+      
+            if (checkAndSchedule(ref))
+            {
+               if (trace) { log.trace(this + ": scheduled " + ref); }
+            }
+            else
+            {
+               if (!del.isRecovered())
+               {
+                  try
+                  {
+                     synchronized (lock)
+                     {
+                        addReferenceInMemory(ref);
+                        performDelivery = true;
+                     }
+                  }
+                  catch (Throwable t)
+                  {
+                     throw new TransactionException("Failed to add reference", t);
+                  }
+                  deliveringCount.decrement();
+               }
+            }
+         }
+               
+         if (performDelivery)
+         {
+            synchronized (lock)
+            {
+               deliverInternal();
+            }            
+         }
       }
 
       public String toString()

Modified: branches/Branch_1_4/src/main/org/jboss/messaging/core/impl/tx/Transaction.java
===================================================================
--- branches/Branch_1_4/src/main/org/jboss/messaging/core/impl/tx/Transaction.java	2010-02-25 16:52:48 UTC (rev 7965)
+++ branches/Branch_1_4/src/main/org/jboss/messaging/core/impl/tx/Transaction.java	2010-03-03 14:50:50 UTC (rev 7966)
@@ -297,8 +297,13 @@
       if (trace) { log.trace(this + " prepare process complete"); }
    }
    
-   public synchronized void rollback() throws Exception
+   public void rollback() throws Exception
    {
+      rollback(false);
+   }
+   
+   public synchronized void rollback(boolean recovered) throws Exception
+   {
       if (state == STATE_COMMITTED)
       {
          throw new TransactionException("Transaction already committed, cannot rollback");
@@ -345,7 +350,15 @@
       for(Iterator i = callbacks.iterator(); i.hasNext();)
       {
          TxCallback callback = (TxCallback)i.next();
-         callback.afterRollback(onePhase);
+         
+         if (callback instanceof TxCallbackEx)
+         {
+            ((TxCallbackEx)callback).afterRollbackEx(onePhase, recovered);            
+         }
+         else
+         {
+            callback.afterRollback(onePhase);            
+         }
       }            
       
       callbacks = null;

Added: branches/Branch_1_4/src/main/org/jboss/messaging/core/impl/tx/TxCallbackEx.java
===================================================================
--- branches/Branch_1_4/src/main/org/jboss/messaging/core/impl/tx/TxCallbackEx.java	                        (rev 0)
+++ branches/Branch_1_4/src/main/org/jboss/messaging/core/impl/tx/TxCallbackEx.java	2010-03-03 14:50:50 UTC (rev 7966)
@@ -0,0 +1,37 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005-2010, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY 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 along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+
+package org.jboss.messaging.core.impl.tx;
+
+/**
+ * A TxCallbackEx
+ *
+ * @author howard
+ * 
+ * Created Mar 1, 2010 11:12:09 AM
+ *
+ */
+public interface TxCallbackEx extends TxCallback
+{
+   void afterRollbackEx(boolean onePhase, boolean isRecovered) throws Exception;
+}

Added: branches/Branch_1_4/tests/build-test-AS5.xml
===================================================================
--- branches/Branch_1_4/tests/build-test-AS5.xml	                        (rev 0)
+++ branches/Branch_1_4/tests/build-test-AS5.xml	2010-03-03 14:50:50 UTC (rev 7966)
@@ -0,0 +1,915 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- =========================================================================================== -->
+<!--                                                                                             -->
+<!-- JBoss, Home of Professional Open Source                                                     -->
+<!-- Copyright 2005, JBoss Inc., and individual contributors as indicated                        -->
+<!-- by the @authors tag. See the copyright.txt in the distribution for a                        -->
+<!-- full listing of individual contributors.                                                    -->
+<!--                                                                                             -->
+<!-- This is free software; you can redistribute it and/or modify it                             -->
+<!-- under the terms of the GNU Lesser General Public License as                                 -->
+<!-- published by the Free Software Foundation; either version 2.1 of                            -->
+<!-- the License, or (at your option) any later version.                                         -->
+<!--                                                                                             -->
+<!-- This software is distributed in the hope that it will be useful,                            -->
+<!-- but WITHOUT ANY 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 along with this software; if not, write to the Free                                 -->
+<!-- Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA                          -->
+<!-- 02110-1301 USA, or see the FSF site: http://www.fsf.org.                                    -->
+<!--                                                                                             -->
+<!-- =========================================================================================== -->
+
+
+<!-- =========================================================================================== -->
+<!--                                                                                             -->
+<!-- $Id: build.xml 7943 2010-02-10 03:39:39Z gaohoward $ -->
+<!--                                                                                             -->
+<!-- =========================================================================================== -->
+
+<project default="tests" name="JBoss Messaging Tests AS5">
+
+	<import file="../build-messaging.xml" />
+	<!-- ======================================================================================== -->
+	<!-- Configuration                                                                            -->
+	<!-- ======================================================================================== -->
+    
+	
+	<property name="default.database" value="mysql"/>
+
+	<property file="build.properties" />
+
+	<property name="build.tests.remote" value="false" />
+	<property name="test.bind.address" value="localhost" />
+	<property name="jboss.messaging.groupname" value="MessagingPostOffice" />
+	<property name="jboss.messaging.datachanneludpport" value="45567" />
+	<property name="jboss.messaging.controlchanneludpport" value="45568" />
+	<property name="jboss.messaging.datachanneludpaddress" value="228.6.6.6" />
+	<property name="jboss.messaging.controlchanneludpaddress" value="228.7.7.7" />
+	<property name="jboss.messaging.ipttl" value="0" />
+   <property name="java.net.preferIPv4Stack" value="true"/>
+
+	<!--
+        Functional tests.
+   -->
+
+	<property name="functional.tests.database" value="${default.database}" />
+
+	<!--
+        Stress tests.
+   -->
+
+	<property name="stress.tests.database" value="${default.database}" />
+
+	<!-- replace that to make it easier to run a specific test -->
+	<property name="test-mask" value="*Test" />
+
+	<!-- Clustering tests -->
+	<property name="clustering.tests.database" value="${default.database}" />
+
+	<!--
+        Default remoting configuration (must be overrided by tasks that need it set otherwise).
+   -->
+	<property name="test.remoting" value="bisocket" />
+
+
+	<!--
+       By default, remote servers log file names should end in remote-server
+   -->
+	<property name="remote.server.test.logfile.suffix" value="remote-server" />
+
+
+	<!--
+        Project paths.
+   -->
+
+	<property name="tests.root" value="${basedir}" />
+	<property name="source.tests.java" value="${tests.root}/src" />
+	<property name="source.tests.integration.java" value="${integration-dir}/tests-src" />
+	<property name="source.tests.stylesheets" value="${source.tests.java}/stylesheets" />
+	<property name="tests.output" value="${tests.root}/output" />
+	<property name="build.tests.classes" value="${tests.output}/classes" />
+	<property name="build.tests.lib" value="${tests.output}/lib" />
+	<property name="build.tests.reports" value="${tests.output}/reports" />
+	<property name="build.tests.stylesheets" value="${tests.output}/stylesheets" />
+	<property name="build.tests.archive" value="jboss-messaging-tests.jar" />
+	<property name="build.tests.ejbarchive" value="jboss-messaging-tests-ejb.jar" />
+	<property name="objectstore.dir" value="${tests.root}/output/ObjectStore" />
+
+	<!--
+        JUnit configuration (values specified in ./build.properties have priority)
+   -->
+
+	<property name="junit.printsummary" value="true" />
+	<property name="junit.haltonerror" value="false" />
+	<property name="junit.haltonfailure" value="false" />
+	<property name="junit.fork" value="true" />
+	<property name="junit.includeantruntime" value="true" />
+	<property name="junit.timeout" value="5400000" />
+	<!-- 90 mins -->
+	<property name="clustering.junit.timeout" value="18000000" />
+	<!-- 150 mins -->
+	<property name="clustering.stress.junit.timeout" value="5400000" />
+	<!-- 90 mins -->
+	<property name="stress.junit.timeout" value="5400000" />
+	<!-- 90 mins -->
+	<property name="bridge.junit.timeout" value="5400000" />
+	<!-- 90 mins -->
+
+	<property name="junit.showoutput" value="true" />
+	<property name="junit.jvm" value="" />
+	<property name="junit.jvm.options" value="" />
+	<property name="junit.formatter.usefile" value="true" />
+	<property name="junit.batchtest.todir" value="${build.tests.reports}" />
+	<property name="junit.batchtest.haltonerror" value="false" />
+	<property name="junit.batchtest.haltonfailure" value="false" />
+	<property name="junit.batchtest.fork" value="true" />
+	<property name="junit.test.haltonfailure" value="false" />
+	<property name="junit.test.haltonerror" value="false" />
+
+	<!--
+        Locally maintained dependencies.
+   -->
+
+	<!--
+       JDBC Drivers.
+   -->
+	<path id="any.jdbc.driver.classpath">
+		<fileset dir="${tests.root}/lib/jdbc-drivers" includes="*.jar" />
+	</path>
+
+
+	<!--
+        The compilation classpath.
+   -->
+
+	<path id="test.compilation.classpath">
+		<path refid="compilation.classpath" />
+		<path location="../output/lib/jboss-messaging.jar" />
+		<path refid="junit.junit.classpath" />
+		<path refid="any.jdbc.driver.classpath" />
+		<path refid="hsqldb.hsqldb.classpath" />
+		<path refid="jboss.profiler.jvmti.classpath" />
+		<path refid="jboss.test14.classpath" />
+		<path refid="jboss.jbossretro.rt.classpath" />
+                <path refid="jboss.jboss.man.classpath"/>
+	</path>
+
+	<!--
+        The execution classpath.
+   -->
+
+	<path id="test.execution.classpath">
+		<pathelement location="${tests.root}/etc" />
+		<pathelement location="${build.tests.classes}" />
+		<pathelement location="${project.root}/output/etc" />
+		<!-- server's configuration files -->
+		<pathelement location="${project.root}/output/etc/server/default/deploy" />
+		<path refid="test.compilation.classpath" />
+		<path refid="dom4j.dom4j.classpath" />
+		<path refid="apache.log4j.classpath" />
+		<path refid="apache.logging.classpath" />
+		<path refid="apache.xerces.classpath" />
+		<path refid="jboss.jbossxb.classpath" />
+		<path refid="jgroups.jgroups.classpath" />
+		<path refid="apache.logging.classpath" />
+		<path refid="any.jdbc.driver.classpath" />
+		<path refid="hsqldb.hsqldb.classpath" />
+		<path refid="apache.tomcat.classpath" />
+		<path refid="apache.logging.classpath" />
+		<path refid="jboss.jboss.reflect.classpath" />
+		<path refid="jboss.jboss.deployers.classpath" />
+	</path>
+
+	<path id="stress.test.execution.classpath">
+		<pathelement path="${tests.root}/etc/stress" />
+		<path refid="test.execution.classpath" />
+	</path>
+
+	<!-- ======================================================================================== -->
+	<!-- Compilation Tasks                                                                        -->
+	<!-- ======================================================================================== -->
+
+	<target name="init" />
+
+	<target name="compile" depends="init">
+
+		<mkdir dir="${build.tests.classes}" />
+		<javac destdir="${build.tests.classes}" optimize="${javac.optimize}" target="1.5" source="1.5" debug="${javac.debug}" depend="${javac.depend}" verbose="${javac.verbose}" deprecation="${javac.deprecation}" includeJavaRuntime="${javac.include.java.runtime}" failonerror="${javac.fail.onerror}">
+			<src path="${source.tests.java}" />
+			<src path="${source.tests.integration.java}" />
+			<classpath refid="test.compilation.classpath" />
+			<include name="**/*.java" />
+		</javac>
+
+		<!--
+           RMI compilation to to create stub for server.
+      -->
+		<rmic base="${build.tests.classes}" includes="**/RMITestServer.class,**/RMINamingDelegate.class">
+			<classpath refid="test.compilation.classpath" />
+		</rmic>
+	</target>
+
+	<!-- ======================================================================================== -->
+	<!-- Archival Tasks                                                                           -->
+	<!-- ======================================================================================== -->
+
+	<target name="tests-jar" depends="compile">
+
+		<mkdir dir="${build.tests.lib}" />
+		<jar jarfile="${build.tests.lib}/${build.tests.archive}">
+			<fileset dir="${build.tests.classes}">
+				<include name="org/jboss/test/messaging/**" />
+			</fileset>
+		</jar>
+	</target>
+
+	<!-- ======================================================================================== -->
+	<!-- Execution Helper Tasks                                                                   -->
+	<!-- ======================================================================================== -->
+
+	<target name="prepare-testdirs">
+		<mkdir dir="${build.tests.reports}" />
+		<mkdir dir="${tests.output}/logs" />
+	</target>
+
+	<target name="clear-test-logs" unless="test.logs.cleared">
+
+		<!-- At the beginning of a test run, clean up the logs, since log4j runs in "append" mode -->
+		<echo message="Cleaning test logs ${tests.output}/logs/*.log" />
+		<delete quiet="true">
+			<fileset dir="${tests.output}/logs" includes="*.log" />
+		</delete>
+		<property name="test.logs.cleared" value="true" />
+	</target>
+
+	<target name="stop-rmi-server" depends="init" description="Stops the RMI server used by remote tests">
+		<java classname="org.jboss.test.messaging.tools.container.StopRMIServer" classpathref="test.execution.classpath">
+			<sysproperty key="module.output" value="${tests.output}" />
+			<sysproperty key="test.logfile.suffix" value="stop-rmi-server" />
+		</java>
+	</target>
+
+	<!-- ======================================================================================== -->
+	<!-- Test Execution Tasks                                                                     -->
+	<!-- ======================================================================================== -->
+
+	<target name="tests" depends="tests-jar, prepare-testdirs, clear-test-logs">
+
+		<antcall target="invm-tests" />
+		<!--
+           default remoting configuration (bisocket)
+      -->
+		<antcall target="remote-tests" />
+
+		<!-- We DO NOT run the test suite using the HTTP transport - it is not sufficiently stable
+
+      <antcall target="remote-tests">
+         <param name="test.remoting" value="http"/>
+      </antcall>
+
+      -->
+
+		<antcall target="clustering-tests" />
+
+		<antcall target="bridge-tests" />
+
+		<antcall target="invm-thirdparty-tests" />
+
+		<antcall target="remote-thirdparty-tests" />
+
+	</target>
+
+	<target name="short-tests" depends="tests-jar, prepare-testdirs, clear-test-logs">
+
+		<antcall target="invm-tests" />
+
+		<antcall target="remote-tests" />
+
+	</target>
+
+	<target name="thirdparty-tests" depends="tests-jar, prepare-testdirs, clear-test-logs">
+
+		<antcall target="invm-thirdparty-tests" />
+
+		<antcall target="remote-thirdparty-tests" />
+
+	</target>
+
+	<target name="http-tests" depends="tests-jar, prepare-testdirs, clear-test-logs">
+		<antcall target="remote-tests">
+			<param name="test.remoting" value="http" />
+		</antcall>
+	</target>
+
+	<target name="invm-tests" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs all available tests an in-VM configuration">
+
+		<echo message="" />
+		<echo message="Running invm tests, fork=${junit.fork}, junit.batchtest.fork=${junit.batchtest.fork}" />
+		<echo message="" />
+
+		<junit printsummary="${junit.printsummary}" fork="on" forkMode="once" includeantruntime="${junit.includeantruntime}" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${junit.timeout}">
+
+			<sysproperty key="remote" value="false" />
+			<sysproperty key="module.output" value="${tests.output}" />
+			<sysproperty key="test.bind.address" value="${test.bind.address}" />
+			<sysproperty key="jgroups.bind_addr" value="${test.bind.address}" />
+			<sysproperty key="test.bind.address" value="${test.bind.address}" />
+			<sysproperty key="jboss.messaging.groupname" value="${jboss.messaging.groupname}" />
+			<sysproperty key="jboss.messaging.datachanneludpport" value="${jboss.messaging.datachanneludpport}" />
+			<sysproperty key="jboss.messaging.controlchanneludpport" value="${jboss.messaging.controlchanneludpport}" />
+			<sysproperty key="jboss.messaging.datachanneludpaddress" value="${jboss.messaging.datachanneludpaddress}" />
+			<sysproperty key="jboss.messaging.controlchanneludpaddress" value="${jboss.messaging.controlchanneludpaddress}" />
+			<sysproperty key="jboss.messaging.ipttl" value="${jboss.messaging.ipttl}" />
+			<sysproperty key="java.net.preferIPv4Stack" value="true" />
+			<sysproperty key="test.database" value="${functional.tests.database}" />
+			<sysproperty key="test.logfile.suffix" value="invm" />
+			<sysproperty key="build.lib" value="${build.lib}" />
+			<sysproperty key="objectstore.dir" value="${objectstore.dir}" />
+			<jvmarg value="-Xmx1024M" />
+			<!--
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000"/>
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=antjunit"/>
+         -->
+			<classpath refid="test.execution.classpath" />
+			<formatter type="xml" usefile="${junit.formatter.usefile}" />
+			<batchtest todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
+				<formatter type="plain" usefile="${junit.formatter.usefile}" />
+				<fileset dir="${build.tests.classes}">
+					<include name="**/messaging/core/**/${test-mask}.class" />
+					<include name="**/jms/**/${test-mask}.class" />
+					<include name="**/messaging/util/**/${test-mask}.class" />
+                                        <exclude name="**/jms/server/recovery/**" />
+                                        <exclude name="**/jms/DeliveryOnConnectionFailureTest.class" />
+					<exclude name="**/jms/MemLeakTest.class" />
+					<exclude name="**/jms/RemotingConnectionConfigurationTest.class" />
+					<exclude name="**/jms/XAResourceRecoveryTest.class" />
+					<exclude name="**/jms/stress/**" />
+					<exclude name="**/jms/crash/**" />
+					<exclude name="**/jms/bridge/**" />
+					<exclude name="**/jms/manual/**" />
+					<exclude name="**/jms/clustering/**" />
+				</fileset>
+			</batchtest>
+		</junit>
+	</target>
+
+	<target name="invm-thirdparty-tests" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs all available thirdparty tests an in-VM configuration">
+
+		<echo message="" />
+		<echo message="Running invm tests, fork=${junit.fork}, junit.batchtest.fork=${junit.batchtest.fork}" />
+		<echo message="" />
+
+		<junit printsummary="${junit.printsummary}" fork="${junit.fork}" includeantruntime="${junit.includeantruntime}" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${junit.timeout}">
+
+			<sysproperty key="remote" value="false" />
+			<sysproperty key="module.output" value="${tests.output}" />
+			<sysproperty key="test.bind.address" value="${test.bind.address}" />
+			<sysproperty key="jgroups.bind_addr" value="${test.bind.address}" />
+			<sysproperty key="test.database" value="${functional.tests.database}" />
+			<sysproperty key="test.logfile.suffix" value="invm" />
+			<sysproperty key="build.lib" value="${build.lib}" />
+			<sysproperty key="objectstore.dir" value="${objectstore.dir}" />
+			<jvmarg value="-Xmx512M" />
+			<!--
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=antjunit"/>
+         -->
+			<classpath refid="test.execution.classpath" />
+			<formatter type="xml" usefile="${junit.formatter.usefile}" />
+			<batchtest fork="${junit.batchtest.fork}" todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
+				<formatter type="plain" usefile="${junit.formatter.usefile}" />
+				<fileset dir="${build.tests.classes}">
+					<include name="**/thirdparty/**/${test-mask}.class" />
+					<exclude name="**/thirdparty/remoting/ManualConnectionValidatorTest.class" />
+					<exclude name="**/thirdparty/remoting/PureAsynchronousCallTest.class" />
+					<exclude name="**/thirdparty/remoting/RemotingConnectionFailureTest.class" />
+					<exclude name="**/thirdparty/remoting/CallbackServerTimeoutTest.class" />
+					<exclude name="**/thirdparty/remoting/ClientInvokerTimeoutTest.class" />
+					<exclude name="**/thirdparty/remoting/SocketTransportCausalityTest.class" />
+				</fileset>
+			</batchtest>
+		</junit>
+	</target>
+
+	<target name="remote-tests" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs remotely all tests for which it makes sense to run remotely">
+
+		<antcall target="stop-rmi-server" />
+
+		<mkdir dir="${build.tests.reports}" />
+
+		<echo message="" />
+		<echo message="Running remote tests, junit.batchtest.fork=${junit.batchtest.fork}, remoting=${test.remoting}" />
+		<echo message="" />
+		
+		<junit printsummary="${junit.printsummary}" fork="on" forkMode="once" includeantruntime="yes" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${junit.timeout}">
+
+			<sysproperty key="remote" value="true" />
+			<sysproperty key="module.output" value="${tests.output}" />
+			<sysproperty key="test.bind.address" value="${test.bind.address}" />
+			<sysproperty key="jgroups.bind_addr" value="${test.bind.address}" />
+			<sysproperty key="test.database" value="${functional.tests.database}" />
+			<sysproperty key="test.remoting" value="${test.remoting}" />
+			<sysproperty key="test.logfile.suffix" value="remote-client" />
+			<sysproperty key="objectstore.dir" value="${objectstore.dir}" />
+
+			<sysproperty key="jboss.messaging.groupname" value="${jboss.messaging.groupname}" />
+			<sysproperty key="jboss.messaging.datachanneludpport" value="${jboss.messaging.datachanneludpport}" />
+			<sysproperty key="jboss.messaging.controlchanneludpport" value="${jboss.messaging.controlchanneludpport}" />
+			<sysproperty key="jboss.messaging.datachanneludpaddress" value="${jboss.messaging.datachanneludpaddress}" />
+			<sysproperty key="jboss.messaging.controlchanneludpaddress" value="${jboss.messaging.controlchanneludpaddress}" />
+			<sysproperty key="jboss.messaging.ipttl" value="${jboss.messaging.ipttl}" />
+			<sysproperty key="java.net.preferIPv4Stack" value="true" />
+			
+			<jvmarg value="-Xmx512M" />
+			<!--
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=n,suspend=n,address=antjunit"/>
+         -->
+			<classpath>
+				<path refid="test.execution.classpath" />
+			</classpath>
+
+			<sysproperty key="jboss-junit-configuration" value="Remote-${test.remoting}" />
+			<formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter" usefile="${junit.formatter.usefile}" extension="-Remote-${test.remoting}.xml" />
+
+			<batchtest todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
+				<formatter type="plain" usefile="${junit.formatter.usefile}" />
+				<fileset dir="${build.tests.classes}">
+
+					<include name="**/jms/${test-mask}.class" />
+					<include name="**/jms/message/**/${test-mask}.class" />
+					<include name="**/jms/selector/${test-mask}.class" />
+					<include name="**/jms/crash/${test-mask}.class" />
+                                        <include name="**/jms/server/recovery/${test-mask}.class" />
+					<exclude name="**/jms/WireFormatTest.class" />
+					<exclude name="**/jms/ReferencingTest.class" />
+					<exclude name="**/jms/PersistenceTest.class" />
+					<exclude name="**/jms/MemLeakTest.class" />
+					<exclude name="**/jms/ManifestTest.class" />
+					<exclude name="**/jms/JCAWrapperTest.class" />
+					<exclude name="**/jms/ClientExitTest.class" />
+				</fileset>
+			</batchtest>
+		</junit>
+
+		<antcall target="stop-rmi-server" />
+
+	</target>
+
+
+	<target name="remote-thirdparty-tests" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs remotely all thirdparty tests for which it makes sense to run remotely">
+
+		<antcall target="stop-rmi-server" />
+
+		<mkdir dir="${build.tests.reports}" />
+
+		<echo message="" />
+		<echo message="Running remote tests, fork=${junit.fork}, junit.batchtest.fork=${junit.batchtest.fork}, remoting=${test.remoting}" />
+		<echo message="" />
+
+		<junit printsummary="${junit.printsummary}" fork="on" forkMode="once" includeantruntime="yes" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${junit.timeout}">
+
+			<sysproperty key="remote" value="true" />
+			<sysproperty key="module.output" value="${tests.output}" />
+			<sysproperty key="test.bind.address" value="${test.bind.address}" />
+			<sysproperty key="jgroups.bind_addr" value="${test.bind.address}" />
+			<sysproperty key="test.database" value="${functional.tests.database}" />
+			<sysproperty key="test.remoting" value="${test.remoting}" />
+			<sysproperty key="test.logfile.suffix" value="remote-client" />
+			<sysproperty key="objectstore.dir" value="${objectstore.dir}" />
+			<jvmarg value="-Xmx512M" />
+			<!--
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=n,suspend=n,address=antjunit"/>
+         -->
+			<classpath>
+				<path refid="test.execution.classpath" />
+			</classpath>
+
+			<sysproperty key="jboss-junit-configuration" value="Remote-${test.remoting}" />
+			<formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter" usefile="${junit.formatter.usefile}" extension="-Remote-${test.remoting}.xml" />
+
+			<batchtest todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
+				<formatter type="plain" usefile="${junit.formatter.usefile}" />
+
+				<fileset dir="${build.tests.classes}">
+					<include name="**/thirdparty/**/${test-mask}.class" />
+					<exclude name="**/thirdparty/remoting/ServerAddressTest.class" />
+					<exclude name="**/thirdparty/jbosssx/SecurityAssociationTest.class" />
+				</fileset>
+			</batchtest>
+		</junit>
+
+		<antcall target="stop-rmi-server" />
+
+	</target>
+
+	<target name="stress-tests" depends="tests-jar, prepare-testdirs, clear-test-logs">
+		<antcall target="invm-stress-tests" />
+		<antcall target="remote-stress-tests" />
+		<!-- default remoting configuration (bisocket) -->
+
+		<!--
+      <antcall target="clustering-stress-tests"/>
+-->
+		<!-- We DO NOT run the test suite using the HTTP transport - it is not sufficiently stable
+      <antcall target="remote-stress-tests">
+         <param name="test.remoting" value="http"/>
+      </antcall>
+      -->
+
+	</target>
+
+	<target name="invm-stress-tests" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs all stress tests in an in-VM configuration">
+
+		<junit printsummary="${junit.printsummary}" fork="${junit.fork}" includeantruntime="${junit.includeantruntime}" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${stress.junit.timeout}">
+
+			<sysproperty key="remote" value="false" />
+			<sysproperty key="module.output" value="${tests.output}" />
+			<sysproperty key="test.bind.address" value="${test.bind.address}" />
+			<sysproperty key="jgroups.bind_addr" value="${test.bind.address}" />
+			<sysproperty key="test.database" value="${stress.tests.database}" />
+			<sysproperty key="test.logfile.suffix" value="invm" />
+			<sysproperty key="objectstore.dir" value="${objectstore.dir}" />
+			<jvmarg value="-Xmx512M" />
+			<!--
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=antjunit"/>
+         -->
+			<classpath refid="stress.test.execution.classpath" />
+			<sysproperty key="jboss-junit-configuration" value="StressInVM" />
+			<formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter" usefile="${junit.formatter.usefile}" extension="-StressInVM.xml" />
+			<batchtest fork="${junit.batchtest.fork}" todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
+				<formatter type="plain" usefile="${junit.formatter.usefile}" />
+				<fileset dir="${build.tests.classes}">
+					<include name="**/jms/stress/${test-mask}.class" />
+				</fileset>
+			</batchtest>
+		</junit>
+	</target>
+
+	<target name="remote-stress-tests" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs remotely all stress tests for which it makes sense to run remotely">
+
+		<antcall target="stop-rmi-server" />
+		<mkdir dir="${build.tests.reports}" />
+
+		<junit printsummary="${junit.printsummary}" fork="${junit.fork}" includeantruntime="yes" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${stress.junit.timeout}">
+
+			<sysproperty key="remote" value="true" />
+			<sysproperty key="module.output" value="${tests.output}" />
+			<sysproperty key="test.bind.address" value="${test.bind.address}" />
+			<sysproperty key="jgroups.bind_addr" value="${test.bind.address}" />
+			<sysproperty key="test.database" value="${stress.tests.database}" />
+			<sysproperty key="test.remoting" value="${test.remoting}" />
+			<sysproperty key="test.logfile.suffix" value="remote-client" />
+			<sysproperty key="objectstore.dir" value="${objectstore.dir}" />
+			<jvmarg value="-Xmx512M" />
+			<!-- <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=unittest"/> -->
+			<classpath>
+				<path refid="stress.test.execution.classpath" />
+			</classpath>
+
+			<sysproperty key="jboss-junit-configuration" value="StressRemote-${test.remoting}" />
+			<formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter" usefile="${junit.formatter.usefile}" extension="-StressRemote-${test.remoting}.xml" />
+
+			<batchtest fork="${junit.batchtest.fork}" todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
+				<formatter type="plain" usefile="${junit.formatter.usefile}" />
+				<fileset dir="${build.tests.classes}">
+					<include name="**/jms/stress/${test-mask}.class" />
+				</fileset>
+			</batchtest>
+		</junit>
+
+		<antcall target="stop-rmi-server" />
+
+	</target>
+
+	<target name="clustering-stress-tests" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs the clustering tests">
+
+		<antcall target="stop-rmi-server" />
+
+		<mkdir dir="${build.tests.reports}" />
+
+		<echo message="" />
+		<echo message="Running clustering stress tests, fork=${junit.fork}, junit.batchtest.fork=${junit.batchtest.fork}" />
+		<echo message="" />
+
+		<junit printsummary="${junit.printsummary}" fork="${junit.fork}" includeantruntime="yes" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${clustering.stress.junit.timeout}">
+
+         <sysproperty key="remote" value="true"/>
+         <sysproperty key="module.output" value="${tests.output}"/>
+         <sysproperty key="test.bind.address" value="${test.bind.address}"/>
+         <sysproperty key="jgroups.bind_addr" value="${test.bind.address}"/>
+         <sysproperty key="test.database" value="${clustering.tests.database}"/>
+         <sysproperty key="test.clustered" value="true"/>
+         <sysproperty key="test.logfile.suffix" value="clustering-client"/>
+         <sysproperty key="objectstore.dir" value="${objectstore.dir}"/>
+         <sysproperty key="java.net.preferIPv4Stack" value="${java.net.preferIPv4Stack}" />
+	 <jvmarg value="-Xmx512M"/>
+         <!--
+         <jvmarg line="-Xmx512M -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=n,suspend=n,address=antjunit"/>
+          -->
+
+			<classpath>
+				<path refid="test.execution.classpath" />
+			</classpath>
+
+			<sysproperty key="jboss-junit-configuration" value="StressClustering" />
+			<formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter" usefile="${junit.formatter.usefile}" extension="-Clustering.xml" />
+
+			<batchtest fork="${junit.batchtest.fork}" todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
+				<formatter type="plain" usefile="${junit.formatter.usefile}" />
+
+				<fileset dir="${build.tests.classes}">
+					<include name="**/jms/stress/clustering/${test-mask}.class" />
+				</fileset>
+			</batchtest>
+		</junit>
+		<antcall target="stop-rmi-server" />
+	</target>
+
+	<target name="clustering-tests" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs the clustering tests">
+
+		<antcall target="stop-rmi-server" />
+
+		<mkdir dir="${build.tests.reports}" />
+
+		<echo message="" />
+		<echo message="Running clustering tests, fork=${junit.fork}, junit.batchtest.fork=${junit.batchtest.fork}" />
+		<echo message="" />
+
+		<junit printsummary="${junit.printsummary}" fork="on" forkMode="once" includeantruntime="yes" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${clustering.junit.timeout}">
+
+         <sysproperty key="remote" value="true"/>
+         <sysproperty key="module.output" value="${tests.output}"/>
+         <sysproperty key="test.bind.address" value="${test.bind.address}"/>
+         <sysproperty key="jboss.messaging.groupname" value="${jboss.messaging.groupname}"/>
+         <sysproperty key="jboss.messaging.datachanneludpport" value="${jboss.messaging.datachanneludpport}"/>
+         <sysproperty key="jboss.messaging.controlchanneludpport" value="${jboss.messaging.controlchanneludpport}"/>
+         <sysproperty key="jboss.messaging.datachanneludpaddress" value="${jboss.messaging.datachanneludpaddress}"/>
+         <sysproperty key="jboss.messaging.controlchanneludpaddress" value="${jboss.messaging.controlchanneludpaddress}"/>
+         <sysproperty key="jboss.messaging.ipttl" value="${jboss.messaging.ipttl}"/>
+         <sysproperty key="jgroups.bind_addr" value="${test.bind.address}"/>
+         <sysproperty key="test.database" value="${clustering.tests.database}"/>
+         <sysproperty key="test.clustered" value="true"/>
+         <sysproperty key="test.logfile.suffix" value="clustering-client"/>
+         <sysproperty key="objectstore.dir" value="${objectstore.dir}"/>
+         <sysproperty key="java.net.preferIPv4Stack" value="${java.net.preferIPv4Stack}" />
+	 <jvmarg value="-Xmx512M"/>
+         <!--
+         <jvmarg line="-Xmx512M -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=n,suspend=n,address=antjunit"/>
+          -->
+
+			<classpath>
+				<path refid="test.execution.classpath" />
+			</classpath>
+
+			<sysproperty key="jboss-junit-configuration" value="Clustering" />
+			<formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter" usefile="${junit.formatter.usefile}" extension="-Clustering.xml" />
+
+			<batchtest todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
+				<formatter type="plain" usefile="${junit.formatter.usefile}" />
+
+				<fileset dir="${build.tests.classes}">
+					<include name="**/jms/clustering/${test-mask}.class" />
+					<exclude name="**/jms/clustering/MultiThreadFailoverTest.class" />
+					<exclude name="**/jms/clustering/ClusterLeakTest.class" />
+				</fileset>
+			</batchtest>
+		</junit>
+		<antcall target="stop-rmi-server" />
+	</target>
+
+	<target name="bridge-tests" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs bridge tests">
+
+		<antcall target="stop-rmi-server" />
+
+		<mkdir dir="${build.tests.reports}" />
+
+		<echo message="" />
+		<echo message="Running bridge tests, fork=${junit.fork}, junit.batchtest.fork=${junit.batchtest.fork}, remoting=${test.remoting}" />
+		<echo message="" />
+
+		<junit printsummary="${junit.printsummary}" fork="on" forkMode="once" includeantruntime="yes" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${bridge.junit.timeout}">
+
+			<sysproperty key="remote" value="true" />
+			<sysproperty key="module.output" value="${tests.output}" />
+			<sysproperty key="test.bind.address" value="${test.bind.address}" />
+			<sysproperty key="jgroups.bind_addr" value="${test.bind.address}" />
+			<sysproperty key="test.database" value="${functional.tests.database}" />
+			<sysproperty key="test.remoting" value="${test.remoting}" />
+			<sysproperty key="test.logfile.suffix" value="remote-client" />
+			<sysproperty key="objectstore.dir" value="${objectstore.dir}" />
+			<jvmarg value="-Xmx512M" />
+			<!--
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=n,suspend=n,address=antjunit"/>
+         -->
+			<classpath>
+				<path refid="test.execution.classpath" />
+			</classpath>
+
+			<sysproperty key="jboss-junit-configuration" value="Remote-${test.remoting}" />
+			<formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter" usefile="${junit.formatter.usefile}" extension="-Remote-${test.remoting}.xml" />
+
+			<batchtest todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
+				<formatter type="plain" usefile="${junit.formatter.usefile}" />
+
+				<fileset dir="${build.tests.classes}">
+                                        <include name="**/jms/bridge/**/BridgeMBeanExtraTest.class" />
+				</fileset>
+			</batchtest>
+		</junit>
+
+		<antcall target="stop-rmi-server" />
+
+		<junit printsummary="${junit.printsummary}" fork="on" forkMode="once" includeantruntime="yes" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${bridge.junit.timeout}">
+
+			<sysproperty key="remote" value="true" />
+			<sysproperty key="module.output" value="${tests.output}" />
+			<sysproperty key="test.bind.address" value="${test.bind.address}" />
+			<sysproperty key="jgroups.bind_addr" value="${test.bind.address}" />
+			<sysproperty key="test.database" value="${functional.tests.database}" />
+			<sysproperty key="test.remoting" value="${test.remoting}" />
+			<sysproperty key="test.logfile.suffix" value="remote-client" />
+			<sysproperty key="objectstore.dir" value="${objectstore.dir}" />
+			<jvmarg value="-Xmx512M" />
+			<!--
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=n,suspend=n,address=antjunit"/>
+         -->
+			<classpath>
+				<path refid="test.execution.classpath" />
+			</classpath>
+
+			<sysproperty key="jboss-junit-configuration" value="Remote-${test.remoting}" />
+			<formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter" usefile="${junit.formatter.usefile}" extension="-Remote-${test.remoting}.xml" />
+
+			<batchtest todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
+				<formatter type="plain" usefile="${junit.formatter.usefile}" />
+
+				<fileset dir="${build.tests.classes}">
+					<include name="**/jms/bridge/**/${test-mask}.class" />
+                                        <exclude name="**/jms/bridge/**/BridgeMBeanExtraTest.class" />
+				</fileset>
+			</batchtest>
+		</junit>
+		<antcall target="stop-rmi-server" />
+
+	</target>
+
+	<target name="memory-leak-tests" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs MemoryLeakTests, but it starts the clustering for leak-clustering-tests">
+
+		<mkdir dir="${build.tests.reports}" />
+
+		<echo message="" />
+		<echo message="Running clustering tests, fork=${junit.fork}, junit.batchtest.fork=${junit.batchtest.fork}" />
+		<echo message="" />
+
+		<!--
+
+           By default, clustered tests are run in a "remote" configuration (the clustered
+           nodes physically live in different VMs. If you want to test a co-located clustered
+           configuration, use bin/runtest -clustered
+      -->
+
+		<junit printsummary="${junit.printsummary}" fork="${junit.fork}" includeantruntime="yes" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${junit.timeout}">
+
+         <sysproperty key="remote" value="true"/>
+         <sysproperty key="module.output" value="${tests.output}"/>
+         <sysproperty key="test.bind.address" value="${test.bind.address}"/>
+         <sysproperty key="jgroups.bind_addr" value="${test.bind.address}"/>
+         <sysproperty key="test.database" value="${clustering.tests.database}"/>
+         <sysproperty key="test.clustered" value="true"/>
+         <sysproperty key="test.logfile.suffix" value="clustering-client"/>
+         <sysproperty key="objectstore.dir" value="${objectstore.dir}"/>
+         <sysproperty key="java.net.preferIPv4Stack" value="${java.net.preferIPv4Stack}" />
+	 <jvmarg value="-Xmx512M"/>
+         <jvmarg value="-agentlib:jbossAgent"/>
+         <!--
+         <jvmarg line="-Xmx512M -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=n,suspend=n,address=antjunit"/>
+          -->
+
+			<classpath>
+				<path refid="test.execution.classpath" />
+			</classpath>
+
+			<sysproperty key="jboss-junit-configuration" value="Clustering" />
+			<formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter" usefile="${junit.formatter.usefile}" extension="-Clustering.xml" />
+
+			<batchtest fork="${junit.batchtest.fork}" todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
+				<formatter type="plain" usefile="${junit.formatter.usefile}" />
+
+				<fileset dir="${build.tests.classes}">
+					<include name="**/ClusterLeakTest.class" />
+				</fileset>
+			</batchtest>
+		</junit>
+	</target>
+
+	<target name="drop-tables" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Drops all tables">
+
+		<echo message="" />
+		<echo message="Running invm tests, fork=${junit.fork}, junit.batchtest.fork=${junit.batchtest.fork}" />
+		<echo message="" />
+
+		<junit printsummary="${junit.printsummary}" fork="on" forkMode="once" includeantruntime="${junit.includeantruntime}" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${junit.timeout}">
+
+			<sysproperty key="remote" value="false" />
+			<sysproperty key="module.output" value="${tests.output}" />
+			<sysproperty key="test.database" value="${functional.tests.database}" />
+			<sysproperty key="test.logfile.suffix" value="invm" />
+			<sysproperty key="build.lib" value="${build.lib}" />
+			<sysproperty key="objectstore.dir" value="${objectstore.dir}" />
+			<jvmarg value="-Xmx512M" />
+			<!--
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=antjunit"/>
+         -->
+			<classpath refid="test.execution.classpath" />
+			<formatter type="xml" usefile="${junit.formatter.usefile}" />
+			<test name="org.jboss.test.messaging.DropTablesTest" fork="false" todir="${junit.batchtest.todir}" haltonfailure="${junit.test.haltonfailure}" haltonerror="${junit.test.haltonerror}">
+			</test>
+		</junit>
+	</target>
+
+	<target name="test" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs a single test, specified by its FQ class name via 'test.classname'">
+
+		<fail unless="test.classname" message="To run a single test, use: ./build.sh test -Dtest.classname=org.package.MyTest" />
+		<echo>Module root is:${module.root}</echo>
+		<property name="test.classname" value="dummy" />
+
+		<junit printsummary="${junit.printsummary}" fork="${junit.fork}" includeantruntime="${junit.includeantruntime}" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${junit.timeout}">
+			<sysproperty key="remote" value="${build.tests.remote}" />
+			<sysproperty key="module.output" value="${tests.output}" />
+			<sysproperty key="test.bind.address" value="${test.bind.address}" />
+			<sysproperty key="jgroups.bind_addr" value="${test.bind.address}" />
+			<sysproperty key="test.database" value="${functional.tests.database}" />
+			<!--
+            <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=y"/>
+         -->
+			<jvmarg value="-Xmx1024M" />
+			<classpath refid="test.execution.classpath" />
+			<formatter type="xml" usefile="${junit.formatter.usefile}" />
+			<test name="${test.classname}" fork="false" todir="${junit.batchtest.todir}" haltonfailure="${junit.test.haltonfailure}" haltonerror="${junit.test.haltonerror}">
+			</test>
+		</junit>
+		<antcall target="stop-rmi-server" />
+	</target>
+
+	<!-- ======================================================================================== -->
+	<!-- Report Tasks                                                                             -->
+	<!-- ======================================================================================== -->
+
+	<target name="copy-stylesheets">
+		<mkdir dir="${build.tests.stylesheets}" />
+		<copy todir="${build.tests.stylesheets}" filtering="yes">
+			<fileset dir="${source.tests.stylesheets}">
+				<include name="**/*" />
+			</fileset>
+		</copy>
+	</target>
+
+	<target name="compile-report" depends="copy-stylesheets">
+		<mkdir dir="${build.tests.reports}/html" />
+		<junitreport todir="${build.tests.reports}">
+			<fileset dir="${build.tests.reports}">
+				<include name="TEST-*.xml" />
+			</fileset>
+			<report format="frames" todir="${build.tests.reports}/html" styledir="${build.tests.stylesheets}" />
+		</junitreport>
+	</target>
+
+	<target name="report" depends="tests, copy-stylesheets, compile-report" />
+
+	<target name="short-report" depends="short-tests, copy-stylesheets, compile-report" />
+
+	<target name="stress-report" depends="stress-tests, copy-stylesheets, compile-report" />
+
+	<target name="functional-tests" depends="tests" />
+
+	<!-- ======================================================================================== -->
+	<!-- Cleaning Tasks                                                                           -->
+	<!-- ======================================================================================== -->
+
+	<target name="clean">
+		<delete dir="${tests.output}" />
+		<delete quiet="true">
+			<fileset dir="./bin">
+				<include name=".*.classpath" />
+			</fileset>
+		</delete>
+		<ant dir="./smoke" antfile="build.xml" inheritAll="false" target="clean" />
+	</target>
+
+	<!-- ======================================================================================== -->
+	<!-- Tasks required by bin/runtest                                                            -->
+	<!-- ======================================================================================== -->
+
+	<property name="test.execution.classpath.file" value=".test.execution.classpath" />
+
+	<target name="get-test-execution-classpath" depends="init">
+		<pathconvert refid="test.execution.classpath" property="test.execution.classpath.unix" />
+		<echo message="${test.execution.classpath.unix}" file="${test.execution.classpath.file}" />
+	</target>
+
+</project>
+

Added: branches/Branch_1_4/tests/build-test-EAP4.xml
===================================================================
--- branches/Branch_1_4/tests/build-test-EAP4.xml	                        (rev 0)
+++ branches/Branch_1_4/tests/build-test-EAP4.xml	2010-03-03 14:50:50 UTC (rev 7966)
@@ -0,0 +1,912 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- =========================================================================================== -->
+<!--                                                                                             -->
+<!-- JBoss, Home of Professional Open Source                                                     -->
+<!-- Copyright 2005, JBoss Inc., and individual contributors as indicated                        -->
+<!-- by the @authors tag. See the copyright.txt in the distribution for a                        -->
+<!-- full listing of individual contributors.                                                    -->
+<!--                                                                                             -->
+<!-- This is free software; you can redistribute it and/or modify it                             -->
+<!-- under the terms of the GNU Lesser General Public License as                                 -->
+<!-- published by the Free Software Foundation; either version 2.1 of                            -->
+<!-- the License, or (at your option) any later version.                                         -->
+<!--                                                                                             -->
+<!-- This software is distributed in the hope that it will be useful,                            -->
+<!-- but WITHOUT ANY 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 along with this software; if not, write to the Free                                 -->
+<!-- Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA                          -->
+<!-- 02110-1301 USA, or see the FSF site: http://www.fsf.org.                                    -->
+<!--                                                                                             -->
+<!-- =========================================================================================== -->
+
+
+<!-- =========================================================================================== -->
+<!--                                                                                             -->
+<!-- $Id: build.xml 7766 2009-08-18 02:10:45Z gaohoward $ -->
+<!--                                                                                             -->
+<!-- =========================================================================================== -->
+
+<project default="tests" name="JBoss Messaging Tests EAP4">
+
+	<import file="../build-messaging.xml" />
+	<!-- ======================================================================================== -->
+	<!-- Configuration                                                                            -->
+	<!-- ======================================================================================== -->
+    
+	
+	<property name="default.database" value="mysql"/>
+
+	<property file="build.properties" />
+
+	<property name="build.tests.remote" value="false" />
+	<property name="test.bind.address" value="localhost" />
+	<property name="jboss.messaging.groupname" value="MessagingPostOffice" />
+	<property name="jboss.messaging.datachanneludpport" value="45567" />
+	<property name="jboss.messaging.controlchanneludpport" value="45568" />
+	<property name="jboss.messaging.datachanneludpaddress" value="228.6.6.6" />
+	<property name="jboss.messaging.controlchanneludpaddress" value="228.7.7.7" />
+	<property name="jboss.messaging.ipttl" value="0" />
+   <property name="java.net.preferIPv4Stack" value="true"/>
+
+	<!--
+        Functional tests.
+   -->
+
+	<property name="functional.tests.database" value="${default.database}" />
+
+	<!--
+        Stress tests.
+   -->
+
+	<property name="stress.tests.database" value="${default.database}" />
+
+	<!-- replace that to make it easier to run a specific test -->
+	<property name="test-mask" value="*Test" />
+
+	<!-- Clustering tests -->
+	<property name="clustering.tests.database" value="${default.database}" />
+
+	<!--
+        Default remoting configuration (must be overrided by tasks that need it set otherwise).
+   -->
+	<property name="test.remoting" value="bisocket" />
+
+
+	<!--
+       By default, remote servers log file names should end in remote-server
+   -->
+	<property name="remote.server.test.logfile.suffix" value="remote-server" />
+
+
+	<!--
+        Project paths.
+   -->
+
+	<property name="tests.root" value="${basedir}" />
+	<property name="source.tests.java" value="${tests.root}/src" />
+	<property name="source.tests.integration.java" value="${integration-dir}/tests-src" />
+	<property name="source.tests.stylesheets" value="${source.tests.java}/stylesheets" />
+	<property name="tests.output" value="${tests.root}/output" />
+	<property name="build.tests.classes" value="${tests.output}/classes" />
+	<property name="build.tests.lib" value="${tests.output}/lib" />
+	<property name="build.tests.reports" value="${tests.output}/reports" />
+	<property name="build.tests.stylesheets" value="${tests.output}/stylesheets" />
+	<property name="build.tests.archive" value="jboss-messaging-tests.jar" />
+	<property name="build.tests.ejbarchive" value="jboss-messaging-tests-ejb.jar" />
+	<property name="objectstore.dir" value="${tests.root}/output/ObjectStore" />
+
+	<!--
+        JUnit configuration (values specified in ./build.properties have priority)
+   -->
+
+	<property name="junit.printsummary" value="true" />
+	<property name="junit.haltonerror" value="false" />
+	<property name="junit.haltonfailure" value="false" />
+	<property name="junit.fork" value="true" />
+	<property name="junit.includeantruntime" value="true" />
+	<property name="junit.timeout" value="5400000" />
+	<!-- 90 mins -->
+	<property name="clustering.junit.timeout" value="18000000" />
+	<!-- 150 mins -->
+	<property name="clustering.stress.junit.timeout" value="5400000" />
+	<!-- 90 mins -->
+	<property name="stress.junit.timeout" value="5400000" />
+	<!-- 90 mins -->
+	<property name="bridge.junit.timeout" value="5400000" />
+	<!-- 90 mins -->
+
+	<property name="junit.showoutput" value="true" />
+	<property name="junit.jvm" value="" />
+	<property name="junit.jvm.options" value="" />
+	<property name="junit.formatter.usefile" value="true" />
+	<property name="junit.batchtest.todir" value="${build.tests.reports}" />
+	<property name="junit.batchtest.haltonerror" value="false" />
+	<property name="junit.batchtest.haltonfailure" value="false" />
+	<property name="junit.batchtest.fork" value="true" />
+	<property name="junit.test.haltonfailure" value="false" />
+	<property name="junit.test.haltonerror" value="false" />
+
+	<!--
+        Locally maintained dependencies.
+   -->
+
+	<!--
+       JDBC Drivers.
+   -->
+	<path id="any.jdbc.driver.classpath">
+		<fileset dir="${tests.root}/lib/jdbc-drivers" includes="*.jar" />
+	</path>
+
+
+	<!--
+        The compilation classpath.
+   -->
+
+	<path id="test.compilation.classpath">
+		<path refid="compilation.classpath" />
+		<path location="../output/lib/jboss-messaging.jar" />
+		<path refid="junit.junit.classpath" />
+		<path refid="any.jdbc.driver.classpath" />
+		<path refid="hsqldb.hsqldb.classpath" />
+		<path refid="jboss.profiler.jvmti.classpath" />
+		<path refid="jboss.test14.classpath" />
+		<path refid="jboss.jbossretro.rt.classpath" />
+	</path>
+
+	<!--
+        The execution classpath.
+   -->
+
+	<path id="test.execution.classpath">
+		<pathelement location="${tests.root}/etc" />
+		<pathelement location="${build.tests.classes}" />
+		<pathelement location="${project.root}/output/etc" />
+		<!-- server's configuration files -->
+		<pathelement location="${project.root}/output/etc/server/default/deploy" />
+		<path refid="test.compilation.classpath" />
+		<path refid="dom4j.dom4j.classpath" />
+		<path refid="apache.log4j.classpath" />
+		<path refid="apache.logging.classpath" />
+		<path refid="apache.xerces.classpath" />
+		<path refid="jboss.jbossxb.classpath" />
+		<path refid="jgroups.jgroups.classpath" />
+		<path refid="apache.logging.classpath" />
+		<path refid="any.jdbc.driver.classpath" />
+		<path refid="hsqldb.hsqldb.classpath" />
+		<path refid="apache.tomcat.classpath" />
+		<path refid="apache.logging.classpath" />
+	</path>
+
+	<path id="stress.test.execution.classpath">
+		<pathelement path="${tests.root}/etc/stress" />
+		<path refid="test.execution.classpath" />
+	</path>
+
+	<!-- ======================================================================================== -->
+	<!-- Compilation Tasks                                                                        -->
+	<!-- ======================================================================================== -->
+
+	<target name="init" />
+
+	<target name="compile" depends="init">
+
+		<mkdir dir="${build.tests.classes}" />
+		<javac destdir="${build.tests.classes}" optimize="${javac.optimize}" target="1.5" source="1.5" debug="${javac.debug}" depend="${javac.depend}" verbose="${javac.verbose}" deprecation="${javac.deprecation}" includeJavaRuntime="${javac.include.java.runtime}" failonerror="${javac.fail.onerror}">
+			<src path="${source.tests.java}" />
+			<src path="${source.tests.integration.java}" />
+			<classpath refid="test.compilation.classpath" />
+			<include name="**/*.java" />
+		</javac>
+
+		<!--
+           RMI compilation to to create stub for server.
+      -->
+		<rmic base="${build.tests.classes}" includes="**/RMITestServer.class,**/RMINamingDelegate.class">
+			<classpath refid="test.compilation.classpath" />
+		</rmic>
+	</target>
+
+	<!-- ======================================================================================== -->
+	<!-- Archival Tasks                                                                           -->
+	<!-- ======================================================================================== -->
+
+	<target name="tests-jar" depends="compile">
+
+		<mkdir dir="${build.tests.lib}" />
+		<jar jarfile="${build.tests.lib}/${build.tests.archive}">
+			<fileset dir="${build.tests.classes}">
+				<include name="org/jboss/test/messaging/**" />
+			</fileset>
+		</jar>
+	</target>
+
+	<!-- ======================================================================================== -->
+	<!-- Execution Helper Tasks                                                                   -->
+	<!-- ======================================================================================== -->
+
+	<target name="prepare-testdirs">
+		<mkdir dir="${build.tests.reports}" />
+		<mkdir dir="${tests.output}/logs" />
+	</target>
+
+	<target name="clear-test-logs" unless="test.logs.cleared">
+
+		<!-- At the beginning of a test run, clean up the logs, since log4j runs in "append" mode -->
+		<echo message="Cleaning test logs ${tests.output}/logs/*.log" />
+		<delete quiet="true">
+			<fileset dir="${tests.output}/logs" includes="*.log" />
+		</delete>
+		<property name="test.logs.cleared" value="true" />
+	</target>
+
+	<target name="stop-rmi-server" depends="init" description="Stops the RMI server used by remote tests">
+		<java classname="org.jboss.test.messaging.tools.container.StopRMIServer" classpathref="test.execution.classpath">
+			<sysproperty key="module.output" value="${tests.output}" />
+			<sysproperty key="test.logfile.suffix" value="stop-rmi-server" />
+		</java>
+	</target>
+
+	<!-- ======================================================================================== -->
+	<!-- Test Execution Tasks                                                                     -->
+	<!-- ======================================================================================== -->
+
+	<target name="tests" depends="tests-jar, prepare-testdirs, clear-test-logs">
+
+		<antcall target="invm-tests" />
+		<!--
+           default remoting configuration (bisocket)
+      -->
+		<antcall target="remote-tests" />
+
+		<!-- We DO NOT run the test suite using the HTTP transport - it is not sufficiently stable
+
+      <antcall target="remote-tests">
+         <param name="test.remoting" value="http"/>
+      </antcall>
+
+      -->
+
+		<antcall target="clustering-tests" />
+
+		<antcall target="bridge-tests" />
+
+		<antcall target="invm-thirdparty-tests" />
+
+		<antcall target="remote-thirdparty-tests" />
+
+	</target>
+
+	<target name="short-tests" depends="tests-jar, prepare-testdirs, clear-test-logs">
+
+		<antcall target="invm-tests" />
+
+		<antcall target="remote-tests" />
+
+	</target>
+
+	<target name="thirdparty-tests" depends="tests-jar, prepare-testdirs, clear-test-logs">
+
+		<antcall target="invm-thirdparty-tests" />
+
+		<antcall target="remote-thirdparty-tests" />
+
+	</target>
+
+	<target name="http-tests" depends="tests-jar, prepare-testdirs, clear-test-logs">
+		<antcall target="remote-tests">
+			<param name="test.remoting" value="http" />
+		</antcall>
+	</target>
+
+	<target name="invm-tests" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs all available tests an in-VM configuration">
+
+		<echo message="" />
+		<echo message="Running invm tests, fork=${junit.fork}, junit.batchtest.fork=${junit.batchtest.fork}" />
+		<echo message="" />
+
+		<junit printsummary="${junit.printsummary}" fork="on" forkMode="once" includeantruntime="${junit.includeantruntime}" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${junit.timeout}">
+
+			<sysproperty key="remote" value="false" />
+			<sysproperty key="module.output" value="${tests.output}" />
+			<sysproperty key="test.bind.address" value="${test.bind.address}" />
+			<sysproperty key="jgroups.bind_addr" value="${test.bind.address}" />
+			<sysproperty key="test.bind.address" value="${test.bind.address}" />
+			<sysproperty key="jboss.messaging.groupname" value="${jboss.messaging.groupname}" />
+			<sysproperty key="jboss.messaging.datachanneludpport" value="${jboss.messaging.datachanneludpport}" />
+			<sysproperty key="jboss.messaging.controlchanneludpport" value="${jboss.messaging.controlchanneludpport}" />
+			<sysproperty key="jboss.messaging.datachanneludpaddress" value="${jboss.messaging.datachanneludpaddress}" />
+			<sysproperty key="jboss.messaging.controlchanneludpaddress" value="${jboss.messaging.controlchanneludpaddress}" />
+			<sysproperty key="jboss.messaging.ipttl" value="${jboss.messaging.ipttl}" />
+			<sysproperty key="java.net.preferIPv4Stack" value="true" />
+			<sysproperty key="test.database" value="${functional.tests.database}" />
+			<sysproperty key="test.logfile.suffix" value="invm" />
+			<sysproperty key="build.lib" value="${build.lib}" />
+			<sysproperty key="objectstore.dir" value="${objectstore.dir}" />
+			<jvmarg value="-Xmx1024M" />
+			<!--
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000"/>
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=antjunit"/>
+         -->
+			<classpath refid="test.execution.classpath" />
+			<formatter type="xml" usefile="${junit.formatter.usefile}" />
+			<batchtest todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
+				<formatter type="plain" usefile="${junit.formatter.usefile}" />
+				<fileset dir="${build.tests.classes}">
+					<include name="**/messaging/core/**/${test-mask}.class" />
+					<include name="**/jms/**/${test-mask}.class" />
+					<include name="**/messaging/util/**/${test-mask}.class" />
+                                        <exclude name="**/jms/server/recovery/**" />
+                                        <exclude name="**/jms/DeliveryOnConnectionFailureTest.class" />
+					<exclude name="**/jms/MemLeakTest.class" />
+					<exclude name="**/jms/RemotingConnectionConfigurationTest.class" />
+					<exclude name="**/jms/XAResourceRecoveryTest.class" />
+					<exclude name="**/jms/stress/**" />
+					<exclude name="**/jms/crash/**" />
+					<exclude name="**/jms/bridge/**" />
+					<exclude name="**/jms/manual/**" />
+					<exclude name="**/jms/clustering/**" />
+				</fileset>
+			</batchtest>
+		</junit>
+	</target>
+
+	<target name="invm-thirdparty-tests" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs all available thirdparty tests an in-VM configuration">
+
+		<echo message="" />
+		<echo message="Running invm tests, fork=${junit.fork}, junit.batchtest.fork=${junit.batchtest.fork}" />
+		<echo message="" />
+
+		<junit printsummary="${junit.printsummary}" fork="${junit.fork}" includeantruntime="${junit.includeantruntime}" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${junit.timeout}">
+
+			<sysproperty key="remote" value="false" />
+			<sysproperty key="module.output" value="${tests.output}" />
+			<sysproperty key="test.bind.address" value="${test.bind.address}" />
+			<sysproperty key="jgroups.bind_addr" value="${test.bind.address}" />
+			<sysproperty key="test.database" value="${functional.tests.database}" />
+			<sysproperty key="test.logfile.suffix" value="invm" />
+			<sysproperty key="build.lib" value="${build.lib}" />
+			<sysproperty key="objectstore.dir" value="${objectstore.dir}" />
+			<jvmarg value="-Xmx512M" />
+			<!--
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=antjunit"/>
+         -->
+			<classpath refid="test.execution.classpath" />
+			<formatter type="xml" usefile="${junit.formatter.usefile}" />
+			<batchtest fork="${junit.batchtest.fork}" todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
+				<formatter type="plain" usefile="${junit.formatter.usefile}" />
+				<fileset dir="${build.tests.classes}">
+					<include name="**/thirdparty/**/${test-mask}.class" />
+					<exclude name="**/thirdparty/remoting/ManualConnectionValidatorTest.class" />
+					<exclude name="**/thirdparty/remoting/PureAsynchronousCallTest.class" />
+					<exclude name="**/thirdparty/remoting/RemotingConnectionFailureTest.class" />
+					<exclude name="**/thirdparty/remoting/CallbackServerTimeoutTest.class" />
+					<exclude name="**/thirdparty/remoting/ClientInvokerTimeoutTest.class" />
+					<exclude name="**/thirdparty/remoting/SocketTransportCausalityTest.class" />
+				</fileset>
+			</batchtest>
+		</junit>
+	</target>
+
+	<target name="remote-tests" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs remotely all tests for which it makes sense to run remotely">
+
+		<antcall target="stop-rmi-server" />
+
+		<mkdir dir="${build.tests.reports}" />
+
+		<echo message="" />
+		<echo message="Running remote tests, junit.batchtest.fork=${junit.batchtest.fork}, remoting=${test.remoting}" />
+		<echo message="" />
+		
+		<junit printsummary="${junit.printsummary}" fork="on" forkMode="once" includeantruntime="yes" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${junit.timeout}">
+
+			<sysproperty key="remote" value="true" />
+			<sysproperty key="module.output" value="${tests.output}" />
+			<sysproperty key="test.bind.address" value="${test.bind.address}" />
+			<sysproperty key="jgroups.bind_addr" value="${test.bind.address}" />
+			<sysproperty key="test.database" value="${functional.tests.database}" />
+			<sysproperty key="test.remoting" value="${test.remoting}" />
+			<sysproperty key="test.logfile.suffix" value="remote-client" />
+			<sysproperty key="objectstore.dir" value="${objectstore.dir}" />
+
+			<sysproperty key="jboss.messaging.groupname" value="${jboss.messaging.groupname}" />
+			<sysproperty key="jboss.messaging.datachanneludpport" value="${jboss.messaging.datachanneludpport}" />
+			<sysproperty key="jboss.messaging.controlchanneludpport" value="${jboss.messaging.controlchanneludpport}" />
+			<sysproperty key="jboss.messaging.datachanneludpaddress" value="${jboss.messaging.datachanneludpaddress}" />
+			<sysproperty key="jboss.messaging.controlchanneludpaddress" value="${jboss.messaging.controlchanneludpaddress}" />
+			<sysproperty key="jboss.messaging.ipttl" value="${jboss.messaging.ipttl}" />
+			<sysproperty key="java.net.preferIPv4Stack" value="true" />
+			
+			<jvmarg value="-Xmx512M" />
+			<!--
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=n,suspend=n,address=antjunit"/>
+         -->
+			<classpath>
+				<path refid="test.execution.classpath" />
+			</classpath>
+
+			<sysproperty key="jboss-junit-configuration" value="Remote-${test.remoting}" />
+			<formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter" usefile="${junit.formatter.usefile}" extension="-Remote-${test.remoting}.xml" />
+
+			<batchtest todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
+				<formatter type="plain" usefile="${junit.formatter.usefile}" />
+				<fileset dir="${build.tests.classes}">
+
+					<include name="**/jms/${test-mask}.class" />
+					<include name="**/jms/message/**/${test-mask}.class" />
+					<include name="**/jms/selector/${test-mask}.class" />
+					<include name="**/jms/crash/${test-mask}.class" />
+                                        <include name="**/jms/server/recovery/${test-mask}.class" />
+					<exclude name="**/jms/WireFormatTest.class" />
+					<exclude name="**/jms/ReferencingTest.class" />
+					<exclude name="**/jms/PersistenceTest.class" />
+					<exclude name="**/jms/MemLeakTest.class" />
+					<exclude name="**/jms/ManifestTest.class" />
+					<exclude name="**/jms/JCAWrapperTest.class" />
+					<exclude name="**/jms/ClientExitTest.class" />
+				</fileset>
+			</batchtest>
+		</junit>
+
+		<antcall target="stop-rmi-server" />
+
+	</target>
+
+
+	<target name="remote-thirdparty-tests" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs remotely all thirdparty tests for which it makes sense to run remotely">
+
+		<antcall target="stop-rmi-server" />
+
+		<mkdir dir="${build.tests.reports}" />
+
+		<echo message="" />
+		<echo message="Running remote tests, fork=${junit.fork}, junit.batchtest.fork=${junit.batchtest.fork}, remoting=${test.remoting}" />
+		<echo message="" />
+
+		<junit printsummary="${junit.printsummary}" fork="on" forkMode="once" includeantruntime="yes" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${junit.timeout}">
+
+			<sysproperty key="remote" value="true" />
+			<sysproperty key="module.output" value="${tests.output}" />
+			<sysproperty key="test.bind.address" value="${test.bind.address}" />
+			<sysproperty key="jgroups.bind_addr" value="${test.bind.address}" />
+			<sysproperty key="test.database" value="${functional.tests.database}" />
+			<sysproperty key="test.remoting" value="${test.remoting}" />
+			<sysproperty key="test.logfile.suffix" value="remote-client" />
+			<sysproperty key="objectstore.dir" value="${objectstore.dir}" />
+			<jvmarg value="-Xmx512M" />
+			<!--
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=n,suspend=n,address=antjunit"/>
+         -->
+			<classpath>
+				<path refid="test.execution.classpath" />
+			</classpath>
+
+			<sysproperty key="jboss-junit-configuration" value="Remote-${test.remoting}" />
+			<formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter" usefile="${junit.formatter.usefile}" extension="-Remote-${test.remoting}.xml" />
+
+			<batchtest todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
+				<formatter type="plain" usefile="${junit.formatter.usefile}" />
+
+				<fileset dir="${build.tests.classes}">
+					<include name="**/thirdparty/**/${test-mask}.class" />
+					<exclude name="**/thirdparty/remoting/ServerAddressTest.class" />
+					<exclude name="**/thirdparty/jbosssx/SecurityAssociationTest.class" />
+				</fileset>
+			</batchtest>
+		</junit>
+
+		<antcall target="stop-rmi-server" />
+
+	</target>
+
+	<target name="stress-tests" depends="tests-jar, prepare-testdirs, clear-test-logs">
+		<antcall target="invm-stress-tests" />
+		<antcall target="remote-stress-tests" />
+		<!-- default remoting configuration (bisocket) -->
+
+		<!--
+      <antcall target="clustering-stress-tests"/>
+-->
+		<!-- We DO NOT run the test suite using the HTTP transport - it is not sufficiently stable
+      <antcall target="remote-stress-tests">
+         <param name="test.remoting" value="http"/>
+      </antcall>
+      -->
+
+	</target>
+
+	<target name="invm-stress-tests" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs all stress tests in an in-VM configuration">
+
+		<junit printsummary="${junit.printsummary}" fork="${junit.fork}" includeantruntime="${junit.includeantruntime}" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${stress.junit.timeout}">
+
+			<sysproperty key="remote" value="false" />
+			<sysproperty key="module.output" value="${tests.output}" />
+			<sysproperty key="test.bind.address" value="${test.bind.address}" />
+			<sysproperty key="jgroups.bind_addr" value="${test.bind.address}" />
+			<sysproperty key="test.database" value="${stress.tests.database}" />
+			<sysproperty key="test.logfile.suffix" value="invm" />
+			<sysproperty key="objectstore.dir" value="${objectstore.dir}" />
+			<jvmarg value="-Xmx512M" />
+			<!--
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=antjunit"/>
+         -->
+			<classpath refid="stress.test.execution.classpath" />
+			<sysproperty key="jboss-junit-configuration" value="StressInVM" />
+			<formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter" usefile="${junit.formatter.usefile}" extension="-StressInVM.xml" />
+			<batchtest fork="${junit.batchtest.fork}" todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
+				<formatter type="plain" usefile="${junit.formatter.usefile}" />
+				<fileset dir="${build.tests.classes}">
+					<include name="**/jms/stress/${test-mask}.class" />
+				</fileset>
+			</batchtest>
+		</junit>
+	</target>
+
+	<target name="remote-stress-tests" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs remotely all stress tests for which it makes sense to run remotely">
+
+		<antcall target="stop-rmi-server" />
+		<mkdir dir="${build.tests.reports}" />
+
+		<junit printsummary="${junit.printsummary}" fork="${junit.fork}" includeantruntime="yes" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${stress.junit.timeout}">
+
+			<sysproperty key="remote" value="true" />
+			<sysproperty key="module.output" value="${tests.output}" />
+			<sysproperty key="test.bind.address" value="${test.bind.address}" />
+			<sysproperty key="jgroups.bind_addr" value="${test.bind.address}" />
+			<sysproperty key="test.database" value="${stress.tests.database}" />
+			<sysproperty key="test.remoting" value="${test.remoting}" />
+			<sysproperty key="test.logfile.suffix" value="remote-client" />
+			<sysproperty key="objectstore.dir" value="${objectstore.dir}" />
+			<jvmarg value="-Xmx512M" />
+			<!-- <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=unittest"/> -->
+			<classpath>
+				<path refid="stress.test.execution.classpath" />
+			</classpath>
+
+			<sysproperty key="jboss-junit-configuration" value="StressRemote-${test.remoting}" />
+			<formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter" usefile="${junit.formatter.usefile}" extension="-StressRemote-${test.remoting}.xml" />
+
+			<batchtest fork="${junit.batchtest.fork}" todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
+				<formatter type="plain" usefile="${junit.formatter.usefile}" />
+				<fileset dir="${build.tests.classes}">
+					<include name="**/jms/stress/${test-mask}.class" />
+				</fileset>
+			</batchtest>
+		</junit>
+
+		<antcall target="stop-rmi-server" />
+
+	</target>
+
+	<target name="clustering-stress-tests" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs the clustering tests">
+
+		<antcall target="stop-rmi-server" />
+
+		<mkdir dir="${build.tests.reports}" />
+
+		<echo message="" />
+		<echo message="Running clustering stress tests, fork=${junit.fork}, junit.batchtest.fork=${junit.batchtest.fork}" />
+		<echo message="" />
+
+		<junit printsummary="${junit.printsummary}" fork="${junit.fork}" includeantruntime="yes" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${clustering.stress.junit.timeout}">
+
+         <sysproperty key="remote" value="true"/>
+         <sysproperty key="module.output" value="${tests.output}"/>
+         <sysproperty key="test.bind.address" value="${test.bind.address}"/>
+         <sysproperty key="jgroups.bind_addr" value="${test.bind.address}"/>
+         <sysproperty key="test.database" value="${clustering.tests.database}"/>
+         <sysproperty key="test.clustered" value="true"/>
+         <sysproperty key="test.logfile.suffix" value="clustering-client"/>
+         <sysproperty key="objectstore.dir" value="${objectstore.dir}"/>
+         <sysproperty key="java.net.preferIPv4Stack" value="${java.net.preferIPv4Stack}" />
+	 <jvmarg value="-Xmx512M"/>
+         <!--
+         <jvmarg line="-Xmx512M -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=n,suspend=n,address=antjunit"/>
+          -->
+
+			<classpath>
+				<path refid="test.execution.classpath" />
+			</classpath>
+
+			<sysproperty key="jboss-junit-configuration" value="StressClustering" />
+			<formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter" usefile="${junit.formatter.usefile}" extension="-Clustering.xml" />
+
+			<batchtest fork="${junit.batchtest.fork}" todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
+				<formatter type="plain" usefile="${junit.formatter.usefile}" />
+
+				<fileset dir="${build.tests.classes}">
+					<include name="**/jms/stress/clustering/${test-mask}.class" />
+				</fileset>
+			</batchtest>
+		</junit>
+		<antcall target="stop-rmi-server" />
+	</target>
+
+	<target name="clustering-tests" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs the clustering tests">
+
+		<antcall target="stop-rmi-server" />
+
+		<mkdir dir="${build.tests.reports}" />
+
+		<echo message="" />
+		<echo message="Running clustering tests, fork=${junit.fork}, junit.batchtest.fork=${junit.batchtest.fork}" />
+		<echo message="" />
+
+		<junit printsummary="${junit.printsummary}" fork="on" forkMode="once" includeantruntime="yes" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${clustering.junit.timeout}">
+
+         <sysproperty key="remote" value="true"/>
+         <sysproperty key="module.output" value="${tests.output}"/>
+         <sysproperty key="test.bind.address" value="${test.bind.address}"/>
+         <sysproperty key="jboss.messaging.groupname" value="${jboss.messaging.groupname}"/>
+         <sysproperty key="jboss.messaging.datachanneludpport" value="${jboss.messaging.datachanneludpport}"/>
+         <sysproperty key="jboss.messaging.controlchanneludpport" value="${jboss.messaging.controlchanneludpport}"/>
+         <sysproperty key="jboss.messaging.datachanneludpaddress" value="${jboss.messaging.datachanneludpaddress}"/>
+         <sysproperty key="jboss.messaging.controlchanneludpaddress" value="${jboss.messaging.controlchanneludpaddress}"/>
+         <sysproperty key="jboss.messaging.ipttl" value="${jboss.messaging.ipttl}"/>
+         <sysproperty key="jgroups.bind_addr" value="${test.bind.address}"/>
+         <sysproperty key="test.database" value="${clustering.tests.database}"/>
+         <sysproperty key="test.clustered" value="true"/>
+         <sysproperty key="test.logfile.suffix" value="clustering-client"/>
+         <sysproperty key="objectstore.dir" value="${objectstore.dir}"/>
+         <sysproperty key="java.net.preferIPv4Stack" value="${java.net.preferIPv4Stack}" />
+	 <jvmarg value="-Xmx512M"/>
+         <!--
+         <jvmarg line="-Xmx512M -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=n,suspend=n,address=antjunit"/>
+          -->
+
+			<classpath>
+				<path refid="test.execution.classpath" />
+			</classpath>
+
+			<sysproperty key="jboss-junit-configuration" value="Clustering" />
+			<formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter" usefile="${junit.formatter.usefile}" extension="-Clustering.xml" />
+
+			<batchtest todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
+				<formatter type="plain" usefile="${junit.formatter.usefile}" />
+
+				<fileset dir="${build.tests.classes}">
+					<include name="**/jms/clustering/${test-mask}.class" />
+					<exclude name="**/jms/clustering/MultiThreadFailoverTest.class" />
+					<exclude name="**/jms/clustering/ClusterLeakTest.class" />
+				</fileset>
+			</batchtest>
+		</junit>
+		<antcall target="stop-rmi-server" />
+	</target>
+
+	<target name="bridge-tests" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs bridge tests">
+
+		<antcall target="stop-rmi-server" />
+
+		<mkdir dir="${build.tests.reports}" />
+
+		<echo message="" />
+		<echo message="Running bridge tests, fork=${junit.fork}, junit.batchtest.fork=${junit.batchtest.fork}, remoting=${test.remoting}" />
+		<echo message="" />
+
+		<junit printsummary="${junit.printsummary}" fork="on" forkMode="once" includeantruntime="yes" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${bridge.junit.timeout}">
+
+			<sysproperty key="remote" value="true" />
+			<sysproperty key="module.output" value="${tests.output}" />
+			<sysproperty key="test.bind.address" value="${test.bind.address}" />
+			<sysproperty key="jgroups.bind_addr" value="${test.bind.address}" />
+			<sysproperty key="test.database" value="${functional.tests.database}" />
+			<sysproperty key="test.remoting" value="${test.remoting}" />
+			<sysproperty key="test.logfile.suffix" value="remote-client" />
+			<sysproperty key="objectstore.dir" value="${objectstore.dir}" />
+			<jvmarg value="-Xmx512M" />
+			<!--
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=n,suspend=n,address=antjunit"/>
+         -->
+			<classpath>
+				<path refid="test.execution.classpath" />
+			</classpath>
+
+			<sysproperty key="jboss-junit-configuration" value="Remote-${test.remoting}" />
+			<formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter" usefile="${junit.formatter.usefile}" extension="-Remote-${test.remoting}.xml" />
+
+			<batchtest todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
+				<formatter type="plain" usefile="${junit.formatter.usefile}" />
+
+				<fileset dir="${build.tests.classes}">
+                                        <include name="**/jms/bridge/**/BridgeMBeanExtraTest.class" />
+				</fileset>
+			</batchtest>
+		</junit>
+
+		<antcall target="stop-rmi-server" />
+
+		<junit printsummary="${junit.printsummary}" fork="on" forkMode="once" includeantruntime="yes" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${bridge.junit.timeout}">
+
+			<sysproperty key="remote" value="true" />
+			<sysproperty key="module.output" value="${tests.output}" />
+			<sysproperty key="test.bind.address" value="${test.bind.address}" />
+			<sysproperty key="jgroups.bind_addr" value="${test.bind.address}" />
+			<sysproperty key="test.database" value="${functional.tests.database}" />
+			<sysproperty key="test.remoting" value="${test.remoting}" />
+			<sysproperty key="test.logfile.suffix" value="remote-client" />
+			<sysproperty key="objectstore.dir" value="${objectstore.dir}" />
+			<jvmarg value="-Xmx512M" />
+			<!--
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=n,suspend=n,address=antjunit"/>
+         -->
+			<classpath>
+				<path refid="test.execution.classpath" />
+			</classpath>
+
+			<sysproperty key="jboss-junit-configuration" value="Remote-${test.remoting}" />
+			<formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter" usefile="${junit.formatter.usefile}" extension="-Remote-${test.remoting}.xml" />
+
+			<batchtest todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
+				<formatter type="plain" usefile="${junit.formatter.usefile}" />
+
+				<fileset dir="${build.tests.classes}">
+					<include name="**/jms/bridge/**/${test-mask}.class" />
+                                        <exclude name="**/jms/bridge/**/BridgeMBeanExtraTest.class" />
+				</fileset>
+			</batchtest>
+		</junit>
+		<antcall target="stop-rmi-server" />
+
+	</target>
+
+	<target name="memory-leak-tests" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs MemoryLeakTests, but it starts the clustering for leak-clustering-tests">
+
+		<mkdir dir="${build.tests.reports}" />
+
+		<echo message="" />
+		<echo message="Running clustering tests, fork=${junit.fork}, junit.batchtest.fork=${junit.batchtest.fork}" />
+		<echo message="" />
+
+		<!--
+
+           By default, clustered tests are run in a "remote" configuration (the clustered
+           nodes physically live in different VMs. If you want to test a co-located clustered
+           configuration, use bin/runtest -clustered
+      -->
+
+		<junit printsummary="${junit.printsummary}" fork="${junit.fork}" includeantruntime="yes" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${junit.timeout}">
+
+         <sysproperty key="remote" value="true"/>
+         <sysproperty key="module.output" value="${tests.output}"/>
+         <sysproperty key="test.bind.address" value="${test.bind.address}"/>
+         <sysproperty key="jgroups.bind_addr" value="${test.bind.address}"/>
+         <sysproperty key="test.database" value="${clustering.tests.database}"/>
+         <sysproperty key="test.clustered" value="true"/>
+         <sysproperty key="test.logfile.suffix" value="clustering-client"/>
+         <sysproperty key="objectstore.dir" value="${objectstore.dir}"/>
+         <sysproperty key="java.net.preferIPv4Stack" value="${java.net.preferIPv4Stack}" />
+	 <jvmarg value="-Xmx512M"/>
+         <jvmarg value="-agentlib:jbossAgent"/>
+         <!--
+         <jvmarg line="-Xmx512M -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=n,suspend=n,address=antjunit"/>
+          -->
+
+			<classpath>
+				<path refid="test.execution.classpath" />
+			</classpath>
+
+			<sysproperty key="jboss-junit-configuration" value="Clustering" />
+			<formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter" usefile="${junit.formatter.usefile}" extension="-Clustering.xml" />
+
+			<batchtest fork="${junit.batchtest.fork}" todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
+				<formatter type="plain" usefile="${junit.formatter.usefile}" />
+
+				<fileset dir="${build.tests.classes}">
+					<include name="**/ClusterLeakTest.class" />
+				</fileset>
+			</batchtest>
+		</junit>
+	</target>
+
+	<target name="drop-tables" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Drops all tables">
+
+		<echo message="" />
+		<echo message="Running invm tests, fork=${junit.fork}, junit.batchtest.fork=${junit.batchtest.fork}" />
+		<echo message="" />
+
+		<junit printsummary="${junit.printsummary}" fork="on" forkMode="once" includeantruntime="${junit.includeantruntime}" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${junit.timeout}">
+
+			<sysproperty key="remote" value="false" />
+			<sysproperty key="module.output" value="${tests.output}" />
+			<sysproperty key="test.database" value="${functional.tests.database}" />
+			<sysproperty key="test.logfile.suffix" value="invm" />
+			<sysproperty key="build.lib" value="${build.lib}" />
+			<sysproperty key="objectstore.dir" value="${objectstore.dir}" />
+			<jvmarg value="-Xmx512M" />
+			<!--
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=antjunit"/>
+         -->
+			<classpath refid="test.execution.classpath" />
+			<formatter type="xml" usefile="${junit.formatter.usefile}" />
+			<test name="org.jboss.test.messaging.DropTablesTest" fork="false" todir="${junit.batchtest.todir}" haltonfailure="${junit.test.haltonfailure}" haltonerror="${junit.test.haltonerror}">
+			</test>
+		</junit>
+	</target>
+
+	<target name="test" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs a single test, specified by its FQ class name via 'test.classname'">
+
+		<fail unless="test.classname" message="To run a single test, use: ./build.sh test -Dtest.classname=org.package.MyTest" />
+		<echo>Module root is:${module.root}</echo>
+		<property name="test.classname" value="dummy" />
+
+		<junit printsummary="${junit.printsummary}" fork="${junit.fork}" includeantruntime="${junit.includeantruntime}" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${junit.timeout}">
+			<sysproperty key="remote" value="${build.tests.remote}" />
+			<sysproperty key="module.output" value="${tests.output}" />
+			<sysproperty key="test.bind.address" value="${test.bind.address}" />
+			<sysproperty key="jgroups.bind_addr" value="${test.bind.address}" />
+			<sysproperty key="test.database" value="${functional.tests.database}" />
+			<!--
+            <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=y"/>
+         -->
+			<jvmarg value="-Xmx1024M" />
+			<classpath refid="test.execution.classpath" />
+			<formatter type="xml" usefile="${junit.formatter.usefile}" />
+			<test name="${test.classname}" fork="false" todir="${junit.batchtest.todir}" haltonfailure="${junit.test.haltonfailure}" haltonerror="${junit.test.haltonerror}">
+			</test>
+		</junit>
+		<antcall target="stop-rmi-server" />
+	</target>
+
+	<!-- ======================================================================================== -->
+	<!-- Report Tasks                                                                             -->
+	<!-- ======================================================================================== -->
+
+	<target name="copy-stylesheets">
+		<mkdir dir="${build.tests.stylesheets}" />
+		<copy todir="${build.tests.stylesheets}" filtering="yes">
+			<fileset dir="${source.tests.stylesheets}">
+				<include name="**/*" />
+			</fileset>
+		</copy>
+	</target>
+
+	<target name="compile-report" depends="copy-stylesheets">
+		<mkdir dir="${build.tests.reports}/html" />
+		<junitreport todir="${build.tests.reports}">
+			<fileset dir="${build.tests.reports}">
+				<include name="TEST-*.xml" />
+			</fileset>
+			<report format="frames" todir="${build.tests.reports}/html" styledir="${build.tests.stylesheets}" />
+		</junitreport>
+	</target>
+
+	<target name="report" depends="tests, copy-stylesheets, compile-report" />
+
+	<target name="short-report" depends="short-tests, copy-stylesheets, compile-report" />
+
+	<target name="stress-report" depends="stress-tests, copy-stylesheets, compile-report" />
+
+	<target name="functional-tests" depends="tests" />
+
+	<!-- ======================================================================================== -->
+	<!-- Cleaning Tasks                                                                           -->
+	<!-- ======================================================================================== -->
+
+	<target name="clean">
+		<delete dir="${tests.output}" />
+		<delete quiet="true">
+			<fileset dir="./bin">
+				<include name=".*.classpath" />
+			</fileset>
+		</delete>
+		<ant dir="./smoke" antfile="build.xml" inheritAll="false" target="clean" />
+	</target>
+
+	<!-- ======================================================================================== -->
+	<!-- Tasks required by bin/runtest                                                            -->
+	<!-- ======================================================================================== -->
+
+	<property name="test.execution.classpath.file" value=".test.execution.classpath" />
+
+	<target name="get-test-execution-classpath" depends="init">
+		<pathconvert refid="test.execution.classpath" property="test.execution.classpath.unix" />
+		<echo message="${test.execution.classpath.unix}" file="${test.execution.classpath.file}" />
+	</target>
+
+</project>
+

Added: branches/Branch_1_4/tests/build-test-EAP5.xml
===================================================================
--- branches/Branch_1_4/tests/build-test-EAP5.xml	                        (rev 0)
+++ branches/Branch_1_4/tests/build-test-EAP5.xml	2010-03-03 14:50:50 UTC (rev 7966)
@@ -0,0 +1,915 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- =========================================================================================== -->
+<!--                                                                                             -->
+<!-- JBoss, Home of Professional Open Source                                                     -->
+<!-- Copyright 2005, JBoss Inc., and individual contributors as indicated                        -->
+<!-- by the @authors tag. See the copyright.txt in the distribution for a                        -->
+<!-- full listing of individual contributors.                                                    -->
+<!--                                                                                             -->
+<!-- This is free software; you can redistribute it and/or modify it                             -->
+<!-- under the terms of the GNU Lesser General Public License as                                 -->
+<!-- published by the Free Software Foundation; either version 2.1 of                            -->
+<!-- the License, or (at your option) any later version.                                         -->
+<!--                                                                                             -->
+<!-- This software is distributed in the hope that it will be useful,                            -->
+<!-- but WITHOUT ANY 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 along with this software; if not, write to the Free                                 -->
+<!-- Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA                          -->
+<!-- 02110-1301 USA, or see the FSF site: http://www.fsf.org.                                    -->
+<!--                                                                                             -->
+<!-- =========================================================================================== -->
+
+
+<!-- =========================================================================================== -->
+<!--                                                                                             -->
+<!-- $Id: build.xml 7943 2010-02-10 03:39:39Z gaohoward $ -->
+<!--                                                                                             -->
+<!-- =========================================================================================== -->
+
+<project default="tests" name="JBoss Messaging Tests EAP5">
+
+	<import file="../build-messaging.xml" />
+	<!-- ======================================================================================== -->
+	<!-- Configuration                                                                            -->
+	<!-- ======================================================================================== -->
+    
+	
+	<property name="default.database" value="mysql"/>
+
+	<property file="build.properties" />
+
+	<property name="build.tests.remote" value="false" />
+	<property name="test.bind.address" value="localhost" />
+	<property name="jboss.messaging.groupname" value="MessagingPostOffice" />
+	<property name="jboss.messaging.datachanneludpport" value="45567" />
+	<property name="jboss.messaging.controlchanneludpport" value="45568" />
+	<property name="jboss.messaging.datachanneludpaddress" value="228.6.6.6" />
+	<property name="jboss.messaging.controlchanneludpaddress" value="228.7.7.7" />
+	<property name="jboss.messaging.ipttl" value="0" />
+   <property name="java.net.preferIPv4Stack" value="true"/>
+
+	<!--
+        Functional tests.
+   -->
+
+	<property name="functional.tests.database" value="${default.database}" />
+
+	<!--
+        Stress tests.
+   -->
+
+	<property name="stress.tests.database" value="${default.database}" />
+
+	<!-- replace that to make it easier to run a specific test -->
+	<property name="test-mask" value="*Test" />
+
+	<!-- Clustering tests -->
+	<property name="clustering.tests.database" value="${default.database}" />
+
+	<!--
+        Default remoting configuration (must be overrided by tasks that need it set otherwise).
+   -->
+	<property name="test.remoting" value="bisocket" />
+
+
+	<!--
+       By default, remote servers log file names should end in remote-server
+   -->
+	<property name="remote.server.test.logfile.suffix" value="remote-server" />
+
+
+	<!--
+        Project paths.
+   -->
+
+	<property name="tests.root" value="${basedir}" />
+	<property name="source.tests.java" value="${tests.root}/src" />
+	<property name="source.tests.integration.java" value="${integration-dir}/tests-src" />
+	<property name="source.tests.stylesheets" value="${source.tests.java}/stylesheets" />
+	<property name="tests.output" value="${tests.root}/output" />
+	<property name="build.tests.classes" value="${tests.output}/classes" />
+	<property name="build.tests.lib" value="${tests.output}/lib" />
+	<property name="build.tests.reports" value="${tests.output}/reports" />
+	<property name="build.tests.stylesheets" value="${tests.output}/stylesheets" />
+	<property name="build.tests.archive" value="jboss-messaging-tests.jar" />
+	<property name="build.tests.ejbarchive" value="jboss-messaging-tests-ejb.jar" />
+	<property name="objectstore.dir" value="${tests.root}/output/ObjectStore" />
+
+	<!--
+        JUnit configuration (values specified in ./build.properties have priority)
+   -->
+
+	<property name="junit.printsummary" value="true" />
+	<property name="junit.haltonerror" value="false" />
+	<property name="junit.haltonfailure" value="false" />
+	<property name="junit.fork" value="true" />
+	<property name="junit.includeantruntime" value="true" />
+	<property name="junit.timeout" value="5400000" />
+	<!-- 90 mins -->
+	<property name="clustering.junit.timeout" value="18000000" />
+	<!-- 150 mins -->
+	<property name="clustering.stress.junit.timeout" value="5400000" />
+	<!-- 90 mins -->
+	<property name="stress.junit.timeout" value="5400000" />
+	<!-- 90 mins -->
+	<property name="bridge.junit.timeout" value="5400000" />
+	<!-- 90 mins -->
+
+	<property name="junit.showoutput" value="true" />
+	<property name="junit.jvm" value="" />
+	<property name="junit.jvm.options" value="" />
+	<property name="junit.formatter.usefile" value="true" />
+	<property name="junit.batchtest.todir" value="${build.tests.reports}" />
+	<property name="junit.batchtest.haltonerror" value="false" />
+	<property name="junit.batchtest.haltonfailure" value="false" />
+	<property name="junit.batchtest.fork" value="true" />
+	<property name="junit.test.haltonfailure" value="false" />
+	<property name="junit.test.haltonerror" value="false" />
+
+	<!--
+        Locally maintained dependencies.
+   -->
+
+	<!--
+       JDBC Drivers.
+   -->
+	<path id="any.jdbc.driver.classpath">
+		<fileset dir="${tests.root}/lib/jdbc-drivers" includes="*.jar" />
+	</path>
+
+
+	<!--
+        The compilation classpath.
+   -->
+
+	<path id="test.compilation.classpath">
+		<path refid="compilation.classpath" />
+		<path location="../output/lib/jboss-messaging.jar" />
+		<path refid="junit.junit.classpath" />
+		<path refid="any.jdbc.driver.classpath" />
+		<path refid="hsqldb.hsqldb.classpath" />
+		<path refid="jboss.profiler.jvmti.classpath" />
+		<path refid="jboss.test14.classpath" />
+		<path refid="jboss.jbossretro.rt.classpath" />
+                <path refid="jboss.jboss.man.classpath"/>
+	</path>
+
+	<!--
+        The execution classpath.
+   -->
+
+	<path id="test.execution.classpath">
+		<pathelement location="${tests.root}/etc" />
+		<pathelement location="${build.tests.classes}" />
+		<pathelement location="${project.root}/output/etc" />
+		<!-- server's configuration files -->
+		<pathelement location="${project.root}/output/etc/server/default/deploy" />
+		<path refid="test.compilation.classpath" />
+		<path refid="dom4j.dom4j.classpath" />
+		<path refid="apache.log4j.classpath" />
+		<path refid="apache.logging.classpath" />
+		<path refid="apache.xerces.classpath" />
+		<path refid="jboss.jbossxb.classpath" />
+		<path refid="jgroups.jgroups.classpath" />
+		<path refid="apache.logging.classpath" />
+		<path refid="any.jdbc.driver.classpath" />
+		<path refid="hsqldb.hsqldb.classpath" />
+		<path refid="apache.tomcat.classpath" />
+		<path refid="apache.logging.classpath" />
+		<path refid="jboss.jboss.reflect.classpath" />
+		<path refid="jboss.jboss.deployers.classpath" />
+	</path>
+
+	<path id="stress.test.execution.classpath">
+		<pathelement path="${tests.root}/etc/stress" />
+		<path refid="test.execution.classpath" />
+	</path>
+
+	<!-- ======================================================================================== -->
+	<!-- Compilation Tasks                                                                        -->
+	<!-- ======================================================================================== -->
+
+	<target name="init" />
+
+	<target name="compile" depends="init">
+
+		<mkdir dir="${build.tests.classes}" />
+		<javac destdir="${build.tests.classes}" optimize="${javac.optimize}" target="1.5" source="1.5" debug="${javac.debug}" depend="${javac.depend}" verbose="${javac.verbose}" deprecation="${javac.deprecation}" includeJavaRuntime="${javac.include.java.runtime}" failonerror="${javac.fail.onerror}">
+			<src path="${source.tests.java}" />
+			<src path="${source.tests.integration.java}" />
+			<classpath refid="test.compilation.classpath" />
+			<include name="**/*.java" />
+		</javac>
+
+		<!--
+           RMI compilation to to create stub for server.
+      -->
+		<rmic base="${build.tests.classes}" includes="**/RMITestServer.class,**/RMINamingDelegate.class">
+			<classpath refid="test.compilation.classpath" />
+		</rmic>
+	</target>
+
+	<!-- ======================================================================================== -->
+	<!-- Archival Tasks                                                                           -->
+	<!-- ======================================================================================== -->
+
+	<target name="tests-jar" depends="compile">
+
+		<mkdir dir="${build.tests.lib}" />
+		<jar jarfile="${build.tests.lib}/${build.tests.archive}">
+			<fileset dir="${build.tests.classes}">
+				<include name="org/jboss/test/messaging/**" />
+			</fileset>
+		</jar>
+	</target>
+
+	<!-- ======================================================================================== -->
+	<!-- Execution Helper Tasks                                                                   -->
+	<!-- ======================================================================================== -->
+
+	<target name="prepare-testdirs">
+		<mkdir dir="${build.tests.reports}" />
+		<mkdir dir="${tests.output}/logs" />
+	</target>
+
+	<target name="clear-test-logs" unless="test.logs.cleared">
+
+		<!-- At the beginning of a test run, clean up the logs, since log4j runs in "append" mode -->
+		<echo message="Cleaning test logs ${tests.output}/logs/*.log" />
+		<delete quiet="true">
+			<fileset dir="${tests.output}/logs" includes="*.log" />
+		</delete>
+		<property name="test.logs.cleared" value="true" />
+	</target>
+
+	<target name="stop-rmi-server" depends="init" description="Stops the RMI server used by remote tests">
+		<java classname="org.jboss.test.messaging.tools.container.StopRMIServer" classpathref="test.execution.classpath">
+			<sysproperty key="module.output" value="${tests.output}" />
+			<sysproperty key="test.logfile.suffix" value="stop-rmi-server" />
+		</java>
+	</target>
+
+	<!-- ======================================================================================== -->
+	<!-- Test Execution Tasks                                                                     -->
+	<!-- ======================================================================================== -->
+
+	<target name="tests" depends="tests-jar, prepare-testdirs, clear-test-logs">
+
+		<antcall target="invm-tests" />
+		<!--
+           default remoting configuration (bisocket)
+      -->
+		<antcall target="remote-tests" />
+
+		<!-- We DO NOT run the test suite using the HTTP transport - it is not sufficiently stable
+
+      <antcall target="remote-tests">
+         <param name="test.remoting" value="http"/>
+      </antcall>
+
+      -->
+
+		<antcall target="clustering-tests" />
+
+		<antcall target="bridge-tests" />
+
+		<antcall target="invm-thirdparty-tests" />
+
+		<antcall target="remote-thirdparty-tests" />
+
+	</target>
+
+	<target name="short-tests" depends="tests-jar, prepare-testdirs, clear-test-logs">
+
+		<antcall target="invm-tests" />
+
+		<antcall target="remote-tests" />
+
+	</target>
+
+	<target name="thirdparty-tests" depends="tests-jar, prepare-testdirs, clear-test-logs">
+
+		<antcall target="invm-thirdparty-tests" />
+
+		<antcall target="remote-thirdparty-tests" />
+
+	</target>
+
+	<target name="http-tests" depends="tests-jar, prepare-testdirs, clear-test-logs">
+		<antcall target="remote-tests">
+			<param name="test.remoting" value="http" />
+		</antcall>
+	</target>
+
+	<target name="invm-tests" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs all available tests an in-VM configuration">
+
+		<echo message="" />
+		<echo message="Running invm tests, fork=${junit.fork}, junit.batchtest.fork=${junit.batchtest.fork}" />
+		<echo message="" />
+
+		<junit printsummary="${junit.printsummary}" fork="on" forkMode="once" includeantruntime="${junit.includeantruntime}" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${junit.timeout}">
+
+			<sysproperty key="remote" value="false" />
+			<sysproperty key="module.output" value="${tests.output}" />
+			<sysproperty key="test.bind.address" value="${test.bind.address}" />
+			<sysproperty key="jgroups.bind_addr" value="${test.bind.address}" />
+			<sysproperty key="test.bind.address" value="${test.bind.address}" />
+			<sysproperty key="jboss.messaging.groupname" value="${jboss.messaging.groupname}" />
+			<sysproperty key="jboss.messaging.datachanneludpport" value="${jboss.messaging.datachanneludpport}" />
+			<sysproperty key="jboss.messaging.controlchanneludpport" value="${jboss.messaging.controlchanneludpport}" />
+			<sysproperty key="jboss.messaging.datachanneludpaddress" value="${jboss.messaging.datachanneludpaddress}" />
+			<sysproperty key="jboss.messaging.controlchanneludpaddress" value="${jboss.messaging.controlchanneludpaddress}" />
+			<sysproperty key="jboss.messaging.ipttl" value="${jboss.messaging.ipttl}" />
+			<sysproperty key="java.net.preferIPv4Stack" value="true" />
+			<sysproperty key="test.database" value="${functional.tests.database}" />
+			<sysproperty key="test.logfile.suffix" value="invm" />
+			<sysproperty key="build.lib" value="${build.lib}" />
+			<sysproperty key="objectstore.dir" value="${objectstore.dir}" />
+			<jvmarg value="-Xmx1024M" />
+			<!--
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000"/>
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=antjunit"/>
+         -->
+			<classpath refid="test.execution.classpath" />
+			<formatter type="xml" usefile="${junit.formatter.usefile}" />
+			<batchtest todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
+				<formatter type="plain" usefile="${junit.formatter.usefile}" />
+				<fileset dir="${build.tests.classes}">
+					<include name="**/messaging/core/**/${test-mask}.class" />
+					<include name="**/jms/**/${test-mask}.class" />
+					<include name="**/messaging/util/**/${test-mask}.class" />
+                                        <exclude name="**/jms/server/recovery/**" />
+                                        <exclude name="**/jms/DeliveryOnConnectionFailureTest.class" />
+					<exclude name="**/jms/MemLeakTest.class" />
+					<exclude name="**/jms/RemotingConnectionConfigurationTest.class" />
+					<exclude name="**/jms/XAResourceRecoveryTest.class" />
+					<exclude name="**/jms/stress/**" />
+					<exclude name="**/jms/crash/**" />
+					<exclude name="**/jms/bridge/**" />
+					<exclude name="**/jms/manual/**" />
+					<exclude name="**/jms/clustering/**" />
+				</fileset>
+			</batchtest>
+		</junit>
+	</target>
+
+	<target name="invm-thirdparty-tests" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs all available thirdparty tests an in-VM configuration">
+
+		<echo message="" />
+		<echo message="Running invm tests, fork=${junit.fork}, junit.batchtest.fork=${junit.batchtest.fork}" />
+		<echo message="" />
+
+		<junit printsummary="${junit.printsummary}" fork="${junit.fork}" includeantruntime="${junit.includeantruntime}" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${junit.timeout}">
+
+			<sysproperty key="remote" value="false" />
+			<sysproperty key="module.output" value="${tests.output}" />
+			<sysproperty key="test.bind.address" value="${test.bind.address}" />
+			<sysproperty key="jgroups.bind_addr" value="${test.bind.address}" />
+			<sysproperty key="test.database" value="${functional.tests.database}" />
+			<sysproperty key="test.logfile.suffix" value="invm" />
+			<sysproperty key="build.lib" value="${build.lib}" />
+			<sysproperty key="objectstore.dir" value="${objectstore.dir}" />
+			<jvmarg value="-Xmx512M" />
+			<!--
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=antjunit"/>
+         -->
+			<classpath refid="test.execution.classpath" />
+			<formatter type="xml" usefile="${junit.formatter.usefile}" />
+			<batchtest fork="${junit.batchtest.fork}" todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
+				<formatter type="plain" usefile="${junit.formatter.usefile}" />
+				<fileset dir="${build.tests.classes}">
+					<include name="**/thirdparty/**/${test-mask}.class" />
+					<exclude name="**/thirdparty/remoting/ManualConnectionValidatorTest.class" />
+					<exclude name="**/thirdparty/remoting/PureAsynchronousCallTest.class" />
+					<exclude name="**/thirdparty/remoting/RemotingConnectionFailureTest.class" />
+					<exclude name="**/thirdparty/remoting/CallbackServerTimeoutTest.class" />
+					<exclude name="**/thirdparty/remoting/ClientInvokerTimeoutTest.class" />
+					<exclude name="**/thirdparty/remoting/SocketTransportCausalityTest.class" />
+				</fileset>
+			</batchtest>
+		</junit>
+	</target>
+
+	<target name="remote-tests" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs remotely all tests for which it makes sense to run remotely">
+
+		<antcall target="stop-rmi-server" />
+
+		<mkdir dir="${build.tests.reports}" />
+
+		<echo message="" />
+		<echo message="Running remote tests, junit.batchtest.fork=${junit.batchtest.fork}, remoting=${test.remoting}" />
+		<echo message="" />
+		
+		<junit printsummary="${junit.printsummary}" fork="on" forkMode="once" includeantruntime="yes" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${junit.timeout}">
+
+			<sysproperty key="remote" value="true" />
+			<sysproperty key="module.output" value="${tests.output}" />
+			<sysproperty key="test.bind.address" value="${test.bind.address}" />
+			<sysproperty key="jgroups.bind_addr" value="${test.bind.address}" />
+			<sysproperty key="test.database" value="${functional.tests.database}" />
+			<sysproperty key="test.remoting" value="${test.remoting}" />
+			<sysproperty key="test.logfile.suffix" value="remote-client" />
+			<sysproperty key="objectstore.dir" value="${objectstore.dir}" />
+
+			<sysproperty key="jboss.messaging.groupname" value="${jboss.messaging.groupname}" />
+			<sysproperty key="jboss.messaging.datachanneludpport" value="${jboss.messaging.datachanneludpport}" />
+			<sysproperty key="jboss.messaging.controlchanneludpport" value="${jboss.messaging.controlchanneludpport}" />
+			<sysproperty key="jboss.messaging.datachanneludpaddress" value="${jboss.messaging.datachanneludpaddress}" />
+			<sysproperty key="jboss.messaging.controlchanneludpaddress" value="${jboss.messaging.controlchanneludpaddress}" />
+			<sysproperty key="jboss.messaging.ipttl" value="${jboss.messaging.ipttl}" />
+			<sysproperty key="java.net.preferIPv4Stack" value="true" />
+			
+			<jvmarg value="-Xmx512M" />
+			<!--
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=n,suspend=n,address=antjunit"/>
+         -->
+			<classpath>
+				<path refid="test.execution.classpath" />
+			</classpath>
+
+			<sysproperty key="jboss-junit-configuration" value="Remote-${test.remoting}" />
+			<formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter" usefile="${junit.formatter.usefile}" extension="-Remote-${test.remoting}.xml" />
+
+			<batchtest todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
+				<formatter type="plain" usefile="${junit.formatter.usefile}" />
+				<fileset dir="${build.tests.classes}">
+
+					<include name="**/jms/${test-mask}.class" />
+					<include name="**/jms/message/**/${test-mask}.class" />
+					<include name="**/jms/selector/${test-mask}.class" />
+					<include name="**/jms/crash/${test-mask}.class" />
+                                        <include name="**/jms/server/recovery/${test-mask}.class" />
+					<exclude name="**/jms/WireFormatTest.class" />
+					<exclude name="**/jms/ReferencingTest.class" />
+					<exclude name="**/jms/PersistenceTest.class" />
+					<exclude name="**/jms/MemLeakTest.class" />
+					<exclude name="**/jms/ManifestTest.class" />
+					<exclude name="**/jms/JCAWrapperTest.class" />
+					<exclude name="**/jms/ClientExitTest.class" />
+				</fileset>
+			</batchtest>
+		</junit>
+
+		<antcall target="stop-rmi-server" />
+
+	</target>
+
+
+	<target name="remote-thirdparty-tests" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs remotely all thirdparty tests for which it makes sense to run remotely">
+
+		<antcall target="stop-rmi-server" />
+
+		<mkdir dir="${build.tests.reports}" />
+
+		<echo message="" />
+		<echo message="Running remote tests, fork=${junit.fork}, junit.batchtest.fork=${junit.batchtest.fork}, remoting=${test.remoting}" />
+		<echo message="" />
+
+		<junit printsummary="${junit.printsummary}" fork="on" forkMode="once" includeantruntime="yes" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${junit.timeout}">
+
+			<sysproperty key="remote" value="true" />
+			<sysproperty key="module.output" value="${tests.output}" />
+			<sysproperty key="test.bind.address" value="${test.bind.address}" />
+			<sysproperty key="jgroups.bind_addr" value="${test.bind.address}" />
+			<sysproperty key="test.database" value="${functional.tests.database}" />
+			<sysproperty key="test.remoting" value="${test.remoting}" />
+			<sysproperty key="test.logfile.suffix" value="remote-client" />
+			<sysproperty key="objectstore.dir" value="${objectstore.dir}" />
+			<jvmarg value="-Xmx512M" />
+			<!--
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=n,suspend=n,address=antjunit"/>
+         -->
+			<classpath>
+				<path refid="test.execution.classpath" />
+			</classpath>
+
+			<sysproperty key="jboss-junit-configuration" value="Remote-${test.remoting}" />
+			<formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter" usefile="${junit.formatter.usefile}" extension="-Remote-${test.remoting}.xml" />
+
+			<batchtest todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
+				<formatter type="plain" usefile="${junit.formatter.usefile}" />
+
+				<fileset dir="${build.tests.classes}">
+					<include name="**/thirdparty/**/${test-mask}.class" />
+					<exclude name="**/thirdparty/remoting/ServerAddressTest.class" />
+					<exclude name="**/thirdparty/jbosssx/SecurityAssociationTest.class" />
+				</fileset>
+			</batchtest>
+		</junit>
+
+		<antcall target="stop-rmi-server" />
+
+	</target>
+
+	<target name="stress-tests" depends="tests-jar, prepare-testdirs, clear-test-logs">
+		<antcall target="invm-stress-tests" />
+		<antcall target="remote-stress-tests" />
+		<!-- default remoting configuration (bisocket) -->
+
+		<!--
+      <antcall target="clustering-stress-tests"/>
+-->
+		<!-- We DO NOT run the test suite using the HTTP transport - it is not sufficiently stable
+      <antcall target="remote-stress-tests">
+         <param name="test.remoting" value="http"/>
+      </antcall>
+      -->
+
+	</target>
+
+	<target name="invm-stress-tests" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs all stress tests in an in-VM configuration">
+
+		<junit printsummary="${junit.printsummary}" fork="${junit.fork}" includeantruntime="${junit.includeantruntime}" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${stress.junit.timeout}">
+
+			<sysproperty key="remote" value="false" />
+			<sysproperty key="module.output" value="${tests.output}" />
+			<sysproperty key="test.bind.address" value="${test.bind.address}" />
+			<sysproperty key="jgroups.bind_addr" value="${test.bind.address}" />
+			<sysproperty key="test.database" value="${stress.tests.database}" />
+			<sysproperty key="test.logfile.suffix" value="invm" />
+			<sysproperty key="objectstore.dir" value="${objectstore.dir}" />
+			<jvmarg value="-Xmx512M" />
+			<!--
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=antjunit"/>
+         -->
+			<classpath refid="stress.test.execution.classpath" />
+			<sysproperty key="jboss-junit-configuration" value="StressInVM" />
+			<formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter" usefile="${junit.formatter.usefile}" extension="-StressInVM.xml" />
+			<batchtest fork="${junit.batchtest.fork}" todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
+				<formatter type="plain" usefile="${junit.formatter.usefile}" />
+				<fileset dir="${build.tests.classes}">
+					<include name="**/jms/stress/${test-mask}.class" />
+				</fileset>
+			</batchtest>
+		</junit>
+	</target>
+
+	<target name="remote-stress-tests" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs remotely all stress tests for which it makes sense to run remotely">
+
+		<antcall target="stop-rmi-server" />
+		<mkdir dir="${build.tests.reports}" />
+
+		<junit printsummary="${junit.printsummary}" fork="${junit.fork}" includeantruntime="yes" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${stress.junit.timeout}">
+
+			<sysproperty key="remote" value="true" />
+			<sysproperty key="module.output" value="${tests.output}" />
+			<sysproperty key="test.bind.address" value="${test.bind.address}" />
+			<sysproperty key="jgroups.bind_addr" value="${test.bind.address}" />
+			<sysproperty key="test.database" value="${stress.tests.database}" />
+			<sysproperty key="test.remoting" value="${test.remoting}" />
+			<sysproperty key="test.logfile.suffix" value="remote-client" />
+			<sysproperty key="objectstore.dir" value="${objectstore.dir}" />
+			<jvmarg value="-Xmx512M" />
+			<!-- <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=unittest"/> -->
+			<classpath>
+				<path refid="stress.test.execution.classpath" />
+			</classpath>
+
+			<sysproperty key="jboss-junit-configuration" value="StressRemote-${test.remoting}" />
+			<formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter" usefile="${junit.formatter.usefile}" extension="-StressRemote-${test.remoting}.xml" />
+
+			<batchtest fork="${junit.batchtest.fork}" todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
+				<formatter type="plain" usefile="${junit.formatter.usefile}" />
+				<fileset dir="${build.tests.classes}">
+					<include name="**/jms/stress/${test-mask}.class" />
+				</fileset>
+			</batchtest>
+		</junit>
+
+		<antcall target="stop-rmi-server" />
+
+	</target>
+
+	<target name="clustering-stress-tests" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs the clustering tests">
+
+		<antcall target="stop-rmi-server" />
+
+		<mkdir dir="${build.tests.reports}" />
+
+		<echo message="" />
+		<echo message="Running clustering stress tests, fork=${junit.fork}, junit.batchtest.fork=${junit.batchtest.fork}" />
+		<echo message="" />
+
+		<junit printsummary="${junit.printsummary}" fork="${junit.fork}" includeantruntime="yes" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${clustering.stress.junit.timeout}">
+
+         <sysproperty key="remote" value="true"/>
+         <sysproperty key="module.output" value="${tests.output}"/>
+         <sysproperty key="test.bind.address" value="${test.bind.address}"/>
+         <sysproperty key="jgroups.bind_addr" value="${test.bind.address}"/>
+         <sysproperty key="test.database" value="${clustering.tests.database}"/>
+         <sysproperty key="test.clustered" value="true"/>
+         <sysproperty key="test.logfile.suffix" value="clustering-client"/>
+         <sysproperty key="objectstore.dir" value="${objectstore.dir}"/>
+         <sysproperty key="java.net.preferIPv4Stack" value="${java.net.preferIPv4Stack}" />
+	 <jvmarg value="-Xmx512M"/>
+         <!--
+         <jvmarg line="-Xmx512M -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=n,suspend=n,address=antjunit"/>
+          -->
+
+			<classpath>
+				<path refid="test.execution.classpath" />
+			</classpath>
+
+			<sysproperty key="jboss-junit-configuration" value="StressClustering" />
+			<formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter" usefile="${junit.formatter.usefile}" extension="-Clustering.xml" />
+
+			<batchtest fork="${junit.batchtest.fork}" todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
+				<formatter type="plain" usefile="${junit.formatter.usefile}" />
+
+				<fileset dir="${build.tests.classes}">
+					<include name="**/jms/stress/clustering/${test-mask}.class" />
+				</fileset>
+			</batchtest>
+		</junit>
+		<antcall target="stop-rmi-server" />
+	</target>
+
+	<target name="clustering-tests" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs the clustering tests">
+
+		<antcall target="stop-rmi-server" />
+
+		<mkdir dir="${build.tests.reports}" />
+
+		<echo message="" />
+		<echo message="Running clustering tests, fork=${junit.fork}, junit.batchtest.fork=${junit.batchtest.fork}" />
+		<echo message="" />
+
+		<junit printsummary="${junit.printsummary}" fork="on" forkMode="once" includeantruntime="yes" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${clustering.junit.timeout}">
+
+         <sysproperty key="remote" value="true"/>
+         <sysproperty key="module.output" value="${tests.output}"/>
+         <sysproperty key="test.bind.address" value="${test.bind.address}"/>
+         <sysproperty key="jboss.messaging.groupname" value="${jboss.messaging.groupname}"/>
+         <sysproperty key="jboss.messaging.datachanneludpport" value="${jboss.messaging.datachanneludpport}"/>
+         <sysproperty key="jboss.messaging.controlchanneludpport" value="${jboss.messaging.controlchanneludpport}"/>
+         <sysproperty key="jboss.messaging.datachanneludpaddress" value="${jboss.messaging.datachanneludpaddress}"/>
+         <sysproperty key="jboss.messaging.controlchanneludpaddress" value="${jboss.messaging.controlchanneludpaddress}"/>
+         <sysproperty key="jboss.messaging.ipttl" value="${jboss.messaging.ipttl}"/>
+         <sysproperty key="jgroups.bind_addr" value="${test.bind.address}"/>
+         <sysproperty key="test.database" value="${clustering.tests.database}"/>
+         <sysproperty key="test.clustered" value="true"/>
+         <sysproperty key="test.logfile.suffix" value="clustering-client"/>
+         <sysproperty key="objectstore.dir" value="${objectstore.dir}"/>
+         <sysproperty key="java.net.preferIPv4Stack" value="${java.net.preferIPv4Stack}" />
+	 <jvmarg value="-Xmx512M"/>
+         <!--
+         <jvmarg line="-Xmx512M -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=n,suspend=n,address=antjunit"/>
+          -->
+
+			<classpath>
+				<path refid="test.execution.classpath" />
+			</classpath>
+
+			<sysproperty key="jboss-junit-configuration" value="Clustering" />
+			<formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter" usefile="${junit.formatter.usefile}" extension="-Clustering.xml" />
+
+			<batchtest todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
+				<formatter type="plain" usefile="${junit.formatter.usefile}" />
+
+				<fileset dir="${build.tests.classes}">
+					<include name="**/jms/clustering/${test-mask}.class" />
+					<exclude name="**/jms/clustering/MultiThreadFailoverTest.class" />
+					<exclude name="**/jms/clustering/ClusterLeakTest.class" />
+				</fileset>
+			</batchtest>
+		</junit>
+		<antcall target="stop-rmi-server" />
+	</target>
+
+	<target name="bridge-tests" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs bridge tests">
+
+		<antcall target="stop-rmi-server" />
+
+		<mkdir dir="${build.tests.reports}" />
+
+		<echo message="" />
+		<echo message="Running bridge tests, fork=${junit.fork}, junit.batchtest.fork=${junit.batchtest.fork}, remoting=${test.remoting}" />
+		<echo message="" />
+
+		<junit printsummary="${junit.printsummary}" fork="on" forkMode="once" includeantruntime="yes" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${bridge.junit.timeout}">
+
+			<sysproperty key="remote" value="true" />
+			<sysproperty key="module.output" value="${tests.output}" />
+			<sysproperty key="test.bind.address" value="${test.bind.address}" />
+			<sysproperty key="jgroups.bind_addr" value="${test.bind.address}" />
+			<sysproperty key="test.database" value="${functional.tests.database}" />
+			<sysproperty key="test.remoting" value="${test.remoting}" />
+			<sysproperty key="test.logfile.suffix" value="remote-client" />
+			<sysproperty key="objectstore.dir" value="${objectstore.dir}" />
+			<jvmarg value="-Xmx512M" />
+			<!--
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=n,suspend=n,address=antjunit"/>
+         -->
+			<classpath>
+				<path refid="test.execution.classpath" />
+			</classpath>
+
+			<sysproperty key="jboss-junit-configuration" value="Remote-${test.remoting}" />
+			<formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter" usefile="${junit.formatter.usefile}" extension="-Remote-${test.remoting}.xml" />
+
+			<batchtest todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
+				<formatter type="plain" usefile="${junit.formatter.usefile}" />
+
+				<fileset dir="${build.tests.classes}">
+                                        <include name="**/jms/bridge/**/BridgeMBeanExtraTest.class" />
+				</fileset>
+			</batchtest>
+		</junit>
+
+		<antcall target="stop-rmi-server" />
+
+		<junit printsummary="${junit.printsummary}" fork="on" forkMode="once" includeantruntime="yes" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${bridge.junit.timeout}">
+
+			<sysproperty key="remote" value="true" />
+			<sysproperty key="module.output" value="${tests.output}" />
+			<sysproperty key="test.bind.address" value="${test.bind.address}" />
+			<sysproperty key="jgroups.bind_addr" value="${test.bind.address}" />
+			<sysproperty key="test.database" value="${functional.tests.database}" />
+			<sysproperty key="test.remoting" value="${test.remoting}" />
+			<sysproperty key="test.logfile.suffix" value="remote-client" />
+			<sysproperty key="objectstore.dir" value="${objectstore.dir}" />
+			<jvmarg value="-Xmx512M" />
+			<!--
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=n,suspend=n,address=antjunit"/>
+         -->
+			<classpath>
+				<path refid="test.execution.classpath" />
+			</classpath>
+
+			<sysproperty key="jboss-junit-configuration" value="Remote-${test.remoting}" />
+			<formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter" usefile="${junit.formatter.usefile}" extension="-Remote-${test.remoting}.xml" />
+
+			<batchtest todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
+				<formatter type="plain" usefile="${junit.formatter.usefile}" />
+
+				<fileset dir="${build.tests.classes}">
+					<include name="**/jms/bridge/**/${test-mask}.class" />
+                                        <exclude name="**/jms/bridge/**/BridgeMBeanExtraTest.class" />
+				</fileset>
+			</batchtest>
+		</junit>
+		<antcall target="stop-rmi-server" />
+
+	</target>
+
+	<target name="memory-leak-tests" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs MemoryLeakTests, but it starts the clustering for leak-clustering-tests">
+
+		<mkdir dir="${build.tests.reports}" />
+
+		<echo message="" />
+		<echo message="Running clustering tests, fork=${junit.fork}, junit.batchtest.fork=${junit.batchtest.fork}" />
+		<echo message="" />
+
+		<!--
+
+           By default, clustered tests are run in a "remote" configuration (the clustered
+           nodes physically live in different VMs. If you want to test a co-located clustered
+           configuration, use bin/runtest -clustered
+      -->
+
+		<junit printsummary="${junit.printsummary}" fork="${junit.fork}" includeantruntime="yes" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${junit.timeout}">
+
+         <sysproperty key="remote" value="true"/>
+         <sysproperty key="module.output" value="${tests.output}"/>
+         <sysproperty key="test.bind.address" value="${test.bind.address}"/>
+         <sysproperty key="jgroups.bind_addr" value="${test.bind.address}"/>
+         <sysproperty key="test.database" value="${clustering.tests.database}"/>
+         <sysproperty key="test.clustered" value="true"/>
+         <sysproperty key="test.logfile.suffix" value="clustering-client"/>
+         <sysproperty key="objectstore.dir" value="${objectstore.dir}"/>
+         <sysproperty key="java.net.preferIPv4Stack" value="${java.net.preferIPv4Stack}" />
+	 <jvmarg value="-Xmx512M"/>
+         <jvmarg value="-agentlib:jbossAgent"/>
+         <!--
+         <jvmarg line="-Xmx512M -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=n,suspend=n,address=antjunit"/>
+          -->
+
+			<classpath>
+				<path refid="test.execution.classpath" />
+			</classpath>
+
+			<sysproperty key="jboss-junit-configuration" value="Clustering" />
+			<formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter" usefile="${junit.formatter.usefile}" extension="-Clustering.xml" />
+
+			<batchtest fork="${junit.batchtest.fork}" todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
+				<formatter type="plain" usefile="${junit.formatter.usefile}" />
+
+				<fileset dir="${build.tests.classes}">
+					<include name="**/ClusterLeakTest.class" />
+				</fileset>
+			</batchtest>
+		</junit>
+	</target>
+
+	<target name="drop-tables" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Drops all tables">
+
+		<echo message="" />
+		<echo message="Running invm tests, fork=${junit.fork}, junit.batchtest.fork=${junit.batchtest.fork}" />
+		<echo message="" />
+
+		<junit printsummary="${junit.printsummary}" fork="on" forkMode="once" includeantruntime="${junit.includeantruntime}" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${junit.timeout}">
+
+			<sysproperty key="remote" value="false" />
+			<sysproperty key="module.output" value="${tests.output}" />
+			<sysproperty key="test.database" value="${functional.tests.database}" />
+			<sysproperty key="test.logfile.suffix" value="invm" />
+			<sysproperty key="build.lib" value="${build.lib}" />
+			<sysproperty key="objectstore.dir" value="${objectstore.dir}" />
+			<jvmarg value="-Xmx512M" />
+			<!--
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=antjunit"/>
+         -->
+			<classpath refid="test.execution.classpath" />
+			<formatter type="xml" usefile="${junit.formatter.usefile}" />
+			<test name="org.jboss.test.messaging.DropTablesTest" fork="false" todir="${junit.batchtest.todir}" haltonfailure="${junit.test.haltonfailure}" haltonerror="${junit.test.haltonerror}">
+			</test>
+		</junit>
+	</target>
+
+	<target name="test" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs a single test, specified by its FQ class name via 'test.classname'">
+
+		<fail unless="test.classname" message="To run a single test, use: ./build.sh test -Dtest.classname=org.package.MyTest" />
+		<echo>Module root is:${module.root}</echo>
+		<property name="test.classname" value="dummy" />
+
+		<junit printsummary="${junit.printsummary}" fork="${junit.fork}" includeantruntime="${junit.includeantruntime}" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${junit.timeout}">
+			<sysproperty key="remote" value="${build.tests.remote}" />
+			<sysproperty key="module.output" value="${tests.output}" />
+			<sysproperty key="test.bind.address" value="${test.bind.address}" />
+			<sysproperty key="jgroups.bind_addr" value="${test.bind.address}" />
+			<sysproperty key="test.database" value="${functional.tests.database}" />
+			<!--
+            <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=y"/>
+         -->
+			<jvmarg value="-Xmx1024M" />
+			<classpath refid="test.execution.classpath" />
+			<formatter type="xml" usefile="${junit.formatter.usefile}" />
+			<test name="${test.classname}" fork="false" todir="${junit.batchtest.todir}" haltonfailure="${junit.test.haltonfailure}" haltonerror="${junit.test.haltonerror}">
+			</test>
+		</junit>
+		<antcall target="stop-rmi-server" />
+	</target>
+
+	<!-- ======================================================================================== -->
+	<!-- Report Tasks                                                                             -->
+	<!-- ======================================================================================== -->
+
+	<target name="copy-stylesheets">
+		<mkdir dir="${build.tests.stylesheets}" />
+		<copy todir="${build.tests.stylesheets}" filtering="yes">
+			<fileset dir="${source.tests.stylesheets}">
+				<include name="**/*" />
+			</fileset>
+		</copy>
+	</target>
+
+	<target name="compile-report" depends="copy-stylesheets">
+		<mkdir dir="${build.tests.reports}/html" />
+		<junitreport todir="${build.tests.reports}">
+			<fileset dir="${build.tests.reports}">
+				<include name="TEST-*.xml" />
+			</fileset>
+			<report format="frames" todir="${build.tests.reports}/html" styledir="${build.tests.stylesheets}" />
+		</junitreport>
+	</target>
+
+	<target name="report" depends="tests, copy-stylesheets, compile-report" />
+
+	<target name="short-report" depends="short-tests, copy-stylesheets, compile-report" />
+
+	<target name="stress-report" depends="stress-tests, copy-stylesheets, compile-report" />
+
+	<target name="functional-tests" depends="tests" />
+
+	<!-- ======================================================================================== -->
+	<!-- Cleaning Tasks                                                                           -->
+	<!-- ======================================================================================== -->
+
+	<target name="clean">
+		<delete dir="${tests.output}" />
+		<delete quiet="true">
+			<fileset dir="./bin">
+				<include name=".*.classpath" />
+			</fileset>
+		</delete>
+		<ant dir="./smoke" antfile="build.xml" inheritAll="false" target="clean" />
+	</target>
+
+	<!-- ======================================================================================== -->
+	<!-- Tasks required by bin/runtest                                                            -->
+	<!-- ======================================================================================== -->
+
+	<property name="test.execution.classpath.file" value=".test.execution.classpath" />
+
+	<target name="get-test-execution-classpath" depends="init">
+		<pathconvert refid="test.execution.classpath" property="test.execution.classpath.unix" />
+		<echo message="${test.execution.classpath.unix}" file="${test.execution.classpath.file}" />
+	</target>
+
+</project>
+

Modified: branches/Branch_1_4/tests/build.xml
===================================================================
--- branches/Branch_1_4/tests/build.xml	2010-02-25 16:52:48 UTC (rev 7965)
+++ branches/Branch_1_4/tests/build.xml	2010-03-03 14:50:50 UTC (rev 7966)
@@ -44,884 +44,8 @@
 	<!--
         Import Messaging's properties, paths and everything else.
    -->
-	<import file="../build-messaging.xml" />
 
-	<!-- ======================================================================================== -->
-	<!-- Configuration                                                                            -->
-	<!-- ======================================================================================== -->
-    
-	
-	<property name="default.database" value="mysql"/>
+        <import file="build-test-${integration.base}.xml" />
 
-	<property file="build.properties" />
-
-	<property name="build.tests.remote" value="false" />
-	<property name="test.bind.address" value="localhost" />
-	<property name="jboss.messaging.groupname" value="MessagingPostOffice" />
-	<property name="jboss.messaging.datachanneludpport" value="45567" />
-	<property name="jboss.messaging.controlchanneludpport" value="45568" />
-	<property name="jboss.messaging.datachanneludpaddress" value="228.6.6.6" />
-	<property name="jboss.messaging.controlchanneludpaddress" value="228.7.7.7" />
-	<property name="jboss.messaging.ipttl" value="0" />
-   <property name="java.net.preferIPv4Stack" value="true"/>
-
-	<!--
-        Functional tests.
-   -->
-
-	<property name="functional.tests.database" value="${default.database}" />
-
-	<!--
-        Stress tests.
-   -->
-
-	<property name="stress.tests.database" value="${default.database}" />
-
-	<!-- replace that to make it easier to run a specific test -->
-	<property name="test-mask" value="*Test" />
-
-	<!-- Clustering tests -->
-	<property name="clustering.tests.database" value="${default.database}" />
-
-	<!--
-        Default remoting configuration (must be overrided by tasks that need it set otherwise).
-   -->
-	<property name="test.remoting" value="bisocket" />
-
-
-	<!--
-       By default, remote servers log file names should end in remote-server
-   -->
-	<property name="remote.server.test.logfile.suffix" value="remote-server" />
-
-
-	<!--
-        Project paths.
-   -->
-
-	<property name="tests.root" value="${basedir}" />
-	<property name="source.tests.java" value="${tests.root}/src" />
-	<property name="source.tests.integration.java" value="${integration-dir}/tests-src" />
-	<property name="source.tests.stylesheets" value="${source.tests.java}/stylesheets" />
-	<property name="tests.output" value="${tests.root}/output" />
-	<property name="build.tests.classes" value="${tests.output}/classes" />
-	<property name="build.tests.lib" value="${tests.output}/lib" />
-	<property name="build.tests.reports" value="${tests.output}/reports" />
-	<property name="build.tests.stylesheets" value="${tests.output}/stylesheets" />
-	<property name="build.tests.archive" value="jboss-messaging-tests.jar" />
-	<property name="build.tests.ejbarchive" value="jboss-messaging-tests-ejb.jar" />
-	<property name="objectstore.dir" value="${tests.root}/output/ObjectStore" />
-
-	<!--
-        JUnit configuration (values specified in ./build.properties have priority)
-   -->
-
-	<property name="junit.printsummary" value="true" />
-	<property name="junit.haltonerror" value="false" />
-	<property name="junit.haltonfailure" value="false" />
-	<property name="junit.fork" value="true" />
-	<property name="junit.includeantruntime" value="true" />
-	<property name="junit.timeout" value="5400000" />
-	<!-- 90 mins -->
-	<property name="clustering.junit.timeout" value="18000000" />
-	<!-- 150 mins -->
-	<property name="clustering.stress.junit.timeout" value="5400000" />
-	<!-- 90 mins -->
-	<property name="stress.junit.timeout" value="5400000" />
-	<!-- 90 mins -->
-	<property name="bridge.junit.timeout" value="5400000" />
-	<!-- 90 mins -->
-
-	<property name="junit.showoutput" value="true" />
-	<property name="junit.jvm" value="" />
-	<property name="junit.jvm.options" value="" />
-	<property name="junit.formatter.usefile" value="true" />
-	<property name="junit.batchtest.todir" value="${build.tests.reports}" />
-	<property name="junit.batchtest.haltonerror" value="false" />
-	<property name="junit.batchtest.haltonfailure" value="false" />
-	<property name="junit.batchtest.fork" value="true" />
-	<property name="junit.test.haltonfailure" value="false" />
-	<property name="junit.test.haltonerror" value="false" />
-
-	<!--
-        Locally maintained dependencies.
-   -->
-
-	<!--
-       JDBC Drivers.
-   -->
-	<path id="any.jdbc.driver.classpath">
-		<fileset dir="${tests.root}/lib/jdbc-drivers" includes="*.jar" />
-	</path>
-
-
-	<!--
-        The compilation classpath.
-   -->
-
-	<path id="test.compilation.classpath">
-		<path refid="compilation.classpath" />
-		<path location="../output/lib/jboss-messaging.jar" />
-		<path refid="junit.junit.classpath" />
-		<path refid="any.jdbc.driver.classpath" />
-		<path refid="hsqldb.hsqldb.classpath" />
-		<path refid="jboss.profiler.jvmti.classpath" />
-		<path refid="jboss.test14.classpath" />
-		<path refid="jboss.jbossretro.rt.classpath" />
-                <path refid="jboss.jboss.man.classpath"/>
-	</path>
-
-	<!--
-        The execution classpath.
-   -->
-
-	<path id="test.execution.classpath">
-		<pathelement location="${tests.root}/etc" />
-		<pathelement location="${build.tests.classes}" />
-		<pathelement location="${project.root}/output/etc" />
-		<!-- server's configuration files -->
-		<pathelement location="${project.root}/output/etc/server/default/deploy" />
-		<path refid="test.compilation.classpath" />
-		<path refid="dom4j.dom4j.classpath" />
-		<path refid="apache.log4j.classpath" />
-		<path refid="apache.logging.classpath" />
-		<path refid="apache.xerces.classpath" />
-		<path refid="jboss.jbossxb.classpath" />
-		<path refid="jgroups.jgroups.classpath" />
-		<path refid="apache.logging.classpath" />
-		<path refid="any.jdbc.driver.classpath" />
-		<path refid="hsqldb.hsqldb.classpath" />
-		<path refid="apache.tomcat.classpath" />
-		<path refid="apache.logging.classpath" />
-		<path refid="jboss.jboss.reflect.classpath" />
-		<path refid="jboss.jboss.deployers.classpath" />
-	</path>
-
-	<path id="stress.test.execution.classpath">
-		<pathelement path="${tests.root}/etc/stress" />
-		<path refid="test.execution.classpath" />
-	</path>
-
-	<!-- ======================================================================================== -->
-	<!-- Compilation Tasks                                                                        -->
-	<!-- ======================================================================================== -->
-
-	<target name="init" />
-
-	<target name="compile" depends="init">
-
-		<mkdir dir="${build.tests.classes}" />
-		<javac destdir="${build.tests.classes}" optimize="${javac.optimize}" target="1.5" source="1.5" debug="${javac.debug}" depend="${javac.depend}" verbose="${javac.verbose}" deprecation="${javac.deprecation}" includeJavaRuntime="${javac.include.java.runtime}" failonerror="${javac.fail.onerror}">
-			<src path="${source.tests.java}" />
-			<src path="${source.tests.integration.java}" />
-			<classpath refid="test.compilation.classpath" />
-			<include name="**/*.java" />
-		</javac>
-
-		<!--
-           RMI compilation to to create stub for server.
-      -->
-		<rmic base="${build.tests.classes}" includes="**/RMITestServer.class,**/RMINamingDelegate.class">
-			<classpath refid="test.compilation.classpath" />
-		</rmic>
-	</target>
-
-	<!-- ======================================================================================== -->
-	<!-- Archival Tasks                                                                           -->
-	<!-- ======================================================================================== -->
-
-	<target name="tests-jar" depends="compile">
-
-		<mkdir dir="${build.tests.lib}" />
-		<jar jarfile="${build.tests.lib}/${build.tests.archive}">
-			<fileset dir="${build.tests.classes}">
-				<include name="org/jboss/test/messaging/**" />
-			</fileset>
-		</jar>
-	</target>
-
-	<!-- ======================================================================================== -->
-	<!-- Execution Helper Tasks                                                                   -->
-	<!-- ======================================================================================== -->
-
-	<target name="prepare-testdirs">
-		<mkdir dir="${build.tests.reports}" />
-		<mkdir dir="${tests.output}/logs" />
-	</target>
-
-	<target name="clear-test-logs" unless="test.logs.cleared">
-
-		<!-- At the beginning of a test run, clean up the logs, since log4j runs in "append" mode -->
-		<echo message="Cleaning test logs ${tests.output}/logs/*.log" />
-		<delete quiet="true">
-			<fileset dir="${tests.output}/logs" includes="*.log" />
-		</delete>
-		<property name="test.logs.cleared" value="true" />
-	</target>
-
-	<target name="stop-rmi-server" depends="init" description="Stops the RMI server used by remote tests">
-		<java classname="org.jboss.test.messaging.tools.container.StopRMIServer" classpathref="test.execution.classpath">
-			<sysproperty key="module.output" value="${tests.output}" />
-			<sysproperty key="test.logfile.suffix" value="stop-rmi-server" />
-		</java>
-	</target>
-
-	<!-- ======================================================================================== -->
-	<!-- Test Execution Tasks                                                                     -->
-	<!-- ======================================================================================== -->
-
-	<target name="tests" depends="tests-jar, prepare-testdirs, clear-test-logs">
-
-		<antcall target="invm-tests" />
-		<!--
-           default remoting configuration (bisocket)
-      -->
-		<antcall target="remote-tests" />
-
-		<!-- We DO NOT run the test suite using the HTTP transport - it is not sufficiently stable
-
-      <antcall target="remote-tests">
-         <param name="test.remoting" value="http"/>
-      </antcall>
-
-      -->
-
-		<antcall target="clustering-tests" />
-
-		<antcall target="bridge-tests" />
-
-		<antcall target="invm-thirdparty-tests" />
-
-		<antcall target="remote-thirdparty-tests" />
-
-	</target>
-
-	<target name="short-tests" depends="tests-jar, prepare-testdirs, clear-test-logs">
-
-		<antcall target="invm-tests" />
-
-		<antcall target="remote-tests" />
-
-	</target>
-
-	<target name="thirdparty-tests" depends="tests-jar, prepare-testdirs, clear-test-logs">
-
-		<antcall target="invm-thirdparty-tests" />
-
-		<antcall target="remote-thirdparty-tests" />
-
-	</target>
-
-	<target name="http-tests" depends="tests-jar, prepare-testdirs, clear-test-logs">
-		<antcall target="remote-tests">
-			<param name="test.remoting" value="http" />
-		</antcall>
-	</target>
-
-	<target name="invm-tests" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs all available tests an in-VM configuration">
-
-		<echo message="" />
-		<echo message="Running invm tests, fork=${junit.fork}, junit.batchtest.fork=${junit.batchtest.fork}" />
-		<echo message="" />
-
-		<junit printsummary="${junit.printsummary}" fork="on" forkMode="once" includeantruntime="${junit.includeantruntime}" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${junit.timeout}">
-
-			<sysproperty key="remote" value="false" />
-			<sysproperty key="module.output" value="${tests.output}" />
-			<sysproperty key="test.bind.address" value="${test.bind.address}" />
-			<sysproperty key="jgroups.bind_addr" value="${test.bind.address}" />
-			<sysproperty key="test.bind.address" value="${test.bind.address}" />
-			<sysproperty key="jboss.messaging.groupname" value="${jboss.messaging.groupname}" />
-			<sysproperty key="jboss.messaging.datachanneludpport" value="${jboss.messaging.datachanneludpport}" />
-			<sysproperty key="jboss.messaging.controlchanneludpport" value="${jboss.messaging.controlchanneludpport}" />
-			<sysproperty key="jboss.messaging.datachanneludpaddress" value="${jboss.messaging.datachanneludpaddress}" />
-			<sysproperty key="jboss.messaging.controlchanneludpaddress" value="${jboss.messaging.controlchanneludpaddress}" />
-			<sysproperty key="jboss.messaging.ipttl" value="${jboss.messaging.ipttl}" />
-			<sysproperty key="java.net.preferIPv4Stack" value="true" />
-			<sysproperty key="test.database" value="${functional.tests.database}" />
-			<sysproperty key="test.logfile.suffix" value="invm" />
-			<sysproperty key="build.lib" value="${build.lib}" />
-			<sysproperty key="objectstore.dir" value="${objectstore.dir}" />
-			<jvmarg value="-Xmx1024M" />
-			<!--
-         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000"/>
-         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=antjunit"/>
-         -->
-			<classpath refid="test.execution.classpath" />
-			<formatter type="xml" usefile="${junit.formatter.usefile}" />
-			<batchtest todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
-				<formatter type="plain" usefile="${junit.formatter.usefile}" />
-				<fileset dir="${build.tests.classes}">
-					<include name="**/messaging/core/**/${test-mask}.class" />
-					<include name="**/jms/**/${test-mask}.class" />
-					<include name="**/messaging/util/**/${test-mask}.class" />
-                                        <exclude name="**/jms/server/recovery/**" />
-                                        <exclude name="**/jms/DeliveryOnConnectionFailureTest.class" />
-					<exclude name="**/jms/MemLeakTest.class" />
-					<exclude name="**/jms/RemotingConnectionConfigurationTest.class" />
-					<exclude name="**/jms/XAResourceRecoveryTest.class" />
-					<exclude name="**/jms/stress/**" />
-					<exclude name="**/jms/crash/**" />
-					<exclude name="**/jms/bridge/**" />
-					<exclude name="**/jms/manual/**" />
-					<exclude name="**/jms/clustering/**" />
-				</fileset>
-			</batchtest>
-		</junit>
-	</target>
-
-	<target name="invm-thirdparty-tests" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs all available thirdparty tests an in-VM configuration">
-
-		<echo message="" />
-		<echo message="Running invm tests, fork=${junit.fork}, junit.batchtest.fork=${junit.batchtest.fork}" />
-		<echo message="" />
-
-		<junit printsummary="${junit.printsummary}" fork="${junit.fork}" includeantruntime="${junit.includeantruntime}" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${junit.timeout}">
-
-			<sysproperty key="remote" value="false" />
-			<sysproperty key="module.output" value="${tests.output}" />
-			<sysproperty key="test.bind.address" value="${test.bind.address}" />
-			<sysproperty key="jgroups.bind_addr" value="${test.bind.address}" />
-			<sysproperty key="test.database" value="${functional.tests.database}" />
-			<sysproperty key="test.logfile.suffix" value="invm" />
-			<sysproperty key="build.lib" value="${build.lib}" />
-			<sysproperty key="objectstore.dir" value="${objectstore.dir}" />
-			<jvmarg value="-Xmx512M" />
-			<!--
-         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=antjunit"/>
-         -->
-			<classpath refid="test.execution.classpath" />
-			<formatter type="xml" usefile="${junit.formatter.usefile}" />
-			<batchtest fork="${junit.batchtest.fork}" todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
-				<formatter type="plain" usefile="${junit.formatter.usefile}" />
-				<fileset dir="${build.tests.classes}">
-					<include name="**/thirdparty/**/${test-mask}.class" />
-					<exclude name="**/thirdparty/remoting/ManualConnectionValidatorTest.class" />
-					<exclude name="**/thirdparty/remoting/PureAsynchronousCallTest.class" />
-					<exclude name="**/thirdparty/remoting/RemotingConnectionFailureTest.class" />
-					<exclude name="**/thirdparty/remoting/CallbackServerTimeoutTest.class" />
-					<exclude name="**/thirdparty/remoting/ClientInvokerTimeoutTest.class" />
-					<exclude name="**/thirdparty/remoting/SocketTransportCausalityTest.class" />
-				</fileset>
-			</batchtest>
-		</junit>
-	</target>
-
-	<target name="remote-tests" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs remotely all tests for which it makes sense to run remotely">
-
-		<antcall target="stop-rmi-server" />
-
-		<mkdir dir="${build.tests.reports}" />
-
-		<echo message="" />
-		<echo message="Running remote tests, junit.batchtest.fork=${junit.batchtest.fork}, remoting=${test.remoting}" />
-		<echo message="" />
-		
-		<junit printsummary="${junit.printsummary}" fork="on" forkMode="once" includeantruntime="yes" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${junit.timeout}">
-
-			<sysproperty key="remote" value="true" />
-			<sysproperty key="module.output" value="${tests.output}" />
-			<sysproperty key="test.bind.address" value="${test.bind.address}" />
-			<sysproperty key="jgroups.bind_addr" value="${test.bind.address}" />
-			<sysproperty key="test.database" value="${functional.tests.database}" />
-			<sysproperty key="test.remoting" value="${test.remoting}" />
-			<sysproperty key="test.logfile.suffix" value="remote-client" />
-			<sysproperty key="objectstore.dir" value="${objectstore.dir}" />
-
-			<sysproperty key="jboss.messaging.groupname" value="${jboss.messaging.groupname}" />
-			<sysproperty key="jboss.messaging.datachanneludpport" value="${jboss.messaging.datachanneludpport}" />
-			<sysproperty key="jboss.messaging.controlchanneludpport" value="${jboss.messaging.controlchanneludpport}" />
-			<sysproperty key="jboss.messaging.datachanneludpaddress" value="${jboss.messaging.datachanneludpaddress}" />
-			<sysproperty key="jboss.messaging.controlchanneludpaddress" value="${jboss.messaging.controlchanneludpaddress}" />
-			<sysproperty key="jboss.messaging.ipttl" value="${jboss.messaging.ipttl}" />
-			<sysproperty key="java.net.preferIPv4Stack" value="true" />
-			
-			<jvmarg value="-Xmx512M" />
-			<!--
-         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=n,suspend=n,address=antjunit"/>
-         -->
-			<classpath>
-				<path refid="test.execution.classpath" />
-			</classpath>
-
-			<sysproperty key="jboss-junit-configuration" value="Remote-${test.remoting}" />
-			<formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter" usefile="${junit.formatter.usefile}" extension="-Remote-${test.remoting}.xml" />
-
-			<batchtest todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
-				<formatter type="plain" usefile="${junit.formatter.usefile}" />
-				<fileset dir="${build.tests.classes}">
-
-					<include name="**/jms/${test-mask}.class" />
-					<include name="**/jms/message/**/${test-mask}.class" />
-					<include name="**/jms/selector/${test-mask}.class" />
-					<include name="**/jms/crash/${test-mask}.class" />
-                                        <include name="**/jms/server/recovery/${test-mask}.class" />
-					<exclude name="**/jms/WireFormatTest.class" />
-					<exclude name="**/jms/ReferencingTest.class" />
-					<exclude name="**/jms/PersistenceTest.class" />
-					<exclude name="**/jms/MemLeakTest.class" />
-					<exclude name="**/jms/ManifestTest.class" />
-					<exclude name="**/jms/JCAWrapperTest.class" />
-					<exclude name="**/jms/ClientExitTest.class" />
-				</fileset>
-			</batchtest>
-		</junit>
-
-		<antcall target="stop-rmi-server" />
-
-	</target>
-
-
-	<target name="remote-thirdparty-tests" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs remotely all thirdparty tests for which it makes sense to run remotely">
-
-		<antcall target="stop-rmi-server" />
-
-		<mkdir dir="${build.tests.reports}" />
-
-		<echo message="" />
-		<echo message="Running remote tests, fork=${junit.fork}, junit.batchtest.fork=${junit.batchtest.fork}, remoting=${test.remoting}" />
-		<echo message="" />
-
-		<junit printsummary="${junit.printsummary}" fork="on" forkMode="once" includeantruntime="yes" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${junit.timeout}">
-
-			<sysproperty key="remote" value="true" />
-			<sysproperty key="module.output" value="${tests.output}" />
-			<sysproperty key="test.bind.address" value="${test.bind.address}" />
-			<sysproperty key="jgroups.bind_addr" value="${test.bind.address}" />
-			<sysproperty key="test.database" value="${functional.tests.database}" />
-			<sysproperty key="test.remoting" value="${test.remoting}" />
-			<sysproperty key="test.logfile.suffix" value="remote-client" />
-			<sysproperty key="objectstore.dir" value="${objectstore.dir}" />
-			<jvmarg value="-Xmx512M" />
-			<!--
-         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=n,suspend=n,address=antjunit"/>
-         -->
-			<classpath>
-				<path refid="test.execution.classpath" />
-			</classpath>
-
-			<sysproperty key="jboss-junit-configuration" value="Remote-${test.remoting}" />
-			<formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter" usefile="${junit.formatter.usefile}" extension="-Remote-${test.remoting}.xml" />
-
-			<batchtest todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
-				<formatter type="plain" usefile="${junit.formatter.usefile}" />
-
-				<fileset dir="${build.tests.classes}">
-					<include name="**/thirdparty/**/${test-mask}.class" />
-					<exclude name="**/thirdparty/remoting/ServerAddressTest.class" />
-					<exclude name="**/thirdparty/jbosssx/SecurityAssociationTest.class" />
-				</fileset>
-			</batchtest>
-		</junit>
-
-		<antcall target="stop-rmi-server" />
-
-	</target>
-
-	<target name="stress-tests" depends="tests-jar, prepare-testdirs, clear-test-logs">
-		<antcall target="invm-stress-tests" />
-		<antcall target="remote-stress-tests" />
-		<!-- default remoting configuration (bisocket) -->
-
-		<!--
-      <antcall target="clustering-stress-tests"/>
--->
-		<!-- We DO NOT run the test suite using the HTTP transport - it is not sufficiently stable
-      <antcall target="remote-stress-tests">
-         <param name="test.remoting" value="http"/>
-      </antcall>
-      -->
-
-	</target>
-
-	<target name="invm-stress-tests" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs all stress tests in an in-VM configuration">
-
-		<junit printsummary="${junit.printsummary}" fork="${junit.fork}" includeantruntime="${junit.includeantruntime}" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${stress.junit.timeout}">
-
-			<sysproperty key="remote" value="false" />
-			<sysproperty key="module.output" value="${tests.output}" />
-			<sysproperty key="test.bind.address" value="${test.bind.address}" />
-			<sysproperty key="jgroups.bind_addr" value="${test.bind.address}" />
-			<sysproperty key="test.database" value="${stress.tests.database}" />
-			<sysproperty key="test.logfile.suffix" value="invm" />
-			<sysproperty key="objectstore.dir" value="${objectstore.dir}" />
-			<jvmarg value="-Xmx512M" />
-			<!--
-         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=antjunit"/>
-         -->
-			<classpath refid="stress.test.execution.classpath" />
-			<sysproperty key="jboss-junit-configuration" value="StressInVM" />
-			<formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter" usefile="${junit.formatter.usefile}" extension="-StressInVM.xml" />
-			<batchtest fork="${junit.batchtest.fork}" todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
-				<formatter type="plain" usefile="${junit.formatter.usefile}" />
-				<fileset dir="${build.tests.classes}">
-					<include name="**/jms/stress/${test-mask}.class" />
-				</fileset>
-			</batchtest>
-		</junit>
-	</target>
-
-	<target name="remote-stress-tests" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs remotely all stress tests for which it makes sense to run remotely">
-
-		<antcall target="stop-rmi-server" />
-		<mkdir dir="${build.tests.reports}" />
-
-		<junit printsummary="${junit.printsummary}" fork="${junit.fork}" includeantruntime="yes" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${stress.junit.timeout}">
-
-			<sysproperty key="remote" value="true" />
-			<sysproperty key="module.output" value="${tests.output}" />
-			<sysproperty key="test.bind.address" value="${test.bind.address}" />
-			<sysproperty key="jgroups.bind_addr" value="${test.bind.address}" />
-			<sysproperty key="test.database" value="${stress.tests.database}" />
-			<sysproperty key="test.remoting" value="${test.remoting}" />
-			<sysproperty key="test.logfile.suffix" value="remote-client" />
-			<sysproperty key="objectstore.dir" value="${objectstore.dir}" />
-			<jvmarg value="-Xmx512M" />
-			<!-- <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=unittest"/> -->
-			<classpath>
-				<path refid="stress.test.execution.classpath" />
-			</classpath>
-
-			<sysproperty key="jboss-junit-configuration" value="StressRemote-${test.remoting}" />
-			<formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter" usefile="${junit.formatter.usefile}" extension="-StressRemote-${test.remoting}.xml" />
-
-			<batchtest fork="${junit.batchtest.fork}" todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
-				<formatter type="plain" usefile="${junit.formatter.usefile}" />
-				<fileset dir="${build.tests.classes}">
-					<include name="**/jms/stress/${test-mask}.class" />
-				</fileset>
-			</batchtest>
-		</junit>
-
-		<antcall target="stop-rmi-server" />
-
-	</target>
-
-	<target name="clustering-stress-tests" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs the clustering tests">
-
-		<antcall target="stop-rmi-server" />
-
-		<mkdir dir="${build.tests.reports}" />
-
-		<echo message="" />
-		<echo message="Running clustering stress tests, fork=${junit.fork}, junit.batchtest.fork=${junit.batchtest.fork}" />
-		<echo message="" />
-
-		<junit printsummary="${junit.printsummary}" fork="${junit.fork}" includeantruntime="yes" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${clustering.stress.junit.timeout}">
-
-         <sysproperty key="remote" value="true"/>
-         <sysproperty key="module.output" value="${tests.output}"/>
-         <sysproperty key="test.bind.address" value="${test.bind.address}"/>
-         <sysproperty key="jgroups.bind_addr" value="${test.bind.address}"/>
-         <sysproperty key="test.database" value="${clustering.tests.database}"/>
-         <sysproperty key="test.clustered" value="true"/>
-         <sysproperty key="test.logfile.suffix" value="clustering-client"/>
-         <sysproperty key="objectstore.dir" value="${objectstore.dir}"/>
-         <sysproperty key="java.net.preferIPv4Stack" value="${java.net.preferIPv4Stack}" />
-	 <jvmarg value="-Xmx512M"/>
-         <!--
-         <jvmarg line="-Xmx512M -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=n,suspend=n,address=antjunit"/>
-          -->
-
-			<classpath>
-				<path refid="test.execution.classpath" />
-			</classpath>
-
-			<sysproperty key="jboss-junit-configuration" value="StressClustering" />
-			<formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter" usefile="${junit.formatter.usefile}" extension="-Clustering.xml" />
-
-			<batchtest fork="${junit.batchtest.fork}" todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
-				<formatter type="plain" usefile="${junit.formatter.usefile}" />
-
-				<fileset dir="${build.tests.classes}">
-					<include name="**/jms/stress/clustering/${test-mask}.class" />
-				</fileset>
-			</batchtest>
-		</junit>
-		<antcall target="stop-rmi-server" />
-	</target>
-
-	<target name="clustering-tests" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs the clustering tests">
-
-		<antcall target="stop-rmi-server" />
-
-		<mkdir dir="${build.tests.reports}" />
-
-		<echo message="" />
-		<echo message="Running clustering tests, fork=${junit.fork}, junit.batchtest.fork=${junit.batchtest.fork}" />
-		<echo message="" />
-
-		<junit printsummary="${junit.printsummary}" fork="on" forkMode="once" includeantruntime="yes" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${clustering.junit.timeout}">
-
-         <sysproperty key="remote" value="true"/>
-         <sysproperty key="module.output" value="${tests.output}"/>
-         <sysproperty key="test.bind.address" value="${test.bind.address}"/>
-         <sysproperty key="jboss.messaging.groupname" value="${jboss.messaging.groupname}"/>
-         <sysproperty key="jboss.messaging.datachanneludpport" value="${jboss.messaging.datachanneludpport}"/>
-         <sysproperty key="jboss.messaging.controlchanneludpport" value="${jboss.messaging.controlchanneludpport}"/>
-         <sysproperty key="jboss.messaging.datachanneludpaddress" value="${jboss.messaging.datachanneludpaddress}"/>
-         <sysproperty key="jboss.messaging.controlchanneludpaddress" value="${jboss.messaging.controlchanneludpaddress}"/>
-         <sysproperty key="jboss.messaging.ipttl" value="${jboss.messaging.ipttl}"/>
-         <sysproperty key="jgroups.bind_addr" value="${test.bind.address}"/>
-         <sysproperty key="test.database" value="${clustering.tests.database}"/>
-         <sysproperty key="test.clustered" value="true"/>
-         <sysproperty key="test.logfile.suffix" value="clustering-client"/>
-         <sysproperty key="objectstore.dir" value="${objectstore.dir}"/>
-         <sysproperty key="java.net.preferIPv4Stack" value="${java.net.preferIPv4Stack}" />
-	 <jvmarg value="-Xmx512M"/>
-         <!--
-         <jvmarg line="-Xmx512M -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=n,suspend=n,address=antjunit"/>
-          -->
-
-			<classpath>
-				<path refid="test.execution.classpath" />
-			</classpath>
-
-			<sysproperty key="jboss-junit-configuration" value="Clustering" />
-			<formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter" usefile="${junit.formatter.usefile}" extension="-Clustering.xml" />
-
-			<batchtest todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
-				<formatter type="plain" usefile="${junit.formatter.usefile}" />
-
-				<fileset dir="${build.tests.classes}">
-					<include name="**/jms/clustering/${test-mask}.class" />
-					<exclude name="**/jms/clustering/MultiThreadFailoverTest.class" />
-					<exclude name="**/jms/clustering/ClusterLeakTest.class" />
-				</fileset>
-			</batchtest>
-		</junit>
-		<antcall target="stop-rmi-server" />
-	</target>
-
-	<target name="bridge-tests" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs bridge tests">
-
-		<antcall target="stop-rmi-server" />
-
-		<mkdir dir="${build.tests.reports}" />
-
-		<echo message="" />
-		<echo message="Running bridge tests, fork=${junit.fork}, junit.batchtest.fork=${junit.batchtest.fork}, remoting=${test.remoting}" />
-		<echo message="" />
-
-		<junit printsummary="${junit.printsummary}" fork="on" forkMode="once" includeantruntime="yes" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${bridge.junit.timeout}">
-
-			<sysproperty key="remote" value="true" />
-			<sysproperty key="module.output" value="${tests.output}" />
-			<sysproperty key="test.bind.address" value="${test.bind.address}" />
-			<sysproperty key="jgroups.bind_addr" value="${test.bind.address}" />
-			<sysproperty key="test.database" value="${functional.tests.database}" />
-			<sysproperty key="test.remoting" value="${test.remoting}" />
-			<sysproperty key="test.logfile.suffix" value="remote-client" />
-			<sysproperty key="objectstore.dir" value="${objectstore.dir}" />
-			<jvmarg value="-Xmx512M" />
-			<!--
-         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=n,suspend=n,address=antjunit"/>
-         -->
-			<classpath>
-				<path refid="test.execution.classpath" />
-			</classpath>
-
-			<sysproperty key="jboss-junit-configuration" value="Remote-${test.remoting}" />
-			<formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter" usefile="${junit.formatter.usefile}" extension="-Remote-${test.remoting}.xml" />
-
-			<batchtest todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
-				<formatter type="plain" usefile="${junit.formatter.usefile}" />
-
-				<fileset dir="${build.tests.classes}">
-                                        <include name="**/jms/bridge/**/BridgeMBeanExtraTest.class" />
-				</fileset>
-			</batchtest>
-		</junit>
-
-		<antcall target="stop-rmi-server" />
-
-		<junit printsummary="${junit.printsummary}" fork="on" forkMode="once" includeantruntime="yes" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${bridge.junit.timeout}">
-
-			<sysproperty key="remote" value="true" />
-			<sysproperty key="module.output" value="${tests.output}" />
-			<sysproperty key="test.bind.address" value="${test.bind.address}" />
-			<sysproperty key="jgroups.bind_addr" value="${test.bind.address}" />
-			<sysproperty key="test.database" value="${functional.tests.database}" />
-			<sysproperty key="test.remoting" value="${test.remoting}" />
-			<sysproperty key="test.logfile.suffix" value="remote-client" />
-			<sysproperty key="objectstore.dir" value="${objectstore.dir}" />
-			<jvmarg value="-Xmx512M" />
-			<!--
-         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=n,suspend=n,address=antjunit"/>
-         -->
-			<classpath>
-				<path refid="test.execution.classpath" />
-			</classpath>
-
-			<sysproperty key="jboss-junit-configuration" value="Remote-${test.remoting}" />
-			<formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter" usefile="${junit.formatter.usefile}" extension="-Remote-${test.remoting}.xml" />
-
-			<batchtest todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
-				<formatter type="plain" usefile="${junit.formatter.usefile}" />
-
-				<fileset dir="${build.tests.classes}">
-					<include name="**/jms/bridge/**/${test-mask}.class" />
-                                        <exclude name="**/jms/bridge/**/BridgeMBeanExtraTest.class" />
-				</fileset>
-			</batchtest>
-		</junit>
-		<antcall target="stop-rmi-server" />
-
-	</target>
-
-	<target name="memory-leak-tests" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs MemoryLeakTests, but it starts the clustering for leak-clustering-tests">
-
-		<mkdir dir="${build.tests.reports}" />
-
-		<echo message="" />
-		<echo message="Running clustering tests, fork=${junit.fork}, junit.batchtest.fork=${junit.batchtest.fork}" />
-		<echo message="" />
-
-		<!--
-
-           By default, clustered tests are run in a "remote" configuration (the clustered
-           nodes physically live in different VMs. If you want to test a co-located clustered
-           configuration, use bin/runtest -clustered
-      -->
-
-		<junit printsummary="${junit.printsummary}" fork="${junit.fork}" includeantruntime="yes" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${junit.timeout}">
-
-         <sysproperty key="remote" value="true"/>
-         <sysproperty key="module.output" value="${tests.output}"/>
-         <sysproperty key="test.bind.address" value="${test.bind.address}"/>
-         <sysproperty key="jgroups.bind_addr" value="${test.bind.address}"/>
-         <sysproperty key="test.database" value="${clustering.tests.database}"/>
-         <sysproperty key="test.clustered" value="true"/>
-         <sysproperty key="test.logfile.suffix" value="clustering-client"/>
-         <sysproperty key="objectstore.dir" value="${objectstore.dir}"/>
-         <sysproperty key="java.net.preferIPv4Stack" value="${java.net.preferIPv4Stack}" />
-	 <jvmarg value="-Xmx512M"/>
-         <jvmarg value="-agentlib:jbossAgent"/>
-         <!--
-         <jvmarg line="-Xmx512M -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=n,suspend=n,address=antjunit"/>
-          -->
-
-			<classpath>
-				<path refid="test.execution.classpath" />
-			</classpath>
-
-			<sysproperty key="jboss-junit-configuration" value="Clustering" />
-			<formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter" usefile="${junit.formatter.usefile}" extension="-Clustering.xml" />
-
-			<batchtest fork="${junit.batchtest.fork}" todir="${junit.batchtest.todir}" haltonfailure="${junit.batchtest.haltonfailure}" haltonerror="${junit.batchtest.haltonerror}">
-				<formatter type="plain" usefile="${junit.formatter.usefile}" />
-
-				<fileset dir="${build.tests.classes}">
-					<include name="**/ClusterLeakTest.class" />
-				</fileset>
-			</batchtest>
-		</junit>
-	</target>
-
-	<target name="drop-tables" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Drops all tables">
-
-		<echo message="" />
-		<echo message="Running invm tests, fork=${junit.fork}, junit.batchtest.fork=${junit.batchtest.fork}" />
-		<echo message="" />
-
-		<junit printsummary="${junit.printsummary}" fork="on" forkMode="once" includeantruntime="${junit.includeantruntime}" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${junit.timeout}">
-
-			<sysproperty key="remote" value="false" />
-			<sysproperty key="module.output" value="${tests.output}" />
-			<sysproperty key="test.database" value="${functional.tests.database}" />
-			<sysproperty key="test.logfile.suffix" value="invm" />
-			<sysproperty key="build.lib" value="${build.lib}" />
-			<sysproperty key="objectstore.dir" value="${objectstore.dir}" />
-			<jvmarg value="-Xmx512M" />
-			<!--
-         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=antjunit"/>
-         -->
-			<classpath refid="test.execution.classpath" />
-			<formatter type="xml" usefile="${junit.formatter.usefile}" />
-			<test name="org.jboss.test.messaging.DropTablesTest" fork="false" todir="${junit.batchtest.todir}" haltonfailure="${junit.test.haltonfailure}" haltonerror="${junit.test.haltonerror}">
-			</test>
-		</junit>
-	</target>
-
-	<target name="test" depends="tests-jar, prepare-testdirs, clear-test-logs" description="Runs a single test, specified by its FQ class name via 'test.classname'">
-
-		<fail unless="test.classname" message="To run a single test, use: ./build.sh test -Dtest.classname=org.package.MyTest" />
-		<echo>Module root is:${module.root}</echo>
-		<property name="test.classname" value="dummy" />
-
-		<junit printsummary="${junit.printsummary}" fork="${junit.fork}" includeantruntime="${junit.includeantruntime}" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${junit.timeout}">
-			<sysproperty key="remote" value="${build.tests.remote}" />
-			<sysproperty key="module.output" value="${tests.output}" />
-			<sysproperty key="test.bind.address" value="${test.bind.address}" />
-			<sysproperty key="jgroups.bind_addr" value="${test.bind.address}" />
-			<sysproperty key="test.database" value="${functional.tests.database}" />
-			<!--
-            <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=y"/>
-         -->
-			<jvmarg value="-Xmx1024M" />
-			<classpath refid="test.execution.classpath" />
-			<formatter type="xml" usefile="${junit.formatter.usefile}" />
-			<test name="${test.classname}" fork="false" todir="${junit.batchtest.todir}" haltonfailure="${junit.test.haltonfailure}" haltonerror="${junit.test.haltonerror}">
-			</test>
-		</junit>
-		<antcall target="stop-rmi-server" />
-	</target>
-
-	<!-- ======================================================================================== -->
-	<!-- Report Tasks                                                                             -->
-	<!-- ======================================================================================== -->
-
-	<target name="copy-stylesheets">
-		<mkdir dir="${build.tests.stylesheets}" />
-		<copy todir="${build.tests.stylesheets}" filtering="yes">
-			<fileset dir="${source.tests.stylesheets}">
-				<include name="**/*" />
-			</fileset>
-		</copy>
-	</target>
-
-	<target name="compile-report" depends="copy-stylesheets">
-		<mkdir dir="${build.tests.reports}/html" />
-		<junitreport todir="${build.tests.reports}">
-			<fileset dir="${build.tests.reports}">
-				<include name="TEST-*.xml" />
-			</fileset>
-			<report format="frames" todir="${build.tests.reports}/html" styledir="${build.tests.stylesheets}" />
-		</junitreport>
-	</target>
-
-	<target name="report" depends="tests, copy-stylesheets, compile-report" />
-
-	<target name="short-report" depends="short-tests, copy-stylesheets, compile-report" />
-
-	<target name="stress-report" depends="stress-tests, copy-stylesheets, compile-report" />
-
-	<target name="functional-tests" depends="tests" />
-
-	<!-- ======================================================================================== -->
-	<!-- Cleaning Tasks                                                                           -->
-	<!-- ======================================================================================== -->
-
-	<target name="clean">
-		<delete dir="${tests.output}" />
-		<delete quiet="true">
-			<fileset dir="./bin">
-				<include name=".*.classpath" />
-			</fileset>
-		</delete>
-		<ant dir="./smoke" antfile="build.xml" inheritAll="false" target="clean" />
-	</target>
-
-	<!-- ======================================================================================== -->
-	<!-- Tasks required by bin/runtest                                                            -->
-	<!-- ======================================================================================== -->
-
-	<property name="test.execution.classpath.file" value=".test.execution.classpath" />
-
-	<target name="get-test-execution-classpath" depends="init">
-		<pathconvert refid="test.execution.classpath" property="test.execution.classpath.unix" />
-		<echo message="${test.execution.classpath.unix}" file="${test.execution.classpath.file}" />
-	</target>
-
 </project>
 




More information about the jboss-cvs-commits mailing list