295781 Allow some builds to "pass" even if failed tests
diff --git a/releng.control/cc_config.xml b/releng.control/cc_config.xml
index c3c97e7..69dcc5f 100644
--- a/releng.control/cc_config.xml
+++ b/releng.control/cc_config.xml
@@ -34,13 +34,13 @@
         value="14400"/>
     <property
         name="time.fiveHours"
-        value="18000"/>        
+        value="18000"/>
     <property
         name="time.twentyFourHours"
         value="86400"/>
     <property
         name="time.fortyEightHours"
-        value="172800"/>        
+        value="172800"/>
     <property
         name="time.veryLongTime"
         value="31536000"/>
@@ -193,7 +193,7 @@
                     value="T"/>
                 <property
                     name="buildId"
-                    value="3.2.0"/>                    
+                    value="3.2.0"/>
                 <property
                     name="buildBranch"
                     value="R3.2.0"/>
@@ -225,7 +225,7 @@
         <schedule
             interval="${time.oneHour}">
             <ant
-              antscript="${env.RELENG_CONTROL}/ant_low_priority_helios.sh">
+                antscript="${env.RELENG_CONTROL}/ant_low_priority_helios.sh">
                 <property
                     name="buildType"
                     value="I"/>
@@ -299,7 +299,7 @@
                     value="I"/>
                 <property
                     name="buildId"
-                    value="3.2.0"/>                    
+                    value="3.2.0"/>
                 <property
                     name="buildBranch"
                     value="R3.2.0"/>
@@ -312,7 +312,6 @@
             </ant>
         </schedule>
     </project>
-    
     <project
         forceOnly="true"
         requireModification="true"
@@ -331,7 +330,7 @@
                     value="I"/>
                 <property
                     name="buildId"
-                    value="3.2.0"/>                    
+                    value="3.2.0"/>
                 <property
                     name="buildBranch"
                     value="R3.2.0"/>
@@ -344,40 +343,18 @@
             </ant>
         </schedule>
     </project>
-    
-    <!-- 
-        <project
-        forceOnly="true"
-        requireModification="true"
-        name="xml-R3.2.0-I">
-        <modificationset
-            quietperiod="120">
-            <cvs
-                module="${env.RELENGSOURCEEDITING}"
-                reallyquiet="${env.CVS_QUIET}"/>
-        </modificationset>
-        <schedule
-            interval="${time.oneHour}">
-            <ant>
-                <property
-                    name="buildType"
-                    value="I"/>
-                <property
-                    name="buildId"
-                    value="3.2.0"/>                    
-                <property
-                    name="buildBranch"
-                    value="R3.2.0"/>
-                <property
-                    name="mapVersionTag"
-                    value="HEAD"/>
-                <property
-                    name="build.distribution"
-                    value="xml"/>
-            </ant>
-        </schedule>
-    </project>
-     -->
+    <!--
+        <project forceOnly="true" requireModification="true"
+        name="xml-R3.2.0-I"> <modificationset quietperiod="120"> <cvs
+        module="${env.RELENGSOURCEEDITING}"
+        reallyquiet="${env.CVS_QUIET}"/> </modificationset> <schedule
+        interval="${time.oneHour}"> <ant> <property name="buildType"
+        value="I"/> <property name="buildId" value="3.2.0"/> <property
+        name="buildBranch" value="R3.2.0"/> <property
+        name="mapVersionTag" value="HEAD"/> <property
+        name="build.distribution" value="xml"/> </ant> </schedule>
+        </project>
+    -->
     <project
         forceOnly="true"
         requireModification="true"
@@ -396,7 +373,7 @@
                     value="I"/>
                 <property
                     name="buildId"
-                    value="3.2.0"/>                    
+                    value="3.2.0"/>
                 <property
                     name="buildBranch"
                     value="R3.2.0"/>
@@ -439,8 +416,7 @@
                     value="wtpjee"/>
             </ant>
         </schedule>
-    </project> 
-       
+    </project>
     <project
         forceOnly="false"
         requireModification="true"
@@ -496,7 +472,7 @@
                     value="R0.5.0"/>
                 <property
                     name="buildId"
-                    value="0.5.0"/>                    
+                    value="0.5.0"/>
                 <property
                     name="mapVersionTag"
                     value="HEAD"/>
@@ -610,15 +586,15 @@
             </ant>
         </schedule>
     </project>
-
     <project
         forceOnly="false"
         requireModification="true"
         name="jsdt-R1.2.0-I">
-        <modificationset quietperiod="120">
-           <cvs
+        <modificationset
+            quietperiod="120">
+            <cvs
                 module="${env.RELENGJSDT}"
-                reallyquiet="${env.CVS_QUIET}"/>  
+                reallyquiet="${env.CVS_QUIET}"/>
         </modificationset>
         <schedule
             interval="${time.oneHour}">
@@ -638,17 +614,19 @@
                 <property
                     name="build.distribution"
                     value="jsdt"/>
-<!-- remember to remove (comment out) these "skips" as we approach a test or declared build  -->
+                <!--
+                    remember to remove (comment out) these "skips" as we
+                    approach a test or declared build
+                -->
                 <property
                     name="SKIP_JAR_SIGNING"
                     value="true"/>
                 <property
                     name="normalizeJarFiles"
-                    value="false"/>                        
+                    value="false"/>
             </ant>
         </schedule>
     </project>
-    
     <project
         forceOnly="true"
         forceBuildNewProject="false"
@@ -660,7 +638,11 @@
         </modificationset>
         <schedule
             interval="${time.veryLongTime}">
-            <ant antscript="${env.RELENG_CONTROL}/ant_med_priority.sh">
+            <ant
+                antscript="${env.RELENG_CONTROL}/ant_med_priority.sh">
+                <property
+                    name="passBuildEvenIfFailedTests"
+                    value="true"/>
                 <property
                     name="buildType"
                     value="P"/>
@@ -707,7 +689,11 @@
         </modificationset>
         <schedule
             interval="${time.veryLongTime}">
-            <ant antscript="${env.RELENG_CONTROL}/ant_med_priority.sh">
+            <ant
+                antscript="${env.RELENG_CONTROL}/ant_med_priority.sh">
+                <property
+                    name="passBuildEvenIfFailedTests"
+                    value="true"/>
                 <property
                     name="buildType"
                     value="P"/>
@@ -722,7 +708,7 @@
                     value="R3_0_5_patches"/>
                 <property
                     name="releng.jsf-mapVersionTag"
-                    value="R3_0_5_patches"/>                    
+                    value="R3_0_5_patches"/>
                 <property
                     name="build.distribution"
                     value="patches3"/>
@@ -777,7 +763,7 @@
                 reallyquiet="${env.CVS_QUIET}"/>
             <cvs
                 module="${env.RELENGJSDT}"
-                reallyquiet="${env.CVS_QUIET}"/>  
+                reallyquiet="${env.CVS_QUIET}"/>
             <cvs
                 tag="R3_1_maintenance"
                 module="${env.RELENGWEBSERVICES}"
@@ -793,7 +779,8 @@
         </modificationset>
         <schedule
             interval="${time.oneHour}">
-            <ant antscript="${env.RELENG_CONTROL}/ant_low_priority_galileo.sh">
+            <ant
+                antscript="${env.RELENG_CONTROL}/ant_low_priority_galileo.sh">
                 <property
                     name="buildType"
                     value="M"/>
@@ -815,18 +802,19 @@
                 <property
                     name="build.distribution"
                     value="wtp"/>
-
-<!-- remember to remove (comment out) these "skips" as we approach a test or declared build  -->
+                <!--
+                    remember to remove (comment out) these "skips" as we
+                    approach a test or declared build
+                -->
                 <property
                     name="SKIP_JAR_SIGNING"
                     value="true"/>
                 <property
                     name="normalizeJarFiles"
-                    value="false"/>                    
-                                        
+                    value="false"/>
             </ant>
         </schedule>
-    </project>    
+    </project>
     <project
         forceOnly="false"
         requireModification="true"
@@ -850,7 +838,7 @@
                 reallyquiet="${env.CVS_QUIET}"/>
             <cvs
                 module="${env.RELENGJSDT}"
-                reallyquiet="${env.CVS_QUIET}"/>                
+                reallyquiet="${env.CVS_QUIET}"/>
             <cvs
                 module="${env.RELENGWEBSERVICES}"
                 reallyquiet="${env.CVS_QUIET}"/>
@@ -862,7 +850,7 @@
                 reallyquiet="${env.CVS_QUIET}"/>
             <cvs
                 module="${env.RELENGJAXWS}"
-                reallyquiet="${env.CVS_QUIET}"/>                
+                reallyquiet="${env.CVS_QUIET}"/>
         </modificationset>
         <schedule
             interval="${time.oneHour}">
@@ -915,7 +903,7 @@
                 reallyquiet="${env.CVS_QUIET}"/>
             <cvs
                 module="${env.RELENGJSDT}"
-                reallyquiet="${env.CVS_QUIET}"/>  
+                reallyquiet="${env.CVS_QUIET}"/>
             <cvs
                 module="${env.RELENGWEBSERVICES}"
                 reallyquiet="${env.CVS_QUIET}"/>
@@ -927,7 +915,7 @@
                 reallyquiet="${env.CVS_QUIET}"/>
             <cvs
                 module="${env.RELENGJAXWS}"
-                reallyquiet="${env.CVS_QUIET}"/>                
+                reallyquiet="${env.CVS_QUIET}"/>
         </modificationset>
         <schedule
             interval="${time.oneHour}">
@@ -954,7 +942,10 @@
                 <property
                     name="build.distribution"
                     value="wtp"/>
-<!-- remember to remove these "skips" as we approach a test or declared build  -->
+                <!--
+                    remember to remove these "skips" as we approach a
+                    test or declared build
+                -->
                 <property
                     name="SKIP_JAR_SIGNING"
                     value="true"/>
@@ -1010,74 +1001,32 @@
             </ant>
         </schedule>
     </project>
-    <!-- 
-    <project
-        forceOnly="false"
-        requireModification="true"
-        name="wtp-R3.2.0G-I">
-        <modificationset
-            quietperiod="120">
-            <cvs
-                module="${env.RELENGCOMMON}"
-                reallyquiet="${env.CVS_QUIET}"/>
-            <cvs
-                module="${env.RELENGEJBTOOLS}"
-                reallyquiet="${env.CVS_QUIET}"/>
-            <cvs
-                module="${env.RELENGJEETOOLS}"
-                reallyquiet="${env.CVS_QUIET}"/>
-            <cvs
-                module="${env.RELENGSERVERTOOLS}"
-                reallyquiet="${env.CVS_QUIET}"/>
-            <cvs
-                module="${env.RELENGSOURCEEDITING}"
-                reallyquiet="${env.CVS_QUIET}"/>
-            <cvs
-                module="${env.RELENGJSDT}"
-                reallyquiet="${env.CVS_QUIET}"/>  
-            <cvs
-                module="${env.RELENGWEBSERVICES}"
-                reallyquiet="${env.CVS_QUIET}"/>
-            <cvs
-                module="${env.RELENGJSF}"
-                reallyquiet="${env.CVS_QUIET}"/>
-            <cvs
-                module="${env.RELENGDALI}"
-                reallyquiet="${env.CVS_QUIET}"/>
-        </modificationset>
-        <schedule
-            interval="${time.fortyEightHours}">
-            <ant
-                antscript="${env.RELENG_CONTROL}/ant_low_priority_galileo.sh">
-                <property
-                    name="buildType"
-                    value="I"/>
-                <property
-                    name="buildId"
-                    value="3.2.0G"/>
-                <property
-                    name="buildBranch"
-                    value="R3.2.0"/>
-                <property
-                    name="mapVersionTag"
-                    value="HEAD"/>
-                <property
-                    name="releng.dali-mapVersionTag"
-                    value="HEAD"/>
-                <property
-                    name="releng.jsf-mapVersionTag"
-                    value="HEAD"/>
-                <property
-                    name="build.distribution"
-                    value="wtp"/>
-                <property
-                    name="SKIP_JAR_SIGNING"
-                    value="true"/>
-                <property
-                    name="normalizeJarFiles"
-                    value="false"/>
-            </ant>
-        </schedule>
-    </project>
-     -->
+    <!--
+        <project forceOnly="false" requireModification="true"
+        name="wtp-R3.2.0G-I"> <modificationset quietperiod="120"> <cvs
+        module="${env.RELENGCOMMON}" reallyquiet="${env.CVS_QUIET}"/>
+        <cvs module="${env.RELENGEJBTOOLS}"
+        reallyquiet="${env.CVS_QUIET}"/> <cvs
+        module="${env.RELENGJEETOOLS}" reallyquiet="${env.CVS_QUIET}"/>
+        <cvs module="${env.RELENGSERVERTOOLS}"
+        reallyquiet="${env.CVS_QUIET}"/> <cvs
+        module="${env.RELENGSOURCEEDITING}"
+        reallyquiet="${env.CVS_QUIET}"/> <cvs module="${env.RELENGJSDT}"
+        reallyquiet="${env.CVS_QUIET}"/> <cvs
+        module="${env.RELENGWEBSERVICES}"
+        reallyquiet="${env.CVS_QUIET}"/> <cvs module="${env.RELENGJSF}"
+        reallyquiet="${env.CVS_QUIET}"/> <cvs module="${env.RELENGDALI}"
+        reallyquiet="${env.CVS_QUIET}"/> </modificationset> <schedule
+        interval="${time.fortyEightHours}"> <ant
+        antscript="${env.RELENG_CONTROL}/ant_low_priority_galileo.sh">
+        <property name="buildType" value="I"/> <property name="buildId"
+        value="3.2.0G"/> <property name="buildBranch" value="R3.2.0"/>
+        <property name="mapVersionTag" value="HEAD"/> <property
+        name="releng.dali-mapVersionTag" value="HEAD"/> <property
+        name="releng.jsf-mapVersionTag" value="HEAD"/> <property
+        name="build.distribution" value="wtp"/> <property
+        name="SKIP_JAR_SIGNING" value="true"/> <property
+        name="normalizeJarFiles" value="false"/> </ant> </schedule>
+        </project>
+    -->
 </cruisecontrol>
\ No newline at end of file
diff --git a/releng.control/cc_project_build.xml b/releng.control/cc_project_build.xml
index e02ee73..510ab34 100644
--- a/releng.control/cc_project_build.xml
+++ b/releng.control/cc_project_build.xml
@@ -19,9 +19,9 @@
     <property
         file="${env.LOCAL_BUILD_PROPERTIES_DIR}/${ant.project.name}.properties"/>
 
-	<!-- = = = end standard properties pattern = = = -->
+    <!-- = = = end standard properties pattern = = = -->
 
-	<!-- if not otherwise set, build clean -->
+    <!-- if not otherwise set, build clean -->
     <property
         name="build.clean"
         value="true"/>
@@ -42,22 +42,20 @@
         unless="projectname"
         message="projectname must be set by caller"/>
 
-	<!-- if not otherwise set, the following are good default values -->
+    <!-- if not otherwise set, the following are good default values -->
     <property
         name="mapVersionTag"
         value="HEAD"/>
 
-	<!-- main -->
+    <!-- main -->
     <target
         name="Build">
-        	
         <antcall
             target="doBuildPhase"/>
         <antcall
             target="doTestPhase"/>
         <antcall
             target="checkIfFailedTests"/>
-        	
     </target>
     <target
         name="checkIfFailedTests"
@@ -67,7 +65,8 @@
             message="Build failed due to failing JUnits in the following test plugin(s):${line.separator}${failedMessage}"/>
     </target>
     <target
-        name="checkFailedFile">
+        name="checkFailedFile"
+        unless="passBuildEvenIfFailedTests">
         <loadresource
             property="failedMessage"
             quiet="true"
@@ -85,25 +84,25 @@
         <antcall
             target="doCleanBuild"/>
 
-		<!-- Create preliminary download site files -->
+        <!-- Create preliminary download site files -->
         <ant
             antfile="${builder}"
             target="site"/>
-            
-		<!-- copy what we have so far 
-        <ant
-            antfile="cc_copyArtifacts.xml"/> -->
+        <!--
+            copy what we have so far <ant
+            antfile="cc_copyArtifacts.xml"/>
+        -->
     </target>
     <target
         name="doCleanBuild"
         unless="skipCleanBuild">
-		<!-- clean previous build -->
+        <!-- clean previous build -->
         <antcall
             target="clean"/>
-		<!-- check out fresh set of appropriate files for the builder -->
+        <!-- check out fresh set of appropriate files for the builder -->
         <ant
             antfile="checkout.xml"/>
-		<!-- build and create preliminary download site files -->
+        <!-- build and create preliminary download site files -->
         <ant
             antfile="${builder}"
             target="build"/>
@@ -124,11 +123,11 @@
         <ant
             antfile="${builder}"
             target="site"/>
-       <!-- <ant
+        <!-- <ant
             antfile="cc_copyArtifacts.xml"/> -->
     </target>
 
-	<!-- clean task -->
+    <!-- clean task -->
     <target
         name="clean"
         depends="check.clean"
@@ -148,7 +147,7 @@
         -->
     </target>
 
-	<!-- if build.clean is true, or does not exist, set doClean to true -->
+    <!-- if build.clean is true, or does not exist, set doClean to true -->
     <target
         name="check.clean">
         <condition