Exemplo n.º 1
0
 def on_finish_test_case(self, test_item):
     if test_item.result:
         try:
             result = canon.serialize(test_item.result[0])
         except Exception as e:
             yatest_logger.exception("Error while serializing test results")
             test_item.set_error("Invalid test result: {}".format(e))
             test_item.set_status("fail")
             result = None
     else:
         result = None
     message = {
         'class': yatest_lib.tools.to_utf8(test_item.class_name),
         'subtest': yatest_lib.tools.to_utf8(test_item.test_name),
         'status': test_item.status,
         'comment': self._get_comment(test_item),
         'time': test_item.duration,
         'result': result,
         'metrics': pytest.config.test_metrics.get(test_item.nodeid),
         'is_diff_test': 'diff_test' in test_item.keywords,
         'tags': _get_item_tags(test_item),
     }
     if test_item.nodeid in pytest.config.test_logs:
         message['logs'] = pytest.config.test_logs[test_item.nodeid]
     self.trace('subtest-finished', message)
Exemplo n.º 2
0
 def on_finish_test_case(self, test_item):
     if test_item.result:
         try:
             result = canon.serialize(test_item.result[0])
         except Exception as e:
             yatest_logger.exception("Error while serializing test results")
             test_item.set_error("Invalid test result: {}".format(e))
             test_item.set_status("fail")
             result = None
     else:
         result = None
     message = {
         'class': yatest_lib.tools.to_utf8(test_item.class_name),
         'subtest': yatest_lib.tools.to_utf8(test_item.test_name),
         'status': test_item.status,
         'comment': self._get_comment(test_item),
         'time': test_item.duration,
         'result': result,
         'metrics': pytest.config.test_metrics.get(test_item.nodeid),
         'is_diff_test': 'diff_test' in test_item.keywords,
         'tags': _get_item_tags(test_item),
     }
     if test_item.nodeid in pytest.config.test_logs:
         message['logs'] = pytest.config.test_logs[test_item.nodeid]
     self.trace('subtest-finished', message)
Exemplo n.º 3
0
    def on_finish_test_case(self, test_item, duration_only=False):
        if test_item.result is not None:
            try:
                result = canon.serialize(test_item.result)
            except Exception as e:
                yatest_logger.exception("Error while serializing test results")
                test_item.set_error("Invalid test result: {}".format(e))
                test_item.set_status("fail")
                result = None
        else:
            result = None

        if duration_only and test_item.nodeid in self._test_messages:  # add teardown time
            message = self._test_messages[test_item.nodeid]
        else:
            comment = self._test_messages[test_item.nodeid]['comment'] if test_item.nodeid in self._test_messages else ''
            comment += self._get_comment(test_item)
            message = {
                'class': yatest_lib.tools.to_utf8(test_item.class_name),
                'subtest': yatest_lib.tools.to_utf8(test_item.test_name),
                'status': test_item.status,
                'comment': comment,
                'result': result,
                'metrics': pytest.config.test_metrics.get(test_item.nodeid),
                'is_diff_test': 'diff_test' in test_item.keywords,
                'tags': _get_item_tags(test_item),
            }
            if test_item.nodeid in pytest.config.test_logs:
                message['logs'] = pytest.config.test_logs[test_item.nodeid]

        message['time'] = self._test_duration.get(test_item.nodeid, test_item.duration)

        self.trace('subtest-finished', message)
        self._test_messages[test_item.nodeid] = message
Exemplo n.º 4
0
def test_serialize(data, expected_val, expected_type):
    data = external.serialize(data)
    assert expected_type == type(data), data
    assert expected_val == data