You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
80 lines
3.5 KiB
80 lines
3.5 KiB
<?xml version="1.0" encoding="UTF-8"?>
|
|
<project name="testcoverage-suite">
|
|
|
|
<!--
|
|
Test coverage measurement for apisupport suite projects.
|
|
|
|
At present, this only measure coverage for unit tests. Functional
|
|
tests, performance tests and other types of tests are not considered.
|
|
|
|
NOTE: Implemented using Cobertura, follows general contract described in harness README.
|
|
-->
|
|
<property name="testcoverage.suite.present" value="true"/>
|
|
<property name="cobertura.dir" value="${harness.dir}/testcoverage/cobertura"/>
|
|
|
|
<path id="cobertura.classpath">
|
|
<fileset dir="${cobertura.dir}">
|
|
<include name="cobertura-1.9.3.jar" />
|
|
<include name="lib/**/*.jar" />
|
|
</fileset>
|
|
</path>
|
|
|
|
<taskdef classpathref="cobertura.classpath" resource="tasks.properties"/>
|
|
|
|
<target name="cobertura-init">
|
|
<property name="cobertura.datafiles.merge.dir" value="${basedir}/build/test/cobertura-datafiles"/>
|
|
<property name="cobertura.report.sources.dir" value="${basedir}/build/test/sources-for-report"/>
|
|
<property name="testcoverage.report.dir" value="build/test/cobertura-report"/>
|
|
<property name="cobertura.datafile" value="build/test/global-cobertura.ser"/>
|
|
</target>
|
|
|
|
<target name="merge-coverage-reports" depends="-init,cobertura-init">
|
|
<!-- Creates a report by merging data collected from tests previously run on modules -->
|
|
|
|
<mkdir dir="build/test"/>
|
|
<delete file="${cobertura.datafile}" failonerror="false"/>
|
|
<delete dir="${testcoverage.report.dir}" failonerror="false"/>
|
|
|
|
<delete dir="${cobertura.datafiles.merge.dir}" quiet="true" />
|
|
<mkdir dir="${cobertura.datafiles.merge.dir}" />
|
|
|
|
<delete dir="${cobertura.report.sources.dir}" quiet="true" />
|
|
<mkdir dir="${cobertura.report.sources.dir}" />
|
|
|
|
<!-- have each module copy its .ser file to the suite for merging -->
|
|
<subant target="-copy-cobertura-datafile" buildpath="${modules.sorted}" inheritrefs="false" inheritall="false">
|
|
<property name="suite.merge.dir" value="${cobertura.datafiles.merge.dir}"/>
|
|
</subant>
|
|
|
|
<cobertura-merge datafile="${cobertura.datafile}">
|
|
<fileset dir="${cobertura.datafiles.merge.dir}">
|
|
<include name="**/*" />
|
|
</fileset>
|
|
</cobertura-merge>
|
|
|
|
<!-- have each module copy its sources to the suite for reporting -->
|
|
<subant target="-copy-source-folder" buildpath="${modules.sorted}" inheritrefs="false" inheritall="false">
|
|
<property name="suite.sources.dir" value="${cobertura.report.sources.dir}"/>
|
|
</subant>
|
|
|
|
<cobertura-report datafile="${cobertura.datafile}" destdir="${testcoverage.report.dir}" format="html">
|
|
<fileset dir="${cobertura.report.sources.dir}">
|
|
<include name="**/*.java" />
|
|
</fileset>
|
|
</cobertura-report>
|
|
<cobertura-report datafile="${cobertura.datafile}" destdir="${testcoverage.report.dir}" format="xml">
|
|
<fileset dir="${cobertura.report.sources.dir}">
|
|
<include name="**/*.java" />
|
|
</fileset>
|
|
</cobertura-report>
|
|
</target>
|
|
|
|
<target name="generate-all-coverage-reports" depends="-init">
|
|
<subant target="coverage-report" buildpath="${modules.sorted}" inheritrefs="false" inheritall="false"/>
|
|
</target>
|
|
|
|
<target name="coverage-report" depends="generate-all-coverage-reports,merge-coverage-reports"
|
|
description="Generates test coverage report for entire suite">
|
|
</target>
|
|
|
|
</project>
|
|
|