<?xml version="1.0"?>
<project name="tb3test" xmlns:antcontrib="antlib:net.sf.antcontrib" xmlns:ivy="antlib:org.apache.ivy.ant" basedir=".">

    <dirname property="tb3test.dir" file="${ant.file.tb3test}" />
    <property name="report.dir" location="${tb3test.dir}/result/reports-tb3" />

    <ivy:resolve file="${tb3test.dir}/ivy.xml" conf="build, build-provided" />
    <ivy:cachepath pathid="classpath.tb3.lib" conf="build, build-provided" />
    <path id="classpath.tb3">
        <path refid="classpath.tb3.lib" />
        <path location="${tb3test.dir}/result/classes" />
    </path>

    <target name="run-all-tb3-tests" unless="tests.tb3.skip" description="Run all the TB3 tests (except server tests) in the project">
        <antcall target="run-tb3-suite">
            <param name="junit.test.suite" value="com.vaadin.tests.tb3.AllTB3Tests" />
        </antcall>
    </target>

    <target name="run-tb3-suite">
        <fail unless="junit.test.suite" message="Define suite to run using junit.test.suite" />
        <fail unless="com.vaadin.testbench.screenshot.directory" message="Define screenshot directory using -Dcom.vaadin.testbench.screenshot.directory" />
        <delete dir="${report.dir}" />
        <mkdir dir="${report.dir}" />

        <junit showoutput="no" printsummary="no" fork="yes">
            <formatter type="xml" />
            <classpath refid="classpath.tb3" />

            <jvmarg value="-Dcom.vaadin.testbench.screenshot.directory=${com.vaadin.testbench.screenshot.directory}" />
            <jvmarg value="-Djava.awt.headless=true" />
            <test name="${junit.test.suite}" todir="${report.dir}" />
        </junit>

    </target>

</project>
