Skip to content

Commit 6a86303

Browse files
authored
Merge pull request #987 from Altinity/unstable_tests_25.6
Antalya 25.6 Cross out more unstable tests
2 parents 53d1f5e + 498649b commit 6a86303

File tree

5 files changed

+379
-118
lines changed

5 files changed

+379
-118
lines changed

.github/actions/create_workflow_report/create_workflow_report.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -762,7 +762,7 @@ def create_workflow_report(
762762
"date": f"{datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S')} UTC",
763763
"is_preview": mark_preview,
764764
"counts": {
765-
"jobs_status": f"{sum(fail_results['job_statuses']['job_status'] != 'success')} fail/error",
765+
"jobs_status": f"{sum(fail_results['job_statuses']['job_status'].value_counts().get(x, 0) for x in ('failure', 'error'))} fail/error",
766766
"checks_errors": len(fail_results["checks_errors"]),
767767
"checks_new_fails": len(fail_results["checks_fails"]),
768768
"regression_new_fails": len(fail_results["regression_fails"]),

ci/jobs/functional_tests.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ def run_specific_tests(tests, runs=1):
123123
"ParallelReplicas": "--no-zookeeper --no-shard --no-parallel-replicas",
124124
"AsyncInsert": " --no-async-insert",
125125
"DatabaseReplicated": " --no-stateful --replicated-database --jobs 3",
126+
"amd_tsan": " --timeout 1200", # NOTE (strtgbb): tsan is slow, increase the timeout to avoid timeout errors
126127
}
127128

128129

@@ -365,7 +366,7 @@ def start():
365366

366367
# if not info.is_local_run:
367368
# CH.stop_log_exports()
368-
results.append(FTResultsProcessor(wd=temp_dir).run())
369+
results.append(FTResultsProcessor(wd=temp_dir, test_options=test_options).run())
369370
test_result = results[-1]
370371

371372
# invert result status for bugfix validation

ci/jobs/scripts/functional_tests_results.py

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,11 @@ class Summary:
5656
success_finish: bool = False
5757
test_end: bool = True
5858

59-
def __init__(self, wd):
59+
def __init__(self, wd, test_options):
6060
self.tests_output_file = f"{wd}/test_result.txt"
6161
# self.test_results_parsed_file = f"{wd}/test_result.tsv"
6262
# self.status_file = f"{wd}/check_status.tsv"
63+
self.test_options = test_options
6364

6465
def _process_test_output(self):
6566
total = 0
@@ -137,6 +138,8 @@ def _process_test_output(self):
137138
if DATABASE_SIGN in line:
138139
test_end = True
139140

141+
test_options_string = ", ".join(self.test_options)
142+
140143
test_results_ = []
141144
for test in test_results:
142145
try:
@@ -153,15 +156,26 @@ def _process_test_output(self):
153156
if test[1] == "FAIL":
154157
broken_message = None
155158
if test[0] in known_broken_tests.keys():
156-
if known_broken_tests[test[0]].get("message"):
157-
if (
158-
known_broken_tests[test[0]]["message"]
159-
in test_results_[-1].info
160-
):
161-
broken_message = f"\nMarked as broken, matched message: '{known_broken_tests[test[0]]['message']}'"
159+
message = known_broken_tests[test[0]].get("message")
160+
check_types = known_broken_tests[test[0]].get("check_types")
161+
if check_types and not any(
162+
check_type in test_options_string
163+
for check_type in check_types
164+
):
165+
broken_message = None
166+
elif message:
167+
if message in test_results_[-1].info:
168+
broken_message = (
169+
f"\nMarked as broken, matched message: '{message}'"
170+
)
162171
else:
163172
broken_message = f"\nMarked as broken, no message specified"
164173

174+
if broken_message and check_types:
175+
broken_message += (
176+
f", matched one or more check types {check_types}"
177+
)
178+
165179
if broken_message:
166180
broken += 1
167181
failed -= 1

0 commit comments

Comments
 (0)