<?xml version="1.0" encoding="UTF-8"?>

<project name="Tests" 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.cdt.managedbuilder.llvm.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">
    <!-- Commented out until source of problem found (not reusing same workspace dir)
    <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.api.SessionCreateTest"/>
  
    </ant>
    
    <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.api.SessionRestoreTest"/>
    </ant>
    -->

    <property name="sniff-folder"
              value="${eclipse-home}/ui_sniff_folder"/>
    <delete dir="${sniff-folder}" quiet="true"/>
    <ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}">
      <property name="data-dir" value="${sniff-folder}"/>
      <property name="plugin-name" value="${plugin-name}"/>
      <property name="classname"
                value="org.eclipse.ui.tests.UiTestSuite"/>

    </ant>
    
    <property name="jface-sniff-folder"
              value="${eclipse-home}/jface_sniff_folder"/>
    <delete dir="${jface-sniff-folder}" quiet="true"/>
    <ant target="core-test" antfile="${library-file}" dir="${eclipse-home}">
      <property name="data-dir" value="${jface-sniff-folder}"/>
      <property name="plugin-name" value="${plugin-name}"/>
      <property name="classname"
                value="org.eclipse.jface.tests.AllTests"/>
    </ant>
    
  	<property name="parts-data-folder"
  	 	      value="${eclipse-home}/parts_data_folder"/>
  	<delete dir="${parts-data-folder}" quiet="true"/>
    <ant target="core-test" antfile="${library-file}" dir="${eclipse-home}">
      <property name="data-dir" value="${parts-data-folder}"/>
      <property name="plugin-name" value="${plugin-name}"/>
      <property name="classname"
                value="org.eclipse.ui.parts.tests.PartsReferencesTestSuite"/>
    </ant>
    
  	<property name="session-data-folder"
  	 	      value="${eclipse-home}/session_data_folder"/>
  	<delete dir="${session-data-folder}" quiet="true"/>    
  	<ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}">
      <property name="data-dir" value="${session-data-folder}"/>
      <property name="plugin-name" value="${plugin-name}"/>
      <property name="classname"
                value="org.eclipse.ui.tests.session.SessionTests"/>
    </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>
	
</project>