11"""RPReportListener implements Pytest hooks required for item reporting.""" 
22
3- import  pytest 
43import  logging 
4+ 
5+ import  pytest 
6+ 
57try :
68    from  html  import  escape   # python3 
79except  ImportError :
810    from  cgi  import  escape   # python2 
911
10- 
11- try :
12-     # This try/except can go away once we support pytest >= 3.3 
13-     import  _pytest .logging 
14- 
15-     PYTEST_HAS_LOGGING_PLUGIN  =  True 
16-     from  .rp_logging  import  RPLogHandler , patching_logger_class 
17- except  ImportError :
18-     PYTEST_HAS_LOGGING_PLUGIN  =  False 
12+ import  _pytest .logging 
13+ from  .rp_logging  import  RPLogHandler , patching_logger_class 
1914
2015
2116class  RPReportListener (object ):
@@ -36,12 +31,11 @@ def __init__(self, py_test_service,
3631        self .result  =  None 
3732        self .issue  =  {}
3833        self ._log_level  =  log_level 
39-         if  PYTEST_HAS_LOGGING_PLUGIN :
40-             self ._log_handler  =  \
41-                 RPLogHandler (py_test_service = py_test_service ,
42-                              level = log_level ,
43-                              filter_client_logs = True ,
44-                              endpoint = endpoint )
34+         self ._log_handler  =  \
35+             RPLogHandler (py_test_service = py_test_service ,
36+                          level = log_level ,
37+                          filter_client_logs = True ,
38+                          endpoint = endpoint )
4539
4640    @pytest .hookimpl (hookwrapper = True ) 
4741    def  pytest_runtest_protocol (self , item ):
@@ -53,17 +47,15 @@ def pytest_runtest_protocol(self, item):
5347        """ 
5448        self ._add_issue_id_marks (item )
5549        item_id  =  self .py_test_service .start_pytest_item (item )
56-         if  PYTEST_HAS_LOGGING_PLUGIN :
57-             # This check can go away once we support pytest >= 3.3 
58-             with  patching_logger_class ():
59-                 with  _pytest .logging .catching_logs (self ._log_handler ,
60-                                                    level = self ._log_level ):
61-                     yield 
62-         else :
63-             yield 
50+         with  patching_logger_class ():
51+             with  _pytest .logging .catching_logs (self ._log_handler ,
52+                                                level = self ._log_level ):
53+                 yield 
6454        # Finishing item in RP 
6555        self .py_test_service .finish_pytest_item (
6656            item , item_id , self .result  or  'SKIPPED' , self .issue  or  None )
57+         # Flush log buffer 
58+         self .py_test_service .rp .terminate ()
6759
6860    @pytest .hookimpl (hookwrapper = True ) 
6961    def  pytest_runtest_makereport (self , item ):
0 commit comments