diff --git a/test/infra/control/run-tests-isolated.bash b/test/infra/control/run-tests-isolated.bash index 57d7cc8c6..faed60431 100755 --- a/test/infra/control/run-tests-isolated.bash +++ b/test/infra/control/run-tests-isolated.bash @@ -172,14 +172,37 @@ if [ "${SKIP_PROXYSQL}" = "1" ]; then exit 1 fi - # Extract test names belonging to this group + # Detect ProxySQL version for @proxysql_min_version filtering + PROXYSQL_BIN="${WORKSPACE}/src/proxysql" + PROXYSQL_VERSION="" + if [ -x "${PROXYSQL_BIN}" ]; then + PROXYSQL_VERSION=$(${PROXYSQL_BIN} --version 2>&1 | grep -oP 'ProxySQL version \K[0-9]+\.[0-9]+\.[0-9]+' || true) + echo ">>> Detected ProxySQL version: ${PROXYSQL_VERSION}" + else + echo ">>> WARNING: ProxySQL binary not found at ${PROXYSQL_BIN}, skipping version filtering" + fi + + # Extract test names belonging to this group, filtering by @proxysql_min_version TEST_NAMES=$(python3 -c " import json, sys +from packaging import version +proxysql_ver = '${PROXYSQL_VERSION}' with open('${GROUPS_JSON}') as f: groups = json.load(f) for test_name, test_groups in sorted(groups.items()): if '${TAP_GROUP}' in test_groups: - print(test_name) + # Check @proxysql_min_version tag + skip = False + if proxysql_ver: + for entry in test_groups: + if isinstance(entry, str) and entry.startswith('@proxysql_min_version:'): + min_ver = entry.split(':', 1)[1] + if version.parse(proxysql_ver) < version.parse(min_ver): + print(f'SKIP ({test_name}): requires ProxySQL >= {min_ver}, have {proxysql_ver}', file=sys.stderr) + skip = True + break + if not skip: + print(test_name) ") if [ -z "${TEST_NAMES}" ]; then diff --git a/test/scripts/bin/proxysql-tester.py b/test/scripts/bin/proxysql-tester.py index 6bb9fe03a..7f0c44b1f 100755 --- a/test/scripts/bin/proxysql-tester.py +++ b/test/scripts/bin/proxysql-tester.py @@ -326,9 +326,10 @@ class ProxySQLTester: return rc, logs, summary - def filtered_by_version(self, test_path, proxysql_v): + def filtered_by_version(self, test_path, proxysql_v, groups=None): filtered = (False, '') + # Check hardcoded version requirements (legacy) for tap_test in internal_tap_tests_versions: tap_test_n = tap_test[0] tap_test_v = tap_test[1] @@ -338,6 +339,17 @@ class ProxySQLTester: filtered = (True, tap_test_v) break + # Check @proxysql_min_version tag from groups.json + if not filtered[0] and groups: + test_basename = os.path.basename(test_path) + test_groups = groups.get(test_basename, []) + for entry in test_groups: + if isinstance(entry, str) and entry.startswith("@proxysql_min_version:"): + min_ver = entry.split(":", 1)[1] + if version.parse(proxysql_v) < version.parse(min_ver): + filtered = (True, min_ver) + break + return filtered def filtered_by_regex(self, test_path, pattern_var): @@ -716,10 +728,10 @@ CREATE TABLE stats_history.mysql_server_read_only_log ( continue # filtering - f_res = self.filtered_by_version(fo_cmd, fmt_ver) + f_res = self.filtered_by_version(fo_cmd, fmt_ver, groups) if f_res[0]: log.info(f"{TAP} test {fo_num+1}/{len(tap_tests)} '{os.path.basename(fo_cmd)}' skipped.") - log.debug(f"skip: It requires a bigger of the one being tested: ({fmt_ver} < {f_res[1]})") + log.debug(f"skip: Requires ProxySQL >= {f_res[1]}, current version: {fmt_ver}") summary.append((fo_cmd, None)) continue diff --git a/test/tap/groups/check_groups.py b/test/tap/groups/check_groups.py index bbe399757..3dcb128fe 100755 --- a/test/tap/groups/check_groups.py +++ b/test/tap/groups/check_groups.py @@ -61,10 +61,14 @@ def _is_elf(path): def load_groups(groups_path): - """Load test names from groups.json.""" + """Load test names from groups.json. + + Entries whose keys start with '@' are metadata tags (e.g. @proxysql_min_version) + and are not test names, so they are excluded. + """ with open(groups_path, "r") as f: data = json.load(f) - return set(data.keys()) + return {k for k in data.keys() if not k.startswith("@")} def main(): diff --git a/test/tap/groups/groups.json b/test/tap/groups/groups.json index 8da037067..2311333e2 100644 --- a/test/tap/groups/groups.json +++ b/test/tap/groups/groups.json @@ -8,12 +8,12 @@ "admin_various_commands-t" : [ "legacy-g1","mysql84-g1","mysql-auto_increment_delay_multiplex=0-g1","mysql-multiplexing=false-g1","mysql-query_digests=0-g1","mysql-query_digests_keep_comment=1-g1","mysql84-gr-g1","mysql90-g1","mysql90-gr-g1","mysql91-g1","mysql91-gr-g1","mysql92-g1","mysql92-gr-g1","mysql93-g1","mysql93-gr-g1" ], "admin_various_commands2-t" : [ "legacy-g1","mysql84-g1","mysql-auto_increment_delay_multiplex=0-g1","mysql-multiplexing=false-g1","mysql-query_digests=0-g1","mysql-query_digests_keep_comment=1-g1","mysql84-gr-g1","mysql90-g1","mysql90-gr-g1","mysql91-g1","mysql91-gr-g1","mysql92-g1","mysql92-gr-g1","mysql93-g1","mysql93-gr-g1" ], "admin_various_commands3-t" : [ "legacy-g1","mysql84-g1","mysql-auto_increment_delay_multiplex=0-g1","mysql-multiplexing=false-g1","mysql-query_digests=0-g1","mysql-query_digests_keep_comment=1-g1","mysql84-gr-g1","mysql90-g1","mysql90-gr-g1","mysql91-g1","mysql91-gr-g1","mysql92-g1","mysql92-gr-g1","mysql93-g1","mysql93-gr-g1" ], - "ai_error_handling_edge_cases-t" : [ "ai-g1" ], - "ai_llm_retry_scenarios-t" : [ "ai-g1" ], - "ai_validation-t" : [ "ai-g1" ], - "anomaly_detection-t" : [ "ai-g1" ], - "anomaly_detection_integration-t" : [ "ai-g1" ], - "anomaly_detector_unit-t" : [ "ai-g1" ], + "ai_error_handling_edge_cases-t" : [ "ai-g1","@proxysql_min_version:4.0" ], + "ai_llm_retry_scenarios-t" : [ "ai-g1","@proxysql_min_version:4.0" ], + "ai_validation-t" : [ "ai-g1","@proxysql_min_version:4.0" ], + "anomaly_detection-t" : [ "ai-g1","@proxysql_min_version:4.0" ], + "anomaly_detection_integration-t" : [ "ai-g1","@proxysql_min_version:4.0" ], + "anomaly_detector_unit-t" : [ "ai-g1","@proxysql_min_version:4.0" ], "auth_unit-t" : [ "unit-tests-g1" ], "backend_sync_unit-t" : [ "unit-tests-g1" ], "basic-t" : [ "legacy-g1","mysql84-g1","mysql-auto_increment_delay_multiplex=0-g1","mysql-multiplexing=false-g1","mysql-query_digests=0-g1","mysql-query_digests_keep_comment=1-g1","mysql84-gr-g1","mysql90-g1","mysql90-gr-g1","mysql91-g1","mysql91-gr-g1","mysql92-g1","mysql92-gr-g1","mysql93-g1","mysql93-gr-g1" ], @@ -34,23 +34,23 @@ "ezoption_parser_unit-t" : [ "unit-tests-g1" ], "fast_forward_grace_close_libmysql-t" : [ "legacy-g3","mysql84-g3","mysql-auto_increment_delay_multiplex=0-g3","mysql-multiplexing=false-g3","mysql-query_digests=0-g3","mysql-query_digests_keep_comment=1-g3" ], "fast_forward_switch_replication_deprecate_eof_libmysql-t" : [ "legacy-g3","mysql84-g3","mysql-auto_increment_delay_multiplex=0-g3","mysql-multiplexing=false-g3","mysql-query_digests=0-g3","mysql-query_digests_keep_comment=1-g3" ], - "ffto_protocol_unit-t" : [ "unit-tests-g1" ], + "ffto_protocol_unit-t" : [ "unit-tests-g1","@proxysql_min_version:3.1" ], "firewall_commands1-t" : [ "legacy-g1","mysql84-g1","mysql-auto_increment_delay_multiplex=0-g1","mysql-multiplexing=false-g1","mysql-query_digests=0-g1","mysql-query_digests_keep_comment=1-g1","mysql84-gr-g1","mysql90-g1","mysql90-gr-g1","mysql91-g1","mysql91-gr-g1","mysql92-g1","mysql92-gr-g1","mysql93-g1","mysql93-gr-g1" ], "gen_utils_unit-t" : [ "unit-tests-g1" ], - "genai_anomaly_unit-t" : [ "ai-g1" ], - "genai_async-t" : [ "ai-g1" ], - "genai_discovery_schema_unit-t" : [ "ai-g1" ], - "genai_embedding_rerank-t" : [ "ai-g1" ], - "genai_fts_string_unit-t" : [ "ai-g1" ], - "genai_live_validation-t" : [ "ai-g1" ], - "genai_llm_clients_unit-t" : [ "ai-g1" ], - "genai_mcp_endpoint_unit-t" : [ "ai-g1" ], - "genai_mcp_thread_unit-t" : [ "ai-g1" ], - "genai_module-t" : [ "ai-g1" ], - "genai_mysql_catalog_unit-t" : [ "ai-g1" ], - "genai_query_handler_unit-t" : [ "ai-g1" ], - "genai_stats_parsing_unit-t" : [ "ai-g1" ], - "genai_thread_unit-t" : [ "ai-g1" ], + "genai_anomaly_unit-t" : [ "ai-g1","@proxysql_min_version:4.0" ], + "genai_async-t" : [ "ai-g1","@proxysql_min_version:4.0" ], + "genai_discovery_schema_unit-t" : [ "ai-g1","@proxysql_min_version:4.0" ], + "genai_embedding_rerank-t" : [ "ai-g1","@proxysql_min_version:4.0" ], + "genai_fts_string_unit-t" : [ "ai-g1","@proxysql_min_version:4.0" ], + "genai_live_validation-t" : [ "ai-g1","@proxysql_min_version:4.0" ], + "genai_llm_clients_unit-t" : [ "ai-g1","@proxysql_min_version:4.0" ], + "genai_mcp_endpoint_unit-t" : [ "ai-g1","@proxysql_min_version:4.0" ], + "genai_mcp_thread_unit-t" : [ "ai-g1","@proxysql_min_version:4.0" ], + "genai_module-t" : [ "ai-g1","@proxysql_min_version:4.0" ], + "genai_mysql_catalog_unit-t" : [ "ai-g1","@proxysql_min_version:4.0" ], + "genai_query_handler_unit-t" : [ "ai-g1","@proxysql_min_version:4.0" ], + "genai_stats_parsing_unit-t" : [ "ai-g1","@proxysql_min_version:4.0" ], + "genai_thread_unit-t" : [ "ai-g1","@proxysql_min_version:4.0" ], "glovars_unit-t" : [ "unit-tests-g1" ], "gtid_utils_unit-t" : [ "unit-tests-g1" ], "hostgroup_routing_unit-t" : [ "unit-tests-g1" ], @@ -61,22 +61,22 @@ "kill_connection3-t" : [ "legacy-g1","mysql84-g1","mysql-auto_increment_delay_multiplex=0-g1","mysql-multiplexing=false-g1","mysql-query_digests=0-g1","mysql-query_digests_keep_comment=1-g1","mysql84-gr-g1","mysql90-g1","mysql90-gr-g1","mysql91-g1","mysql91-gr-g1","mysql92-g1","mysql92-gr-g1","mysql93-g1","mysql93-gr-g1" ], "listen_validator_unit-t" : [ "unit-tests-g1" ], "listener_conflicts_validation-t" : [ "no-infra-g1" ], - "llm_bridge_accuracy-t" : [ "ai-g1" ], + "llm_bridge_accuracy-t" : [ "ai-g1","@proxysql_min_version:4.0" ], "log_utils_unit-t" : [ "unit-tests-g1" ], "max_connections_ff-t" : [ "legacy-g1","mysql84-g1","mysql-auto_increment_delay_multiplex=0-g1","mysql-multiplexing=false-g1","mysql-query_digests=0-g1","mysql-query_digests_keep_comment=1-g1" ], - "mcp_mixed_mysql_pgsql_concurrency_stress-t" : [ "ai-g1" ], - "mcp_mixed_stats_cap_churn-t" : [ "ai-g1" ], - "mcp_mixed_stats_profile_matrix-t" : [ "ai-g1" ], - "mcp_module-t" : [ "ai-g1" ], - "mcp_mysql_concurrency_stress-t" : [ "ai-g1" ], - "mcp_pgsql_concurrency_stress-t" : [ "ai-g1" ], - "mcp_query_rules-t" : [ "ai-g1" ], - "mcp_query_run_sql_readonly-t" : [ "ai-g1" ], - "mcp_runtime_variables-t" : [ "ai-g1" ], - "mcp_semantic_lifecycle-t" : [ "ai-g1" ], - "mcp_show_connections_commands_inmemory-t" : [ "ai-g1" ], - "mcp_show_queries_topk-t" : [ "ai-g1" ], - "mcp_stats_refresh-t" : [ "ai-g1" ], + "mcp_mixed_mysql_pgsql_concurrency_stress-t" : [ "ai-g1","@proxysql_min_version:4.0" ], + "mcp_mixed_stats_cap_churn-t" : [ "ai-g1","@proxysql_min_version:4.0" ], + "mcp_mixed_stats_profile_matrix-t" : [ "ai-g1","@proxysql_min_version:4.0" ], + "mcp_module-t" : [ "ai-g1","@proxysql_min_version:4.0" ], + "mcp_mysql_concurrency_stress-t" : [ "ai-g1","@proxysql_min_version:4.0" ], + "mcp_pgsql_concurrency_stress-t" : [ "ai-g1","@proxysql_min_version:4.0" ], + "mcp_query_rules-t" : [ "ai-g1","@proxysql_min_version:4.0" ], + "mcp_query_run_sql_readonly-t" : [ "ai-g1","@proxysql_min_version:4.0" ], + "mcp_runtime_variables-t" : [ "ai-g1","@proxysql_min_version:4.0" ], + "mcp_semantic_lifecycle-t" : [ "ai-g1","@proxysql_min_version:4.0" ], + "mcp_show_connections_commands_inmemory-t" : [ "ai-g1","@proxysql_min_version:4.0" ], + "mcp_show_queries_topk-t" : [ "ai-g1","@proxysql_min_version:4.0" ], + "mcp_stats_refresh-t" : [ "ai-g1","@proxysql_min_version:4.0" ], "monitor_health_unit-t" : [ "unit-tests-g1" ], "multiple_prepared_statements-t" : [ "legacy-g1","mysql84-g1","mysql-auto_increment_delay_multiplex=0-g1","mysql-multiplexing=false-g1","mysql-query_digests=0-g1","mysql-query_digests_keep_comment=1-g1" ], "mysql-fast_forward-t" : [ "legacy-g1","mysql84-g1","mysql-auto_increment_delay_multiplex=0-g1","mysql-multiplexing=false-g1","mysql-query_digests=0-g1","mysql-query_digests_keep_comment=1-g1" ], @@ -106,11 +106,11 @@ "mysql_reconnect_libmysql-t" : [ "legacy-g1","mysql84-g1","mysql-auto_increment_delay_multiplex=0-g1","mysql-multiplexing=false-g1","mysql-query_digests=0-g1","mysql-query_digests_keep_comment=1-g1" ], "mysql_stmt_send_long_data-t" : [ "legacy-g1","mysql84-g1","mysql-auto_increment_delay_multiplex=0-g1","mysql-multiplexing=false-g1","mysql-query_digests=0-g1","mysql-query_digests_keep_comment=1-g1" ], "mysql_stmt_send_long_data_large-t" : [ "legacy-g1","mysql84-g1","mysql-auto_increment_delay_multiplex=0-g1","mysql-multiplexing=false-g1","mysql-query_digests=0-g1","mysql-query_digests_keep_comment=1-g1" ], - "nl2sql_integration-t" : [ "ai-g1" ], - "nl2sql_internal-t" : [ "ai-g1" ], - "nl2sql_model_selection-t" : [ "ai-g1" ], - "nl2sql_prompt_builder-t" : [ "ai-g1" ], - "nl2sql_unit_base-t" : [ "ai-g1" ], + "nl2sql_integration-t" : [ "ai-g1","@proxysql_min_version:4.0" ], + "nl2sql_internal-t" : [ "ai-g1","@proxysql_min_version:4.0" ], + "nl2sql_model_selection-t" : [ "ai-g1","@proxysql_min_version:4.0" ], + "nl2sql_prompt_builder-t" : [ "ai-g1","@proxysql_min_version:4.0" ], + "nl2sql_unit_base-t" : [ "ai-g1","@proxysql_min_version:4.0" ], "ok_packet_mixed_queries-t" : [ "legacy-g4","mysql84-g4","mysql-auto_increment_delay_multiplex=0-g4","mysql-multiplexing=false-g4","mysql-query_digests=0-g4","mysql-query_digests_keep_comment=1-g4" ], "pgsql-admin_metacmds-t" : [ "legacy-g4","mysql-auto_increment_delay_multiplex=0-g4","mysql-multiplexing=false-g4","mysql-query_digests=0-g4","mysql-query_digests_keep_comment=1-g4" ], "pgsql-admin_metacmds_describe_all_tables-t" : [ "legacy-g4","mysql-auto_increment_delay_multiplex=0-g4","mysql-multiplexing=false-g4","mysql-query_digests=0-g4","mysql-query_digests_keep_comment=1-g4" ], @@ -277,22 +277,22 @@ "test_dns_cache-t" : [ "legacy-g3","mysql84-g3","mysql-auto_increment_delay_multiplex=0-g3","mysql-multiplexing=false-g3","mysql-query_digests=0-g3","mysql-query_digests_keep_comment=1-g3" ], "test_empty_query-t" : [ "legacy-g3","mysql84-g3","mysql-auto_increment_delay_multiplex=0-g3","mysql-multiplexing=false-g3","mysql-query_digests=0-g3","mysql-query_digests_keep_comment=1-g3" ], "test_enforce_autocommit_on_reads-t" : [ "legacy-g3","mysql84-g3","mysql-auto_increment_delay_multiplex=0-g3","mysql-multiplexing=false-g3","mysql-query_digests=0-g3","mysql-query_digests_keep_comment=1-g3" ], - "test_ffto_bypass-t" : [ "legacy-g4","mysql84-g4" ], - "test_ffto_mysql-t" : [ "legacy-g4","mysql84-g4" ], - "test_ffto_mysql_bypass_recovery-t" : [ "legacy-g4","mysql84-g4" ], - "test_ffto_mysql_concurrent-t" : [ "legacy-g4","mysql84-g4" ], - "test_ffto_mysql_large_queries-t" : [ "legacy-g4","mysql84-g4" ], - "test_ffto_mysql_large_resultsets-t" : [ "legacy-g4","mysql84-g4" ], - "test_ffto_mysql_mixed_protocol-t" : [ "legacy-g4","mysql84-g4" ], - "test_ffto_mysql_transactions-t" : [ "legacy-g4","mysql84-g4" ], - "test_ffto_pgsql-t" : [ "legacy-g4" ], - "test_ffto_pgsql_command_types-t" : [ "legacy-g4" ], - "test_ffto_pgsql_concurrent-t" : [ "legacy-g4" ], - "test_ffto_pgsql_errors-t" : [ "legacy-g4" ], - "test_ffto_pgsql_large_resultsets-t" : [ "legacy-g4" ], - "test_ffto_pgsql_mixed_protocol-t" : [ "legacy-g4" ], - "test_ffto_pgsql_pipeline-t" : [ "legacy-g4" ], - "test_ffto_pgsql_stmt_portal-t" : [ "legacy-g4" ], + "test_ffto_bypass-t" : [ "legacy-g4","mysql84-g4","@proxysql_min_version:3.1" ], + "test_ffto_mysql-t" : [ "legacy-g4","mysql84-g4","@proxysql_min_version:3.1" ], + "test_ffto_mysql_bypass_recovery-t" : [ "legacy-g4","mysql84-g4","@proxysql_min_version:3.1" ], + "test_ffto_mysql_concurrent-t" : [ "legacy-g4","mysql84-g4","@proxysql_min_version:3.1" ], + "test_ffto_mysql_large_queries-t" : [ "legacy-g4","mysql84-g4","@proxysql_min_version:3.1" ], + "test_ffto_mysql_large_resultsets-t" : [ "legacy-g4","mysql84-g4","@proxysql_min_version:3.1" ], + "test_ffto_mysql_mixed_protocol-t" : [ "legacy-g4","mysql84-g4","@proxysql_min_version:3.1" ], + "test_ffto_mysql_transactions-t" : [ "legacy-g4","mysql84-g4","@proxysql_min_version:3.1" ], + "test_ffto_pgsql-t" : [ "legacy-g4","@proxysql_min_version:3.1" ], + "test_ffto_pgsql_command_types-t" : [ "legacy-g4","@proxysql_min_version:3.1" ], + "test_ffto_pgsql_concurrent-t" : [ "legacy-g4","@proxysql_min_version:3.1" ], + "test_ffto_pgsql_errors-t" : [ "legacy-g4","@proxysql_min_version:3.1" ], + "test_ffto_pgsql_large_resultsets-t" : [ "legacy-g4","@proxysql_min_version:3.1" ], + "test_ffto_pgsql_mixed_protocol-t" : [ "legacy-g4","@proxysql_min_version:3.1" ], + "test_ffto_pgsql_pipeline-t" : [ "legacy-g4","@proxysql_min_version:3.1" ], + "test_ffto_pgsql_stmt_portal-t" : [ "legacy-g4","@proxysql_min_version:3.1" ], "test_filtered_set_statements-t" : [ "legacy-g3","mysql84-g3","mysql-auto_increment_delay_multiplex=0-g3","mysql-multiplexing=false-g3","mysql-query_digests=0-g3","mysql-query_digests_keep_comment=1-g3" ], "test_firewall-t" : [ "legacy-g3","mysql84-g3","mysql-auto_increment_delay_multiplex=0-g3","mysql-multiplexing=false-g3","mysql-query_digests=0-g3","mysql-query_digests_keep_comment=1-g3" ], "test_flagOUT_weight-t" : [ "legacy-g3","mysql84-g3","mysql-auto_increment_delay_multiplex=0-g3","mysql-multiplexing=false-g3","mysql-query_digests=0-g3","mysql-query_digests_keep_comment=1-g3" ], @@ -310,11 +310,11 @@ "test_match_eof_conn_cap_libmariadb-t" : [ "legacy-g4","mysql84-g4","mysql-auto_increment_delay_multiplex=0-g4","mysql-multiplexing=false-g4","mysql-query_digests=0-g4","mysql-query_digests_keep_comment=1-g4" ], "test_match_eof_conn_cap_libmysql-t" : [ "legacy-g4","mysql84-g4","mysql-auto_increment_delay_multiplex=0-g4","mysql-multiplexing=false-g4","mysql-query_digests=0-g4","mysql-query_digests_keep_comment=1-g4" ], "test_max_transaction_time-t" : [ "legacy-g3","mysql84-g3","mysql-auto_increment_delay_multiplex=0-g3","mysql-multiplexing=false-g3","mysql-query_digests=0-g3","mysql-query_digests_keep_comment=1-g3" ], - "test_mcp_claude_headless_flow-t" : [ "ai-g1" ], - "test_mcp_llm_discovery_phaseb-t" : [ "ai-g1" ], - "test_mcp_query_rules-t" : [ "ai-g1" ], - "test_mcp_rag_metrics-t" : [ "ai-g1" ], - "test_mcp_static_harvest-t" : [ "ai-g1" ], + "test_mcp_claude_headless_flow-t" : [ "ai-g1","@proxysql_min_version:4.0" ], + "test_mcp_llm_discovery_phaseb-t" : [ "ai-g1","@proxysql_min_version:4.0" ], + "test_mcp_query_rules-t" : [ "ai-g1","@proxysql_min_version:4.0" ], + "test_mcp_rag_metrics-t" : [ "ai-g1","@proxysql_min_version:4.0" ], + "test_mcp_static_harvest-t" : [ "ai-g1","@proxysql_min_version:4.0" ], "test_mysql_connect_retries-t" : [ "legacy-g3","mysql84-g3","mysql-auto_increment_delay_multiplex=0-g3","mysql-multiplexing=false-g3","mysql-query_digests=0-g3","mysql-query_digests_keep_comment=1-g3" ], "test_mysql_connect_retries_delay-t" : [ "legacy-g3","mysql84-g3","mysql-auto_increment_delay_multiplex=0-g3","mysql-multiplexing=false-g3","mysql-query_digests=0-g3","mysql-query_digests_keep_comment=1-g3" ], "test_mysql_hostgroup_attributes-1-t" : [ "legacy-g3","mysql84-g3","mysql-auto_increment_delay_multiplex=0-g3","mysql-multiplexing=false-g3","mysql-query_digests=0-g3","mysql-query_digests_keep_comment=1-g3" ], @@ -361,8 +361,8 @@ "test_thread_conn_dist-t" : [ "legacy-g4","mysql84-g4","mysql-auto_increment_delay_multiplex=0-g4","mysql-multiplexing=false-g4","mysql-query_digests=0-g4","mysql-query_digests_keep_comment=1-g4" ], "test_throttle_max_bytes_per_second_to_client-t" : [ "legacy-g4","mysql84-g4","mysql-auto_increment_delay_multiplex=0-g4","mysql-multiplexing=false-g4","mysql-query_digests=0-g4","mysql-query_digests_keep_comment=1-g4" ], "test_tls_stats-t" : [ "legacy-g4","mysql84-g4","mysql-auto_increment_delay_multiplex=0-g4","mysql-multiplexing=false-g4","mysql-query_digests=0-g4","mysql-query_digests_keep_comment=1-g4" ], - "test_tsdb_api-t" : [ "ai-g1" ], - "test_tsdb_variables-t" : [ "ai-g1" ], + "test_tsdb_api-t" : [ "ai-g1","@proxysql_min_version:3.1" ], + "test_tsdb_variables-t" : [ "ai-g1","@proxysql_min_version:3.1" ], "test_unshun_algorithm-t" : [ "legacy-g4","mysql84-g4","mysql-auto_increment_delay_multiplex=0-g4","mysql-multiplexing=false-g4","mysql-query_digests=0-g4","mysql-query_digests_keep_comment=1-g4" ], "test_unsupported_queries-t" : [ "legacy-g4","mysql84-g4","mysql-auto_increment_delay_multiplex=0-g4","mysql-multiplexing=false-g4","mysql-query_digests=0-g4","mysql-query_digests_keep_comment=1-g4" ], "test_utf8mb4_as_ci-4841-t" : [ "mysql84-g1" ], @@ -370,6 +370,6 @@ "test_wexecvp_syscall_failures-t" : [ "legacy-g4","mysql84-g4","mysql-auto_increment_delay_multiplex=0-g4","mysql-multiplexing=false-g4","mysql-query_digests=0-g4","mysql-query_digests_keep_comment=1-g4" ], "transaction_state_unit-t" : [ "unit-tests-g1" ], "unit-strip_schema_from_query-t" : [ "unit-tests-g1" ], - "vector_db_performance-t" : [ "ai-g1" ], - "vector_features-t" : [ "ai-g1" ] + "vector_db_performance-t" : [ "ai-g1","@proxysql_min_version:4.0" ], + "vector_features-t" : [ "ai-g1","@proxysql_min_version:4.0" ] }