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.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  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="modules/parser/src/" includes="**/*.java" />
  16. <fileset dir="modules/util/src/" includes="**/*.java" />
  17. <fileset dir="modules/plugins/src/" includes="**/*.java" />
  18. <fileset dir="test/">
  19. <include name="**/*.java" />
  20. <exclude name="**/harness/**/*.java" />
  21. </fileset>
  22. <fileset dir="modules/parser/test/">
  23. <include name="**/*.java" />
  24. <exclude name="**/harness/**/*.java" />
  25. </fileset>
  26. <fileset dir="modules/util/test/">
  27. <include name="**/*.java" />
  28. <exclude name="**/harness/**/*.java" />
  29. </fileset>
  30. <fileset dir="modules/plugins/test/">
  31. <include name="**/*.java" />
  32. <exclude name="**/harness/**/*.java" />
  33. </fileset>
  34. <methodContext name="private_ctor" regexp="(.* )?private +[a-zA-Z0-9_$]+ *\( *\).*"/>
  35. </clover-setup>
  36. </target>
  37. <target name="clover.snapshot" depends="with.clover" if="clover.installed">
  38. <clover-snapshot/>
  39. </target>
  40. <target name="clover.xml" if="clover.installed"
  41. description="Generate a Clover XML report.">
  42. <mkdir dir="reports/clover" />
  43. <clover-report>
  44. <current outfile="reports/clover/clover.xml">
  45. <format type="xml" filter="private_ctor"/>
  46. </current>
  47. </clover-report>
  48. </target>
  49. <target name="clover.html" if="clover.installed"
  50. description="Generate a Clover HTML report.">
  51. <mkdir dir="reports/clover" />
  52. <mkdir dir="reports/clover/history" />
  53. <clover-historypoint historydir="reports/clover/history" />
  54. <clover-report>
  55. <current outfile="reports/clover">
  56. <format type="html" filter="private_ctor"/>
  57. </current>
  58. <historical outfile="reports/clover" historydir="reports/clover/history" />
  59. </clover-report>
  60. </target>
  61. <property name="test.reports" value="./junitreports" />
  62. <target name="-do-test-reports">
  63. <mkdir dir="${test.reports}" />
  64. <junitreport todir="${test.reports}">
  65. <fileset dir="${build.test.results.dir}">
  66. <include name="TEST-*.xml" />
  67. </fileset>
  68. <report todir="${test.reports}" />
  69. </junitreport>
  70. </target>
  71. <target name="test" depends="check-use-xvfb, -test-xvfb, -test-no-xvfb"/>
  72. <target name="check-use-xvfb">
  73. <condition property="use.xvfb">
  74. <and>
  75. <not>
  76. <equals arg1="${xvfb.disable}" arg2="true" />
  77. </not>
  78. <equals arg1="${has.xvfb}" arg2="true" />
  79. </and>
  80. </condition>
  81. </target>
  82. <target name="-test-xvfb" if="use.xvfb">
  83. <exec executable="/usr/bin/xvfb-run">
  84. <arg value="-a"/>
  85. <arg value="-s"/>
  86. <arg value="-screen 0 1280x1024x24"/>
  87. <arg value="-w"/>
  88. <arg value="5"/>
  89. <arg value="/usr/bin/ant"/>
  90. <arg value="do-xvfb-tests"/>
  91. </exec>
  92. </target>
  93. <target name="do-xvfb-tests" depends="with.clover,do-real-test,clover.snapshot"/>
  94. <target name="-test-no-xvfb" unless="use.xvfb">
  95. <antcall>
  96. <target name="with.clover"/>
  97. <target name="do-real-test"/>
  98. <target name="clover.snapshot"/>
  99. </antcall>
  100. </target>
  101. <target name="test-html" depends="with.clover,compile-test,test,clover.html,clover.snapshot"
  102. description="Run tests and generate a Clover HTML report."/>
  103. <target name="test-xml" depends="with.clover,compile-test,test,clover.xml,clover.snapshot"
  104. description="Run tests and generate a Clover XML report."/>
  105. <target name="test-both" depends="test-html,test-xml"
  106. description="Run tests and generate Clover XML and HTML reports."/>
  107. </project>