testcoverage-suite.xml 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project name="testcoverage-suite">
  3. <!--
  4. Test coverage measurement for apisupport suite projects.
  5. At present, this only measure coverage for unit tests. Functional
  6. tests, performance tests and other types of tests are not considered.
  7. NOTE: Implemented using Cobertura, follows general contract described in harness README.
  8. -->
  9. <property name="testcoverage.suite.present" value="true"/>
  10. <property name="cobertura.dir" value="${harness.dir}/testcoverage/cobertura"/>
  11. <path id="cobertura.classpath">
  12. <fileset dir="${cobertura.dir}">
  13. <include name="cobertura-1.9.3.jar" />
  14. <include name="lib/**/*.jar" />
  15. </fileset>
  16. </path>
  17. <taskdef classpathref="cobertura.classpath" resource="tasks.properties"/>
  18. <target name="cobertura-init">
  19. <property name="cobertura.datafiles.merge.dir" value="${basedir}/build/test/cobertura-datafiles"/>
  20. <property name="cobertura.report.sources.dir" value="${basedir}/build/test/sources-for-report"/>
  21. <property name="testcoverage.report.dir" value="build/test/cobertura-report"/>
  22. <property name="cobertura.datafile" value="build/test/global-cobertura.ser"/>
  23. </target>
  24. <target name="merge-coverage-reports" depends="-init,cobertura-init">
  25. <!-- Creates a report by merging data collected from tests previously run on modules -->
  26. <mkdir dir="build/test"/>
  27. <delete file="${cobertura.datafile}" failonerror="false"/>
  28. <delete dir="${testcoverage.report.dir}" failonerror="false"/>
  29. <delete dir="${cobertura.datafiles.merge.dir}" quiet="true" />
  30. <mkdir dir="${cobertura.datafiles.merge.dir}" />
  31. <delete dir="${cobertura.report.sources.dir}" quiet="true" />
  32. <mkdir dir="${cobertura.report.sources.dir}" />
  33. <!-- have each module copy its .ser file to the suite for merging -->
  34. <subant target="-copy-cobertura-datafile" buildpath="${modules.sorted}" inheritrefs="false" inheritall="false">
  35. <property name="suite.merge.dir" value="${cobertura.datafiles.merge.dir}"/>
  36. </subant>
  37. <cobertura-merge datafile="${cobertura.datafile}">
  38. <fileset dir="${cobertura.datafiles.merge.dir}">
  39. <include name="**/*" />
  40. </fileset>
  41. </cobertura-merge>
  42. <!-- have each module copy its sources to the suite for reporting -->
  43. <subant target="-copy-source-folder" buildpath="${modules.sorted}" inheritrefs="false" inheritall="false">
  44. <property name="suite.sources.dir" value="${cobertura.report.sources.dir}"/>
  45. </subant>
  46. <cobertura-report datafile="${cobertura.datafile}" destdir="${testcoverage.report.dir}" format="html">
  47. <fileset dir="${cobertura.report.sources.dir}">
  48. <include name="**/*.java" />
  49. </fileset>
  50. </cobertura-report>
  51. <cobertura-report datafile="${cobertura.datafile}" destdir="${testcoverage.report.dir}" format="xml">
  52. <fileset dir="${cobertura.report.sources.dir}">
  53. <include name="**/*.java" />
  54. </fileset>
  55. </cobertura-report>
  56. </target>
  57. <target name="generate-all-coverage-reports" depends="-init">
  58. <subant target="coverage-report" buildpath="${modules.sorted}" inheritrefs="false" inheritall="false"/>
  59. </target>
  60. <target name="coverage-report" depends="generate-all-coverage-reports,merge-coverage-reports"
  61. description="Generates test coverage report for entire suite">
  62. </target>
  63. </project>