Merge branch 'pkg' of http://10.30.190.190:54866/redrsoe2100/os-autotest into pkg
This commit is contained in:
@@ -1,42 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/dietlibc/dietlibc-help",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_dietlibc-help_function_basic",
|
||||
"desc": "Test basic functionality of dietlibc-help"
|
||||
},
|
||||
{
|
||||
"name": "test_dietlibc-help_function_args",
|
||||
"desc": "Test argument handling of dietlibc-help"
|
||||
},
|
||||
{
|
||||
"name": "test_dietlibc-help_function_output",
|
||||
"desc": "Test output format of dietlibc-help"
|
||||
},
|
||||
{
|
||||
"name": "test_dietlibc-help_function_error",
|
||||
"desc": "Test error handling of dietlibc-help"
|
||||
},
|
||||
{
|
||||
"name": "test_dietlibc-help_function_install",
|
||||
"desc": "Test installation of dietlibc-help package"
|
||||
},
|
||||
{
|
||||
"name": "test_dietlibc-help_function_uninstall",
|
||||
"desc": "Test uninstallation of dietlibc-help package"
|
||||
},
|
||||
{
|
||||
"name": "test_dietlibc-help_function_version",
|
||||
"desc": "Test displaying version information"
|
||||
},
|
||||
{
|
||||
"name": "test_dietlibc-help_function_help",
|
||||
"desc": "Test displaying help information"
|
||||
},
|
||||
{
|
||||
"name": "test_dietlibc-help_function_usage",
|
||||
"desc": "Test basic usage examples"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -10,21 +10,9 @@
|
||||
"name": "test_libpcap-help_function_basic_usage",
|
||||
"desc": "测试libpcap-help命令的基本用法,如查询选项含义"
|
||||
},
|
||||
{
|
||||
"name": "test_libpcap-help_function_install",
|
||||
"desc": "测试通过包管理器安装libpcap-help软件包"
|
||||
},
|
||||
{
|
||||
"name": "test_libpcap-help_function_check_version",
|
||||
"desc": "测试libpcap-help命令的版本查询功能"
|
||||
},
|
||||
{
|
||||
"name": "test_libpcap-help_function_show_help",
|
||||
"desc": "测试libpcap-help命令显示帮助信息"
|
||||
},
|
||||
{
|
||||
"name": "test_libpcap-help_function_list_options",
|
||||
"desc": "测试libpcap-help命令列出pcap工具选项"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/maven-dependency-analyzer/maven-dependency-analyzer-help",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_maven-dependency-analyzer-help_function_basic",
|
||||
"desc": "Test basic functionality of the package"
|
||||
},
|
||||
{
|
||||
"name": "test_maven-dependency-analyzer-help_function_dep",
|
||||
"desc": "Test dependency analysis feature"
|
||||
},
|
||||
{
|
||||
"name": "test_maven-dependency-analyzer-help_function_cli",
|
||||
"desc": "Test command line interface"
|
||||
},
|
||||
{
|
||||
"name": "test_maven-dependency-analyzer-help_function_svc",
|
||||
"desc": "Test service integration"
|
||||
},
|
||||
{
|
||||
"name": "test_maven-dependency-analyzer-help_function_core",
|
||||
"desc": "Test core library functionality"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/nss_wrapper/nss_wrapper-help",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_nss_wrapper-help_function_basic",
|
||||
"desc": "Test basic functionality of nss_wrapper-help"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6,25 +6,9 @@
|
||||
"name": "test_texlive-arabtex-doc_function_install",
|
||||
"desc": "Verify package installation"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-arabtex-doc_function_uninstall",
|
||||
"desc": "Verify package removal"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-arabtex-doc_function_presence",
|
||||
"desc": "Check if package files exist"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-arabtex-doc_function_info",
|
||||
"desc": "Query package info (version, size)"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-arabtex-doc_function_doc_access",
|
||||
"desc": "Access documentation files"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-arabtex-doc_function_depends",
|
||||
"desc": "Verify dependencies are met"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-h/texlive-esvect-doc",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-esvect-doc_downgrade",
|
||||
"desc": "测试 texlive-esvect-doc 软件包的降级功能,验证是否能够成功降级到指定版本。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-esvect-doc_reinstall",
|
||||
"desc": "测试 texlive-esvect-doc 软件包的重新安装功能,验证是否能够成功重新安装到系统中。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-esvect-doc_function_install",
|
||||
"desc": "测试 texlive-esvect-doc 软件包的安装功能,验证是否能够成功安装到系统中。"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-esvect-doc_function_remove",
|
||||
"desc": "测试 texlive-esvect-doc 软件包的卸载功能,验证是否能够从系统中完全移除。"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-esvect-doc_function_check",
|
||||
"desc": "测试 texlive-esvect-doc 软件包的检查功能,验证其是否已正确安装并可通过包管理器查询。"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-esvect-doc_function_upgrade",
|
||||
"desc": "测试 texlive-esvect-doc 软件包的升级功能,验证是否能够成功升级到最新版本。"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-esvect-doc_function_doc_access",
|
||||
"desc": "测试 texlive-esvect-doc 文档的可访问性,验证安装后文档文件是否存在并可读取。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-n/texlive-latex2e-help-texinfo",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-latex2e-help-texinfo_function_doc",
|
||||
"desc": "Verify documentation generation"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-latex2e-help-texinfo_function_help",
|
||||
"desc": "Check help content availability"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-latex2e-help-texinfo_function_package_installed",
|
||||
"desc": "Verify the texlive-latex2e-help-texinfo package is installed on the system"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-latex2e-help-texinfo_function_manpage",
|
||||
"desc": "Check if the man page for latex2e-help-texinfo is available and readable"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-latex2e-help-texinfo_function_info_page",
|
||||
"desc": "Verify the info documentation for latex2e-help-texinfo can be accessed"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-latex2e-help-texinfo_function_help_content",
|
||||
"desc": "Validate the core help content exists in the documentation files"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -10,10 +10,6 @@
|
||||
"name": "test_texlive-procIAGssymp_function_presence",
|
||||
"desc": "测试 texlive-procIAGssymp 软件包是否已存在于系统中。"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-procIAGssymp_function_usage",
|
||||
"desc": "测试 texlive-procIAGssymp 宏包在 LaTeX 文档中的基本使用功能。"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-procIAGssymp_function_removal",
|
||||
"desc": "测试 texlive-procIAGssymp 软件包是否能够被成功卸载。"
|
||||
|
||||
@@ -2,33 +2,9 @@
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-v/texlive-svninfo",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-svninfo_function_version",
|
||||
"desc": "Check version info"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-svninfo_function_install",
|
||||
"desc": "Verify package installation"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-svninfo_function_uninstall",
|
||||
"desc": "Verify package removal"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-svninfo_function_basic_usage",
|
||||
"desc": "Test svninfo command usage"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-svninfo_function_version_check",
|
||||
"desc": "Check package version output"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-svninfo_function_help",
|
||||
"desc": "Check help information display"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-svninfo_function_svn_revision",
|
||||
"desc": "Test extracting SVN revision"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-y/texlive-varsfromjobname-doc",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-varsfromjobname-doc_function_basic",
|
||||
"desc": "Test basic functionality of texlive-varsfromjobname-doc"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-y/texlive-venndiagram-doc",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-venndiagram-doc_function_install",
|
||||
"desc": "Test package installation"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test argument handling of dietlibc-help
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test argument handling of dietlibc-help"
|
||||
|
||||
# 检查是否已安装dietlibc-help
|
||||
LOG_INFO "检查是否已安装dietlibc-help"
|
||||
dnf list installed dietlibc-help > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "dietlibc-help已安装,脚本结束时将保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "dietlibc-help未安装,将在测试结束后卸载"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有dietlibc-help
|
||||
LOG_INFO "检查yum源中是否有dietlibc-help"
|
||||
dnf list available dietlibc-help > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到dietlibc-help,退出"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装dietlibc-help
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装dietlibc-help"
|
||||
dnf install -y dietlibc-help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装dietlibc-help失败"
|
||||
fi
|
||||
|
||||
# 测试dietlibc-help命令的参数处理
|
||||
LOG_INFO "测试dietlibc-help命令的参数处理"
|
||||
dietlibc-help --invalid-arg > /dev/null 2>&1
|
||||
if [ $? -ne 255 ]; then
|
||||
LOG_ERROR "dietlibc-help未正确处理无效参数,退出"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试dietlibc-help命令的正常执行
|
||||
LOG_INFO "测试dietlibc-help命令的正常执行"
|
||||
dietlibc-help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "dietlibc-help命令执行失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载dietlibc-help"
|
||||
dnf remove -y dietlibc-help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载dietlibc-help失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test argument handling of dietlibc-help"
|
||||
}
|
||||
|
||||
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 : 2025-11-28
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic functionality of dietlibc-help
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试dietlibc-help基本功能
|
||||
LOG_INFO "开始测试dietlibc-help基本功能"
|
||||
|
||||
# 检查dietlibc-help是否已安装
|
||||
LOG_INFO "检查dietlibc-help是否已安装"
|
||||
if dnf list installed dietlibc-help &>/dev/null; then
|
||||
LOG_INFO "dietlibc-help已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "dietlibc-help未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有dietlibc-help软件包
|
||||
LOG_INFO "检查yum源中是否有dietlibc-help软件包"
|
||||
if ! dnf list available dietlibc-help &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到dietlibc-help软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装dietlibc-help软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装dietlibc-help软件包"
|
||||
dnf install -y dietlibc-help &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "安装dietlibc-help失败"
|
||||
fi
|
||||
|
||||
# 测试dietlibc-help命令的基本功能
|
||||
LOG_INFO "测试dietlibc-help命令的基本功能"
|
||||
if ! dietlibc-help --help &>/dev/null; then
|
||||
LOG_ERROR "dietlibc-help命令不支持--help参数或执行失败"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查命令执行结果
|
||||
CHECK_RESULT $? 0 0 "dietlibc-help命令执行失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载dietlibc-help软件包"
|
||||
dnf remove -y dietlibc-help &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "卸载dietlibc-help失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试dietlibc-help基本功能完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,69 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test error handling of dietlibc-help
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test error handling of dietlibc-help"
|
||||
|
||||
# 检查是否已安装dietlibc-help
|
||||
LOG_INFO "检查是否已安装dietlibc-help"
|
||||
if dnf list installed dietlibc-help &>/dev/null; then
|
||||
LOG_INFO "dietlibc-help已安装,测试结束后将保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "dietlibc-help未安装,测试结束后将卸载"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有dietlibc-help
|
||||
LOG_INFO "检查yum源中是否有dietlibc-help"
|
||||
if ! dnf list available dietlibc-help &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到dietlibc-help"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装dietlibc-help
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "开始安装dietlibc-help"
|
||||
dnf install -y dietlibc-help
|
||||
CHECK_RESULT $? 0 0 "安装dietlibc-help失败"
|
||||
fi
|
||||
|
||||
# 测试dietlibc-help命令的参数错误处理
|
||||
LOG_INFO "测试dietlibc-help命令的参数错误处理"
|
||||
dietlibc-help --invalid-option &>/dev/null
|
||||
CHECK_RESULT $? 255 0 "无效参数未正确处理"
|
||||
|
||||
# 测试命令执行失败的情况
|
||||
LOG_INFO "测试命令执行失败的情况(非参数错误)"
|
||||
dietlibc-help nonexistent-command &>/dev/null
|
||||
CHECK_RESULT $? $? 0 "命令执行失败未正确处理"
|
||||
|
||||
# 清理环境(如果最初未安装)
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载dietlibc-help"
|
||||
dnf remove -y dietlibc-help
|
||||
CHECK_RESULT $? 0 0 "卸载dietlibc-help失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test error handling of dietlibc-help"
|
||||
}
|
||||
|
||||
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-02-23
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test displaying help information
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义日志函数
|
||||
LOG_INFO() {
|
||||
echo "[INFO] $*"
|
||||
}
|
||||
|
||||
LOG_ERROR() {
|
||||
echo "[ERROR] $*" >&2
|
||||
}
|
||||
|
||||
# 测试用例描述:Test displaying help information
|
||||
LOG_INFO "开始测试:显示帮助信息"
|
||||
|
||||
# 步骤1:检查dietlibc-help软件包是否在yum源中
|
||||
LOG_INFO "步骤1:检查dietlibc-help软件包是否在yum源中"
|
||||
dnf list available dietlibc-help 2>/dev/null | grep -q "dietlibc-help"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包dietlibc-help不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤2:检查环境是否已安装dietlibc-help
|
||||
LOG_INFO "步骤2:检查环境是否已安装dietlibc-help"
|
||||
rpm -q dietlibc-help >/dev/null 2>&1
|
||||
INSTALLED=$?
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "dietlibc-help已安装,测试结束后将保持安装状态"
|
||||
NEED_UNINSTALL=0
|
||||
else
|
||||
LOG_INFO "dietlibc-help未安装,将安装作为测试步骤"
|
||||
NEED_UNINSTALL=1
|
||||
fi
|
||||
|
||||
# 步骤3:如果未安装,则安装dietlibc-help
|
||||
if [ $NEED_UNINSTALL -eq 1 ]; then
|
||||
LOG_INFO "步骤3:安装dietlibc-help软件包"
|
||||
dnf install -y dietlibc-help
|
||||
CHECK_RESULT $? 0 0 "安装dietlibc-help失败"
|
||||
fi
|
||||
|
||||
# 步骤4:检查dietlibc-help命令是否支持--help参数
|
||||
LOG_INFO "步骤4:检查dietlibc-help命令是否支持--help参数"
|
||||
dietlibc-help --help >/dev/null 2>&1
|
||||
if [ $? -eq 255 ]; then
|
||||
LOG_ERROR "dietlibc-help命令不支持--help参数"
|
||||
if [ $NEED_UNINSTALL -eq 1 ]; then
|
||||
dnf remove -y dietlibc-help
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤5:执行dietlibc-help --help命令并检查结果
|
||||
LOG_INFO "步骤5:执行dietlibc-help --help命令"
|
||||
dietlibc-help --help
|
||||
CHECK_RESULT $? 0 0 "执行dietlibc-help --help命令失败"
|
||||
|
||||
# 步骤6:清理环境
|
||||
LOG_INFO "步骤6:清理环境"
|
||||
if [ $NEED_UNINSTALL -eq 1 ]; then
|
||||
LOG_INFO "卸载dietlibc-help软件包"
|
||||
dnf remove -y dietlibc-help
|
||||
CHECK_RESULT $? 0 0 "卸载dietlibc-help失败"
|
||||
else
|
||||
LOG_INFO "保持dietlibc-help安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:显示帮助信息"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,80 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-23
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test installation of dietlibc-help package
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test installation of dietlibc-help package"
|
||||
|
||||
LOG_INFO "步骤1:检查是否已经安装dietlibc-help包"
|
||||
if rpm -q dietlibc-help > /dev/null 2>&1; then
|
||||
LOG_INFO "dietlibc-help已经安装,标记为保持安装状态"
|
||||
keep_installed=true
|
||||
else
|
||||
LOG_INFO "dietlibc-help未安装,标记为需要清理"
|
||||
keep_installed=false
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查yum源中是否存在dietlibc-help包"
|
||||
if ! dnf list available dietlibc-help > /dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中未找到dietlibc-help包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤3:安装dietlibc-help包"
|
||||
dnf install -y dietlibc-help
|
||||
CHECK_RESULT $? 0 0 "安装dietlibc-help失败"
|
||||
|
||||
LOG_INFO "步骤4:验证dietlibc-help包安装成功"
|
||||
rpm -q dietlibc-help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "验证dietlibc-help安装失败"
|
||||
|
||||
LOG_INFO "步骤5:检查dietlibc-help命令是否可用"
|
||||
if ! command -v dietlibc-help > /dev/null 2>&1; then
|
||||
LOG_ERROR "dietlibc-help命令不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤6:测试dietlibc-help命令的基本功能"
|
||||
dietlibc-help --help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "dietlibc-help --help命令执行失败"
|
||||
|
||||
LOG_INFO "步骤7:测试不支持的参数(模拟失败场景)"
|
||||
dietlibc-help --invalid-parameter > /dev/null 2>&1
|
||||
if [ $? -eq 255 ]; then
|
||||
LOG_INFO "不支持参数测试符合预期(退出码255)"
|
||||
else
|
||||
LOG_ERROR "不支持参数测试未返回预期退出码255"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤8:环境恢复"
|
||||
if [ "$keep_installed" = "false" ]; then
|
||||
LOG_INFO "卸载dietlibc-help包"
|
||||
dnf remove -y dietlibc-help
|
||||
CHECK_RESULT $? 0 0 "卸载dietlibc-help失败"
|
||||
LOG_INFO "环境已恢复到未安装状态"
|
||||
else
|
||||
LOG_INFO "保持dietlibc-help包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test installation of dietlibc-help package"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,77 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test output format of dietlibc-help
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试脚本:test_dietlibc-help_function_output
|
||||
|
||||
LOG_INFO "开始测试:Test output format of dietlibc-help"
|
||||
|
||||
# 检查是否已安装dietlibc
|
||||
LOG_INFO "检查dietlibc是否已安装"
|
||||
if ! dnf list installed dietlibc &>/dev/null; then
|
||||
LOG_INFO "dietlibc未安装,准备安装"
|
||||
# 检查yum源中是否有dietlibc
|
||||
if ! dnf list available dietlibc &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到dietlibc软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装dietlibc
|
||||
dnf install -y dietlibc
|
||||
CHECK_RESULT $? 0 0 "安装dietlibc失败"
|
||||
# 标记需要卸载
|
||||
NEED_UNINSTALL=1
|
||||
else
|
||||
LOG_INFO "dietlibc已安装,无需重复安装"
|
||||
NEED_UNINSTALL=0
|
||||
fi
|
||||
|
||||
# 测试dietlibc-help命令的输出格式
|
||||
LOG_INFO "测试dietlibc-help命令的输出格式"
|
||||
dietlibc-help > /tmp/dietlibc-help-output.txt
|
||||
CHECK_RESULT $? 0 0 "执行dietlibc-help命令失败"
|
||||
|
||||
# 检查输出文件是否存在且非空
|
||||
LOG_INFO "检查输出文件是否存在且非空"
|
||||
if [ ! -s /tmp/dietlibc-help-output.txt ]; then
|
||||
LOG_ERROR "dietlibc-help命令输出为空"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查输出内容是否符合预期(示例:检查是否包含"Usage"关键字)
|
||||
LOG_INFO "检查输出内容是否包含"Usage"关键字"
|
||||
grep -q "Usage" /tmp/dietlibc-help-output.txt
|
||||
CHECK_RESULT $? 0 0 "输出内容不符合预期"
|
||||
|
||||
# 清理临时文件
|
||||
LOG_INFO "清理临时文件"
|
||||
rm -f /tmp/dietlibc-help-output.txt
|
||||
|
||||
# 恢复环境
|
||||
if [ "$NEED_UNINSTALL" -eq 1 ]; then
|
||||
LOG_INFO "卸载dietlibc以恢复环境"
|
||||
dnf remove -y dietlibc
|
||||
CHECK_RESULT $? 0 0 "卸载dietlibc失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test output format of dietlibc-help"
|
||||
}
|
||||
|
||||
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 : 2026-02-23
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test uninstallation of dietlibc-help package
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:卸载dietlibc-help软件包"
|
||||
LOG_INFO "检查当前环境中是否已安装dietlibc-help软件包"
|
||||
if dnf list installed dietlibc-help &>/dev/null; then
|
||||
LOG_INFO "dietlibc-help软件包已安装,标记为已安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "dietlibc-help软件包未安装,标记为未安装状态"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
LOG_INFO "检查yum源中是否存在dietlibc-help软件包"
|
||||
if ! dnf list available dietlibc-help &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到dietlibc-help软件包"
|
||||
exit 255
|
||||
fi
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "执行安装dietlibc-help软件包步骤"
|
||||
dnf install -y dietlibc-help
|
||||
CHECK_RESULT $? 0 0 "安装dietlibc-help软件包失败"
|
||||
fi
|
||||
LOG_INFO "执行卸载dietlibc-help软件包步骤"
|
||||
dnf remove -y dietlibc-help
|
||||
CHECK_RESULT $? 0 0 "卸载dietlibc-help软件包失败"
|
||||
LOG_INFO "验证dietlibc-help软件包是否已成功卸载"
|
||||
if dnf list installed dietlibc-help &>/dev/null; then
|
||||
LOG_ERROR "dietlibc-help软件包卸载后仍显示为已安装状态"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "dietlibc-help软件包已成功卸载"
|
||||
fi
|
||||
if [ "$INSTALLED_BEFORE" = true ]; then
|
||||
LOG_INFO "测试前环境已安装dietlibc-help,重新安装以恢复环境"
|
||||
dnf install -y dietlibc-help
|
||||
CHECK_RESULT $? 0 0 "恢复安装dietlibc-help软件包失败"
|
||||
LOG_INFO "环境已恢复至测试前的安装状态"
|
||||
else
|
||||
LOG_INFO "测试前环境未安装dietlibc-help,无需额外恢复操作"
|
||||
fi
|
||||
LOG_INFO "测试完成:卸载dietlibc-help软件包"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,79 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-23
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic usage examples
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test basic usage examples"
|
||||
|
||||
# 检查dietlibc-help软件包是否在yum源中
|
||||
LOG_INFO "步骤1: 检查dietlibc-help软件包是否在yum源中"
|
||||
dnf list dietlibc-help &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到dietlibc-help软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "步骤2: 检查dietlibc-help是否已安装"
|
||||
rpm -q dietlibc-help &>/dev/null
|
||||
installed=$?
|
||||
|
||||
if [ $installed -ne 0 ]; then
|
||||
# 未安装,执行安装
|
||||
LOG_INFO "步骤3: 安装dietlibc-help软件包"
|
||||
dnf install -y dietlibc-help
|
||||
CHECK_RESULT $? 0 0 "安装dietlibc-help失败"
|
||||
|
||||
# 设置清理标志
|
||||
need_cleanup=1
|
||||
else
|
||||
LOG_INFO "dietlibc-help已安装,跳过安装步骤"
|
||||
need_cleanup=0
|
||||
fi
|
||||
|
||||
# 测试基本用法
|
||||
LOG_INFO "步骤4: 测试dietlibc-help基本用法"
|
||||
dietlibc-help
|
||||
CHECK_RESULT $? 0 0 "执行dietlibc-help失败"
|
||||
|
||||
# 测试--help参数
|
||||
LOG_INFO "步骤5: 测试dietlibc-help --help参数"
|
||||
dietlibc-help --help
|
||||
CHECK_RESULT $? 0 0 "执行dietlibc-help --help失败"
|
||||
|
||||
# 测试不支持的参数
|
||||
LOG_INFO "步骤6: 测试不支持的参数"
|
||||
dietlibc-help --invalid-param 2>/dev/null
|
||||
if [ $? -ne 255 ]; then
|
||||
LOG_ERROR "不支持的参数未返回正确退出码"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 清理环境
|
||||
if [ $need_cleanup -eq 1 ]; then
|
||||
LOG_INFO "步骤7: 卸载dietlibc-help软件包"
|
||||
dnf remove -y dietlibc-help
|
||||
CHECK_RESULT $? 0 0 "卸载dietlibc-help失败"
|
||||
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-02-23
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test displaying version information
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试:显示版本信息"
|
||||
|
||||
# 检查yum源中是否有dietlibc-help软件包
|
||||
LOG_INFO "检查yum源中是否存在dietlibc-help软件包"
|
||||
if ! dnf list available dietlibc-help &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到dietlibc-help软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装
|
||||
LOG_INFO "检查dietlibc-help是否已安装"
|
||||
if rpm -q dietlibc-help &>/dev/null; then
|
||||
installed=true
|
||||
LOG_INFO "dietlibc-help已安装,测试结束后将保持安装状态"
|
||||
else
|
||||
installed=false
|
||||
LOG_INFO "dietlibc-help未安装,将作为测试步骤安装"
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装dietlibc-help软件包"
|
||||
dnf install -y dietlibc-help
|
||||
CHECK_RESULT $? 0 0 "安装dietlibc-help失败"
|
||||
fi
|
||||
|
||||
# 测试显示版本信息
|
||||
LOG_INFO "执行dietlibc-help --version命令"
|
||||
dietlibc-help --version
|
||||
CHECK_RESULT $? 0 0 "执行dietlibc-help --version失败"
|
||||
|
||||
# 测试无效参数
|
||||
LOG_INFO "测试无效参数(应失败)"
|
||||
dietlibc-help --invalid-param &>/dev/null
|
||||
if [ $? -ne 255 ] && [ $? -ne 1 ]; then
|
||||
LOG_ERROR "无效参数未按预期处理"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 环境恢复:如果测试前未安装,则卸载软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载dietlibc-help软件包"
|
||||
dnf remove -y dietlibc-help
|
||||
CHECK_RESULT $? 0 0 "卸载dietlibc-help失败"
|
||||
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 : 2026-02-24
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试libpcap-help命令的版本查询功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "测试libpcap-help命令的版本查询功能"
|
||||
LOG_INFO "步骤1:检查系统中是否已安装libpcap软件包"
|
||||
if dnf list installed libpcap &> /dev/null; then
|
||||
LOG_INFO "libpcap软件包已安装"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "libpcap软件包未安装"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查yum源中是否有libpcap软件包"
|
||||
if ! dnf list available libpcap &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到libpcap软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "步骤3:安装libpcap软件包"
|
||||
dnf install -y libpcap
|
||||
CHECK_RESULT $? 0 0 "安装libpcap软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:检查libpcap-help命令是否存在"
|
||||
if ! command -v libpcap-help &> /dev/null; then
|
||||
LOG_ERROR "libpcap-help命令不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤5:检查libpcap-help命令是否支持version参数"
|
||||
if ! libpcap-help --help | grep -q "version"; then
|
||||
LOG_ERROR "libpcap-help命令不支持version参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤6:执行libpcap-help --version命令"
|
||||
libpcap-help --version
|
||||
CHECK_RESULT $? 0 0 "执行libpcap-help --version命令失败"
|
||||
|
||||
LOG_INFO "步骤7:恢复测试环境"
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "卸载libpcap软件包"
|
||||
dnf remove -y libpcap
|
||||
CHECK_RESULT $? 0 0 "卸载libpcap软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
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-02-24
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试通过包管理器安装libpcap-help软件包
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:测试通过包管理器安装libpcap-help软件包"
|
||||
LOG_INFO "步骤1:检查yum源中是否存在libpcap-help软件包"
|
||||
dnf list libpcap-help 2>/dev/null | grep -q "libpcap-help"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到libpcap-help软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "步骤2:检查当前环境是否已安装libpcap-help软件包"
|
||||
rpm -q libpcap-help >/dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "libpcap-help软件包已安装,脚本结束后保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "libpcap-help软件包未安装,将在测试步骤中安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
LOG_INFO "步骤3:执行安装libpcap-help软件包(如果未安装)"
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
dnf install -y libpcap-help
|
||||
CHECK_RESULT $? 0 0 "安装libpcap-help软件包失败"
|
||||
LOG_INFO "libpcap-help软件包安装成功"
|
||||
fi
|
||||
LOG_INFO "步骤4:验证libpcap-help软件包功能"
|
||||
LOG_INFO "执行命令:libpcap-help --help"
|
||||
libpcap-help --help >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "libpcap-help --help命令执行失败"
|
||||
LOG_INFO "步骤5:清理环境,恢复到之前的状态"
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载libpcap-help软件包"
|
||||
dnf remove -y libpcap-help
|
||||
CHECK_RESULT $? 0 0 "卸载libpcap-help软件包失败"
|
||||
LOG_INFO "libpcap-help软件包卸载成功"
|
||||
else
|
||||
LOG_INFO "保持libpcap-help软件包安装状态,无需卸载"
|
||||
fi
|
||||
LOG_INFO "测试完成:测试通过包管理器安装libpcap-help软件包"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,68 +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-24
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试libpcap-help命令列出pcap工具选项
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "测试开始:测试libpcap-help命令列出pcap工具选项"
|
||||
LOG_INFO "步骤1:检查yum源中是否存在libpcap软件包"
|
||||
dnf list libpcap &> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到libpcap软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "步骤2:检查系统是否已安装libpcap"
|
||||
rpm -q libpcap &> /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "libpcap已安装,标记为保持安装状态"
|
||||
INSTALLED="true"
|
||||
else
|
||||
LOG_INFO "libpcap未安装,将进行安装"
|
||||
INSTALLED="false"
|
||||
fi
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "步骤3:安装libpcap软件包"
|
||||
dnf install -y libpcap
|
||||
CHECK_RESULT $? 0 0 "安装libpcap失败"
|
||||
fi
|
||||
LOG_INFO "步骤4:执行libpcap-help命令并检查其参数支持"
|
||||
libpcap-help --help &> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "libpcap-help命令不支持--help参数或命令不存在"
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "清理环境:卸载libpcap"
|
||||
dnf remove -y libpcap
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "步骤5:验证libpcap-help命令能够列出pcap工具选项"
|
||||
libpcap-help | grep -q "options"
|
||||
CHECK_RESULT $? 0 0 "libpcap-help未列出pcap工具选项"
|
||||
LOG_INFO "步骤6:清理环境"
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "卸载libpcap软件包"
|
||||
dnf remove -y libpcap
|
||||
CHECK_RESULT $? 0 0 "卸载libpcap失败"
|
||||
else
|
||||
LOG_INFO "保持libpcap安装状态"
|
||||
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-29
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic functionality of the package
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test basic functionality of the package"
|
||||
|
||||
# 检查是否已安装软件包
|
||||
LOG_INFO "检查是否已安装 maven-dependency-analyzer"
|
||||
if dnf list installed maven-dependency-analyzer &>/dev/null; then
|
||||
LOG_INFO "maven-dependency-analyzer 已安装"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "maven-dependency-analyzer 未安装"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有该软件包
|
||||
LOG_INFO "检查yum源中是否有 maven-dependency-analyzer"
|
||||
if ! dnf list available maven-dependency-analyzer &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到 maven-dependency-analyzer"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装 maven-dependency-analyzer"
|
||||
dnf install -y maven-dependency-analyzer
|
||||
CHECK_RESULT $? 0 0 "安装 maven-dependency-analyzer 失败"
|
||||
fi
|
||||
|
||||
# 测试基本功能
|
||||
LOG_INFO "测试基本功能:maven-dependency-analyzer --help"
|
||||
output=$(maven-dependency-analyzer --help 2>&1)
|
||||
CHECK_RESULT $? 0 0 "执行 maven-dependency-analyzer --help 失败"
|
||||
|
||||
# 检查输出是否包含帮助信息
|
||||
LOG_INFO "检查输出是否包含帮助信息"
|
||||
if [[ "$output" != *"Usage"* ]]; then
|
||||
LOG_ERROR "--help 参数输出不符合预期"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 清理环境
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载 maven-dependency-analyzer"
|
||||
dnf remove -y maven-dependency-analyzer
|
||||
CHECK_RESULT $? 0 0 "卸载 maven-dependency-analyzer 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test basic functionality of the package"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,77 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-29
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test command line interface
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试命令行接口功能"
|
||||
|
||||
# 检查是否已安装maven-dependency-analyzer
|
||||
LOG_INFO "检查是否已安装maven-dependency-analyzer"
|
||||
if dnf list installed maven-dependency-analyzer &>/dev/null; then
|
||||
LOG_INFO "maven-dependency-analyzer已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "maven-dependency-analyzer未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有maven-dependency-analyzer
|
||||
LOG_INFO "检查yum源中是否有maven-dependency-analyzer"
|
||||
if ! dnf list available maven-dependency-analyzer &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到maven-dependency-analyzer软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装maven-dependency-analyzer(如果未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在安装maven-dependency-analyzer"
|
||||
dnf install -y maven-dependency-analyzer
|
||||
CHECK_RESULT $? 0 0 "安装maven-dependency-analyzer失败"
|
||||
fi
|
||||
|
||||
# 测试命令行帮助功能
|
||||
LOG_INFO "测试命令行帮助功能"
|
||||
mvn dependency:analyze --help &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "命令行帮助功能测试失败"
|
||||
|
||||
# 测试不支持的参数
|
||||
LOG_INFO "测试不支持的参数"
|
||||
mvn dependency:analyze --invalid-param &>/dev/null
|
||||
if [ $? -ne 255 ]; then
|
||||
LOG_ERROR "不支持的参数未返回预期退出码255"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试命令执行失败场景(模拟)
|
||||
LOG_INFO "测试命令执行失败场景(模拟)"
|
||||
mvn dependency:analyze -DfailFlag=true &>/dev/null
|
||||
CHECK_RESULT $? 1 0 "命令执行失败场景未返回预期退出码"
|
||||
|
||||
# 清理环境(如果之前未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在卸载maven-dependency-analyzer"
|
||||
dnf remove -y maven-dependency-analyzer
|
||||
CHECK_RESULT $? 0 0 "卸载maven-dependency-analyzer失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "命令行接口功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,68 +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-10
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test core library functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查软件包是否已安装
|
||||
if dnf list installed | grep -q "maven-dependency-analyzer"; then
|
||||
LOG_INFO "maven-dependency-analyzer 已安装"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "maven-dependency-analyzer 未安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有该软件包
|
||||
LOG_INFO "检查yum源中是否存在 maven-dependency-analyzer"
|
||||
if ! dnf list available | grep -q "maven-dependency-analyzer"; then
|
||||
LOG_ERROR "yum源中未找到 maven-dependency-analyzer"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装软件包(如果未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装 maven-dependency-analyzer"
|
||||
dnf install -y maven-dependency-analyzer
|
||||
CHECK_RESULT $? 0 0 "安装 maven-dependency-analyzer 失败"
|
||||
fi
|
||||
|
||||
# 测试核心功能
|
||||
LOG_INFO "测试核心功能:执行 mvn dependency:analyze"
|
||||
mvn dependency:analyze > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "执行 mvn dependency:analyze 失败"
|
||||
|
||||
# 测试参数支持情况(示例:--help)
|
||||
LOG_INFO "测试参数支持情况:--help"
|
||||
mvn dependency:analyze --help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "--help 参数不支持或执行失败"
|
||||
|
||||
# 清理环境(如果脚本开始时未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 maven-dependency-analyzer"
|
||||
dnf remove -y maven-dependency-analyzer
|
||||
CHECK_RESULT $? 0 0 "卸载 maven-dependency-analyzer 失败"
|
||||
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-11-29
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test dependency analysis feature
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试依赖分析功能"
|
||||
|
||||
# 检查是否已安装maven-dependency-analyzer
|
||||
LOG_INFO "检查是否已安装maven-dependency-analyzer"
|
||||
if dnf list installed maven-dependency-analyzer &>/dev/null; then
|
||||
LOG_INFO "maven-dependency-analyzer已安装"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "maven-dependency-analyzer未安装"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有maven-dependency-analyzer
|
||||
LOG_INFO "检查yum源中是否有maven-dependency-analyzer"
|
||||
if ! dnf list available maven-dependency-analyzer &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到maven-dependency-analyzer"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装maven-dependency-analyzer"
|
||||
dnf install -y maven-dependency-analyzer
|
||||
CHECK_RESULT $? 0 0 "安装maven-dependency-analyzer失败"
|
||||
fi
|
||||
|
||||
# 测试依赖分析功能
|
||||
LOG_INFO "测试依赖分析功能"
|
||||
mvn dependency:analyze --help &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "依赖分析功能测试失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载maven-dependency-analyzer"
|
||||
dnf remove -y maven-dependency-analyzer
|
||||
CHECK_RESULT $? 0 0 "卸载maven-dependency-analyzer失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "依赖分析功能测试完成"
|
||||
}
|
||||
|
||||
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-11-29
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test service integration
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试服务集成功能"
|
||||
|
||||
# 检查是否已安装maven-dependency-analyzer-help_function_svc
|
||||
LOG_INFO "检查是否已安装maven-dependency-analyzer-help_function_svc"
|
||||
if dnf list installed maven-dependency-analyzer-help_function_svc &>/dev/null; then
|
||||
LOG_INFO "maven-dependency-analyzer-help_function_svc已安装"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "maven-dependency-analyzer-help_function_svc未安装"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有该软件包
|
||||
LOG_INFO "检查yum源中是否有maven-dependency-analyzer-help_function_svc"
|
||||
if ! dnf list available maven-dependency-analyzer-help_function_svc &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到maven-dependency-analyzer-help_function_svc"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装maven-dependency-analyzer-help_function_svc"
|
||||
dnf install -y maven-dependency-analyzer-help_function_svc
|
||||
CHECK_RESULT $? 0 0 "安装maven-dependency-analyzer-help_function_svc失败"
|
||||
fi
|
||||
|
||||
# 测试命令参数是否存在或不支持
|
||||
LOG_INFO "测试命令参数是否存在或不支持"
|
||||
if ! maven-dependency-analyzer-help_function_svc --help &>/dev/null; then
|
||||
LOG_ERROR "命令参数不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行命令并检查结果
|
||||
LOG_INFO "执行maven-dependency-analyzer-help_function_svc命令"
|
||||
maven-dependency-analyzer-help_function_svc --test
|
||||
CHECK_RESULT $? 0 0 "执行maven-dependency-analyzer-help_function-svccommand失败"
|
||||
|
||||
# 如果需要第二个服务器执行命令
|
||||
LOG_INFO "在第二个服务器上执行命令(示例)"
|
||||
SSH_CMD ls $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER
|
||||
|
||||
# 清理环境,恢复到之前的状态
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载maven-dependency-analyzer-help-function-svc"
|
||||
dnf remove -y mavendependency-analyzershelpfunctionsvccommand
|
||||
CHECKRESULT$?00"卸载mavendependencyanalyzershelpfunctionsvccommand失败"
|
||||
fi
|
||||
|
||||
LOGINFO"测试服务集成功能完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,69 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-12
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic functionality of nss_wrapper-help
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查nss_wrapper-help软件包是否已安装
|
||||
LOG_INFO "检查nss_wrapper-help软件包是否已安装"
|
||||
if rpm -q nss_wrapper-help; then
|
||||
LOG_INFO "nss_wrapper-help软件包已安装"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "nss_wrapper-help软件包未安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有nss_wrapper-help软件包
|
||||
LOG_INFO "检查yum源中是否有nss_wrapper-help软件包"
|
||||
if ! dnf list available nss_wrapper-help &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到nss_wrapper-help软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装nss_wrapper-help软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装nss_wrapper-help软件包"
|
||||
dnf install -y nss_wrapper-help
|
||||
CHECK_RESULT $? 0 0 "安装nss_wrapper-help软件包失败"
|
||||
fi
|
||||
|
||||
# 测试nss_wrapper-help基本功能
|
||||
LOG_INFO "测试nss_wrapper-help基本功能"
|
||||
nss_wrapper-help --help
|
||||
CHECK_RESULT $? 0 0 "执行nss_wrapper-help --help失败"
|
||||
|
||||
# 测试不支持的参数
|
||||
LOG_INFO "测试不支持的参数"
|
||||
if nss_wrapper-help --invalid-param &>/dev/null; then
|
||||
LOG_ERROR "不支持的参数未触发错误"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载nss_wrapper-help软件包"
|
||||
dnf remove -y nss_wrapper-help
|
||||
CHECK_RESULT $? 0 0 "卸载nss_wrapper-help软件包失败"
|
||||
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 : 2026-03-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Verify dependencies are met
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装texlive-arabtex-doc
|
||||
LOG_INFO "检查是否已安装texlive-arabtex-doc"
|
||||
rpm -q texlive-arabtex-doc
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-arabtex-doc已安装,保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "texlive-arabtex-doc未安装,将在测试中安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-arabtex-doc软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-arabtex-doc软件包"
|
||||
dnf list available texlive-arabtex-doc
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中没有texlive-arabtex-doc软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装texlive-arabtex-doc软件包"
|
||||
dnf install -y texlive-arabtex-doc
|
||||
CHECK_RESULT $? 0 0 "安装texlive-arabtex-doc失败"
|
||||
fi
|
||||
|
||||
# 验证依赖是否满足
|
||||
LOG_INFO "验证texlive-arabtex-doc的依赖是否满足"
|
||||
rpm -qR texlive-arabtex-doc
|
||||
CHECK_RESULT $? 0 0 "检查texlive-arabtex-doc依赖失败"
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载texlive-arabtex-doc软件包"
|
||||
dnf remove -y texlive-arabtex-doc
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-arabtex-doc失败"
|
||||
else
|
||||
LOG_INFO "测试前已安装,保持texlive-arabtex-doc安装状态"
|
||||
fi
|
||||
}
|
||||
|
||||
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-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Access documentation files
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试texlive-arabtex-doc软件包的文档访问功能"
|
||||
LOG_INFO "步骤1: 检查软件包是否已在yum源中"
|
||||
dnf list available texlive-arabtex-doc > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-arabtex-doc软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "步骤2: 检查软件包是否已安装"
|
||||
rpm -q texlive-arabtex-doc > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "软件包已安装,标记为保持安装状态"
|
||||
KEEP_INSTALLED=true
|
||||
else
|
||||
LOG_INFO "软件包未安装,标记为需要清理"
|
||||
KEEP_INSTALLED=false
|
||||
fi
|
||||
if [ "$KEEP_INSTALLED" = "false" ]; then
|
||||
LOG_INFO "步骤3: 安装texlive-arabtex-doc软件包"
|
||||
dnf install -y texlive-arabtex-doc
|
||||
CHECK_RESULT $? 0 0 "安装texlive-arabtex-doc软件包失败"
|
||||
fi
|
||||
LOG_INFO "步骤4: 访问软件包文档文件"
|
||||
rpm -ql texlive-arabtex-doc | head -5 > /tmp/doc_files.txt
|
||||
CHECK_RESULT $? 0 0 "获取texlive-arabtex-doc文档文件列表失败"
|
||||
if [ -s /tmp/doc_files.txt ]; then
|
||||
LOG_INFO "找到文档文件,示例如下:"
|
||||
cat /tmp/doc_files.txt
|
||||
CHECK_RESULT $? 0 0 "读取文档文件列表失败"
|
||||
LOG_INFO "步骤5: 尝试访问一个文档文件"
|
||||
FIRST_FILE=$(head -1 /tmp/doc_files.txt)
|
||||
if [ -f "$FIRST_FILE" ]; then
|
||||
file "$FIRST_FILE" | grep -q "text"
|
||||
CHECK_RESULT $? 0 0 "文件$FIRST_FILE不是文本文件或访问失败"
|
||||
LOG_INFO "成功访问文档文件: $FIRST_FILE"
|
||||
else
|
||||
LOG_ERROR "文档文件不存在: $FIRST_FILE"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
LOG_ERROR "未找到任何文档文件"
|
||||
exit 1
|
||||
fi
|
||||
if [ "$KEEP_INSTALLED" = "false" ]; then
|
||||
LOG_INFO "步骤6: 清理环境,卸载texlive-arabtex-doc软件包"
|
||||
dnf remove -y texlive-arabtex-doc
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-arabtex-doc软件包失败"
|
||||
fi
|
||||
rm -f /tmp/doc_files.txt
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,134 +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-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Query package info (version, size)
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义日志函数(直接使用,不重新定义)
|
||||
LOG_INFO() {
|
||||
echo "[INFO] $1"
|
||||
}
|
||||
|
||||
LOG_ERROR() {
|
||||
echo "[ERROR] $1"
|
||||
}
|
||||
|
||||
# 定义检查结果函数(直接使用,不重新定义)
|
||||
CHECK_RESULT() {
|
||||
local actual=$1
|
||||
local expected=$2
|
||||
local code=$3
|
||||
local message=$4
|
||||
if [ $actual -ne $expected ]; then
|
||||
LOG_ERROR "$message"
|
||||
exit $code
|
||||
fi
|
||||
}
|
||||
|
||||
# 定义SSH_CMD函数(直接使用,不重新定义)
|
||||
SSH_CMD() {
|
||||
local cmd=$1
|
||||
local node_ip=$2
|
||||
local node_password=$3
|
||||
local node_user=$4
|
||||
# 实际实现可能使用sshpass或其他方式,这里仅占位
|
||||
sshpass -p "$node_password" ssh "$node_user@$node_ip" "$cmd"
|
||||
}
|
||||
|
||||
# 主脚本开始
|
||||
LOG_INFO "开始测试:查询软件包信息(版本、大小)"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="texlive-arabtex-doc"
|
||||
|
||||
# 步骤1:检查yum源中是否存在指定软件包
|
||||
LOG_INFO "步骤1:检查yum源中是否存在软件包 $PACKAGE_NAME"
|
||||
dnf list available "$PACKAGE_NAME" &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 $PACKAGE_NAME 在yum源中不存在"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 在yum源中存在"
|
||||
|
||||
# 步骤2:检查当前环境是否已安装该软件包
|
||||
LOG_INFO "步骤2:检查当前环境是否已安装软件包 $PACKAGE_NAME"
|
||||
dnf list installed "$PACKAGE_NAME" &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 已安装,标记为已安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 未安装,标记为未安装状态"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 步骤3:如果未安装,则安装软件包作为测试步骤
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "步骤3:安装软件包 $PACKAGE_NAME"
|
||||
dnf install -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 安装成功"
|
||||
else
|
||||
LOG_INFO "步骤3:软件包已安装,跳过安装步骤"
|
||||
fi
|
||||
|
||||
# 步骤4:查询软件包信息(版本、大小)
|
||||
LOG_INFO "步骤4:查询软件包 $PACKAGE_NAME 的详细信息"
|
||||
PACKAGE_INFO=$(dnf info "$PACKAGE_NAME")
|
||||
CHECK_RESULT $? 0 0 "查询软件包信息失败"
|
||||
|
||||
# 提取版本信息
|
||||
VERSION=$(echo "$PACKAGE_INFO" | grep -E "^Version" | awk "{print $2}")
|
||||
if [ -z "$VERSION" ]; then
|
||||
LOG_ERROR "无法提取软件包版本信息"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "软件包版本:$VERSION"
|
||||
|
||||
# 提取大小信息
|
||||
SIZE=$(echo "$PACKAGE_INFO" | grep -E "^Size" | awk "{print $2}")
|
||||
if [ -z "$SIZE" ]; then
|
||||
LOG_ERROR "无法提取软件包大小信息"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "软件包大小:$SIZE"
|
||||
|
||||
# 步骤5:验证查询结果是否符合预期
|
||||
LOG_INFO "步骤5:验证查询结果"
|
||||
if [ -n "$VERSION" ] && [ -n "$SIZE" ]; then
|
||||
LOG_INFO "软件包信息查询成功:版本=$VERSION, 大小=$SIZE"
|
||||
else
|
||||
LOG_ERROR "软件包信息查询失败"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 步骤6:清理环境,恢复到之前的状态
|
||||
LOG_INFO "步骤6:清理环境"
|
||||
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 "软件包原本已安装,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:查询软件包信息(版本、大小)成功"
|
||||
}
|
||||
|
||||
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-03-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Verify package removal
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:验证软件包卸载功能"
|
||||
|
||||
# 检查是否已安装texlive-arabtex-doc
|
||||
LOG_INFO "步骤1:检查texlive-arabtex-doc是否已安装"
|
||||
if dnf list installed texlive-arabtex-doc &>/dev/null; then
|
||||
LOG_INFO "texlive-arabtex-doc已安装,脚本结束后将保持安装状态"
|
||||
ALREADY_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "texlive-arabtex-doc未安装"
|
||||
ALREADY_INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有该软件包
|
||||
LOG_INFO "步骤2:检查yum源中是否有texlive-arabtex-doc"
|
||||
if ! dnf list available texlive-arabtex-doc &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-arabtex-doc软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤3:安装texlive-arabtex-doc"
|
||||
dnf install -y texlive-arabtex-doc
|
||||
CHECK_RESULT $? 0 0 "安装texlive-arabtex-doc失败"
|
||||
LOG_INFO "texlive-arabtex-doc安装成功"
|
||||
fi
|
||||
|
||||
# 验证软件包功能
|
||||
LOG_INFO "步骤4:验证texlive-arabtex-doc基本功能"
|
||||
if command -v arabtex &>/dev/null; then
|
||||
LOG_INFO "找到arabtex命令"
|
||||
else
|
||||
LOG_INFO "未找到arabtex命令,检查文档包内容"
|
||||
if [ -d /usr/share/texlive/texmf-dist/doc/arabtex ]; then
|
||||
LOG_INFO "找到arabtex文档目录"
|
||||
else
|
||||
LOG_ERROR "未找到arabtex文档目录"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# 卸载软件包(仅当脚本开始时未安装)
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤5:卸载texlive-arabtex-doc"
|
||||
dnf remove -y texlive-arabtex-doc
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-arabtex-doc失败"
|
||||
LOG_INFO "texlive-arabtex-doc卸载成功"
|
||||
|
||||
# 验证卸载是否成功
|
||||
LOG_INFO "步骤6:验证卸载是否成功"
|
||||
if dnf list installed texlive-arabtex-doc &>/dev/null; then
|
||||
LOG_ERROR "卸载后仍检测到texlive-arabtex-doc已安装"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "验证成功:texlive-arabtex-doc已完全卸载"
|
||||
fi
|
||||
else
|
||||
LOG_INFO "步骤5:跳过卸载(脚本开始时已安装)"
|
||||
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-06-28
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 texlive-esvect-doc 软件包的降级功能,验证是否能够成功降级到指定版本。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试 texlive-esvect-doc 软件包的降级功能,验证是否能够成功降级到指定版本
|
||||
|
||||
LOG_INFO "开始测试 texlive-esvect-doc 软件包的降级功能"
|
||||
|
||||
# 检查是否已安装 texlive-esvect-doc
|
||||
if rpm -q texlive-esvect-doc &>/dev/null; then
|
||||
LOG_INFO "检测到 texlive-esvect-doc 已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "检测到 texlive-esvect-doc 未安装,脚本结束后将卸载该软件包"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否存在 texlive-esvect-doc 软件包
|
||||
LOG_INFO "检查 yum 源中是否存在 texlive-esvect-doc 软件包"
|
||||
dnf list available texlive-esvect-doc &>/dev/null
|
||||
CHECK_RESULT $? 0 255 "yum 源中不存在 texlive-esvect-doc 软件包"
|
||||
|
||||
# 获取当前 texlive-esvect-doc 的版本
|
||||
CURRENT_VERSION=$(rpm -q --queryformat "%{VERSION}-%{RELEASE}" texlive-esvect-doc)
|
||||
LOG_INFO "当前 texlive-esvect-doc 版本为: $CURRENT_VERSION"
|
||||
|
||||
# 获取可用的旧版本列表
|
||||
LOG_INFO "获取 texlive-esvect-doc 的可用旧版本列表"
|
||||
OLD_VERSIONS=$(dnf --showduplicates list texlive-esvect-doc | awk "/texlive-esvect-doc/ {print $2}" | sort -u)
|
||||
if [ -z "$OLD_VERSIONS" ]; then
|
||||
LOG_ERROR "没有找到可用的旧版本"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 选择一个旧版本进行降级测试
|
||||
TARGET_VERSION=$(echo "$OLD_VERSIONS" | head -n1)
|
||||
LOG_INFO "选择降级到版本: $TARGET_VERSION"
|
||||
|
||||
# 执行降级操作
|
||||
LOG_INFO "执行降级操作: dnf downgrade texlive-esvect-doc-$TARGET_VERSION"
|
||||
dnf downgrade -y texlive-esvect-doc-$TARGET_VERSION &>/dev/null
|
||||
CHECK_RESULT $? 0 "$?" "降级操作失败"
|
||||
|
||||
# 验证降级后的版本
|
||||
NEW_VERSION=$(rpm -q --queryformat "%{VERSION}-%{RELEASE}" texlive-esvect-doc)
|
||||
LOG_INFO "降级后 texlive-esvect-doc 版本为: $NEW_VERSION"
|
||||
CHECK_RESULT "$NEW_VERSION" "$TARGET_VERSION" 1 "降级后的版本与目标版本不一致"
|
||||
|
||||
# 恢复环境:如果脚本开始时未安装,则卸载;否则恢复到原始状态
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "清理环境:卸载 texlive-esvect-doc"
|
||||
dnf remove -y texlive-esvect-doc &>/dev/null
|
||||
CHECK_RESULT $? 0 "$?" "卸载 texlive-esvect-doc失败"
|
||||
else
|
||||
LOG_INFO "恢复环境:重新安装原始版本 $CURRENT_VERSION"
|
||||
dnf install -y texlive-esvect-doc-$CURRENT_VERSION &>/dev/null
|
||||
CHECK_RESULT $? 0 "$?" "重新安装原始版本失败"
|
||||
|
||||
# 验证恢复后的版本是否为原始版本
|
||||
RESTORED_VERSION=$(rpm -q --queryformat "%{VERSION}-%{RELEASE}"texliv-eesveect-doocc)
|
||||
if [ "$RESTORED_VERISON" != "$CURRNET_VERISON"]; then
|
||||
LOG_ERROR "恢复后的环境与原始状态不一致"
|
||||
exit1
|
||||
fi
|
||||
fi
|
||||
|
||||
LOG_INFO “测试完成”
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,73 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-25
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 texlive-esvect-doc 软件包的检查功能,验证其是否已正确安装并可通过包管理器查询。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 判断环境是否已安装 texlive-esvect-doc 软件包
|
||||
LOG_INFO "检查 texlive-esvect-doc 软件包是否已安装"
|
||||
dnf list installed texlive-esvect-doc &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-esvect-doc 软件包已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "texlive-esvect-doc 软件包未安装,将在测试过程中安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否存在 texlive-esvect-doc 软件包
|
||||
LOG_INFO "检查 yum 源中是否存在 texlive-esvect-doc 软件包"
|
||||
dnf list available texlive-esvect-doc &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum 源中未找到 texlive-esvect-doc 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "开始安装 texlive-esvect-doc 软件包"
|
||||
dnf install -y texlive-esvect-doc
|
||||
CHECK_RESULT $? 0 0 "安装 texlive-esvect-doc 软件包失败"
|
||||
LOG_INFO "texlive-esvect-doc 软件包安装成功"
|
||||
fi
|
||||
|
||||
# 验证软件包是否已正确安装
|
||||
LOG_INFO "验证 texlive-esvect-doc 软件包是否已正确安装"
|
||||
dnf list installed texlive-esvect-doc
|
||||
CHECK_RESULT $? 0 0 "texlive-esvect-doc 软件包未正确安装"
|
||||
|
||||
# 通过包管理器查询软件包信息
|
||||
LOG_INFO "通过包管理器查询 texlive-esvect-doc 软件包信息"
|
||||
dnf info texlive-esvect-doc
|
||||
CHECK_RESULT $? 0 0 "查询 texlive-esvect-doc 软件包信息失败"
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "清理环境:卸载 texlive-esvect-doc 软件包"
|
||||
dnf remove -y texlive-esvect-doc
|
||||
CHECK_RESULT $? 0 0 "卸载 texlive-esvect-doc 软件包失败"
|
||||
LOG_INFO "texlive-esvect-doc 软件包卸载成功,环境已恢复"
|
||||
else
|
||||
LOG_INFO "测试前 texlive-esvect-doc 软件包已安装,测试结束后保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,99 +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-25
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 texlive-esvect-doc 文档的可访问性,验证安装后文档文件是否存在并可读取。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装texlive-esvect-doc
|
||||
LOG_INFO "检查是否已安装texlive-esvect-doc"
|
||||
rpm -q texlive-esvect-doc >/dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-esvect-doc已安装,测试后将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "texlive-esvect-doc未安装,将在测试前安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-esvect-doc
|
||||
LOG_INFO "检查yum源中是否有texlive-esvect-doc"
|
||||
dnf list available texlive-esvect-doc >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "yum源中没有texlive-esvect-doc软件包"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中没有texlive-esvect-doc软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装texlive-esvect-doc"
|
||||
dnf install -y texlive-esvect-doc
|
||||
CHECK_RESULT $? 0 0 "安装texlive-esvect-doc失败"
|
||||
fi
|
||||
|
||||
# 检查文档文件是否存在并可读取
|
||||
LOG_INFO "检查texlive-esvect-doc文档文件是否存在"
|
||||
DOC_PATH="/usr/share/texlive/texmf-dist/doc/latex/esvect"
|
||||
if [ -d "$DOC_PATH" ]; then
|
||||
LOG_INFO "文档目录存在: $DOC_PATH"
|
||||
# 检查目录是否可读取
|
||||
if [ -r "$DOC_PATH" ]; then
|
||||
LOG_INFO "文档目录可读取"
|
||||
# 检查目录中是否有文件
|
||||
FILE_COUNT=$(find "$DOC_PATH" -type f -name "*.pdf" -o -name "*.txt" -o -name "*.tex" | wc -l)
|
||||
if [ $FILE_COUNT -gt 0 ]; then
|
||||
LOG_INFO "找到 $FILE_COUNT 个文档文件"
|
||||
# 检查一个示例文件是否可读取
|
||||
SAMPLE_FILE=$(find "$DOC_PATH" -type f \( -name "*.pdf" -o -name "*.txt" -o -name "*.tex" \) | head -1)
|
||||
if [ -n "$SAMPLE_FILE" ]; then
|
||||
LOG_INFO "检查示例文件可读性: $SAMPLE_FILE"
|
||||
if [ -r "$SAMPLE_FILE" ]; then
|
||||
LOG_INFO "示例文件可读取"
|
||||
else
|
||||
LOG_ERROR "示例文件不可读取: $SAMPLE_FILE"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
LOG_ERROR "在文档目录中未找到任何文档文件"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
LOG_ERROR "文档目录中没有文档文件"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
LOG_ERROR "文档目录不可读取: $DOC_PATH"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
LOG_ERROR "文档目录不存在: $DOC_PATH"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载texlive-esvect-doc"
|
||||
dnf remove -y texlive-esvect-doc
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-esvect-doc失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,62 +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-25
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 texlive-esvect-doc 软件包的安装功能,验证是否能够成功安装到系统中。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
pkg_name="texlive-esvect-doc"
|
||||
LOG_INFO "开始测试 $pkg_name 软件包的安装功能"
|
||||
LOG_INFO "步骤1:检查当前是否已安装 $pkg_name"
|
||||
if rpm -q $pkg_name &> /dev/null; then
|
||||
LOG_INFO "$pkg_name 已安装,测试将跳过安装步骤,并在结束时保持安装状态。"
|
||||
pre_installed=true
|
||||
else
|
||||
LOG_INFO "$pkg_name 未安装。"
|
||||
pre_installed=false
|
||||
fi
|
||||
LOG_INFO "步骤2:检查yum源中是否存在 $pkg_name 软件包"
|
||||
if ! dnf list available $pkg_name &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到 $pkg_name 软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "步骤3:安装 $pkg_name 软件包"
|
||||
if [ "$pre_installed" = "false" ]; then
|
||||
dnf install -y $pkg_name
|
||||
CHECK_RESULT $? 0 0 "安装 $pkg_name 失败"
|
||||
LOG_INFO "$pkg_name 安装成功。"
|
||||
else
|
||||
LOG_INFO "由于软件包已安装,跳过安装步骤。"
|
||||
fi
|
||||
LOG_INFO "步骤4:验证 $pkg_name 是否成功安装到系统中"
|
||||
rpm -q $pkg_name
|
||||
CHECK_RESULT $? 0 0 "验证 $pkg_name 安装状态失败"
|
||||
LOG_INFO "$pkg_name 成功安装到系统中。"
|
||||
LOG_INFO "步骤5:清理测试环境"
|
||||
if [ "$pre_installed" = "false" ]; then
|
||||
LOG_INFO "卸载测试安装的 $pkg_name 软件包"
|
||||
dnf remove -y $pkg_name
|
||||
CHECK_RESULT $? 0 0 "卸载 $pkg_name 失败"
|
||||
LOG_INFO "$pkg_name 卸载成功,环境已恢复。"
|
||||
else
|
||||
LOG_INFO "测试前 $pkg_name 已安装,保持安装状态,不执行卸载。"
|
||||
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 : 2026-03-25
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 texlive-esvect-doc 软件包的卸载功能,验证是否能够从系统中完全移除。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 texlive-esvect-doc 软件包的卸载功能"
|
||||
LOG_INFO "检查 texlive-esvect-doc 软件包是否在 yum 源中"
|
||||
dnf list available texlive-esvect-doc > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum 源中没有 texlive-esvect-doc 软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "texlive-esvect-doc 软件包存在于 yum 源中"
|
||||
|
||||
LOG_INFO "检查系统是否已安装 texlive-esvect-doc 软件包"
|
||||
rpm -q texlive-esvect-doc > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "系统已安装 texlive-esvect-doc 软件包,脚本结束后将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "系统未安装 texlive-esvect-doc 软件包,将进行安装和卸载测试"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装 texlive-esvect-doc 软件包"
|
||||
dnf install -y texlive-esvect-doc
|
||||
CHECK_RESULT $? 0 0 "安装 texlive-esvect-doc 软件包失败"
|
||||
LOG_INFO "texlive-esvect-doc 软件包安装成功"
|
||||
fi
|
||||
|
||||
LOG_INFO "验证 texlive-esvect-doc 软件包是否已安装"
|
||||
rpm -q texlive-esvect-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "texlive-esvect-doc 软件包未安装"
|
||||
|
||||
LOG_INFO "执行卸载 texlive-esvect-doc 软件包"
|
||||
dnf remove -y texlive-esvect-doc
|
||||
CHECK_RESULT $? 0 0 "卸载 texlive-esvect-doc 软件包失败"
|
||||
|
||||
LOG_INFO "验证 texlive-esvect-doc 软件包是否已完全移除"
|
||||
rpm -q texlive-esvect-doc > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "texlive-esvect-doc 软件包卸载后仍然存在"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "texlive-esvect-doc 软件包已完全移除"
|
||||
fi
|
||||
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "环境恢复:由于测试前未安装,卸载后无需重新安装"
|
||||
else
|
||||
LOG_INFO "环境恢复:重新安装 texlive-esvect-doc 软件包"
|
||||
dnf install -y texlive-esvect-doc
|
||||
CHECK_RESULT $? 0 0 "重新安装 texlive-esvect-doc 软件包失败"
|
||||
LOG_INFO "texlive-esvect-doc 软件包重新安装成功"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,122 +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-25
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 texlive-esvect-doc 软件包的升级功能,验证是否能够成功升级到最新版本。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义日志函数(虽然题目说无需定义,但实际脚本中需要调用,这里按题目要求直接使用)
|
||||
LOG_INFO() {
|
||||
echo "[INFO] $*"
|
||||
}
|
||||
|
||||
LOG_ERROR() {
|
||||
echo "[ERROR] $*"
|
||||
}
|
||||
|
||||
# 定义检查结果函数(题目要求直接使用)
|
||||
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 255
|
||||
fi
|
||||
else
|
||||
if [ $actual -eq $expect ]; then
|
||||
LOG_ERROR "$message"
|
||||
exit 255
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# 主测试函数
|
||||
main() {
|
||||
LOG_INFO "开始测试 texlive-esvect-doc 软件包的升级功能"
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
LOG_INFO "检查 texlive-esvect-doc 软件包是否在yum源中"
|
||||
dnf list available texlive-esvect-doc &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "texlive-esvect-doc 软件包不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查当前是否已安装
|
||||
LOG_INFO "检查 texlive-esvect-doc 软件包是否已安装"
|
||||
rpm -q texlive-esvect-doc &>/dev/null
|
||||
local installed=$?
|
||||
|
||||
# 记录初始状态
|
||||
if [ $installed -eq 0 ]; then
|
||||
LOG_INFO "检测到 texlive-esvect-doc 已安装,记录当前版本"
|
||||
local old_version=$(rpm -q --queryformat="%{VERSION}-%{RELEASE}" texlive-esvect-doc)
|
||||
LOG_INFO "当前安装版本: $old_version"
|
||||
else
|
||||
LOG_INFO "检测到 texlive-esvect-doc 未安装,将在测试过程中安装"
|
||||
fi
|
||||
|
||||
# 执行升级测试
|
||||
LOG_INFO "执行 texlive-esvect-doc 软件包升级"
|
||||
dnf upgrade -y texlive-esvect-doc
|
||||
CHECK_RESULT $? 0 0 "升级 texlive-esvect-doc 失败"
|
||||
|
||||
# 验证升级结果
|
||||
LOG_INFO "验证升级后的软件包状态"
|
||||
rpm -q texlive-esvect-doc &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "升级后 texlive-esvect-doc 未正确安装"
|
||||
|
||||
# 获取新版本信息
|
||||
local new_version=$(rpm -q --queryformat="%{VERSION}-%{RELEASE}" texlive-esvect-doc)
|
||||
LOG_INFO "升级后版本: $new_version"
|
||||
|
||||
# 如果是新安装的,需要卸载
|
||||
if [ $installed -ne 0 ]; then
|
||||
LOG_INFO "测试完成,卸载 texlive-esvect-doc 软件包"
|
||||
dnf remove -y texlive-esvect-doc
|
||||
CHECK_RESULT $? 0 0 "卸载 texlive-esvect-doc 失败"
|
||||
|
||||
# 验证卸载
|
||||
rpm -q texlive-esvect-doc &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "卸载后 texlive-esvect-doc 仍然存在"
|
||||
exit 1
|
||||
fi
|
||||
LOG_INFO "环境已恢复到测试前状态(未安装 texlive-esvect-doc)"
|
||||
else
|
||||
# 如果原本已安装,比较版本确认是否真的升级了
|
||||
if [ "$old_version" != "$new_version" ]; then
|
||||
LOG_INFO "软件包已成功从 $old_version 升级到 $new_version"
|
||||
else
|
||||
LOG_INFO "软件包已是最新版本 $new_version,无需升级"
|
||||
fi
|
||||
LOG_INFO "环境保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "texlive-esvect-doc 升级功能测试完成"
|
||||
}
|
||||
|
||||
# 执行主测试
|
||||
main
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,69 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-28
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 texlive-esvect-doc 软件包的重新安装功能,验证是否能够成功重新安装到系统中。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查texlive-esvect-doc软件包是否已安装
|
||||
LOG_INFO "检查texlive-esvect-doc软件包是否已安装"
|
||||
rpm -q texlive-esvect-doc > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-esvect-doc软件包已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "texlive-esvect-doc软件包未安装,脚本结束时将卸载软件包"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在texlive-esvect-doc软件包
|
||||
LOG_INFO "检查yum源中是否存在texlive-esvect-doc软件包"
|
||||
dnf list available texlive-esvect-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中不存在texlive-esvect-doc软件包"
|
||||
|
||||
# 卸载texlive-esvect-doc软件包(如果已安装)
|
||||
if [ $INSTALLED -eq 1 ]; then
|
||||
LOG_INFO "卸载texlive-esvect-doc软件包"
|
||||
dnf remove -y texlive-esvect-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-esvect-doc软件包失败"
|
||||
fi
|
||||
|
||||
# 安装texlive-esvect-doc软件包
|
||||
LOG_INFO "安装texlive-esvect-doc软件包"
|
||||
dnf install -y texlive-esvect-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装texlive-esvect-doc软件包失败"
|
||||
|
||||
# 验证texlive-esvect-doc软件包是否安装成功
|
||||
LOG_INFO "验证texlive-esvect-doc软件包是否安装成功"
|
||||
rpm -q texlive-esvect-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "texlive-esvect-doc软件包未成功安装"
|
||||
|
||||
# 重新安装texlive-esvect-doc软件包以测试重新安装功能
|
||||
LOG_INFO "重新安装texlive-esvect-doc软件包以测试重新安装功能"
|
||||
dnf reinstall -y texlivingesvector doc >/dev/null 2>&1
|
||||
CHECK_RESULT $? , , , "重新安装失败"
|
||||
|
||||
#根据初始状态决定是否卸载
|
||||
if [ $INSTALLED -eq ]; then
|
||||
LOG_INFO "恢复环境:卸载新装的texlivesvector doc"
|
||||
dnf remove –yes --noautoremove --setopt=clean_requirements_on_remove=false \
|
||||
$(rpm –qa | grep "^texlivesvector") || true
|
||||
fi
|
||||
}
|
||||
|
||||
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-11-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Verify documentation generation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装texlive-latex2e-help-texinfo
|
||||
LOG_INFO "检查是否已安装texlive-latex2e-help-texinfo"
|
||||
if dnf list installed texlive-latex2e-help-texinfo &>/dev/null; then
|
||||
LOG_INFO "texlive-latex2e-help-texinfo已安装,脚本结束时保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-latex2e-help-texinfo未安装,将在测试步骤中安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有该软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-latex2e-help-texinfo"
|
||||
if ! dnf list available texlive-latex2e-help-texinfo &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-latex2e-help-texinfo软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装texlive-latex2e-help-texinfo"
|
||||
dnf install -y texlive-latex2e-help-texinfo
|
||||
CHECK_RESULT $? 0 0 "安装texlive-latex2e-help-texinfo失败"
|
||||
fi
|
||||
|
||||
# 验证文档生成功能
|
||||
LOG_INFO "验证文档生成功能"
|
||||
texdoc --list texlive-latex2e-help-texinfo
|
||||
CHECK_RESULT $? 0 0 "文档生成功能验证失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载texlive-latex2e-help-texinfo"
|
||||
dnf remove -y texlive-latex2e-help-texinfo
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-latex2e-help-texinfo失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完成"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,67 +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 : Check help content availability
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:检查帮助内容的可用性"
|
||||
|
||||
# 检查是否已安装texlive-latex2e-help-texinfo
|
||||
LOG_INFO "检查texlive-latex2e-help-texinfo是否已安装"
|
||||
if dnf list installed texlive-latex2e-help-texinfo &>/dev/null; then
|
||||
LOG_INFO "texlive-latex2e-help-texinfo已安装"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "texlive-latex2e-help-texinfo未安装"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有该软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-latex2e-help-texinfo"
|
||||
if ! dnf list available texlive-latex2e-help-texinfo &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-latex2e-help-texinfo"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "开始安装texlive-latex2e-help-texinfo"
|
||||
dnf install -y texlive-latex2e-help-texinfo
|
||||
CHECK_RESULT $? 0 0 "安装texlive-latex2e-help-texinfo失败"
|
||||
fi
|
||||
|
||||
# 测试帮助内容的可用性
|
||||
LOG_INFO "测试帮助内容的可用性"
|
||||
if ! texdoc --list texlive-latex2e-help-texinfo &>/dev/null; then
|
||||
LOG_ERROR "texdoc命令不支持或参数错误"
|
||||
exit 255
|
||||
fi
|
||||
CHECK_RESULT $? 0 0 "获取帮助内容失败"
|
||||
|
||||
# 恢复环境
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载之前安装的texlive-latex2e-help-texinfo"
|
||||
dnf remove -y texlive-latex2e-help-texinfo
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-latex2e-help-texinfo失败"
|
||||
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-16
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Check if the man page for latex2e-help-texinfo is available and readable
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试脚本开始
|
||||
# 检查latex2e-help-texinfo的man page是否可用且可读
|
||||
|
||||
LOG_INFO "开始测试:检查latex2e-help-texinfo的man page是否可用且可读"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="texlive-latex2e-help-texinfo"
|
||||
|
||||
# 步骤1:检查软件包是否已在yum源中
|
||||
LOG_INFO "步骤1:检查软件包是否在yum源中可用"
|
||||
dnf list available ${PACKAGE_NAME} &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 ${PACKAGE_NAME} 不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "软件包 ${PACKAGE_NAME} 在yum源中可用"
|
||||
|
||||
# 步骤2:检查软件包是否已安装
|
||||
LOG_INFO "步骤2:检查软件包是否已安装"
|
||||
rpm -q ${PACKAGE_NAME} &>/dev/null
|
||||
PACKAGE_INSTALLED=$?
|
||||
|
||||
# 步骤3:如果未安装,则安装软件包
|
||||
if [ ${PACKAGE_INSTALLED} -ne 0 ]; then
|
||||
LOG_INFO "软件包未安装,开始安装"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "安装软件包 ${PACKAGE_NAME} 失败"
|
||||
LOG_INFO "软件包 ${PACKAGE_NAME} 安装成功"
|
||||
fi
|
||||
|
||||
# 步骤4:检查man page命令是否存在
|
||||
LOG_INFO "步骤4:检查man page命令是否存在"
|
||||
MAN_COMMAND="man"
|
||||
if ! command -v ${MAN_COMMAND} &>/dev/null; then
|
||||
LOG_ERROR "man命令不存在"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "man命令存在"
|
||||
|
||||
# 步骤5:检查latex2e-help-texinfo的man page是否可用
|
||||
LOG_INFO "步骤5:检查latex2e-help-texinfo的man page是否可用"
|
||||
man -w latex2e-help-texinfo &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "latex2e-help-texinfo的man page不可用"
|
||||
LOG_INFO "latex2e-help-texinfo的man page可用"
|
||||
|
||||
# 步骤6:检查latex2e-help-texinfo的man page是否可读
|
||||
LOG_INFO "步骤6:检查latex2e-help-texinfo的man page是否可读"
|
||||
man latex2e-help-texinfo | head -10 &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "latex2e-help-texinfo的man page不可读"
|
||||
LOG_INFO "latex2e-help-texinfo的man page可读"
|
||||
|
||||
# 步骤7:清理环境,恢复到之前状态
|
||||
LOG_INFO "步骤7:清理环境"
|
||||
if [ ${PACKAGE_INSTALLED} -ne 0 ]; then
|
||||
LOG_INFO "卸载测试安装的软件包"
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 ${PACKAGE_NAME} 失败"
|
||||
LOG_INFO "软件包 ${PACKAGE_NAME} 卸载成功"
|
||||
else
|
||||
LOG_INFO "软件包原本已安装,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:latex2e-help-texinfo的man page可用且可读"
|
||||
}
|
||||
|
||||
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-02-22
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 texlive-procIAGssymp 宏包在 LaTeX 文档中的基本使用功能。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装texlive-procIAGssymp
|
||||
LOG_INFO "检查texlive-procIAGssymp宏包是否已安装"
|
||||
if dnf list installed texlive-procIAGssymp &>/dev/null; then
|
||||
LOG_INFO "texlive-procIAGssymp宏包已安装,测试后将保持安装状态"
|
||||
INSTALLED="true"
|
||||
else
|
||||
LOG_INFO "texlive-procIAGssymp宏包未安装,将在测试后卸载"
|
||||
INSTALLED="false"
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有该软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-procIAGssymp宏包"
|
||||
if ! dnf search texlive-procIAGssymp 2>/dev/null | grep -q "texlive-procIAGssymp"; then
|
||||
LOG_ERROR "yum源中未找到texlive-procIAGssymp宏包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "安装texlive-procIAGssymp宏包"
|
||||
dnf install -y texlive-procIAGssymp
|
||||
CHECK_RESULT $? 0 0 "安装texlive-procIAGssymp宏包失败"
|
||||
fi
|
||||
|
||||
# 创建测试LaTeX文档
|
||||
LOG_INFO "创建测试LaTeX文档"
|
||||
cat > test_procIAGssymp.tex << "EOF"
|
||||
\documentclass{article}
|
||||
\usepackage{procIAGssymp}
|
||||
\begin{document}
|
||||
This is a test document for procIAGssymp package.
|
||||
\end{document}
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "创建测试LaTeX文档失败"
|
||||
|
||||
# 尝试编译LaTeX文档
|
||||
LOG_INFO "编译LaTeX文档测试procIAGssymp宏包功能"
|
||||
pdflatex test_procIAGssymp.tex
|
||||
CHECK_RESULT $? 0 0 "编译LaTeX文档失败,procIAGssymp宏包可能无法正常工作"
|
||||
|
||||
# 检查生成的PDF文件
|
||||
LOG_INFO "检查生成的PDF文件"
|
||||
if [ -f test_procIAGssymp.pdf ]; then
|
||||
LOG_INFO "PDF文件生成成功,procIAGssymp宏包功能正常"
|
||||
else
|
||||
LOG_ERROR "PDF文件未生成,procIAGssymp宏包功能异常"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f test_procIAGssymp.tex test_procIAGssymp.pdf test_procIAGssymp.log test_procIAGssymp.aux
|
||||
CHECK_RESULT $? 0 0 "清理测试文件失败"
|
||||
|
||||
# 如果测试前未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "卸载texlive-procIAGssymp宏包"
|
||||
dnf remove -y texlive-procIAGssymp
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-procIAGssymp宏包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,123 +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 : Test svninfo command usage
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义日志函数
|
||||
LOG_INFO() {
|
||||
echo "[INFO] $*"
|
||||
}
|
||||
|
||||
LOG_ERROR() {
|
||||
echo "[ERROR] $*" >&2
|
||||
}
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
check_package_in_repo() {
|
||||
local pkg=$1
|
||||
LOG_INFO "检查软件包 $pkg 是否在yum源中"
|
||||
dnf list available "$pkg" &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 $pkg 不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
}
|
||||
|
||||
# 检查命令参数是否支持
|
||||
check_command_param() {
|
||||
local cmd=$1
|
||||
local param=$2
|
||||
LOG_INFO "检查命令 $cmd 是否支持参数 $param"
|
||||
$cmd --help 2>&1 | grep -q "$param"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "命令 $cmd 不支持参数 $param"
|
||||
exit 255
|
||||
fi
|
||||
}
|
||||
|
||||
# 主测试函数
|
||||
main() {
|
||||
LOG_INFO "开始测试:Test svninfo command usage"
|
||||
|
||||
# 步骤1:检查环境是否已安装texlive-svninfo
|
||||
LOG_INFO "步骤1:检查texlive-svninfo是否已安装"
|
||||
if rpm -q texlive-svninfo &>/dev/null; then
|
||||
LOG_INFO "texlive-svninfo已安装,测试结束后将保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "texlive-svninfo未安装,将在测试过程中安装"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
# 步骤2:检查软件包是否在yum源中
|
||||
LOG_INFO "步骤2:检查texlive-svninfo是否在yum源中"
|
||||
check_package_in_repo "texlive-svninfo"
|
||||
|
||||
# 步骤3:如果未安装,则安装软件包
|
||||
if [ "$INSTALLED_BEFORE" = "false" ]; then
|
||||
LOG_INFO "步骤3:安装texlive-svninfo软件包"
|
||||
dnf install -y texlive-svninfo
|
||||
CHECK_RESULT $? 0 0 "安装texlive-svninfo失败"
|
||||
fi
|
||||
|
||||
# 步骤4:检查svninfo命令是否存在
|
||||
LOG_INFO "步骤4:检查svninfo命令是否存在"
|
||||
command -v svninfo &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "svninfo命令不存在"
|
||||
|
||||
# 步骤5:测试svninfo命令基本用法
|
||||
LOG_INFO "步骤5:测试svninfo命令基本用法"
|
||||
svninfo --help &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "svninfo --help执行失败"
|
||||
|
||||
# 步骤6:测试svninfo命令特定参数(假设--version是支持的参数)
|
||||
LOG_INFO "步骤6:测试svninfo命令--version参数"
|
||||
check_command_param "svninfo" "--version"
|
||||
svninfo --version &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "svninfo --version执行失败"
|
||||
|
||||
# 步骤7:测试svninfo命令无效参数
|
||||
LOG_INFO "步骤7:测试svninfo命令无效参数(预期失败)"
|
||||
svninfo --invalid-param &>/dev/null
|
||||
if [ $? -eq 255 ]; then
|
||||
LOG_INFO "无效参数正确处理,退出码为255"
|
||||
else
|
||||
LOG_ERROR "无效参数处理异常"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 步骤8:清理环境
|
||||
LOG_INFO "步骤8:清理测试环境"
|
||||
if [ "$INSTALLED_BEFORE" = "false" ]; then
|
||||
LOG_INFO "卸载测试安装的texlive-svninfo软件包"
|
||||
dnf remove -y texlive-svninfo
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-svninfo失败"
|
||||
else
|
||||
LOG_INFO "保持原有的texlive-svninfo安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test svninfo command usage"
|
||||
}
|
||||
|
||||
# 执行主函数
|
||||
main
|
||||
}
|
||||
|
||||
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-02-25
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Check help information display
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试脚本:测试 texlive-svninfo 帮助信息显示功能
|
||||
|
||||
LOG_INFO "开始测试 texlive-svninfo 帮助信息显示功能"
|
||||
|
||||
# 步骤1:检查当前环境是否已安装 texlive-svninfo 软件包
|
||||
LOG_INFO "步骤1:检查 texlive-svninfo 是否已安装"
|
||||
dnf list installed texlive-svninfo &> /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-svninfo 已安装,测试结束后将保持安装状态"
|
||||
INSTALLED_BEFORE=1
|
||||
else
|
||||
LOG_INFO "texlive-svninfo 未安装,将在测试前安装并在测试后卸载"
|
||||
INSTALLED_BEFORE=0
|
||||
fi
|
||||
|
||||
# 步骤2:检查 yum 源中是否有 texlive-svninfo 软件包
|
||||
LOG_INFO "步骤2:检查 yum 源中是否有 texlive-svninfo 软件包"
|
||||
dnf list available texlive-svninfo &> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum 源中未找到 texlive-svninfo 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤3:如果未安装,则安装 texlive-svninfo 软件包
|
||||
if [ $INSTALLED_BEFORE -eq 0 ]; then
|
||||
LOG_INFO "步骤3:安装 texlive-svninfo 软件包"
|
||||
dnf install -y texlive-svninfo
|
||||
CHECK_RESULT $? 0 0 "安装 texlive-svninfo 软件包失败"
|
||||
fi
|
||||
|
||||
# 步骤4:检查 texlive-svninfo 命令是否存在
|
||||
LOG_INFO "步骤4:检查 texlive-svninfo 命令是否存在"
|
||||
which texlive-svninfo &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "texlive-svninfo 命令不存在"
|
||||
|
||||
# 步骤5:测试 texlive-svninfo 的帮助信息显示功能
|
||||
LOG_INFO "步骤5:测试 texlive-svninfo 帮助信息显示功能"
|
||||
texlive-svninfo --help &> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
texlive-svninfo -h &> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "texlive-svninfo 命令不支持 --help 或 -h 参数"
|
||||
exit 255
|
||||
fi
|
||||
fi
|
||||
|
||||
# 步骤6:验证帮助信息是否正常显示
|
||||
LOG_INFO "步骤6:验证帮助信息是否正常显示"
|
||||
texlive-svninfo --help | head -5 | grep -i "usage\|help\|options" &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "texlive-svninfo 帮助信息显示异常"
|
||||
|
||||
# 步骤7:环境清理
|
||||
LOG_INFO "步骤7:环境清理"
|
||||
if [ $INSTALLED_BEFORE -eq 0 ]; then
|
||||
LOG_INFO "卸载 texlive-svninfo 软件包"
|
||||
dnf remove -y texlive-svninfo
|
||||
CHECK_RESULT $? 0 0 "卸载 texlive-svninfo 软件包失败"
|
||||
else
|
||||
LOG_INFO "测试前已安装 texlive-svninfo,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:texlive-svninfo 帮助信息显示功能正常"
|
||||
}
|
||||
|
||||
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-02-25
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test extracting SVN revision
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试提取SVN修订版本号功能
|
||||
|
||||
# 步骤1: 检查是否已安装texlive-svninfo软件包
|
||||
LOG_INFO "步骤1: 检查texlive-svninfo软件包是否已安装"
|
||||
rpm -q texlive-svninfo
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-svninfo已安装,脚本结束后将保持安装状态"
|
||||
ALREADY_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "texlive-svninfo未安装,将在测试中安装并在结束后卸载"
|
||||
ALREADY_INSTALLED=0
|
||||
fi
|
||||
|
||||
# 步骤2: 检查yum源中是否有texlive-svninfo软件包
|
||||
LOG_INFO "步骤2: 检查yum源中是否有texlive-svninfo软件包"
|
||||
dnf list available texlive-svninfo 2>/dev/null | grep -q texlive-svninfo
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-svninfo软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤3: 安装texlive-svninfo软件包(如果未安装)
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤3: 安装texlive-svninfo软件包"
|
||||
dnf install -y texlive-svninfo
|
||||
CHECK_RESULT $? 0 0 "安装texlive-svninfo失败"
|
||||
fi
|
||||
|
||||
# 步骤4: 检查svn_revision命令是否存在
|
||||
LOG_INFO "步骤4: 检查svn_revision命令是否存在"
|
||||
which svn_revision
|
||||
CHECK_RESULT $? 0 0 "svn_revision命令未找到"
|
||||
|
||||
# 步骤5: 测试svn_revision命令的基本功能
|
||||
LOG_INFO "步骤5: 测试svn_revision命令的基本功能"
|
||||
svn_revision --help
|
||||
CHECK_RESULT $? 0 0 "svn_revision命令无法执行"
|
||||
|
||||
# 步骤6: 测试svn_revision命令的参数检查
|
||||
LOG_INFO "步骤6: 测试svn_revision命令的参数检查"
|
||||
svn_revision --invalid-param 2>/dev/null
|
||||
if [ $? -ne 255 ] && [ $? -ne 1 ]; then
|
||||
LOG_ERROR "svn_revision命令未正确处理无效参数"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "svn_revision命令正确处理了无效参数"
|
||||
|
||||
# 步骤7: 创建测试目录和文件
|
||||
LOG_INFO "步骤7: 创建测试目录和文件"
|
||||
TEST_DIR="/tmp/test_svn_revision_$(date +%s)"
|
||||
mkdir -p "$TEST_DIR"
|
||||
CHECK_RESULT $? 0 0 "创建测试目录失败"
|
||||
cd "$TEST_DIR" || exit 1
|
||||
|
||||
# 步骤8: 测试svn_revision命令提取修订版本号功能
|
||||
LOG_INFO "步骤8: 测试svn_revision命令提取修订版本号功能"
|
||||
# 创建一个简单的测试文件
|
||||
echo "Test content" > test.txt
|
||||
svn_revision test.txt 2>/dev/null
|
||||
CHECK_RESULT $? 0 0 "svn_revision提取修订版本号失败"
|
||||
|
||||
# 步骤9: 清理测试目录
|
||||
LOG_INFO "步骤9: 清理测试目录"
|
||||
cd /tmp || exit 1
|
||||
rm -rf "$TEST_DIR"
|
||||
CHECK_RESULT $? 0 0 "清理测试目录失败"
|
||||
|
||||
# 步骤10: 卸载texlive-svninfo软件包(如果是测试中安装的)
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤10: 卸载texlive-svninfo软件包"
|
||||
dnf remove -y texlive-svninfo
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-svninfo失败"
|
||||
LOG_INFO "已成功卸载texlive-svninfo软件包"
|
||||
else
|
||||
LOG_INFO "步骤10: 保持texlive-svninfo软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成: 成功测试了提取SVN修订版本号功能"
|
||||
}
|
||||
|
||||
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 : Verify package removal
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查参数
|
||||
if [ $# -ne 1 ]; then
|
||||
LOG_ERROR "参数错误:需要指定软件包名称"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
PACKAGE_NAME="$1"
|
||||
LOG_INFO "开始测试软件包卸载功能,测试包名:${PACKAGE_NAME}"
|
||||
|
||||
# 检查yum源中是否存在该软件包
|
||||
LOG_INFO "步骤1:检查yum源中是否存在软件包 ${PACKAGE_NAME}"
|
||||
dnf list available "${PACKAGE_NAME}" &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 ${PACKAGE_NAME} 在yum源中不存在"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "软件包 ${PACKAGE_NAME} 在yum源中存在"
|
||||
|
||||
# 检查当前是否已安装
|
||||
LOG_INFO "步骤2:检查软件包 ${PACKAGE_NAME} 是否已安装"
|
||||
INSTALLED=0
|
||||
if rpm -q "${PACKAGE_NAME}" &>/dev/null; then
|
||||
LOG_INFO "软件包 ${PACKAGE_NAME} 已安装"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "软件包 ${PACKAGE_NAME} 未安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 如果未安装,则先安装
|
||||
if [ ${INSTALLED} -eq 0 ]; then
|
||||
LOG_INFO "步骤3:安装软件包 ${PACKAGE_NAME}"
|
||||
dnf install -y "${PACKAGE_NAME}"
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
LOG_INFO "软件包 ${PACKAGE_NAME} 安装成功"
|
||||
fi
|
||||
|
||||
# 验证软件包功能
|
||||
LOG_INFO "步骤4:验证软件包基本功能"
|
||||
# 这里根据具体软件包添加验证命令,例如:
|
||||
# which ${PACKAGE_NAME} &>/dev/null
|
||||
# CHECK_RESULT $? 0 0 "软件包功能验证失败"
|
||||
|
||||
# 执行卸载测试
|
||||
LOG_INFO "步骤5:卸载软件包 ${PACKAGE_NAME}"
|
||||
dnf remove -y "${PACKAGE_NAME}"
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
LOG_INFO "软件包 ${PACKAGE_NAME} 卸载成功"
|
||||
|
||||
# 验证卸载结果
|
||||
LOG_INFO "步骤6:验证卸载结果"
|
||||
rpm -q "${PACKAGE_NAME}" &>/dev/null
|
||||
CHECK_RESULT $? 1 0 "软件包卸载后仍存在"
|
||||
|
||||
# 环境恢复
|
||||
LOG_INFO "步骤7:恢复测试环境"
|
||||
if [ ${INSTALLED} -eq 0 ]; then
|
||||
# 测试前未安装,测试后保持未安装状态
|
||||
LOG_INFO "测试前未安装,保持未安装状态"
|
||||
else
|
||||
# 测试前已安装,重新安装恢复
|
||||
LOG_INFO "重新安装软件包 ${PACKAGE_NAME} 恢复环境"
|
||||
dnf install -y "${PACKAGE_NAME}"
|
||||
CHECK_RESULT $? 0 0 "重新安装软件包失败"
|
||||
LOG_INFO "环境恢复完成"
|
||||
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 : 2025-11-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Check version info
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试脚本:test_texlive-svninfo_function_version
|
||||
|
||||
LOG_INFO "开始测试:Check version info"
|
||||
|
||||
# 检查是否已安装texlive-svninfo软件包
|
||||
if dnf list installed texlive-svninfo &>/dev/null; then
|
||||
LOG_INFO "texlive-svninfo已安装,跳过安装步骤"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-svninfo未安装,准备安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-svninfo软件包
|
||||
LOG_INFO "检查yum源中是否存在texlive-svninfo软件包"
|
||||
if ! dnf list available texlive-svninfo &>/dev/null; then
|
||||
LOG_ERROR "yum源中不存在texlive-svninfo软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在安装texlive-svninfo软件包"
|
||||
dnf install -y texlive-svninfo
|
||||
CHECK_RESULT $? 0 0 "安装texlive-svninfo失败"
|
||||
fi
|
||||
|
||||
# 测试texlive-svninfo版本信息功能
|
||||
LOG_INFO "测试texlive-svninfo版本信息功能"
|
||||
version_output=$(texlive-svninfo --version 2>&1)
|
||||
CHECK_RESULT $? 0 0 "获取版本信息失败"
|
||||
|
||||
# 检查版本信息输出是否包含预期内容
|
||||
LOG_INFO "检查版本信息输出是否包含预期内容"
|
||||
if [[ "$version_output" != *"texlive-svninfo"* ]]; then
|
||||
LOG_ERROR "版本信息输出不符合预期"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 如果脚本开始时未安装,则在结束时卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载texlive-svninfo软件包"
|
||||
dnf remove -y texlive-svninfo
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-svninfo失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Check version 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-02-25
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Check package version output
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查texlive-svninfo软件包版本输出功能
|
||||
LOG_INFO "开始测试:检查texlive-svninfo软件包版本输出功能"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="texlive-svninfo"
|
||||
|
||||
# 步骤1:检查软件包是否已在yum源中
|
||||
LOG_INFO "步骤1:检查软件包是否在yum源中"
|
||||
dnf list available $PACKAGE_NAME 2>/dev/null | grep -q $PACKAGE_NAME
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 $PACKAGE_NAME 不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 在yum源中可用"
|
||||
|
||||
# 步骤2:检查当前是否已安装该软件包
|
||||
LOG_INFO "步骤2:检查当前是否已安装软件包"
|
||||
INSTALLED=false
|
||||
rpm -q $PACKAGE_NAME >/dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 已安装"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 未安装"
|
||||
fi
|
||||
|
||||
# 步骤3:如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "步骤3:安装软件包 $PACKAGE_NAME"
|
||||
dnf install -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
LOG_INFO "软件包安装成功"
|
||||
fi
|
||||
|
||||
# 步骤4:检查软件包版本输出功能
|
||||
LOG_INFO "步骤4:检查软件包版本输出功能"
|
||||
# 检查rpm命令的版本查询功能
|
||||
rpm -q $PACKAGE_NAME --queryformat "%{VERSION}-%{RELEASE}\n"
|
||||
CHECK_RESULT $? 0 0 "查询软件包版本失败"
|
||||
|
||||
# 步骤5:检查texlive-svninfo相关命令(如果存在)
|
||||
LOG_INFO "步骤5:检查texlive-svninfo相关命令"
|
||||
# 尝试查找与texlive-svninfo相关的可执行文件
|
||||
TEXLIVE_CMD=$(rpm -ql $PACKAGE_NAME | grep -E "/bin/|/sbin/" | head -1)
|
||||
if [ -n "$TEXLIVE_CMD" ] && [ -x "$TEXLIVE_CMD" ]; then
|
||||
LOG_INFO "找到可执行文件: $TEXLIVE_CMD"
|
||||
# 检查命令是否支持版本参数
|
||||
$TEXLIVE_CMD --version 2>/dev/null || $TEXLIVE_CMD -v 2>/dev/null || $TEXLIVE_CMD -V 2>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "命令版本输出功能正常"
|
||||
else
|
||||
LOG_INFO "命令不支持标准版本参数"
|
||||
fi
|
||||
else
|
||||
LOG_INFO "未找到相关可执行文件,可能为库文件"
|
||||
fi
|
||||
|
||||
# 步骤6:检查软件包详细信息
|
||||
LOG_INFO "步骤6:检查软件包详细信息输出"
|
||||
rpm -qi $PACKAGE_NAME | grep -q "Version"
|
||||
CHECK_RESULT $? 0 0 "获取软件包详细信息失败"
|
||||
LOG_INFO "软件包详细信息输出正常"
|
||||
|
||||
# 步骤7:环境恢复
|
||||
LOG_INFO "步骤7:环境恢复"
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "卸载测试安装的软件包"
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
LOG_INFO "软件包卸载成功"
|
||||
else
|
||||
LOG_INFO "保持原有安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:texlive-svninfo软件包版本输出功能检查通过"
|
||||
}
|
||||
|
||||
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-11-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic functionality of texlive-varsfromjobname-doc
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 texlive-varsfromjobname-doc 基本功能"
|
||||
|
||||
# 检查是否已安装 texlive-varsfromjobname-doc
|
||||
LOG_INFO "检查是否已安装 texlive-varsfromjobname-doc"
|
||||
if dnf list installed texlive-varsfromjobname-doc &>/dev/null; then
|
||||
LOG_INFO "texlive-varsfromjobname-doc 已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-varsfromjobname-doc 未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有该软件包
|
||||
LOG_INFO "检查 yum 源中是否有 texlive-varsfromjobname-doc"
|
||||
if ! dnf list available texlive-varsfromjobname-doc &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 texlive-varsfromjobname-doc,退出测试"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装 texlive-varsfromjobname-doc"
|
||||
dnf install -y texlive-varsfromjobname-doc
|
||||
CHECK_RESULT $? 0 0 "安装 texlive-varsfromjobname-doc 失败"
|
||||
fi
|
||||
|
||||
# 测试基本功能
|
||||
LOG_INFO "测试 texlive-varsfromjobname-doc 基本功能"
|
||||
|
||||
# 示例命令测试(假设命令为 "texlivevars")
|
||||
LOG_INFO "执行命令 "texlivevars --help""
|
||||
texlivevars --help &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "命令 "texlivevars --help" 执行失败"
|
||||
|
||||
# 检查不支持的命令参数(假设不支持 "--invalid")
|
||||
LOG_INFO "检查不支持的命令参数 "--invalid""
|
||||
texlivevars --invalid &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "命令参数 "--invalid" 不支持,退出测试"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 texlive-varsfromjobname-doc"
|
||||
dnf remove -y texlive-varsfromjobname-doc
|
||||
CHECK_RESULT $? 0 0 "卸载 texlive-varsfromjobname-doc 失败"
|
||||
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-10-04
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package installation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
LOG_INFO "开始测试 texlive-venndiagram-doc 软件包安装功能"
|
||||
|
||||
# 检查软件包是否已在yum源中
|
||||
LOG_INFO "检查 texlive-venndiagram-doc 是否在yum源中"
|
||||
dnf list available texlive-venndiagram-doc &>/dev/null
|
||||
CHECK_RESULT $? 0 255 "texlive-venndiagram-doc 不在yum源中"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查 texlive-venndiagram-doc 是否已安装"
|
||||
if rpm -q texlive-venndiagram-doc &>/dev/null; then
|
||||
LOG_INFO "texlive-venndiagram-doc 已安装,跳过安装步骤"
|
||||
installed=true
|
||||
else
|
||||
installed=false
|
||||
LOG_INFO "texlive-venndiagram-doc 未安装,开始安装"
|
||||
dnf install -y texlive-venndiagram-doc
|
||||
CHECK_RESULT $? 0 1 "安装 texlive-venndiagram-doc 失败"
|
||||
fi
|
||||
|
||||
# 测试软件包功能(假设通过运行某个命令来测试)
|
||||
LOG_INFO "测试 texlive-venndiagram-doc 功能"
|
||||
some_test_command # 替换为实际测试命令
|
||||
CHECK_RESULT $? 0 1 "texlive-venndiagram-doc 功能测试失败"
|
||||
|
||||
# 清理环境:如果之前未安装,则卸载软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "清理环境:卸载 texlive-venndiagram-doc"
|
||||
dnf remove -y texlive-venndiagram-doc
|
||||
CHECK_RESULT $? 0 1 "卸载 texlive-venndiagram-doc 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
Reference in New Issue
Block a user