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.

build-tests.xml 4.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project name="DMDirc-tests" default="default" basedir=".">
  3. <description>Test-related tasks for DMDirc.</description>
  4. <target name="-init-clover" depends="-init-dependencies">
  5. <taskdef resource="cloverlib.xml" classpathref="test-classpath"/>
  6. <taskdef resource="cloverjunitlib.xml" classpathref="test-classpath"/>
  7. <property name="clover.license.path" location="etc/clover.license"/>
  8. <property name="clover.init.string" location=".clover/clover.db"/>
  9. <condition property="clover.installed">
  10. <and>
  11. <available classname="com.cenqua.clover.CloverInstr"/>
  12. <available file="etc/clover.license"/>
  13. </and>
  14. </condition>
  15. <property name="plugins.build.target" value="compile-for-tests"/>
  16. </target>
  17. <target name="with.clover" depends="-init-clover,clean" if="clover.installed"
  18. description="Set up Clover to instrument tests.">
  19. <clover-clean/>
  20. <clover-env/>
  21. <clover-setup initstring="${clover.init.string}">
  22. <fileset dir="src/com/" includes="**/*.java" />
  23. <fileset dir="modules/parser/src/" includes="**/*.java" />
  24. <fileset dir="modules/util/src/" includes="**/*.java" />
  25. <fileset dir="modules/plugins/src/" includes="**/*.java" />
  26. <fileset dir="test/">
  27. <include name="**/*.java" />
  28. <exclude name="**/harness/**/*.java" />
  29. </fileset>
  30. <fileset dir="modules/parser/test/">
  31. <include name="**/*.java" />
  32. <exclude name="**/harness/**/*.java" />
  33. </fileset>
  34. <fileset dir="modules/util/test/">
  35. <include name="**/*.java" />
  36. <exclude name="**/harness/**/*.java" />
  37. </fileset>
  38. <fileset dir="modules/plugins/test/">
  39. <include name="**/*.java" />
  40. <exclude name="**/harness/**/*.java" />
  41. </fileset>
  42. <methodContext name="private_ctor" regexp="(.* )?private +[a-zA-Z0-9_$]+ *\( *\).*"/>
  43. </clover-setup>
  44. </target>
  45. <target name="clover.snapshot" depends="with.clover" if="clover.installed">
  46. <clover-snapshot/>
  47. </target>
  48. <target name="clover.xml" if="clover.installed" depends="-init-clover"
  49. description="Generate a Clover XML report.">
  50. <mkdir dir="reports/clover" />
  51. <clover-report>
  52. <current outfile="reports/clover/clover.xml">
  53. <format type="xml" filter="private_ctor"/>
  54. </current>
  55. </clover-report>
  56. </target>
  57. <target name="clover.html" if="clover.installed" depends="-init-clover"
  58. description="Generate a Clover HTML report.">
  59. <mkdir dir="reports/clover" />
  60. <mkdir dir="reports/clover/history" />
  61. <clover-historypoint historydir="reports/clover/history" />
  62. <clover-report>
  63. <current outfile="reports/clover">
  64. <format type="html" filter="private_ctor"/>
  65. </current>
  66. <historical outfile="reports/clover" historydir="reports/clover/history" />
  67. </clover-report>
  68. </target>
  69. <property name="test.reports" value="./junitreports" />
  70. <target name="-do-test-reports">
  71. <mkdir dir="${test.reports}" />
  72. <junitreport todir="${test.reports}">
  73. <fileset dir="${build.test.results.dir}">
  74. <include name="TEST-*.xml" />
  75. </fileset>
  76. <report todir="${test.reports}" />
  77. </junitreport>
  78. </target>
  79. <target name="test-html" depends="with.clover,compile-test,test,clover.html,clover.snapshot"
  80. description="Run tests and generate a Clover HTML report."/>
  81. <target name="test-xml" depends="with.clover,compile-test,test,clover.xml,clover.snapshot"
  82. description="Run tests and generate a Clover XML report."/>
  83. <target name="test-both" depends="test-html,test-xml"
  84. description="Run tests and generate Clover XML and HTML reports."/>
  85. <target name="teamcity-clover-report">
  86. <xslt in="reports/clover/clover.xml" style="checkstyle/clover.xsl" out="teamcity-info.xml" />
  87. </target>
  88. </project>