Esempio n. 1
0
 def __init__(self, info=None, result_obj=None, results=None, status=None):
     iteration_info = IterationInfo()
     iteration_info.load_from_dict(info)
     iteration_status = Status()
     iteration_status.load_from_dict(status)
     super(Iteration, self).__init__(iteration_info, iteration_status, result_obj)
     self._data = results
def reset_stm_test_result(test_result):
    """ reset root result data and delete all children
    STmTestResult is root result object.
    """
    logger.debug('Reset StmTestResult object')
    iteration_result = test_result.GetObject('StmIteratorResult')
    if iteration_result is not None:
        iteration_result.MarkDelete()
    test_result.Set(Info.get_stc_property_name(), "")
    test_result.Set(Status.get_stc_property_name(), "")
    test_result.SetCollection(get_stc_json_collection_name(), [])
Esempio n. 3
0
    def generate_report(self):
        result_utils.summarize_status(self)
        parent_itr_info = iterator_utils.get_parent_active_info(self._stc_result_object)
        self._info.set_data_format(self._info, EnumDataFormat.group)
        self._info.set_data_class(self._info, EnumDataClass.iteration_report)
        report = self._info.run_time_data
        if parent_itr_info and len(parent_itr_info) > 0:
            report[self._info.dict_name]['parent_iteration_info'] = parent_itr_info
        report[self._status.dict_name] = self._status.run_time_data
        report[ResultBase.get_data_dict_name()] = \
            result_utils.group_data_using_report_group(self._data)

        report_name = self.get_report_file_name(parent_itr_info)
        # add report name to info
        report[self._info.dict_name]['resultFile'] = report_name
        result_utils.generate_report_file(report_name, report)
        # return status
        status = {}
        status[Status.get_verdict_dict_name()] = self._status.verdict
        status[Status.get_verdict_text_dict_name()] = self._status._verdict_text
        status[IterationInfo.get_result_file_dict_name()] = report_name
        return status
Esempio n. 4
0
def summarize_status(obj):
    verdict = EnumVerdict.none
    verdict_text = ResultConst.NONE
    for result in obj._data:
        if Status.get_dict_name() in result:
            if Status.get_apply_verdict_dict_name() in result[Status.get_dict_name()]:
                if result[Status.get_dict_name()][Status.get_apply_verdict_dict_name()] is False:
                    continue
        new_verdict = result[Status.get_dict_name()][Status.get_verdict_dict_name()]
        if EnumVerdict.do_override_verdict(verdict, new_verdict):
            verdict = new_verdict
            verdict_text = \
                result[Status.get_dict_name()][Status.get_verdict_text_dict_name()]

    obj._status.verdict = verdict
    if verdict == EnumVerdict.passed:
        obj._status.verdict_text = ResultConst.TEST_PASS_VERDICT_TEXT
    else:
        obj._status.verdict_text = verdict_text
Esempio n. 5
0
 def save_active_iteration_data(self):
     """Convert from Active iteration data to Iteration data
     """
     logger.info('Save active iteration data.')
     child_data = self.get_from_stc_as_dict(self.stc_property_child_iterator_data)
     if child_data:
         self._active_iteration_info.set_data_format(self._active_iteration_info,
                                                     EnumDataFormat.group)
         result = self._active_iteration_info.run_time_data
         result[self.get_data_dict_name()] = result_utils.wrap_data_as_single_group(child_data)
     else:
         result = self._active_iteration_info.run_time_data
     result[Status.get_dict_name()] = self._active_iteration_status.run_time_data
     self.append_stc_object_collection(
         self.stc_property_completed_data,
         json.dumps(result, separators=(',', ':'), sort_keys=False))
     logger.debug('Save active iteration data completed.')