def __init__(self, data): super().__init__(data) try: line = json.loads(data) except ValueError: raise testprocess.InvalidLine(data) if not isinstance(line, dict): raise testprocess.InvalidLine(data) self.timestamp = datetime.datetime.fromtimestamp(line['created']) self.loglevel = line['levelno'] self.levelname = line['levelname'] self.category = line['name'] self.module = line['module'] self.function = line['funcName'] self.line = line['lineno'] if self.function is None and self.line == 0: self.line = None self.traceback = line.get('traceback') self.full_message = line['message'] msg_match = re.match(r'^(\[(?P<prefix>\d+s ago)\] )?(?P<message>.*)', self.full_message, re.DOTALL) self.prefix = msg_match.group('prefix') self.message = msg_match.group('message') self.expected = is_ignored_qt_message(self.message) self.use_color = False
def __init__(self, pytestconfig, data): super().__init__(data) try: line = json.loads(data) except ValueError: raise testprocess.InvalidLine(data) if not isinstance(line, dict): raise testprocess.InvalidLine(data) self.timestamp = datetime.datetime.fromtimestamp(line['created']) self.msecs = line['msecs'] self.loglevel = line['levelno'] self.levelname = line['levelname'] self.category = line['name'] self.module = line['module'] self.function = line['funcName'] self.line = line['lineno'] if self.function is None and self.line == 0: self.line = None self.traceback = line.get('traceback') self.message = line['message'] self.expected = is_ignored_qt_message(pytestconfig, self.message) self.use_color = False
def __init__(self, data): super().__init__(data) try: parsed = json.loads(data) except ValueError: raise testprocess.InvalidLine(data) assert isinstance(parsed, dict) assert set(parsed.keys()) == {'path', 'verb', 'status'} self.verb = parsed['verb'] path = parsed['path'] self.path = '/' if path == '/' else path.rstrip('/') self.status = parsed['status'] self._check_status()