<?xml version="1.0"?>

<project name="testsuite" default="run" 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}\..\.." />

	<!-- sets the properties eclipse-home, and library-file -->
	<property name="plugin-name" value="org.eclipse.gmf.tests.xpand" />
	<property name="classname" value="org.eclipse.gmf.tests.xpand.AllTests" />
	<property name="library-file" value="${eclipse-home}/plugins/org.eclipse.test/library.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">
		<tstamp />
		<delete>
			<fileset dir="${eclipse-home}" includes="org*.xml" />
		</delete>
	</target>

	<!-- This target defines the tests that need to be run. -->
	<target name="suite">
		<property name="test-folder" value="${eclipse-home}/test_folder" />
		<delete dir="${test-folder}" quiet="true" />
		<ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}">
			<property name="data-dir" value="${test-folder}" />
			<property name="plugin-name" value="${plugin-name}" />
			<property name="os" value="${baseos}" />
			<property name="ws" value="${basews}" />
			<property name="arch" value="${basearch}" />
			<property name="report" value="${plugin-name}" />
			<property name="classname" value="${classname}" />
			<property name="vmargs" value="-ea -XX:MaxPermSize=128m -Xmx1024m" />
		</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">
		<mkdir dir="${results}/consolelogs" />
		<copy failonerror="false" file="${eclipse-home}/results/${classname}.txt" tofile="${results}/consolelogs/${classname}_${platform}.metadata.log.txt" />
	</target>

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

</project>
