From 9606a5d6c4066968d6a02863c73bc75d16fe8019 Mon Sep 17 00:00:00 2001 From: Olivier Giorgis Date: Wed, 18 Dec 2024 09:25:59 +0100 Subject: [PATCH 1/3] fix: remove useless accumulation of test variant --- treeherder/intermittents_commenter/commenter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/treeherder/intermittents_commenter/commenter.py b/treeherder/intermittents_commenter/commenter.py index b4298ce3f08..9e383635f1d 100644 --- a/treeherder/intermittents_commenter/commenter.py +++ b/treeherder/intermittents_commenter/commenter.py @@ -65,7 +65,7 @@ def generate_bug_changes(self, startday, endday, alt_startday, alt_endday): change_whiteboard = None priority = 0 rank = top_bugs.index(bug_id) + 1 if self.weekly_mode and bug_id in top_bugs else None - test_variants |= bug_stats[bug_id]["test_variants"] + test_variants = bug_stats[bug_id]["test_variants"] if bugs_info and bug_id in bugs_info: if self.weekly_mode: From b16e127c0a55064e45b8068ed7e90f19e0e59351 Mon Sep 17 00:00:00 2001 From: Olivier Giorgis Date: Wed, 18 Dec 2024 09:50:21 +0100 Subject: [PATCH 2/3] fix: tighten the search conditions for variants --- treeherder/intermittents_commenter/commenter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/treeherder/intermittents_commenter/commenter.py b/treeherder/intermittents_commenter/commenter.py index 9e383635f1d..cc03dc92e8b 100644 --- a/treeherder/intermittents_commenter/commenter.py +++ b/treeherder/intermittents_commenter/commenter.py @@ -353,7 +353,7 @@ def get_test_variant(self, test_suite): base_symbol = test_suite found_variants = [] for variant in variant_symbols: - if f"-{variant}" in base_symbol: + if f"-{variant}-" in base_symbol: found_variants.append(variant) base_symbol = base_symbol.replace(f"-{variant}", "") if not found_variants: From 2304b803730dbab9a92e48b3ef81857910cb6c78 Mon Sep 17 00:00:00 2001 From: Olivier Giorgis Date: Wed, 18 Dec 2024 09:51:45 +0100 Subject: [PATCH 3/3] add a test for get_test_variant method --- tests/intermittents_commenter/test_commenter.py | 10 ++++++++++ treeherder/intermittents_commenter/commenter.py | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/tests/intermittents_commenter/test_commenter.py b/tests/intermittents_commenter/test_commenter.py index 5353dcaa2a6..7221c9d51e6 100644 --- a/tests/intermittents_commenter/test_commenter.py +++ b/tests/intermittents_commenter/test_commenter.py @@ -80,3 +80,13 @@ def test_intermittents_commenter_with_failures( with open("tests/intermittents_commenter/expected_comment_with_5_failures.text") as comment: expected_comment = comment.read() assert comment_params[0]["changes"]["comment"]["body"] == expected_comment + + +def test_get_test_variants(mock_test_variants_firefoxci_request): + process = Commenter(weekly_mode=True, dry_run=True) + test_suite = "mochitest-browser-chrome-spi-nw-10" + variants = process.get_test_variant(test_suite) + assert variants == "spi-nw" + test_suite = "mochitest-browser-chrome-2" + variants = process.get_test_variant(test_suite) + assert variants == "no_variant" diff --git a/treeherder/intermittents_commenter/commenter.py b/treeherder/intermittents_commenter/commenter.py index cc03dc92e8b..a094b637897 100644 --- a/treeherder/intermittents_commenter/commenter.py +++ b/treeherder/intermittents_commenter/commenter.py @@ -353,7 +353,7 @@ def get_test_variant(self, test_suite): base_symbol = test_suite found_variants = [] for variant in variant_symbols: - if f"-{variant}-" in base_symbol: + if f"-{variant}-" in base_symbol or base_symbol.endswith(variant): found_variants.append(variant) base_symbol = base_symbol.replace(f"-{variant}", "") if not found_variants: