Select Git revision
Forked from
Tim Miller / SWEN90006-A1-2019
Source project has a limited visibility.
build.xml 3.12 KiB
<project name="Project" default="default">
<target name="check_prog">
<fail message="Please provide a program to test with -Dprogam=''. The arguments can be
one of {original, mutant-1, mutant-2, mutant-3, mutant-4, mutant-5}">
<condition>
<or>
<not><isset property="program"/></not>
<not><contains
string="original,mutant-1,mutant-2,mutant-3,mutant-4,mutant-5" substring="${program}"/></not>
</or>
</condition>
</fail>
</target>
<target name="check_test">
<fail message="Please provide a test with -Dtest=''. The arguments can be one of
{Boundary, Partitioning}">
<condition>
<or>
<not><isset property="test"/></not>
<not><contains string="Boundary,Partitioning" substring="${test}"/></not>
</or>
</condition>
</fail>
</target>
<target name="compile_prog" depends="check_prog">
<mkdir dir="classes/programs/${program}" />
<depend srcdir="programs/${program}" destdir="classes/programs/${program}"
cache=".depcache/programs/${program}" closure="yes"/>
<javac srcdir="programs/${program}" destdir="classes/programs/${program}"
classpath="lib/junit-4.11.jar;lib/hamcrest-core-1.3.jar" includeantruntime="false"/>
</target>
<target name="compile_orig">
<mkdir dir="classes/programs/original" />
<depend srcdir="tests" destdir="classes/programs/original"
cache=".depcache/programs/original" closure="yes"/>
<javac srcdir="programs/original" destdir="classes/programs/original"
classpath="lib/junit-4.11.jar;lib/hamcrest-core-1.3.jar" includeantruntime="false"/>
</target>
<target name="compile_test" depends="compile_orig, check_test">
<mkdir dir="classes/tests" />
<depend srcdir="tests/" destdir="classes/tests/"
cache=".depcache/tests/" closure="yes"/>
<javac srcdir="tests/" destdir="classes/tests/"
classpath="lib/junit-4.11.jar;lib/hamcrest-core-1.3.jar;classes/programs/original"
includeantruntime="false"/>
</target>
<target name="test" depends="compile_prog, compile_test">
<mkdir dir="results"/>
<parallel threadCount="1" timeout="5000">
<sequential>
<junit printsummary="yes" fork="yes" haltonfailure="yes">
<classpath>
<pathelement path="classes/programs/${program}"/>
<pathelement path="classes/tests/"/>
<pathelement path="lib/junit-4.11.jar"/>
<pathelement path="lib/hamcrest-core-1.3.jar"/>
</classpath>
<formatter type="plain"/>
<test name="swen90006.passbook.${test}Tests" todir="results"
outfile="${test}_results.${program}"/>
</junit>
</sequential>
</parallel>
</target>