<?xml version="1.0"?>

<project name="testsuite" default="run" basedir=".">
  <!-- This file is intended to be more tightly coupled with the -->
  <!-- org.eclipse.ui plugin, for testing. -->

  <!-- The property ${eclipse-home} should be passed into this script -->

  <!-- sets the properties eclipse-home, and library-file -->
  <property name="eclipse-home" value="${basedir}/../.."/>
  <property name="plugin-name" value="org.eclipse.swt.tests"/>
  <property name="plugin-path" value="${eclipse-home}/plugins/${org.eclipse.swt.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" unless="performance">
    <property name="data" value="${eclipse-home}/swt_sniff_folder"/>
    <delete dir="${location1}" quiet="true"/>
    <ant target="core-test" antfile="${library-file}" dir="${eclipse-home}">
      <property name="data-dir" value="${data}"/>
      <property name="plugin-name" value="${plugin-name}"/>
      <property name="classname" value="org.eclipse.swt.tests.junit.AllNonBrowserTests"/>
      <!-- workaround for https://bugs.eclipse.org/502410 and checks for bug 532632 -->
      <property name="vmargs" value="-Dorg.eclipse.swt.internal.gtk.disablePrinting -Dorg.eclipse.swt.internal.gtk.enableStrictChecks"/>
    </ant>
  </target>
	
  <!-- This target defines the browser tests. -->
  <target name="browser-suite" unless="performance">
    <property name="data" value="${eclipse-home}/swt_sniff_folder"/>
    <ant target="core-test" antfile="${library-file}" dir="${eclipse-home}">
      <property name="timeout" value="900000"/>
      <property name="data-dir" value="${data}"/>
      <property name="plugin-name" value="${plugin-name}"/>
      <property name="classname" value="org.eclipse.swt.tests.junit.AllBrowserTests"/>
    </ant>
  </target>

  <!-- This target holds code to cleanup the testing environment after the tests -->
  <!-- have been run. You can use this to delete temporary files that are created. -->
  <target name="cleanup">
  </target>

  <!--  This target defines the performance tests that need to be run. --> 
  <target name="performance-suite">
    <property name="swt-performance-folder" value="${eclipse-home}/swt_performance_folder" /> 
    <delete dir="${swt-performance-folder}" quiet="true" /> 
    <ant target="core-test" antfile="${library-file}" dir="${eclipse-home}">
      <property name="timeout" value="14400000"/>
      <property name="data-dir" value="${swt-performance-folder}" /> 
      <property name="plugin-name" value="${plugin-name}" /> 
      <property name="classname" value="org.eclipse.swt.tests.junit.performance.PerformanceTests" /> 
    </ant>
  </target>

  <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>

  <!-- 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,browser-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>
