<!--
  JBoss, Home of Professional Open Source
  Copyright 2006, Red Hat Middleware LLC, and individual contributors
  as indicated by the @author tags. 
  See the copyright.txt in the distribution for a full listing 
  of individual contributors.
  This copyrighted material is made available to anyone wishing to use,
  modify, copy, or redistribute it subject to the terms and conditions
  of the GNU Lesser General Public License, v. 2.1.
  This program is distributed in the hope that it will be useful, but WITHOUT A
  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
  You should have received a copy of the GNU Lesser General Public License,
  v.2.1 along with this distribution; if not, write to the Free Software
  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  MA  02110-1301, USA.

  
  (C) 2005-2006,
  @author JBoss Inc.
-->
<test_set>

    <default_timeout value="480"/>

    <description>
        JTS Module Test Definitions
    </description>

    <test_group name="Asynchronous">

        <task_declaration>
            <task id="RecoveryManager" classname="com.arjuna.ats.arjuna.recovery.RecoveryManager" runner="ServiceRunner" type="expect_ready" location="all"/>
            <task id="AsyncTest" classname="com.hp.mwtests.ts.jts.local.async.AsyncTest" runner="UnitTestRunner" type="expect_pass_fail"/>
        </task_declaration>

        <test_declaration id="AsyncTest1" descriptive_name="Asynchronous 1" author="Mark Little">

            <description>
                Unit test generated from tests\Asynchronous.  Has no threading optimisations.
            </description>

            <configuration/>

            <action_list>
                    <start_task id="RecoveryManager" location="all" runtime_id="RcvMngr">
                        <param>$(ORBFLAGS_1)</param>
                        <param>$(ORBFLAGS_2)</param>
                        <param>-test</param>
                    </start_task>
                    <perform_task id="AsyncTest">
                        <param>$(ORBFLAGS_1)</param>
                        <param>$(ORBFLAGS_2)</param>
                    </perform_task>
                    <terminate_task runtime_id="RcvMngr"/>
            </action_list>

        </test_declaration>

        <test_declaration id="AsyncTest2" descriptive_name="Asynchronous 2" author="Mark Little">

            <description>
                Unit test generated from tests\Asynchronous.  ASYNC_PREPARE enabled
            </description>

            <configuration/>

            <action_list>
                <start_task id="RecoveryManager" location="all" runtime_id="RcvMngr">
                    <param>$(ORBFLAGS_1)</param>
                    <param>$(ORBFLAGS_2)</param>
                    <param>-test</param>
                </start_task>
                <perform_task id="AsyncTest">
                    <param>$(ORBFLAGS_1)</param>
                    <param>$(ORBFLAGS_2)</param>
                    <jvm_param>-DASYNC_PREPARE=YES</jvm_param>
                </perform_task>
                <terminate_task runtime_id="RcvMngr"/>
            </action_list>

        </test_declaration>

        <test_declaration id="AsyncTest3" descriptive_name="Asynchronous 3" author="Mark Little">

            <description>
                Unit test generated from tests\Asynchronous.  ASYNC_PREPARE and ASYNC_COMMIT enabled.
            </description>

            <configuration/>

            <action_list>
                    <start_task id="RecoveryManager" location="all" runtime_id="RcvMngr">
                        <param>$(ORBFLAGS_1)</param>
                        <param>$(ORBFLAGS_2)</param>
                        <param>-test</param>
                    </start_task>
                    <perform_task id="AsyncTest">
                        <param>$(ORBFLAGS_1)</param>
                        <param>$(ORBFLAGS_2)</param>
                        <jvm_param>-DASYNC_PREPARE=YES</jvm_param>
                        <jvm_param>-DASYNC_COMMIT=YES</jvm_param>
                    </perform_task>
                    <terminate_task runtime_id="RcvMngr"/>
            </action_list>

        </test_declaration>

        <test_declaration id="AsyncTest4" descriptive_name="Asynchronous 4" author="Mark Little">

            <description>
                Unit test generated from tests\Asynchronous.  ASYNC_PREPARE enabled with error in prepare.
            </description>

            <configuration/>

            <action_list>
                    <start_task id="RecoveryManager" location="all" runtime_id="RcvMngr">
                        <param>$(ORBFLAGS_1)</param>
                        <param>$(ORBFLAGS_2)</param>
                        <param>-test</param>
                    </start_task>
                    <perform_task id="AsyncTest">
                        <param>$(ORBFLAGS_1)</param>
                        <param>$(ORBFLAGS_2)</param>
                        <param>-errorp</param>
                        <jvm_param>-DASYNC_PREPARE=YES</jvm_param>
                    </perform_task>
                    <terminate_task runtime_id="RcvMngr"/>
            </action_list>

        </test_declaration>

        <test_declaration id="AsyncTest5" descriptive_name="Asynchronous 5" author="Mark Little">

            <description>
                Unit test generated from tests\Asynchronous.  ASYNC_PREPARE enabled with error in commit.
            </description>

            <configuration/>

            <action_list>
                    <start_task id="RecoveryManager" location="all" runtime_id="RcvMngr">
                        <param>$(ORBFLAGS_1)</param>
                        <param>$(ORBFLAGS_2)</param>
                        <param>-test</param>
                    </start_task>
                    <perform_task id="AsyncTest">
                        <param>$(ORBFLAGS_1)</param>
                        <param>$(ORBFLAGS_2)</param>
                        <param>-errorc</param>
                        <jvm_param>-DASYNC_PREPARE=YES</jvm_param>
                    </perform_task>
                    <terminate_task runtime_id="RcvMngr"/>
            </action_list>

        </test_declaration>

    </test_group>

    <test_group name="Hammer">

        <task_declaration>
                <task id="RecoveryManager" classname="com.arjuna.ats.arjuna.recovery.RecoveryManager" runner="ServiceRunner" type="expect_ready" location="all"/>
                <task id="AtomicObject1" classname="com.hp.mwtests.ts.jts.local.hammer.AtomicObject1" runner="UnitTestRunner" type="expect_pass_fail"/>
                <task id="AtomicObject2" classname="com.hp.mwtests.ts.jts.local.hammer.AtomicObject2" runner="UnitTestRunner" type="expect_pass_fail"/>
                <task id="AtomicObject3" classname="com.hp.mwtests.ts.jts.local.hammer.AtomicObject3" runner="UnitTestRunner" type="expect_pass_fail" timeout="1200"/>
        </task_declaration>

        <test_declaration id="Hammer1" descriptive_name="Hammer Test 1" author="Mark Little">

            <description>
                Hammer Test 1
            </description>

            <configuration/>

            <action_list>
                    <start_task id="RecoveryManager" location="all" runtime_id="RcvMngr">
                        <param>$(ORBFLAGS_1)</param>
                        <param>$(ORBFLAGS_2)</param>
                        <param>-test</param>
                    </start_task>
                    <perform_task id="AtomicObject1">
                        <param>$(ORBFLAGS_1)</param>
                        <param>$(ORBFLAGS_2)</param>
                    </perform_task>
                    <terminate_task runtime_id="RcvMngr"/>
            </action_list>

        </test_declaration>

        <test_declaration id="Hammer2" descriptive_name="Hammer Test 2" author="Mark Little">

            <description>
                Hammer Test 2
            </description>

            <configuration/>

            <action_list>
                    <start_task id="RecoveryManager" location="all" runtime_id="RcvMngr">
                        <param>$(ORBFLAGS_1)</param>
                        <param>$(ORBFLAGS_2)</param>
                        <param>-test</param>
                    </start_task>
                    <perform_task id="AtomicObject2">
                        <param>$(ORBFLAGS_1)</param>
                        <param>$(ORBFLAGS_2)</param>
                    </perform_task>
                    <terminate_task runtime_id="RcvMngr"/>
            </action_list>

        </test_declaration>

        <test_declaration id="Hammer3" descriptive_name="Hammer Test 3" author="Mark Little">

            <description>
                Hammer Test 3
            </description>

            <configuration/>

            <action_list>
                <start_task id="RecoveryManager" location="all" runtime_id="RcvMngr">
                    <param>$(ORBFLAGS_1)</param>
                    <param>$(ORBFLAGS_2)</param>
                    <param>-test</param>
                </start_task>
                <perform_task id="AtomicObject3">
                    <param>$(ORBFLAGS_1)</param>
                    <param>$(ORBFLAGS_2)</param>
                </perform_task>
                <terminate_task runtime_id="RcvMngr"/>
            </action_list>

        </test_declaration>

    </test_group>

    <test_group name="ArjunaNesting">

        <task_declaration>

            <task id="RecoveryManager" classname="com.arjuna.ats.arjuna.recovery.RecoveryManager" runner="ServiceRunner" type="expect_ready" location="all"/>
            <task id="ArjunaNesting" classname="com.hp.mwtests.ts.jts.local.arjuna.ArjunaNestingTest" runner="UnitTestRunner" type="expect_pass_fail"/>

        </task_declaration>

        <test_declaration id="ArjunaNesting1" descriptive_name="Arjuna Nesting 1" author="Mark Little">

            <description>
                This example demonstrates the difference between an	ArjunaSubtranAwareResource and the
                standard OTS version.  An ArjunaSubtranAwareResource always participates within a two-phase
                commit protocol for nested transactions.  Propagation occurs in the same way, however, i.e.,
                if registered using register_subtran_aware then the resource is not propagated to the parent;
                if using register_resource then it will be propagated.  For each nested transaction, it will
                take part in the two-phase protocol.  This test registers the resource with 'register_resource'
                and commits the top-level transaction.
            </description>

            <configuration/>

            <action_list>
                <start_task id="RecoveryManager" location="all" runtime_id="RcvMngr">
                    <param>$(ORBFLAGS_1)</param>
                    <param>$(ORBFLAGS_2)</param>
                    <param>-test</param>
                </start_task>
                <perform_task id="ArjunaNesting">
                    <param>$(ORBFLAGS_1)</param>
                    <param>$(ORBFLAGS_2)</param>
                </perform_task>
                <terminate_task runtime_id="RcvMngr"/>
            </action_list>

        </test_declaration>

        <test_declaration id="ArjunaNesting2" descriptive_name="Arjuna Nesting 2" author="Mark Little">

            <description>
                This example demonstrates the difference between an	ArjunaSubtranAwareResource and the
                standard OTS version.  An ArjunaSubtranAwareResource always participates within a two-phase
                commit protocol for nested transactions.  Propagation occurs in the same way, however, i.e.,
                if registered using register_subtran_aware then the resource is not propagated to the parent;
                if using register_resource then it will be propagated.  For each nested transaction, it will
                take part in the two-phase protocol.  This test registers the resource with 'register_subtran_aware'
                and commits the top-level transaction.
            </description>

            <configuration/>

            <action_list>
                <start_task id="RecoveryManager" location="all" runtime_id="RcvMngr">
                    <param>$(ORBFLAGS_1)</param>
                    <param>$(ORBFLAGS_2)</param>
                    <param>-test</param>
                </start_task>
                <perform_task id="ArjunaNesting">
                    <param>$(ORBFLAGS_1)</param>
                    <param>$(ORBFLAGS_2)</param>
                    <param>-subtran</param>
                </perform_task>
                <terminate_task runtime_id="RcvMngr"/>
            </action_list>

        </test_declaration>

        <test_declaration id="ArjunaNesting3" descriptive_name="Arjuna Nesting 3" author="Mark Little">

            <description>
                This example demonstrates the difference between an	ArjunaSubtranAwareResource and the
                standard OTS version.  An ArjunaSubtranAwareResource always participates within a two-phase
                commit protocol for nested transactions.  Propagation occurs in the same way, however, i.e.,
                if registered using register_subtran_aware then the resource is not propagated to the parent;
                if using register_resource then it will be propagated.  For each nested transaction, it will
                take part in the two-phase protocol.  This test registers the resource with 'register_resource'
                and rolls back the top-level transaction.
            </description>

            <configuration/>

            <action_list>
                <start_task id="RecoveryManager" location="all" runtime_id="RcvMngr">
                    <param>$(ORBFLAGS_1)</param>
                    <param>$(ORBFLAGS_2)</param>
                    <param>-test</param>
                </start_task>
                <perform_task id="ArjunaNesting">
                    <param>$(ORBFLAGS_1)</param>
                    <param>$(ORBFLAGS_2)</param>
                    <param>-abort</param>
                </perform_task>
                <terminate_task runtime_id="RcvMngr"/>
            </action_list>

        </test_declaration>

        <test_declaration id="ArjunaNesting4" descriptive_name="Arjuna Nesting 4" author="Mark Little">

            <description>
                This example demonstrates the difference between an	ArjunaSubtranAwareResource and the
                standard OTS version.  An ArjunaSubtranAwareResource always participates within a two-phase
                commit protocol for nested transactions.  Propagation occurs in the same way, however, i.e.,
                if registered using register_subtran_aware then the resource is not propagated to the parent;
                if using register_resource then it will be propagated.  For each nested transaction, it will
                take part in the two-phase protocol.  This test registers the resource with 'register_subtran_aware'
                and rolls back the top-level transaction.
            </description>

            <configuration/>

            <action_list>
                <start_task id="RecoveryManager" location="all" runtime_id="RcvMngr">
                    <param>$(ORBFLAGS_1)</param>
                    <param>$(ORBFLAGS_2)</param>
                    <param>-test</param>
                </start_task>
                <perform_task id="ArjunaNesting">
                    <param>$(ORBFLAGS_1)</param>
                    <param>$(ORBFLAGS_2)</param>
                    <param>-abort</param>
                    <param>-subtran</param>
                </perform_task>
                <terminate_task runtime_id="RcvMngr"/>
            </action_list>

        </test_declaration>

    </test_group>

    <test_group name="Nested">

        <task_declaration>
            <task id="RecoveryManager" classname="com.arjuna.ats.arjuna.recovery.RecoveryManager" runner="ServiceRunner" type="expect_ready" location="all"/>
            <task id="NestedTester" classname="com.hp.mwtests.ts.jts.local.nested.NestedTester" runner="UnitTestRunner" type="expect_pass_fail"/>
        </task_declaration>                       com.hp.mwtests.ts.jts.local.nested.NestedTester

        <test_declaration id="NestedTester1" descriptive_name="NestedTester1" author="Mark Little">

            <description>Tests nested transactions</description>

            <configuration/>

            <action_list>
                <start_task id="RecoveryManager" location="all" runtime_id="RcvMngr">
                    <param>$(ORBFLAGS_1)</param>
                    <param>$(ORBFLAGS_2)</param>
                    <param>-test</param>
                </start_task>
                <perform_task id="NestedTester">
                    <param>$(ORBFLAGS_1)</param>
                    <param>$(ORBFLAGS_2)</param>
                </perform_task>
                <terminate_task runtime_id="RcvMngr"/>
            </action_list>

        </test_declaration>

        <test_declaration id="NestedTester2" descriptive_name="NestedTester2" author="Mark Little">

            <description>Tests nested transactions</description>

            <configuration/>

            <action_list>
                <start_task id="RecoveryManager" location="all" runtime_id="RcvMngr">
                    <param>$(ORBFLAGS_1)</param>
                    <param>$(ORBFLAGS_2)</param>
                    <param>-test</param>
                </start_task>
                <perform_task id="NestedTester">
                    <param>$(ORBFLAGS_1)</param>
                    <param>$(ORBFLAGS_2)</param>
                    <param>-subtran</param>
                </perform_task>
                <terminate_task runtime_id="RcvMngr"/>
            </action_list>

        </test_declaration>

        <test_declaration id="NestedTester3" descriptive_name="NestedTester3" author="Mark Little">

            <description>Tests nested transactions</description>

            <configuration/>

            <action_list>
                <start_task id="RecoveryManager" location="all" runtime_id="RcvMngr">
                    <param>$(ORBFLAGS_1)</param>
                    <param>$(ORBFLAGS_2)</param>
                    <param>-test</param>
                </start_task>
                <perform_task id="NestedTester">
                    <param>$(ORBFLAGS_1)</param>
                    <param>$(ORBFLAGS_2)</param>
                    <param>-abort</param>
                </perform_task>
                <terminate_task runtime_id="RcvMngr"/>
            </action_list>

        </test_declaration>

    </test_group>

    <test_group name="DistributedHammerTests">

        <task_declaration>
            <task id="RecoveryManager" classname="com.arjuna.ats.arjuna.recovery.RecoveryManager" runner="ServiceRunner" type="expect_ready" location="all"/>
            <task id="DistributedHammer1" classname="com.hp.mwtests.ts.jts.remote.hammer.DistributedHammer1" runner="UnitTestRunner" type="expect_pass_fail"/>
            <task id="DistributedHammer2" classname="com.hp.mwtests.ts.jts.remote.hammer.DistributedHammer2" runner="UnitTestRunner" type="expect_pass_fail"/>
            <task id="DistributedHammer3" classname="com.hp.mwtests.ts.jts.remote.hammer.DistributedHammer3" runner="UnitTestRunner" type="expect_pass_fail" timeout="1200"/>
            <task id="HammerServer" classname="com.hp.mwtests.ts.jts.remote.servers.HammerServer" runner="UnitTestRunner" type="expect_ready"/>
        </task_declaration>

        <test_declaration id="DistributedHammerTest1" descriptive_name="DistHammer1" author="Mark Little">

            <description>Distributed hammer test 1</description>

            <configuration names_required="2"/>

            <action_list>
                <start_task id="RecoveryManager" location="all" runtime_id="RcvMngr">
                    <param>$(ORBFLAGS_1)</param>
                    <param>$(ORBFLAGS_2)</param>
                    <param>-test</param>
                </start_task>
                <start_task id="HammerServer"
                            runtime_id="server">
                    <param>$(ORBFLAGS_1)</param>
                    <param>$(ORBFLAGS_2)</param>
                    <param>-server</param>
                    <param>1</param>
                    <param>-reffile</param>
					<param>$(1)</param>
				</start_task>
                <start_task id="HammerServer"
                            runtime_id="server2">
                    <param>$(ORBFLAGS_1)</param>
                    <param>$(ORBFLAGS_2)</param>
                    <param>-server</param>
                    <param>2</param>
                    <param>-reffile</param>
					<param>$(2)</param>
				</start_task>
                <perform_task id="DistributedHammer1">
                    <param>$(ORBFLAGS_1)</param>
                    <param>$(ORBFLAGS_2)</param>
                	<param>-reffiles</param>
                	<param>$(1)</param>
                	<param>$(2)</param>
                </perform_task>
                <terminate_task runtime_id="server"/>
                <terminate_task runtime_id="server2"/>
                <terminate_task runtime_id="RcvMngr"/>
            </action_list>

        </test_declaration>

        <test_declaration id="DistributedHammerTest2" descriptive_name="DistHammer2" author="Mark Little">

            <description>Distributed hammer test 2</description>

            <configuration names_required="2"/>

            <action_list>
                <start_task id="RecoveryManager" location="all" runtime_id="RcvMngr">
                    <param>$(ORBFLAGS_1)</param>
                    <param>$(ORBFLAGS_2)</param>
                    <param>-test</param>
                </start_task>
                <start_task id="HammerServer"
                            runtime_id="server">
                    <param>$(ORBFLAGS_1)</param>
                    <param>$(ORBFLAGS_2)</param>
                    <param>-server</param>
                    <param>1</param>
                    <param>-reffile</param>
					<param>$(1)</param>
				</start_task>
                <start_task id="HammerServer"
                            runtime_id="server2">
                    <param>$(ORBFLAGS_1)</param>
                    <param>$(ORBFLAGS_2)</param>
                    <param>-server</param>
                    <param>2</param>
                    <param>-reffile</param>
					<param>$(2)</param>
				</start_task>
                <perform_task id="DistributedHammer2">
                    <param>$(ORBFLAGS_1)</param>
                    <param>$(ORBFLAGS_2)</param>
                	<param>-reffile1</param>
                	<param>$(1)</param>
                	<param>-reffile2</param>
                	<param>$(2)</param>
                </perform_task>
                <terminate_task runtime_id="server"/>
                <terminate_task runtime_id="server2"/>
                <terminate_task runtime_id="RcvMngr"/>
            </action_list>

        </test_declaration>

        <test_declaration id="DistributedHammerTest3" descriptive_name="DistHammer3" author="Mark Little">

            <description>Distributed hammer test 3</description>

            <configuration names_required="2"/>

            <action_list>
                <start_task id="RecoveryManager" location="all" runtime_id="RcvMngr">
                    <param>$(ORBFLAGS_1)</param>
                    <param>$(ORBFLAGS_2)</param>
                    <param>-test</param>
                </start_task>
                <start_task id="HammerServer"
                            runtime_id="server">
                    <param>$(ORBFLAGS_1)</param>
                    <param>$(ORBFLAGS_2)</param>
                    <param>-server</param>
                    <param>1</param>
                    <param>-reffile</param>
					<param>$(1)</param>
				</start_task>
                <start_task id="HammerServer"
                            runtime_id="server2">
                    <param>$(ORBFLAGS_1)</param>
                    <param>$(ORBFLAGS_2)</param>
                    <param>-server</param>
                    <param>2</param>
                    <param>-reffile</param>
					<param>$(2)</param>
				</start_task>
                <perform_task id="DistributedHammer3">
                    <param>$(ORBFLAGS_1)</param>
                    <param>$(ORBFLAGS_2)</param>
                	<param>-reffile1</param>
                	<param>$(1)</param>
                	<param>-reffile2</param>
                	<param>$(2)</param>
                </perform_task>
                <terminate_task runtime_id="server"/>
                <terminate_task runtime_id="server2"/>
                <terminate_task runtime_id="RcvMngr"/>
            </action_list>

        </test_declaration>

    </test_group>

    <test_group name="ContextPropagationTests">

	<task_declaration>
	    <task id="RecoveryManager" classname="com.arjuna.ats.arjuna.recovery.RecoveryManager" runner="ServiceRunner" type="expect_ready" location="all"/>
	    <task id="StackServer" classname="com.hp.mwtests.ts.jts.remote.servers.StackServer" runner="UnitTestRunner" type="expect_ready"/>
	    <task id="ImplGridServer" classname="com.hp.mwtests.ts.jts.remote.servers.ImplGridServer" runner="UnitTestRunner" type="expect_ready"/>
	    <task id="ExplicitStackServer" classname="com.hp.mwtests.ts.jts.remote.servers.ExplicitStackServer" runner="UnitTestRunner" type="expect_ready"/>
	    <task id="ExplicitArjunaClient" classname="com.hp.mwtests.ts.jts.remote.arjuna.ExplicitArjunaClient" runner="UnitTestRunner" type="expect_ready"/>
	    <task id="ImplicitArjunaClient" classname="com.hp.mwtests.ts.jts.remote.arjuna.ImplicitArjunaClient" runner="UnitTestRunner" type="expect_ready"/>
	    <task id="ImplicitClient" classname="com.hp.mwtests.ts.jts.remote.implicit.ImplicitClient" runner="UnitTestRunner" type="expect_pass_fail"/>
	</task_declaration>

	<test_declaration id="ExplicitPropagationTest" descriptive_name="" author="Mark Little">

	    <description>Explicit Propagation Test</description>

	    <configuration names_required="1"/>

	    <action_list>
		<start_task id="RecoveryManager" location="all" runtime_id="RcvMngr">
            <param>$(ORBFLAGS_1)</param>
            <param>$(ORBFLAGS_2)</param>
		    <param>-test</param>
		</start_task>
		<start_task id="ExplicitStackServer"
			    runtime_id="server">
            <param>$(ORBFLAGS_1)</param>
            <param>$(ORBFLAGS_2)</param>
		    <param>-reffile</param>
			<param>$(1)</param>
		</start_task>
		<perform_task id="ExplicitArjunaClient">
            <param>$(ORBFLAGS_1)</param>
            <param>$(ORBFLAGS_2)</param>
			<param>-reffile</param>
			<param>$(1)</param>
		</perform_task>
		<terminate_task runtime_id="server"/>
		<terminate_task runtime_id="RcvMngr"/>
	    </action_list>

	</test_declaration>

	<test_declaration id="ImplicitPropagationTest" descriptive_name="" author="Mark Little">

	    <description>Implicit Propagation Test</description>

	    <configuration names_required="1"/>

	    <action_list>
		<start_task id="RecoveryManager" location="all" runtime_id="RcvMngr">
            <param>$(ORBFLAGS_1)</param>
            <param>$(ORBFLAGS_2)</param>
		    <param>-test</param>
		</start_task>
		<start_task id="StackServer"
			    runtime_id="server">
            <param>$(ORBFLAGS_1)</param>
            <param>$(ORBFLAGS_2)</param>
		    <param>-reffile</param>
			<param>$(1)</param>
		</start_task>
		<perform_task id="ImplicitArjunaClient">
            <param>$(ORBFLAGS_1)</param>
            <param>$(ORBFLAGS_2)</param>
			<param>-reffile</param>
			<param>$(1)</param>
		</perform_task>
		<terminate_task runtime_id="server"/>
		<terminate_task runtime_id="RcvMngr"/>
	    </action_list>

	</test_declaration>

	<test_declaration id="ImplicitGridTest" descriptive_name="" author="Mark Little">

	    <description>Implicit Propagation Test</description>

	    <configuration names_required="1"/>

	    <action_list>
		<start_task id="RecoveryManager" location="all" runtime_id="RcvMngr">
            <param>$(ORBFLAGS_1)</param>
            <param>$(ORBFLAGS_2)</param>
		    <param>-test</param>
		</start_task>
		<start_task id="ImplGridServer"
			    runtime_id="server">
            <param>$(ORBFLAGS_1)</param>
            <param>$(ORBFLAGS_2)</param>
		    <param>-reffile</param>
			<param>$(1)</param>
		</start_task>
		<perform_task id="ImplicitClient">
            <param>$(ORBFLAGS_1)</param>
            <param>$(ORBFLAGS_2)</param>
			<param>-reffile</param>
			<param>$(1)</param>
		</perform_task>
		<terminate_task runtime_id="server"/>
		<terminate_task runtime_id="RcvMngr"/>
	    </action_list>

	</test_declaration>

    </test_group>

    <test_group name="CurrentTest">

	<task_declaration>
	    <task id="RecoveryManager" classname="com.arjuna.ats.arjuna.recovery.RecoveryManager" runner="ServiceRunner" type="expect_ready" location="all"/>
	    <task id="GridServer" classname="com.hp.mwtests.ts.jts.remote.servers.GridServer" runner="UnitTestRunner" type="expect_ready"/>
	    <task id="CurrentTest" classname="com.hp.mwtests.ts.jts.remote.current.CurrentTest" runner="UnitTestRunner" type="expect_pass_fail"/>
	</task_declaration>

	<test_declaration id="CurrentTest" descriptive_name="" author="Mark Little">

	    <description>Current Test</description>

	    <configuration names_required="1"/>

	    <action_list>
		<start_task id="RecoveryManager" location="all" runtime_id="RcvMngr">
            <param>$(ORBFLAGS_1)</param>
            <param>$(ORBFLAGS_2)</param>
		    <param>-test</param>
		</start_task>
		<start_task id="GridServer"
			    runtime_id="server">
            <param>$(ORBFLAGS_1)</param>
            <param>$(ORBFLAGS_2)</param>
		    <param>-reffile</param>
			<param>$(1)</param>
		</start_task>
		<perform_task id="CurrentTest">
            <param>$(ORBFLAGS_1)</param>
            <param>$(ORBFLAGS_2)</param>
			<param>-reffile</param>
			<param>$(1)</param>
		</perform_task>
		<terminate_task runtime_id="server"/>
		<terminate_task runtime_id="RcvMngr"/>
	    </action_list>

	</test_declaration>

    </test_group>

    <test_group name="ExplicitInterpositionTests">

	<task_declaration>
	    <task id="RecoveryManager" classname="com.arjuna.ats.arjuna.recovery.RecoveryManager" runner="ServiceRunner" type="expect_ready" location="all"/>
	    <task id="ExplicitInterClient" classname="com.hp.mwtests.ts.jts.remote.explicitinterposition.ExplicitInterClient" runner="UnitTestRunner" type="expect_pass_fail"/>
	    <task id="SetGetServer" classname="com.hp.mwtests.ts.jts.remote.servers.SetGetServer" runner="UnitTestRunner" type="expect_ready"/>
	</task_declaration>

	<test_declaration id="ExplicitInterpositionTest" descriptive_name="" author="Mark Little">

	    <description>Explicit Interposition Test</description>

	    <configuration names_required="1"/>

	    <action_list>
		<start_task id="RecoveryManager" location="all" runtime_id="RcvMngr">
            <param>$(ORBFLAGS_1)</param>
            <param>$(ORBFLAGS_2)</param>
		    <param>-test</param>
		</start_task>
		<start_task id="SetGetServer"
			    runtime_id="server">
            <param>$(ORBFLAGS_1)</param>
            <param>$(ORBFLAGS_2)</param>
		    <param>-reffile</param>
			<param>$(1)</param>
		</start_task>
		<perform_task id="ExplicitInterClient">
            <param>$(ORBFLAGS_1)</param>
            <param>$(ORBFLAGS_2)</param>
			<param>-object</param>
			<param>$(1)</param>
		</perform_task>
		<terminate_task runtime_id="server"/>
		<terminate_task runtime_id="RcvMngr"/>
	    </action_list>

	</test_declaration>

    </test_group>

    <test_group name="TimeoutTests">

	<task_declaration>
	    <task id="RecoveryManager" classname="com.arjuna.ats.arjuna.recovery.RecoveryManager" runner="ServiceRunner" type="expect_ready" location="all"/>
	    <task id="TimeoutClient" classname="com.hp.mwtests.ts.jts.remote.timeout.TimeoutClient" runner="UnitTestRunner" type="expect_pass_fail"/>
	    <task id="SetGetServer" classname="com.hp.mwtests.ts.jts.remote.servers.SetGetServer" runner="UnitTestRunner" type="expect_ready"/>
	</task_declaration>

	<test_declaration id="TimeoutTest" descriptive_name="" author="Mark Little">

	    <description>Timeout Test</description>

	    <configuration names_required="1"/>

	    <action_list>
		<start_task id="RecoveryManager" location="all" runtime_id="RcvMngr">
            <param>$(ORBFLAGS_1)</param>
            <param>$(ORBFLAGS_2)</param>
		    <param>-test</param>
		</start_task>
		<start_task id="SetGetServer"
			    runtime_id="server">
            <param>$(ORBFLAGS_1)</param>
            <param>$(ORBFLAGS_2)</param>
		    <jvm_param>-Dcom.arjuna.ats.jts.txReaperTimeout=1000</jvm_param>
		    <param>-reffile</param>
		    <param>$(1)</param>
		</start_task>
		<perform_task id="TimeoutClient">
            <param>$(ORBFLAGS_1)</param>
            <param>$(ORBFLAGS_2)</param>
		    <param>-reffile</param>
		    <param>$(1)</param>
		</perform_task>
		<terminate_task runtime_id="server"/>
		<terminate_task runtime_id="RcvMngr"/>
	    </action_list>

	</test_declaration>

    </test_group>

</test_set>
