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

<!--
 Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.

 This code is free software; you can redistribute it and/or modify it
 under the terms of the GNU General Public License version 2 only, as
 published by the Free Software Foundation.

 This code is distributed in the hope that it will be useful, but WITHOUT
 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 version 2 for more details (a copy is included in the LICENSE file that
 accompanied this code).

 You should have received a copy of the GNU General Public License version
 2 along with this work; if not, write to the Free Software Foundation,
 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.

 Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 or visit www.oracle.com if you need additional information or have any
 questions.
-->

<project name="nashorn" default="test" basedir="..">
  <import file="build-nasgen.xml"/>
  <import file="code_coverage.xml"/>

  <target name="load-properties">
    <!-- set default values to run.test.jvmargs.external property -->
    <condition property="run.test.jvmargs.external" value="">
     <not><isset property="run.test.jvmargs.external"/></not>
    </condition>     
    <!-- loading locally defined resources and properties. NB they owerwrite default ones defined later -->
    <property file="${user.home}/.nashorn.project.local.properties"/>

    <loadproperties srcFile="make/project.properties"/>
  </target>

  <target name="init-conditions" depends="load-properties">
    <path id="nashorn.jar.path">
         <pathelement location="${nashorn.jar}"/>
    </path>
    <condition property="svn.executable" value="/usr/local/bin/svn" else="svn">
      <available file="/usr/local/bin/svn"/>
    </condition>
    <condition property="hg.executable" value="/usr/local/bin/hg" else="hg">
      <available file="/usr/local/bin/hg"/>
    </condition>
    <condition property="git.executable" value="/usr/local/bin/git" else="git">
      <available file="/usr/local/bin/git"/>
    </condition>
    <!-- check if TestNG and dependencies are available, and download them if they aren't -->
    <antcall target="get-testng"/>
    <condition property="testng.available" value="true">
      <and>
        <available file="${file.reference.testng.jar}"/>
        <available file="${file.reference.jcommander.jar}"/>
        <available file="${file.reference.bsh.jar}"/>
        <available file="${file.reference.snakeyaml.jar}"/>
      </and>
    </condition>

    <!-- check if asmtools-6.0.jar is available, and download it if it isn't -->
    <!--
    <available property="asmtools.already.present" file="${file.reference.asmtools.jar}"/>
    <antcall target="get-asmtools"/>
    <available property="asmtools.available" file="${file.reference.asmtools.jar}"/>
    -->

    <!-- check if Jemmy ang TestNG are avaiable -->
    <condition property="jemmy.jfx.testng.available" value="true">
      <and>
        <available file="${file.reference.jemmyfx.jar}"/>
        <available file="${file.reference.jemmycore.jar}"/>
        <available file="${file.reference.jemmyawtinput.jar}"/>
        <available file="${file.reference.jfxrt.jar}"/>
        <isset property="testng.available"/>
      </and>
    </condition>

    <!-- enable/disable make code coverage -->
    <condition property="cc.enabled">
        <istrue value="${make.code.coverage}" />
    </condition>

    <!-- exclude tests in exclude lists -->
    <condition property="exclude.list" value="./exclude/exclude_list_cc.txt" else="./exclude/exclude_list.txt">
      <istrue value="${make.code.coverage}" />
    </condition>

    <condition property="jfr.options" value="${run.test.jvmargs.jfr}" else="">
      <istrue value="${jfr}"/>
    </condition>

    <condition property="test-sys-prop-no-security.os.not.windows">
      <not>
        <os family="windows"/>
      </not>
    </condition>

    <!--set windows cygwin/cmd specific properties-->
    <property environment="env"/>
    <condition property="test-sys-prop-no-security.os.not.windows.cmd">
     <not>
      <and>
        <os family="windows"/>
        <not>
          <isset property="env.SHELL"/>
        </not>
      </and>
     </not>
    </condition>
   </target>
  

  <!-- check minimum ant version required to be 1.8.4 -->
  <target name="check-ant-version">
    <property name="ant.version.required" value="1.8.4"/>
    <antversion property="ant.current.version" />
    <fail message="The current ant version, ${ant.current.version}, is too old. Please use 1.8.4 or above.">
        <condition>
            <not>
                <antversion atleast="${ant.version.required}"/>
            </not>
        </condition>
    </fail>
  </target>

  <target name="check-java-version">
    <!-- look for a Class that is available only in jdk1.8 or above -->
    <!-- core/exposed API class is better than an implementation class -->
    <available property="jdk1.8+" classname="java.util.stream.Stream"/>

    <!-- need jdk1.8 or above -->
    <fail message="Unsupported Java version: ${ant.java.version}. Please use Java version 1.8 or greater." unless="jdk1.8+">
    </fail>
  </target>

  <target name="init" depends="check-ant-version, check-java-version, init-conditions, init-cc">
    <!-- extends jvm args -->
    <property name="run.test.jvmargs" value="${run.test.jvmargs.main} ${run.test.cc.jvmargs} ${jfr.options}"/>
    <property name="run.test.jvmargs.octane" value="${run.test.jvmargs.octane.main} ${run.test.cc.jvmargs} ${jfr.options}"/>

    <echo message="run.test.jvmargs=${run.test.jvmargs}"/>
    <echo message="run.test.jvmargs.octane=${run.test.jvmargs.octane}"/>
    <echo message="run.test.xms=${run.test.xms}"/>
    <echo message="run.test.xmx=${run.test.xmx}"/>

  </target>

  <target name="prepare" depends="init">
    <mkdir dir="${build.dir}"/>
    <mkdir dir="${build.classes.dir}"/>
    <mkdir dir="${nashorn.module.classes.dir}"/>
    <mkdir dir="${dynalink.module.classes.dir}"/>
    <mkdir dir="${nashorn.shell.module.classes.dir}"/>
    <mkdir dir="${nashorn.module.classes.dir}/META-INF/services"/>
    <mkdir dir="${build.test.classes.dir}"/>
    <mkdir dir="${dist.dir}"/>
    <mkdir dir="${dist.javadoc.dir}"/>
  </target>

  <target name="clean" depends="init, clean-nasgen, init-cc-cleanup">
    <delete includeemptydirs="true">
      <fileset dir="${build.dir}" erroronmissingdir="false"/>
    </delete>
    <delete dir="${dist.dir}"/>
  </target>

  <target name="compile" depends="prepare" description="Compiles nashorn">
    <javac srcdir="${dynalink.module.src.dir}"
           destdir="${dynalink.module.classes.dir}"
           source="${javac.source}"
           target="${javac.target}"
           debug="${javac.debug}"
           encoding="${javac.encoding}"
           includeantruntime="false" fork="true">
      <compilerarg value="-Xlint:all"/>
      <compilerarg value="-XDignore.symbol.file"/>
      <compilerarg value="-Xdiags:verbose"/>
      <compilerarg value="-parameters"/>
    </javac>
    <!-- patch-module does not like module-info.class files! -->
    <delete>
      <fileset dir="${build.classes.dir}" includes="**/module-info.class"/>
    </delete>
    <javac srcdir="${nashorn.module.src.dir}"
           destdir="${nashorn.module.classes.dir}"
           source="${javac.source}"
           target="${javac.target}"
           debug="${javac.debug}"
           encoding="${javac.encoding}"
           includeantruntime="false" fork="true">
      <compilerarg value="-Xlint:all"/>
      <compilerarg value="-XDignore.symbol.file"/>
      <compilerarg value="-Xdiags:verbose"/>
      <compilerarg value="-parameters"/>
      <compilerarg line="${nashorn.override.option}"/>
    </javac>
    <!-- patch-module does not like module-info.class files! -->
    <delete>
      <fileset dir="${build.classes.dir}" includes="**/module-info.class"/>
    </delete>
    <javac srcdir="${nashorn.shell.module.src.dir}"
           destdir="${nashorn.shell.module.classes.dir}"
           source="${javac.source}"
           target="${javac.target}"
           debug="${javac.debug}"
           encoding="${javac.encoding}"
           includeantruntime="false" fork="true">
      <compilerarg value="-Xlint:all"/>
      <compilerarg value="-XDignore.symbol.file"/>
      <compilerarg value="-Xdiags:verbose"/>
      <compilerarg value="-parameters"/>
      <compilerarg line="${nashorn.override.option}"/>
    </javac>
    <!-- patch-module does not like module-info.class files! -->
    <delete>
      <fileset dir="${build.classes.dir}" includes="**/module-info.class"/>
    </delete>
     <copy todir="${nashorn.module.classes.dir}/jdk/nashorn/api/scripting/resources">
       <fileset dir="${nashorn.module.src.dir}/jdk/nashorn/api/scripting/resources/"/>
    </copy>
    <copy todir="${nashorn.module.classes.dir}/jdk/nashorn/internal/runtime/resources">
       <fileset dir="${nashorn.module.src.dir}/jdk/nashorn/internal/runtime/resources/"/>
    </copy>
    <copy todir="${nashorn.module.classes.dir}/jdk/nashorn/tools/resources">
       <fileset dir="${nashorn.module.src.dir}/jdk/nashorn/tools/resources/"/>
    </copy>
    <copy file="${dynalink.module.src.dir}/jdk/dynalink/support/messages.properties" todir="${dynalink.module.classes.dir}/jdk/dynalink/support"/>
    <copy file="${nashorn.module.src.dir}/jdk/nashorn/internal/codegen/anchor.properties" todir="${nashorn.module.classes.dir}/jdk/nashorn/internal/codegen"/>

    <echo message="version_string=${nashorn.fullversion}" file="${nashorn.module.classes.dir}/jdk/nashorn/internal/runtime/resources/version.properties"/>
    <echo file="${nashorn.module.classes.dir}/jdk/nashorn/internal/runtime/resources/version.properties" append="true">${line.separator}</echo>
    <echo message="version_short=${nashorn.version}" file="${nashorn.module.classes.dir}/jdk/nashorn/internal/runtime/resources/version.properties" append="true"/>
  </target>

  <target name="jar" depends="compile, run-nasgen, generate-cc-template" description="Creates nashorn.jar" unless="compile.suppress.jar">
    <jar jarfile="${dynalink.jar}">
      <fileset dir="${dynalink.module.classes.dir}"/>
    </jar>
    <jar jarfile="${nashorn.jar}" index="true" filesetmanifest="merge">
      <fileset dir="${nashorn.module.classes.dir}"/>
      <manifest>
        <attribute name="Archiver-Version" value="n/a"/>
        <attribute name="Build-Jdk" value="${java.runtime.version}"/>
        <attribute name="Built-By" value="n/a"/>
        <attribute name="Created-By" value="Ant jar task"/>
        <section name="jdk/nashorn/">
          <attribute name="Implementation-Title" value="${nashorn.product.name}"/>
          <attribute name="Implementation-Version" value="${nashorn.version}"/>
        </section>
      </manifest>
    </jar>
    <jar jarfile="${jjs.jar}">
      <fileset dir="${nashorn.shell.module.classes.dir}"/>
    </jar>
  </target>

  <target name="use-promoted-nashorn" depends="init">
    <delete file="${dist.dir}/nashorn.jar"/>
    <copy file="${java.home}/lib/ext/nashorn.jar" todir="${dist.dir}"/>
    <property name="compile.suppress.jar" value="defined"/>
  </target>

  <!-- generate javadoc for Nashorn classes -->
  <target name="javadoc" depends="jar">
    <javadoc destdir="${dist.javadoc.dir}" use="yes" overview="${nashorn.module.src.dir}/overview.html"
        windowtitle="${nashorn.product.name} ${nashorn.version}"
        additionalparam="-quiet" failonerror="true" useexternalfile="true">
      <arg value="--module-source-path"/>
      <arg value="${basedir}/src/*/share/classes"/>
      <arg value="${javadoc.option}"/>
      <classpath>
        <pathelement location="${build.classes.dir}"/>
      </classpath>
      <fileset dir="${dynalink.module.src.dir}" includes="**/*.java"/>
      <fileset dir="${nashorn.module.src.dir}" includes="**/*.java"/>
      <link href="http://docs.oracle.com/javase/8/docs/api/"/>
    </javadoc>
  </target>

  <!-- generate javadoc only for nashorn extension api classes -->
  <target name="nashornapi" depends="jar">
    <mkdir dir="${dist.nashornapi.javadoc.dir}"/>
    <javadoc destdir="${dist.nashornapi.javadoc.dir}" use="yes" overview="${nashorn.module.src.dir}/overview.html"
        extdirs="${nashorn.ext.path}" windowtitle="${nashorn.product.name} ${nashorn.version}"
        additionalparam="-quiet" failonerror="true" useexternalfile="true">
      <arg value="--module-source-path"/>
      <arg value="${basedir}/src/*/share/classes"/>
      <arg value="${javadoc.option}"/>
      <classpath>
        <pathelement location="${build.classes.dir}"/>
      </classpath>
      <fileset dir="${nashorn.module.src.dir}" includes="jdk/nashorn/api/**/*.java"/>
      <link href="http://docs.oracle.com/javase/8/docs/api/"/>
    </javadoc>
  </target>

  <!-- generate javadoc only for Dynalink API classes -->
  <target name="dynalinkapi" depends="jar">
    <mkdir dir="${dist.dynalinkapi.javadoc.dir}"/>
    <javadoc destdir="${dist.dynalinkapi.javadoc.dir}" use="yes"
        windowtitle="Dynalink"
        additionalparam="-quiet" failonerror="true" useexternalfile="true">
      <arg value="--module-source-path"/>
      <arg value="${basedir}/src/*/share/classes"/>
      <arg value="${javadoc.option}"/>
      <classpath>
        <pathelement location="${build.classes.dir}"/>
      </classpath>
      <fileset dir="${dynalink.module.src.dir}" includes="**/*.java" excludes="jdk/dynalink/internal/*.java"/>
      <link href="http://docs.oracle.com/javase/8/docs/api/"/>
    </javadoc>
  </target>

  <target name="javadocapi" depends="nashornapi, dynalinkapi"/>

  <!-- generate shell.html for shell tool documentation -->
  <target name="shelldoc" depends="jar">
    <java classname="${nashorn.shell.tool}" dir="${basedir}" output="${dist.dir}/shell.html" failonerror="true" fork="true">
      <jvmarg line="${nashorn.override.option}"/>
      <arg value="-scripting"/>
      <arg value="docs/genshelldoc.js"/>
    </java>
  </target>

  <!-- generate all docs -->
  <target name="docs" depends="javadoc, shelldoc"/>

  <!-- create .zip and .tar.gz for nashorn binaries and scripts. -->
  <target name="dist" depends="jar">
      <zip destfile="${build.zip}" basedir=".."
          excludes="nashorn/bin/*.sh" includes="nashorn/bin/** nashorn/dist/**"/>
      <tar destfile="${build.gzip}" basedir=".." compression="gzip"
          excludes="nashorn/bin/*.sh" includes="nashorn/bin/** nashorn/dist/**"/>
  </target>

  <target name="compile-test" depends="compile, run-nasgen" if="testng.available">
    <!-- testng task -->
    <taskdef name="testng" classname="org.testng.TestNGAntTask"
        classpath="${testng.ant.classpath}"/>

    <javac srcdir="${test.src.dir}"
           destdir="${build.test.classes.dir}"
           classpath="${javac.test.classpath}"
           source="${javac.source}"
           target="${javac.target}"
           debug="${javac.debug}"
           encoding="${javac.encoding}"
           includeantruntime="false" fork="true">
        <compilerarg line="${nashorn.override.option}"/>
        <compilerarg value="-Xlint:unchecked"/>
        <compilerarg value="-Xlint:deprecation"/>
        <compilerarg value="-Xdiags:verbose"/>
        <compilerarg line="${test.module.imports}"/>
    </javac>

    <copy todir="${build.test.classes.dir}/META-INF/services">
       <fileset dir="${test.src.dir}/META-INF/services/"/>
    </copy>

    <copy todir="${build.test.classes.dir}/jdk/nashorn/internal/runtime/test/resources">
       <fileset dir="${test.src.dir}/jdk/nashorn/internal/runtime/test/resources"/>
    </copy>

    <copy todir="${build.test.classes.dir}/jdk/nashorn/internal/runtime/doubleconv/test/resources">
      <fileset dir="${test.src.dir}/jdk/nashorn/internal/runtime/doubleconv/test/resources"/>
    </copy>

    <copy todir="${build.test.classes.dir}/jdk/nashorn/api/scripting/test/resources">
       <fileset dir="${test.src.dir}/jdk/nashorn/api/scripting/test/resources"/>
    </copy>

    <!-- tests that check nashorn internals and internal API -->
    <jar jarfile="${nashorn.internal.tests.jar}">
      <fileset dir="${build.test.classes.dir}" includes="**/internal/**"/>
      <fileset dir="${build.test.classes.dir}" includes="**/test/tools/**"/>
      <fileset dir="${build.test.classes.dir}" includes="**/models/**"/>
      <fileset dir="${build.test.classes.dir}" includes="**/jdk/dynalink/test/Trusted**"/>
      <fileset dir="${build.test.classes.dir}" includes="**/META-INF/**"/>
    </jar>

    <!-- tests that check nashorn script engine (jsr-223) API and dynalink API -->
    <jar jarfile="${nashorn.api.tests.jar}">
      <fileset dir="${build.test.classes.dir}" includes="**/jdk/dynalink/**" excludes="**/jdk/dynalink/test/Trusted**"/>
      <fileset dir="${build.test.classes.dir}" includes="**/api/**"/>
      <fileset dir="${build.test.classes.dir}" includes="**/META-INF/**"/>
      <fileset dir="${build.test.classes.dir}" includes="**/resources/*.js"/>
      <fileset dir="${build.test.classes.dir}" includes="**/UnnamedPackage**"/>
    </jar>

  </target>

  <target name="generate-policy-file" depends="prepare">
    <echo file="${build.dir}/nashorn.policy">

grant codeBase "file:/${basedir}/${dynalink.module.classes.dir}" {
    permission java.security.AllPermission;
};

grant codeBase "file:/${basedir}/${nashorn.module.classes.dir}" {
    permission java.security.AllPermission;
};

grant codeBase "file:/${basedir}/${nashorn.internal.tests.jar}" {
    permission java.security.AllPermission;
};

grant codeBase "file:/${basedir}/${nashorn.api.tests.jar}" {
    permission java.util.PropertyPermission "parserapitest.*", "read";
    permission java.util.PropertyPermission "test.*", "read";
    permission java.util.PropertyPermission "test262.*", "read";
    permission java.io.FilePermission "${basedir}/test/-","read";
    permission java.io.FilePermission "$${user.dir}", "read";
    permission java.util.PropertyPermission "user.dir", "read";
};

grant codeBase "file:/${basedir}/${file.reference.testng.jar}" {
    permission java.security.AllPermission;
};
grant codeBase "file:/${basedir}/${file.reference.jcommander.jar}" {
    permission java.security.AllPermission;
};
grant codeBase "file:/${basedir}/${file.reference.bsh.jar}" {
    permission java.security.AllPermission;
};
grant codeBase "file:/${basedir}/${file.reference.snakeyaml.jar}" {
    permission java.security.AllPermission;
};
//// in case of absolute path:
grant codeBase "file:/${nashorn.internal.tests.jar}" {
    permission java.security.AllPermission;
};

grant codeBase "file:/${file.reference.testng.jar}" {
    permission java.security.AllPermission;
};
grant codeBase "file:/${file.reference.jcommander.jar}" {
    permission java.security.AllPermission;
};
grant codeBase "file:/${file.reference.bsh.jar}" {
    permission java.security.AllPermission;
};
grant codeBase "file:/${file.reference.snakeyaml.jar}" {
    permission java.security.AllPermission;
};


grant codeBase "file:/${basedir}/test/script/trusted/*" {
    permission java.security.AllPermission;
};

grant codeBase "file:/${basedir}/test/script/maptests/*" {
    permission java.io.FilePermission "${basedir}/test/script/maptests/*","read";
    permission java.lang.RuntimePermission "nashorn.debugMode";
};

grant codeBase "file:/${basedir}/test/script/basic/*" {
    permission java.io.FilePermission "${basedir}/test/script/-", "read";
    permission java.io.FilePermission "$${user.dir}", "read";
    permission java.util.PropertyPermission "user.dir", "read";
    permission java.util.PropertyPermission "nashorn.test.*", "read";
};

grant codeBase "file:/${basedir}/test/script/basic/apply_to_call/*" {
    permission java.io.FilePermission "${basedir}/test/script/-", "read";
    permission java.io.FilePermission "$${user.dir}", "read";
    permission java.util.PropertyPermission "user.dir", "read";
    permission java.util.PropertyPermission "nashorn.test.*", "read";
};

grant codeBase "file:/${basedir}/test/script/basic/parser/*" {
    permission java.io.FilePermission "${basedir}/test/script/-", "read";
    permission java.io.FilePermission "$${user.dir}", "read";
    permission java.util.PropertyPermission "user.dir", "read";
    permission java.util.PropertyPermission "nashorn.test.*", "read";
};

grant codeBase "file:/${basedir}/test/script/basic/es6/*" {
    permission java.io.FilePermission "${basedir}/test/script/-", "read";
    permission java.io.FilePermission "$${user.dir}", "read";
    permission java.util.PropertyPermission "user.dir", "read";
    permission java.util.PropertyPermission "nashorn.test.*", "read";
};

grant codeBase "file:/${basedir}/test/script/basic/JDK-8010946-privileged.js" {
    permission java.util.PropertyPermission "java.security.policy", "read";
};

grant codeBase "file:/${basedir}/test/script/basic/classloader.js" {
    permission java.lang.RuntimePermission "nashorn.JavaReflection";
};

grant codeBase "file:/${basedir}/test/script/markdown.js" {
    permission java.io.FilePermission "${basedir}/test/script/external/showdown/-", "read";
};

grant codeBase "file:/${basedir}/test/script/basic/JDK-8158467.js" {
    permission java.lang.RuntimePermission "nashorn.setConfig";
};

    </echo>

    <replace file="${build.dir}/nashorn.policy"><replacetoken>\</replacetoken><replacevalue>/</replacevalue></replace>    <!--hack for Windows - to make URLs with normal path separators -->
    <replace file="${build.dir}/nashorn.policy"><replacetoken>//</replacetoken><replacevalue>/</replacevalue></replace>   <!--hack for Unix - to avoid leading // in URLs -->

  </target>

  <target name="check-external-tests">
      <available file="${test.external.dir}/prototype" property="test-sys-prop.external.prototype"/>
      <available file="${test.external.dir}/sunspider" property="test-sys-prop.external.sunspider"/>
      <available file="${test.external.dir}/underscore" property="test-sys-prop.external.underscore"/>
      <available file="${test.external.dir}/octane" property="test-sys-prop.external.octane"/>
      <available file="${test.external.dir}/yui" property="test-sys-prop.external.yui"/>
      <available file="${test.external.dir}/jquery" property="test-sys-prop.external.jquery"/>
      <available file="${test.external.dir}/test262" property="test-sys-prop.external.test262"/>
      <available file="${test.external.dir}/showdown" property="test-sys-prop.external.markdown"/>
  </target>

  <target name="check-testng" unless="testng.available">
    <echo message="WARNING: TestNG not available, will not run tests. Please copy TestNG and dependency JARs to the ${test.lib} directory."/>
  </target>

  <!-- only to be invoked as dependency of "test" target -->
  <target name="-test-classes-all" depends="jar" unless="test.class">
      <fileset id="test.classes" dir="${build.test.classes.dir}">
          <include name="**/dynalink/beans/test/*Test.class"/>
          <include name="**/dynalink/linker/support/test/*Test.class"/>
          <include name="**/dynalink/support/test/*Test.class"/>
          <include name="**/dynalink/test/*Test.class"/>
          <include name="**/api/javaaccess/test/*Test.class"/>
          <include name="**/api/scripting/test/*Test.class"/>
          <include name="**/api/tree/test/*Test.class"/>
          <include name="**/codegen/test/*Test.class"/>
          <include name="**/parser/test/*Test.class"/>
          <include name="**/runtime/test/*Test.class"/>
          <include name="**/runtime/doubleconv/test/*Test.class"/>
          <include name="**/runtime/regexp/test/*Test.class"/>
          <include name="**/runtime/regexp/joni/test/*Test.class"/>
          <include name="**/framework/*Test.class"/>
     </fileset>
  </target>

  <!-- only to be invoked as dependency of "test" target -->
  <target name="-test-classes-single" depends="jar" if="test.class">
     <fileset id="test.classes" dir="${build.test.classes.dir}">
         <include name="${test.class}*"/>
     </fileset>
  </target>

  <!-- only to be invoked as dependency of "test" target -->
  <target name="-test-nosecurity" unless="test.class">
    <fileset id="test.nosecurity.classes" dir="${build.test.classes.dir}">
      <include name="**/framework/ScriptTest.class"/>
      <include name="**/runtime/linker/test/*Test.class"/>
    </fileset>
    <testng outputdir="${build.nosecurity.test.results.dir}/${testResultsSubDir}" classfilesetref="test.nosecurity.classes"
       verbose="${testng.verbose}" haltonfailure="true" useDefaultListeners="false" listeners="${testng.listeners}" workingDir="${basedir}">
      <jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx} -Dbuild.dir=${build.dir}"/>
      <sysproperty key="nashorn.jar" value="${dist.dir}/nashorn.jar"/>
      <propertyset>
        <propertyref prefix="nashorn."/>
      </propertyset>
      <propertyset>
        <propertyref prefix="test-sys-prop-no-security."/>
        <mapper from="test-sys-prop-no-security.*" to="*" type="glob"/>
      </propertyset>
      <sysproperty key="optimistic.override" value="${optimistic}"/>
      <classpath>
          <pathelement path="${run.test.classpath}"/>
      </classpath>
    </testng>
  </target>

  <!-- only to be invoked as dependency of "test" target -->
  <target name="-test-security">
    <delete dir="${build.dir}/nashorn_code_cache"/>
    <property name="debug.test.jvmargs" value=""/>
    <testng outputdir="${build.test.results.dir}/${testResultsSubDir}" classfilesetref="test.classes"
            verbose="${testng.verbose}" haltonfailure="true" useDefaultListeners="false" listeners="${testng.listeners}" workingDir="${basedir}">
      <jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx} ${run.test.jvmsecurityargs} -Dbuild.dir=${build.dir}"/>
      <jvmarg line="${debug.test.jvmargs}"/>
      <propertyset>
        <propertyref prefix="nashorn."/>
      </propertyset>
      <propertyset>
        <propertyref prefix="test-sys-prop."/>
        <mapper from="test-sys-prop.*" to="*" type="glob"/>
      </propertyset>
      <sysproperty key="optimistic.override" value="${optimistic}"/>
      <sysproperty key="test.js.excludes.file" value="${exclude.list}"/>
      <classpath>
          <pathelement path="${run.test.classpath}"/>
      </classpath>
    </testng>
  </target>

  <target name="test" depends="prepare, javadoc, test-pessimistic, test-optimistic"/>

  <target name="test-optimistic" depends="jar, -test-classes-all,-test-classes-single, check-testng, check-external-tests, compile-test, generate-policy-file" if="testng.available">
    <echo message="Running test suite in OPTIMISTIC mode..."/>
    <antcall target="-test-nosecurity" inheritRefs="true">
      <param name="optimistic" value="true"/>
      <param name="testResultsSubDir" value="optimistic"/>
    </antcall>
    <antcall target="-test-security" inheritRefs="true">
      <param name="optimistic" value="true"/>
      <param name="testResultsSubDir" value="optimistic"/>
    </antcall>
  </target>

  <target name="test-pessimistic" depends="jar, -test-classes-all,-test-classes-single, check-testng, check-external-tests, compile-test, generate-policy-file" if="testng.available">
    <echo message="Running test suite in PESSIMISTIC mode..."/>
    <antcall target="-test-nosecurity" inheritRefs="true">
      <param name="optimistic" value="false"/>
      <param name="testResultsSubDir" value="pessimistic"/>
    </antcall>
    <antcall target="-test-security" inheritRefs="true">
      <param name="optimistic" value="false"/>
      <param name="testResultsSubDir" value="pessimistic"/>
    </antcall>
  </target>

  <target name="check-jemmy.jfx.testng" unless="jemmy.jfx.testng.available">
    <echo message="WARNING: Jemmy or JavaFX or TestNG not available, will not run tests. Please copy TestNG and dependency JARs, JemmyCore.jar, JemmyFX.jar, JemmyAWTInput.jar to the test${file.separator}lib directory. And make sure you have jfxrt.jar in ${java.home}${file.separator}lib${file.separator}ext dir."/>
  </target>

  <target name="testjfx" depends="jar, check-jemmy.jfx.testng, compile-test" if="jemmy.jfx.testng.available">
    <fileset id="test.classes" dir="${build.test.classes.dir}">
       <include name="**/framework/*Test.class"/>
    </fileset>

    <copy file="${file.reference.jfxrt.jar}" todir="dist"/>

    <condition property="jfx.prism.order" value="-Dprism.order=j2d" else=" ">
        <not>
            <os family="mac"/>
        </not>
    </condition>

    <testng outputdir="${build.test.results.dir}" classfilesetref="test.classes"
       verbose="${testng.verbose}" haltonfailure="true" useDefaultListeners="false" listeners="${testng.listeners}" workingDir="${basedir}">
      <jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx} -Dbuild.dir=${build.dir}"/>
      <propertyset>
        <propertyref prefix="testjfx-test-sys-prop."/>
        <mapper from="testjfx-test-sys-prop.*" to="*" type="glob"/>
      </propertyset>
      <sysproperty key="test.fork.jvm.options" value="${testjfx-test-sys-prop.test.fork.jvm.options} ${jfx.prism.order}"/>
      <classpath>
          <pathelement path="${testjfx.run.test.classpath}"/>
      </classpath>
    </testng>
  </target>

  <target name="testmarkdown" depends="jar, check-testng, check-external-tests, compile-test, generate-policy-file" if="testng.available">
    <fileset id="test.classes" dir="${build.test.classes.dir}">
       <include name="**/framework/*Test.class"/>
    </fileset>

    <testng outputdir="${build.test.results.dir}" classfilesetref="test.classes"
       verbose="${testng.verbose}" haltonfailure="true" useDefaultListeners="false" listeners="${testng.listeners}" workingDir="${basedir}">
      <jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx} ${run.test.jvmsecurityargs} -Dbuild.dir=${build.dir}"/>
      <propertyset>
        <propertyref prefix="testmarkdown-test-sys-prop."/>
        <mapper from="testmarkdown-test-sys-prop.*" to="*" type="glob"/>
      </propertyset>
      <classpath>
          <pathelement path="${run.test.classpath}"/>
      </classpath>
    </testng>
  </target>

  <target name="test262" depends="jar, check-testng, check-external-tests, compile-test, generate-policy-file" if="testng.available">
    <fileset id="test.classes" dir="${build.test.classes.dir}">
       <include name="**/framework/*Test.class"/>
    </fileset>

    <testng outputdir="${build.test.results.dir}" classfilesetref="test.classes"
       verbose="${testng.verbose}" haltonfailure="true" useDefaultListeners="false" listeners="${testng.listeners}" workingDir="${basedir}">
      <jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx} ${run.test.jvmsecurityargs} -Dbuild.dir=${build.dir}"/>
      <propertyset>
        <propertyref prefix="nashorn."/>
      </propertyset>
      <propertyset>
        <propertyref prefix="test262-test-sys-prop."/>
        <mapper from="test262-test-sys-prop.*" to="*" type="glob"/>
      </propertyset>
      <classpath>
          <pathelement path="${run.test.classpath}"/>
      </classpath>
    </testng>
  </target>

  <target name="test262parallel" depends="test262-parallel"/>

  <target name="test262-parallel" depends="jar, check-testng, check-external-tests, compile-test, generate-policy-file" if="testng.available">
    <!-- use just build.test.classes.dir to avoid referring to TestNG -->
    <java classname="${parallel.test.runner}" dir="${basedir}" fork="true" failonerror="true">
      <jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx} ${run.test.jvmsecurityargs} -Dbuild.dir=${build.dir}"/>
      <!-- avoid too many typeinfo cache files. Each script is run only once anyway -->
      <jvmarg line="-Dnashorn.typeInfo.disabled=true"/>
      <classpath>
          <pathelement path="${run.test.classpath}"/>
      </classpath>
      <syspropertyset>
          <propertyref prefix="test262-test-sys-prop."/>
          <mapper type="glob" from="test262-test-sys-prop.*" to="*"/>
      </syspropertyset>
    </java>
  </target>

  <target name="testparallel" depends="test-parallel"/>

  <target name="test-parallel" depends="jar, check-testng, check-external-tests, compile-test, generate-policy-file" if="testng.available">
      <!-- use just build.test.classes.dir to avoid referring to TestNG -->
      <java classname="${parallel.test.runner}" dir="${basedir}"
        failonerror="true"
        fork="true">
      <jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx} ${run.test.jvmsecurityargs}"/>
      <classpath>
          <pathelement path="${run.test.classpath}"/>
      <pathelement path="${build.test.classes.dir}"/>
      </classpath>
      <syspropertyset>
          <propertyref prefix="test-sys-prop."/>
          <mapper type="glob" from="test-sys-prop.*" to="*"/>
      </syspropertyset>
      </java>
  </target>

  <target name="all" depends="test, docs"
      description="Build, test and generate docs for nashorn"/>

  <target name="run" depends="jar"
      description="Run the shell with a sample script">
    <java classname="${nashorn.shell.tool}" fork="true" dir="samples">
        <jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx}"/>
        <arg value="-dump-on-error"/>
        <arg value="test.js"/>
    </java>
  </target>

  <target name="debug" depends="jar"
      description="Debug the shell with a sample script">
    <java classname="${nashorn.shell.tool}" fork="true" dir="samples">
        <jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx}"/>
        <arg value="--print-code"/>
        <arg value="--verify-code"/>
        <arg value="--print-symbols"/>
        <jvmarg value="-Dnashorn.codegen.debug=true"/>
        <arg value="test.js"/>
    </java>
  </target>

  <!-- targets to get external script tests -->

  <!-- test262 test suite -->
  <target name="get-test262" depends="init" unless="${test-sys-prop.external.test262}">
    <!-- clone test262 git repo -->
    <exec executable="${git.executable}">
       <arg value="clone"/>
       <arg value="--branch"/>
       <arg value="es5-tests"/>
       <arg value="https://github.com/tc39/test262"/>
       <arg value="${test.external.dir}/test262"/>
    </exec>
  </target>
  <target name="update-test262" depends="init" if="${test-sys-prop.external.test262}">
    <!-- update test262 git repo -->
    <exec executable="${git.executable}" dir="${test.external.dir}/test262">
       <arg value="pull"/>
    </exec>
  </target>

  <!-- octane benchmark -->
  <target name="get-octane" depends="init" unless="${test-sys-prop.external.octane}">
    <!-- checkout octane benchmarks -->
    <exec executable="${git.executable}">
       <arg value="clone"/>
       <arg value="https://github.com/chromium/octane"/>
       <arg value="${test.external.dir}/octane"/>
    </exec>
  </target>
  <target name="update-octane" depends="init" if="${test-sys-prop.external.octane}">
    <!-- update octane benchmarks -->
    <exec executable="${git.executable}" dir="${test.external.dir}/octane">
       <arg value="pull"/>
    </exec>
  </target>

  <!-- sunspider benchmark -->
  <target name="get-sunspider" depends="init" unless="${test-sys-prop.external.sunspider}">
    <!-- checkout sunspider -->
    <exec executable="${svn.executable}">
       <arg value="--non-interactive"/>
       <arg value="--trust-server-cert"/>
       <arg value="checkout"/>
       <arg value="http://svn.webkit.org/repository/webkit/trunk/PerformanceTests/SunSpider"/>
       <arg value="${test.external.dir}/sunspider"/>
    </exec>
  </target>
  <target name="update-sunspider" depends="init" if="${test-sys-prop.external.sunspider}">
    <!-- update sunspider -->
    <exec executable="${svn.executable}" dir="${test.external.dir}/sunspider">
       <arg value="--non-interactive"/>
       <arg value="--trust-server-cert"/>
       <arg value="update"/>
    </exec>
  </target>

  <!-- get all external test scripts -->
  <target name="externals" depends="init, check-external-tests, get-test262, get-octane, get-sunspider">
    <!-- make external test dir -->
    <mkdir dir="${test.external.dir}"/>

    <!-- jquery -->
    <mkdir dir="${test.external.dir}/jquery"/>
    <get src="http://code.jquery.com/jquery-1.7.2.js" dest="${test.external.dir}/jquery" skipexisting="true" ignoreerrors="true"/>
    <get src="http://code.jquery.com/jquery-1.7.2.min.js" dest="${test.external.dir}/jquery" skipexisting="true" ignoreerrors="true"/>

    <!-- prototype -->
    <mkdir dir="${test.external.dir}/prototype"/>
    <get src="http://ajax.googleapis.com/ajax/libs/prototype/1.7.0/prototype.js" dest="${test.external.dir}/prototype" usetimestamp="true" skipexisting="true" ignoreerrors="true"/>

    <!-- underscorejs -->
    <mkdir dir="${test.external.dir}/underscore"/>
    <get src="http://underscorejs.org/underscore.js" dest="${test.external.dir}/underscore" skipexisting="true" ignoreerrors="true"/>
    <get src="http://underscorejs.org/underscore-min.js" dest="${test.external.dir}/underscore" skipexisting="true" ignoreerrors="true"/>

    <!-- yui -->
    <mkdir dir="${test.external.dir}/yui"/>
    <get src="http://yui.yahooapis.com/3.5.1/build/yui/yui.js" dest="${test.external.dir}/yui" skipexisting="true" ignoreerrors="true"/>
    <get src="http://yui.yahooapis.com/3.5.1/build/yui/yui-min.js" dest="${test.external.dir}/yui" skipexisting="true" ignoreerrors="true"/>

    <!-- showdown -->
    <mkdir dir="${test.external.dir}/showdown"/>
    <get src="https://raw.githubusercontent.com/showdownjs/showdown/0.5.4/src/showdown.js" dest="${test.external.dir}/showdown" skipexisting="true" ignoreerrors="true"/>
    <get src="https://raw.githubusercontent.com/showdownjs/showdown/0.5.4/src/extensions/table.js" dest="${test.external.dir}/showdown" skipexisting="true" ignoreerrors="true"/>

  </target>

  <!-- update external test suites that are pulled from source control systems -->
  <target name="update-externals" depends="init, check-external-tests, update-test262, update-octane, update-sunspider"/>

  <!-- run all perf tests -->
  <target name="perf" depends="externals, update-externals, sunspider, octane"/>

  <!-- download and install testng.jar -->
  <target name="get-testng">
    <get dest="${test.lib}" skipexisting="true">
      <url url="http://central.maven.org/maven2/org/testng/testng/6.8/testng-6.8.jar"/>
      <url url="http://central.maven.org/maven2/com/beust/jcommander/1.27/jcommander-1.27.jar"/>
      <url url="http://central.maven.org/maven2/org/beanshell/bsh/2.0b4/bsh-2.0b4.jar"/>
      <url url="http://central.maven.org/maven2/org/yaml/snakeyaml/1.6/snakeyaml-1.6.jar"/>
    </get>
  </target>

  <!-- download and install asmtools.jar -->
  <target name="get-asmtools" unless="asmtools.already.present">
    <get src="https://adopt-openjdk.ci.cloudbees.com/view/OpenJDK/job/asmtools/lastSuccessfulBuild/artifact/asmtools-6.0.tar.gz" dest="${test.lib}" skipexisting="true" ignoreerrors="true"/>
    <untar src="${test.lib}${file.separator}asmtools-6.0.tar.gz" dest="${test.lib}" compression="gzip"/>
    <!-- they are tar.gz'ing a .zip file! -->
    <unzip src="${test.lib}${file.separator}asmtools-6.0.zip" dest="${test.lib}">
      <patternset>
        <include name="asmtools-6.0/lib/asmtools.jar"/>
      </patternset>
    </unzip>
    <move file="${test.lib}${file.separator}asmtools-6.0${file.separator}lib${file.separator}asmtools.jar" tofile="${test.lib}${file.separator}asmtools.jar"/>
    <delete dir="${test.lib}${file.separator}asmtools-6.0"/>
  </target>

  <!-- run all tests -->
  <target name="alltests" depends="externals, update-externals, test, test262parallel, testmarkdown, perf"/>

  <import file="build-benchmark.xml"/>

</project>
