4
4
import sys
5
5
import traceback
6
6
import weakref
7
+ import datetime
7
8
8
9
import pytest
9
10
@@ -418,6 +419,8 @@ def pytest_addoption(parser):
418
419
419
420
parser .addoption ('--no-qt-log' , dest = 'qt_log' , action = 'store_false' ,
420
421
default = True )
422
+ parser .addoption ('--qt-log-format' , dest = 'qt_log_format' ,
423
+ default = '{rec.type_name}: {rec.message}' )
421
424
422
425
423
426
def pytest_configure (config ):
@@ -470,8 +473,9 @@ def pytest_runtest_makereport(self, item, call):
470
473
long_repr = getattr (report , 'longrepr' , None )
471
474
if hasattr (long_repr , 'addsection' ):
472
475
lines = []
473
- for r in item .qt_log_capture .records :
474
- lines .append ('{r.type_name}: {r.message}' .format (r = r ))
476
+ for rec in item .qt_log_capture .records :
477
+ log_format = self .config .getoption ('qt_log_format' )
478
+ lines .append (log_format .format (rec = rec ))
475
479
if lines :
476
480
long_repr .addsection ('Captured Qt messages' ,
477
481
'\n ' .join (lines ))
@@ -519,13 +523,15 @@ class Record(object):
519
523
:attr str log_type_name:
520
524
type name similar to the logging package, for example ``DEBUG``,
521
525
``WARNING``, etc.
526
+ :attr datetime.datetime when: when the message was sent
522
527
"""
523
528
524
529
def __init__ (self , msg_type , message ):
525
530
self ._type = msg_type
526
531
self ._message = message
527
532
self ._type_name = self ._get_msg_type_name (msg_type )
528
533
self ._log_type_name = self ._get_log_type_name (msg_type )
534
+ self ._when = datetime .datetime .now ()
529
535
530
536
@property
531
537
def message (self ):
@@ -543,6 +549,10 @@ def type_name(self):
543
549
def log_type_name (self ):
544
550
return self ._log_type_name
545
551
552
+ @property
553
+ def when (self ):
554
+ return self ._when
555
+
546
556
@classmethod
547
557
def _get_msg_type_name (cls , msg_type ):
548
558
"""
0 commit comments