Skip to content

Commit c78b010

Browse files
[π˜€π—½π—Ώ] changes to main this commit is based on
Created using spr 1.3.7 [skip ci]
1 parent e85e035 commit c78b010

File tree

2 files changed

+33
-5
lines changed

2 files changed

+33
-5
lines changed

β€Žpremerge/advisor/advisor_lib.pyβ€Ž

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -121,9 +121,12 @@ def _try_explain_failing_at_head(
121121
) -> FailureExplanation | None:
122122
query = (
123123
"SELECT failure_message FROM failures "
124-
"WHERE source_type='postcommit' AND platform=?"
124+
"WHERE source_type='postcommit' AND platform=? AND test_file=?"
125+
)
126+
query_params = (
127+
platform,
128+
test_failure["name"],
125129
)
126-
query_params = (platform,)
127130
if base_commit_index:
128131
min_commit_index = (
129132
base_commit_index - EXPLAINED_HEAD_MAX_COMMIT_INDEX_DIFFERENCE
@@ -175,8 +178,11 @@ def _try_explain_flaky_failure(
175178
FailureExplanation object explaining the test failure.
176179
"""
177180
test_name_matches = db_connection.execute(
178-
"SELECT failure_message, commit_index FROM failures WHERE source_type='postcommit' AND platform=?",
179-
(platform,),
181+
"SELECT failure_message, commit_index FROM failures WHERE source_type='postcommit' AND platform=? AND test_file=?",
182+
(
183+
platform,
184+
test_failure["name"],
185+
),
180186
).fetchall()
181187
commit_indices = []
182188
for failure_message, commit_index in test_name_matches:

β€Žpremerge/advisor/advisor_lib_test.pyβ€Ž

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -301,11 +301,24 @@ def test_no_explain_different_message(self):
301301
],
302302
)
303303

304+
def test_no_explain_different_test_file(self):
305+
self.assertListEqual(
306+
self._get_explained_failures(prev_failure_failure_name="b.ll"),
307+
[
308+
{
309+
"name": "a.ll",
310+
"explained": False,
311+
"reason": None,
312+
}
313+
],
314+
)
315+
304316
def _setup_flaky_test_info(
305317
self,
306318
source_type="postcommit",
307319
message="failed in way 1",
308320
second_failure_sha="6269677375726269677375726269677375726269",
321+
second_failure_test_file="a.ll",
309322
):
310323
failures_info = [
311324
{
@@ -322,7 +335,7 @@ def _setup_flaky_test_info(
322335
"base_commit_sha": second_failure_sha,
323336
"source_id": "100001",
324337
"failures": [
325-
{"name": "a.ll", "message": message},
338+
{"name": second_failure_test_file, "message": message},
326339
],
327340
"platform": "linux-x86_64",
328341
},
@@ -401,6 +414,15 @@ def test_no_explain_flaky_small_range(self):
401414
],
402415
)
403416

417+
def test_no_explain_flaky_different_files(self):
418+
self._setup_flaky_test_info(second_failure_test_file="b.ll")
419+
self.assertEqual(
420+
self._get_flaky_test_explanations(),
421+
[
422+
{"name": "a.ll", "explained": False, "reason": None},
423+
],
424+
)
425+
404426
def _setup_flaky_test_identification_info(self):
405427
failures = []
406428
# Setup a range of consistently failing tests that happen on sequential

0 commit comments

Comments
Β (0)