def set_up(self):
        UseCaseBase.set_up(self)

        if self.__setup_script is not None:
            result, full_path = self.__get_script_path(self.__setup_script)
            if result == Global.FAILURE:
                return Global.FAILURE, "Cannot find %s" % self.__setup_script
            self.__setup_script = full_path

        result, full_path = self.__get_script_path(self.__run_script)
        if result == Global.FAILURE:
            return Global.FAILURE, "Cannot find %s" % self.__run_script
        self.__run_script = full_path

        if self.__teardown_script is not None:
            result, full_path = self.__get_script_path(self.__teardown_script)
            if result == Global.FAILURE:
                return Global.FAILURE, "Cannot find %s" % self.__teardown_script
            self.__teardown_script = full_path

        if self.__finalize_script is not None:
            result, full_path = self.__get_script_path(self.__finalize_script)
            if result == Global.FAILURE:
                return Global.FAILURE, "Cannot find %s" % self.__finalize_script
            self.__finalize_script = full_path

        verdict = Global.SUCCESS
        message = "Success"
        if self.__setup_script is not None:
            verdict, message = self.__exec_script(self.__setup_script)

        return verdict, message
Esempio n. 2
0
    def __init__(self, tc_conf, global_config):
        """
        Constructor
        """
        UseCaseBase.__init__(self, tc_conf, global_config)

        # Get TC Parameters
        self._step = self._tc_parameters.get_param_value("STEP", "RUNTEST")
        self._return_code = self._tc_parameters.get_param_value(
            "RETURN_CODE", Verdict.PASS)
        # Update return code for retro-compatibility
        self._return_code = self._return_code.replace("SUCCESS", Verdict.PASS)
        self._return_code = self._return_code.replace("FAILURE", Verdict.FAIL)

        self._comment = self._tc_parameters.get_param_value(
            "COMMENT", "No Comment")
        self._duration = int(self._tc_parameters.get_param_value(
            "DURATION", 0))
        self._init_exception = self._tc_parameters.get_param_value(
            "INIT_EXCEPTION", False, "str_to_bool")

        if self._init_exception is True:
            raise AcsConfigException(
                AcsConfigException.PROHIBITIVE_BEHAVIOR,
                "Exception raised according to TC param 'INIT_EXCEPTION'")

        # Clear existing queue to avoid unexpected behavior
        if not Dummy.returns_code.empty():
            with Dummy.returns_code.mutex:
                Dummy.returns_code.queue.clear()

        if not Dummy.steps.empty():
            with Dummy.steps.mutex:
                Dummy.steps.queue.clear()

        # Fill the FIFO queue taking into account the b2b iteration number
        for _i in range(self.get_b2b_iteration()):
            for code in self._return_code.split(";"):
                if code.strip() == "RANDOM":
                    code = random.choice(Verdict2Global.map.keys())
                Dummy.returns_code.put(code.strip())

            for step in self._step.split(";"):
                if step.strip() == "RANDOM":
                    step = random.choice(["SETUP", "RUNTEST", "TEARDOWN"])
                Dummy.steps.put(step.strip())

        # Get return code and step only if queue is not empty.
        # By default verdict = PASS, step = RUNTEST
        self._current_verdict = Verdict.PASS
        self._current_step = "RUNTEST"

        if not Dummy.returns_code.empty():
            self._current_verdict = Dummy.returns_code.get()

        if not Dummy.steps.empty():
            self._current_step = Dummy.steps.get()
    def finalize(self):
        UseCaseBase.finalize(self)

        verdict = Global.SUCCESS
        message = "Success"
        if self.__finalize_script is not None:
            verdict, message = self.__exec_script(self.__finalize_script)

        return verdict, message
    def tear_down(self):
        UseCaseBase.tear_down(self)

        verdict = Global.SUCCESS
        message = "Success"
        if self.__teardown_script is not None:
            verdict, message = self.__exec_script(self.__teardown_script)

        return verdict, message
    def __init__(self, tc_name, global_config):
        """
        Constructor
        """
        UseCaseBase.__init__(self, tc_name, global_config)

        self._global_config = global_config
        self._run_from_tc_directory = self._tc_parameters.get_param_value("RUN_FROM_TCDIRECTORY", default_value="False",
                                                                          default_cast_type="str_to_bool")
    def run_test(self):
        UseCaseBase.run_test(self)

        if self.__run_script is not None:
            verdict, message = self.__exec_script(self.__run_script)
        else:
            verdict = Global.FAILURE
            message = "No script to run !"

        return verdict, message
Esempio n. 7
0
    def tear_down(self):
        """
        Execute the test
        """

        UseCaseBase.tear_down(self)
        time.sleep(self._duration)

        verdict = self.__get_step_verdict("TEARDOWN")
        return_code = Verdict2Global.map[verdict]

        comment = "(TEARDOWN) " + self._comment
        return return_code, comment
Esempio n. 8
0
    def run_test(self):
        """
        Execute the test
        """

        UseCaseBase.run_test(self)
        time.sleep(self._duration)

        verdict = self.__get_step_verdict("RUNTEST")
        return_code = Verdict2Global.map[verdict]

        comment = "(RUNTEST) " + self._comment
        return return_code, comment
Esempio n. 9
0
    def set_up(self):
        """
        Execute the test
        """

        UseCaseBase.set_up(self)
        time.sleep(self._duration)

        verdict = self.__get_step_verdict("SETUP")
        return_code = Verdict2Global.map[verdict]

        comment = "(SETUP) " + self._comment
        return return_code, comment
    def __init__(self, tc_name, global_config):
        """
        Constructor
        """
        UseCaseBase.__init__(self, tc_name, global_config)

        self.__setup_script = self._tc_parameters.get_param_value("SETUP_SCRIPT_PATH")
        self.__run_script = self._tc_parameters.get_param_value("SCRIPT_PATH")
        self.__teardown_script = self._tc_parameters.get_param_value("TEAR_DOWN_SCRIPT_PATH")
        self.__finalize_script = self._tc_parameters.get_param_value("FINALIZE_SCRIPT_PATH")

        self.__verdict = None
        self.__message = None

        self.__tc_report = SecondaryTestReport(self._device.get_report_tree().get_report_path())
    def initialize(self):
        """
        Process the **<Initialize>** section of the XML file and execute defined test steps.
        """
        UseCaseBase.initialize(self)
        verdict, msg = Global.SUCCESS, ""

        # Export all ACS Global parameters as an JSON object into ACS_GLOBAL_PARAMETERS
        # environment variable so that user can access them from inside the
        # script that is being executed
        device_cfg_dict = self._global_conf.benchConfig.get_dict()
        dc_l = len(self._global_conf.deviceConfig)
        for x in range(1, dc_l + 1):
            device_cfg_dict['PHONE%s' % x] = self._global_conf.deviceConfig['PHONE%s' % x]
        device_cfg_dict['PHONE1']['serialNumber'] = self._device.retrieve_serial_number()
        os.environ['ACS_GLOBAL_PARAMETERS'] = json.dumps(device_cfg_dict)

        return verdict, msg
Esempio n. 12
0
 def __init__(self, tc_conf, global_config):
     """
     Constructor
     """
     UCBase.__init__(self, tc_conf, global_config)
Esempio n. 13
0
 def tear_down(self):
     UseCaseBase.tear_down(self)
     return self.__run_cmds("TEAR_DOWN_CMD", "TEAR_DOWN_TIMEOUT",
                            "TEAR_DOWN_EXPECT_RESULT")
Esempio n. 14
0
 def run_test(self):
     UseCaseBase.run_test(self)
     return self.__run_cmds("RUN_CMD", "RUN_TIMEOUT", "RUN_EXPECT_RESULT")
Esempio n. 15
0
 def set_up(self):
     UseCaseBase.set_up(self)
     return self.__run_cmds("SETUP_CMD", "SETUP_TIMEOUT",
                            "SETUP_EXPECT_RESULT")