| <project name="org.eclipse.swtbot.swt.finder.test" default="all" basedir="."> |
| <property name="eclipse-home" value="${basedir}/../.." /> |
| <echo>${eclipse-home}</echo> |
| <property name="plugin-name" value="${ant.project.name}" /> |
| |
| <property name="cobertura.data.file" value="cobertura.swt.finder.ser" /> |
| <property name="junit.reports.xml.dir" value="${results.dir}/${plugin-name}/junit/xml" /> |
| <property name="junit.reports.html.dir" value="${results.dir}/${plugin-name}/junit/html" /> |
| <property name="build.instrumentation.reports.dir" value="${results.dir}/${plugin-name}/coverage/html" /> |
| <property name="build.instrumentation.reports.xml.dir" value="${results.dir}/${plugin-name}/coverage/xml" /> |
| |
| <path id="cobertura.classpath"> |
| <fileset dir="${build.base}/../externals/libs/cobertura-1.9.4.1"> |
| <include name="cobertura.jar" /> |
| <include name="lib/**/*.jar" /> |
| </fileset> |
| </path> |
| <taskdef classpathref="cobertura.classpath" resource="tasks.properties" /> |
| |
| <path id="test.classpath"> |
| <pathelement location="build/instrumented" /> |
| <pathelement location="build/classes" /> |
| <pathelement location="." /> |
| </path> |
| |
| <path id="plugin.dependencies.classpath"> |
| <fileset dir="${eclipse-home}/plugins"> |
| <include name="org.eclipse.swt.examples_${all.buildId}.jar" /> |
| <include name="org.eclipse.swt.*.jar" /> |
| <include name="org.eclipse.equinox.common_*.jar" /> |
| <include name="org.eclipse.jface_*.jar" /> |
| <include name="org.eclipse.core.commands_*.jar" /> |
| <include name="org.junit4_*/junit*.jar" /> |
| <!-- org.junit4_4.x.y was renamed to org.junit_4.x.y --> |
| <include name="org.junit_4*/junit*.jar" /> |
| <include name="org.eclipse.swtbot*" /> |
| <include name="org.apache.log4j_1.2.*.jar" /> |
| <include name="org.hamcrest*.jar" /> |
| </fileset> |
| </path> |
| |
| <target name="init"> |
| <tstamp /> |
| <delete dir="build/instrumented" /> |
| </target> |
| |
| <target name="instrument"> |
| <delete file="${cobertura.data.file}" /> |
| <mkdir dir="build/instrumented" /> |
| <mkdir dir="build/classes" /> |
| |
| <unzip dest="build/classes" src="${eclipse-home}/plugins/org.eclipse.swtbot.swt.finder_${all.buildId}.jar" /> |
| |
| <cobertura-instrument todir="build/instrumented" datafile="${cobertura.data.file}"> |
| <ignore regex="org.eclipse.swtbot.swt.finder.SWTBot" /> |
| <ignore regex="org.eclipse.swtbot.swt.finder.wait.Conditions" /> |
| <ignore regex="org.eclipse.swtbot.swt.finder.matcher.WidgetMatcherFactory" /> |
| <ignore regex="org.eclipse.swtbot.swt.finder.SWTBotTestCase" /> |
| <fileset dir="build/classes" excludes="**/SWTBot.class, **/Conditions.class, **/WidgetMatcherFactory.class, **/SWTBotTestCase.class" /> |
| </cobertura-instrument> |
| </target> |
| |
| <target name="test"> |
| <mkdir dir="${junit.reports.xml.dir}" /> |
| |
| <condition property="jvmOption" value="-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts ${extra.jvm.options}"> |
| <os family="mac" /> |
| </condition> |
| |
| <property name="jvmOption" value="" /> |
| |
| <junit fork="true" forkmode="once" timeout="1200000" printsummary="yes" haltonfailure="no" haltonerror="no" failureproperty="junit.failure" errorproperty="junit.failure"> |
| <sysproperty key="net.sourceforge.cobertura.datafile" file="${cobertura.data.file}" /> |
| |
| <classpath refid="test.classpath" /> |
| <classpath refid="plugin.dependencies.classpath" /> |
| <classpath refid="cobertura.classpath" /> |
| |
| <formatter type="xml" /> |
| <formatter type="plain" usefile="false" /> |
| |
| <batchtest fork="yes" todir="${junit.reports.xml.dir}"> |
| <fileset dir="${basedir}"> |
| <include name="${test-classes}" /> |
| <exclude name="**/AllTests.class" /> |
| <exclude name="**/*Abstract*.class" /> |
| </fileset> |
| </batchtest> |
| |
| <jvmarg line="${jvmOption}" /> |
| <!-- -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 --> |
| |
| </junit> |
| |
| <mkdir dir="${junit.reports.html.dir}" /> |
| <junitreport todir="${junit.reports.xml.dir}"> |
| <fileset dir="${junit.reports.xml.dir}"> |
| <include name="TEST-*.xml" /> |
| </fileset> |
| <report format="frames" todir="${junit.reports.html.dir}" /> |
| </junitreport> |
| <echo>Test reports available at: ${junit.reports.html.dir}/index.html</echo> |
| <fail message="Tests failed: check test reports." if="junit.failure" /> |
| </target> |
| |
| <target name="test-coverage" depends="instrument, test"> |
| <cobertura-report format="html" destdir="${build.instrumentation.reports.dir}" srcdir="${build.base}/plugins/org.eclipse.swtbot.swt.finder/src" datafile="${cobertura.data.file}" /> |
| <cobertura-report format="xml" destdir="${build.instrumentation.reports.xml.dir}" srcdir="${build.base}/plugins/org.eclipse.swtbot.swt.finder/src" datafile="${cobertura.data.file}" /> |
| </target> |
| |
| <target name="all" depends="init, test-coverage" /> |
| </project> |