| opends/tests/system-tests/phases/configuration/configuration_opends.xml | ●●●●● patch | view | raw | blame | history | |
| opends/tests/system-tests/phases/main_run.xml | ●●●●● patch | view | raw | blame | history | |
| opends/tests/system-tests/phases/main_run_lib.xml | ●●●●● patch | view | raw | blame | history | |
| opends/tests/system-tests/phases/parser/parser.py | ●●●●● patch | view | raw | blame | history | |
| opends/tests/system-tests/phases/parser/parser.xml | ●●●●● patch | view | raw | blame | history | |
| opends/tests/system-tests/scenario/conf.dtd | ●●●●● patch | view | raw | blame | history |
opends/tests/system-tests/phases/configuration/configuration_opends.xml
@@ -1001,7 +1001,7 @@ <call function="'copyFile'"> { 'srcFile' : scenario.getJdmkrtPath(), 'srcFile' : externalTools.getJdmkrtPath(), 'destFile' : jdmkrt, 'location' : STAXServiceMachine, 'remoteHost' : instance.getHost(), opends/tests/system-tests/phases/main_run.xml
@@ -192,12 +192,13 @@ file="'%s/phases/parser/parser.xml' % (TESTS_DIR)"/> <call function="'parser'">configurationFile</call> <script> result = STAXResult msg = result[0] instances = result[1] suffix = result[2] scheduler = result[3] scenario = result[4] result = STAXResult msg = result[0] instances = result[1] suffix = result[2] scheduler = result[3] scenario = result[4] externalTools = result[5] PHASE_PARSER.setRun('true') PHASE_PARSER.setErrNum(ERR_NUM[0]) ERR_NUM_TOTAL = ERR_NUM_TOTAL + ERR_NUM[0] opends/tests/system-tests/phases/main_run_lib.xml
@@ -350,16 +350,20 @@ <!-- Set path to clients --> <!-- set local client by default if exist in the scenario --> <!-- else get the shared client if exist --> <call function="'getEnabledClients'">{'scheduler':scheduler}</call> <script>clients = STAXResult </script> <if expr="len(clients) > 0"> <paralleliterate in="clients" var="client"> <sequence> <call function="'clientSetPath'"> { 'client' : client } </call> </sequence> </paralleliterate> <if expr="runScheduler == 'true'"> <sequence> <call function="'getEnabledClients'">{'scheduler':scheduler}</call> <script>clients = STAXResult </script> <if expr="len(clients) > 0"> <paralleliterate in="clients" var="client"> <sequence> <call function="'clientSetPath'"> { 'client' : client } </call> </sequence> </paralleliterate> </if> </sequence> </if> opends/tests/system-tests/phases/parser/parser.py
@@ -100,6 +100,35 @@ return self.percentage # # Class for external tools # ########################### class ExtTools: "Describes all the external tools needed" def __init__(self): self.jdmkrtPath = NOT_DEFINED self.jcommonPath = NOT_DEFINED self.jfreechartPath = NOT_DEFINED def getJdmkrtPath(self): return self.jdmkrtPath def setJdmkrtPath(self,jdmkrtPath): self.jdmkrtPath = jdmkrtPath def getJcommonPath(self): return self.jcommonPath def setJcommonPath(self,jcommonPath): self.jcommonPath = jcommonPath def getJfreechartPath(self): return self.jfreechartPath def setJfreechartPath(self,jfreechartPath): self.jfreechartPath = jfreechartPath # # Class for suffix @@ -635,9 +664,10 @@ result = parseGlobalParameters(thisChild) msg = '%s \n %s' % (msg,result[0]) scenario = result[1] opendsZip = result[2] domain = result[3] scenario = result[1] opendsZip = result[2] domain = result[3] externalTools = result[4] # # Parsing instance node @@ -725,7 +755,8 @@ if cInstance.getName() == cSuffixInstance.getName(): cSuffixInstance.setInstanceRef(cInstance) return [msg,instances,suffix,phases,scenario,domain] return [msg,instances,suffix,phases,scenario,externalTools,domain] # end of main function @@ -1290,9 +1321,7 @@ scenario = NOT_DEFINED opendsZip = NOT_DEFINED domain = NOT_DEFINED cJdmkrtPath = NOT_DEFINED cJcommonPath = NOT_DEFINED cJfreeChartPath = NOT_DEFINED externalTools = ExtTools() # # Parsing second level @@ -1320,16 +1349,10 @@ msg = '%s\n%s' % (msg,cResult[0]) elif (thisSubChild.getNodeType() == Node.ELEMENT_NODE and thisSubChild.getNodeName() == 'jdmkrt'): cJdmkrtPath = _getPropValue(thisSubChild) elif (thisSubChild.getNodeType() == Node.ELEMENT_NODE and thisSubChild.getNodeName() == 'jfreechart'): cJfreeChartPath = _getPropValue(thisSubChild) elif (thisSubChild.getNodeType() == Node.ELEMENT_NODE and thisSubChild.getNodeName() == 'jcommon'): cJcommonPath = _getPropValue(thisSubChild) thisSubChild.getNodeName() == 'externalTools'): cResult = parseExternalTools(thisSubChild) externalTools = cResult[1] msg = '%s\n%s' % (msg,cResult[0]) # must be at the end of the if case elif (thisSubChild.getNodeType() == Node.TEXT_NODE or @@ -1349,16 +1372,9 @@ if (opendsZip == NOT_DEFINED): msg = '%s\n ERROR: parseGlobalParameters() : opendsZip not defined' % (msg) if (cJdmkrtPath != NOT_DEFINED): scenario.setJdmkrtPath(cJdmkrtPath) if (cJfreeChartPath != NOT_DEFINED): scenario.setJfreechartPath(cJfreeChartPath) if (cJcommonPath != NOT_DEFINED): scenario.setJcommonPath(cJcommonPath) return [msg,scenario,opendsZip,domain] return [msg,scenario,opendsZip,domain,externalTools] @@ -1367,11 +1383,11 @@ # Parse global parameters node # def parseScenario(thisChild): preMsg = 'ERROR: parseGlobalParameters():' preMsg = 'ERROR: parseScenario():' msg = '' result = [] name = NOT_DEFINED description = NOT_DEFINED cJdmkrtPath = NOT_DEFINED cJcommonPath = NOT_DEFINED cJfreeChartPath = NOT_DEFINED # # Parsing second level @@ -1399,8 +1415,8 @@ # text node information,skip, no need continue else: msg = '%s\n ERROR: parseGlobalParameters(): unknown node named %s' % \ (msg, thisSubChild.getNodeName()) msg = '%s\n %s: unknown node named %s' % \ (msg, preMsg, thisSubChild.getNodeName()) # # no subchildren for globalParameters node @@ -1417,4 +1433,63 @@ return [msg,Scenario(name,description)] #============================================================================ # # Parse global parameters node # def parseExternalTools(thisChild): preMsg = 'ERROR: parseExternalTools():' msg = '' cJdmkrtPath = NOT_DEFINED cJcommonPath = NOT_DEFINED cJfreeChartPath = NOT_DEFINED cExtTools = ExtTools() # # Parsing second level # if thisChild.hasChildNodes(): subChildren = thisChild.getChildNodes() for j in range(subChildren.getLength()): thisSubChild = subChildren.item(j) if (thisSubChild.getNodeType() == Node.ELEMENT_NODE and thisSubChild.getNodeName() == 'jdmkrt'): cJdmkrtPath = _getPropValue(thisSubChild) elif (thisSubChild.getNodeType() == Node.ELEMENT_NODE and thisSubChild.getNodeName() == 'jfreechart'): cJfreeChartPath = _getPropValue(thisSubChild) elif (thisSubChild.getNodeType() == Node.ELEMENT_NODE and thisSubChild.getNodeName() == 'jcommon'): cJcommonPath = _getPropValue(thisSubChild) # must be at the end of the if case elif (thisSubChild.getNodeType() == Node.TEXT_NODE or thisSubChild.getNodeType() == Node.COMMENT_NODE): # text node information,skip, no need continue else: msg = '%s\n %s: unknown node named %s' % \ (msg, preMsg, thisSubChild.getNodeName()) # # no subchildren for globalParameters node # else: msg = '%s\n %s no child for this node' % (preMsg,msg) if (cJdmkrtPath != NOT_DEFINED): cExtTools.setJdmkrtPath(cJdmkrtPath) if (cJfreeChartPath != NOT_DEFINED): cExtTools.setJfreechartPath(cJfreeChartPath) if (cJcommonPath != NOT_DEFINED): cExtTools.setJcommonPath(cJcommonPath) return [msg,cExtTools] opends/tests/system-tests/phases/parser/parser.xml
@@ -56,17 +56,17 @@ sys.path.append("%s/phases/parser" % TESTS_DIR ) from parser import * parserResult = main(STAXResult) msg = parserResult[0] instances = parserResult[1] suffix = parserResult[2] scheduler = parserResult[3] scenario = parserResult[4] if (parserResult[5] != NOT_DEFINED): DOMAIN[0] = '.%s' % parserResult[5] parserResult = main(STAXResult) msg = parserResult[0] instances = parserResult[1] suffix = parserResult[2] scheduler = parserResult[3] scenario = parserResult[4] externalTools = parserResult[5] if (parserResult[6] != NOT_DEFINED): DOMAIN[0] = '.%s' % parserResult[6] </script> <!--=================================================================--> <!--======== Set some attributes to add in instance objects ======--> <paralleliterate in="instances" var="instance"> @@ -140,7 +140,7 @@ </script> <!-- Check jdmk dependcy if snmp is enabled --> <if expr="instance.getSNMPPort() != NOT_DEFINED and scenario.getJdmkrtPath() == NOT_DEFINED"> and externalTools.getJdmkrtPath() == NOT_DEFINED"> <sequence> <message> 'ERROR, jdmkrt path not defined, needed for instance %s' % \ @@ -174,15 +174,15 @@ <script> merr = '' if client.getName() == 'monitoring': if scenario.getJdmkrtPath() == NOT_DEFINED: if externalTools.getJdmkrtPath() == NOT_DEFINED: merr = '%s\nERROR, jdmkrt path not defined,' % merr merr = '%s needed for monitoring client' % merr ERR_NUM[0] += 1 if scenario.getJcommonPath() == NOT_DEFINED: if externalTools.getJcommonPath() == NOT_DEFINED: merr = '%s\nERROR, jcommon path not defined,' % merr merr = '%s needed for monitoring client' % merr ERR_NUM[0] += 1 if scenario.getJfreechartPath() == NOT_DEFINED: if externalTools.getJfreechartPath() == NOT_DEFINED: merr = '%s\nERROR, jfreechart path not defined,' % merr merr = '%s needed for monitoring client' % merr ERR_NUM[0] += 1 @@ -202,7 +202,75 @@ <!--=================================================================--> <!--======== Basic configuration checks ======--> <!--======== Basic checks for extTools object ======--> <!-- check jdmk jar file exists --> <if expr="externalTools.getJdmkrtPath() != NOT_DEFINED"> <sequence> <call function="'isFile'"> { 'location' : STAXServiceMachine, 'fileName' : externalTools.getJdmkrtPath() } </call> <script> fileExist = STAXResult </script> <if expr="fileExist == FALSE"> <script> msg = '%s\nERROR : canf find file %s' % \ (msg,externalTools.getJdmkrtPath()) </script> </if> </sequence> </if> <!-- check jcommon jar file exists --> <if expr="externalTools.getJcommonPath() != NOT_DEFINED"> <sequence> <call function="'isFile'"> { 'location' : STAXServiceMachine, 'fileName' : externalTools.getJcommonPath() } </call> <script> fileExist = STAXResult </script> <if expr="fileExist == FALSE"> <script> msg = '%s\nERROR : canf find file %s' % \ (msg,externalTools.getJcommonPath()) </script> </if> </sequence> </if> <!-- check jfreechart jar file exists --> <if expr="externalTools.getJfreechartPath() != NOT_DEFINED"> <sequence> <call function="'isFile'"> { 'location' : STAXServiceMachine, 'fileName' : externalTools.getJfreechartPath() } </call> <script> fileExist = STAXResult </script> <if expr="fileExist == FALSE"> <script> msg = '%s\nERROR : canf find file %s' % \ (msg,externalTools.getJfreechartPath()) </script> </if> </sequence> </if> <!--=================================================================--> <!--======== Basic configuration checks ======--> <!-- replace localhost by real host name --> <script> opends/tests/system-tests/scenario/conf.dtd
@@ -29,8 +29,7 @@ <!-- ========== GLOBAL PARAMETERS NODE ========================= --> <!ELEMENT globalParameters (scenario,opendsZip,directoryManagerDn?, directoryManagerPswd?,domain?, jdmkrt?,jfreechart?,jcommon?)> directoryManagerPswd?,domain?,externalTools?)> <!ELEMENT scenario (name,description)> <!ELEMENT name (#PCDATA)> <!ELEMENT description (#PCDATA)> @@ -38,9 +37,10 @@ <!ELEMENT directoryManagerDn (#PCDATA)> <!ELEMENT directoryManagerPswd (#PCDATA)> <!ELEMENT domain (#PCDATA)> <!ELEMENT jdmkrt (#PCDATA)> <!ELEMENT jfreechart (#PCDATA)> <!ELEMENT jcommon (#PCDATA)> <!ELEMENT externalTools (jdmkrt?,jfreechart?,jcommon?)> <!ELEMENT jdmkrt (#PCDATA)> <!ELEMENT jfreechart (#PCDATA)> <!ELEMENT jcommon (#PCDATA)> <!-- ========== INSTANCE NODE ========================= --> <!ELEMENT instance (host,installDir,ports?,security?,tuning?)>