azkaban-aplcache

Issue #172 - Generate summary report when running JUnit tests.

2/16/2014 9:00:36 AM

Changes

unit/build.xml 43(+26 -17)

Details

diff --git a/ivy/libraries.properties b/ivy/libraries.properties
index a4daa4a..ad9f00d 100644
--- a/ivy/libraries.properties
+++ b/ivy/libraries.properties
@@ -21,7 +21,7 @@ jetty.version=6.1.26
 jetty-util.version=6.1.26
 joda-time.version=2.0
 jopt-simple.version=4.3
-junit.version=4.11
+junit.version=4.8
 log4j.version=1.2.16
 mail.version=1.4.5
 mysql-connector.version=5.1.28

unit/build.xml 43(+26 -17)

diff --git a/unit/build.xml b/unit/build.xml
index 39fead7..f23437c 100644
--- a/unit/build.xml
+++ b/unit/build.xml
@@ -5,13 +5,13 @@
 	<property name="dist.jar.dir" value="${base.dir}/dist/unit/jars" />
 	<property name="dist.classes.dir" value="${base.dir}/dist/unit/classes" />
 	<property name="dist.packages.dir" value="${base.dir}/dist/unit/packages" />
-	
+
 	<property name="java.src.dir" value="${base.dir}/unit/java" />
 	<property name="job.conf.dir" value="${base.dir}/unit/executions" />
   <property name="build.ivy.lib.dir" location="../build/ivy/lib" />
   <property name="build.jar.dir" location="../dist/jars" />
   <property name="test.output.dir" location="${base.dir}/reports" />
-		
+
 	<property environment="env" />
 
 	<path id="main.classpath">
@@ -22,7 +22,7 @@
 			<include name="*.jar" />
 		</fileset>
 	</path>
-	
+
 	<!-- set the build number based on environment variable, otherwise blank -->
 	<property environment="env" description="System environment variables (including those set by Hudson)" />
 
@@ -40,14 +40,14 @@
 		<delete dir="${dist.classes.dir}" />
 		<mkdir dir="${dist.classes.dir}" />
 		<mkdir dir="${dist.packages.dir}" />
-		
+
     <javac fork="true" destdir="${dist.classes.dir}"
       target="1.6" debug="true" deprecation="false" failonerror="true">
       <src path="${java.src.dir}" />
       <classpath refid="main.classpath" />
     </javac>
 	</target>
-	
+
 	<target name="jars" depends="build" description="Create azkaban jar">
 		<delete dir="${dist.jar.dir}" />
 		<mkdir dir="${dist.jar.dir}" />
@@ -57,7 +57,7 @@
 			</fileset>
 		</jar>
 	</target>
-	
+
 	<target name="package-exectest1" depends="jars" description="Creates a test zip">
 		<!-- Tarball it -->
 		<zip destfile="${dist.packages.dir}/exectest1.zip">
@@ -73,7 +73,7 @@
       <zipfileset dir="${job.conf.dir}/exectest2" />
 		</zip>
 	</target>
-	
+
 	<target name="package-animal" depends="jars" description="Creates a test zip">
 		<!-- Tarball it -->
 		<zip destfile="${dist.packages.dir}/animal.zip">
@@ -81,7 +81,7 @@
       <zipfileset dir="${job.conf.dir}/animal" />
 		</zip>
 	</target>
-	
+
 	<target name="package-embedded" depends="jars" description="Creates a test zip">
 		<!-- Tarball it -->
 		<zip destfile="${dist.packages.dir}/embedded.zip">
@@ -96,30 +96,30 @@
 			<zipfileset dir="${dist.jar.dir}" />
       <zipfileset dir="${job.conf.dir}/embedded2" />
 		</zip>
-  </target>	
-  
+  </target>
+
   <target name="package-embedded3" depends="jars" description="Creates a test zip">
 		<!-- Tarball it -->
 		<zip destfile="${dist.packages.dir}/embedded3.zip">
 			<zipfileset dir="${dist.jar.dir}" />
       <zipfileset dir="${job.conf.dir}/embedded3" />
 		</zip>
-  </target>	
-  
+  </target>
+
   <target name="package-embeddedBad" depends="jars" description="Creates a test zip">
 		<!-- Tarball it -->
 		<zip destfile="${dist.packages.dir}/embeddedBad.zip">
 			<zipfileset dir="${dist.jar.dir}" />
       <zipfileset dir="${job.conf.dir}/embeddedBad" />
 		</zip>
-  </target>	
-  
+  </target>
+
   <target name="package" depends="package-exectest1, package-exectest2, package-animal, package-embedded, package-embedded2, package-embedded3, package-embeddedBad" description="Creates all packages">
   </target>
 
   <target name="test-junit" depends="package" description="Runs JUnit tests.">
 		<mkdir dir="${test.output.dir}" />
-    <junit>
+    <junit failureProperty="test.failure" fork="yes" forkmode="once">
       <classpath>
         <fileset dir="${build.ivy.lib.dir}">
           <include name="*.jar" />
@@ -132,11 +132,20 @@
         </fileset>
       </classpath>
       <formatter type="plain" usefile="false" />
-      <formatter type="plain" />
-      <batchtest fork="yes" todir="${test.output.dir}">
+      <formatter type="xml" />
+      <batchtest todir="${test.output.dir}">
         <fileset dir="${java.src.dir}" includes="**/*Test*.java" />
       </batchtest>
     </junit>
+
+    <junitreport todir="${test.output.dir}">
+      <fileset dir="${test.output.dir}">
+        <include name="TEST-*.xml" />
+      </fileset>
+      <report todir="${test.output.dir}" />
+    </junitreport>
+
+    <fail message="Unit tests failed." if="test.failure" />
   </target>
 
   <target name="test" depends="test-junit" description="Runs tests">