Author: rhs
Date: Wed May 14 11:50:02 2008
New Revision: 656357

URL: http://svn.apache.org/viewvc?rev=656357&view=rev
Log:
QPID-965: made the ant build report the cummulative success/failure of the test 
suite

Modified:
    incubator/qpid/trunk/qpid/java/build.xml
    incubator/qpid/trunk/qpid/java/common.xml
    incubator/qpid/trunk/qpid/java/module.xml

Modified: incubator/qpid/trunk/qpid/java/build.xml
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/build.xml?rev=656357&r1=656356&r2=656357&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/java/build.xml (original)
+++ incubator/qpid/trunk/qpid/java/build.xml Wed May 14 11:50:02 2008
@@ -63,7 +63,19 @@
   </target>
 
   <target name="test" description="execute tests">
-    <iterate target="test"/>
+
+    <delete file="${build.failed}"/>
+
+    <iterate target="test">
+      <property name="test.failures.ignore" value="true"/>
+    </iterate>
+
+    <condition property="failed">
+      <available file="${build.failed}"/>
+    </condition>
+
+    <fail if="failed" message="TEST SUITE FAILED"/>
+
   </target>
 
   <target name="jar" description="create module jars">

Modified: incubator/qpid/trunk/qpid/java/common.xml
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/common.xml?rev=656357&r1=656356&r2=656357&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/java/common.xml (original)
+++ incubator/qpid/trunk/qpid/java/common.xml Wed May 14 11:50:02 2008
@@ -31,6 +31,7 @@
   <property name="build.etc"             location="${build}/etc"/>
   <property name="build.lib"             location="${build}/lib"/>
   <property name="build.results"         location="${build}/results"/>
+  <property name="build.failed"          location="${build.results}/FAILED"/>
   <property name="build.report"          location="${build}/report"/>
   <property name="build.release"         location="${build}/release"/>
   <property name="build.release.prepare" location="${build.release}/prepare"/>

Modified: incubator/qpid/trunk/qpid/java/module.xml
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/module.xml?rev=656357&r1=656356&r2=656357&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/java/module.xml (original)
+++ incubator/qpid/trunk/qpid/java/module.xml Wed May 14 11:50:02 2008
@@ -35,6 +35,8 @@
   <property name="module.precompiled"  location="${module.build}/src"/>
   <property name="module.api"          location="${module.build}/api"/>
   <property name="module.test.classes" 
location="${module.build}/test/classes"/>
+  <property name="module.results"      location="${build.results}/${module}"/>
+  <property name="module.failed"       location="${module.results}/FAILED"/>
   <property name="module.src"          location="src/main/java"/>
   <property name="module.test.src"     location="src/test/java"/>
   <property name="module.bin"          location="bin"/>
@@ -128,13 +130,13 @@
     <mkdir dir="${build.etc}"/>
     <mkdir dir="${build.lib}"/>
     <mkdir dir="${build.results}"/>
-    <mkdir dir="${build.results}/${module.name}"/>
     <mkdir dir="${build.data}"/>
     <mkdir dir="${build.plugins}"/>
     <mkdir dir="${module.classes}"/>
     <mkdir dir="${module.precompiled}"/>
     <mkdir dir="${module.api}"/>
     <mkdir dir="${module.test.classes}"/>
+    <mkdir dir="${module.results}"/>
   </target>
 
   <target name="precompile"/>
@@ -195,9 +197,11 @@
   <target name="test" depends="build,compile-tests" if="module.test.src.exists"
          unless="${dontruntest}" description="execute unit tests">
 
+    <delete file="${module.failed}"/>
+
     <junit fork="${test.fork}" maxmemory="${test.mem}" reloading="no"
            haltonfailure="${haltonfailure}" haltonerror="${haltonerror}"
-           printsummary="on" timeout="600000" >
+           failureproperty="test.failures" printsummary="on" timeout="600000" >
 
       <sysproperty key="amqj.logging.level" value="${amqj.logging.level}"/>
       <sysproperty key="root.logging.level" value="${root.logging.level}"/>
@@ -220,14 +224,30 @@
 
       <classpath refid="module.test.path"/>
 
-      <batchtest fork="${test.fork}" todir="${build.results}/${module.name}">
+      <batchtest fork="${test.fork}" todir="${module.results}">
         <fileset dir="${module.test.src}" excludes="${module.test.excludes}">
           <include name="**/${test}.java"/>
         </fileset>
       </batchtest>
     </junit>
+
+    <antcall target="touch-failed"/>
+
+    <condition property="failed">
+      <and>
+        <isfalse value="${test.failures.ignore}"/>
+        <available file="${module.failed}"/>
+      </and>
+    </condition>
+
+    <fail if="failed" message="TEST SUITE FAILED"/>
+
   </target>
 
+  <target name="touch-failed" if="test.failures">
+    <touch file="${module.failed}"/>
+    <touch file="${build.failed}"/>
+  </target>
 
   <target name="copy-bin" if="module.bin.exists" description="copy bin 
directory if it exists to build tree">
     <copy todir="${build.bin}" failonerror="false">
@@ -274,7 +294,7 @@
 
   <target name="clean" description="remove build artifacts">
     <delete dir="${module.build}"/>
-    <delete dir="${build.results}/${module.name}"/>
+    <delete dir="${module.results}"/>
   </target>
 
 </project>


Reply via email to