<?xml version="1.0"?>

<project
	name="testsuite"
	default="performance"
	basedir=".">
	<!-- The property ${eclipse-home} should be passed into this script -->
	<!-- Set a meaningful default value for when it is not. -->
	<!-- <property name="eclipse-home" value="${basedir}\..\.."/>-->
	<echo message="basedir ${basedir}" />
	<echo message="eclipse place ${eclipse-home}" />

	<!-- sets the properties eclipse-home, and library-file -->
	<property
		name="plugin-name"
		value="org.eclipse.wst.html.ui.tests.performance" />
	<property
		name="library-file"
		value="${eclipse-home}/plugins/org.eclipse.test_3.1.0/library.xml" />
	<property
		name="perf-tests-file"
		value="${testDir}/performance-tests.xml"/>
	<property
		name="workspace"
		value="${eclipse-home}/workspace-jsp-ui-perf" />
	<property
		name="extraVMargs"
		value="-Doagis80Dir=${testDir} -Xmx256M"/>
	<!--<property name="perf-tests-file" value="${testDir}/performance-tests.xml"/>-->

	<!-- This target holds all initialization code that needs to be done for -->
	<!-- all tests that are to be run. Initialization for individual tests -->
	<!-- should be done within the body of the suite target. -->
	<target name="init">
		<delete
			dir="${workspace}"
			quiet="true" />
	</target>


	<!-- This target defines the performance tests that need to be run. -->
	<target name="performance_suite">
		<antcall target="OpenNavigatorFolderTest"/>
		<antcall target="OpenNavigatorFolderTest"/>
		<antcall target="OpenNavigatorFolderTest"/>
		<antcall target="OpenNavigatorFolderTest"/>
		<antcall target="OpenNavigatorFolderTest"/>

		<ant
			target="ui-test"
			antfile="${library-file}"
			dir="${eclipse-home}">
			<property
				name="data-dir"
				value="${workspace}" />
			<property
				name="plugin-name"
				value="${plugin-name}" />
			<property
				name="classname"
				value="org.eclipse.wst.html.ui.tests.performance.HTMLUIPerformanceTestSuite" />
			<property
				name="plugin-path"
				value="${eclipse-home}/plugins/${plugin-name}" />
		</ant>

	  	<antcall target="Open1KBFileTestCase"/>
	  	<antcall target="Open1KBFileTestCase"/>
	  	<antcall target="Open1KBFileTestCase"/>

	  	<antcall target="Open10KBFileTestCase"/>
	  	<antcall target="Open10KBFileTestCase"/>
	  	<antcall target="Open10KBFileTestCase"/>

	  	<antcall target="Open100KBFileTestCase"/>
	  	<antcall target="Open100KBFileTestCase"/>
	  	<antcall target="Open100KBFileTestCase"/>

	  	<antcall target="Open200KBFileTestCase"/>
	  	<antcall target="Open200KBFileTestCase"/>
	  	<antcall target="Open200KBFileTestCase"/>

	  	<antcall target="Open500KBFileTestCase"/>
	  	<antcall target="Open500KBFileTestCase"/>
	  	<antcall target="Open500KBFileTestCase"/>

	  	<antcall target="Open1MBFileTestCase"/>
	  	<antcall target="Open1MBFileTestCase"/>
	  	<antcall target="Open1MBFileTestCase"/>

	  	<antcall target="Validate1KBFileTestCase"/>
	  	<antcall target="Validate1KBFileTestCase"/>
		<antcall target="Validate1KBFileTestCase"/>

	  	<antcall target="Validate10KBFileTestCase"/>
	  	<antcall target="Validate10KBFileTestCase"/>
		<antcall target="Validate10KBFileTestCase"/>
		
	  	<antcall target="Validate100KBFileTestCase"/>
	  	<antcall target="Validate100KBFileTestCase"/>
		<antcall target="Validate100KBFileTestCase"/>
	  	
	  	<antcall target="Validate200KBFileTestCase"/>
	  	<antcall target="Validate200KBFileTestCase"/>
		<antcall target="Validate200KBFileTestCase"/>
	  	
	  	<antcall target="Validate500KBFileTestCase"/>
	  	<antcall target="Validate500KBFileTestCase"/>
		<antcall target="Validate500KBFileTestCase"/>
		
	  	<antcall target="Validate1MBFileTestCase"/>
	  	<antcall target="Validate1MBFileTestCase"/>
		<antcall target="Validate1MBFileTestCase"/>

		<antcall target="RepeatOpenEditorx1TestCase"/>
	  	<antcall target="RepeatOpenEditorx1TestCase"/>
	  	<antcall target="RepeatOpenEditorx1TestCase"/>
	  
	  	<antcall target="RepeatOpenEditorx10TestCase"/>
	  	<antcall target="RepeatOpenEditorx10TestCase"/>
	  	<antcall target="RepeatOpenEditorx10TestCase"/>
	  	
	  	<antcall target="RepeatOpenEditorx25TestCase"/>
	  	<antcall target="RepeatOpenEditorx25TestCase"/>
	  	<antcall target="RepeatOpenEditorx25TestCase"/>

	  	<antcall target="RepeatOpenEditorx50TestCase"/>
	  	<antcall target="RepeatOpenEditorx50TestCase"/>
	  	<antcall target="RepeatOpenEditorx50TestCase"/>
	  	
	  	<antcall target="RepeatOpenEditorx75TestCase"/>
	  	<antcall target="RepeatOpenEditorx75TestCase"/>
	  	<antcall target="RepeatOpenEditorx75TestCase"/>
	 
	  	<antcall target="RepeatOpenEditorx100TestCase"/>
	  	<antcall target="RepeatOpenEditorx100TestCase"/>
	  	<antcall target="RepeatOpenEditorx100TestCase"/>

	  	<antcall target="RepeatValidatex1TestCase"/>
	  	<antcall target="RepeatValidatex1TestCase"/>
	  	<antcall target="RepeatValidatex1TestCase"/>

	  	<antcall target="RepeatValidatex10TestCase"/>
	  	<antcall target="RepeatValidatex10TestCase"/>
	  	<antcall target="RepeatValidatex10TestCase"/>
	  	
	  	<antcall target="RepeatValidatex25TestCase"/>
	  	<antcall target="RepeatValidatex25TestCase"/>
	  	<antcall target="RepeatValidatex25TestCase"/>
	  	
	  	<antcall target="RepeatValidatex50TestCase"/>
	  	<antcall target="RepeatValidatex50TestCase"/>
	  	<antcall target="RepeatValidatex50TestCase"/>
	  	
	  	<antcall target="RepeatValidatex75TestCase"/>
	  	<antcall target="RepeatValidatex75TestCase"/>
	  	<antcall target="RepeatValidatex75TestCase"/>

	  	<antcall target="RepeatValidatex100TestCase"/>
	  	<antcall target="RepeatValidatex100TestCase"/>
	  	<antcall target="RepeatValidatex100TestCase"/>

	</target>

	<target name="OpenNavigatorFolderTest">
		<delete dir="${workspace}" quiet="true"/>
		<ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
			<property name="data-dir" value="${workspace}"/>
			<property name="plugin-name" value="${plugin-name}"/>
			<property name="classname" value="org.eclipse.wst.html.ui.tests.performance.OpenNavigatorFolderTest"/>
			<property name="extraVMargs" value="${extraVMargs}"/>
		</ant>
	</target>

	<target name="Open1KBFileTestCase">
		<delete dir="${workspace}" quiet="true"/>
		<ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
			<property name="data-dir" value="${workspace}"/>
			<property name="plugin-name" value="${plugin-name}"/>
			<property name="classname" value="org.eclipse.wst.html.ui.tests.performance.scalability.Open1KBFileTestCase"/>
			<property name="extraVMargs" value="${extraVMargs}"/>
		</ant>
	</target>

	<target name="Open10KBFileTestCase">
		<delete dir="${workspace}" quiet="true"/>
		<ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
			<property name="data-dir" value="${workspace}"/>
			<property name="plugin-name" value="${plugin-name}"/>
			<property name="classname" value="org.eclipse.wst.html.ui.tests.performance.scalability.Open10KBFileTestCase"/>
			<property name="extraVMargs" value="${extraVMargs}"/>
		</ant>
	</target>

	<target name="Open100KBFileTestCase">
		<delete dir="${workspace}" quiet="true"/>
		<ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
			<property name="data-dir" value="${workspace}"/>
			<property name="plugin-name" value="${plugin-name}"/>
			<property name="classname" value="org.eclipse.wst.html.ui.tests.performance.scalability.Open100KBFileTestCase"/>
			<property name="extraVMargs" value="${extraVMargs}"/>
		</ant>
	</target>

	<target name="Open200KBFileTestCase">
		<delete dir="${workspace}" quiet="true"/>
		<ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
			<property name="data-dir" value="${workspace}"/>
			<property name="plugin-name" value="${plugin-name}"/>
			<property name="classname" value="org.eclipse.wst.html.ui.tests.performance.scalability.Open200KBFileTestCase"/>
			<property name="extraVMargs" value="${extraVMargs}"/>
		</ant>
	</target>

	<target name="Open500KBFileTestCase">
		<delete dir="${workspace}" quiet="true"/>
		<ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
			<property name="data-dir" value="${workspace}"/>
			<property name="plugin-name" value="${plugin-name}"/>
			<property name="classname" value="org.eclipse.wst.html.ui.tests.performance.scalability.Open500KBFileTestCase"/>
			<property name="extraVMargs" value="${extraVMargs}"/>
		</ant>
	</target>

	<target name="Open1MBFileTestCase">
		<delete dir="${workspace}" quiet="true"/>
		<ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
			<property name="data-dir" value="${workspace}"/>
			<property name="plugin-name" value="${plugin-name}"/>
			<property name="classname" value="org.eclipse.wst.html.ui.tests.performance.scalability.Open1MBFileTestCase"/>
			<property name="extraVMargs" value="${extraVMargs}"/>
		</ant>
	</target>

	<target name="Validate1KBFileTestCase">
		<delete dir="${workspace}" quiet="true"/>
		<ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
			<property name="data-dir" value="${workspace}"/>
			<property name="plugin-name" value="${plugin-name}"/>
			<property name="classname" value="org.eclipse.wst.html.ui.tests.performance.scalability.Validate1KBFileTestCase"/>
			<property name="extraVMargs" value="${extraVMargs}"/>
		</ant>
	</target>

	<target name="Validate10KBFileTestCase">
		<delete dir="${workspace}" quiet="true"/>
		<ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
			<property name="data-dir" value="${workspace}"/>
			<property name="plugin-name" value="${plugin-name}"/>
			<property name="classname" value="org.eclipse.wst.html.ui.tests.performance.scalability.Validate10KBFileTestCase"/>
			<property name="extraVMargs" value="${extraVMargs}"/>
		</ant>
	</target>

	<target name="Validate100KBFileTestCase">
		<delete dir="${workspace}" quiet="true"/>
		<ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
			<property name="data-dir" value="${workspace}"/>
			<property name="plugin-name" value="${plugin-name}"/>
			<property name="classname" value="org.eclipse.wst.html.ui.tests.performance.scalability.Validate100KBFileTestCase"/>
			<property name="extraVMargs" value="${extraVMargs}"/>
		</ant>
	</target>

	<target name="Validate200KBFileTestCase">
		<delete dir="${workspace}" quiet="true"/>
		<ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
			<property name="data-dir" value="${workspace}"/>
			<property name="plugin-name" value="${plugin-name}"/>
			<property name="classname" value="org.eclipse.wst.html.ui.tests.performance.scalability.Validate200KBFileTestCase"/>
			<property name="extraVMargs" value="${extraVMargs}"/>
		</ant>
	</target>

	<target name="Validate500KBFileTestCase">
		<delete dir="${workspace}" quiet="true"/>
		<ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
			<property name="data-dir" value="${workspace}"/>
			<property name="plugin-name" value="${plugin-name}"/>
			<property name="classname" value="org.eclipse.wst.html.ui.tests.performance.scalability.Validate500KBFileTestCase"/>
			<property name="extraVMargs" value="${extraVMargs}"/>
		</ant>
	</target>

	<target name="Validate1MBFileTestCase">
		<delete dir="${workspace}" quiet="true"/>
		<ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
			<property name="data-dir" value="${workspace}"/>
			<property name="plugin-name" value="${plugin-name}"/>
			<property name="classname" value="org.eclipse.wst.html.ui.tests.performance.scalability.Validate1MBFileTestCase"/>
			<property name="extraVMargs" value="${extraVMargs}"/>
		</ant>
	</target>

	<target name="RepeatOpenEditorx1TestCase">
		<delete dir="${workspace}" quiet="true"/>
		<ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
			<property name="data-dir" value="${workspace}"/>
			<property name="plugin-name" value="${plugin-name}"/>
			<property name="classname" value="org.eclipse.wst.html.ui.tests.performance.scalability.RepeatOpenEditorx1TestCase"/>
			<property name="extraVMargs" value="${extraVMargs}"/>
		</ant>
	</target>

	<target name="RepeatOpenEditorx10TestCase">
		<delete dir="${workspace}" quiet="true"/>
		<ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
			<property name="data-dir" value="${workspace}"/>
			<property name="plugin-name" value="${plugin-name}"/>
			<property name="classname" value="org.eclipse.wst.html.ui.tests.performance.scalability.RepeatOpenEditorx10TestCase"/>
			<property name="extraVMargs" value="${extraVMargs}"/>
		</ant>
	</target>

	<target name="RepeatOpenEditorx25TestCase">
		<delete dir="${workspace}" quiet="true"/>
		<ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
			<property name="data-dir" value="${workspace}"/>
			<property name="plugin-name" value="${plugin-name}"/>
			<property name="classname" value="org.eclipse.wst.html.ui.tests.performance.scalability.RepeatOpenEditorx25TestCase"/>
			<property name="extraVMargs" value="${extraVMargs}"/>
		</ant>
	</target>

	<target name="RepeatOpenEditorx50TestCase">
		<delete dir="${workspace}" quiet="true"/>
		<ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
			<property name="data-dir" value="${workspace}"/>
			<property name="plugin-name" value="${plugin-name}"/>
			<property name="classname" value="org.eclipse.wst.html.ui.tests.performance.scalability.RepeatOpenEditorx50TestCase"/>
			<property name="extraVMargs" value="${extraVMargs}"/>
		</ant>
	</target>

	<target name="RepeatOpenEditorx75TestCase">
		<delete dir="${workspace}" quiet="true"/>
		<ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
			<property name="data-dir" value="${workspace}"/>
			<property name="plugin-name" value="${plugin-name}"/>
			<property name="classname" value="org.eclipse.wst.html.ui.tests.performance.scalability.RepeatOpenEditorx75TestCase"/>
			<property name="extraVMargs" value="${extraVMargs}"/>
		</ant>
	</target>

	<target name="RepeatOpenEditorx100TestCase">
		<delete dir="${workspace}" quiet="true"/>
		<ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
			<property name="data-dir" value="${workspace}"/>
			<property name="plugin-name" value="${plugin-name}"/>
			<property name="classname" value="org.eclipse.wst.html.ui.tests.performance.scalability.RepeatOpenEditorx100TestCase"/>
			<property name="extraVMargs" value="${extraVMargs}"/>
		</ant>
	</target>

	<target name="RepeatValidatex1TestCase">
		<delete dir="${workspace}" quiet="true"/>
		<ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
			<property name="data-dir" value="${workspace}"/>
			<property name="plugin-name" value="${plugin-name}"/>
			<property name="classname" value="org.eclipse.wst.html.ui.tests.performance.scalability.RepeatValidatex1TestCase"/>
			<property name="extraVMargs" value="${extraVMargs}"/>
		</ant>
	</target>

	<target name="RepeatValidatex10TestCase">
		<delete dir="${workspace}" quiet="true"/>
		<ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
			<property name="data-dir" value="${workspace}"/>
			<property name="plugin-name" value="${plugin-name}"/>
			<property name="classname" value="org.eclipse.wst.html.ui.tests.performance.scalability.RepeatValidatex10TestCase"/>
			<property name="extraVMargs" value="${extraVMargs}"/>
		</ant>
	</target>

	<target name="RepeatValidatex25TestCase">
		<delete dir="${workspace}" quiet="true"/>
		<ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
			<property name="data-dir" value="${workspace}"/>
			<property name="plugin-name" value="${plugin-name}"/>
			<property name="classname" value="org.eclipse.wst.html.ui.tests.performance.scalability.RepeatValidatex25TestCase"/>
			<property name="extraVMargs" value="${extraVMargs}"/>
		</ant>
	</target>

	<target name="RepeatValidatex50TestCase">
		<delete dir="${workspace}" quiet="true"/>
		<ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
			<property name="data-dir" value="${workspace}"/>
			<property name="plugin-name" value="${plugin-name}"/>
			<property name="classname" value="org.eclipse.wst.html.ui.tests.performance.scalability.RepeatValidatex50TestCase"/>
			<property name="extraVMargs" value="${extraVMargs}"/>
		</ant>
	</target>

	<target name="RepeatValidatex75TestCase">
		<delete dir="${workspace}" quiet="true"/>
		<ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
			<property name="data-dir" value="${workspace}"/>
			<property name="plugin-name" value="${plugin-name}"/>
			<property name="classname" value="org.eclipse.wst.html.ui.tests.performance.scalability.RepeatValidatex75TestCase"/>
			<property name="extraVMargs" value="${extraVMargs}"/>
		</ant>
	</target>

	<target name="RepeatValidatex100TestCase">
		<delete dir="${workspace}" quiet="true"/>
		<ant target="ui-test" antfile="${perf-tests-file}" dir="${eclipse-home}">
			<property name="data-dir" value="${workspace}"/>
			<property name="plugin-name" value="${plugin-name}"/>
			<property name="classname" value="org.eclipse.wst.html.ui.tests.performance.scalability.RepeatValidatex100TestCase"/>
			<property name="extraVMargs" value="${extraVMargs}"/>
		</ant>
	</target>

	<!-- This target holds code to cleanup the testing environment after -->
	<!-- after all of the tests have been run. You can use this target to -->
	<!-- delete temporary files that have been created. -->
	<target name="cleanup">
		<delete
			dir="${workspace}"
			quiet="true" />
	</target>

	<!-- This target runs the performance test suite. Any actions that need to happen -->
	<!-- after all the tests have been run should go here. -->
	<target
		name="performance"
		depends="init,performance_suite,cleanup">
		<ant
			target="collect"
			antfile="${library-file}"
			dir="${eclipse-home}">
			<property
				name="includes"
				value="org.eclipse.wst.html.ui.tests.performance*.xml" />
			<property
				name="output-file"
				value="${plugin-name}.xml" />
		</ant>
	</target>

</project>
