blob: e3ede436593a4d2da42a440d881f5e612a0f1446 [file] [log] [blame]
<?xml version="1.0"?>
<!--
* Copyright 2001-2010 The Apache Software Foundation. * * Licensed
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 default="all" basedir=".">
<!--
Reads the properties from a file.
-->
<property file="${basedir}/build.properties" />
<!--
Builds the XLT class path for further reference.
-->
<path id="xlt.class.path">
<pathelement path="${xlt.classes.dir}" />
<fileset dir="${xlt.lib.dir}">
<include name="*.jar" />
</fileset>
<fileset dir="${test.lib.dir}">
<include name="*.jar" />
</fileset>
</path>
<!--
Deletes any result file from a previous test run.
-->
<target name="clean">
<delete includeEmptyDirs="true" failonerror="false">
<fileset dir="${test.classes.dir}" includes="**/*" />
<fileset dir="${test.results.dir}" includes="**/*" />
</delete>
</target>
<!--
Compiles the Java sources in ${test.src.dir} to ${test.classes.dir}.
Any non-Java file in the sources dir will be copied there, too.
-->
<target name="compile">
<mkdir dir="${test.classes.dir}" />
<javac srcdir="${test.src.dir}" destdir="${test.classes.dir}" debug="on" optimize="off" deprecation="on">
<classpath refid="xlt.class.path" />
</javac>
<copy todir="${test.classes.dir}">
<fileset dir="${test.src.dir}">
<exclude name="**/*.java" />
</fileset>
</copy>
</target>
<!--
Performs a functional test by running the configured junit tests.
-->
<target name="test" depends="compile">
<!--
Run the junit tests.
-->
<junit forkmode="once" printsummary="on">
<!-- build the class path -->
<classpath>
<path refid="xlt.class.path" />
<pathelement location="${test.classes.dir}" />
</classpath>
<!-- configure the environment for XLT-based test cases -->
<sysproperty key="com.xceptance.xlt.home" value="${basedir}" />
<sysproperty key="com.xceptance.xlt.data.directory" value="${test.config.dir}/data" />
<sysproperty key="log4j.configuration" value="file:${test.config.dir}/dev-log4j.properties" />
<!-- configure the test result formatter -->
<formatter type="xml" />
<!-- execute all configured tests -->
<batchtest fork="yes" todir="${test.results.dir}">
<fileset dir="${test.src.dir}">
<include name="${test.cases}" />
</fileset>
</batchtest>
</junit>
<!--
Create a test report from the test results.
-->
<junitreport todir="${test.results.dir}">
<!-- determine the test result files -->
<fileset dir="${test.results.dir}">
<include name="TEST-*.xml" />
</fileset>
<!-- generate the HTML report -->
<report format="noframes" todir="${test.results.dir}" />
</junitreport>
</target>
<!--
Performs a load test with the test cases configured in the test suite.
For this, the XLT load test environment is used.
-->
<target name="loadtest" depends="compile">
<!--
Determine the command to run depending on the OS.
-->
<condition property="command" value="mastercontroller.cmd" else="mastercontroller.sh">
<os family="windows" />
</condition>
<!--
Run the master controller using an embedded agent controller.
-->
<exec executable="${xlt.bin.dir}/${command}">
<arg line="-auto -embedded -report" />
</exec>
</target>
<!--
Executes all targets one after the other.
-->
<target name="all" depends="clean, test, loadtest" />
</project>