@@ -245,6 +245,7 @@ def start_pytest_item(self, test_item=None):
245245            self ._hier_parts [part ]["item_id" ] =  item_id 
246246
247247        start_rq  =  {
248+             'attributes' : self ._get_item_markers (test_item ),
248249            'name' : self ._get_item_name (test_item ),
249250            'description' : self ._get_item_description (test_item ),
250251            'start_time' : timestamp (),
@@ -259,31 +260,6 @@ def start_pytest_item(self, test_item=None):
259260        self .log_item_id  =  item_id 
260261        return  item_id 
261262
262-     def  is_item_update_supported (self ):
263-         """Check item update API call client support.""" 
264-         return  hasattr (self .rp , "update_test_item" )
265- 
266-     def  update_pytest_item (self , test_item = None ):
267-         """Make item update API call. 
268- 
269-         :param test_item: pytest test item 
270-         """ 
271-         self ._stop_if_necessary ()
272-         if  self .rp  is  None :
273-             return 
274- 
275-         # if update_test_item is not supported in client 
276-         if  not  self .is_item_update_supported ():
277-             log .debug ('ReportPortal - Update TestItem: method is not defined' )
278-             return 
279- 
280-         start_rq  =  {
281-             'description' : self ._get_item_description (test_item ),
282-             'tags' : self ._get_item_tags (test_item ),
283-         }
284-         log .debug ('ReportPortal - Update TestItem: request_body=%s' , start_rq )
285-         self .rp .update_test_item (** start_rq )
286- 
287263    def  finish_pytest_item (self , test_item , item_id , status , issue = None ):
288264        self ._stop_if_necessary ()
289265        if  self .rp  is  None :
@@ -473,7 +449,7 @@ def _get_item_dirs(item):
473449
474450        return  dir_list 
475451
476-     def  _get_item_tags (self , item ):
452+     def  _get_item_markers (self , item ):
477453        # Try to extract names of @pytest.mark.* decorators used for test item 
478454        # and exclude those which present in rp_ignore_tags parameter 
479455        def  get_marker_value (item , keyword ):
@@ -487,17 +463,15 @@ def get_marker_value(item, keyword):
487463                if  marker  and  marker .args  else  keyword 
488464
489465        try :
490-             tags  =  [get_marker_value (item , k ) for  k  in  item .keywords 
491-                     if  item .get_closest_marker (k ) is  not   None 
492-                     and  k  not  in   self .ignored_tags ]
466+             get_marker  =  getattr (item , "get_closest_marker" )
493467        except  AttributeError :
494-             # pytest < 3.6 
495-             tags  =  [get_marker_value (item , k ) for  k  in  item .keywords 
496-                     if  item .get_marker (k ) is  not   None 
497-                     and  k  not  in   self .ignored_tags ]
498- 
499-         tags .extend (item .session .config .getini ('rp_tests_tags' ))
468+             get_marker  =  getattr (item , "get_marker" )
469+         tags  =  [{"value" : get_marker_value (item , k )}
470+                 for  k  in  item .keywords  if  get_marker (k ) is  not   None 
471+                 and  k  not  in   self .ignored_tags ]
500472
473+         tags .extend ([{"value" : tag }
474+                      for  tag  in  item .session .config .getini ('rp_tests_tags' )])
501475        return  tags 
502476
503477    def  _get_parameters (self , item ):
0 commit comments