Skip to content

Commit f8e0118

Browse files
committed
refactor(reporting): handle case where classname is equal to test_case_name
In some cases, the classname can be equal to the test_case_name, which leads us to create a test_name with double identical values concatenated. To avoid this, we introduced a new clause. Fixes MRGFY-5937
1 parent ac0f2cb commit f8e0118

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

mergify_cli/ci/junit_processing/junit.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -194,10 +194,14 @@ async def junit_to_spans(
194194

195195
for testcase in testsuite.findall("testcase"):
196196
classname = testcase.get("classname")
197-
if classname is not None:
198-
test_name = classname + "." + testcase.get("name", "unnamed test")
197+
test_case_name = testcase.get("name", "unnamed test")
198+
199+
# In some cases classname is equal to test_case_name, so we check to avoid redundancy.
200+
# e.g. cypress component failure error
201+
if classname is not None and classname != test_case_name:
202+
test_name = classname + "." + test_case_name
199203
else:
200-
test_name = testcase.get("name", "unnamed test")
204+
test_name = test_case_name
201205
start_time = now - int(float(testcase.get("time", 0)) * 10e9)
202206
min_start_time = min(min_start_time, start_time)
203207

0 commit comments

Comments
 (0)