@@ -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