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.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  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. <property name="clover.jar" location="/home/dmdirc/clover/clover/lib/clover.jar"/>
  5. <taskdef resource="cloverlib.xml" classpath="${clover.jar}"/>
  6. <taskdef resource="cloverjunitlib.xml" classpath="${clover.jar}"/>
  7. <available property="clover.installed" classname="com.cenqua.clover.CloverInstr" />
  8. <available file="/usr/bin/xvfb-run" property="has.xvfb"/>
  9. <target name="with.clover" depends="clean" if="clover.installed"
  10. description="Set up Clover to instrument tests.">
  11. <clover-clean/>
  12. <clover-env/>
  13. <clover-setup>
  14. <fileset dir="src/com/" includes="**/*.java" />
  15. <fileset dir="test/com/">
  16. <include name="**/*.java" />
  17. <exclude name="**/harness/**/*.java" />
  18. </fileset>
  19. <methodContext name="private ctor" regexp="(.* )?private +[a-zA-Z0-9_$]+ *\( *\).*"/>
  20. </clover-setup>
  21. </target>
  22. <target name="clover.snapshot" depends="with.clover">
  23. <clover-snapshot/>
  24. </target>
  25. <target name="clover.xml" if="clover.installed"
  26. description="Generate a Clover XML report.">
  27. <mkdir dir="reports/clover" />
  28. <clover-report>
  29. <current outfile="reports/clover/clover.xml">
  30. <format type="xml" filter="private ctor"/>
  31. </current>
  32. </clover-report>
  33. </target>
  34. <target name="clover.html" if="clover.installed"
  35. description="Generate a Clover HTML report.">
  36. <mkdir dir="reports/clover" />
  37. <mkdir dir="reports/clover/history" />
  38. <clover-historypoint historydir="reports/clover/history" />
  39. <clover-report>
  40. <current outfile="reports/clover">
  41. <format type="html" filter="private ctor"/>
  42. </current>
  43. <historical outfile="reports/clover" historydir="reports/clover/history" />
  44. </clover-report>
  45. </target>
  46. <property name="test.reports" value="./junitreports" />
  47. <target name="-do-test-reports">
  48. <mkdir dir="${test.reports}" />
  49. <junitreport todir="${test.reports}">
  50. <fileset dir="${build.test.results.dir}">
  51. <include name="TEST-*.xml" />
  52. </fileset>
  53. <report todir="${test.reports}" />
  54. </junitreport>
  55. </target>
  56. <target name="test" depends="check-use-xvfb, -test-xvfb, -test-no-xvfb"/>
  57. <target name="check-use-xvfb">
  58. <condition property="use.xvfb">
  59. <and>
  60. <not>
  61. <equals arg1="${xvfb.disable}" arg2="true" />
  62. </not>
  63. <equals arg1="${has.xvfb}" arg2="true" />
  64. </and>
  65. </condition>
  66. </target>
  67. <target name="-test-xvfb" if="use.xvfb">
  68. <exec executable="/usr/bin/xvfb-run">
  69. <arg value="-a"/>
  70. <arg value="-s"/>
  71. <arg value="-screen 0 1280x1024x24"/>
  72. <arg value="-w"/>
  73. <arg value="5"/>
  74. <arg value="/usr/bin/ant"/>
  75. <arg value="with.clover"/>
  76. <arg value="do-real-test"/>
  77. <arg value="clover.snapshot"/>
  78. </exec>
  79. </target>
  80. <target name="-test-no-xvfb" unless="use.xvfb">
  81. <antcall target="with.clover" />
  82. <antcall target="do-real-test" />
  83. <antcall target="clover.snapshot" />
  84. </target>
  85. <target name="test-html" depends="with.clover,compile-test,test,clover.html,clover.snapshot"
  86. description="Run tests and generate a Clover HTML report."/>
  87. <target name="test-xml" depends="with.clover,compile-test,test,clover.xml,clover.snapshot"
  88. description="Run tests and generate a Clover XML report."/>
  89. <target name="test-both" depends="test-html,test-xml"
  90. description="Run tests and generate Clover XML and HTML reports."/>
  91. </project>