|
42 | 42 | DEFAULT_BINARY_FILE_TYPE = "application/octet-stream" |
43 | 43 | TRUNCATION_SIGN = "...'" |
44 | 44 | REMOVED_KEYWORD_CONTENT_LOG = "Content removed using the --remove-keywords option." |
45 | | -REMOVED_WKUS_KEYWORD_LOG = "{number} failing items removed using the --remove-keywords option." |
| 45 | +REMOVED_WUKS_KEYWORD_LOG = "{number} failing items removed using the --remove-keywords option." |
46 | 46 | REMOVED_FOR_WHILE_KEYWORD_LOG = "{number} passing items removed using the --remove-keywords option." |
47 | | -WKUS_KEYWORD_NAME = "BuiltIn.Wait Until Keyword Succeeds" |
| 47 | +WUKS_KEYWORD_NAME = "BuiltIn.Wait Until Keyword Succeeds" |
| 48 | +RKIE_KEYWORD_NAME = "BuiltIn.Run Keyword And Ignore Error" |
48 | 49 | FOR_KEYWORD_TYPE = "FOR" |
49 | 50 | WHILE_KEYWORD_TYPE = "WHILE" |
50 | 51 |
|
@@ -116,7 +117,7 @@ def __init__(self, status: str) -> None: |
116 | 117 | super().__init__(status, lambda kw: kw.status) |
117 | 118 |
|
118 | 119 |
|
119 | | -WKUS_KEYWORD_MATCH = _KeywordNameMatch(WKUS_KEYWORD_NAME) |
| 120 | +WUKS_KEYWORD_MATCH = _KeywordNameMatch(WUKS_KEYWORD_NAME) |
120 | 121 | FOR_KEYWORD_MATCH = _KeywordTypeEqual(FOR_KEYWORD_TYPE) |
121 | 122 | WHILE_KEYWORD_NAME = _KeywordTypeEqual(WHILE_KEYWORD_TYPE) |
122 | 123 |
|
@@ -265,17 +266,20 @@ def _log_message(self, message: LogMessage) -> None: |
265 | 266 | self.__post_log_message(message) |
266 | 267 | return |
267 | 268 |
|
268 | | - if ( |
269 | | - not getattr(current_item, "posted", True) or getattr(current_item, "remove_data", False) |
270 | | - ) and message.level not in ["ERROR", "WARN"]: |
271 | | - self.current_item.skipped_logs.append(message) |
272 | | - elif ( |
273 | | - getattr(current_item, "matched_filter", None) is not WKUS_KEYWORD_MATCH |
274 | | - and not self._remove_all_keyword_content |
275 | | - ): |
276 | | - # Post everything skipped by '--removekeywords' option |
277 | | - self._post_skipped_keywords(current_item) |
| 269 | + if not getattr(current_item, "remove_data", False) and getattr(current_item, "posted", True): |
278 | 270 | self.__post_log_message(message) |
| 271 | + else: |
| 272 | + if message.level not in {"ERROR", "WARN"}: |
| 273 | + self.current_item.skipped_logs.append(message) |
| 274 | + else: |
| 275 | + matched_filter = getattr(current_item, "matched_filter", None) |
| 276 | + wuks_or_rkie = matched_filter is WUKS_KEYWORD_MATCH |
| 277 | + if not wuks_or_rkie and not self._remove_all_keyword_content: |
| 278 | + # Post everything skipped by '--removekeywords' option |
| 279 | + self._post_skipped_keywords(current_item) |
| 280 | + self.__post_log_message(message) |
| 281 | + else: |
| 282 | + self.current_item.skipped_logs.append(message) |
279 | 283 |
|
280 | 284 | @check_rp_enabled |
281 | 285 | def log_message(self, message: Dict) -> None: |
@@ -345,7 +349,7 @@ def _process_keyword_skip(self): |
345 | 349 | break |
346 | 350 | if pattern_str_upper in {"FOR", "WHILE", "WUKS"}: |
347 | 351 | if pattern_str_upper == "WUKS": |
348 | | - self._keyword_filters.append(WKUS_KEYWORD_MATCH) |
| 352 | + self._keyword_filters.append(WUKS_KEYWORD_MATCH) |
349 | 353 | elif pattern_str_upper == "FOR": |
350 | 354 | self._keyword_filters.append(FOR_KEYWORD_MATCH) |
351 | 355 | else: |
@@ -532,14 +536,14 @@ def end_keyword(self, _: Optional[str], attributes: Dict, ts: Optional[Any] = No |
532 | 536 | """ |
533 | 537 | kwd = self.current_item.update(attributes) |
534 | 538 |
|
535 | | - if kwd.matched_filter is WKUS_KEYWORD_MATCH and kwd.skip_origin is kwd: |
| 539 | + if kwd.matched_filter is WUKS_KEYWORD_MATCH and kwd.skip_origin is kwd: |
536 | 540 | skipped_kwds = kwd.skipped_keywords |
537 | 541 | skipped_kwds_num = len(skipped_kwds) |
538 | 542 | if skipped_kwds_num > 2: |
539 | 543 | if kwd.status == "FAIL": |
540 | | - message = REMOVED_WKUS_KEYWORD_LOG.format(number=len(kwd.skipped_keywords) - 1) |
| 544 | + message = REMOVED_WUKS_KEYWORD_LOG.format(number=len(kwd.skipped_keywords) - 1) |
541 | 545 | else: |
542 | | - message = REMOVED_WKUS_KEYWORD_LOG.format(number=len(kwd.skipped_keywords) - 2) |
| 546 | + message = REMOVED_WUKS_KEYWORD_LOG.format(number=len(kwd.skipped_keywords) - 2) |
543 | 547 | self._log_data_removed(kwd.rp_item_id, kwd.start_time, message) |
544 | 548 | if skipped_kwds_num > 1 and kwd.status != "FAIL": |
545 | 549 | first_iteration = kwd.skipped_keywords[0] |
|
0 commit comments