def __init__(self, _strTestName=None):
        EDTestCasePluginExecute.__init__(self, _strTestName)
        self.setConfigurationFile(self.getRefConfigFile())
        edPluginMOSFLM = self.createPlugin()
        xsPluginItem = edPluginMOSFLM.getConfiguration()
        if xsPluginItem is None:
            xsPluginItem = EDApplication.getApplicationPluginConfiguration(self.getPluginName())
            if xsPluginItem is None:
                # No application wide configuration file found! Try to find a project specific config file:
                xsPluginItem = EDApplication.getProjectPluginConfiguration(self.getPluginName())

            if xsPluginItem is None:
                EDVerbose.DEBUG("EDPlugin.configure: No plugin configuration found for " + self.getPluginName())
                xsPluginItem = XSPluginItem()
            else:
                edPluginMOSFLM.setConfiguration(xsPluginItem)
        # edPluginMOSFLM.configure()
        strMOSFLMVersion = edPluginMOSFLM.getStringConfigurationParameterValue("execProcessScriptVersionString")
        if strMOSFLMVersion.find("7.0.1") != -1:
            strResultDir = "executionTestResult_v701_20070820"
        elif strMOSFLMVersion.find("7.0.5") != -1:
            strResultDir = "executionTestResult_v706_20090812"
        elif strMOSFLMVersion.find("7.0.6") != -1:
            strResultDir = "executionTestResult_v706_20100126"
        else:
            strResultDir = "executionTestResult_v707_20101220"
        strPluginTestDataHome = self.getPluginTestsDataHome()
        self.strExecutionTestDataInputHome = os.path.join(strPluginTestDataHome, "executionTestInput")
        self.strExecutionTestDataResultHome = os.path.join(strPluginTestDataHome, strResultDir)
    def configure(self):
        """
        
        Configuration step of the plugin: mainly extend the timeout by 5 seconds to let the plugin finish. 

        """
        self.DEBUG("EDPluginWaitFile.configure : %s" % self.getClassName())
        xsPluginItem = self.getConfiguration()
        if xsPluginItem is None:
            xsPluginItem = EDApplication.getApplicationPluginConfiguration(self.getPluginName())
            if (xsPluginItem is None):
                # No application wide configuration file found! Try to find a project specific config file:
                xsPluginItem = EDApplication.getProjectPluginConfiguration(self.getPluginName())

            if (xsPluginItem is None):
                self.DEBUG("EDPlugin.execute: No plugin configuration found for " + self.getPluginName())
                xsPluginItem = XSPluginItem()
            else:
                self.setConfiguration(xsPluginItem)
        # Try to get time out from plugin configuration
        iTimeOut = EDConfiguration.getIntegerParamValue(xsPluginItem, EDPlugin.CONF_TIME_OUT)
        if iTimeOut is not None:
            self.DEBUG("EDPlugin.configure: Setting time out to %d s from plugin configuration." % iTimeOut)
            self.__timeout = iTimeOut
            self.setTimeOut(iTimeOut + EDPluginWaitFile.EXTRA_TIME)
 def getPluginConfiguration(self, _strPluginName=None):
     # Load the configuration file if provided
     if _strPluginName == None:
         _strPluginName = self.getPluginName()
     if _strPluginName in self.__dictConfigurations :
         xsConfiguration = self.__dictConfigurations[_strPluginName]
     else:
         xsConfiguration = None
         if (self.__strConfigurationFile is not None):
             edConfigurationTest = EDConfiguration(self.__strConfigurationFile)
             edConfigurationTest.load()
             if (edConfigurationTest is not None):
                 xsConfiguration = edConfigurationTest.getPluginItem(_strPluginName)
         if xsConfiguration is None:
             xsConfiguration = EDApplication.getApplicationPluginConfiguration(_strPluginName)
         if xsConfiguration is None:
             # No application wide configuration file found! Try to find a project specific config file:
             xsConfiguration = EDApplication.getProjectPluginConfiguration(_strPluginName)
         if xsConfiguration is None:
             EDVerbose.WARNING("EDTestCasePlugin.getPluginConfiguration: xsConfiguration is still None after all guesses: Expect to fail soon")
         self.__dictConfigurations[_strPluginName] = xsConfiguration
     return xsConfiguration
Exemple #4
0
    def getStringConfigurationParameterValue(self, _strConfigurationParameterName):
        """
        This method returns a configuration parameter value if a corresponding configuration
        parameter name can be found in the configuration file.
        
        If an application wide configuration file is provided via EDApplication it will
        override the product configuration file.
        
        The configuration parameter is then searched in the configration file in following order:
          - If a plugin configuration item exists and the configration parameter name is present it will be used.
          - Otherwise if a product-wide (e.g. "mxPluginExec") configuration value exists it will be used.         
        """
        self.DEBUG("EDPlugin.getConfigurationParameterValue")
        strParameteValue = None
        xsPluginItem = self.getConfiguration()
        bFoundConfigurationParameter = False
        if xsPluginItem:
            strParameteValue = EDConfiguration.getParamItem(xsPluginItem, _strConfigurationParameterName).getValue()
            if strParameteValue:
                bFoundConfigurationParameter = True

        if not bFoundConfigurationParameter:
            xsPluginItem = EDApplication.getApplicationPluginConfiguration(self.getPluginName())
            if xsPluginItem:
                strParameteValue = EDConfiguration.getParamItem(xsPluginItem, _strConfigurationParameterName).getValue()
                if strParameteValue:
                    bFoundConfigurationParameter = True

        if not bFoundConfigurationParameter:
            xsPluginItem = EDApplication.getProjectPluginConfiguration(self.getPluginName())
            if xsPluginItem:
                strParameteValue = EDConfiguration.getParamItem(xsPluginItem, _strConfigurationParameterName).getValue()
                if strParameteValue:
                    bFoundConfigurationParameter = True

        return strParameteValue
Exemple #5
0
    def configure(self):
        """
        Should be overridden by the Final Plugin If needed
        This method should set its proper members attributes from a Plugin configuration Object
        """
        self.DEBUG("EDPlugin.configure : %s" % self.getClassName())
        xsPluginItem = self.getConfiguration()

        if xsPluginItem is None:
            xsPluginItem = EDApplication.getApplicationPluginConfiguration(self.getPluginName())
            if (xsPluginItem is None):
                # No application wide configuration file found! Try to find a project specific config file:
                xsPluginItem = EDApplication.getProjectPluginConfiguration(self.getPluginName())

            if (xsPluginItem is None):
                self.DEBUG("EDPlugin.configure: No plugin configuration found for " + self.getPluginName())
                xsPluginItem = XSPluginItem()
            else:
                self.setConfiguration(xsPluginItem)

        # set Timeout if different from default one
        if self.getTimeOut() == self.getDefaultTimeOut():
            # Try to get time out from plugin configuration
            iTimeOut = EDConfiguration.getIntegerParamValue(xsPluginItem, EDPlugin.CONF_TIME_OUT)
            if iTimeOut is not None:
                self.DEBUG("EDPlugin.configure: Setting time out to %d s from plugin configuration." % iTimeOut)
                self.setTimeOut(iTimeOut)
        else:
            self.DEBUG("EDPlugin.configure: Working directory already set before plugin is configured.")
        # Base directory
        strBaseDirectory = self.getBaseDirectory()
        if (strBaseDirectory is None):
            # Try to get base directory from plugin configuration
            strBaseDirectory = EDConfiguration.getStringParamValue(xsPluginItem, EDPlugin.CONF_BASE_DIR_LABEL)
            if(strBaseDirectory is None):
                # Try to get working directory from environment variable
                strBaseDirectory = os.environ.get("EDNA_BASE_DIRECTORY")
                if (strBaseDirectory is None):
                    self.DEBUG("EDPlugin.configure: Using current base directory as working directory.")
                    strBaseDirectory = os.getcwd()
                else:
                    self.DEBUG("EDPlugin.configure: Setting base directory from $EDNA_WORKING_DIRECTORY.")
            else:
                if (strBaseDirectory == "."):
                    self.DEBUG("EDPlugin.configure: Using current base directory as working directory.")
                    strBaseDirectory = os.getcwd()
                else:
                    strBaseDirectory = os.path.abspath(strBaseDirectory)
                    self.DEBUG("EDPlugin.configure: Setting base directory from plugin configuration.")
            self.setBaseDirectory(strBaseDirectory)
        else:
            self.DEBUG("EDPlugin.configure: Base directory already set before plugin is configured.")
        # Working directory
        strWorkingDirectory = self.getWorkingDirectory()
        if (strWorkingDirectory is None):
            # Try to get working directory from plugin configuration
            strWorkingDirectory = EDConfiguration.getStringParamValue(xsPluginItem, EDPlugin.CONF_WORKING_DIR_LABEL)
            if(strWorkingDirectory is not None):
                self.DEBUG("EDPlugin.configure: Setting working directory from plugin configuration.")
            else:
                self.DEBUG("EDPlugin.configure: Setting working directory as base directory + base name.")
                strWorkingDirectory = os.path.join(self.getBaseDirectory(), self.getBaseName())
            self.setWorkingDirectory(strWorkingDirectory)
        else:
            self.DEBUG("EDPlugin.configure: Working directory already set before plugin is configured.")
        #
        strWriteXMLInputOutput = EDConfiguration.getStringParamValue(xsPluginItem, EDPlugin.CONF_WRITE_XML_INPUT_OUTPUT)
        if strWriteXMLInputOutput != None:
            if strWriteXMLInputOutput.lower().strip() in ["false", "0"]:
                self.__bWriteDataXMLInputOutput = False
            else:
                self.__bWriteDataXMLInputOutput = True

        strWriteXMLOutput = EDConfiguration.getStringParamValue(xsPluginItem, EDPlugin.CONF_WRITE_XML_OUTPUT)
        if strWriteXMLOutput != None:
            if strWriteXMLOutput.lower().strip()  in ["false", "0"]:
                self.__bWriteDataXMLOutput = False
            else:
                self.__bWriteDataXMLOutput = True
        strWriteXMLInput = EDConfiguration.getStringParamValue(xsPluginItem, EDPlugin.CONF_WRITE_XML_INPUT)
        if strWriteXMLInput != None:
            if strWriteXMLInput.lower().strip() in ["false", "0"]:
                self.__bWriteDataXMLInput = False
            else:
                self.__bWriteDataXMLInput = True