<?xml version="1.0" encoding="UTF-8"?>

<!--
    Copyright (c) 2005, 2007 IBM Corporation and others.

    This program and the accompanying materials
    are made available under the terms of the Eclipse Public License 2.0
    which accompanies this distribution, and is available at
    https://www.eclipse.org/legal/epl-2.0/

    SPDX-License-Identifier: EPL-2.0
   
    Contributors:
        IBM Corporation - initial API and implementation
 -->

<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.ui.tests.forms"/>
	<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="session-folder" value="${eclipse-home}/ui_session_sniff_folder"/>
		<delete dir="${session-folder}" quiet="true"/>
		<ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}">
			<property name="data-dir" value="${session-folder}"/>
			<property name="plugin-name" value="${plugin-name}"/>
			<property name="classname" value="org.eclipse.ui.tests.forms.AllFormsTests"/>
		</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">
	</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>

	<!-- This target defines the performance tests that need to be run. -->
	<target name="performance-suite">
		<property name="your-performance-folder" value="${eclipse-home}/ui_forms_performance_folder"/>
		<delete dir="${your-performance-folder}" quiet="true"/>
		<ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}">
			<property name="data-dir" value="${your-performance-folder}"/>
			<property name="plugin-name" value="${plugin-name}"/>
			<property name="classname" value="org.eclipse.ui.tests.forms.AllFormsPerformanceTests"/>
		</ant>
	</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*.xml"/>
			<property name="output-file" value="${plugin-name}.xml"/>
		</ant>
	</target>

</project>
