update testcase for testsuite mysql-test

This commit is contained in:
2026-04-23 02:37:40 +08:00
parent 7ef6f4490c
commit ceb10c7db6
61 changed files with 0 additions and 4851 deletions

View File

@@ -2,315 +2,15 @@
"path": "$OET_PATH/testcases/function_test/pkg_test/mysql/mysql-test",
"machine num": 2,
"cases": [
{
"name": "test_mysql-test_install",
"desc": "测试mysql-test软件包的安装功能验证安装过程是否正常完成",
"machine num": 1
},
{
"name": "test_mysql-test_uninstall",
"desc": "测试mysql-test软件包的卸载功能验证卸载过程是否正常完成",
"machine num": 1
},
{
"name": "test_mysql-test_upgrade",
"desc": "测试mysql-test软件包的升级功能验证升级过程是否正常完成",
"machine num": 1
},
{
"name": "test_mysql-test_downgrade",
"desc": "测试mysql-test软件包的降级功能验证降级过程是否正常完成",
"machine num": 1
},
{
"name": "test_mysql-test_rollback",
"desc": "测试mysql-test软件包的回滚功能验证回滚过程是否正常完成",
"machine num": 1
},
{
"name": "test_mysql-test_service_start",
"desc": "测试mysql-test软件包提供的服务启动功能验证服务是否能正常启动",
"machine num": 1
},
{
"name": "test_mysql-test_service_stop",
"desc": "测试mysql-test软件包提供的服务停止功能验证服务是否能正常停止",
"machine num": 1
},
{
"name": "test_mysql-test_service_restart",
"desc": "测试mysql-test软件包提供的服务重启功能验证服务是否能正常重启",
"machine num": 1
},
{
"name": "test_mysql-test_service_status",
"desc": "测试mysql-test软件包提供的服务状态查询功能验证服务状态是否能正常查询",
"machine num": 1
},
{
"name": "test_mysql-test_service_config",
"desc": "测试mysql-test软件包提供的服务配置功能验证服务配置是否能正常修改和生效",
"machine num": 1
},
{
"name": "test_mysql-test_service_log",
"desc": "测试mysql-test软件包提供的服务日志查看功能验证服务日志是否能正常查看",
"machine num": 1
},
{
"name": "test_mysql-test_service_reload",
"desc": "测试mysql-test软件包提供的服务重载功能验证服务配置重载是否能正常生效",
"machine num": 1
},
{
"name": "test_mysql-test_service_enable",
"desc": "测试mysql-test软件包提供的服务开机自启功能验证服务是否能正常设置为开机自启",
"machine num": 1
},
{
"name": "test_mysql-test_service_disable",
"desc": "测试mysql-test软件包提供的服务开机自启禁用功能验证服务是否能正常取消开机自启",
"machine num": 1
},
{
"name": "test_mysql-test_downgrade_rollback",
"desc": "测试mysql-test软件包的降级回滚功能验证降级后回滚过程是否正常完成",
"machine num": 1
},
{
"name": "test_mysql-test_service_log_level",
"desc": "测试mysql-test软件包提供的服务日志级别设置功能验证日志级别是否能正常修改和生效",
"machine num": 1
},
{
"name": "test_mysql-test_service_failover",
"desc": "测试mysql-test软件包提供的服务故障转移功能验证服务在异常情况下是否能正常进行故障转移",
"machine num": 2
},
{
"name": "test_mysql-test_service_log_rotate",
"desc": "测试mysql-test软件包提供的服务日志轮转功能验证日志轮转是否能正常执行",
"machine num": 1
},
{
"name": "test_mysql-test_service_backup",
"desc": "测试mysql-test软件包提供的服务备份功能验证服务数据是否能正常备份",
"machine num": 1
},
{
"name": "test_mysql-test_service_autorecovery",
"desc": "测试mysql-test软件包提供的服务自动恢复功能验证服务在异常停止后是否能自动恢复运行",
"machine num": 1
},
{
"name": "test_mysql-test_service_connection",
"desc": "测试mysql-test软件包提供的服务连接功能验证服务是否能正常连接",
"machine num": 1
},
{
"name": "test_mysql-test_service_monitor",
"desc": "测试mysql-test软件包提供的服务监控功能验证服务运行状态是否能正常监控",
"machine num": 1
},
{
"name": "test_mysql-test_service_connection_pool",
"desc": "测试mysql-test软件包提供的服务连接池功能验证服务连接池是否能正常使用",
"machine num": 1
},
{
"name": "test_mysql-test_service_health_check",
"desc": "测试mysql-test软件包提供的服务健康检查功能验证服务健康状态是否能正常检查",
"machine num": 1
},
{
"name": "test_mysql-test_service_connection_limit",
"desc": "测试mysql-test软件包提供的服务连接限制功能验证服务连接数限制是否能正常设置和生效",
"machine num": 1
},
{
"name": "test_mysql-test_service_authentication",
"desc": "测试mysql-test软件包提供的服务认证功能验证服务认证是否能正常设置和生效",
"machine num": 1
},
{
"name": "test_mysql-test_service_performance",
"desc": "测试mysql-test软件包提供的服务性能监控功能验证服务性能指标是否能正常监控",
"machine num": 1
},
{
"name": "test_mysql-test_service_connection_timeout",
"desc": "测试mysql-test软件包提供的服务连接超时功能验证服务连接超时设置是否能正常生效",
"machine num": 1
},
{
"name": "test_mysql-test_service_connection_retry",
"desc": "测试mysql-test软件包提供的服务连接重试功能验证服务在连接失败后是否能正常进行重试",
"machine num": 1
},
{
"name": "test_mysql-test_service_ssl",
"desc": "测试mysql-test软件包提供的服务ssl功能验证服务ssl配置是否能正常设置和生效",
"machine num": 1
},
{
"name": "test_mysql-test_service_cache",
"desc": "测试mysql-test软件包提供的服务缓存功能验证服务缓存是否能正常设置和生效",
"machine num": 1
},
{
"name": "test_mysql-test_service_log_archive",
"desc": "测试mysql-test软件包提供的服务日志归档功能验证日志归档是否能正常执行",
"machine num": 1
},
{
"name": "test_mysql-test_service_failback",
"desc": "测试mysql-test软件包提供的服务故障回切功能验证服务在故障恢复后是否能正常回切到主节点",
"machine num": 1
},
{
"name": "test_mysql-test_service_connection_pool_size",
"desc": "测试mysql-test软件包提供的服务连接池大小设置功能验证连接池大小是否能正常设置和生效",
"machine num": 1
},
{
"name": "test_mysql-test_service_connection_pool_timeout",
"desc": "测试mysql-test软件包提供的服务连接池超时功能验证连接池超时设置是否能正常生效",
"machine num": 1
},
{
"name": "test_mysql-test_service_log_retention",
"desc": "测试mysql-test软件包提供的服务日志保留功能验证日志保留策略是否能正常设置和生效",
"machine num": 1
},
{
"name": "test_mysql-test_service_connection_pool_health",
"desc": "测试mysql-test软件包提供的服务连接池健康检查功能验证连接池健康状态是否能正常检查",
"machine num": 1
},
{
"name": "test_mysql-test_service_connection_pool_eviction",
"desc": "测试mysql-test软件包提供的服务连接池驱逐功能验证连接池驱逐策略是否能正常设置和生效",
"machine num": 1
},
{
"name": "test_mysql-test_service_connection_timeout_set",
"desc": "测试mysql-test软件包提供的服务连接超时设置功能验证服务连接超时设置是否能正常修改和生效",
"machine num": 1
},
{
"name": "test_mysql-test_service_log_compression",
"desc": "测试mysql-test软件包提供的服务日志压缩功能验证日志压缩是否能正常执行",
"machine num": 1
},
{
"name": "test_mysql-test_service_connection_rate_limit",
"desc": "测试mysql-test软件包提供的服务连接速率限制功能验证服务连接速率限制是否能正常设置和生效",
"machine num": 1
},
{
"name": "test_mysql-test_service_connection_keepalive",
"desc": "测试mysql-test软件包提供的服务连接保持功能验证服务连接保持设置是否能正常生效",
"machine num": 1
},
{
"name": "test_mysql-test_service_connection_pool_monitor",
"desc": "测试mysql-test软件包提供的服务连接池监控功能验证连接池状态是否能正常监控",
"machine num": 1
},
{
"name": "test_mysql-test_service_connection_pool_metrics",
"desc": "测试mysql-test软件包提供的服务连接池指标功能验证连接池指标是否能正常监控",
"machine num": 1
},
{
"name": "test_mysql-test_service_connection_pool_cleanup",
"desc": "测试mysql-test软件包提供的服务连接池清理功能验证连接池清理是否能正常执行",
"machine num": 1
},
{
"name": "test_mysql-test_service_connection_pool_validation",
"desc": "测试mysql-test软件包提供的服务连接池验证功能验证连接池验证策略是否能正常设置和生效",
"machine num": 1
},
{
"name": "test_mysql-test_service_connection_pool_resize",
"desc": "测试mysql-test软件包提供的服务连接池大小调整功能验证连接池大小是否能正常动态调整和生效",
"machine num": 1
},
{
"name": "test_mysql-test_service_connection_pool_reset",
"desc": "测试mysql-test软件包提供的服务连接池重置功能验证连接池是否能正常重置",
"machine num": 1
},
{
"name": "test_mysql-test_service_log_level_set",
"desc": "测试mysql-test软件包提供的服务日志级别设置功能验证日志级别设置是否能正常修改和生效",
"machine num": 1
},
{
"name": "test_mysql-test_service_log_filter",
"desc": "测试mysql-test软件包提供的服务日志过滤功能验证日志过滤是否能正常设置和生效",
"machine num": 1
},
{
"name": "test_mysql-test_service_log_export",
"desc": "测试mysql-test软件包提供的服务日志导出功能验证日志导出是否能正常执行",
"machine num": 1
},
{
"name": "test_mysql-test_service_connection_pool_max_size",
"desc": "测试mysql-test软件包提供的服务连接池最大大小设置功能验证连接池最大大小是否能正常设置和生效",
"machine num": 1
},
{
"name": "test_mysql-test_service_log_level_query",
"desc": "测试mysql-test软件包提供的服务日志级别查询功能验证日志级别是否能正常查询",
"machine num": 1
},
{
"name": "test_mysql-test_service_connection_pool_failover",
"desc": "测试mysql-test软件包提供的服务连接池故障转移功能验证连接池在节点故障时是否能正常进行故障转移",
"machine num": 2
},
{
"name": "test_mysql-test_service_log_analysis",
"desc": "测试mysql-test软件包提供的服务日志分析功能验证日志分析是否能正常执行",
"machine num": 1
},
{
"name": "test_mysql-test_service_connection_pool_max_wait",
"desc": "测试mysql-test软件包提供的服务连接池最大等待功能验证连接池最大等待设置是否能正常生效",
"machine num": 1
},
{
"name": "test_mysql-test_service_connection_pool_min_size",
"desc": "测试mysql-test软件包提供的服务连接池最小大小设置功能验证连接池最小大小是否能正常设置和生效",
"machine num": 1
},
{
"name": "test_mysql-test_service_connection_pool_failback",
"desc": "测试mysql-test软件包提供的服务连接池故障回切功能验证连接池在故障恢复后是否能正常回切到主节点",
"machine num": 2
},
{
"name": "test_mysql-test_service_log_level_dynamic",
"desc": "测试mysql-test软件包提供的服务日志级别动态调整功能验证日志级别能否在不重启服务的情况下动态调整和生效",
"machine num": 1
},
{
"name": "test_mysql-test_service_connection_pool_min_idle",
"desc": "测试mysql-test软件包提供的服务连接池最小空闲连接数设置功能验证连接池最小空闲连接数是否能正常设置和生效",
"machine num": 1
},
{
"name": "test_mysql-test_service_log_rotation_config",
"desc": "测试mysql-test软件包提供的服务日志轮转配置功能验证日志轮转配置是否能正常设置和生效",
"machine num": 1
},
{
"name": "test_mysql-test_service_log_export_format",
"desc": "测试mysql-test软件包提供的服务日志导出格式功能验证日志导出格式是否能正常设置和生效",
"machine num": 1
}
]
}

View File

@@ -1,87 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包的降级功能验证降级过程是否正常完成
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test
LOG_INFO "检查是否已安装mysql-test"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test已安装脚本结束时将保持安装状态"
INSTALLED=1
else
LOG_INFO "mysql-test未安装将在测试后卸载"
INSTALLED=0
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在mysql-test软件包"
exit 255
fi
# 获取当前安装的mysql-test版本
LOG_INFO "获取当前安装的mysql-test版本"
CURRENT_VERSION=$(rpm -q --queryformat "%{VERSION}" mysql-test 2>/dev/null)
if [ $? -ne 0 ]; then
CURRENT_VERSION="未安装"
fi
LOG_INFO "当前mysql-test版本: $CURRENT_VERSION"
# 获取可用的低版本mysql-test
LOG_INFO "获取可用的低版本mysql-test"
LOWER_VERSION=$(dnf list available mysql-test --showduplicates | awk "/mysql-test/ {print $2}" | sort -V | head -n 1)
if [ -z "$LOWER_VERSION" ]; then
LOG_ERROR "未找到可用的低版本mysql-test"
exit 255
fi
LOG_INFO "可用的低版本mysql-test: $LOWER_VERSION"
# 降级mysql-test
LOG_INFO "开始降级mysql-test到版本: $LOWER_VERSION"
dnf downgrade -y mysql-test-$LOWER_VERSION > /dev/null 2>&1
CHECK_RESULT $? 0 0 "mysql-test降级失败"
# 验证降级后的版本
LOG_INFO "验证降级后的版本"
NEW_VERSION=$(rpm -q --queryformat "%{VERSION}" mysql-test 2>/dev/null)
CHECK_RESULT $? 0 0 "获取降级后版本失败"
if [ "$NEW_VERSION" != "$LOWER_VERSION" ]; then
LOG_ERROR "降级后的版本($NEW_VERSION)与预期版本($LOWER_VERSION)不一致"
exit 1
fi
LOG_INFO "降级后的版本: $NEW_VERSION"
# 恢复环境(如果初始未安装)
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载测试过程中安装的mysql-test"
dnf remove -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载mysql-test失败"
else
LOG_INFO "保持mysql测试包的安装状态不进行卸载"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,78 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包的降级回滚功能验证降级后回滚过程是否正常完成
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试mysql-test软件包的降级回滚功能
LOG_INFO "开始测试mysql-test软件包的降级回滚功能"
# 检查是否已安装mysql-test
if dnf list installed mysql-test &>/dev/null; then
LOG_INFO "mysql-test已安装脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "mysql-test未安装将在测试结束后卸载"
INSTALLED=false
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
if ! dnf list available mysql-test &>/dev/null; then
LOG_ERROR "yum源中未找到mysql-test软件包"
exit 255
fi
# 安装指定版本的mysql-test假设降级版本为旧版本
LOG_INFO "安装指定版本的mysql-test降级版本"
dnf install -y mysql-test-<old_version>
CHECK_RESULT $? 0 0 "安装降级版本的mysql-test失败"
# 验证降级后的版本是否正确
LOG_INFO "验证降级后的版本是否正确"
current_version=$(rpm -q --queryformat "%{VERSION}" mysql-test)
if [ "$current_version" != "<old_version>" ]; then
LOG_ERROR "降级后的版本不正确,当前版本为 $current_version"
exit 1
fi
# 执行回滚操作(假设回滚到上一个版本)
LOG_INFO "执行回滚操作"
dnf history undo last -y
CHECK_RESULT $? 0 0 "回滚操作失败"
# 验证回滚后的版本是否正确
LOG_INFO "验证回滚后的版本是否正确"
rollback_version=$(rpm -q --queryformat "%{VERSION}" mysql-test)
if [ "$rollback_version" != "<new_version>" ]; then
LOG_ERROR "回滚后的版本不正确,当前版本为 $rollback_version"
exit 1
fi
# 清理环境如果最初未安装则卸载mysql-test
if [ "$INSTALLED" = false ]; then
LOG_INFO "清理环境卸载mysql-test"
dnf remove -y mysql-test
CHECK_RESULT $? 0 0 "卸载mysql-test失败"
fi
LOG_INFO "测试完成mysql-test软件包的降级回滚功能验证成功"
}
main "$@"

View File

@@ -1,66 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包的安装功能验证安装过程是否正常完成
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试mysql-test软件包的安装功能"
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在mysql-test软件包"
exit 255
fi
# 检查是否已安装mysql-test
LOG_INFO "检查是否已安装mysql-test"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test已安装跳过安装步骤"
installed=true
else
installed=false
fi
# 如果未安装,则执行安装
if [ "$installed" = false ]; then
LOG_INFO "开始安装mysql-test软件包"
dnf install -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装mysql-test失败"
LOG_INFO "mysql-test安装成功"
fi
# 验证安装是否正常完成
LOG_INFO "验证mysql-test是否可正常使用"
mysql_test --version > /dev/null 2>&1
CHECK_RESULT $? 0 0 "mysql-test无法正常使用"
# 如果脚本开始时未安装,则在结束时卸载
if [ "$installed" = false ]; then
LOG_INFO "卸载mysql-test软件包"
dnf remove -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载mysql-test失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,66 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包的回滚功能验证回滚过程是否正常完成
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test &> /dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在mysql-test软件包"
exit 255
fi
# 检查是否已安装mysql-test
LOG_INFO "检查是否已安装mysql-test"
rpm -q mysql-test &> /dev/null
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test已安装脚本结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "mysql-test未安装脚本结束后将卸载"
INSTALLED=false
fi
# 安装mysql-test软件包如果未安装
if ! $INSTALLED; then
LOG_INFO "开始安装mysql-test软件包"
dnf install -y mysql-test &> /dev/null
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
fi
# 测试回滚功能
LOG_INFO "测试mysql-test的回滚功能"
dnf history undo last -y &> /dev/null
CHECK_RESULT $? 0 0 "回滚操作失败"
# 清理环境(如果初始未安装)
if ! $INSTALLED; then
LOG_INFO "卸载mysql-test软件包"
dnf remove -y mysql-test &> /dev/null
CHECK_RESULT $? 0 0 "卸载mysql-test软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,74 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务认证功能验证服务认证是否能正常设置和生效
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到mysql-test软件包"
exit 255
fi
# 检查是否已安装mysql-test
LOG_INFO "检查是否已安装mysql-test"
rpm -q mysql-test &>/dev/null
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test已安装测试完成后将保持安装状态"
INSTALLED=1
else
LOG_INFO "mysql-test未安装将在测试完成后卸载"
INSTALLED=0
fi
# 若未安装则安装mysql-test
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装mysql-test软件包"
dnf install -y mysql-test
CHECK_RESULT $? 0 0 "安装mysql-test失败"
fi
# 验证服务认证功能
LOG_INFO "验证服务认证功能是否能正常设置和生效"
# 模拟设置服务认证假设命令为mysql_test_auth
LOG_INFO "设置服务认证"
mysql_test_auth --set-auth &>/dev/null
CHECK_RESULT $? 0 0 "设置服务认证失败"
# 验证服务认证是否生效假设命令为mysql_test_auth --verify
LOG_INFO "验证服务认证是否生效"
mysql_test_auth --verify &>/dev/null
CHECK_RESULT $? 0 0 "服务认证未生效"
# 清理环境若测试前未安装则卸载mysql-test
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载mysql-test软件包"
dnf remove -y mysql-test
CHECK_RESULT $? 0 0 "卸载mysql-test失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,72 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务自动恢复功能验证服务在异常停止后是否能自动恢复运行
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test软件包
LOG_INFO "检查是否已安装mysql-test软件包"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test软件包已安装脚本结束时将保持安装状态"
INSTALLED=1
else
LOG_INFO "mysql-test软件包未安装将在测试结束后卸载"
INSTALLED=0
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中不存在mysql-test软件包"
# 安装mysql-test软件包如果未安装
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装mysql-test软件包"
dnf install -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 255 "安装mysql-test软件包失败"
fi
# 检查服务是否已启动
LOG_INFO "检查mysql-test服务是否已启动"
systemctl is-active mysql-test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_INFO "启动mysql-test服务"
systemctl start mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 1 "启动mysql-test服务失败"
fi
# 模拟服务异常停止并验证自动恢复功能
LOG_INFO模拟停止mysql-test服务并验证自动恢复功能"
systemctl stop mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 1停止mysq1- test服务失败"
sleep5#等待服务自动恢复
LOG INFO"检查mysq1- test服务是否自动恢复运行"systemctlis-active mysq1- test> / dev/nul12>&lCHECK_RESULT $ ?00"mysq1- test服务未能自动恢复运行"
#清理环境(如果最初未安装)
if[ $INSTALLED-eqO];thenLOG INFO"卸载mysq1- test软件包"dnf remove-y mysq1- test> / dev/nul12>&lCHECK_RESULT $ ?00"卸载mysq1- test软件包失败"
fi
LOG INFO测试完成环境已恢复"
}
main "$@"

View File

@@ -1,71 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务备份功能验证服务数据是否能正常备份
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试mysql-test软件包提供的服务备份功能验证服务数据是否能正常备份"
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在mysql-test软件包"
exit 255
fi
# 检查是否已安装mysql-test
LOG_INFO "检查是否已安装mysql-test"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test已安装跳过安装步骤"
INSTALLED=true
else
LOG_INFO "mysql-test未安装开始安装"
dnf install -y mysql-test
CHECK_RESULT $? 0 0 "安装mysql-test失败"
INSTALLED=false
fi
# 测试服务备份功能
LOG_INFO "测试服务备份功能"
backup_command="mysql-test-service-backup --backup-dir=/tmp/mysql-test-backup"
$backup_command
CHECK_RESULT $? 0 0 "服务备份失败"
# 验证备份文件是否存在
LOG_INFO "验证备份文件是否存在"
ls /tmp/mysql-test-backup > /dev/null 2>&1
CHECK_RESULT $? 0 0 "未找到备份文件"
# 清理备份文件
LOG_INFO "清理备份文件"
rm -rf /tmp/mysql-test-backup
# 如果脚本安装的软件包,则卸载
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载mysql-test软件包"
dnf remove -y mysql-test
CHECK_RESULT $? 0 0 "卸载mysql-test失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,79 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务缓存功能验证服务缓存是否能正常设置和生效
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试mysql-test软件包提供的服务缓存功能验证服务缓存是否能正常设置和生效
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在mysql-test软件包"
exit 255
fi
# 检查是否已安装mysql-test
LOG_INFO "检查是否已安装mysql-test"
rpm -q mysql-test &>/dev/null
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test已安装脚本结束时保持安装状态"
installed=true
else
LOG_INFO "mysql-test未安装将在测试步骤中安装"
installed=false
fi
# 若未安装则安装mysql-test
if [ "$installed" = false ]; then
LOG_INFO "安装mysql-test软件包"
dnf install -y mysql-test
CHECK_RESULT $? 0 0 "安装mysql-test失败"
fi
# 验证服务缓存设置功能
LOG_INFO "验证服务缓存设置功能"
mysql_test_command="mysql-test --set-cache=enable"
$mysql_test_command
CHECK_RESULT $? 0 0 "设置服务缓存失败"
# 验证服务缓存生效功能
LOG_INFO "验证服务缓存生效功能"
mysql_test_command="mysql-test --check-cache"
$mysql_test_command
CHECK_RESULT $? 0 0 "服务缓存未生效"
# 若脚本开始时未安装mysql-test则在结束时卸载
if [ "$installed" = false ]; then
LOG_INFO "卸载mysql-test软件包"
dnf remove -y mysql-test
CHECK_RESULT $? 0 0 "卸载mysql-test失败"
# 确认卸载成功
rpm -q mysql-test &>/dev/null
CHECK_RESULT $? 1 0 "mysql-te st卸载后仍存在"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,80 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务配置功能验证服务配置是否能正常修改和生效
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查MySQL-test软件包是否已安装
LOG_INFO "检查MySQL-test软件包是否已安装"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "MySQL-test软件包已安装无需重复安装"
INSTALLED=1
else
LOG_INFO "MySQL-test软件包未安装将在测试步骤中安装"
INSTALLED=0
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在mysql-test软件包退出测试"
exit 255
fi
# 若未安装则安装mysql-test软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装mysql-test软件包"
dnf install -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
fi
# 验证服务配置功能
LOG_INFO "验证服务配置功能"
# 假设服务配置修改命令为mysql_test_config --set-param=value
LOG_INFO "尝试修改服务配置参数"
mysql_test_config --set-param=test_value > /dev/null 2>&1
CHECK_RESULT $? 0 0 "修改服务配置参数失败"
LOG_INFO "验证服务配置是否生效"
output=$(mysql_test_config --get-param)
CHECK_RESULT $? 0 0 "获取服务配置参数失败"
if [ "$output" != "test_value" ]; then
LOG_ERROR "服务配置参数未生效,当前值为: $output"
exit 1
else
LOG_INFO "服务配置参数已生效,当前值为: $output"
fi
# 恢复环境
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载mysql-test软件包以恢复环境"
dnf remove -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载mysql-test软件包失败"
else
LOG_INFO "保持原有环境不卸载mysql-test软件包"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,66 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务连接功能验证服务是否能正常连接
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test软件包
LOG_INFO "检查是否已安装mysql-test软件包"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test软件包已安装跳过安装步骤"
INSTALLED=1
else
LOG_INFO "mysql-test软件包未安装将进行安装"
INSTALLED=0
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到mysql-test软件包"
exit 255
fi
# 安装mysql-test软件包如果未安装
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装mysql-test软件包"
dnf install -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
LOG_INFO "mysql-test软件包安装成功"
fi
# 测试服务连接功能
LOG_INFO "测试mysql-test服务连接功能"
mysql-test-run.pl --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "mysql-test服务连接测试失败"
# 清理环境(如果之前未安装)
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "清理环境卸载mysql-test软件包"
dnf remove -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载mysql-test软件包失败"
LOG_INFO "环境清理完成,恢复到初始状态"
else
LOG_INFO "保持当前环境,不进行卸载操作"
fi
}
main "$@"

View File

@@ -1,71 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务连接保持功能验证服务连接保持设置是否能正常生效
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试mysql-test软件包提供的服务连接保持功能
LOG_INFO "开始测试mysql-test服务连接保持功能"
# 检查是否已安装mysql-test软件包
LOG_INFO "检查mysql-test软件包是否已安装"
if rpm -q mysql-test &>/dev/null; then
LOG_INFO "mysql-test软件包已安装跳过安装步骤"
INSTALLED=true
else
LOG_INFO "mysql-test软件包未安装准备安装"
INSTALLED=false
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
if ! dnf list available mysql-test &>/dev/null; then
LOG_ERROR "yum源中未找到mysql-test软件包"
exit 255
fi
# 安装mysql-test软件包如果未安装
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装mysql-test软件包"
dnf install -y mysql-test
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
fi
# 验证服务连接保持功能
LOG_INFO "验证mysql-test服务连接保持功能"
# 假设服务连接保持功能通过特定命令或配置文件验证
# 示例检查服务配置文件中是否包含keepalive设置
if grep -q "keepalive" /etc/mysql-test.conf; then
LOG_INFO "服务连接保持设置已生效"
else
LOG_ERROR "服务连接保持设置未生效"
exit 1
fi
# 清理环境(如果脚本安装了软件包)
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载mysql-test软件包"
dnf remove -y mysql-test
CHECK_RESULT $? 0 0 "卸载mysql-test软件包失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,77 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务连接限制功能验证服务连接数限制是否能正常设置和生效
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test软件包
LOG_INFO "检查是否已安装mysql-test软件包"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test软件包已安装"
INSTALLED=1
else
LOG_INFO "mysql-test软件包未安装"
INSTALLED=0
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在mysql-test软件包"
exit 255
fi
# 如果未安装则安装mysql-test软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装mysql-test软件包"
dnf install -y mysql-test
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
fi
# 测试服务连接限制功能
LOG_INFO "测试mysql-test服务连接限制功能"
# 设置连接数限制
LOG_INFO "设置服务连接数限制为10"
mysqladmin -uroot variables set max_connections=10
CHECK_RESULT $? 0 0 "设置连接数限制失败"
# 验证连接数限制是否生效
LOG_INFO "验证连接数限制是否生效"
mysql -uroot -e "show variables like "max_connections";" | grep 10
CHECK_RESULT $? 0 0 "连接数限制未生效"
# 恢复连接数限制为默认值(如果需要)
LOG_INFO "恢复连接数限制为默认值"
mysqladmin -uroot variables set max_connections=151
CHECK_RESULT $? 0 0 "恢复连接数限制失败"
# 如果脚本开始时未安装则卸载mysql-test软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载mysql-test软件包"
dnf remove -y mysql-test
CHECK_RESULT $? 0 0 "卸载mysql-test软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,69 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务连接池功能验证服务连接池是否能正常使用
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试mysql-test软件包提供的服务连接池功能"
# 检查是否已安装mysql-test软件包
LOG_INFO "检查mysql-test软件包是否已安装"
if dnf list installed mysql-test &>/dev/null; then
LOG_INFO "mysql-test软件包已安装跳过安装步骤"
installed=true
else
LOG_INFO "mysql-test软件包未安装准备安装"
installed=false
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
if ! dnf list available mysql-test &>/dev/null; then
LOG_ERROR "yum源中未找到mysql-test软件包"
exit 255
fi
# 如果未安装则安装mysql-test软件包
if [ "$installed" = false ]; then
LOG_INFO "安装mysql-test软件包"
dnf install -y mysql-test
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
fi
# 测试服务连接池功能
LOG_INFO "测试服务连接池功能"
if ! mysqladmin ping &>/dev/null; then
LOG_ERROR "无法连接到MySQL服务"
exit 1
fi
LOG_INFO "验证服务连接池是否能正常使用"
CHECK_RESULT $? 0 0 "服务连接池功能异常"
# 清理环境
if [ "$installed" = false ]; then
LOG_INFO "卸载mysql-test软件包"
dnf remove -y mysql-test
CHECK_RESULT $? 0 0 "卸载mysql-test软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,80 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务连接池清理功能验证连接池清理是否能正常执行
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试mysql-test软件包提供的服务连接池清理功能"
# 检查是否已安装mysql-test软件包
LOG_INFO "检查mysql-test软件包是否已安装"
if rpm -q mysql-test &>/dev/null; then
LOG_INFO "mysql-test软件包已安装跳过安装步骤"
INSTALLED=true
else
LOG_INFO "mysql-test软件包未安装准备安装"
INSTALLED=false
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
if ! dnf list available mysql-test &>/dev/null; then
LOG_ERROR "yum源中不存在mysql-test软件包"
exit 255
fi
# 如果未安装则安装mysql-test软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装mysql-test软件包"
dnf install -y mysql-test || {
LOG_ERROR "安装mysql-test软件包失败"
exit 1
}
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
fi
# 验证连接池清理功能
LOG_INFO "验证连接池清理功能"
systemctl restart mysql-test || {
LOG_ERROR "重启mysql-test服务失败"
exit 1
}
CHECK_RESULT $? 0 0 "重启mysql-test服务失败"
LOG_INFO "执行连接池清理命令"
mysqladmin flush-hosts || {
LOG_ERROR "连接池清理命令执行失败"
exit 1
}
CHECK_RESULT $? 0 0 "连接池清理命令执行失败"
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载mysql-test软件包"
dnf remove -y mysql-test || {
LOG_ERROR "卸载mysql-test软件包失败"
exit 1
}
CHECK_RESULT $? 0 0 "卸载mysql-test软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,117 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务连接池驱逐功能验证连接池驱逐策略是否能正常设置和生效
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查软件包是否已安装
check_package_installed() {
rpm -q "$1" > /dev/null 2>&1
return $?
}
# 检查yum源中是否存在软件包
check_package_in_repo() {
dnf list available "$1" > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 $1 不在yum源中"
exit 255
fi
}
# 安装软件包
install_package() {
LOG_INFO "正在安装软件包 $1"
dnf install -y "$1"
CHECK_RESULT $? 0 0 "安装软件包 $1 失败"
}
# 卸载软件包
uninstall_package() {
LOG_INFO "正在卸载软件包 $1"
dnf remove -y "$1"
CHECK_RESULT $? 0 0 "卸载软件包 $1 失败"
}
# 主测试函数
test_mysql_test_service_connection_pool_eviction() {
local package_name="mysql-test"
# 检查环境是否已安装
if check_package_installed "$package_name"; then
LOG_INFO "环境已安装 $package_name,测试完成后将保持安装状态"
local need_uninstall=false
else
LOG_INFO "环境未安装 $package_name,测试完成后将卸载"
local need_uninstall=true
# 检查yum源中是否存在软件包
check_package_in_repo "$package_name"
# 安装软件包
install_package "$package_name"
fi
# 测试连接池驱逐功能设置和生效
# 步骤1:设置连接池驱逐策略参数(示例参数)
LOG_INFO "步骤1:设置连接池驱逐策略参数"
#假设--pool-eviction-interval为支持的参数
command="mysql-test --pool-eviction-interval=60"
$command > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "--pool-eviction-interval参数不支持或命令执行失败"
exit 255
fi
CHECK_RESULT $? 0 0 "--pool-eviction-interval参数设置失败"
#步骤2:验证连接池驱逐策略是否生效(模拟验证逻辑)
LOG_INFO "步骤2:验证连接池驱逐策略是否生效"
#模拟检查日志或状态确认策略生效(此处仅为示例)
grep -q "Eviction policy set to interval=60" /var/log/mysql-test.log 2>/dev/null
if [ ! grep_result=$? ];then
CHECK_RESULT grep_result 0 0 "连接池驱逐策略未生效"
else
LOG_ERROR "无法验证连接池驱逐策略是否生效"
exit 255
fi
LOG_INFO "测试完成"
if [ "$need_uninstall" = true ]; then
uninstall_package "$package_name"
fi
}
test_mysql_test_service_connection_pool_eviction
exit $?
}
main "$@"

View File

@@ -1,83 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务连接池故障回切功能验证连接池在故障恢复后是否能正常回切到主节点
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查MySQL-test软件包是否已安装
LOG_INFO "检查MySQL-test软件包是否已安装"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "MySQL-test软件包已安装"
INSTALLED=1
else
LOG_INFO "MySQL-test软件包未安装"
INSTALLED=0
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在mysql-test软件包"
exit 255
fi
# 如果未安装则安装mysql-test软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装mysql-test软件包"
dnf install -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
fi
# 测试服务连接池故障回切功能
LOG_INFO "测试服务连接池故障回切功能"
# 模拟主节点故障并验证连接池回切
LOG_INFO "模拟主节点故障并验证连接池回切"
SSH_CMD "systemctl stop mysqld" $NODE1_IPV4 $NODE1_PASSWORD $NODE1_USER
CHECK_RESULT $? 0 0 "停止主节点MySQL服务失败"
# 验证连接池是否切换到备用节点
LOG_INFO "验证连接池是否切换到备用节点"
SSH_CMD "mysql -e "SELECT @@hostname"" $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER | grep $NODE2_HOSTNAME
CHECK_RESULT $? 0 0 "连接池未切换到备用节点"
# 恢复主节点并验证连接池回切到主节点
LOG_INFO "恢复主节点并验证连接池回切到主节点"
SSH_CMD "systemctl start mysqld" $NODE1_IPV4 $NODE1_PASSWORD $NODE1_USER
CHECK_RESULT $? 0 0 "启动主节点MySQL服务失败"
#等待一段时间确保集群状态稳定
sleep 30
#验证连接池是否回切到主节点
LOG_INFO "验证连接池是否回切到主节点"
SSH_CMD "mysql -e "SELECT @@hostname"" $NODE1_IPV4 $NODE1_PASSWORD $NODE1_USER | grep $NODE1_HOSTNAME
CHECK_RESULT $? 0 0"连接池未回切到主节点"
#如果脚本开始时未安装则卸载mysql-test
if [ ${INSTALLED} -eq ] ; then
LOG_INFO"卸载mysql-test"
dnf remove -y mysql* >/dev/null
CHECK_RESULT $ "卸载失败"
fi
}
main "$@"

View File

@@ -1,77 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务连接池故障转移功能验证连接池在节点故障时是否能正常进行故障转移
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试mysql-test软件包提供的服务连接池故障转移功能"
# 检查是否已安装mysql-test软件包
LOG_INFO "检查是否已安装mysql-test软件包"
if rpm -q mysql-test &>/dev/null; then
LOG_INFO "mysql-test软件包已安装"
INSTALLED=true
else
LOG_INFO "mysql-test软件包未安装"
INSTALLED=false
fi
# 检查yum源中是否有mysql-test软件包
LOG_INFO "检查yum源中是否有mysql-test软件包"
if ! dnf list available mysql-test &>/dev/null; then
LOG_ERROR "yum源中未找到mysql-test软件包"
exit 255
fi
# 如果未安装则安装mysql-test软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装mysql-test软件包"
dnf install -y mysql-test
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
fi
# 测试服务连接池故障转移功能
LOG_INFO "测试服务连接池故障转移功能"
# 模拟节点故障并验证连接池是否正常进行故障转移(此处为示例,实际命令需根据具体实现调整)
SSH_CMD "systemctl stop mysqld" $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER
CHECK_RESULT $? 0 0 "停止mysqld服务失败"
# 验证连接池是否切换到其他节点(此处为示例,实际命令需根据具体实现调整)
LOG_INFO "验证连接池是否切换到其他节点"
SSH_CMD "systemctl status mysqld" $NODE1_IPV4 $NODE1_PASSWORD $NODE1_USER | grep -q "active (running)"
CHECK_RESULT $? 0 0 "连接池未正常切换到其他节点"
# 恢复节点状态
LOG_INFO "恢复节点状态"
SSH_CMD "systemctl start mysqld" $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER
CHECK_RESULT $? 0 0 "启动mysqld服务失败"
# 如果脚本开始时未安装则卸载mysql-test软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载mysql-test软件包"
dnf remove -y mysql-test
CHECK_RESULT $? 0 0 "卸载mysql-test软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,64 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务连接池健康检查功能验证连接池健康状态是否能正常检查
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查MySQL-test软件包是否已安装
LOG_INFO "检查MySQL-test软件包是否已安装..."
if ! dnf list installed mysql-test &>/dev/null; then
LOG_INFO "MySQL-test软件包未安装将进行安装..."
INSTALLED=false
else
LOG_INFO "MySQL-test软件包已安装..."
INSTALLED=true
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包..."
if ! dnf list available mysql-test &>/dev/null; then
LOG_ERROR "yum源中未找到mysql-test软件包..."
exit 255
fi
# 如果未安装则安装mysql-test软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装mysql-test软件包..."
dnf install -y mysql-test
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
fi
# 测试连接池健康检查功能
LOG_INFO "测试mysql-test服务连接池健康检查功能..."
mysqladmin ping
CHECK_RESULT $? 0 0 "连接池健康检查失败"
# 如果之前未安装则卸载mysql-test软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载mysql-test软件包..."
dnf remove -y mysql-test
CHECK_RESULT $? 0 0 "卸载mysql-test软件包失败"
fi
LOG_INFO "测试完成,环境已恢复..."
}
main "$@"

View File

@@ -1,76 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务连接池最大大小设置功能验证连接池最大大小是否能正常设置和生效
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test软件包
LOG_INFO "检查是否已安装mysql-test软件包"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test软件包已安装脚本结束时将保持安装状态"
INSTALLED=1
else
LOG_INFO "mysql-test软件包未安装脚本结束时将卸载"
INSTALLED=0
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在mysql-test软件包"
exit 255
fi
# 安装mysql-test软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装mysql-test软件包"
dnf install -y mysql-test
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
fi
# 检查mysql-test服务是否支持连接池最大大小设置
LOG_INFO "检查mysql-test服务是否支持连接池最大大小设置"
mysql-test --help | grep "connection-pool-max-size" > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "mysql-test服务不支持连接池最大大小设置"
exit 255
fi
# 设置连接池最大大小并验证
LOG_INFO "设置连接池最大大小为100并验证"
mysql-test --connection-pool-max-size=100
CHECK_RESULT $? 0 0 "设置连接池最大大小失败"
LOG_INFO "验证连接池最大大小是否生效"
mysql-test --show-config | grep "connection-pool-max-size=100" > /dev/null 2>&1
CHECK_RESULT $? 0 0 "连接池最大大小设置未生效"
# 清理环境
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载mysql-test软件包"
dnf remove -y mysql-test
CHECK_RESULT $? 0 0 "卸载mysql-test软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,72 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务连接池最大等待功能验证连接池最大等待设置是否能正常生效
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test软件包
LOG_INFO "检查是否已安装mysql-test软件包"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test软件包已安装"
INSTALLED=1
else
LOG_INFO "mysql-test软件包未安装"
INSTALLED=0
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在mysql-test软件包"
exit 255
fi
# 若未安装则安装mysql-test软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装mysql-test软件包"
dnf install -y mysql-test
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
fi
# 测试连接池最大等待功能
LOG_INFO "测试mysql-test服务连接池最大等待功能"
mysql-test --test-connection-pool-max-wait > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "mysql-test不支持--test-connection-pool-max-wait参数"
exit 255
fi
# 执行连接池最大等待测试
LOG_INFO "执行连接池最大等待测试"
mysql-test --test-connection-pool-max-wait=10
CHECK_RESULT $? 0 0 "连接池最大等待测试失败"
# 清理环境
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载mysql-test软件包"
dnf remove -y mysql-test
CHECK_RESULT $? 0 0 "卸载mysql-test软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,64 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务连接池指标功能验证连接池指标是否能正常监控
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test软件包
LOG_INFO "检查是否已安装mysql-test软件包"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test软件包已安装"
INSTALLED=1
else
LOG_INFO "mysql-test软件包未安装"
INSTALLED=0
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在mysql-test软件包"
exit 255
fi
# 如果未安装则安装mysql-test软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装mysql-test软件包"
dnf install -y mysql-test
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
fi
# 验证连接池指标功能
LOG_INFO "验证连接池指标功能"
mysql-test --test=connection_pool_metrics > /dev/null 2>&1
CHECK_RESULT $? 0 0 "连接池指标功能验证失败"
# 如果脚本开始时未安装则卸载mysql-test软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载mysql-test软件包"
dnf remove -y mysql-test
CHECK_RESULT $? 0 0 "卸载mysql-test软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,81 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务连接池最小空闲连接数设置功能验证连接池最小空闲连接数是否能正常设置和生效
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test软件包
LOG_INFO "检查是否已安装mysql-test软件包"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test软件包已安装"
INSTALLED=true
else
LOG_INFO "mysql-test软件包未安装"
INSTALLED=false
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在mysql-test软件包"
exit 255
fi
# 如果未安装则安装mysql-test软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装mysql-test软件包"
dnf install -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
LOG_INFO "mysql-test软件包安装成功"
fi
# 测试连接池最小空闲连接数设置功能
LOG_INFO "测试连接池最小空闲连接数设置功能"
# 设置最小空闲连接数为5
LOG_INFO "设置最小空闲连接数为5"
systemctl set-property mysqld.service ConnectionPoolMinIdle=5 > /dev/null 2>&1
CHECK_RESULT $? 0 0 "设置最小空闲连接数失败"
# 重启mysqld服务使配置生效
LOG_INFO "重启mysqld服务使配置生效"
systemctl restart mysqld > /dev/null 2>&1
CHECK_RESULT $? 0 0 "重启mysqld服务失败"
# 验证最小空闲连接数是否生效
LOG_INFO "验证最小空闲连接数是否生效"
ACTUAL_VALUE=$(systemctl show --property=ConnectionPoolMinIdle mysqld.service | cut -d"=" -f2)
CHECK_RESULT "$ACTUAL_VALUE" "5" "\"最小空闲连接数设置未生效\""
# 恢复环境如果脚本开始时未安装则卸载mysql-test软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载mysql-test软件包"
dnf remove -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载mysql-test软件包失败"
LOG_INFO "mysql-test软件包卸载成功"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,80 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务连接池最小大小设置功能验证连接池最小大小是否能正常设置和生效
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test软件包
LOG_INFO "检查是否已安装mysql-test软件包"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test软件包已安装"
INSTALLED=1
else
LOG_INFO "mysql-test软件包未安装"
INSTALLED=0
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在mysql-test软件包"
exit 255
fi
# 如果未安装则安装mysql-test软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装mysql-test软件包"
dnf install -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
fi
# 测试连接池最小大小设置功能
LOG_INFO "测试连接池最小大小设置功能"
# 检查连接池最小大小设置参数是否存在
LOG_INFO "检查连接池最小大小设置参数是否存在"
mysql-test --help | grep "min-pool-size" > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "连接池最小大小设置参数不存在或不支持"
exit 255
fi
# 设置连接池最小大小为10并验证
LOG_INFO "设置连接池最小大小为10并验证"
mysql-test --min-pool-size=10 > /dev/null 2>&1
CHECK_RESULT $? 0 0 "设置连接池最小大小失败"
# 验证连接池最小大小是否生效
LOG_INFO "验证连接池最小大小是否生效"
ACTUAL_SIZE=$(mysql-test --show-pool-size | grep "min-pool-size" | awk "{print $2}")
CHECK_RESULT $ACTUAL_SIZE 10 "连接池最小大小未生效"
# 恢复环境
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载mysql-test软件包"
dnf remove -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载mysql-test软件包失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,72 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务连接池监控功能验证连接池状态是否能正常监控
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test软件包
LOG_INFO "检查是否已安装mysql-test软件包"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test软件包已安装"
installed=true
else
LOG_INFO "mysql-test软件包未安装"
installed=false
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在mysql-test软件包"
exit 255
fi
# 如果未安装则安装mysql-test软件包
if [ "$installed" = false ]; then
LOG_INFO "开始安装mysql-test软件包"
dnf install -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
LOG_INFO "mysql-test软件包安装成功"
fi
# 测试连接池监控功能
LOG_INFO "测试连接池监控功能"
systemctl start mysqld > /dev/null 2>&1
CHECK_RESULT $? 0 0 "启动mysqld服务失败"
LOG_INFO "验证连接池状态是否能正常监控"
mysqladmin -uroot ping > /dev/null 2>&1
CHECK_RESULT $? 0 0 "连接池状态监控失败"
LOG_INFO "停止mysqld服务"
systemctl stop mysqld > /dev/null 2>&1
CHECK_RESULT $? 0 0 "停止mysqld服务失败"
# 如果脚本开始时未安装mysql-test软件包则在脚本结束时卸载它
if [ "$installed" = false ]; then
LOG_INFO "卸载mysql-test软件包"
dnf remove -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载mysql-test软件包失败"
LOG_INFO "mysql-test软件包卸载成功"
fi
}
main "$@"

View File

@@ -1,63 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务连接池重置功能验证连接池是否能正常重置
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试mysql-test软件包提供的服务连接池重置功能"
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在mysql-test软件包"
exit 255
fi
# 检查是否已安装mysql-test
LOG_INFO "检查是否已安装mysql-test"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test已安装跳过安装步骤"
INSTALLED=true
else
LOG_INFO "mysql-test未安装开始安装"
dnf install -y mysql-test
CHECK_RESULT $? 0 0 "安装mysql-test失败"
INSTALLED=false
fi
# 验证连接池重置功能
LOG_INFO "验证连接池重置功能"
mysql-test --test-service-connection-pool-reset > /dev/null 2>&1
CHECK_RESULT $? 0 0 "连接池重置功能验证失败"
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载mysql-test"
dnf remove -y mysql-test
CHECK_RESULT $? 0 0 "卸载mysql-test失败"
else
LOG_INFO "保持mysql-test安装状态"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,88 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务连接池大小调整功能验证连接池大小是否能正常动态调整和生效
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test软件包
LOG_INFO "检查是否已安装mysql-test软件包"
if rpm -q mysql-test &>/dev/null; then
LOG_INFO "mysql-test已安装脚本结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "mysql-test未安装将在测试完成后卸载"
INSTALLED=false
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
if ! dnf list available mysql-test &>/dev/null; then
LOG_ERROR "yum源中不存在mysql-test软件包"
exit 255
fi
# 安装mysql-test软件包如果未安装
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装mysql-test软件包"
dnf install -y mysql-test
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
fi
# 测试连接池大小调整功能
LOG_INFO "测试连接池大小调整功能"
# 获取当前连接池大小
LOG_INFO "获取当前连接池大小"
CURRENT_POOL_SIZE=$(mysql -e "SHOW VARIABLES LIKE "connection_pool_size";" | awk "{print $2}")
CHECK_RESULT $? 0 0 "获取连接池大小失败"
# 设置新的连接池大小
NEW_POOL_SIZE=$((CURRENT_POOL_SIZE + 1))
LOG_INFO "设置新的连接池大小为 $NEW_POOL_SIZE"
mysql -e "SET GLOBAL connection_pool_size = $NEW_POOL_SIZE;"
CHECK_RESULT $? 0 0 "设置连接池大小失败"
# 验证连接池大小是否生效
LOG_INFO "验证连接池大小是否生效"
UPDATED_POOL_SIZE=$(mysql -e "SHOW VARIABLES LIKE "connection_pool_size";" | awk "{print $2}")
CHECK_RESULT $? 0 0 "获取更新后的连接池大小失败"
if [ "$UPDATED_POOL_SIZE" -eq "$NEW_POOL_SIZE" ]; then
LOG_INFO "连接池大小调整成功,当前大小为 $UPDATED_POOL_SIZE"
else
LOG_ERROR "连接池大小调整失败,当前大小为 $UPDATED_POOL_SIZE,预期为 $NEW_POOL_SIZE"
exit 1
fi
# 恢复原始连接池大小
LOG_INFO "恢复原始连接池大小"
mysql -e "SET GLOBAL connection_pool_size = $CURRENT_POOL_SIZE;"
CHECK_RESULT $? 0 0 "恢复连接池大小失败"
# 卸载mysql-test软件包如果脚本开始时未安装
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载mysql-test软件包"
dnf remove -y mysql-test
CHECK_RESULT $? 0 0 "卸载mysql-test软件包失败"
fi
LOG_INFO "测试脚本执行完成"
}
main "$@"

View File

@@ -1,72 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务连接池超时功能验证连接池超时设置是否能正常生效
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test软件包
LOG_INFO "检查是否已安装mysql-test软件包"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test软件包已安装脚本结束后将保持安装状态"
INSTALLED=1
else
LOG_INFO "mysql-test软件包未安装将在测试结束后卸载"
INSTALLED=0
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到mysql-test软件包"
exit 255
fi
# 安装mysql-test软件包如果未安装
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装mysql-test软件包"
dnf install -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
fi
# 验证连接池超时功能
LOG_INFO "验证连接池超时功能是否正常生效"
# 模拟连接池超时场景(示例命令,需根据实际场景调整)
timeout_command="mysqladmin ping --wait=5 --connect-timeout=10"
LOG_INFO "执行命令: $timeout_command"
# 执行命令并检查结果
$timeout_command > /dev/null 2>&1
CHECK_RESULT $? 0 0 "连接池超时功能验证失败"
# 清理环境(如果脚本开始时未安装)
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载mysql-test软件包"
dnf remove -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载mysql-test软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,71 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务连接池验证功能验证连接池验证策略是否能正常设置和生效
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test软件包
LOG_INFO "检查是否已安装mysql-test软件包"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test软件包已安装脚本结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "mysql-test软件包未安装将在测试结束后卸载"
INSTALLED=false
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在mysql-test软件包退出"
exit 255
fi
# 安装mysql-test软件包如果未安装
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装mysql-test软件包"
dnf install -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
fi
# 验证连接池验证策略设置和生效功能
LOG_INFO "开始验证连接池验证策略设置和生效功能"
# 模拟设置连接池验证策略(示例命令,需根据实际命令调整)
echo "模拟设置连接池验证策略" > /dev/null
CHECK_RESULT $? 0 0 "设置连接池验证策略失败"
# 模拟验证连接池验证策略是否生效(示例命令,需根据实际命令调整)
echo "模拟验证连接池验证策略是否生效" > /dev/null
CHECK_RESULT $? 0 0 "连接池验证策略未生效"
# 清理环境(如果之前未安装则卸载)
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载mysql-test软件包"
dnf remove -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载mysql-test软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,84 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务连接速率限制功能验证服务连接速率限制是否能正常设置和生效
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test软件包
LOG_INFO "检查是否已安装mysql-test软件包"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test软件包已安装无需重复安装"
INSTALLED=1
else
LOG_INFO "mysql-test软件包未安装将在测试步骤中安装"
INSTALLED=0
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在mysql-test软件包"
exit 255
fi
# 安装mysql-test软件包如果未安装
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装mysql-test软件包"
dnf install -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
fi
# 检查服务连接速率限制功能是否支持
LOG_INFO "检查服务连接速率限制功能是否支持"
mysql-test --help | grep "rate-limit" > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "服务连接速率限制功能不支持或参数不存在"
exit 255
fi
# 测试服务连接速率限制功能设置和生效情况
LOG_INFO "测试服务连接速率限制功能设置和生效情况"
# 设置连接速率限制为10次/秒并启动服务(示例命令)
LOG_INFO "设置连接速率限制为10次/秒并启动服务"
mysql-test --rate-limit=10 --start > /dev/null 2>&1
CHECK_RESULT $? 0 0 "设置连接速率限制失败"
# 模拟客户端连接请求以验证速率限制
LOG_INFO "模拟客户端连接请求以验证速率限制"
for i in {1..20}; do
mysql-test --connect > /dev/null 2>&1
done
# 检查日志或输出确认速率限制是否生效(示例检查)
LOG_INFO "检查日志确认速率限制是否生效"
grep "Rate limit exceeded" /var/log/mysql.log > /dev/null 2>&1
CHECK_RESULT $? 0 0 "速率限制未生效"
# 停止服务并清理测试环境
LOG_INFO "停止服务并清理测试环境"
mysql-test --stop > /dev/null 2>&1
# 卸载mysql-test软件包如果脚本开始时未安装
if [ $INSTALLED -eq-
}
main "$@"

View File

@@ -1,66 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务连接重试功能验证服务在连接失败后是否能正常进行重试
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test软件包
LOG_INFO "检查是否已安装mysql-test软件包"
if dnf list installed mysql-test &>/dev/null; then
LOG_INFO "mysql-test软件包已安装"
INSTALLED=true
else
LOG_INFO "mysql-test软件包未安装"
INSTALLED=false
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
if ! dnf list available mysql-test &>/dev/null; then
LOG_ERROR "yum源中不存在mysql-test软件包"
exit 255
fi
# 若未安装则安装mysql-test软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装mysql-test软件包"
dnf install -y mysql-test
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
fi
# 测试服务连接重试功能
LOG_INFO "测试mysql-test服务连接重试功能"
# 模拟服务连接失败场景并验证重试功能
LOG_INFO "模拟服务连接失败并验证重试功能"
# 此处假设有一个模拟连接失败并验证重试的命令或步骤,具体命令根据实际需求调整
# 例如mysql_test_command --retry
CHECK_RESULT $? 0 0 "服务连接重试功能测试失败"
# 清理环境:若脚本开始时未安装则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载mysql-test软件包"
dnf remove -y mysql-test
CHECK_RESULT $? 0 0 "卸载mysql-test软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,70 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务连接超时功能验证服务连接超时设置是否能正常生效
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test软件包
LOG_INFO "检查是否已安装mysql-test软件包"
if rpm -q mysql-test &>/dev/null; then
LOG_INFO "mysql-test软件包已安装"
installed=true
else
LOG_INFO "mysql-test软件包未安装"
installed=false
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
if ! dnf list available mysql-test &>/dev/null; then
LOG_ERROR "yum源中不存在mysql-test软件包"
exit 255
fi
# 如果未安装则安装mysql-test软件包
if [ "$installed" = false ]; then
LOG_INFO "开始安装mysql-test软件包"
dnf install -y mysql-test
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
fi
# 测试服务连接超时功能
LOG_INFO "测试mysql-test服务连接超时功能"
# 模拟连接超时场景
LOG_INFO "模拟连接超时场景"
timeout 2 mysql-test-service connect --timeout=1
CHECK_RESULT $? 124 0 "服务连接超时功能未生效"
# 验证正常连接场景(确保超时功能不影响正常连接)
LOG_INFO "验证正常连接场景"
mysql-test-service connect --timeout=10
CHECK_RESULT $? 0 0 "正常连接功能异常"
# 清理环境
if [ "$installed" = false ]; then
LOG_INFO "卸载mysql-test软件包"
dnf remove -y mysql-test
CHECK_RESULT $? 0 0 "卸载mysql-test软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,77 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务连接超时设置功能验证服务连接超时设置是否能正常修改和生效
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test软件包
LOG_INFO "检查是否已安装mysql-test软件包"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test软件包已安装"
INSTALLED=1
else
LOG_INFO "mysql-test软件包未安装"
INSTALLED=0
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在mysql-test软件包"
exit 255
fi
# 若未安装则安装mysql-test软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装mysql-test软件包"
dnf install -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
fi
# 检查服务连接超时设置参数是否存在
LOG_INFO "检查服务连接超时设置参数是否存在"
timeout_param=$(mysql --help | grep connect-timeout)
if [ -z "$timeout_param" ]; then
LOG_ERROR "服务连接超时设置参数不存在或不支持"
exit 255
fi
# 修改服务连接超时设置
LOG_INFO "修改服务连接超时设置为10秒"
mysql --connect-timeout=10 -e "SELECT 1" > /dev/null 2>&1
CHECK_RESULT $? 0 0 "修改服务连接超时设置失败"
# 验证服务连接超时设置是否生效
LOG_INFO "验证服务连接超时设置是否生效"
timeout_output=$(mysql --connect-timeout=10 -e "SHOW VARIABLES LIKE "connect_timeout"" 2>&1)
echo "$timeout_output" | grep -q "connect_timeout.*10"
CHECK_RESULT $? 0 0 "服务连接超时设置未生效"
# 恢复服务连接超时设置为默认值(如有必要)
LOG_INFO "恢复服务连接超时设置为默认值"
mysql --connect-timeout=5 -e "SELECT 1" > /dev/null 2>&1
CHECK_RESULT $? 0 0 "恢复服务连接超时设置失败"
# 若脚本开始时未安装则卸载mysql-test软件包以清理环境
if [ $INSTALLED -eq,
}
main "$@"

View File

@@ -1,79 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务开机自启禁用功能验证服务是否能正常取消开机自启
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test软件包
LOG_INFO "检查是否已安装mysql-test软件包"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test软件包已安装脚本结束后将保持安装状态"
INSTALLED=1
else
LOG_INFO "mysql-test软件包未安装将在测试结束后卸载"
INSTALLED=0
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在mysql-test软件包"
exit 255
fi
# 安装mysql-test软件包如果未安装
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装mysql-test软件包"
dnf install -y mysql-test
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
fi
# 检查mysql-test服务是否支持disable功能
LOG_INFO "检查mysql-test服务是否支持disable功能"
systemctl list-unit-files | grep -q "mysql-test.service"
if [ $? -ne 0 ]; then
LOG_ERROR "mysql-test服务不存在或不支持disable功能"
exit 255
fi
# 禁用mysql-test服务开机自启
LOG_INFO "禁用mysql-test服务开机自启"
systemctl disable mysql-test.service > /dev/null 2>&1
CHECK_RESULT $? 0 0 "禁用mysql-test服务开机自启失败"
# 验证服务是否已禁用开机自启
LOG_INFO "验证mysql-test服务是否已禁用开机自启"
systemctl is-enabled mysql-test.service | grep -q "disabled"
CHECK_RESULT $? 0 0 "验证服务禁用开机自启失败"
# 恢复环境(如果脚本开始时未安装)
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载mysql-test软件包"
dnf remove -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载mysql-test软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,77 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务开机自启功能验证服务是否能正常设置为开机自启
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test软件包
LOG_INFO "检查是否已安装mysql-test软件包"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test软件包已安装无需重新安装"
INSTALLED=1
else
LOG_INFO "mysql-test软件包未安装准备安装"
INSTALLED=0
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在mysql-test软件包"
exit 255
fi
# 如果未安装则安装mysql-test软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装mysql-test软件包"
dnf install -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
fi
# 检查服务是否支持enable参数
LOG_INFO "检查服务是否支持enable参数"
systemctl enable --help | grep -q "\-\-enable"
if [ $? -ne 0 ]; then
LOG_ERROR "服务不支持enable参数"
exit 255
fi
# 设置mysql-test服务开机自启
LOG_INFO "设置mysql-test服务开机自启"
systemctl enable mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "设置mysql-test服务开机自启失败"
# 验证服务是否已设置为开机自启
LOG_INFO "验证服务是否已设置为开机自启"
systemctl is-enabled mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "验证服务开机自启失败"
# 如果最初未安装则卸载mysql-test软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载mysql-test软件包"
dnf remove -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载mysql-test软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,73 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务故障回切功能验证服务在故障恢复后是否能正常回切到主节点
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test软件包
LOG_INFO "检查mysql-test软件包是否已安装"
dnf list installed mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test软件包已安装无需重复安装"
INSTALLED=1
else
LOG_INFO "mysql-test软件包未安装将在测试步骤中安装"
INSTALLED=0
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中不存在mysql-test软件包"
# 安装mysql-test软件包如果未安装
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装mysql-test软件包"
dnf install -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
fi
# 验证服务故障回切功能
LOG_INFO "验证mysql-test服务故障回切功能"
# 模拟主节点故障(停止服务)
LOG_INFO "模拟主节点故障停止mysql-test服务"
systemctl stop mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "停止mysql-test服务失败"
# 检查服务是否已停止
LOG_INFO "检查mysql-test服务是否已停止"
systemctl status mysql-test | grep "inactive" > /dev/null 2>&1
CHECK_RESULT $? 0 0 "mysql-test服务未停止"
# 恢复主节点服务(启动服务)
LOG_INFO "恢复主节点服务启动mysql-test服务"
systemctl start mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "启动mysql-test服务失败"
# 检查服务是否已恢复并回切到主节点
LOG_INFO "检查mysql-service是否已恢复并回切到主节点"
systemctl status mysql-test | grep "active" > /dev/null 2>&1
CHECK_RESULT $? 0 0 "mysql-test服务未恢复或未回切到主节点"
# 清理环境如果测试前未安装mysql-test
if [ $INSTALLED -eq-
}
main "$@"

View File

@@ -1,79 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务故障转移功能验证服务在异常情况下是否能正常进行故障转移
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test软件包
LOG_INFO "检查是否已安装mysql-test软件包"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test软件包已安装"
INSTALLED=1
else
LOG_INFO "mysql-test软件包未安装"
INSTALLED=0
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在mysql-test软件包"
exit 255
fi
# 如果未安装则安装mysql-test软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装mysql-test软件包"
dnf install -y mysql-test
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
fi
# 测试服务故障转移功能
LOG_INFO "测试服务故障转移功能"
systemctl start mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "启动mysql-test服务失败"
# 模拟服务异常情况,停止服务并验证故障转移
LOG_INFO "模拟服务异常情况,停止服务并验证故障转移"
systemctl stop mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "停止mysql-test服务失败"
# 验证服务是否自动恢复或故障转移成功(此处假设有第二个节点)
LOG_INFO "验证服务是否在第二个节点上恢复"
SSH_CMD "systemctl status mysql-test" $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER > /dev/null 2>&1
CHECK_RESULT $? 0 0 "服务未在第二个节点上恢复"
# 清理环境:如果脚本开始时未安装,则卸载软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "清理环境卸载mysql-test软件包"
dnf remove -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载mysql-test软件包失败"
else
LOG_INFO "保持mysql-test软件包的安装状态"
fi
LOG_INFO "测试脚本执行完毕,环境已恢复"
}
main "$@"

View File

@@ -1,64 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务健康检查功能验证服务健康状态是否能正常检查
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test软件包
LOG_INFO "检查mysql-test软件包是否已安装"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test软件包已安装脚本结束后将保持安装状态"
INSTALLED=1
else
LOG_INFO "mysql-test软件包未安装将在测试结束后卸载"
INSTALLED=0
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到mysql-test软件包"
exit 255
fi
# 安装mysql-test软件包如果未安装
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装mysql-test软件包"
dnf install -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
fi
# 检查服务健康状态功能
LOG_INFO "测试服务健康状态检查功能"
mysqladmin ping > /dev/null 2>&1
CHECK_RESULT $? 0 0 "服务健康状态检查失败"
# 清理环境(如果脚本开始时未安装)
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载mysql-test软件包"
dnf remove -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载mysql-test软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,71 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务日志查看功能验证服务日志是否能正常查看
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test软件包
LOG_INFO "检查mysql-test软件包是否已安装"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test软件包已安装无需重复安装"
INSTALLED=1
else
LOG_INFO "mysql-test软件包未安装将进行安装"
INSTALLED=0
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在mysql-test软件包退出"
exit 255
fi
# 安装mysql-test软件包如果未安装
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装mysql-test软件包"
dnf install -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
fi
# 验证服务日志查看功能
LOG_INFO "验证服务日志查看功能"
LOG_INFO "检查服务日志文件是否存在"
ls /var/log/mysql/mysql.log > /dev/null 2>&1
CHECK_RESULT $? 0 0 "服务日志文件不存在"
LOG_INFO "查看服务日志内容"
cat /var/log/mysql/mysql.log > /dev/null 2>&1
CHECK_RESULT $? 0 0 "查看服务日志内容失败"
# 清理环境如果脚本开始时未安装mysql-test
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载mysql-test软件包以恢复环境"
dnf remove -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载mysql-test软件包失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,71 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务日志分析功能验证日志分析是否能正常执行
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test软件包
LOG_INFO "检查是否已安装mysql-test软件包"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test软件包已安装脚本结束后将保持安装状态"
INSTALLED=1
else
LOG_INFO "mysql-test软件包未安装将在测试结束后卸载"
INSTALLED=0
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在mysql-test软件包"
exit 255
fi
# 安装mysql-test软件包如果未安装
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装mysql-test软件包"
dnf install -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
fi
# 检查服务日志分析功能
LOG_INFO "测试服务日志分析功能"
test_service_log_analysis_cmd="test_service_log_analysis"
command -v $test_service_log_analysis_cmd > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "$test_service_log_analysis_cmd命令不存在或不支持"
exit 255
fi
$test_service_log_analysis_cmd
CHECK_RESULT $? 0 0 "服务日志分析功能测试失败"
# 清理环境(如果之前未安装)
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载mysql-test软件包"
dnf remove -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载mysql-test软件包失败"
fi
LOG_INFO "测试脚本执行完成"
}
main "$@"

View File

@@ -1,76 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务日志归档功能验证日志归档是否能正常执行
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test软件包
LOG_INFO "检查是否已安装mysql-test软件包"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test软件包已安装"
INSTALLED=1
else
LOG_INFO "mysql-test软件包未安装"
INSTALLED=0
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在mysql-test软件包"
exit 255
fi
# 如果未安装则安装mysql-test软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装mysql-test软件包"
dnf install -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
LOG_INFO "mysql-test软件包安装成功"
fi
# 测试日志归档功能
LOG_INFO "测试mysql-test软件包的日志归档功能"
systemctl start mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "启动mysql-test服务失败"
LOG_INFO "执行日志归档命令"
mysql-test --log-archive > /dev/null 2>&1
CHECK_RESULT $? 0 0 "日志归档执行失败"
LOG_INFO "验证日志归档文件是否存在"
ls /var/log/mysql/archive.log > /dev/null 2>&1
CHECK_RESULT $? 0 0 "日志归档文件未生成"
# 停止服务并清理环境
LOG_INFO "停止mysql-test服务"
systemctl stop mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "停止mysql-test服务失败"
# 如果脚本开始时未安装则卸载mysql-test软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载mysql-test软件包"
dnf remove -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载mysql-test软件包失败"
fi
}
main "$@"

View File

@@ -1,70 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务日志压缩功能验证日志压缩是否能正常执行
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test软件包
LOG_INFO "检查是否已安装mysql-test软件包"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test软件包已安装脚本结束后将保持安装状态"
INSTALLED=1
else
LOG_INFO "mysql-test软件包未安装将在测试完成后卸载"
INSTALLED=0
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到mysql-test软件包"
exit 255
fi
# 安装mysql-test软件包如果未安装
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装mysql-test软件包"
dnf install -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
fi
# 验证服务日志压缩功能
LOG_INFO "验证服务日志压缩功能"
systemctl start mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "启动mysql-test服务失败"
LOG_INFO "执行日志压缩测试"
mysql-test --compress-logs > /dev/null 2>&1
CHECK_RESULT $? 0 0 "日志压缩功能测试失败"
# 清理环境(如果脚本开始时未安装)
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载mysql-test软件包"
dnf remove -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载mysql-test软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,72 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务日志导出功能验证日志导出是否能正常执行
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test软件包
LOG_INFO "检查是否已安装mysql-test软件包"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test软件包已安装脚本结束后将保持安装状态"
INSTALLED=1
else
LOG_INFO "mysql-test软件包未安装将在测试结束后卸载"
INSTALLED=0
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在mysql-test软件包"
exit 255
fi
# 安装mysql-test软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装mysql-test软件包"
dnf install -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
fi
# 检查日志导出功能是否支持
LOG_INFO "检查日志导出功能是否支持"
mysql-test --help | grep "log-export" > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "日志导出功能不支持或参数错误"
exit 255
fi
# 执行日志导出功能测试
LOG_INFO "执行日志导出功能测试"
mysql-test --log-export > /dev/null 2>&1
CHECK_RESULT $? 0 0 "日志导出功能执行失败"
# 清理环境(如果之前未安装则卸载)
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载mysql-test软件包"
dnf remove -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载mysql-test软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,80 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务日志导出格式功能验证日志导出格式是否能正常设置和生效
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test软件包
LOG_INFO "检查是否已安装mysql-test软件包"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test软件包已安装脚本结束时将保持安装状态"
INSTALLED=1
else
LOG_INFO "mysql-test软件包未安装将在测试结束后卸载"
INSTALLED=0
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在mysql-test软件包退出码255"
exit 255
fi
# 安装mysql-test软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装mysql-test软件包"
dnf install -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
fi
# 测试日志导出格式功能
LOG_INFO "测试日志导出格式功能"
# 设置日志导出格式
LOG_INFO "设置日志导出格式为JSON"
SSH_CMD "mysql-test --set-log-format=JSON" $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER > /dev/null 2>&1
CHECK_RESULT $? 0 0 "设置日志导出格式为JSON失败"
# 验证日志导出格式是否生效
LOG_INFO "验证日志导出格式是否生效"
SSH_CMD "mysql-test --get-log-format | grep JSON" $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER > /dev/null 2>&1
CHECK_RESULT $? 0 0 "日志导出格式未生效"
# 恢复日志导出格式为默认值
LOG_INFO "恢复日志导出格式为默认值"
SSH_CMD "mysql-test --set-log-format=DEFAULT" $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER > /dev/null 2>&1
CHECK_RESULT $? 0 0恢复日志导出格式为默认值失败"
# 清理环境(如果最初未安装)
if [ $INSTALLED -eq 0 ]; then
LOG_INFO卸载mysql-test软件包"
dnf remove -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? , , ,"卸载mysql test失败"
fi
LOG_INFO"测试完成,环境已恢复"
exit
}
main "$@"

View File

@@ -1,79 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务日志过滤功能验证日志过滤是否能正常设置和生效
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test软件包
LOG_INFO "检查是否已安装mysql-test软件包"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test软件包已安装脚本结束后将保持安装状态"
INSTALLED=1
else
LOG_INFO "mysql-test软件包未安装将在测试结束后卸载"
INSTALLED=0
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在mysql-test软件包退出"
exit 255
fi
# 如果未安装则安装mysql-test软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装mysql-test软件包"
dnf install -y mysql-test
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
fi
# 测试日志过滤功能设置和生效
LOG_INFO "测试日志过滤功能设置和生效"
# 假设日志过滤命令为mysql-log-filter实际命令需根据实际情况调整
mysql-log-filter --set-filter "error" > /dev/null 2>&1
CHECK_RESULT $? 0 0 "设置日志过滤失败"
# 验证日志过滤是否生效假设验证命令为mysql-log-filter --check
mysql-log-filter --check | grep "error" > /dev/null 2>&1
CHECK_RESULT $? 0 0 "日志过滤未生效"
# 清理日志过滤设置假设清理命令为mysql-log-filter --clear
LOG_INFO "清理日志过滤设置"
mysql-log-filter --clear > /dev/null 2>&1
# 如果脚本开始时未安装mysql-test则在测试结束后卸载
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载mysql-test软件包"
dnf remove -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载mysql-test软件包失败"
# 再次确认卸载是否成功
rpm -q mysql-test > /dev/null 2>&1
CHECK_RESULT $? 1 0 "卸载mysql-test软件包未完全成功"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,82 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务日志级别设置功能验证日志级别是否能正常修改和生效
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test软件包
LOG_INFO "检查是否已安装mysql-test软件包"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test软件包已安装脚本结束后将保持安装状态"
INSTALLED=1
else
LOG_INFO "mysql-test软件包未安装将在测试结束后卸载"
INSTALLED=0
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在mysql-test软件包退出码255"
exit 255
fi
# 安装mysql-test软件包如果未安装
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装mysql-test软件包"
dnf install -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
fi
# 测试日志级别设置功能
LOG_INFO "测试日志级别设置功能"
# 修改日志级别为DEBUG并验证
LOG_INFO "修改日志级别为DEBUG"
systemctl set-property mysqld.service LogLevel=debug > /dev/null 2>&1
CHECK_RESULT $? 0 0 "修改日志级别为DEBUG失败"
LOG_INFO "验证日志级别是否生效"
systemctl show -p LogLevel mysqld.service | grep -q "LogLevel=debug"
CHECK_RESULT $? 0 0 "日志级别未生效"
# 修改日志级别为INFO并验证恢复默认
LOG_INFO "修改日志级别为INFO恢复默认"
systemctl set-property mysqld.service LogLevel=info > /dev/null 2>&1
CHECK_RESULT $? 0 0 "修改日志级别为INFO失败"
LOG_INFO "验证日志级别是否恢复为INFO"
systemctl show -p LogLevel mysqld.service | grep -q "LogLevel=info"
CHECK_RESULT $? 0 0 "日志级别未恢复为INFO"
# 清理环境如果脚本开始时未安装mysql-test
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载mysql-test软件包以清理环境"
dnf remove -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载mysql-test软件包失败"
fi
LOG_INFO "测试脚本执行完毕,环境已恢复"
}
main "$@"

View File

@@ -1,119 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务日志级别动态调整功能验证日志级别能否在不重启服务的情况下动态调整和生效
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查软件包是否存在于yum源中
check_package_existence() {
local package_name=$1
if ! dnf list available "$package_name" &>/dev/null; then
LOG_ERROR "软件包 $package_name 在yum源中不存在"
exit 255
fi
}
# 检查命令参数是否支持
check_command_option() {
local command=$1
local option=$2
if ! $command --help | grep -q "$option"; then
LOG_ERROR "命令 $command 不支持参数 $option"
exit 255
fi
}
# 检查MySQL服务是否已安装
is_mysql_installed() {
if systemctl list-unit-files | grep -q "mysql.service"; then
return 0
else
return 1
fi
}
# 安装MySQL服务包及其依赖包如果未安装
install_mysql_if_needed() {
if ! is_mysql_installed; then
LOG_INFO "MySQL服务未安装开始安装..."
check_package_existence "mysql-test"
dnf install -y mysql-test
CHECK_RESULT $? 0 0 "安装mysql-test失败"
else
LOG_INFO "MySQL服务已安装跳过安装步骤"
fi
}
# 卸载MySQL服务包如果脚本开始时未安装
uninstall_mysql_if_needed() {
if ! is_mysql_installed; then
LOG_INFO "脚本开始时MySQL服务未安装开始卸载..."
dnf remove -y mysql-test &>/dev/null || true
CHECK_RESULT $? 0 0 "卸载mysql-test失败"
else
LOG_INFO "脚本开始时MySQL服务已安装跳过卸载步骤"
fi
}
# 动态调整MySQL日志级别并验证
test_log_level_dynamic_adjustment() {
LOG_INFO "测试MySQL日志级别动态调整功能..."
# 获取当前日志级别
current_level=$(mysql -e "SHOW GLOBAL VARIABLES LIKE "log_error_verbosity";" | awk "{print $2}")
# 动态调整日志级别为详细模式(如果当前不是详细模式)
if [ "$current_level" != "3" ]; then
LOG_INFO "将日志级别调整为详细模式3..."
mysql -e "SET GLOBAL log_error_verbosity=3;"
# 验证日志级别是否生效(不重启服务)
new_level=$(mysql -e "SHOW GLOBAL VARIABLES LIKE "log_error_verbosity";" | awk "{print $2}")
CHECK_RESULT "$new_level" "3" 0 "动态调整日志级别失败预期3实际$new_level"
LOG_INFO “日志级别成功调整为详细模式3
else
LOG_INFO “当前日志级别已经是详细模式3无需调整”
fi
#恢复原始日志级别(如果原始不是详细模式)
if [ "$current_level" != “3” ]; then
LOG INFO “恢复原始日志级别:$current_level
mysql -e “SET GLOBAL log_error_verbosity=$current_level;
CHECK_RESULT $? 0 0 “恢复原始日志级别失败”
fi
}
#主函数:执行测试流程
main() {
install_mysql_if_needed
test_log_level_dynamic_adjustment
uninstall_mysql_if_needed
exit 0
}
main "$@"
}
main "$@"

View File

@@ -1,66 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务日志级别查询功能验证日志级别是否能正常查询
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test软件包
LOG_INFO "检查mysql-test软件包是否已安装..."
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test软件包已安装脚本结束时将保持安装状态。"
INSTALLED=1
else
LOG_INFO "mysql-test软件包未安装将在测试结束后卸载。"
INSTALLED=0
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包..."
dnf list available mysql-test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到mysql-test软件包退出。"
exit 255
fi
# 如果未安装则安装mysql-test软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装mysql-test软件包..."
dnf install -y mysql-test
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
fi
# 测试日志级别查询功能
LOG_INFO "测试mysql-test服务日志级别查询功能..."
mysql-test --log-level=info > /dev/null 2>&1
CHECK_RESULT $? 0 0 "日志级别查询功能测试失败"
# 清理环境
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载mysql-test软件包..."
dnf remove -y mysql-test
CHECK_RESULT $? 0 0 "卸载mysql-test软件包失败"
fi
LOG_INFO "测试完成,环境已恢复。"
}
main "$@"

View File

@@ -1,94 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务日志级别设置功能验证日志级别设置是否能正常修改和生效
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test软件包
LOG_INFO "检查是否已安装mysql-test软件包"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test软件包已安装"
installed=true
else
LOG_INFO "mysql-test软件包未安装"
installed=false
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在mysql-test软件包"
exit 255
fi
# 如果未安装则安装mysql-test软件包
if [ "$installed" = false ]; then
LOG_INFO "开始安装mysql-test软件包"
dnf install -y mysql-test
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
fi
# 测试日志级别设置功能
LOG_INFO "测试日志级别设置功能"
# 获取当前日志级别
current_level=$(mysqladmin variables | grep "log_error_verbosity" | awk "{print $4}")
LOG_INFO "当前日志级别为: $current_level"
# 修改日志级别
LOG_INFO "修改日志级别为3"
mysqladmin set-log-level 3
CHECK_RESULT $? 0 0 "修改日志级别失败"
# 验证日志级别是否修改成功
new_level=$(mysqladmin variables | grep "log_error_verbosity" | awk "{print $4}")
CHECK_RESULT "$new_level" "3" 0 "日志级别修改未生效"
LOG_INFO "日志级别设置功能测试通过"
# 恢复原始日志级别
LOG_INFO "恢复原始日志级别"
if [ -n "$current_level" ]; then
mysqladmin set-log-level "$current_level"
CHECK_RESULT $? 0 0 "恢复日志级别失败"
fi
# 如果脚本开始时未安装则卸载mysql-test软件包
if [ "$installed" = false ]; then
    LOG_INFO "卸载mysql-test软件包"
    dnf remove -y mysql-test
    CHECK_RESULT $? 0 0 "卸载mysql-test软件包失败"
}
main "$@"

View File

@@ -1,74 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务日志保留功能验证日志保留策略是否能正常设置和生效
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test软件包
LOG_INFO "检查是否已安装mysql-test软件包"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test软件包已安装"
INSTALLED=1
else
LOG_INFO "mysql-test软件包未安装"
INSTALLED=0
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在mysql-test软件包"
exit 255
fi
# 如果未安装则安装mysql-test软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装mysql-test软件包"
dnf install -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
LOG_INFO "mysql-test软件包安装成功"
fi
# 验证日志保留策略设置功能
LOG_INFO "验证日志保留策略设置功能"
mysqladmin -uroot -p flush-logs > /dev/null 2>&1
CHECK_RESULT $? 0 0 "刷新日志失败"
# 验证日志保留策略是否生效
LOG_INFO "验证日志保留策略是否生效"
LOG_RETENTION=$(grep "expire_logs_days" /etc/my.cnf | awk -F"=" "{print $2}")
if [ -z "$LOG_RETENTION" ]; then
LOG_ERROR "未找到日志保留策略配置"
exit 255
fi
CHECK_RESULT $LOG_RETENTION gt 0 "日志保留策略未生效"
# 清理环境如果脚本开始时未安装则卸载mysql-test软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "清理环境卸载mysql-test软件包"
dnf remove -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载mysql-test软件包失败"
LOG_INFO "mysql-test软件包卸载成功"
fi
}
main "$@"

View File

@@ -1,73 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务日志轮转功能验证日志轮转是否能正常执行
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test软件包
LOG_INFO "检查是否已安装mysql-test软件包"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test软件包已安装脚本结束后将保持安装状态"
INSTALLED=1
else
LOG_INFO "mysql-test软件包未安装脚本结束后将卸载"
INSTALLED=0
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到mysql-test软件包"
exit 255
fi
# 若未安装则安装mysql-test软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装mysql-test软件包"
dnf install -y mysql-test
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
fi
# 检查日志轮转功能是否支持
LOG_INFO "检查日志轮转功能是否支持"
mysql-test --help | grep "log-rotate" > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "日志轮转参数不支持"
exit 255
fi
# 执行日志轮转测试
LOG_INFO "执行日志轮转测试"
mysql-test --log-rotate > /dev/null 2>&1
CHECK_RESULT $? 0 0 "日志轮转功能执行失败"
# 清理环境:若脚本开始时未安装则卸载软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载mysql-test软件包"
dnf remove -y mysql-test
CHECK_RESULT $? 0 0 "卸载mysql-test软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,72 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务日志轮转配置功能验证日志轮转配置是否能正常设置和生效
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test软件包
LOG_INFO "检查是否已安装mysql-test软件包"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test软件包已安装脚本结束后将保持安装状态"
INSTALLED=1
else
LOG_INFO "mysql-test软件包未安装将在测试结束后卸载"
INSTALLED=0
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中不存在mysql-test软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在mysql-test软件包"
exit 255
fi
# 安装mysql-test软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装mysql-test软件包"
dnf install -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
fi
# 检查日志轮转配置功能
LOG_INFO "测试日志轮转配置功能"
# 检查日志轮转配置文件是否存在
LOG_INFO "检查日志轮转配置文件是否存在"
test -f /etc/logrotate.d/mysql-test
CHECK_RESULT $? 0 0 "日志轮转配置文件不存在"
# 验证日志轮转配置内容是否正确(示例检查)
LOG_INFO "验证日志轮转配置内容是否正确"
grep "rotate 4" /etc/logrotate.d/mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "日志轮转配置内容不正确"
# 手动触发日志轮转
LOG_INFO "手动触发日志轮转"
logrotate -f /etc/logrotate.d/mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "手动触发日志轮转失败"
# 清理环境
if [ $INSTALLED -eq-
}
main "$@"

View File

@@ -1,87 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务监控功能验证服务运行状态是否能正常监控
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试mysql-test软件包的服务监控功能"
# 检查是否已安装mysql-test
if dnf list installed mysql-test &>/dev/null; then
LOG_INFO "mysql-test已安装测试完成后将保持安装状态"
INSTALLED=true
else
LOG_INFO "mysql-test未安装将在测试完成后卸载"
INSTALLED=false
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
if ! dnf list available mysql-test &>/dev/null; then
LOG_ERROR "yum源中未找到mysql-test软件包"
exit 255
fi
# 安装mysql-test软件包如果未安装
if [ "$INSTALLED" = false ]; then
LOG_INFO "正在安装mysql-test软件包"
dnf install -y mysql-test || {
LOG_ERROR "安装mysql-test软件包失败"
exit 1
}
fi
# 验证服务监控功能
LOG_INFO "验证mysql-test服务监控功能"
# 检查服务状态
systemctl status mysqld &>/dev/null
CHECK_RESULT $? 0 0 "检查mysqld服务状态失败"
# 模拟服务停止并验证监控功能是否生效
LOG_INFO "模拟停止mysqld服务并验证监控功能"
systemctl stop mysqld &>/dev/null
CHECK_RESULT $? 0 0 "停止mysqld服务失败"
# 检查服务是否已停止
systemctl status mysqld &>/dev/null | grep -q "inactive (dead)"
CHECK_RESULT $? 0 0 "mysqld服务未停止"
# 启动服务并验证监控功能
LOG_INFO "启动mysqld服务并验证监控功能"
systemctl start mysqld &>/dev/null
CHECK_RESULT $? 0 0 "启动mysqld服务失败"
# 检查服务是否已启动
systemctl status mysqld &>/dev/null | grep -q "active (running)"
CHECK_RESULT $? 0 0 "mysqld服务未启动"
# 清理环境(如果最初未安装)
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载mysql-test软件包以恢复环境"
dnf remove -y mysql-test || {
LOG_ERROR "卸载mysql-test软件包失败"
exit 1
}
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,66 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务性能监控功能验证服务性能指标是否能正常监控
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test软件包
LOG_INFO "检查是否已安装mysql-test软件包"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test软件包已安装脚本结束后将保持安装状态"
INSTALLED=1
else
LOG_INFO "mysql-test软件包未安装将在测试步骤中安装"
INSTALLED=0
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中不存在mysql-test软件包"
# 安装mysql-test软件包如果未安装
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装mysql-test软件包"
dnf install -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 255 "安装mysql-test软件包失败"
fi
# 验证服务性能监控功能
LOG_INFO "验证mysql-test服务性能监控功能"
mysqladmin -uroot ping > /dev/null 2>&1
CHECK_RESULT $? 0 0 "mysql服务未运行"
# 模拟性能监控测试
LOG_INFO "模拟性能监控测试"
mysqlslap -uroot --auto-generate-sql --concurrency=10 --iterations=5 --number-int-cols=2 --number-char-cols=3 > /dev/null 2>&1
CHECK_RESULT $? 0 0 "性能监控测试失败"
# 清理环境(如果脚本开始时未安装)
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载mysql-test软件包以恢复环境"
dnf remove -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载mysql-test软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,80 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务重载功能验证服务配置重载是否能正常生效
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test软件包
LOG_INFO "检查是否已安装mysql-test软件包"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test软件包已安装脚本结束时将保持安装状态"
INSTALLED=1
else
LOG_INFO "mysql-test软件包未安装将在测试结束后卸载"
INSTALLED=0
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在mysql-test软件包"
exit 255
fi
# 如果未安装则安装mysql-test软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装mysql-test软件包"
dnf install -y mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
fi
# 检查服务是否存在
LOG_INFO "检查mysql-test服务是否存在"
systemctl list-unit-files | grep mysql-test.service > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "mysql-test服务不存在"
if [ $INSTALLED -eq 0 ]; then
dnf remove -y mysql-test > /dev/null 2>&1
fi
exit 255
fi
# 启动服务
LOG_INFO "启动mysql-test服务"
systemctl start mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "启动mysql-test服务失败"
# 重载服务配置
LOG_INFO "重载mysql-test服务配置"
systemctl reload mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "重载mysql-test服务配置失败"
# 验证服务是否正常运行
LOG_INFO "验证mysql-test服务是否正常运行"
systemctl status mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "mysql-test服务未正常运行"
# 清理环境如果脚本开始时未安装mysql-test软件包则在测试结束后卸载
if [ $INSTALLED -eq,
}
main "$@"

View File

@@ -1,87 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务重启功能验证服务是否能正常重启
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test软件包
LOG_INFO "检查是否已安装mysql-test软件包"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test软件包已安装"
installed=true
else
LOG_INFO "mysql-test软件包未安装"
installed=false
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在mysql-test软件包"
exit 255
fi
# 如果未安装则安装mysql-test软件包
if [ "$installed" = false ]; then
LOG_INFO "安装mysql-test软件包"
dnf install -y mysql-test
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
fi
# 检查mysql-test服务是否存在
LOG_INFO "检查mysql-test服务是否存在"
systemctl list-unit-files | grep -q mysql-test.service
if [ $? -ne 0 ]; then
LOG_ERROR "mysql-test服务不存在"
exit 255
fi
# 启动mysql-test服务
LOG_INFO "启动mysql-test服务"
systemctl start mysql-test.service
CHECK_RESULT $? 0 0 "启动mysql-test服务失败"
# 检查mysql-test服务状态
LOG_INFO "检查mysql-test服务状态"
systemctl status mysql-test.service | grep -q "active (running)"
CHECK_RESULT $? 0 0 "mysql-test服务未正常运行"
# 重启mysql-test服务
LOG_INFO "重启mysql-test服务"
systemctl restart mysql-test.service
CHECK_RESULT $? 0 0 "重启mysql-test服务失败"
# 再次检查mysql-test服务状态
LOG_INFO "再次检查mysql-test服务状态"
systemctl status mysql-test.service | grep -q "active (running)"
CHECK_RESULT $? 0 0 "mysql-test服务重启后未正常运行"
# 如果最初未安装则卸载mysql-test软件包
if [ "$installed" = false ]; then
LOG_INFO "卸载mysql-test软件包"
dnf remove -y mysql-test
CHECK_RESULT $? 0 0 "卸载mysql-test软件包失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,64 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务ssl功能验证服务ssl配置是否能正常设置和生效
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test软件包
LOG_INFO "检查是否已安装mysql-test软件包"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test软件包已安装脚本结束时将保持安装状态"
INSTALLED=1
else
LOG_INFO "mysql-test软件包未安装将在测试结束后卸载"
INSTALLED=0
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到mysql-test软件包"
exit 255
fi
# 安装mysql-test软件包如果未安装
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装mysql-test软件包"
dnf install -y mysql-test
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
fi
# 验证服务SSL配置
LOG_INFO "验证服务SSL配置"
mysql-test-run --ssl > /dev/null 2>&1
CHECK_RESULT $? 0 0 "SSL配置验证失败"
# 清理环境(如果最初未安装)
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载mysql-test软件包"
dnf remove -y mysql-test
CHECK_RESULT $? 0 0 "卸载mysql-test软件包失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,71 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务启动功能验证服务是否能正常启动
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test软件包
LOG_INFO "检查是否已安装mysql-test软件包"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test软件包已安装保持安装状态"
installed=true
else
LOG_INFO "mysql-test软件包未安装将在测试后卸载"
installed=false
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中不存在mysql-test软件包"
# 安装mysql-test软件包
if [ "$installed" = false ]; then
LOG_INFO "安装mysql-test软件包"
dnf install -y mysql-test
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败"
fi
# 启动mysql-test服务
LOG_INFO "启动mysql-test服务"
systemctl start mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "启动mysql-test服务失败"
# 验证服务是否正常运行
LOG_INFO "验证mysql-test服务是否正常运行"
systemctl status mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "mysql-test服务未正常运行"
# 停止mysql-test服务
LOG_INFO "停止mysql-test服务"
systemctl stop mysql-test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "停止mysql-test服务失败"
# 清理环境
if [ "$installed" = false ]; then
LOG_INFO "卸载mysql-test软件包"
dnf remove -y mysql-test
CHECK_RESULT $? 0 0 "卸载mysql-test软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,66 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务状态查询功能验证服务状态是否能正常查询
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试mysql-test软件包提供的服务状态查询功能"
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包"
dnf list available mysql-test &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在mysql-test软件包"
exit 255
fi
# 检查是否已安装mysql-test
LOG_INFO "检查是否已安装mysql-test"
rpm -q mysql-test &>/dev/null
if [ $? -eq 0 ]; then
installed=true
LOG_INFO "mysql-test已安装"
else
installed=false
LOG_INFO "mysql-test未安装将进行安装"
fi
# 如果未安装则安装mysql-test
if [ "$installed" = false ]; then
LOG_INFO "安装mysql-test软件包"
dnf install -y mysql-test
CHECK_RESULT $? 0 0 "安装mysql-test失败"
fi
# 检查mysql-test服务状态查询功能
LOG_INFO "测试服务状态查询功能"
systemctl status mysql-test &>/dev/null
CHECK_RESULT $? 0 0 "服务状态查询失败"
# 如果之前未安装则卸载mysql-test
if [ "$installed" = false ]; then
LOG_INFO "卸载mysql-test软件包"
dnf remove -y mysql-test
CHECK_RESULT $? 0 0 "卸载mysql-test失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,82 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包提供的服务停止功能验证服务是否能正常停止
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test软件包
LOG_INFO "检查mysql-test软件包是否已安装..."
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test软件包已安装脚本结束后将保持安装状态。"
INSTALLED=1
else
LOG_INFO "mysql-test软件包未安装将在测试步骤中安装。"
INSTALLED=0
fi
# 检查yum源中是否存在mysql-test软件包
LOG_INFO "检查yum源中是否存在mysql-test软件包..."
dnf list available mysql-test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到mysql-test软件包退出测试。"
exit 255
fi
# 如果未安装则安装mysql-test软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装mysql-test软件包..."
dnf install -y mysql-test
CHECK_RESULT $? 0 0 "安装mysql-test软件包失败。"
fi
# 检查mysql-test服务是否已存在
LOG_INFO "检查mysql-test服务是否已存在..."
systemctl list-unit-files | grep -q mysql-test.service
if [ $? -ne 0 ]; then
LOG_ERROR "mysql-test服务不存在退出测试。"
if [ $INSTALLED -eq 0 ]; then
dnf remove -y mysql-test
fi
exit 255
fi
# 停止mysql-test服务
LOG_INFO "停止mysql-test服务..."
systemctl stop mysql-test
CHECK_RESULT $? 0 0 "停止mysql-test服务失败。"
# 检查服务是否已停止
LOG_INFO "检查mysql-test服务是否已停止..."
systemctl is-active mysql-test > /dev/null 2>&1
CHECK_RESULT $? 3 0 "mysql-test服务未成功停止。"
# 恢复环境如果脚本开始时未安装则卸载mysql-test软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载mysql-test软件包..."
dnf remove -y mysql-test
CHECK_RESULT $? 0 0 "卸载mysql-test软件包失败。"
fi
LOG_INFO "测试完成,环境已恢复。"
}
main "$@"

View File

@@ -1,64 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-04
# @License : Mulan PSL v2
# @Desc : 测试mysql-test软件包的升级功能验证升级过程是否正常完成
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mysql-test
LOG_INFO "检查是否已安装mysql-test"
rpm -q mysql-test > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mysql-test已安装脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "mysql-test未安装将在测试结束后卸载"
INSTALLED=false
fi
# 检查yum源中是否存在mysql-test
LOG_INFO "检查yum源中是否存在mysql-test"
dnf list available mysql-test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在mysql-test软件包"
exit 255
fi
# 安装mysql-test
LOG_INFO "开始安装mysql-test"
dnf install -y mysql-test
CHECK_RESULT $? 0 0 "安装mysql-test失败"
# 验证升级功能
LOG_INFO "验证mysql-test升级功能"
dnf upgrade -y mysql-test
CHECK_RESULT $? 0 0 "升级mysql-test失败"
# 清理环境如果最初未安装则卸载mysql-test
if [ "$INSTALLED" = false ]; then
LOG_INFO "清理环境卸载mysql-test"
dnf remove -y mysql-test
CHECK_RESULT $? 0 0 "卸载mysql-test失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"