From 3169ced2d2762dc9f35aa8ca3441632166f57aea Mon Sep 17 00:00:00 2001
From: gary_williams <gary_williams@localhost>
Date: Fri, 02 Mar 2007 15:42:17 +0000
Subject: [PATCH] Issue 1306 make use of stax query job  to get results of each test case

---
 opends/tests/functional-tests/testcases/runFuncTests.xml   |    5 +
 opends/tests/functional-tests/shared/functions/staxcmd.xml |   65 +++++++++++++++++++++
 opends/tests/functional-tests/shared/functions/utils.xml   |   40 ++++++++++---
 opends/tests/functional-tests/shared/functions/stafcmd.xml |   66 +++++++++++-----------
 4 files changed, 132 insertions(+), 44 deletions(-)

diff --git a/opends/tests/functional-tests/shared/functions/stafcmd.xml b/opends/tests/functional-tests/shared/functions/stafcmd.xml
index 499b82f..d6afac6 100755
--- a/opends/tests/functional-tests/shared/functions/stafcmd.xml
+++ b/opends/tests/functional-tests/shared/functions/stafcmd.xml
@@ -376,34 +376,34 @@
       </function-arg-def>      
     </function-map-args>
 
-      <sequence>
+    <sequence>
 
-        <stafcmd name="'STAF Command: Create Folder'">
-          <location>'%s' % location</location>
-          <service>'fs'</service>
-          <request>
-            'CREATE DIRECTORY %s FULLPATH' % foldername
-          </request>
-        </stafcmd>
+      <stafcmd name="'STAF Command: Create Folder'">
+        <location>'%s' % location</location>
+        <service>'fs'</service>
+        <request>
+          'CREATE DIRECTORY %s FULLPATH' % foldername
+        </request>
+      </stafcmd>
 
-        <script>
-          cmdRC=RC
-          cmdResult=STAFResult
-        </script>
-        
-        <call function="'checkRC'">
-            { 'returncode' : cmdRC ,
-              'result'     : cmdResult }
-        </call>
+      <script>
+        cmdRC=RC
+        cmdResult=STAFResult
+      </script>
+      
+      <call function="'checkRC'">
+          { 'returncode' : cmdRC ,
+            'result'     : cmdResult }
+      </call>
 
-        <return>cmdRC</return>
-        
-      </sequence>
+      <return>cmdRC</return>
+      
+    </sequence>
 
-    </function>  
+  </function>  
 
 
-    <function name="queryLogs">
+  <function name="queryLogs">
 
     <function-prolog>
         Queries the staf logs from startfrom point
@@ -436,16 +436,16 @@
       </function-arg-def> 
     </function-map-args>
 
-      <sequence>
-        
-        <stafcmd name="'STAF Command: Log Query for Test Case Log.'">
-          <location>'%s' % location</location>
-          <service>'log'</service>
-          <request>'QUERY ALL MACHINE %s LOGNAME %s FROM %s TO %s' % (location,logname,startfrom,endat)</request>
-        </stafcmd>
-        
-      </sequence>
+    <sequence>
+      
+      <stafcmd name="'STAF Command: Log Query for Test Case Log.'">
+        <location>'%s' % location</location>
+        <service>'log'</service>
+        <request>'QUERY ALL MACHINE %s LOGNAME %s FROM %s TO %s' % (location,logname,startfrom,endat)</request>
+      </stafcmd>
+      
+    </sequence>
 
-    </function>
-        
+  </function>
+
 </stax>
diff --git a/opends/tests/functional-tests/shared/functions/staxcmd.xml b/opends/tests/functional-tests/shared/functions/staxcmd.xml
new file mode 100755
index 0000000..cbc1758
--- /dev/null
+++ b/opends/tests/functional-tests/shared/functions/staxcmd.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "stax.dtd">
+<!--
+  ! CDDL HEADER START
+  !
+  ! The contents of this file are subject to the terms of the
+  ! Common Development and Distribution License, Version 1.0 only
+  ! (the "License").  You may not use this file except in compliance
+  ! with the License.
+  !
+  ! You can obtain a copy of the license at
+  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+  ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+  ! See the License for the specific language governing permissions
+  ! and limitations under the License.
+  !
+  ! When distributing Covered Code, include this CDDL HEADER in each
+  ! file and include the License file at
+  ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+  ! add the following below this CDDL HEADER, with the fields enclosed
+  ! by brackets "[]" replaced with your own identifying information:
+  !      Portions Copyright [yyyy] [name of copyright owner]
+  !
+  ! CDDL HEADER END
+  !
+  !      Portions Copyright 2007 Sun Microsystems, Inc.
+  ! -->
+<stax>
+
+  <function name="queryTestcase">
+
+    <function-prolog>Queries the current testcase</function-prolog>
+
+    <function-map-args>
+      <function-arg-def name="location" type="optional" default="'%s' % STAXServiceMachine">
+        <function-arg-description>
+          Location of target host
+        </function-arg-description>
+        <function-arg-property name="type" value="hostname" />
+      </function-arg-def>
+    </function-map-args>
+
+    <sequence>
+
+      <script>
+        STAXRequest='QUERY JOB %s TESTCASE "%s"' % (STAXJobID,STAXCurrentTestcase)
+      </script>
+
+      <stafcmd name="'STAX Command: Test Case Query for %s' % STAXCurrentTestcase">
+        <location>'%s' % location</location>
+        <service>'stax'</service>
+        <request>'%s' % STAXRequest</request>
+      </stafcmd>
+
+      <call function="'checkRC'">
+        { 'returncode' : RC , 'result' : STAFResult }
+      </call>
+
+      <return>RC</return>
+
+    </sequence>
+
+  </function>
+
+</stax>
diff --git a/opends/tests/functional-tests/shared/functions/utils.xml b/opends/tests/functional-tests/shared/functions/utils.xml
index 98aaecc..254fa50 100755
--- a/opends/tests/functional-tests/shared/functions/utils.xml
+++ b/opends/tests/functional-tests/shared/functions/utils.xml
@@ -50,11 +50,11 @@
             <message log="1">
               'Success: RC=%s, Result=Ok' % (returncode)
             </message>
-            <else>
-              <message log="1">
-                'Success: RC=%s, Result=%s' % (returncode,result)
-              </message>
-            </else>
+          <else>
+            <message log="1">
+              'Success: RC=%s, Result=%s' % (returncode,result)
+            </message>
+          </else>
           </if>
         </sequence>
         <else>
@@ -341,6 +341,27 @@
     </function-prolog>
     <function-no-args />
     <sequence>
+      <call function="'queryTestcase'" />
+      
+      <script>
+        if STAFResult.has_key('numPasses'):
+          numPass=int(STAFResult['numPasses'])
+        else:
+          numPass=int(0)
+          
+        if STAFResult.has_key('numFails'):
+          numFail=int(STAFResult['numFails'])
+        else:
+          numFail=int(0)
+      </script>
+             
+      <if expr="numFail &gt; 0">
+        <message>'## Test Verdict: FAIL ##'</message>
+      <else>
+        <message>'## Test Verdict: PASS ##'</message>
+      </else>
+      </if>    
+      
       <call function="'testCase_EndBanner'" />
     </sequence>
   </function>
@@ -370,7 +391,7 @@
       </script>
           
       <message>
-        '### %s/%s suite preamble ###' % (ThisGroupName,ThisSuiteName)
+        '#### %s/%s suite preamble ####' % (ThisGroupName,ThisSuiteName)
       </message>
         
     </sequence>
@@ -397,7 +418,7 @@
       </script>
     
       <message>
-        '### %s/%s suite postamble ###' % (ThisGroupName,ThisSuiteName)
+        '#### %s/%s suite postamble ####' % (ThisGroupName,ThisSuiteName)
       </message>
 
       <!-- Start time of test suite -->      
@@ -444,7 +465,7 @@
         ThisGroupName=CurrentTestPath['group']          
       </script>
       
-      <message>'### %s group preamble ###' % ThisGroupName</message>
+      <message>'##### %s group preamble #####' % ThisGroupName</message>
       
     </sequence>
   </function>
@@ -463,7 +484,7 @@
           ThisGroupName='unknown-group'
       </script>
       
-      <message>'### %s group postamble ###' % ThisGroupName</message>
+      <message>'##### %s group postamble #####' % ThisGroupName</message>
       
       <script>
         if CurrentTestPath.has_key('group'):
@@ -541,7 +562,6 @@
         testlogfh=open(logfile,'w')
       </script>
            
-      <message>'Writing query result'</message>
       <iterate var="element" in="queryresult">
         <script>
           level=element['level'] 
diff --git a/opends/tests/functional-tests/testcases/runFuncTests.xml b/opends/tests/functional-tests/testcases/runFuncTests.xml
index 9533139..5a96612 100755
--- a/opends/tests/functional-tests/testcases/runFuncTests.xml
+++ b/opends/tests/functional-tests/testcases/runFuncTests.xml
@@ -41,6 +41,9 @@
         file="'%s/stafcmd.xml' % (TESTS_FUNCTIONS_DIR)" />
 
       <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+        file="'%s/staxcmd.xml' % (TESTS_FUNCTIONS_DIR)" />
+
+      <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
         file="'%s/dsadm.xml' % (TESTS_FUNCTIONS_DIR)" />
 
       <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
@@ -105,7 +108,7 @@
       <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
         file="'%s/testcases/security/security.xml' % (TESTS_DIR)" />
       <call function="'main_security'" />
-
+      
       <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
         file="'%s/testcases/aci/aci.xml' % (TESTS_DIR)" />
       <call function="'main_aci'" />

--
Gitblit v1.10.0