Merge branch 'pkg' of http://10.30.190.190:54866/redrsoe2100/os-autotest into pkg
This commit is contained in:
@@ -1,55 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/artemis/artemis-core-client",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_artemis-core-client_install",
|
||||
"desc": "测试artemis-core-client软件包的安装功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_artemis-core-client_function_start",
|
||||
"desc": "测试artemis-core-client的启动功能"
|
||||
},
|
||||
{
|
||||
"name": "test_artemis-core-client_function_install",
|
||||
"desc": "测试artemis-core-client软件包的基本安装功能"
|
||||
},
|
||||
{
|
||||
"name": "test_artemis-core-client_function_uninstall",
|
||||
"desc": "测试artemis-core-client软件包的卸载功能"
|
||||
},
|
||||
{
|
||||
"name": "test_artemis-core-client_function_version",
|
||||
"desc": "测试检查artemis-core-client软件包版本号的功能"
|
||||
},
|
||||
{
|
||||
"name": "test_artemis-core-client_function_check_installed",
|
||||
"desc": "测试验证artemis-core-client软件包是否已正确安装"
|
||||
},
|
||||
{
|
||||
"name": "test_artemis-core-client_function_basic_config",
|
||||
"desc": "测试artemis-core-client软件包的基本配置文件"
|
||||
},
|
||||
{
|
||||
"name": "test_artemis-core-client_function_help",
|
||||
"desc": "测试artemis-core-client软件包帮助命令的输出"
|
||||
},
|
||||
{
|
||||
"name": "test_artemis-core-client_function_connect",
|
||||
"desc": "测试artemis-core-client与服务端建立连接"
|
||||
},
|
||||
{
|
||||
"name": "test_artemis-core-client_function_send_msg",
|
||||
"desc": "测试artemis-core-client发送基本消息"
|
||||
},
|
||||
{
|
||||
"name": "test_artemis-core-client_function_receive_msg",
|
||||
"desc": "测试artemis-core-client接收基本消息"
|
||||
},
|
||||
{
|
||||
"name": "test_artemis-core-client_function_update",
|
||||
"desc": "测试artemis-core-client软件包的更新功能"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -5,58 +5,6 @@
|
||||
{
|
||||
"name": "test_fence-agents-heuristics-ping_function_basic",
|
||||
"desc": "Test basic ping functionality"
|
||||
},
|
||||
{
|
||||
"name": "test_fence-agents-heuristics-ping_function_timeout",
|
||||
"desc": "Test ping timeout handling"
|
||||
},
|
||||
{
|
||||
"name": "test_fence-agents-heuristics-ping_function_retry",
|
||||
"desc": "Test ping retry mechanism"
|
||||
},
|
||||
{
|
||||
"name": "test_fence-agents-heuristics-ping_function_invalid",
|
||||
"desc": "Test invalid ping target"
|
||||
},
|
||||
{
|
||||
"name": "test_fence-agents-heuristics-ping_function_install",
|
||||
"desc": "Test installation of the package"
|
||||
},
|
||||
{
|
||||
"name": "test_fence-agents-heuristics-ping_function_uninstall",
|
||||
"desc": "Test uninstallation of the package"
|
||||
},
|
||||
{
|
||||
"name": "test_fence-agents-heuristics-ping_function_check",
|
||||
"desc": "Test checking if package is installed"
|
||||
},
|
||||
{
|
||||
"name": "test_fence-agents-heuristics-ping_function_help",
|
||||
"desc": "Test help/usage output"
|
||||
},
|
||||
{
|
||||
"name": "test_fence-agents-heuristics-ping_function_version",
|
||||
"desc": "Test version information"
|
||||
},
|
||||
{
|
||||
"name": "test_fence-agents-heuristics-ping_function_agent",
|
||||
"desc": "Test fence agent execution"
|
||||
},
|
||||
{
|
||||
"name": "test_fence-agents-heuristics-ping_function_list",
|
||||
"desc": "Test listing supported options"
|
||||
},
|
||||
{
|
||||
"name": "test_fence-agents-heuristics-ping_function_config",
|
||||
"desc": "Test configuration file usage"
|
||||
},
|
||||
{
|
||||
"name": "test_fence-agents-heuristics-ping_function_status",
|
||||
"desc": "Test node status check"
|
||||
},
|
||||
{
|
||||
"name": "test_fence-agents-heuristics-ping_function_man",
|
||||
"desc": "Test man page existence"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,10 +2,6 @@
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/gtk-vnc/gvnc",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_gvnc_gvncviewer_default",
|
||||
"desc": "测试 gvncviewer 默认参数运行"
|
||||
},
|
||||
{
|
||||
"name": "test_gvnc_package_install",
|
||||
"desc": "测试 gvnc 软件包能否成功安装"
|
||||
@@ -13,22 +9,6 @@
|
||||
{
|
||||
"name": "test_gvnc_package_remove",
|
||||
"desc": "测试 gvnc 软件包能否成功卸载"
|
||||
},
|
||||
{
|
||||
"name": "test_gvnc_gvnccapture",
|
||||
"desc": "测试 gvnccapture 截图功能"
|
||||
},
|
||||
{
|
||||
"name": "test_gvnc_gvncpasswd",
|
||||
"desc": "测试 gvncpasswd 密码文件生成"
|
||||
},
|
||||
{
|
||||
"name": "test_gvnc_server_start",
|
||||
"desc": "测试 gvncserver 启动服务"
|
||||
},
|
||||
{
|
||||
"name": "test_gvnc_client_connect",
|
||||
"desc": "测试 gvncviewer 连接远程桌面"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/python-Flask-APScheduler/python-Flask-APScheduler-help",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_python-Flask-APScheduler-help_function_install",
|
||||
"desc": "测试python-Flask-APScheduler-help软件包是否能被正确安装"
|
||||
},
|
||||
{
|
||||
"name": "test_python-Flask-APScheduler-help_function_import",
|
||||
"desc": "测试安装后能否成功导入Flask-APScheduler相关模块"
|
||||
},
|
||||
{
|
||||
"name": "test_python-Flask-APScheduler-help_function_scheduler_config",
|
||||
"desc": "测试Flask应用配置APScheduler的基本功能"
|
||||
},
|
||||
{
|
||||
"name": "test_python-Flask-APScheduler-help_function_add_job",
|
||||
"desc": "测试向APScheduler添加定时任务的功能"
|
||||
},
|
||||
{
|
||||
"name": "test_python-Flask-APScheduler-help_function_remove_job",
|
||||
"desc": "测试从APScheduler移除定时任务的功能"
|
||||
},
|
||||
{
|
||||
"name": "test_python-Flask-APScheduler-help_function_uninstall",
|
||||
"desc": "测试python-Flask-APScheduler-help软件包是否能被正确卸载"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6,18 +6,6 @@
|
||||
"name": "test_python3-progressbar2_uninstall",
|
||||
"desc": "测试python3-progressbar2软件包的卸载功能,验证软件包能否正确卸载",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_python3-progressbar2_install",
|
||||
"desc": "测试python3-progressbar2软件包的安装功能,验证软件包能否正确安装"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-progressbar2_basic_usage",
|
||||
"desc": "测试python3-progressbar2软件包的基本进度条功能,验证能否正确创建和更新进度条"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-progressbar2_custom_widget",
|
||||
"desc": "测试python3-progressbar2软件包的自定义部件功能,验证能否自定义进度条显示内容"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6,30 +6,6 @@
|
||||
"name": "test_python3-templated-dictionary_install",
|
||||
"desc": "测试python3-templated-dictionary软件包的安装功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_python3-templated-dictionary_function_init",
|
||||
"desc": "测试字典初始化功能"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-templated-dictionary_function_uninstall",
|
||||
"desc": "测试软件包卸载功能"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-templated-dictionary_function_import",
|
||||
"desc": "测试模块导入功能"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-templated-dictionary_function_basic_usage",
|
||||
"desc": "测试模板字典基本使用功能"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-templated-dictionary_function_template_render",
|
||||
"desc": "测试模板渲染功能"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-templated-dictionary_function_nested_template",
|
||||
"desc": "测试嵌套模板功能"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6,10 +6,6 @@
|
||||
"name": "test_qt5-qtcharts-devel_install",
|
||||
"desc": "测试qt5-qtcharts-devel软件包的安装功能,验证安装过程是否成功,软件包是否被正确安装到系统中。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_qt5-qtcharts-devel_function_chart",
|
||||
"desc": "测试qt5-qtcharts-devel软件包的图表绘制功能,验证是否能正确生成和显示图表。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -10,37 +10,13 @@
|
||||
"name": "test_texlive-pdfbook2_pdfbook2__help",
|
||||
"desc": "测试 pdfbook2 的帮助信息"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-pdfbook2_pdfbook2_p_a4paper",
|
||||
"desc": "测试 pdfbook2 使用 a4paper 纸张格式"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-pdfbook2_pdfbook2_s",
|
||||
"desc": "测试 pdfbook2 使用短边双面打印"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-pdfbook2_pdfbook2_n",
|
||||
"desc": "测试 pdfbook2 不裁剪内容区域"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-pdfbook2_pdfbook2_o_40",
|
||||
"desc": "测试 pdfbook2 设置外侧边距为 40"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-pdfbook2_pdfbook2_i_150",
|
||||
"desc": "测试 pdfbook2 设置内侧边距为 150"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-pdfbook2_pdfbook2_t_30",
|
||||
"desc": "测试 pdfbook2 设置顶部边距为 30"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-pdfbook2_pdfblogger_b_30",
|
||||
"desc": "测试 pdfblogger 设置底部边距为 30"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-pdfbook2_function_landscape",
|
||||
"desc": "测试 pdfbook2 使用横向页面布局"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-d/texlive-cabin-doc",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-cabin-doc_function_install",
|
||||
"desc": "Test package installation"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-d/texlive-cite-doc",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-cite-doc_function_basic",
|
||||
"desc": "Test basic functionality of texlive-cite-doc"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-g/texlive-drawstack-doc",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-drawstack-doc_function_install",
|
||||
"desc": "Verify package installation"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-i/texlive-fge-doc",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-fge-doc_function_basic",
|
||||
"desc": "Test basic functionality"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -17,14 +17,6 @@
|
||||
{
|
||||
"name": "test_texlive-ibycus-babel-doc_function_verify_doc",
|
||||
"desc": "Test documentation existence"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-ibycus-babel-doc_function_check_version",
|
||||
"desc": "Test package version info"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-ibycus-babel-doc_function_search_content",
|
||||
"desc": "Test doc content search"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-y/texlive-jbact",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-jbact_function_install",
|
||||
"desc": "Test package installation"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,91 +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 : 2026-03-09
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试artemis-core-client软件包的基本配置文件
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装artemis-core-client
|
||||
LOG_INFO "检查artemis-core-client是否已安装"
|
||||
rpm -q artemis-core-client
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "artemis-core-client已安装,脚本结束后将保持安装状态"
|
||||
installed_before=true
|
||||
else
|
||||
LOG_INFO "artemis-core-client未安装,将在测试过程中安装"
|
||||
installed_before=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有artemis-core-client软件包
|
||||
LOG_INFO "检查yum源中是否有artemis-core-client软件包"
|
||||
dnf list available artemis-core-client
|
||||
CHECK_RESULT $? 0 0 "yum源中未找到artemis-core-client软件包"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到artemis-core-client软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装artemis-core-client
|
||||
if [ "$installed_before" = false ]; then
|
||||
LOG_INFO "安装artemis-core-client软件包"
|
||||
dnf install -y artemis-core-client
|
||||
CHECK_RESULT $? 0 0 "安装artemis-core-client失败"
|
||||
fi
|
||||
|
||||
# 检查artemis-core-client的基本配置文件是否存在
|
||||
LOG_INFO "检查artemis-core-client的基本配置文件"
|
||||
config_files=(
|
||||
"/etc/artemis/artemis-core-client.conf"
|
||||
"/etc/artemis/log4j2.properties"
|
||||
)
|
||||
|
||||
for config_file in "${config_files[@]}"; do
|
||||
if [ -f "$config_file" ]; then
|
||||
LOG_INFO "配置文件 $config_file 存在"
|
||||
else
|
||||
LOG_ERROR "配置文件 $config_file 不存在"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
# 测试artemis-core-client命令的基本参数
|
||||
LOG_INFO "测试artemis-core-client命令的基本参数"
|
||||
artemis-core-client --help
|
||||
CHECK_RESULT $? 0 0 "artemis-core-client --help 命令执行失败"
|
||||
|
||||
# 测试不支持的参数
|
||||
LOG_INFO "测试不支持的参数"
|
||||
artemis-core-client --invalid-parameter 2>/dev/null
|
||||
if [ $? -eq 255 ]; then
|
||||
LOG_INFO "不支持的参数正确处理,退出码为255"
|
||||
else
|
||||
LOG_ERROR "不支持的参数未正确处理"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 清理环境:如果之前未安装,则卸载artemis-core-client
|
||||
if [ "$installed_before" = false ]; then
|
||||
LOG_INFO "卸载artemis-core-client软件包"
|
||||
dnf remove -y artemis-core-client
|
||||
CHECK_RESULT $? 0 0 "卸载artemis-core-client失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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 : 2026-03-09
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试验证artemis-core-client软件包是否已正确安装
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试验证artemis-core-client软件包是否已正确安装"
|
||||
|
||||
LOG_INFO "步骤1:检查yum源中是否存在artemis-core-client软件包"
|
||||
if ! dnf list available artemis-core-client &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到artemis-core-client软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查系统是否已安装artemis-core-client"
|
||||
if rpm -q artemis-core-client &>/dev/null; then
|
||||
LOG_INFO "artemis-core-client已安装,测试结束后保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "artemis-core-client未安装,将执行安装作为测试步骤"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "步骤3:安装artemis-core-client软件包"
|
||||
dnf install -y artemis-core-client
|
||||
CHECK_RESULT $? 0 0 "安装artemis-core-client失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:验证artemis-core-client安装后基本功能"
|
||||
if ! command -v artemis-core-client &>/dev/null; then
|
||||
LOG_ERROR "未找到artemis-core-client命令"
|
||||
CHECK_RESULT 1 0 0 "artemis-core-client命令不存在"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤5:检查artemis-core-client命令是否支持--help参数"
|
||||
artemis-core-client --help &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "artemis-core-client不支持--help参数"
|
||||
|
||||
LOG_INFO "步骤6:执行artemis-core-client基础命令测试"
|
||||
artemis-core-client version &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "执行artemis-core-client version命令失败"
|
||||
|
||||
LOG_INFO "步骤7:检查artemis-core-client相关文件是否存在"
|
||||
if [ ! -f /usr/bin/artemis-core-client ]; then
|
||||
LOG_ERROR "artemis-core-client可执行文件不存在"
|
||||
CHECK_RESULT 1 0 0 "artemis-core-client文件缺失"
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "步骤8:卸载artemis-core-client软件包(测试前未安装)"
|
||||
dnf remove -y artemis-core-client
|
||||
CHECK_RESULT $? 0 0 "卸载artemis-core-client失败"
|
||||
|
||||
LOG_INFO "步骤9:验证artemis-core-client已成功卸载"
|
||||
if rpm -q artemis-core-client &>/dev/null; then
|
||||
LOG_ERROR "artemis-core-client卸载失败"
|
||||
CHECK_RESULT 1 0 0 "artemis-core-client仍存在"
|
||||
else
|
||||
LOG_INFO "artemis-core-client已成功卸载"
|
||||
fi
|
||||
else
|
||||
LOG_INFO "步骤8:测试前已安装artemis-core-client,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,100 +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 : 2026-03-09
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试artemis-core-client与服务端建立连接
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义变量
|
||||
PACKAGE_NAME="artemis-core-client"
|
||||
TEST_SERVER_IP="$NODE2_IPV4"
|
||||
TEST_SERVER_USER="$NODE2_USER"
|
||||
TEST_SERVER_PASSWORD="$NODE2_PASSWORD"
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
LOG_INFO "检查yum源中是否存在${PACKAGE_NAME}软件包"
|
||||
dnf list available ${PACKAGE_NAME} > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在${PACKAGE_NAME}软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装
|
||||
LOG_INFO "检查${PACKAGE_NAME}是否已安装"
|
||||
rpm -q ${PACKAGE_NAME} > /dev/null 2>&1
|
||||
INSTALLED=$?
|
||||
|
||||
# 记录初始安装状态
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "检测到${PACKAGE_NAME}已安装,测试结束后将保持安装状态"
|
||||
NEED_CLEANUP=0
|
||||
else
|
||||
LOG_INFO "检测到${PACKAGE_NAME}未安装,将作为测试步骤安装并在测试结束后卸载"
|
||||
NEED_CLEANUP=1
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $NEED_CLEANUP -eq 1 ]; then
|
||||
LOG_INFO "安装${PACKAGE_NAME}软件包"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}失败"
|
||||
fi
|
||||
|
||||
# 检查artemis-core-client命令是否存在
|
||||
LOG_INFO "检查artemis-core-client命令是否存在"
|
||||
command -v artemis-core-client > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "artemis-core-client命令不存在"
|
||||
|
||||
# 检查artemis-core-client命令是否支持connect参数
|
||||
LOG_INFO "检查artemis-core-client是否支持connect参数"
|
||||
artemis-core-client --help | grep -q "connect"
|
||||
CHECK_RESULT $? 0 0 "artemis-core-client不支持connect参数"
|
||||
|
||||
# 测试与服务端建立连接
|
||||
LOG_INFO "测试artemis-core-client与服务端建立连接"
|
||||
if [ -n "$TEST_SERVER_IP" ] && [ -n "$TEST_SERVER_USER" ] && [ -n "$TEST_SERVER_PASSWORD" ]; then
|
||||
LOG_INFO "在远程服务器上测试连接"
|
||||
SSH_CMD "artemis-core-client connect --server=${TEST_SERVER_IP}" $TEST_SERVER_IP $TEST_SERVER_PASSWORD $TEST_SERVER_USER
|
||||
CHECK_RESULT $? 0 0 "远程连接测试失败"
|
||||
else
|
||||
LOG_INFO "在本地测试连接"
|
||||
artemis-core-client connect --server=127.0.0.1
|
||||
# 这里不检查结果,因为连接可能成功或失败,取决于是否有服务端
|
||||
# 主要测试的是命令能否正常执行
|
||||
if [ $? -gt 1 ]; then
|
||||
LOG_ERROR "artemis-core-client命令执行异常"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
LOG_INFO "artemis-core-client连接测试完成"
|
||||
|
||||
# 环境清理
|
||||
if [ $NEED_CLEANUP -eq 1 ]; then
|
||||
LOG_INFO "清理测试环境,卸载${PACKAGE_NAME}软件包"
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}失败"
|
||||
LOG_INFO "环境已恢复到测试前状态"
|
||||
else
|
||||
LOG_INFO "保持${PACKAGE_NAME}安装状态,无需清理"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,109 +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 : 2026-03-09
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试artemis-core-client软件包帮助命令的输出
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
PACKAGE_NAME="artemis-core-client"
|
||||
LOG_INFO "测试开始:测试artemis-core-client软件包帮助命令的输出"
|
||||
LOG_INFO "步骤1:检查当前环境是否已安装$PACKAGE_NAME"
|
||||
if dnf list installed "$PACKAGE_NAME" &>/dev/null; then
|
||||
LOG_INFO "检测到$PACKAGE_NAME已安装,测试后保持安装状态"
|
||||
INSTALLED_BEFORE_TEST=true
|
||||
else
|
||||
LOG_INFO "检测到$PACKAGE_NAME未安装,将在测试前安装"
|
||||
INSTALLED_BEFORE_TEST=false
|
||||
fi
|
||||
LOG_INFO "步骤2:检查yum源中是否存在$PACKAGE_NAME软件包"
|
||||
if ! dnf list available "$PACKAGE_NAME" &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到$PACKAGE_NAME软件包"
|
||||
exit 255
|
||||
fi
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
LOG_INFO "步骤3:安装$PACKAGE_NAME软件包"
|
||||
dnf install -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "安装$PACKAGE_NAME失败"
|
||||
fi
|
||||
LOG_INFO "步骤4:查找artemis-core-client相关命令"
|
||||
COMMAND_PATH=$(which artemis 2>/dev/null || which artemis-core-client 2>/dev/null || echo "")
|
||||
if [ -z "$COMMAND_PATH" ]; then
|
||||
LOG_ERROR "未找到artemis或artemis-core-client命令"
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
LOG_INFO "清理:卸载测试安装的软件包"
|
||||
dnf remove -y "$PACKAGE_NAME"
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "步骤5:测试帮助命令参数"
|
||||
LOG_INFO "尝试使用--help参数"
|
||||
$COMMAND_PATH --help &>/dev/null
|
||||
HELP_RESULT=$?
|
||||
if [ $HELP_RESULT -eq 0 ]; then
|
||||
LOG_INFO "--help参数执行成功"
|
||||
$COMMAND_PATH --help | head -5
|
||||
CHECK_RESULT $? 0 0 "获取--help输出失败"
|
||||
elif [ $HELP_RESULT -eq 255 ]; then
|
||||
LOG_ERROR "命令不支持--help参数"
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
LOG_INFO "清理:卸载测试安装的软件包"
|
||||
dnf remove -y "$PACKAGE_NAME"
|
||||
fi
|
||||
exit 255
|
||||
else
|
||||
LOG_ERROR "执行--help命令失败,退出码:$HELP_RESULT"
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
LOG_INFO "清理:卸载测试安装的软件包"
|
||||
dnf remove -y "$PACKAGE_NAME"
|
||||
fi
|
||||
exit $HELP_RESULT
|
||||
fi
|
||||
LOG_INFO "尝试使用-h参数"
|
||||
$COMMAND_PATH -h &>/dev/null
|
||||
H_RESULT=$?
|
||||
if [ $H_RESULT -eq 0 ]; then
|
||||
LOG_INFO "-h参数执行成功"
|
||||
$COMMAND_PATH -h | head -5
|
||||
CHECK_RESULT $? 0 0 "获取-h输出失败"
|
||||
elif [ $H_RESULT -eq 255 ]; then
|
||||
LOG_ERROR "命令不支持-h参数"
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
LOG_INFO "清理:卸载测试安装的软件包"
|
||||
dnf remove -y "$PACKAGE_NAME"
|
||||
fi
|
||||
exit 255
|
||||
else
|
||||
LOG_ERROR "执行-h命令失败,退出码:$H_RESULT"
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
LOG_INFO "清理:卸载测试安装的软件包"
|
||||
dnf remove -y "$PACKAGE_NAME"
|
||||
fi
|
||||
exit $H_RESULT
|
||||
fi
|
||||
LOG_INFO "步骤6:环境恢复"
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
LOG_INFO "清理:卸载测试安装的软件包"
|
||||
dnf remove -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "卸载$PACKAGE_NAME失败"
|
||||
else
|
||||
LOG_INFO "保持$PACKAGE_NAME安装状态不变"
|
||||
fi
|
||||
LOG_INFO "测试结束:artemis-core-client帮助命令测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,106 +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 : 2026-03-09
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试artemis-core-client软件包的基本安装功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试artemis-core-client软件包的基本安装功能
|
||||
LOG_INFO "开始测试artemis-core-client软件包的基本安装功能"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="artemis-core-client"
|
||||
|
||||
# 步骤1: 检查yum源中是否存在该软件包
|
||||
LOG_INFO "步骤1: 检查yum源中是否存在$PACKAGE_NAME软件包"
|
||||
dnf list available $PACKAGE_NAME &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到$PACKAGE_NAME软件包"
|
||||
exit 255
|
||||
fi
|
||||
CHECK_RESULT $? 0 0 "检查软件包是否存在失败"
|
||||
|
||||
# 步骤2: 检查系统是否已安装该软件包
|
||||
LOG_INFO "步骤2: 检查系统是否已安装$PACKAGE_NAME软件包"
|
||||
rpm -q $PACKAGE_NAME &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "检测到$PACKAGE_NAME已安装,测试结束后将保持安装状态"
|
||||
ALREADY_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "$PACKAGE_NAME未安装,将执行安装测试"
|
||||
ALREADY_INSTALLED=0
|
||||
fi
|
||||
|
||||
# 步骤3: 安装软件包(如果未安装)
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤3: 安装$PACKAGE_NAME软件包"
|
||||
dnf install -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "安装$PACKAGE_NAME失败"
|
||||
fi
|
||||
|
||||
# 步骤4: 验证软件包安装成功
|
||||
LOG_INFO "步骤4: 验证$PACKAGE_NAME软件包安装成功"
|
||||
rpm -q $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "验证$PACKAGE_NAME安装失败"
|
||||
|
||||
# 步骤5: 检查软件包是否包含必要的命令
|
||||
LOG_INFO "步骤5: 检查软件包是否包含必要的命令"
|
||||
# 这里假设artemis-core-client会安装"artemis"命令
|
||||
# 如果实际命令不同,请修改此处
|
||||
COMMAND_NAME="artemis"
|
||||
which $COMMAND_NAME &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "$PACKAGE_NAME未安装$COMMAND_NAME命令"
|
||||
# 根据需求,命令不存在属于参数不存在或不支持的情况
|
||||
exit 255
|
||||
fi
|
||||
CHECK_RESULT $? 0 0 "检查命令是否存在失败"
|
||||
|
||||
# 步骤6: 测试基本命令功能
|
||||
LOG_INFO "步骤6: 测试$COMMAND_NAME命令基本功能"
|
||||
# 这里测试--help参数,如果实际命令不支持--help,请修改为合适的参数
|
||||
$COMMAND_NAME --help &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "$COMMAND_NAME命令不支持--help参数"
|
||||
# 根据需求,参数不支持属于参数不存在或不支持的情况
|
||||
exit 255
|
||||
fi
|
||||
CHECK_RESULT $? 0 0 "测试命令基本功能失败"
|
||||
|
||||
# 步骤7: 清理环境(如果测试前未安装)
|
||||
LOG_INFO "步骤7: 清理测试环境"
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载$PACKAGE_NAME软件包"
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "卸载$PACKAGE_NAME失败"
|
||||
|
||||
# 验证已卸载
|
||||
rpm -q $PACKAGE_NAME &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "$PACKAGE_NAME卸载失败"
|
||||
exit 1
|
||||
fi
|
||||
CHECK_RESULT $? 1 0 "验证卸载失败"
|
||||
else
|
||||
LOG_INFO "测试前$PACKAGE_NAME已安装,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "$PACKAGE_NAME软件包基本安装功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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 : 2026-03-09
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试artemis-core-client接收基本消息
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试artemis-core-client接收基本消息"
|
||||
|
||||
# 检查是否已安装artemis-core-client
|
||||
LOG_INFO "检查artemis-core-client是否已安装"
|
||||
if rpm -q artemis-core-client &>/dev/null; then
|
||||
LOG_INFO "artemis-core-client已安装,测试结束后将保持安装状态"
|
||||
INSTALLED="yes"
|
||||
else
|
||||
LOG_INFO "artemis-core-client未安装,将在测试中安装"
|
||||
INSTALLED="no"
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有artemis-core-client软件包
|
||||
LOG_INFO "检查yum源中是否有artemis-core-client软件包"
|
||||
if ! dnf list available artemis-core-client &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到artemis-core-client软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = "no" ]; then
|
||||
LOG_INFO "安装artemis-core-client软件包"
|
||||
dnf install -y artemis-core-client
|
||||
CHECK_RESULT $? 0 0 "安装artemis-core-client失败"
|
||||
fi
|
||||
|
||||
# 测试接收基本消息功能
|
||||
LOG_INFO "测试artemis-core-client接收基本消息功能"
|
||||
# 假设接收消息的命令为artemis-core-client receive,参数为--test-msg
|
||||
# 检查参数是否支持
|
||||
LOG_INFO "检查--test-msg参数是否支持"
|
||||
if ! artemis-core-client receive --help | grep -q "\-\-test-msg"; then
|
||||
LOG_ERROR "--test-msg参数不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行接收消息命令
|
||||
LOG_INFO "执行接收消息命令"
|
||||
artemis-core-client receive --test-msg "Hello, Artemis!"
|
||||
CHECK_RESULT $? 0 0 "接收基本消息失败"
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = "no" ]; then
|
||||
LOG_INFO "卸载artemis-core-client软件包"
|
||||
dnf remove -y artemis-core-client
|
||||
CHECK_RESULT $? 0 0 "卸载artemis-core-client失败"
|
||||
else
|
||||
LOG_INFO "测试前已安装artemis-core-client,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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 : 2026-03-09
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试artemis-core-client发送基本消息
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试artemis-core-client发送基本消息"
|
||||
|
||||
LOG_INFO "步骤1: 检查环境是否已安装artemis-core-client"
|
||||
if dnf list installed artemis-core-client &>/dev/null; then
|
||||
LOG_INFO "artemis-core-client已安装"
|
||||
already_installed=true
|
||||
else
|
||||
LOG_INFO "artemis-core-client未安装"
|
||||
already_installed=false
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2: 检查yum源中是否有artemis-core-client软件包"
|
||||
if ! dnf search artemis-core-client | grep -q "artemis-core-client"; then
|
||||
LOG_ERROR "yum源中未找到artemis-core-client软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "步骤3: 安装artemis-core-client软件包"
|
||||
dnf install -y artemis-core-client
|
||||
CHECK_RESULT $? 0 0 "安装artemis-core-client失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4: 检查artemis-core-client命令是否支持发送消息参数"
|
||||
if ! artemis-core-client --help | grep -q "send-msg"; then
|
||||
LOG_ERROR "artemis-core-client命令不支持发送消息参数"
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "清理环境: 卸载artemis-core-client"
|
||||
dnf remove -y artemis-core-client
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤5: 执行artemis-core-client发送基本消息"
|
||||
artemis-core-client send-msg --message "测试消息"
|
||||
CHECK_RESULT $? 0 0 "发送基本消息失败"
|
||||
|
||||
LOG_INFO "步骤6: 清理环境"
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "卸载artemis-core-client软件包"
|
||||
dnf remove -y artemis-core-client
|
||||
CHECK_RESULT $? 0 0 "卸载artemis-core-client失败"
|
||||
else
|
||||
LOG_INFO "保持artemis-core-client安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-12-08
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试artemis-core-client的启动功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 测试artemis-core-client的启动功能
|
||||
|
||||
LOG_INFO "开始测试artemis-core-client的启动功能"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查artemis-core-client是否已安装"
|
||||
if dnf list installed artemis-core-client &>/dev/null; then
|
||||
LOG_INFO "artemis-core-client已安装,测试完成后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "artemis-core-client未安装,将在测试完成后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在artemis-core-client软件包
|
||||
LOG_INFO "检查yum源中是否存在artemis-core-client软件包"
|
||||
if ! dnf list available artemis-core-client &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到artemis-core-client软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装artemis-core-client"
|
||||
dnf install -y artemis-core-client
|
||||
CHECK_RESULT $? 0 0 "安装artemis-core-client失败"
|
||||
fi
|
||||
|
||||
# 测试启动功能
|
||||
LOG_INFO "测试artemis-core-client的启动功能"
|
||||
systemctl start artemis-core-client
|
||||
CHECK_RESULT $? 0 0 "启动artemis-core-client失败"
|
||||
|
||||
# 检查服务状态
|
||||
LOG_INFO "检查artemis-core-client服务状态"
|
||||
systemctl status artemis-core-client | grep -q "active (running)"
|
||||
CHECK_RESULT $? 0 0 "artemis-core-client服务未正常运行"
|
||||
|
||||
# 停止服务
|
||||
LOG_INFO "停止artemis-core-client服务"
|
||||
systemctl stop artemis-core-client
|
||||
CHECK_RESULT $? 0 0 "停止artemis-core-client失败"
|
||||
|
||||
# 如果最初未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载artemis-core-client"
|
||||
dnf remove -y artemis-core-client
|
||||
CHECK_RESULT $? 0 0 "卸载artemis-core客户端失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复初始状态"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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 : 2026-03-09
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试artemis-core-client软件包的卸载功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="artemis-core-client"
|
||||
|
||||
# 检查软件包是否已在yum源中
|
||||
LOG_INFO "步骤1: 检查yum源中是否存在$PACKAGE_NAME软件包"
|
||||
dnf list available $PACKAGE_NAME &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在$PACKAGE_NAME软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum源中存在$PACKAGE_NAME软件包"
|
||||
|
||||
# 检查当前是否已安装
|
||||
LOG_INFO "步骤2: 检查当前系统是否已安装$PACKAGE_NAME"
|
||||
rpm -q $PACKAGE_NAME &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
ALREADY_INSTALLED=true
|
||||
LOG_INFO "检测到$PACKAGE_NAME已安装,脚本结束后将保持安装状态"
|
||||
else
|
||||
ALREADY_INSTALLED=false
|
||||
LOG_INFO "检测到$PACKAGE_NAME未安装,将在测试后卸载"
|
||||
fi
|
||||
|
||||
# 如果未安装,则进行安装
|
||||
if [ "$ALREADY_INSTALLED" = "false" ]; then
|
||||
LOG_INFO "步骤3: 安装$PACKAGE_NAME软件包"
|
||||
dnf install -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "安装$PACKAGE_NAME失败"
|
||||
LOG_INFO "$PACKAGE_NAME安装成功"
|
||||
fi
|
||||
|
||||
# 验证软件包已安装
|
||||
LOG_INFO "步骤4: 验证$PACKAGE_NAME软件包已安装"
|
||||
rpm -q $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "$PACKAGE_NAME未正确安装"
|
||||
|
||||
# 测试卸载功能
|
||||
LOG_INFO "步骤5: 测试$PACKAGE_NAME软件包的卸载功能"
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "卸载$PACKAGE_NAME失败"
|
||||
LOG_INFO "$PACKAGE_NAME卸载成功"
|
||||
|
||||
# 验证软件包已卸载
|
||||
LOG_INFO "步骤6: 验证$PACKAGE_NAME软件包已卸载"
|
||||
rpm -q $PACKAGE_NAME &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "$PACKAGE_NAME卸载验证失败,软件包仍存在"
|
||||
exit 1
|
||||
fi
|
||||
LOG_INFO "$PACKAGE_NAME卸载验证成功"
|
||||
|
||||
# 环境恢复:如果最初未安装,则保持未安装状态;如果最初已安装,则重新安装
|
||||
LOG_INFO "步骤7: 恢复测试环境"
|
||||
if [ "$ALREADY_INSTALLED" = "true" ]; then
|
||||
LOG_INFO "重新安装$PACKAGE_NAME以恢复原始状态"
|
||||
dnf install -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "重新安装$PACKAGE_NAME失败"
|
||||
LOG_INFO "环境已恢复:$PACKAGE_NAME已重新安装"
|
||||
else
|
||||
LOG_INFO "环境已恢复:$PACKAGE_NAME保持未安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:artemis-core-client软件包卸载功能测试通过"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,98 +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 : 2026-03-09
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试artemis-core-client软件包的更新功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
PACKAGE_NAME="artemis-core-client"
|
||||
LOG_INFO "开始测试${PACKAGE_NAME}软件包的更新功能"
|
||||
|
||||
# 步骤1:检查yum源中是否存在指定的软件包
|
||||
LOG_INFO "步骤1:检查yum源中是否存在${PACKAGE_NAME}软件包"
|
||||
if ! dnf list available ${PACKAGE_NAME} &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到${PACKAGE_NAME}软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤2:检查当前环境是否已安装软件包
|
||||
LOG_INFO "步骤2:检查当前环境是否已安装${PACKAGE_NAME}软件包"
|
||||
if rpm -q ${PACKAGE_NAME} &> /dev/null; then
|
||||
LOG_INFO "检测到${PACKAGE_NAME}已安装,测试结束后将保持安装状态"
|
||||
INSTALLED_BEFORE_TEST=true
|
||||
else
|
||||
LOG_INFO "检测到${PACKAGE_NAME}未安装,将在测试结束后卸载"
|
||||
INSTALLED_BEFORE_TEST=false
|
||||
fi
|
||||
|
||||
# 步骤3:安装软件包(如果未安装)
|
||||
if [ "${INSTALLED_BEFORE_TEST}" = "false" ]; then
|
||||
LOG_INFO "步骤3:安装${PACKAGE_NAME}软件包"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}失败"
|
||||
fi
|
||||
|
||||
# 步骤4:检查软件包更新
|
||||
LOG_INFO "步骤4:检查${PACKAGE_NAME}软件包是否有可用更新"
|
||||
if dnf check-update ${PACKAGE_NAME} &> /dev/null; then
|
||||
LOG_INFO "检测到${PACKAGE_NAME}有可用更新"
|
||||
HAS_UPDATE=true
|
||||
else
|
||||
LOG_INFO "未检测到${PACKAGE_NAME}有可用更新"
|
||||
HAS_UPDATE=false
|
||||
fi
|
||||
|
||||
# 步骤5:执行软件包更新(如果有更新)
|
||||
if [ "${HAS_UPDATE}" = "true" ]; then
|
||||
LOG_INFO "步骤5:更新${PACKAGE_NAME}软件包"
|
||||
dnf update -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "更新${PACKAGE_NAME}失败"
|
||||
|
||||
# 验证更新后版本
|
||||
LOG_INFO "验证更新后软件包版本"
|
||||
rpm -q ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "验证更新后版本失败"
|
||||
else
|
||||
LOG_INFO "步骤5:跳过更新(无可用更新)"
|
||||
fi
|
||||
|
||||
# 步骤6:验证软件包功能
|
||||
LOG_INFO "步骤6:验证${PACKAGE_NAME}基本功能"
|
||||
# 这里可以根据实际软件包的功能添加验证命令
|
||||
# 例如:artemis-core-client --version 或类似命令
|
||||
if command -v artemis-core-client &> /dev/null; then
|
||||
artemis-core-client --version
|
||||
CHECK_RESULT $? 0 0 "验证${PACKAGE_NAME}功能失败"
|
||||
else
|
||||
LOG_INFO "未找到artemis-core-client命令,跳过功能验证"
|
||||
fi
|
||||
|
||||
# 步骤7:清理环境
|
||||
LOG_INFO "步骤7:清理测试环境"
|
||||
if [ "${INSTALLED_BEFORE_TEST}" = "false" ]; then
|
||||
LOG_INFO "卸载测试安装的${PACKAGE_NAME}软件包"
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}失败"
|
||||
else
|
||||
LOG_INFO "保持${PACKAGE_NAME}软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "${PACKAGE_NAME}软件包更新功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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 : 2026-03-09
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试检查artemis-core-client软件包版本号的功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
PACKAGE_NAME="artemis-core-client"
|
||||
LOG_INFO "开始测试:检查$PACKAGE_NAME软件包版本号的功能"
|
||||
|
||||
LOG_INFO "步骤1:检查yum源中是否存在$PACKAGE_NAME软件包"
|
||||
dnf list available $PACKAGE_NAME &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在$PACKAGE_NAME软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查当前是否已安装$PACKAGE_NAME软件包"
|
||||
rpm -q $PACKAGE_NAME &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
INSTALLED="true"
|
||||
LOG_INFO "检测到$PACKAGE_NAME已安装,测试结束后将保持安装状态"
|
||||
else
|
||||
INSTALLED="false"
|
||||
LOG_INFO "检测到$PACKAGE_NAME未安装,将进行安装"
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "步骤3:安装$PACKAGE_NAME软件包"
|
||||
dnf install -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "安装$PACKAGE_NAME失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:检查artemis-core-client命令的version参数是否支持"
|
||||
artemis-core-client --help | grep -q "\-\-version"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "artemis-core-client命令不支持--version参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤5:执行artemis-core-client --version命令检查版本号"
|
||||
VERSION_OUTPUT=$(artemis-core-client --version 2>&1)
|
||||
CHECK_RESULT $? 0 0 "执行artemis-core-client --version命令失败"
|
||||
LOG_INFO "版本信息:$VERSION_OUTPUT"
|
||||
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "步骤6:卸载$PACKAGE_NAME软件包"
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "卸载$PACKAGE_NAME失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:成功检查$PACKAGE_NAME软件包版本号"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-06-12
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试artemis-core-client软件包的安装功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
|
||||
# 检查是否已经安装artemis-core-client软件包
|
||||
LOG_INFO "检查是否已经安装artemis-core-client软件包"
|
||||
rpm -q artemis-core-client > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "artemis-core-client已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "artemis-core-client未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在artemis-core-client软件包
|
||||
LOG_INFO "检查yum源中是否存在artemis-core-client软件包"
|
||||
dnf list available artemis-core-client > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中不存在artemis-core-client软件包"
|
||||
|
||||
# 安装artemis-core-client软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装artemis-core-client软件包"
|
||||
dnf install -y artemis-core-client > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装artemis-core-client软件包失败"
|
||||
fi
|
||||
|
||||
# 验证artemis-core-client是否成功安装
|
||||
LOG_INFO "验证artemis-core-client是否成功安装"
|
||||
rpm -q artemis-core-client > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "验证artemis-core-client安装失败"
|
||||
|
||||
# 测试完成后清理环境(如果之前未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "清理环境,卸载artemis-core-client软件包"
|
||||
dnf remove -y artemis-core-client > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载artemis-core-client软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复初始状态"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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 : 2026-03-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test fence agent execution
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试fence agent执行功能"
|
||||
|
||||
# 检查yum源中是否存在fence-agents-heuristics-ping软件包
|
||||
LOG_INFO "检查yum源中是否存在fence-agents-heuristics-ping软件包"
|
||||
dnf list available fence-agents-heuristics-ping > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到fence-agents-heuristics-ping软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装fence-agents-heuristics-ping
|
||||
LOG_INFO "检查是否已安装fence-agents-heuristics-ping软件包"
|
||||
rpm -q fence-agents-heuristics-ping > /dev/null 2>&1
|
||||
is_installed=$?
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $is_installed -ne 0 ]; then
|
||||
LOG_INFO "安装fence-agents-heuristics-ping软件包"
|
||||
dnf install -y fence-agents-heuristics-ping
|
||||
CHECK_RESULT $? 0 0 "安装fence-agents-heuristics-ping软件包失败"
|
||||
else
|
||||
LOG_INFO "fence-agents-heuristics-ping软件包已安装"
|
||||
fi
|
||||
|
||||
# 检查fence_heuristics_ping命令是否存在
|
||||
LOG_INFO "检查fence_heuristics_ping命令是否存在"
|
||||
command -v fence_heuristics_ping > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "fence_heuristics_ping命令不存在"
|
||||
|
||||
# 测试fence_heuristics_ping命令的参数支持情况
|
||||
LOG_INFO "测试fence_heuristics_ping命令的参数支持情况"
|
||||
fence_heuristics_ping --help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "fence_heuristics_ping命令不支持--help参数"
|
||||
|
||||
# 测试fence_heuristics_ping命令的基本执行
|
||||
LOG_INFO "测试fence_heuristics_ping命令的基本执行"
|
||||
fence_heuristics_ping --version > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "fence_heuristics_ping命令执行失败"
|
||||
|
||||
# 如果测试过程中安装了软件包,则在测试结束后卸载
|
||||
if [ $is_installed -ne 0 ]; then
|
||||
LOG_INFO "卸载fence-agents-heuristics-ping软件包"
|
||||
dnf remove -y fence-agents-heuristics-ping
|
||||
CHECK_RESULT $? 0 0 "卸载fence-agents-heuristics-ping软件包失败"
|
||||
else
|
||||
LOG_INFO "保持fence-agents-heuristics-ping软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "fence agent执行功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,103 +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 : 2026-03-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test checking if package is installed
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 设置变量
|
||||
PACKAGE_NAME="fence-agents-heuristics-ping"
|
||||
TEST_COMMAND="fence_heuristics_ping"
|
||||
TEST_PARAM="--help"
|
||||
|
||||
# 步骤1: 检查yum源中是否存在指定的软件包
|
||||
LOG_INFO "步骤1: 检查yum源中是否存在${PACKAGE_NAME}软件包"
|
||||
dnf list available ${PACKAGE_NAME} &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到${PACKAGE_NAME}软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum源中存在${PACKAGE_NAME}软件包"
|
||||
|
||||
# 步骤2: 检查当前环境是否已安装指定软件包
|
||||
LOG_INFO "步骤2: 检查当前环境是否已安装${PACKAGE_NAME}软件包"
|
||||
rpm -q ${PACKAGE_NAME} &>/dev/null
|
||||
INSTALLED=$?
|
||||
if [ ${INSTALLED} -eq 0 ]; then
|
||||
LOG_INFO "${PACKAGE_NAME}软件包已安装"
|
||||
NEED_CLEANUP=0
|
||||
else
|
||||
LOG_INFO "${PACKAGE_NAME}软件包未安装,将在测试过程中安装"
|
||||
NEED_CLEANUP=1
|
||||
fi
|
||||
|
||||
# 步骤3: 如果未安装,则安装软件包
|
||||
if [ ${NEED_CLEANUP} -eq 1 ]; then
|
||||
LOG_INFO "步骤3: 安装${PACKAGE_NAME}软件包"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}软件包失败"
|
||||
LOG_INFO "安装${PACKAGE_NAME}软件包成功"
|
||||
fi
|
||||
|
||||
# 步骤4: 检查指定命令是否存在
|
||||
LOG_INFO "步骤4: 检查${TEST_COMMAND}命令是否存在"
|
||||
which ${TEST_COMMAND} &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "${TEST_COMMAND}命令不存在"
|
||||
# 如果是测试过程中安装的,需要卸载软件包
|
||||
if [ ${NEED_CLEANUP} -eq 1 ]; then
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "${TEST_COMMAND}命令存在"
|
||||
|
||||
# 步骤5: 检查命令参数是否支持
|
||||
LOG_INFO "步骤5: 检查${TEST_COMMAND}命令是否支持${TEST_PARAM}参数"
|
||||
${TEST_COMMAND} ${TEST_PARAM} &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "${TEST_COMMAND}命令不支持${TEST_PARAM}参数"
|
||||
# 如果是测试过程中安装的,需要卸载软件包
|
||||
if [ ${NEED_CLEANUP} -eq 1 ]; then
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "${TEST_COMMAND}命令支持${TEST_PARAM}参数"
|
||||
|
||||
# 步骤6: 执行测试命令
|
||||
LOG_INFO "步骤6: 执行${TEST_COMMAND}命令进行测试"
|
||||
${TEST_COMMAND} ${TEST_PARAM}
|
||||
CHECK_RESULT $? 0 0 "执行${TEST_COMMAND}命令失败"
|
||||
LOG_INFO "执行${TEST_COMMAND}命令成功"
|
||||
|
||||
# 步骤7: 清理环境
|
||||
LOG_INFO "步骤7: 清理测试环境"
|
||||
if [ ${NEED_CLEANUP} -eq 1 ]; then
|
||||
LOG_INFO "卸载测试过程中安装的${PACKAGE_NAME}软件包"
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}软件包失败"
|
||||
LOG_INFO "卸载${PACKAGE_NAME}软件包成功"
|
||||
else
|
||||
LOG_INFO "保持${PACKAGE_NAME}软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复到测试前状态"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,195 +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 : 2026-03-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test configuration file usage
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义颜色和日志函数
|
||||
LOG_INFO() {
|
||||
echo -e "\033[32m[INFO]\033[0m $1"
|
||||
}
|
||||
|
||||
LOG_ERROR() {
|
||||
echo -e "\033[31m[ERROR]\033[0m $1"
|
||||
}
|
||||
|
||||
# 检查命令执行结果
|
||||
CHECK_RESULT() {
|
||||
local actual=$1
|
||||
local expect=$2
|
||||
local mode=$3
|
||||
local message=$4
|
||||
|
||||
if [ $mode -eq 0 ]; then
|
||||
if [ $actual -ne $expect ]; then
|
||||
LOG_ERROR "$message"
|
||||
exit $actual
|
||||
fi
|
||||
elif [ $mode -eq 1 ]; then
|
||||
if [ $actual -eq $expect ]; then
|
||||
LOG_ERROR "$message"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
LOG_INFO "$message 成功"
|
||||
}
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
check_package_in_repo() {
|
||||
local package=$1
|
||||
LOG_INFO "检查yum源中是否存在软件包: $package"
|
||||
dnf list available $package &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在软件包: $package"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "软件包 $package 在yum源中存在"
|
||||
}
|
||||
|
||||
# 检查命令参数是否支持
|
||||
check_command_option() {
|
||||
local command=$1
|
||||
local option=$2
|
||||
LOG_INFO "检查命令 $command 是否支持参数 $option"
|
||||
$command --help 2>&1 | grep -q -- "$option"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "命令 $command 不支持参数 $option"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "命令 $command 支持参数 $option"
|
||||
}
|
||||
|
||||
# 检查是否已安装
|
||||
check_installed() {
|
||||
LOG_INFO "检查 fence-agents-heuristics-ping 是否已安装"
|
||||
rpm -q fence-agents-heuristics-ping &>/dev/null
|
||||
return $?
|
||||
}
|
||||
|
||||
# 安装软件包
|
||||
install_package() {
|
||||
local package=$1
|
||||
LOG_INFO "安装软件包: $package"
|
||||
dnf install -y $package
|
||||
CHECK_RESULT $? 0 0 "安装软件包 $package"
|
||||
}
|
||||
|
||||
# 卸载软件包
|
||||
uninstall_package() {
|
||||
local package=$1
|
||||
LOG_INFO "卸载软件包: $package"
|
||||
dnf remove -y $package
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 $package"
|
||||
}
|
||||
|
||||
# 主测试函数
|
||||
test_config_file_usage() {
|
||||
LOG_INFO "开始测试: Test configuration file usage"
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
check_package_in_repo fence-agents-heuristics-ping
|
||||
|
||||
# 检查是否已安装
|
||||
local was_installed=false
|
||||
if check_installed; then
|
||||
LOG_INFO "fence-agents-heuristics-ping 已安装"
|
||||
was_installed=true
|
||||
else
|
||||
LOG_INFO "fence-agents-heuristics-ping 未安装"
|
||||
was_installed=false
|
||||
# 安装软件包
|
||||
install_package fence-agents-heuristics-ping
|
||||
fi
|
||||
|
||||
# 检查命令是否存在
|
||||
LOG_INFO "检查 fence_heuristics_ping 命令是否存在"
|
||||
which fence_heuristics_ping &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "检查 fence_heuristics_ping 命令"
|
||||
|
||||
# 检查配置文件参数
|
||||
check_command_option fence_heuristics_ping "-c"
|
||||
check_command_option fence_heuristics_ping "--config"
|
||||
|
||||
# 测试使用配置文件
|
||||
LOG_INFO "测试使用配置文件参数"
|
||||
|
||||
# 创建临时配置文件
|
||||
local temp_config=$(mktemp)
|
||||
cat > $temp_config << EOF
|
||||
# 测试配置文件
|
||||
host=192.168.1.100
|
||||
interval=10
|
||||
threshold=3
|
||||
EOF
|
||||
|
||||
# 测试-c参数
|
||||
LOG_INFO "测试 -c 参数"
|
||||
fence_heuristics_ping -c $temp_config --help &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "使用 -c 参数"
|
||||
|
||||
# 测试--config参数
|
||||
LOG_INFO "测试 --config 参数"
|
||||
fence_heuristics_ping --config $temp_config --help &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "使用 --config 参数"
|
||||
|
||||
# 测试无效配置文件
|
||||
LOG_INFO "测试无效配置文件"
|
||||
fence_heuristics_ping -c /nonexistent/config/file --help 2>&1 | grep -q "error\|Error\|ERROR"
|
||||
CHECK_RESULT $? 0 1 "检查无效配置文件错误提示"
|
||||
|
||||
# 测试无效参数
|
||||
LOG_INFO "测试无效参数"
|
||||
fence_heuristics_ping --invalid-option 2>&1 | grep -q "error\|Error\|ERROR\|invalid\|Invalid"
|
||||
CHECK_RESULT $? 0 0 "检查无效参数错误提示"
|
||||
|
||||
# 清理临时文件
|
||||
rm -f $temp_config
|
||||
LOG_INFO "清理临时文件"
|
||||
|
||||
# 如果之前未安装,则卸载软件包
|
||||
if [ "$was_installed" = "false" ]; then
|
||||
uninstall_package fence-agents-heuristics-ping
|
||||
else
|
||||
LOG_INFO "保持软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成: Test configuration file usage"
|
||||
}
|
||||
|
||||
# 环境清理函数
|
||||
cleanup() {
|
||||
LOG_INFO "开始环境清理"
|
||||
|
||||
# 这里可以添加其他清理操作
|
||||
# 例如:删除测试创建的文件,恢复修改的配置等
|
||||
|
||||
LOG_INFO "环境清理完成"
|
||||
}
|
||||
|
||||
# 设置trap确保脚本退出时执行清理
|
||||
trap cleanup EXIT
|
||||
|
||||
# 执行主测试
|
||||
test_config_file_usage
|
||||
|
||||
# 脚本正常退出
|
||||
exit 0
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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 : 2026-03-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test help/usage output
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 判断是否已安装fence-agents-heuristics-ping软件包
|
||||
LOG_INFO "检查是否已安装fence-agents-heuristics-ping软件包"
|
||||
rpm -q fence-agents-heuristics-ping > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "fence-agents-heuristics-ping软件包已安装"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "fence-agents-heuristics-ping软件包未安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有该软件包
|
||||
LOG_INFO "检查yum源中是否有fence-agents-heuristics-ping软件包"
|
||||
dnf list available fence-agents-heuristics-ping > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中没有fence-agents-heuristics-ping软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "安装fence-agents-heuristics-ping软件包"
|
||||
dnf install -y fence-agents-heuristics-ping
|
||||
CHECK_RESULT $? 0 0 "安装fence-agents-heuristics-ping软件包失败"
|
||||
fi
|
||||
|
||||
# 测试fence_heuristics_ping命令的help/usage输出
|
||||
LOG_INFO "测试fence_heuristics_ping命令的help/usage输出"
|
||||
fence_heuristics_ping --help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "fence_heuristics_ping命令的help/usage输出测试失败"
|
||||
|
||||
# 测试fence_heuristics_ping命令的usage输出(短选项)
|
||||
LOG_INFO "测试fence_heuristics_ping命令的usage输出(短选项)"
|
||||
fence_heuristics_ping -h > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "fence_heuristics_ping命令的usage输出(短选项)测试失败"
|
||||
|
||||
# 测试fence_heuristics_ping命令的不支持参数
|
||||
LOG_INFO "测试fence_heuristics_ping命令的不支持参数"
|
||||
fence_heuristics_ping --invalid-option > /dev/null 2>&1
|
||||
if [ $? -eq 255 ]; then
|
||||
LOG_INFO "不支持参数测试通过,返回255退出码"
|
||||
else
|
||||
LOG_ERROR "不支持参数测试失败,未返回255退出码"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 环境清理:如果之前未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "卸载fence-agents-heuristics-ping软件包"
|
||||
dnf remove -y fence-agents-heuristics-ping
|
||||
CHECK_RESULT $? 0 0 "卸载fence-agents-heuristics-ping软件包失败"
|
||||
else
|
||||
LOG_INFO "保持fence-agents-heuristics-ping软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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 : 2026-03-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test installation of the package
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试安装软件包
|
||||
LOG_INFO "开始测试安装fence-agents-heuristics-ping软件包"
|
||||
|
||||
# 检查是否已安装
|
||||
LOG_INFO "检查是否已安装fence-agents-heuristics-ping"
|
||||
if dnf list installed fence-agents-heuristics-ping &>/dev/null; then
|
||||
LOG_INFO "检测到fence-agents-heuristics-ping已安装,测试结束后保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "检测到fence-agents-heuristics-ping未安装"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有该软件包
|
||||
LOG_INFO "检查yum源中是否有fence-agents-heuristics-ping软件包"
|
||||
if ! dnf list available fence-agents-heuristics-ping &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到fence-agents-heuristics-ping软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查dnf install命令是否支持
|
||||
LOG_INFO "检查dnf install命令是否支持"
|
||||
if ! dnf --help | grep -q "install"; then
|
||||
LOG_ERROR "dnf install命令不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "开始安装fence-agents-heuristics-ping软件包"
|
||||
dnf install -y fence-agents-heuristics-ping
|
||||
CHECK_RESULT $? 0 0 "安装fence-agents-heuristics-ping失败"
|
||||
|
||||
# 验证安装
|
||||
LOG_INFO "验证fence-agents-heuristics-ping是否安装成功"
|
||||
dnf list installed fence-agents-heuristics-ping
|
||||
CHECK_RESULT $? 0 0 "验证安装失败"
|
||||
fi
|
||||
|
||||
# 检查软件包功能
|
||||
LOG_INFO "检查fence-agents-heuristics-ping的基本功能"
|
||||
rpm -qi fence-agents-heuristics-ping
|
||||
CHECK_RESULT $? 0 0 "检查软件包信息失败"
|
||||
|
||||
# 清理环境
|
||||
LOG_INFO "清理测试环境"
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "卸载测试安装的fence-agents-heuristics-ping软件包"
|
||||
dnf remove -y fence-agents-heuristics-ping
|
||||
CHECK_RESULT $? 0 0 "卸载fence-agents-heuristics-ping失败"
|
||||
|
||||
# 验证卸载
|
||||
LOG_INFO "验证fence-agents-heuristics-ping是否已卸载"
|
||||
if dnf list installed fence-agents-heuristics-ping &>/dev/null; then
|
||||
LOG_ERROR "fence-agents-heuristics-ping卸载失败"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
LOG_INFO "测试前已安装fence-agents-heuristics-ping,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试安装fence-agents-heuristics-ping软件包完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-12-01
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test invalid ping target
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test invalid ping target"
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
LOG_INFO "检查yum源中是否存在fence-agents-heuristics-ping软件包"
|
||||
if ! dnf list available fence-agents-heuristics-ping &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到fence-agents-heuristics-ping软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装软件包
|
||||
LOG_INFO "检查是否已安装fence-agents-heuristics-ping软件包"
|
||||
if rpm -q fence-agents-heuristics-ping &>/dev/null; then
|
||||
installed=true
|
||||
LOG_INFO "软件包已安装,测试结束后将保持安装状态"
|
||||
else
|
||||
installed=false
|
||||
LOG_INFO "软件包未安装,测试结束后将卸载软件包"
|
||||
fi
|
||||
|
||||
# 安装软件包(如果未安装)
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装fence-agents-heuristics-ping软件包"
|
||||
dnf install -y fence-agents-heuristics-ping
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
fi
|
||||
|
||||
# 测试无效ping目标
|
||||
LOG_INFO "测试无效ping目标"
|
||||
fence_heuristics_ping --invalid-param &>/dev/null
|
||||
CHECK_RESULT $? 255 0 "无效参数未返回预期退出码255"
|
||||
|
||||
# 清理环境(如果测试前未安装)
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载fence-agents-heuristics-ping软件包"
|
||||
dnf remove -y fence-agents-heuristics-ping
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test invalid ping target"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,61 +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 : 2026-03-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test listing supported options
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "1. 检查是否已安装fence-agents-heuristics-ping软件包"
|
||||
if rpm -q fence-agents-heuristics-ping &>/dev/null; then
|
||||
LOG_INFO "软件包已安装,脚本结束时保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "软件包未安装,将在测试过程中安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
LOG_INFO "2. 检查yum源中是否存在fence-agents-heuristics-ping软件包"
|
||||
if ! dnf list available fence-agents-heuristics-ping &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到fence-agents-heuristics-ping软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "3. 安装fence-agents-heuristics-ping软件包"
|
||||
dnf install -y fence-agents-heuristics-ping
|
||||
CHECK_RESULT $? 0 0 "安装fence-agents-heuristics-ping软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "4. 执行fence_heuristics_ping命令,测试列出支持的选项"
|
||||
fence_heuristics_ping -o list
|
||||
CHECK_RESULT $? 0 0 "执行fence_heuristics_ping命令失败"
|
||||
|
||||
LOG_INFO "5. 验证fence_heuristics_ping命令是否支持list参数"
|
||||
fence_heuristics_ping -o list | grep -q "Supported options:"
|
||||
CHECK_RESULT $? 0 0 "fence_heuristics_ping命令不支持list参数"
|
||||
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "6. 卸载fence-agents-heuristics-ping软件包"
|
||||
dnf remove -y fence-agents-heuristics-ping
|
||||
CHECK_RESULT $? 0 0 "卸载fence-agents-heuristics-ping软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "7. 环境清理完成,测试结束"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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 : 2026-03-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test man page existence
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试: Test man page existence"
|
||||
|
||||
LOG_INFO "步骤1: 检查环境中是否已安装fence-agents-heuristics-ping软件包"
|
||||
if dnf list installed fence-agents-heuristics-ping &>/dev/null; then
|
||||
LOG_INFO "fence-agents-heuristics-ping已安装,将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "fence-agents-heuristics-ping未安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2: 检查yum源中是否有fence-agents-heuristics-ping软件包"
|
||||
if ! dnf list available fence-agents-heuristics-ping &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到fence-agents-heuristics-ping软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤3: 安装fence-agents-heuristics-ping软件包"
|
||||
dnf install -y fence-agents-heuristics-ping
|
||||
CHECK_RESULT $? 0 0 "安装fence-agents-heuristics-ping失败"
|
||||
LOG_INFO "fence-agents-heuristics-ping安装成功"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4: 检查man命令是否支持-K参数"
|
||||
man -h 2>&1 | grep -q "\-K"
|
||||
CHECK_RESULT $? 0 0 "man命令不支持-K参数"
|
||||
LOG_INFO "man命令支持-K参数"
|
||||
|
||||
LOG_INFO "步骤5: 测试man page是否存在"
|
||||
man -K fence-agents-heuristics-ping 2>&1 | grep -q "fence_heuristics_ping"
|
||||
CHECK_RESULT $? 0 0 "未找到fence-agents-heuristics-ping的man page"
|
||||
LOG_INFO "fence-agents-heuristics-ping的man page存在"
|
||||
|
||||
LOG_INFO "步骤6: 清理环境"
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载测试安装的fence-agents-heuristics-ping软件包"
|
||||
dnf remove -y fence-agents-heuristics-ping
|
||||
CHECK_RESULT $? 0 0 "卸载fence-agents-heuristics-ping失败"
|
||||
LOG_INFO "fence-agents-heuristics-ping卸载成功"
|
||||
else
|
||||
LOG_INFO "保持fence-agents-heuristics-ping安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成: Test man page existence"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-12-01
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test ping retry mechanism
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试: Test ping retry mechanism"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查 fence-agents-heuristics-ping 是否已安装"
|
||||
if dnf list installed fence-agents-heuristics-ping &>/dev/null; then
|
||||
LOG_INFO "fence-agents-heuristics-ping 已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "fence-agents-heuristics-ping 未安装,脚本结束后将卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有该软件包
|
||||
LOG_INFO "检查yum源中是否有 fence-agents-heuristics-ping"
|
||||
if ! dnf list available fence-agents-heuristics-ping &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到 fence-agents-heuristics-ping"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装 fence-agents-heuristics-ping"
|
||||
dnf install -y fence-agents-heuristics-ping
|
||||
CHECK_RESULT $? 0 0 "安装 fence-agents-heuristics-ping 失败"
|
||||
fi
|
||||
|
||||
# 测试ping重试机制
|
||||
LOG_INFO "测试ping重试机制"
|
||||
fence_heuristics_ping --retry=3 --retry-timeout=5 example.com
|
||||
CHECK_RESULT $? 0 0 "ping重试机制测试失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 fence-agents-heuristics-ping"
|
||||
dnf remove -y fence-agents-heuristics-ping
|
||||
CHECK_RESULT $? 0 0 "卸载 fence-agents-heuristics-ping 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成: Test ping retry mechanism"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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 : 2026-03-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test node status check
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test node status check"
|
||||
LOG_INFO "步骤1:检查环境中是否已安装fence-agents-heuristics-ping软件包"
|
||||
if rpm -q fence-agents-heuristics-ping &> /dev/null; then
|
||||
LOG_INFO "fence-agents-heuristics-ping已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED="true"
|
||||
else
|
||||
LOG_INFO "fence-agents-heuristics-ping未安装,将在测试步骤中安装"
|
||||
INSTALLED="false"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查yum源中是否有fence-agents-heuristics-ping软件包"
|
||||
if ! dnf list available fence-agents-heuristics-ping &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到fence-agents-heuristics-ping软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "步骤3:安装fence-agents-heuristics-ping软件包"
|
||||
dnf install -y fence-agents-heuristics-ping
|
||||
CHECK_RESULT $? 0 0 "安装fence-agents-heuristics-ping失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:检查fence_heuristics_ping命令是否存在"
|
||||
if ! command -v fence_heuristics_ping &> /dev/null; then
|
||||
LOG_ERROR "fence_heuristics_ping命令不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤5:检查fence_heuristics_ping命令是否支持--help参数"
|
||||
if ! fence_heuristics_ping --help &> /dev/null; then
|
||||
LOG_ERROR "fence_heuristics_ping命令不支持--help参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤6:执行fence_heuristics_ping命令检查节点状态(模拟测试)"
|
||||
fence_heuristics_ping --help
|
||||
CHECK_RESULT $? 0 0 "fence_heuristics_ping命令执行失败"
|
||||
|
||||
LOG_INFO "步骤7:如果需要多服务器测试,在第二个服务器上执行命令"
|
||||
if [ -n "$NODE2_IPV4" ] && [ -n "$NODE2_PASSWORD" ] && [ -n "$NODE2_USER" ]; then
|
||||
LOG_INFO "在第二个服务器上执行fence_heuristics_ping命令检查"
|
||||
SSH_CMD "fence_heuristics_ping --help" "$NODE2_IPV4" "$NODE2_PASSWORD" "$NODE2_USER"
|
||||
CHECK_RESULT $? 0 0 "在第二个服务器上执行fence_heuristics_ping命令失败"
|
||||
else
|
||||
LOG_INFO "未配置第二个服务器信息,跳过多服务器测试"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤8:清理环境,恢复到之前的状态"
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "卸载在测试中安装的fence-agents-heuristics-ping软件包"
|
||||
dnf remove -y fence-agents-heuristics-ping
|
||||
CHECK_RESULT $? 0 0 "卸载fence-agents-heuristics-ping失败"
|
||||
else
|
||||
LOG_INFO "环境已安装fence-agents-heuristics-ping,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test node status check"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-12-01
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test ping timeout handling
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查fence-agents-heuristics-ping软件包是否已安装
|
||||
LOG_INFO "检查fence-agents-heuristics-ping软件包是否已安装"
|
||||
rpm -q fence-agents-heuristics-ping > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "fence-agents-heuristics-ping软件包已安装,脚本结束时保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "fence-agents-heuristics-ping软件包未安装,将在测试后卸载"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有fence-agents-heuristics-ping软件包
|
||||
LOG_INFO "检查yum源中是否有fence-agents-heuristics-ping软件包"
|
||||
dnf list available fence-agents-heuristics-ping > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到fence-agents-heuristics-ping软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装fence-agents-heuristics-ping软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装fence-agents-heuristics-ping软件包"
|
||||
dnf install -y fence-agents-heuristics-ping > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装fence-agents-heuristics-ping软件包失败"
|
||||
fi
|
||||
|
||||
# 检查ping命令是否支持timeout参数
|
||||
LOG_INFO "检查ping命令是否支持timeout参数"
|
||||
ping --help | grep -q "\-\-timeout" > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "ping命令不支持timeout参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试ping timeout处理功能
|
||||
LOG_INFO "测试ping timeout处理功能"
|
||||
ping -c 1 -W 1 invalid_host > /dev/null 2>&1
|
||||
CHECK_RESULT $? 1 0 "ping timeout处理功能测试失败"
|
||||
|
||||
# 清理环境:如果脚本开始时未安装fence-agents-heuristics-ping,则卸载
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载fence-agents-heuristics-ping软件包"
|
||||
dnf remove -y fence-agents-heuristics-ping > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载fence-agents-heuristics-ping软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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 : 2026-03-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test version information
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装fence-agents-heuristics-ping软件包
|
||||
LOG_INFO "检查fence-agents-heuristics-ping软件包是否已安装"
|
||||
rpm -q fence-agents-heuristics-ping > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "fence-agents-heuristics-ping软件包已安装,脚本结束后保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "fence-agents-heuristics-ping软件包未安装,将在测试前安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有fence-agents-heuristics-ping软件包
|
||||
LOG_INFO "检查yum源中是否有fence-agents-heuristics-ping软件包"
|
||||
dnf list available fence-agents-heuristics-ping > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到fence-agents-heuristics-ping软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装fence-agents-heuristics-ping软件包"
|
||||
dnf install -y fence-agents-heuristics-ping
|
||||
CHECK_RESULT $? 0 0 "安装fence-agents-heuristics-ping软件包失败"
|
||||
fi
|
||||
|
||||
# 检查fence_heuristics_ping命令是否支持--version参数
|
||||
LOG_INFO "检查fence_heuristics_ping命令是否支持--version参数"
|
||||
fence_heuristics_ping --help 2>&1 | grep -q "\-\-version"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "fence_heuristics_ping命令不支持--version参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行fence_heuristics_ping --version命令
|
||||
LOG_INFO "执行fence_heuristics_ping --version命令"
|
||||
fence_heuristics_ping --version
|
||||
CHECK_RESULT $? 0 0 "执行fence_heuristics_ping --version命令失败"
|
||||
|
||||
# 清理环境:如果脚本开始前未安装软件包,则卸载
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载fence-agents-heuristics-ping软件包"
|
||||
dnf remove -y fence-agents-heuristics-ping
|
||||
CHECK_RESULT $? 0 0 "卸载fence-agents-heuristics-ping软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,93 +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 : 2026-02-25
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 gvncviewer 连接远程桌面
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试 gvncviewer 连接远程桌面
|
||||
LOG_INFO "开始测试 gvncviewer 连接远程桌面"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="tigervnc"
|
||||
|
||||
# 检查是否已安装
|
||||
LOG_INFO "检查是否已安装 $PACKAGE_NAME"
|
||||
if rpm -q $PACKAGE_NAME &>/dev/null; then
|
||||
LOG_INFO "$PACKAGE_NAME 已安装"
|
||||
INSTALLED="true"
|
||||
else
|
||||
LOG_INFO "$PACKAGE_NAME 未安装"
|
||||
INSTALLED="false"
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有该软件包
|
||||
LOG_INFO "检查 yum 源中是否有 $PACKAGE_NAME"
|
||||
if dnf list available $PACKAGE_NAME &>/dev/null; then
|
||||
LOG_INFO "yum 源中有 $PACKAGE_NAME"
|
||||
else
|
||||
LOG_ERROR "yum 源中没有 $PACKAGE_NAME"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" == "false" ]; then
|
||||
LOG_INFO "安装 $PACKAGE_NAME"
|
||||
dnf install -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "安装 $PACKAGE_NAME 失败"
|
||||
LOG_INFO "$PACKAGE_NAME 安装成功"
|
||||
fi
|
||||
|
||||
# 检查 gvncviewer 命令是否存在
|
||||
LOG_INFO "检查 gvncviewer 命令是否存在"
|
||||
if command -v gvncviewer &>/dev/null; then
|
||||
LOG_INFO "gvncviewer 命令存在"
|
||||
else
|
||||
LOG_ERROR "gvncviewer 命令不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查 gvncviewer 是否支持 --help 参数
|
||||
LOG_INFO "检查 gvncviewer 是否支持 --help 参数"
|
||||
if gvncviewer --help &>/dev/null; then
|
||||
LOG_INFO "gvncviewer 支持 --help 参数"
|
||||
else
|
||||
LOG_ERROR "gvncviewer 不支持 --help 参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 模拟测试连接远程桌面(这里假设远程桌面服务器未运行,测试连接失败的情况)
|
||||
LOG_INFO "测试 gvncviewer 连接远程桌面(模拟失败场景)"
|
||||
gvncviewer 127.0.0.1:1 2>/dev/null
|
||||
# 由于远程桌面服务器未运行,gvncviewer 应返回非零退出码
|
||||
CHECK_RESULT $? 0 1 "gvncviewer 连接远程桌面测试失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" == "false" ]; then
|
||||
LOG_INFO "卸载 $PACKAGE_NAME"
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "卸载 $PACKAGE_NAME 失败"
|
||||
LOG_INFO "$PACKAGE_NAME 卸载成功"
|
||||
else
|
||||
LOG_INFO "保持 $PACKAGE_NAME 安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试 gvncviewer 连接远程桌面完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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 : 2026-02-25
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 gvnccapture 截图功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试gvnccapture截图功能"
|
||||
|
||||
LOG_INFO "检查gvnccapture软件包是否已在yum源中"
|
||||
if ! dnf list available gvnccapture --quiet 2>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到gvnccapture软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "检查gvnccapture命令是否已安装"
|
||||
if command -v gvnccapture >/dev/null 2>&1; then
|
||||
LOG_INFO "gvnccapture已安装,标记为已存在"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "gvnccapture未安装,标记为未安装"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "安装gvnccapture软件包"
|
||||
dnf install -y gvnccapture
|
||||
CHECK_RESULT $? 0 0 "安装gvnccapture失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试gvnccapture命令基本参数"
|
||||
gvnccapture --help >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "gvnccapture命令参数不支持"
|
||||
|
||||
LOG_INFO "模拟测试gvnccapture截图功能(示例:测试--version参数)"
|
||||
gvnccapture --version
|
||||
CHECK_RESULT $? 0 0 "gvnccapture版本检查失败"
|
||||
|
||||
LOG_INFO "清理测试环境"
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "卸载gvnccapture软件包"
|
||||
dnf remove -y gvnccapture
|
||||
CHECK_RESULT $? 0 0 "卸载gvnccapture失败"
|
||||
else
|
||||
LOG_INFO "保持gvnccapture安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "gvnccapture截图功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,86 +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 : 2026-02-25
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 gvncpasswd 密码文件生成
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 gvncpasswd 密码文件生成功能"
|
||||
|
||||
# 步骤1:检查环境是否已安装 gvnc 相关软件包
|
||||
LOG_INFO "步骤1:检查环境是否已安装 gvnc 相关软件包"
|
||||
if dnf list installed | grep -q "gvnc"; then
|
||||
LOG_INFO "gvnc 软件包已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "gvnc 软件包未安装,将在测试前安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 步骤2:检查 yum 源中是否有 gvnc 软件包
|
||||
LOG_INFO "步骤2:检查 yum 源中是否有 gvnc 软件包"
|
||||
if ! dnf list available gvnc 2>/dev/null | grep -q "gvnc"; then
|
||||
LOG_ERROR "yum 源中未找到 gvnc 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤3:如果未安装,则安装 gvnc 软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤3:安装 gvnc 软件包"
|
||||
dnf install -y gvnc
|
||||
CHECK_RESULT $? 0 0 "安装 gvnc 软件包失败"
|
||||
fi
|
||||
|
||||
# 步骤4:检查 gvncpasswd 命令是否存在
|
||||
LOG_INFO "步骤4:检查 gvncpasswd 命令是否存在"
|
||||
if ! command -v gvncpasswd &> /dev/null; then
|
||||
LOG_ERROR "gvncpasswd 命令不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤5:测试 gvncpasswd 命令生成密码文件
|
||||
LOG_INFO "步骤5:测试 gvncpasswd 命令生成密码文件"
|
||||
TEST_PASSWORD_FILE="/tmp/test_gvnc_passwd"
|
||||
echo -e "password\npassword" | gvncpasswd "$TEST_PASSWORD_FILE"
|
||||
CHECK_RESULT $? 0 0 "gvncpasswd 生成密码文件失败"
|
||||
|
||||
# 步骤6:验证生成的密码文件是否有效
|
||||
LOG_INFO "步骤6:验证生成的密码文件是否有效"
|
||||
if [ -f "$TEST_PASSWORD_FILE" ]; then
|
||||
LOG_INFO "密码文件生成成功:$TEST_PASSWORD_FILE"
|
||||
else
|
||||
LOG_ERROR "密码文件未生成"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 步骤7:清理测试生成的临时文件
|
||||
LOG_INFO "步骤7:清理测试生成的临时文件"
|
||||
rm -f "$TEST_PASSWORD_FILE"
|
||||
CHECK_RESULT $? 0 0 "清理临时文件失败"
|
||||
|
||||
# 步骤8:如果测试前未安装 gvnc 软件包,则在测试结束后卸载
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤8:卸载 gvnc 软件包"
|
||||
dnf remove -y gvnc
|
||||
CHECK_RESULT $? 0 0 "卸载 gvnc 软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试 gvncpasswd 密码文件生成功能完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-09-14
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 gvncviewer 默认参数运行
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装gvnc和gvncviewer
|
||||
LOG_INFO "检查是否已安装gvnc和gvncviewer"
|
||||
rpm -q gvnc gvncviewer > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "gvnc和gvncviewer已安装,测试完成后将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "gvnc和gvncviewer未安装,测试完成后将卸载"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有gvnc和gvncviewer软件包
|
||||
LOG_INFO "检查yum源中是否有gvnc和gvncviewer软件包"
|
||||
dnf list available gvnc gvncviewer > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中没有找到gvnc或gvncviewer软件包"
|
||||
|
||||
# 安装gvnc和gvncviewer
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装gvnc和gvncviewer"
|
||||
dnf install -y gvnc gvncviewer > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "安装gvnc和gvncviewer失败"
|
||||
fi
|
||||
|
||||
# 测试默认参数运行gvncviewer
|
||||
LOG_INFO "测试默认参数运行gvncviewer"
|
||||
which gvncviewer > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "未找到gvncciewer命令"
|
||||
|
||||
LOG_INFO "执行gvncciewer --help"
|
||||
GVNCVIEWER_OUTPUT=$(timeout 5s gvcciewer --help)
|
||||
CHECK_RESULT $? 0 255 "执行默认参数失败"
|
||||
|
||||
# 清理环境,如果之前未安装则卸载软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载gvncciewerrrrrrrrrrrrrrr"
|
||||
dnf remove -y gvncciewerrrrrrrrrrr > /dev/null
|
||||
CHECK_RESULT $$? 0255 "卸载失败"
|
||||
fi
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,95 +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 : 2026-02-25
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 gvncserver 启动服务
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 判断gvnc-server是否已安装
|
||||
LOG_INFO "检查gvnc-server是否已安装"
|
||||
rpm -q gvnc-server >/dev/null 2>&1
|
||||
INSTALLED=$?
|
||||
|
||||
# 如果未安装,则尝试从yum源查找
|
||||
if [ $INSTALLED -ne 0 ]; then
|
||||
LOG_INFO "gvnc-server未安装,检查yum源中是否存在该软件包"
|
||||
dnf list available gvnc-server >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到gvnc-server软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "开始安装gvnc-server"
|
||||
dnf install -y gvnc-server
|
||||
CHECK_RESULT $? 0 0 "安装gvnc-server失败"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "gvnc-server已安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 测试gvncserver启动服务
|
||||
LOG_INFO "测试gvncserver启动服务"
|
||||
|
||||
# 检查gvncserver命令是否存在
|
||||
which gvncserver >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "gvncserver命令不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查gvncserver是否支持--help参数
|
||||
LOG_INFO "检查gvncserver命令参数支持情况"
|
||||
gvncserver --help >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "gvncserver命令不支持--help参数或参数错误"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 启动gvncserver服务
|
||||
LOG_INFO "启动gvncserver服务"
|
||||
gvncserver :1
|
||||
CHECK_RESULT $? 0 0 "启动gvncserver服务失败"
|
||||
|
||||
# 检查gvncserver服务是否正在运行
|
||||
LOG_INFO "检查gvncserver服务运行状态"
|
||||
ps aux | grep -v grep | grep "gvncserver :1" >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "gvncserver服务未运行"
|
||||
|
||||
# 停止gvncserver服务
|
||||
LOG_INFO "停止gvncserver服务"
|
||||
gvncserver -kill :1
|
||||
CHECK_RESULT $? 0 0 "停止gvncserver服务失败"
|
||||
|
||||
# 清理环境
|
||||
LOG_INFO "清理测试环境"
|
||||
|
||||
# 如果脚本开始前未安装gvnc-server,则卸载它
|
||||
if [ $INSTALLED -eq 1 ]; then
|
||||
LOG_INFO "卸载gvnc-server软件包"
|
||||
dnf remove -y gvnc-server
|
||||
CHECK_RESULT $? 0 0 "卸载gvnc-server失败"
|
||||
LOG_INFO "gvnc-server已卸载,环境已恢复"
|
||||
else
|
||||
LOG_INFO "保持gvnc-server安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "gvncserver启动服务测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,91 +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 : 2026-03-13
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试安装后能否成功导入Flask-APScheduler相关模块
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试脚本开始
|
||||
LOG_INFO "开始测试:测试安装后能否成功导入Flask-APScheduler相关模块"
|
||||
|
||||
# 检查是否已安装Flask-APScheduler
|
||||
LOG_INFO "步骤1:检查Flask-APScheduler是否已安装"
|
||||
rpm -q python3-Flask-APScheduler &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "Flask-APScheduler已安装,标记为已安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "Flask-APScheduler未安装,标记为未安装状态"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有Flask-APScheduler软件包
|
||||
LOG_INFO "步骤2:检查yum源中是否有Flask-APScheduler软件包"
|
||||
dnf list available python3-Flask-APScheduler &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "yum源中没有Flask-APScheduler软件包"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中没有Flask-APScheduler软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装Flask-APScheduler
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤3:安装Flask-APScheduler"
|
||||
dnf install -y python3-Flask-APScheduler
|
||||
CHECK_RESULT $? 0 0 "安装Flask-APScheduler失败"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "安装Flask-APScheduler失败"
|
||||
exit $?
|
||||
fi
|
||||
else
|
||||
LOG_INFO "步骤3:Flask-APScheduler已安装,跳过安装步骤"
|
||||
fi
|
||||
|
||||
# 测试导入Flask-APScheduler相关模块
|
||||
LOG_INFO "步骤4:测试导入Flask-APScheduler相关模块"
|
||||
python3 -c "
|
||||
try:
|
||||
from flask_apscheduler import APScheduler
|
||||
print("成功导入APScheduler")
|
||||
except ImportError as e:
|
||||
print("导入APScheduler失败:", e)
|
||||
exit(1)
|
||||
"
|
||||
CHECK_RESULT $? 0 0 "导入Flask-APScheduler相关模块失败"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "导入Flask-APScheduler相关模块失败"
|
||||
exit $?
|
||||
fi
|
||||
|
||||
# 清理环境:如果之前未安装,则卸载Flask-APScheduler
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤5:清理环境,卸载Flask-APScheduler"
|
||||
dnf remove -y python3-Flask-APScheduler
|
||||
CHECK_RESULT $? 0 0 "卸载Flask-APScheduler失败"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "卸载Flask-APScheduler失败"
|
||||
exit $?
|
||||
fi
|
||||
else
|
||||
LOG_INFO "步骤5:保持Flask-APScheduler安装状态,无需卸载"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:测试安装后能否成功导入Flask-APScheduler相关模块"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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 : 2026-03-12
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试python3-progressbar2软件包的基本进度条功能,验证能否正确创建和更新进度条
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试python3-progressbar2软件包的基本进度条功能"
|
||||
|
||||
# 检查yum源中是否存在python3-progressbar2软件包
|
||||
LOG_INFO "检查yum源中是否存在python3-progressbar2软件包"
|
||||
if ! dnf list python3-progressbar2 &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到python3-progressbar2软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装python3-progressbar2
|
||||
LOG_INFO "检查是否已安装python3-progressbar2"
|
||||
if rpm -q python3-progressbar2 &>/dev/null; then
|
||||
LOG_INFO "python3-progressbar2已安装,测试后保持安装状态"
|
||||
ALREADY_INSTALLED=true
|
||||
else
|
||||
LOG_INFO "python3-progressbar2未安装,将进行安装"
|
||||
ALREADY_INSTALLED=false
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$ALREADY_INSTALLED" = false ]; then
|
||||
LOG_INFO "安装python3-progressbar2软件包"
|
||||
dnf install -y python3-progressbar2
|
||||
CHECK_RESULT $? 0 0 "安装python3-progressbar2失败"
|
||||
fi
|
||||
|
||||
# 测试python3-progressbar2的基本功能
|
||||
LOG_INFO "测试python3-progressbar2的基本进度条功能"
|
||||
|
||||
# 创建一个简单的Python脚本测试进度条
|
||||
cat > /tmp/test_progressbar.py << "EOF"
|
||||
import time
|
||||
from progressbar import ProgressBar, Percentage, Bar, Timer
|
||||
|
||||
widgets = [Percentage(), " ", Bar(), " ", Timer()]
|
||||
pbar = ProgressBar(widgets=widgets, maxval=10).start()
|
||||
for i in range(10):
|
||||
time.sleep(0.1)
|
||||
pbar.update(i + 1)
|
||||
pbar.finish()
|
||||
print("进度条测试完成")
|
||||
EOF
|
||||
|
||||
# 执行Python脚本
|
||||
LOG_INFO "执行Python脚本验证进度条功能"
|
||||
python3 /tmp/test_progressbar.py
|
||||
CHECK_RESULT $? 0 0 "python3-progressbar2进度条功能测试失败"
|
||||
|
||||
# 清理临时文件
|
||||
LOG_INFO "清理临时文件"
|
||||
rm -f /tmp/test_progressbar.py
|
||||
|
||||
# 如果之前未安装,则卸载软件包
|
||||
if [ "$ALREADY_INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载python3-progressbar2软件包"
|
||||
dnf remove -y python3-progressbar2
|
||||
CHECK_RESULT $? 0 0 "卸载python3-progressbar2失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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 : 2026-03-12
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试python3-progressbar2软件包的自定义部件功能,验证能否自定义进度条显示内容
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装python3-progressbar2
|
||||
LOG_INFO "检查是否已安装python3-progressbar2"
|
||||
rpm -q python3-progressbar2 > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "python3-progressbar2已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "python3-progressbar2未安装,将在测试前安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有python3-progressbar2软件包
|
||||
LOG_INFO "检查yum源中是否有python3-progressbar2软件包"
|
||||
dnf list available python3-progressbar2 > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到python3-progressbar2软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装python3-progressbar2软件包"
|
||||
dnf install -y python3-progressbar2
|
||||
CHECK_RESULT $? 0 0 "安装python3-progressbar2失败"
|
||||
fi
|
||||
|
||||
# 验证python3-progressbar2自定义部件功能
|
||||
LOG_INFO "测试python3-progressbar2的自定义部件功能"
|
||||
cat > test_custom_widget.py << "EOF"
|
||||
import time
|
||||
from progressbar import ProgressBar, Percentage, Bar, ETA, FileTransferSpeed, RotatingMarker, ReverseBar, SimpleProgress, Timer, AdaptiveETA, AdaptiveTransferSpeed, BouncingBar, Counter, CurrentTime, DataSize, DynamicMessage, FormatLabel, FormatCustomText, AbsoluteETA, Variable
|
||||
|
||||
# 自定义部件示例
|
||||
widgets = [
|
||||
"Custom: ", Percentage(),
|
||||
" ", Bar(marker=RotatingMarker()),
|
||||
" ", ETA(),
|
||||
" ", FileTransferSpeed(),
|
||||
]
|
||||
bar = ProgressBar(widgets=widgets, maxval=200).start()
|
||||
for i in range(200):
|
||||
time.sleep(0.01)
|
||||
bar.update(i + 1)
|
||||
bar.finish()
|
||||
print("自定义部件测试完成")
|
||||
EOF
|
||||
|
||||
python3 test_custom_widget.py
|
||||
CHECK_RESULT $? 0 0 "python3-progressbar2自定义部件功能测试失败"
|
||||
|
||||
# 清理临时文件
|
||||
LOG_INFO "清理临时文件"
|
||||
rm -f test_custom_widget.py
|
||||
|
||||
# 如果测试前未安装,则卸载软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载python3-progressbar2软件包"
|
||||
dnf remove -y python3-progressbar2
|
||||
CHECK_RESULT $? 0 0 "卸载python3-progressbar2失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,101 +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 : 2026-03-12
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试python3-progressbar2软件包的安装功能,验证软件包能否正确安装
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义日志函数(如果未定义)
|
||||
type LOG_INFO >/dev/null 2>&1 || LOG_INFO() { echo "[INFO] $*"; }
|
||||
type LOG_ERROR >/dev/null 2>&1 || LOG_ERROR() { echo "[ERROR] $*"; }
|
||||
|
||||
# 定义检查结果函数(如果未定义)
|
||||
type CHECK_RESULT >/dev/null 2>&1 || CHECK_RESULT() {
|
||||
local actual_ret=$1
|
||||
local expected_ret=$2
|
||||
local expected_status=$3
|
||||
local error_msg=$4
|
||||
if [ $actual_ret -ne $expected_ret ]; then
|
||||
LOG_ERROR "$error_msg"
|
||||
exit $expected_status
|
||||
fi
|
||||
}
|
||||
|
||||
# 定义SSH_CMD函数(如果未定义)
|
||||
type SSH_CMD >/dev/null 2>&1 || SSH_CMD() {
|
||||
local cmd=$1
|
||||
local node_ip=$2
|
||||
local node_password=$3
|
||||
local node_user=$4
|
||||
sshpass -p "$node_password" ssh -o StrictHostKeyChecking=no "$node_user@$node_ip" "$cmd"
|
||||
}
|
||||
|
||||
# 软件包名称
|
||||
PACKAGE_NAME="python3-progressbar2"
|
||||
|
||||
# 检查yum源中是否存在软件包
|
||||
LOG_INFO "检查yum源中是否存在软件包 $PACKAGE_NAME"
|
||||
dnf list available $PACKAGE_NAME >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到软件包 $PACKAGE_NAME"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装软件包
|
||||
LOG_INFO "检查是否已安装软件包 $PACKAGE_NAME"
|
||||
if rpm -q $PACKAGE_NAME >/dev/null 2>&1; then
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 已安装,脚本结束时将保持安装状态"
|
||||
ALREADY_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 未安装,将执行安装测试"
|
||||
ALREADY_INSTALLED=0
|
||||
fi
|
||||
|
||||
# 如果未安装,则执行安装
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装软件包 $PACKAGE_NAME"
|
||||
dnf install -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 安装成功"
|
||||
fi
|
||||
|
||||
# 验证软件包安装
|
||||
LOG_INFO "验证软件包 $PACKAGE_NAME 是否安装成功"
|
||||
rpm -q $PACKAGE_NAME >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "软件包 $PACKAGE_NAME 安装验证失败"
|
||||
|
||||
# 测试软件包基本功能
|
||||
LOG_INFO "测试软件包 $PACKAGE_NAME 基本功能"
|
||||
python3 -c "import progressbar2; print(progressbar2.__version__)" >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "软件包 $PACKAGE_NAME 基本功能测试失败"
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 基本功能测试成功"
|
||||
|
||||
# 清理环境:如果之前未安装,则卸载软件包
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载软件包 $PACKAGE_NAME"
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 卸载成功"
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 已安装,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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 : 2026-04-06
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试模块导入功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试模块导入功能"
|
||||
LOG_INFO "步骤1: 检查python3-templated-dictionary软件包是否在yum源中"
|
||||
if ! dnf list available python3-templated-dictionary &>/dev/null; then
|
||||
LOG_ERROR "python3-templated-dictionary软件包不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2: 检查系统是否已安装python3-templated-dictionary"
|
||||
if rpm -q python3-templated-dictionary &>/dev/null; then
|
||||
LOG_INFO "python3-templated-dictionary已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "python3-templated-dictionary未安装,将进行安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤3: 安装python3-templated-dictionary软件包"
|
||||
dnf install -y python3-templated-dictionary
|
||||
CHECK_RESULT $? 0 0 "安装python3-templated-dictionary失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4: 测试模块导入功能"
|
||||
python3 -c "import templated_dictionary"
|
||||
CHECK_RESULT $? 0 0 "导入templated_dictionary模块失败"
|
||||
|
||||
LOG_INFO "步骤5: 测试模块功能是否正常"
|
||||
python3 -c "
|
||||
import templated_dictionary
|
||||
td = templated_dictionary.TemplatedDictionary()
|
||||
td["key1"] = "value1"
|
||||
print(td["key1"])
|
||||
" | grep -q "value1"
|
||||
CHECK_RESULT $? 0 0 "templated_dictionary模块功能异常"
|
||||
|
||||
LOG_INFO "步骤6: 清理测试环境"
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载python3-templated-dictionary软件包"
|
||||
dnf remove -y python3-templated-dictionary
|
||||
CHECK_RESULT $? 0 0 "卸载python3-templated-dictionary失败"
|
||||
else
|
||||
LOG_INFO "保持python3-templated-dictionary软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试模块导入功能完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-12-09
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试字典初始化功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
LOG_INFO "开始测试字典初始化功能"
|
||||
|
||||
# 检查是否已安装python3-templated-dictionary
|
||||
LOG_INFO "检查python3-templated-dictionary是否已安装"
|
||||
if dnf list installed python3-templated-dictionary &>/dev/null; then
|
||||
LOG_INFO "python3-templated-dictionary已安装,测试结束后保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "python3-templated-dictionary未安装,测试结束后将卸载"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在python3-templated-dictionary
|
||||
LOG_INFO "检查yum源中是否存在python3-templated-dictionary"
|
||||
if ! dnf list available python3-templated-dictionary &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到python3-templated-dictionary"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装python3-templated-dictionary
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装python3-templated-dictionary"
|
||||
dnf install -y python3-templated-dictionary
|
||||
CHECK_RESULT $? 0 0 "安装python3-templated-dictionary失败"
|
||||
fi
|
||||
|
||||
# 测试字典初始化功能
|
||||
LOG_INFO "测试字典初始化功能"
|
||||
output=$(python3 -c "from templated_dictionary import TemplatedDictionary; print(TemplatedDictionary().init())")
|
||||
CHECK_RESULT $? 0 0 "字典初始化失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载python3-templated-dictionary"
|
||||
dnf remove -y python3-templated-dictionary
|
||||
CHECK_RESULT $? 0 0 "卸载python3-templated-dictionary失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试字典初始化功能完成"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,90 +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-12-03
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试qt5-qtcharts-devel软件包的图表绘制功能,验证是否能正确生成和显示图表。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装qt5-qtcharts-devel软件包
|
||||
LOG_INFO "检查qt5-qtcharts-devel软件包是否已安装"
|
||||
rpm -q qt5-qtcharts-devel > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "qt5-qtcharts-devel软件包已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "qt5-qtcharts-devel软件包未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有qt5-qtcharts-devel软件包
|
||||
LOG_INFO "检查yum源中是否存在qt5-qtcharts-devel软件包"
|
||||
dnf list available qt5-qtcharts-devel > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到qt5-qtcharts-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装qt5-qtcharts-devel软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装qt5-qtcharts-devel软件包"
|
||||
dnf install -y qt5-qtcharts-devel
|
||||
CHECK_RESULT $? 0 0 "安装qt5-qtcharts-devel软件包失败"
|
||||
fi
|
||||
|
||||
# 验证图表绘制功能
|
||||
LOG_INFO "验证qt5-qtcharts-devel的图表绘制功能"
|
||||
cat << "EOF" > test_chart.cpp
|
||||
#include <QtCharts/QChartView>
|
||||
#include <QtCharts/QLineSeries>
|
||||
QT_CHARTS_USE_NAMESPACE
|
||||
int main() {
|
||||
QLineSeries *series = new QLineSeries();
|
||||
series->append(0, 6);
|
||||
series->append(2, 4);
|
||||
QChart *chart = new QChart();
|
||||
chart->addSeries(series);
|
||||
chart->createDefaultAxes();
|
||||
QChartView *chartView = new QChartView(chart);
|
||||
chartView->show();
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
|
||||
g++ test_chart.cpp -o test_chart -fPIC -I/usr/include/qt5 -lQt5Charts -lQt5Widgets -lQt5Gui -lQt5Core > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "编译图表测试程序失败"
|
||||
|
||||
./test_chart > /dev/null 2>&1 &
|
||||
CHECK_RESULT $? 0 0 "运行图表测试程序失败"
|
||||
sleep 3
|
||||
|
||||
# 清理测试程序
|
||||
pkill test_chart > /dev/null 2>&1
|
||||
rm -f test_chart test_chart.cpp
|
||||
|
||||
# 如果脚本开始时未安装qt5-qtcharts-devel,则在结束时卸载
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载qt5-rt-charts-devel软件包"
|
||||
dnf remove -y qt5-qt-charts-devl
|
||||
fi
|
||||
|
||||
LOG_INFO “测试完成”
|
||||
exit 0
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,65 +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-11-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 pdfbook2 使用横向页面布局
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 pdfbook2 使用横向页面布局"
|
||||
|
||||
# 检查是否已安装 texlive-pdfbook2
|
||||
if ! dnf list installed texlive-pdfbook2 &>/dev/null; then
|
||||
LOG_INFO "环境未安装 texlive-pdfbook2,将进行安装"
|
||||
# 检查 yum 源中是否有该软件包
|
||||
if ! dnf list available texlive-pdfbook2 &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 texlive-pdfbook2 软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装软件包
|
||||
dnf install -y texlive-pdfbook2
|
||||
CHECK_RESULT $? 0 0 "安装 texlive-pdfbook2 失败"
|
||||
else
|
||||
LOG_INFO "环境已安装 texlive-pdfbook2,跳过安装步骤"
|
||||
fi
|
||||
|
||||
# 测试 pdfbook2 的横向页面布局功能
|
||||
LOG_INFO "测试 pdfbook2 的横向页面布局功能"
|
||||
pdfbook2 --landscape sample.pdf &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "pdfbook2 --landscape 执行失败"
|
||||
|
||||
# 检查生成的横向页面布局文件
|
||||
if [ ! -f "sample-book.pdf" ]; then
|
||||
LOG_ERROR "未生成横向页面布局文件 sample-book.pdf"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "成功生成横向页面布局文件 sample-book.pdf"
|
||||
fi
|
||||
|
||||
# 清理环境
|
||||
if ! dnf list installed texlive-pdfbook2 &>/dev/null; then
|
||||
LOG_INFO "清理环境:卸载 texlive-pdfbook2"
|
||||
dnf remove -y texlive-pdfbook2
|
||||
CHECK_RESULT $? 0 0 "卸载 texlive-pdfbook2 失败"
|
||||
else
|
||||
LOG_INFO "环境保持安装状态,无需卸载"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,59 +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-11-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 pdfblogger 设置底部边距为 30
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装texlive-pdfbook2和pdfblogger
|
||||
LOG_INFO "检查是否已安装texlive-pdfbook2和pdfblogger"
|
||||
if ! dnf list installed texlive-pdfbook2 &> /dev/null || ! dnf list installed pdfblogger &> /dev/null; then
|
||||
LOG_INFO "未安装texlive-pdfbook2或pdfblogger,开始安装"
|
||||
# 检查yum源中是否有软件包
|
||||
if ! dnf list available texlive-pdfbook2 &> /dev/null || ! dnf list available pdfblogger &> /dev/null; then
|
||||
LOG_ERROR "yum源中缺少texlive-pdfbook2或pdfblogger软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装软件包
|
||||
dnf install -y texlive-pdfbook2 pdfblogger
|
||||
CHECK_RESULT $? 0 0 "安装texlive-pdfbook2和pdfblogger失败"
|
||||
# 标记需要卸载
|
||||
NEED_UNINSTALL=1
|
||||
else
|
||||
LOG_INFO "texlive-pdfbook2和pdfblogger已安装"
|
||||
NEED_UNINSTALL=0
|
||||
fi
|
||||
|
||||
# 测试pdfblogger设置底部边距为30
|
||||
LOG_INFO "测试pdfblogger设置底部边距为30"
|
||||
pdfblogger -b 30 test.pdf output.pdf
|
||||
CHECK_RESULT $? 0 0 "设置底部边距为30失败"
|
||||
|
||||
# 清理环境
|
||||
if [ $NEED_UNINSTALL -eq 1 ]; then
|
||||
LOG_INFO "卸载texlive-pdfbook2和pdfblogger"
|
||||
dnf remove -y texlive-pdfbook2 pdfblogger
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-pdfbook2和pdfblogger失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-11-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 pdfbook2 设置内侧边距为 150
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装texlive-pdfbook2
|
||||
LOG_INFO "检查是否已安装texlive-pdfbook2"
|
||||
rpm -q texlive-pdfbook2 > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-pdfbook2已安装,脚本结束后保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-pdfbook2未安装,将在测试后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-pdfbook2
|
||||
LOG_INFO "检查yum源中是否有texlive-pdfbook2"
|
||||
dnf list available texlive-pdfbook2 > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-pdfbook2软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装texlive-pdfbook2(如果未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在安装texlive-pdfbook2"
|
||||
dnf install -y texlive-pdfbook2 > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装texlive-pdfbook2失败"
|
||||
fi
|
||||
|
||||
# 测试pdfbook2设置内侧边距为150
|
||||
LOG_INFO "测试pdfbook2设置内侧边距为150"
|
||||
pdfbook2 --help | grep -q "\--inner-margin"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "pdfbook2不支持--inner-margin参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 创建测试文件
|
||||
LOG_INFO "创建测试文件test.tex"
|
||||
cat > test.tex <<EOF
|
||||
\documentclass{article}
|
||||
\begin{document}
|
||||
Test document for pdfbook2.
|
||||
\end{document}
|
||||
EOF
|
||||
|
||||
# 使用pdfbook2设置内侧边距为150并生成PDF
|
||||
LOG_INFO "使用pdfbook2设置内侧边距为150并生成PDF"
|
||||
pdfbook2 --inner-margin 150 test.tex > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "pdfbook2设置内侧边距为150失败"
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f test.tex test.pdf
|
||||
|
||||
# 卸载texlive-pdfbook2(如果脚本开始时未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO正在卸载texlive-pdfbook22"
|
||||
dnf remove -y texlive- pdfbook22 > /dev/ null 21>&1
|
||||
CHECK_RESULT $ ? 00 0 “卸载tex live- pdf book22失败”
|
||||
fi
|
||||
|
||||
LOG _ INFO “测试完成”
|
||||
exit 00
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-11-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 pdfbook2 不裁剪内容区域
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装texlive-pdfbook2
|
||||
LOG_INFO "检查是否已安装texlive-pdfbook2"
|
||||
if rpm -q texlive-pdfbook2 &>/dev/null; then
|
||||
LOG_INFO "texlive-pdfbook2已安装"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "texlive-pdfbook2未安装"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-pdfbook2软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-pdfbook2软件包"
|
||||
if ! dnf list available texlive-pdfbook2 &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-pdfbook2软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 若未安装,则安装软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装texlive-pdfbook2软件包"
|
||||
dnf install -y texlive-pdfbook2
|
||||
CHECK_RESULT $? 0 0 "安装texlive-pdfbook2失败"
|
||||
fi
|
||||
|
||||
# 测试pdfbook2命令是否支持--no-trim选项
|
||||
LOG_INFO "测试pdfbook2命令是否支持--no-trim选项"
|
||||
if ! pdfbook2 --help | grep -q -- "--no-trim"; then
|
||||
LOG_ERROR "pdfbook2命令不支持--no-trim选项"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 创建测试PDF文件用于验证不裁剪内容区域
|
||||
LOG_INFO "创建测试PDF文件用于验证不裁剪内容区域"
|
||||
echo "Test PDF content" > test.pdf
|
||||
|
||||
# 执行pdfbook2命令并验证不裁剪内容区域
|
||||
LOG_INFO "执行pdfbook2命令并验证不裁剪内容区域"
|
||||
pdfbook2 --no-trim test.pdf -o output.pdf
|
||||
CHECK_RESULT $? 0 0 "pdfbook2命令执行失败"
|
||||
|
||||
# 验证输出文件是否存在
|
||||
LOG_INFO "验证输出文件是否存在"
|
||||
[ -f output.pdf ]
|
||||
CHECK_RESULT $? 0 0 "输出文件output.pdf未生成"
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f test.pdf output.pdf
|
||||
|
||||
# 若脚本开始时未安装texlive-pdfbook2,则在结束时卸载软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载texlive-pdfbook2软件包"
|
||||
dnf remove -y texlive-pdfbook2
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-pdfbook2失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-11-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 pdfbook2 设置外侧边距为 40
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 pdfbook2 设置外侧边距为 40"
|
||||
|
||||
# 检查是否已安装 texlive-pdfbook2
|
||||
LOG_INFO "检查是否已安装 texlive-pdfbook2"
|
||||
dnf list installed texlive-pdfbook2 > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-pdfbook2 已安装"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-pdfbook2 未安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有 texlive-pdfbook2
|
||||
LOG_INFO "检查 yum 源中是否有 texlive-pdfbook2"
|
||||
dnf list available texlive-pdfbook2 > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum 源中未找到 texlive-pdfbook2"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装 texlive-pdfbook2
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装 texlive-pdfbook2"
|
||||
dnf install -y texlive-pdfbook2
|
||||
CHECK_RESULT $? 0 0 "安装 texlive-pdfbook2 失败"
|
||||
fi
|
||||
|
||||
# 测试 pdfbook2 设置外侧边距为 40
|
||||
LOG_INFO "测试 pdfbook2 设置外侧边距为 40"
|
||||
pdfbook2 --help | grep -q "\--outer-margin"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "pdfbook2 不支持 --outer-margin 参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
#执行命令并检查结果
|
||||
LOG_INFO "执行 pdfbook2 --outer-margin 40 命令"
|
||||
pdfbook2 --outer-margin 40
|
||||
CHECK_RESULT $? 0 0 "pdfbook2 --outer-margin 40 执行失败"
|
||||
|
||||
# 如果之前未安装,则卸载 texlive-pdfbook2
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 texlive-pdfbook2"
|
||||
dnf remove -y texlive-pdfbook2
|
||||
CHECK_RESULT $? 0 0 "卸载 texlive-pdfbook
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-11-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 pdfbook2 使用 a4paper 纸张格式
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 pdfbook2 使用 a4paper 纸张格式"
|
||||
|
||||
# 检查是否已安装 texlive-pdfbook2
|
||||
LOG_INFO "检查是否已安装 texlive-pdfbook2"
|
||||
if dnf list installed texlive-pdfbook2 &>/dev/null; then
|
||||
LOG_INFO "texlive-pdfbook2 已安装"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-pdfbook2 未安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有 texlive-pdfbook2
|
||||
LOG_INFO "检查 yum 源中是否有 texlive-pdfbook2"
|
||||
if ! dnf list available texlive-pdfbook2 &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 texlive-pdfbook2"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装 texlive-pdfbook2
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装 texlive-pdfbook2"
|
||||
dnf install -y texlive-pdfbook2
|
||||
CHECK_RESULT $? 0 0 "安装 texlive-pdfbook2 失败"
|
||||
fi
|
||||
|
||||
# 测试 pdfbook2 使用 a4paper 纸张格式
|
||||
LOG_INFO "测试 pdfbook2 使用 a4paper 纸张格式"
|
||||
pdfbook2 --help | grep -q "\-\-a4paper"
|
||||
CHECK_RESULT $? 0 0 "pdfbook2不支持a4paper参数"
|
||||
|
||||
# 执行 pdfbook2 --a4paper 命令测试
|
||||
LOG_INFO "执行 pdfbook2 --a4paper 命令测试"
|
||||
pdf_output=$(mktemp)
|
||||
pdf_input=$(mktemp)
|
||||
echo "Test content" > "$pdf_input"
|
||||
|
||||
pdfbook2 --a4paper "$pdf_input" -o "$pdf_output"
|
||||
CHECK_RESULT $? 0 0 "pdfbook2 --a4paper 执行失败"
|
||||
|
||||
#清理临时文件
|
||||
rm -f "$pdf_input" "$pdf_output"
|
||||
|
||||
# 如果最初未安装,则卸载 texlive-pdfbook2
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 texlive-pdfbook2"
|
||||
dnf remove -y texlive-pdfbook2
|
||||
CHECK_RESULT $? 0 0 "卸载 texlive-pdfbook2 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-09-18
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package installation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已经安装texlive-cabin-doc软件包
|
||||
LOG_INFO "检查texlive-cabin-doc是否已安装"
|
||||
rpm -q texlive-cabin-doc > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-cabin-doc已安装,跳过安装步骤"
|
||||
installed=true
|
||||
else
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在texlive-cabin-doc软件包
|
||||
LOG_INFO "检查yum源中是否存在texlive-cabin-doc"
|
||||
dnf list available texlive-cabin-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中不存在texlive-cabin-doc软件包"
|
||||
|
||||
# 安装texlive-cabin-doc软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "开始安装texlive-cabin-doc"
|
||||
dnf install -y texlive-cabin-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装texlive-cabin-doc失败"
|
||||
fi
|
||||
|
||||
# 验证软件包是否成功安装
|
||||
LOG_INFO "验证texlive-cabin-doc是否成功安装"
|
||||
rpm -q texlive-cabin-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "texlive-cabin-doc未正确安装"
|
||||
|
||||
# 清理环境:如果脚本开始时未安装,则卸载软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "清理环境:卸载texlive-cabin-doc"
|
||||
dnf remove -y texlive-cabin-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-cabin-doc失败"
|
||||
|
||||
# 再次验证软件包是否已卸载
|
||||
rpm -q texlive-cabin-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 1 0 "texlive-cabin-doc未正确卸载"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-11-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic functionality of texlive-cite-doc
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 texlive-cite-doc 的基本功能"
|
||||
|
||||
# 检查是否已安装 texlive-cite-doc
|
||||
LOG_INFO "检查 texlive-cite-doc 是否已安装"
|
||||
dnf list installed texlive-cite-doc &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-cite-doc 已安装,测试完成后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-cite-doc 未安装,测试完成后将卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有 texlive-cite-doc
|
||||
LOG_INFO "检查 yum 源中是否有 texlive-cite-doc"
|
||||
dnf list available texlive-cite-doc &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum 源中未找到 texlive-cite-doc"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装 texlive-cite-doc(如果未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在安装 texlive-cite-doc"
|
||||
dnf install -y texlive-cite-doc &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "安装 texlive-cite-doc 失败"
|
||||
fi
|
||||
|
||||
# 测试基本功能
|
||||
LOG_INFO "测试 texlive-cite-doc 的基本功能"
|
||||
texlive-cite-doc --help &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "texlive-cite-doc 基本功能测试失败"
|
||||
|
||||
# 清理环境(如果最初未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在卸载 texlive-cite-doc"
|
||||
dnf remove -y texlive-cite-doc &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "卸载 texlive-cite-doc 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "texlive-cite-doc 基本功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,75 +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-12-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Verify package installation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查yum源中是否存在texlive-drawstack-doc软件包
|
||||
LOG_INFO "检查yum源中是否存在texlive-drawstack-doc软件包"
|
||||
dnf list available texlive-drawstack-doc >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在texlive-drawstack-doc软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装texlive-drawstack-doc软件包
|
||||
LOG_INFO "检查是否已安装texlive-drawstack-doc软件包"
|
||||
rpm -q texlive-drawstack-doc >/dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
installed=true
|
||||
LOG_INFO "texlive-drawstack-doc软件包已安装"
|
||||
else
|
||||
installed=false
|
||||
LOG_INFO "texlive-drawstack-doc软件包未安装"
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装texlive-drawstack-doc软件包"
|
||||
dnf install -y texlive-drawstack-doc
|
||||
CHECK_RESULT $? 0 0 "安装texlive-drawstack-doc软件包失败"
|
||||
fi
|
||||
|
||||
# 验证命令参数是否支持(假设命令为drawstack --version)
|
||||
LOG_INFO "验证drawstack命令的--version参数是否支持"
|
||||
drawstack --version >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "drawstack命令不支持--version参数"
|
||||
# 如果之前未安装,则卸载软件包
|
||||
if [ "$installed" = false ]; then
|
||||
dnf remove -y texlive-drawstack-doc
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-drawstack-doc软件包失败"
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行测试命令(假设测试命令为drawstack --version)
|
||||
LOG_INFO "执行测试命令drawstack --version"
|
||||
drawstack --version >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "执行drawstack --version命令失败"
|
||||
|
||||
# 恢复环境
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载texlive-drawstack-doc软件包"
|
||||
dnf remove -y texlive-drawstack-doc
|
||||
CHECK_RESULT $? 0 0 "卸载texlive
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-09-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test basic functionality"
|
||||
|
||||
# 检查是否已安装texlive-fge-doc软件包
|
||||
LOG_INFO "检查texlive-fge-doc是否已安装"
|
||||
dnf list installed texlive-fge-doc > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-fge-doc已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-fge-doc未安装,将在测试步骤中安装并在结束时卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-fge-doc软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-fge-doc软件包"
|
||||
dnf list available texlive-fge-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中不存在texlive-fge-doc软件包"
|
||||
|
||||
# 安装texlive-fge-doc软件包(如果未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装texlive-fge-doc软件包"
|
||||
dnf install -y texlive-fge-doc
|
||||
CHECK_RESULT $? 0 0 "安装texlive-fge-doc失败"
|
||||
fi
|
||||
|
||||
# 测试基本功能
|
||||
LOG_INFO "测试基本功能"
|
||||
command_to_test="texdoc fge"
|
||||
$command_to_test > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "命令参数不支持或不存在"
|
||||
|
||||
# 清理环境(如果之前未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载texlive-fge-doc软件包"
|
||||
dnf remove -y texlive-fge-doc
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-fge-doc失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test basic functionality"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-10-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package installation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装texlive-jbact软件包
|
||||
LOG_INFO "检查是否已安装texlive-jbact软件包"
|
||||
rpm -q texlive-jbact > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-jbact已安装,跳过安装步骤"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "texlive-jbact未安装,准备安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-jbact软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-jbact软件包"
|
||||
dnf list available texlive-jbact > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中未找到texlive-jbact软件包"
|
||||
|
||||
# 安装texlive-jbact软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "开始安装texlive-jbact软件包"
|
||||
dnf install -y texlive-jbact
|
||||
CHECK_RESULT $? 0 0 "安装texlive-jbact软件包失败"
|
||||
fi
|
||||
|
||||
# 验证texlive-jbact安装成功
|
||||
LOG_INFO "验证texlive-jbact安装成功"
|
||||
rpm -q texlive-jbact > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "texlive-jbact未正确安装"
|
||||
|
||||
# 测试命令参数是否存在或不支持
|
||||
LOG_INFO "测试命令参数是否存在或不支持"
|
||||
tex --version > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "命令参数不支持或不存在"
|
||||
|
||||
# 清理环境
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "清理环境,卸载texlive-jbact软件包"
|
||||
dnf remove -y texlive-jbact
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-jbact软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
Reference in New Issue
Block a user