mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

gary_williams
04.53.2008 81f0786e703a19932c87ac2b1a55b34824164a59
Improve merging of test group results for groups test report
2 files modified
112 ■■■■ changed files
opends/tests/functional-tests/testcases/runFuncTests.xml 15 ●●●●● patch | view | raw | blame | history
opends/tests/functional-tests/testcases/runTestJob.xml 97 ●●●● patch | view | raw | blame | history
opends/tests/functional-tests/testcases/runFuncTests.xml
@@ -37,7 +37,7 @@
      <!-- Build list of test groups to run -->
      <script>
        noOfChildren=0
        listOfChildren=[]
        class groupToRun:
          def __init__(self, name):
@@ -73,13 +73,10 @@
        <sequence>
        
          <message>'calling job %s' % group.getName()</message>
          <!-- The job that executes the tests -->
          <script>
            STAXParentID=STAXJobID
          </script>
          <message>'STAXParentID= %s' % STAXParentID</message>
          <job name="'%s: %s, %s, %s' % (STAXParentID,STAF_REMOTE_HOSTNAME,TEST_OS_STRING,group.getName())" monitor="1" clearlogs="'Enabled'" logtcstartstop="'Enabled'">
            <job-file>
@@ -96,7 +93,7 @@
            </job-scriptfiles>
            <job-action>
              <log>
                'Started sub-job %s on %s' % (STAXSubJobID,STAF_LOCAL_HOSTNAME)
                'Started test group %s, child ID %s, parent ID %s on %s' % (group.getName(),STAXSubJobID,STAXParentID,STAF_LOCAL_HOSTNAME)
              </log>
            </job-action>
          </job>
@@ -104,16 +101,16 @@
          <if expr="RC == 0">
            <sequence>
              <message>
                'Sub-job %s completed. Result: %s' % (STAXSubJobID, STAXResult)
                'Completed test group %s, child ID %s. Result: %s' % (group.getName(),STAXSubJobID, STAXResult)
              </message>
              <script>
                noOfChildren=noOfChildren+1
                listOfChildren.append(STAXSubJobID)
              </script>
            </sequence>
            <else>
              <sequence>
                <message log="1" level="'Error'">
                  'Sub-job %s could not be started. RC: %s Result: %s' % (STAXSubJobID,RC,STAFResult)
                  'Test group %s, child ID %s could not be started. RC: %s Result: %s' % (group.getName(),STAXSubJobID,RC,STAFResult)
                </message>
              </sequence>
            </else>
@@ -319,7 +316,7 @@
        testlog.close()
      </script>
      
      <return>noOfChildren</return>
      <return>listOfChildren</return>
    </sequence>
  </function>
opends/tests/functional-tests/testcases/runTestJob.xml
@@ -84,7 +84,7 @@
        <job-file>'%s/testcases/runFuncTests.xml' % TESTS_DIR</job-file>
        <job-scriptfiles machine="STAF_LOCAL_HOSTNAME"> STAXJobScriptFiles </job-scriptfiles>
        <job-action>
          <log>'Started sub-job %s on %s' % (STAXSubJobID,STAF_REMOTE_HOSTNAME)</log>
          <log>'Started sub-job %s on %s, %s' % (STAXSubJobID,STAF_REMOTE_HOSTNAME,ServerOsString )</log>
        </job-action>
      </job>
      
@@ -95,8 +95,7 @@
          </message>
          <script>
            noOfChildren=int(STAXResult)
            firstChild=int(STAXSubJobID)+1
            listOfChildren=STAXResult
          </script>
        </sequence>
        <else>
@@ -211,46 +210,6 @@
      </script>
      
      <message>'Server= %s' % ServerInfoDict </message>
      <script>
        thisChild=firstChild
        resultQuery=[]
      </script>
      <loop from="1" to="noOfChildren">
        <sequence>
          <stafcmd name="'STAF Command: Log Query All'">
            <location>'%s' % STAF_LOCAL_HOSTNAME </location>
            <service>'log'</service>
            <request>
              'QUERY ALL MACHINE %s LOGNAME STAX_Job_%s' % (STAXServiceMachine,thisChild)
            </request>
          </stafcmd>
          <if expr="RC == 0">
            <sequence>
              <script>
                resultQuery.extend(STAFResult)
              </script>
              <message>
                'Log Query on STAX_Job_%s Completed. RC=%s' % (thisChild,RC)
              </message>
            </sequence>
            <else>
              <sequence>
                <message log="1" level="'Error'">
                  'Unable to perform log query on STAX_Job_%s. RC: %s Result: %s' % (thisChild,RC,STAFResult)
                </message>
                <return>1</return>
              </sequence>
            </else>
          </if>
          <script>
            thisChild=thisChild+1
          </script>
        </sequence>
      </loop>
      <!-- TODO: Print this for now to see result of result query map -->
      <message>'Result Query Map = %s' % resultQuery</message>
      <!-- Get the location of where the test logs are -->
      <call function="'GetVar'">
@@ -286,12 +245,30 @@
          'foldername' : logsReportDir }
      </call>
     
      <!-- Write Text File for results -->
      <script>
        resultQuery=[]
          textfile= '%s/results.txt' % logsReportDir
          txtfh=open(textfile,'w')
      </script>
      
      <iterate var="thisChild" in="listOfChildren">
        <sequence>
          <stafcmd name="'STAF Command: Log Query All'">
            <location>'%s' % STAF_LOCAL_HOSTNAME </location>
            <service>'log'</service>
            <request>
              'QUERY ALL MACHINE %s LOGNAME STAX_Job_%s' % (STAXServiceMachine,thisChild)
            </request>
          </stafcmd>
          <if expr="RC == 0">
            <sequence>
              <script>
                resultQuery=STAFResult
              </script>
              <message>
                'Log Query on STAX_Job_%s Completed. RC=%s' % (thisChild,RC)
              </message>
      <iterate var="line" in="resultQuery">
        
        <script>
@@ -299,15 +276,24 @@
        </script>
      
      </iterate> 
            </sequence>
            <else>
              <sequence>
                <message log="1" level="'Error'">
                  'Unable to perform log query on STAX_Job_%s. RC: %s Result: %s' % (thisChild,RC,STAFResult)
                </message>
                <return>1</return>
              </sequence>
            </else>
          </if>
        </sequence>
      </iterate>
      
      <script> 
        txtfh.close() 
      </script>
      
      <message>
        'TEXT Report Written to %s.' % textfile
      </message>
      <!-- Write XML File for results -->
      <script>
        import re
@@ -321,10 +307,13 @@
      <script>
        testDict={}
        testCaseList=[]
      </script>
        try:
          txtfh=open(textfile,'r')
      
      <iterate var="element" in="resultQuery">
        <script>
          try:
            for line in txtfh.readlines():
              element=eval(line)
          level=element['level']
          message=element['message']
          timestamp=element['timestamp']
@@ -405,8 +394,12 @@
          else:
            errorfh.write('Error: Unknown element %s.\n' % element)
          
          finally:
            txtfh.close()
        except IOError:
          errorfh.write('Error: Unable to open %s. Reason IOError.' % textfile )
        </script>
      </iterate>
      <!-- XML Report Pre -->
      <script>