Skip to content

Commit 5c2b0e1

Browse files
committed
Remove keywords: WIP
1 parent b07a353 commit 5c2b0e1

File tree

1 file changed

+14
-13
lines changed

1 file changed

+14
-13
lines changed

robotframework_reportportal/listener.py

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -194,16 +194,17 @@ def __post_skipped_keyword(self, kwd: Keyword) -> None:
194194
self.__post_skipped_keyword(skipped_kwd)
195195
self._do_end_keyword(kwd)
196196

197-
def _post_skipped_keywords(self) -> None:
198-
kwd = self.current_item
199-
if not kwd:
197+
def _post_skipped_keywords(self, to_post: Optional[Any]) -> None:
198+
if not to_post:
200199
return
201-
if not getattr(kwd, 'posted', True):
202-
self._do_start_keyword(kwd)
203-
skipped_kwds = kwd.skipped_keywords
204-
kwd.skipped_keywords = []
205-
for skipped_kwd in skipped_kwds:
206-
self.__post_skipped_keyword(skipped_kwd)
200+
if isinstance(to_post, Keyword):
201+
if not to_post.posted:
202+
self._do_start_keyword(to_post)
203+
skipped_kwds = getattr(to_post, 'skipped_keywords', None)
204+
if skipped_kwds:
205+
to_post.skipped_keywords = []
206+
for skipped_kwd in skipped_kwds:
207+
self.__post_skipped_keyword(skipped_kwd)
207208

208209
def _log_message(self, message: LogMessage) -> None:
209210
"""Send log message to the Report Portal.
@@ -220,7 +221,7 @@ def _log_message(self, message: LogMessage) -> None:
220221
self.current_item.skipped_logs.append(message)
221222
elif getattr(current_item, 'matched_filter', None) is not WKUS_KEYWORD_MATCH:
222223
# Post everything skipped by '--removekeywords' option
223-
self._post_skipped_keywords()
224+
self._post_skipped_keywords(current_item)
224225
self.service.log(message=message)
225226

226227
@check_rp_enabled
@@ -367,7 +368,7 @@ def end_suite(self, _: Optional[str], attributes: Dict, ts: Optional[Any] = None
367368
"""
368369
suite = self._remove_current_item().update(attributes)
369370
if suite.remove_data and attributes['status'] == 'FAIL':
370-
self._post_skipped_keywords()
371+
self._post_skipped_keywords(suite)
371372
logger.debug(f'ReportPortal - End Suite: {suite.robot_attributes}')
372373
self.service.finish_suite(suite=suite, ts=ts)
373374
if attributes['id'] == MAIN_SUITE_ID:
@@ -412,7 +413,7 @@ def end_test(self, _: Optional[str], attributes: Dict, ts: Optional[Any] = None)
412413
if not test.critical and test.status == 'FAIL':
413414
test.status = 'SKIP'
414415
if test.remove_data and attributes['status'] == 'FAIL':
415-
self._post_skipped_keywords()
416+
self._post_skipped_keywords(test)
416417
if test.message:
417418
self.log_message({'message': test.message, 'level': 'DEBUG'})
418419
logger.debug(f'ReportPortal - End Test: {test.robot_attributes}')
@@ -472,7 +473,7 @@ def end_keyword(self, _: Optional[str], attributes: Dict, ts: Optional[Any] = No
472473
"""
473474
kwd = self.current_item.update(attributes)
474475
if kwd.status == 'FAIL' and not kwd.posted and kwd.matched_filter is not WKUS_KEYWORD_MATCH:
475-
self._post_skipped_keywords()
476+
self._post_skipped_keywords(kwd)
476477

477478
self._remove_current_item()
478479
if not kwd.posted:

0 commit comments

Comments
 (0)