diff options
author | nkozlovskiy <[email protected]> | 2023-09-15 14:39:18 +0300 |
---|---|---|
committer | nkozlovskiy <[email protected]> | 2023-09-15 15:18:54 +0300 |
commit | 1abde13dddc7a5ba0f30953cac2a722ae4ec8dee (patch) | |
tree | 6dbae81cda3be54521db11d5a8ab62da65c61f46 /.github/scripts/tests/mute_utils.py | |
parent | ee6c5eea2589b245c9ab882000ba6f2b0473fa4a (diff) |
ci: remove all failures for muted tests
Diffstat (limited to '.github/scripts/tests/mute_utils.py')
-rw-r--r-- | .github/scripts/tests/mute_utils.py | 54 |
1 files changed, 33 insertions, 21 deletions
diff --git a/.github/scripts/tests/mute_utils.py b/.github/scripts/tests/mute_utils.py index a096b407a63..8c53cc74d4f 100644 --- a/.github/scripts/tests/mute_utils.py +++ b/.github/scripts/tests/mute_utils.py @@ -37,41 +37,53 @@ class MuteTestCheck: return False -def mute_target(node): +def mute_target(testcase): + err_text = [] + err_msg = None + found = False + for node_name in ('failure', 'error'): - failure = node.find(node_name) - # print('failure', node_name, node, failure) + while 1: + err_node = testcase.find(node_name) + if err_node is None: + break - if failure is not None: - break - else: - return False + msg = err_node.get('message') + if msg: + if err_msg is None: + err_msg = msg + else: + err_text.append(msg) - msg = failure.get("message") + if err_node.text: + err_text.append(err_node.text) - skipped = ET.Element("skipped") + found = True + testcase.remove(err_node) + + if not found: + return False - if msg: - skipped.set('message', msg) + skipped = ET.Element("skipped") - skipped.text = failure.text + if err_msg: + skipped.set('message', err_msg) - node.remove(failure) - node.append(skipped) + if err_text: + skipped.text = '\n'.join(err_text) + testcase.append(skipped) - add_junit_property(node, "mute", "automatically muted based on rules") + add_junit_property(testcase, "mute", "automatically muted based on rules") return True def remove_failure(node): - failure = node.find("failure") - - if failure is not None: + while 1: + failure = node.find("failure") + if failure is None: + break node.remove(failure) - return True - - return False def op_attr(node, attr, op, value): |