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

<!--
    Copyright (c) 2002, 2017 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
        Technical University Berlin - adapted for Object Teams
 -->

<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.jdt.core.tests.model"/>
  <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">
    <!-- Java Model tests -->
    <property name="jdt-model-folder" 
              value="${eclipse-home}/jdt_model_folder"/>
    <delete dir="${jdt-model-folder}" quiet="true"/>
    <ant target="core-test" antfile="${library-file}" dir="${eclipse-home}">
      <!-- Use a subdir 'data' so that the JCL jars are put in jdt-model-folder and are deleted at the end of the tests. -->
      <property name="data-dir" value="${jdt-model-folder}/data"/>
      <property name="vmargs" value="-Xmx800M -XX:+HeapDumpOnOutOfMemoryError -DstoreMemory=jdtcoremodel_mem_trace,dir=${basedir}/../.. -Djdt.default.test.compliance=1.8"/>
      <property name="plugin-name" value="${plugin-name}"/>
      <property name="classname" 
                value="org.eclipse.jdt.core.tests.model.AllJavaModelTests"/>
    </ant>

    <!-- DOM tests -->
    <property name="jdt-dom-folder" 
              value="${eclipse-home}/jdt_dom_folder"/>
    <delete dir="${jdt-dom-folder}" quiet="true"/>
    <ant target="core-test" antfile="${library-file}" dir="${eclipse-home}">
	  <!-- Use a subdir 'data' so that the JCL jars are put in jdt-model-folder and are deleted at the end of the tests. -->
      <property name="data-dir" value="${jdt-dom-folder}/data"/>
      <property name="vmargs" value="-Djdt.default.test.compliance=1.8"/>
      <property name="plugin-name" value="${plugin-name}"/>
      <property name="classname" 
                value="org.eclipse.jdt.core.tests.dom.RunAllTests"/>
    </ant>
    
    <!-- Formatter tests -->
    <property name="formatter-folder" 
              value="${eclipse-home}/formatter-folder"/>
    <delete dir="${formatter-folder}" quiet="true"/>
    <ant target="core-test" antfile="${library-file}" dir="${eclipse-home}">
      <property name="data-dir" value="${formatter-folder}"/>
      <property name="vmargs" value="-Djdt.default.test.compliance=1.8"/>
      <property name="plugin-name" value="${plugin-name}"/>
      <property name="classname" 
                value="org.eclipse.jdt.core.tests.RunFormatterTests"/>
    </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">
	<echo message="OTTest: done running ${plugin-name}"/>
<!-- ObjectTeams: per-plugin collect not needed.
    <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>
