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

<!--
     Licensed to the Apache Software Foundation (ASF) under one or more
     contributor license agreements.  See the NOTICE file distributed with
     this work for additional information regarding copyright ownership.
     The ASF licenses this file to You under the Apache License, Version 2.0
     (the "License"); you may not use this file except in compliance with
     the License.  You may obtain a copy of the License at

         http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->

<project name="classlib-test" default="test-all" basedir="..">

    <description> Tests for classlib package</description>

    <property name="hy.hdk" location="deploy" />

    <!-- import common properties -->
    <property name="tests.output" location="build/test_report" />
    <import file="${basedir}/make/properties.xml" />

    <property name="tests.support.output" location="build/test_support" />
    <property name="support.dir" location="support"/>
    <property name="tests.depends.jars" location="deploy/jdk/jre/lib/boot" />
    <property file="make/depends.properties" />

    <!-- this list of components to test will grow to eventually be all modules -->
    <target name="test-all"
            depends="clean-test-output, test-jar-init, test-modules, process-test-output" />

    <target name="process-test-output"
            depends="process-empty, gen-report, check-test-result" />

    <target name="clean">
        <poll-modules target="clean-test" />
        <delete dir="${tests.output}" />
        <delete dir="${tests.support.output}" />
        <delete dir="${hy.hdk}/build/test" />
    </target>

    <target name="clean-test-output">
        <delete dir="${tests.output}" />
    </target>

    <target name="test-modules" depends="support-jar, test-jre-vm-info">
        <poll-modules target="-test-module" />
    </target>

    <target name="findbugs" depends="check-support-jars">
        <poll-modules target="findbugs" />
    </target>

    <target name="test-jar-init">
        <copy file="${basedir}/make/test.properties" tofile="${hy.hdk}/build/test/test.properties"/>
        <copy file="${basedir}/make/run-test.xml" tofile="${hy.hdk}/build/test/build.xml"/>
    </target>

    <target name="test-jar-modules" depends="test-jar-init">
        <poll-modules target="test-jar" /> 
    </target>

    <target name="gen-report" depends="full-report,short-report" />

    <property name="report.dir" value="${tests.output}/html"/>

    <target name="full-report" unless="short.report" >
        <delete dir="${report.dir}" />
        <junitreport todir="${tests.output}">
            <fileset dir="${tests.output}">
                <include name="TEST*-*.xml"/>
            </fileset>
            <report format="frames" todir="${report.dir}"/>
        </junitreport>

        <!-- use this property just to get the slashes to display right in the echo -->
        <property name="display-location" location="${report.dir}/index.html"/>
        <echo message="The test report is in ${display-location}"/>
    </target>

    <target name="short-report" if="short.report" >
        <delete dir="${report.dir}" />
        <junitreport todir="${tests.output}">
            <fileset dir="${tests.output}" includes="TEST*-*.xml">
                <containsregexp expression='(errors|failures)=.[1-9]' />
                <exclude name="TESTS-TestSuites.xml" />
            </fileset>
            <report format="frames" todir="${report.dir}"/>
        </junitreport>

        <!-- use this property just to get the slashes to display right in the echo -->
        <property name="display-location" location="${report.dir}/index.html"/>
        <echo message="The short test report is in ${display-location}"/>
    </target>

    <target name="support-jar" depends="compile-support">
        <mkdir dir="${hy.hdk}/build/test" />
        <jar destfile="${hy.hdk}/build/test/support.jar"
             manifest="support/META-INF/MANIFEST.MF">
            <fileset dir="${tests.support.output}" />
            <metainf refid="hy.required.metainf-files"/>
        </jar>
        <copy todir="${hy.hdk}/build/test"> 
            <fileset dir="${jetty.dir}">
                <include name="*.jar" />
            </fileset>
        </copy>
    </target>

    <target name="compile-support" depends="copy-test-resources, check-support-jars"
            description="Compile the unit test source">
        <ensure-javac/>
        <mkdir dir="${tests.support.output}" />
        <hy.javac 
               destdir="${tests.support.output}">

            <src path="${support.dir}/src/test/java" />
            <classpath location="${junit.jar}" />
            <classpath location="${tests.support.output}" />
            <classpath>
                <fileset dir="${jetty.dir}">
                    <include name="*.jar" />
                </fileset>
            </classpath>
            <bootclasspath>
                <fileset dir="${tests.depends.jars}">
                    <include name="**/*.jar" />
                </fileset>
            </bootclasspath>
        </hy.javac>
        
    </target>
    
    <target name="check-test-result">
        <fail if="test.crashes"
              message="There were test crashes: ${crashed.tests}"/>
        <available property="test.errors"
                   file="${tests.output}/test.errors" />
        <available property="test.failures"
                   file="${tests.output}/test.failures" />
        <fail if="test.errors" message="There were test errors." />
        <fail if="test.failures" message="There were test failures." />
    </target>

    <!-- ================================= 
          target: copy-test-resources              
         ================================= -->
    <target name="copy-test-resources"
            description="Copy non-Java files from test support tree to the support output tree">

        <mkdir dir="${tests.support.output}" />
        <copy todir="${tests.support.output}" includeemptydirs="false">
            <fileset dir="${support.dir}/src/test/java">
                <exclude name="**/*.java" />
            </fileset>
            <fileset file="${support.dir}/src/test/resources/hyts_Foo.c"/>
        </copy>
        <copy file="${support.dir}/src/test/resources/config/testing.policy" 
              todir="${hy.hdk}/build/test" outputencoding="UTF-8" />
    </target>

    <target name="check-support-jars"
            description="Check for jars required to compile and run unit tests">

      <ant antfile="make/depends.xml" inheritall="false" target="check"/>

    </target>

    <target name="process-empty" depends="-check-for-empty, -process-empty"/>
    <target name="-check-for-empty">
        <fileset id="empty.test.reports" dir="${tests.output}">
            <patternset>
                <include name="TEST-*.xml"/>
            </patternset>
            <size value="0" when="equal"/>
        </fileset>

        <pathconvert refid="empty.test.reports" pathsep="${path.separator}"
                     property="crashed.tests"/>
        <condition property="test.crashes">
            <not>
                <equals arg1="" arg2="${crashed.tests}" />
            </not>
        </condition>
    </target>
    <target name="-process-empty" if="test.crashes">
       <property name="per.crashed.tests.file" 
                 value="${tests.output}${file.separator}TEST-crashed.xml"/>

       <property name="per.header"
                 value="&lt;?xml version='1.0' encoding='UTF-8' ?&gt;&lt;testsuite errors='1' name='vmcrash.CrashedTests' time='0'&gt;"/>
       <property name="per.prefix"
                 value="&lt;testcase classname='"/>
       <property name="per.middle" value="' name='"/>
       <property name="per.suffix" 
                 value="' time='0.0'&gt;&lt;error message='VM crash?'/&gt;&lt;/testcase&gt;"/>
       <property name="per.footer" value="&lt;/testsuite&gt;"/>

       <echo message="${crashed.tests}" file="${per.crashed.tests.file}"/>

       <replaceregexp file="${per.crashed.tests.file}" flags="g">
            <regexp pattern="[^${path.separator}]*TEST-([^${path.separator}]*)\.xml${path.separator}?"/>
            <substitution expression="${per.prefix}\1${per.middle}\1${per.suffix}"/>
       </replaceregexp>
       <replaceregexp file="${per.crashed.tests.file}" match="\A"
                      replace="${per.header}"/>
       <echo file="${per.crashed.tests.file}" append="yes"
             message="${per.footer}"/>

       <!-- now let's delete empty reports -->
       <delete><fileset refid="empty.test.reports"/></delete>

       <!-- Need to ensure the file is UTF-8 on non-ASCII platforms -->
        <move file="${per.crashed.tests.file}"
              tofile="${per.crashed.tests.file}.orig" />
        <copy file="${per.crashed.tests.file}.orig"
              tofile="${per.crashed.tests.file}" outputencoding="UTF-8" />
        <delete file="${per.crashed.tests.file}.orig" />

    </target>

</project>
