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

<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.editors.tests"/>
  <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="eclipse-editors-folder" 
              value="${eclipse-home}/eclipse_editors_folder"/>
    <delete dir="${eclipse-editors-folder}" quiet="true"/>
    <ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}">
      <property name="data-dir" value="${eclipse-editors-folder}"/>
      <property name="plugin-name" value="${plugin-name}"/>
      <property name="classname" 
                value="org.eclipse.ui.editors.tests.EditorsTestSuite"/>
    </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 runs the performance test suites.
  Disabled for bug 442533: We should not have empty performance targets
  <target name="performance">
  </target>
  -->

</project>
