Merge branch 'pkg' of http://10.30.190.190:54866/redrsoe2100/os-autotest into pkg
This commit is contained in:
@@ -5,30 +5,6 @@
|
||||
{
|
||||
"name": "test_apache-commons-jexl-javadoc_function_install",
|
||||
"desc": "Test package installation"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-commons-jexl-javadoc_function_docgen",
|
||||
"desc": "Test documentation generation"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-commons-jexl-javadoc_function_apiref",
|
||||
"desc": "Test API reference inclusion"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-commons-jexl-javadoc_function_uninstall",
|
||||
"desc": "Test package removal"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-commons-jexl-javadoc_function_verify",
|
||||
"desc": "Verify package is installed"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-commons-jexl-javadoc_function_version",
|
||||
"desc": "Check installed package version"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-commons-jexl-javadoc_function_doc_access",
|
||||
"desc": "Access documentation files"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6,10 +6,6 @@
|
||||
"name": "test_libcmocka_upgrade",
|
||||
"desc": "测试libcmocka软件包的升级功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_libcmocka_function_init",
|
||||
"desc": "测试libcmocka库的初始化功能"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/gnome-doc-utils/gnome-doc-utils-stylesheets",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_gnome-doc-utils-stylesheets_function_style",
|
||||
"desc": "Test stylesheet generation"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -13,18 +13,6 @@
|
||||
{
|
||||
"name": "test_hunspell-es-GQ_function_spell_check",
|
||||
"desc": "测试hunspell-es-GQ拼写检查器能否对西班牙语(赤道几内亚)文本进行基本的拼写检查。"
|
||||
},
|
||||
{
|
||||
"name": "test_hunspell-es-GQ_function_suggest",
|
||||
"desc": "测试hunspell-es-GQ能否为拼写错误的单词提供正确的西班牙语(赤道几内亚)建议。"
|
||||
},
|
||||
{
|
||||
"name": "test_hunspell-es-GQ_function_affix",
|
||||
"desc": "测试hunspell-es-GQ能否正确处理西班牙语(赤道几内亚)的词形变化和词缀。"
|
||||
},
|
||||
{
|
||||
"name": "test_hunspell-es-GQ_function_uninstall",
|
||||
"desc": "测试hunspell-es-GQ软件包能否被完整、干净地卸载。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -13,14 +13,6 @@
|
||||
{
|
||||
"name": "test_libgit2-devel_function_check",
|
||||
"desc": "测试检查libgit2-devel软件包是否已安装的功能,验证系统包管理器或rpm命令能正确报告其安装状态。"
|
||||
},
|
||||
{
|
||||
"name": "test_libgit2-devel_function_header",
|
||||
"desc": "测试libgit2-devel软件包提供的C语言头文件(如git2.h)是否存在于标准系统路径中,供开发使用。"
|
||||
},
|
||||
{
|
||||
"name": "test_libgit2-devel_function_lib",
|
||||
"desc": "测试libgit2-devel软件包提供的共享库文件(如libgit2.so)是否存在于标准库路径中,并可供链接。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,22 +2,6 @@
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/nodejs-json-stringify-safe/nodejs-json-stringify-safe",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_nodejs-json-stringify-safe_function_install",
|
||||
"desc": "测试 nodejs-json-stringify-safe 软件包能够被正确安装"
|
||||
},
|
||||
{
|
||||
"name": "test_nodejs-json-stringify-safe_function_require",
|
||||
"desc": "测试在 Node.js 代码中能够成功引入 stringify 模块"
|
||||
},
|
||||
{
|
||||
"name": "test_nodejs-json-stringify-safe_function_basic",
|
||||
"desc": "测试 stringify 函数对普通对象的基本序列化功能"
|
||||
},
|
||||
{
|
||||
"name": "test_nodejs-json-stringify-safe_function_circular",
|
||||
"desc": "测试 stringify 函数正确处理循环引用对象"
|
||||
},
|
||||
{
|
||||
"name": "test_nodejs-json-stringify-safe_function_uninstall",
|
||||
"desc": "测试 nodejs-json-stringify-safe 软件包能够被正确卸载"
|
||||
|
||||
@@ -6,10 +6,6 @@
|
||||
"name": "test_openpgm-devel_install",
|
||||
"desc": "测试openpgm-devel软件包的安装功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_openpgm-devel_function_linking",
|
||||
"desc": "测试openpgm-devel库的链接功能"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -9,18 +9,6 @@
|
||||
{
|
||||
"name": "test_perl-YAML-LibYAML-help_uninstall",
|
||||
"desc": "测试软件包是否可以通过包管理器正确卸载"
|
||||
},
|
||||
{
|
||||
"name": "test_perl-YAML-LibYAML-help_version",
|
||||
"desc": "测试软件包版本查询功能"
|
||||
},
|
||||
{
|
||||
"name": "test_perl-YAML-LibYAML-help_manpage",
|
||||
"desc": "测试软件包手册页的可用性和内容"
|
||||
},
|
||||
{
|
||||
"name": "test_perl-YAML-LibYAML-help_examples",
|
||||
"desc": "测试软件包提供的示例文档或使用帮助"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6,26 +6,14 @@
|
||||
"name": "test_podmansh_podmansh",
|
||||
"desc": "测试 podmansh 命令的基本功能"
|
||||
},
|
||||
{
|
||||
"name": "test_podmansh_function_run",
|
||||
"desc": "测试 podmansh 运行容器功能"
|
||||
},
|
||||
{
|
||||
"name": "test_podmansh_function_stop",
|
||||
"desc": "测试 podmansh 停止容器功能"
|
||||
},
|
||||
{
|
||||
"name": "test_podmansh_function_list",
|
||||
"desc": "测试 podmansh 列出容器功能"
|
||||
},
|
||||
{
|
||||
"name": "test_podmansh_function_remove",
|
||||
"desc": "测试 podmansh 删除容器功能"
|
||||
},
|
||||
{
|
||||
"name": "test_podmansh_function_exec",
|
||||
"desc": "测试 podmansh 执行命令功能"
|
||||
},
|
||||
{
|
||||
"name": "test_podmansh_function_pull",
|
||||
"desc": "测试 podmansh 拉取镜像功能"
|
||||
@@ -38,65 +26,17 @@
|
||||
"name": "test_podmansh_function_logs",
|
||||
"desc": "测试 podmansh 查看容器日志功能"
|
||||
},
|
||||
{
|
||||
"name": "test_podmansh_function_commit",
|
||||
"desc": "测试 podmansh 提交容器为镜像功能"
|
||||
},
|
||||
{
|
||||
"name": "test_podmansh_function_network",
|
||||
"desc": "测试 podmansh 网络管理功能"
|
||||
},
|
||||
{
|
||||
"name": "test_podmansh_podmansh_upper_v",
|
||||
"desc": "测试带-V参数的podmansh命令是否能正常显示版本信息"
|
||||
},
|
||||
{
|
||||
"name": "test_podmansh_podmansh_upper_h",
|
||||
"desc": "测试带-H参数的podmansh命令是否能正常显示帮助信息"
|
||||
},
|
||||
{
|
||||
"name": "test_podmansh_podmansh_c",
|
||||
"desc": "测试带-c参数的podmansh命令是否能正常执行指定命令"
|
||||
},
|
||||
{
|
||||
"name": "test_podmansh_podmansh_shell",
|
||||
"desc": "测试带shell参数的podmansh命令是否能启动指定shell"
|
||||
},
|
||||
{
|
||||
"name": "test_podmansh_podmansh_name",
|
||||
"desc": "测试带name参数的podmansh命令是否能使用指定名称创建容器"
|
||||
},
|
||||
{
|
||||
"name": "test_podmansh_podmansh_image",
|
||||
"desc": "测试带image参数的podmansh命令是否能基于指定镜像创建容器"
|
||||
},
|
||||
{
|
||||
"name": "test_podmansh_podmansh_c_shell",
|
||||
"desc": "测试同时使用-c和shell参数的podmansh命令是否能执行指定shell的指定命令"
|
||||
},
|
||||
{
|
||||
"name": "test_podmansh_podmansh_name_image",
|
||||
"desc": "测试同时使用name和image参数的podmansh命令是否能使用指定名称和镜像创建容器"
|
||||
},
|
||||
{
|
||||
"name": "test_podmansh_function_install",
|
||||
"desc": "测试 podmansh 软件包安装功能"
|
||||
},
|
||||
{
|
||||
"name": "test_podmansh_function_uninstall",
|
||||
"desc": "测试 podmansh 软件包卸载功能"
|
||||
},
|
||||
{
|
||||
"name": "test_podmansh_function_check_install",
|
||||
"desc": "测试检查 podmansh 是否已安装"
|
||||
},
|
||||
{
|
||||
"name": "test_podmansh_function_version",
|
||||
"desc": "测试 podmansh 版本查询功能"
|
||||
},
|
||||
{
|
||||
"name": "test_podmansh_function_help",
|
||||
"desc": "测试 podmansh 帮助信息功能"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,34 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/python-authheaders/python3-authheaders",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_python3-authheaders_dmarc-policy-find_domain",
|
||||
"desc": "测试仅使用 domain 参数查找 DMARC 策略"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-authheaders_dmarc-policy-find_s_DMARC",
|
||||
"desc": "测试使用 -s DMARC 参数查找 DMARC 策略"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-authheaders_dmarc-policy-find_s_PSD",
|
||||
"desc": "测试使用 -s PSD 参数查找 DMARC 策略"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-authheaders_dmarc-policy-find_s_DMARCbis",
|
||||
"desc": "测试使用 -s DMARCbis 参数查找 DMARC 策略"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-authheaders_dmarc-policy-find_v",
|
||||
"desc": "测试使用 -v 参数获取详细 DMARC 策略信息"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-authheaders_dmarc-policy-find_q",
|
||||
"desc": "测试使用 -q 参数以安静模式查找 DMARC 策略"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-authheaders_function_dmarc_parse",
|
||||
"desc": "测试 DMARC 记录的解析功能"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -5,22 +5,6 @@
|
||||
{
|
||||
"name": "test_texlive-asapsym-doc_function_uninstall",
|
||||
"desc": "Test package uninstallation"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-asapsym-doc_function_install",
|
||||
"desc": "Test package installation"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-asapsym-doc_function_check_installed",
|
||||
"desc": "Test package installation verification"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-asapsym-doc_function_list_files",
|
||||
"desc": "Test listing package documentation files"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-asapsym-doc_function_view_doc",
|
||||
"desc": "Test viewing package documentation content"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -17,14 +17,6 @@
|
||||
{
|
||||
"name": "test_texlive-cases_function_check_installed",
|
||||
"desc": "Verify package is installed"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-cases_function_basic_usage",
|
||||
"desc": "Test basic LaTeX cases environment"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-cases_function_compile_doc",
|
||||
"desc": "Compile a simple LaTeX document using cases"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6,10 +6,6 @@
|
||||
"name": "test_texlive-linegoal-doc_function_install",
|
||||
"desc": "Test package installation"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-linegoal-doc_function_uninstall",
|
||||
"desc": "Test package removal"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-linegoal-doc_function_version",
|
||||
"desc": "Check installed version"
|
||||
@@ -17,10 +13,6 @@
|
||||
{
|
||||
"name": "test_texlive-linegoal-doc_function_doc_exist",
|
||||
"desc": "Verify documentation files"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-linegoal-doc_function_usage_example",
|
||||
"desc": "Test basic LaTeX usage"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-p/texlive-mpattern-doc",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-mpattern-doc_function_docgen",
|
||||
"desc": "Test documentation generation"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6,21 +6,9 @@
|
||||
"name": "test_texlive-nihbiosketch-doc_function_install",
|
||||
"desc": "Test package installation"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-nihbiosketch-doc_function_check_installed",
|
||||
"desc": "Test if package is installed and accessible"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-nihbiosketch-doc_function_verify_docs",
|
||||
"desc": "Test existence of documentation files"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-nihbiosketch-doc_function_list_files",
|
||||
"desc": "Test listing package documentation files"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-nihbiosketch-doc_function_uninstall",
|
||||
"desc": "Test package removal process"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-q/texlive-overlock",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-overlock_function_install",
|
||||
"desc": "Test package installation"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-x/texlive-tkz-tab",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-tkz-tab_function_basic",
|
||||
"desc": "Basic functionality test for texlive-tkz-tab"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-z/texlive-accents",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-accents_function_basic",
|
||||
"desc": "Test basic accent functionality"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,79 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-06
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test API reference inclusion
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装apache-commons-jexl-javadoc软件包
|
||||
LOG_INFO "检查是否已安装apache-commons-jexl-javadoc软件包"
|
||||
if dnf list installed apache-commons-jexl-javadoc &>/dev/null; then
|
||||
LOG_INFO "apache-commons-jexl-javadoc已安装"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "apache-commons-jexl-javadoc未安装"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有该软件包
|
||||
LOG_INFO "检查yum源中是否有apache-commons-jexl-javadoc软件包"
|
||||
if ! dnf list available apache-commons-jexl-javadoc &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到apache-commons-jexl-javadoc软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "开始安装apache-commons-jexl-javadoc软件包"
|
||||
dnf install -y apache-commons-jexl-javadoc
|
||||
CHECK_RESULT $? 0 0 "安装apache-commons-jexl-javadoc失败"
|
||||
LOG_INFO "apache-commons-jexl-javadoc安装成功"
|
||||
fi
|
||||
|
||||
# 测试API reference inclusion
|
||||
LOG_INFO "开始测试API reference inclusion功能"
|
||||
javadoc_output=$(javadoc -d /tmp/jexl_javadoc -sourcepath /usr/share/java -subpackages org.apache.commons.jexl3)
|
||||
CHECK_RESULT $? 0 0 "生成JEXL API reference失败"
|
||||
|
||||
# 检查生成的API reference是否包含预期内容
|
||||
LOG_INFO "检查生成的API reference是否包含预期内容"
|
||||
if grep -q "org.apache.commons.jexl3" /tmp/jexl_javadoc/index.html; then
|
||||
LOG_INFO "API reference包含预期内容"
|
||||
else
|
||||
LOG_ERROR "API reference未包含预期内容"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理临时文件
|
||||
LOG_INFO "清理临时文件"
|
||||
rm -rf /tmp/jexl_javadoc
|
||||
|
||||
# 如果脚本开始时未安装,则在结束时卸载软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载apache-commons-jexl-javadoc软件包"
|
||||
dnf remove -y apache-commons-jexl-javadoc
|
||||
CHECK_RESULT $? 0 0 "卸载apache-commons-jexl-javadoc失败"
|
||||
LOG_INFO "apache-commons-jexl-javadoc卸载成功"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,65 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-06
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test documentation generation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试文档生成功能"
|
||||
|
||||
# 检查是否已安装apache-commons-jexl-javadoc
|
||||
LOG_INFO "检查是否已安装apache-commons-jexl-javadoc"
|
||||
if dnf list installed apache-commons-jexl-javadoc &>/dev/null; then
|
||||
LOG_INFO "apache-commons-jexl-javadoc已安装"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "apache-commons-jexl-javadoc未安装"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有该软件包
|
||||
LOG_INFO "检查yum源中是否有apache-commons-jexl-javadoc"
|
||||
if ! dnf list available apache-commons-jexl-javadoc &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到apache-commons-jexl-javadoc"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则进行安装
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "开始安装apache-commons-jexl-javadoc"
|
||||
dnf install -y apache-commons-jexl-javadoc
|
||||
CHECK_RESULT $? 0 0 "安装apache-commons-jexl-javadoc失败"
|
||||
LOG_INFO "apache-commons-jexl-javadoc安装成功"
|
||||
fi
|
||||
|
||||
# 测试文档生成功能
|
||||
LOG_INFO "测试文档生成功能"
|
||||
javadoc -d /tmp/jexl-docs -sourcepath /usr/share/java apache.commons.jexl3 &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "文档生成失败"
|
||||
|
||||
# 清理环境:如果脚本开始时未安装,则卸载软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载apache-commons-jexl-javadoc"
|
||||
dnf remove -y apache-commons-jexl-javadoc
|
||||
CHECK_RESULT $? 0 0 "卸载apache-commons-jexl-javadoc失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试文档生成功能完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,92 +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-28
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Verify package is installed
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义日志函数(根据需求直接使用,无需重新定义,此处仅为占位符)
|
||||
LOG_INFO() {
|
||||
echo "INFO: $*"
|
||||
}
|
||||
LOG_ERROR() {
|
||||
echo "ERROR: $*"
|
||||
}
|
||||
|
||||
# 定义检查结果函数(根据需求直接使用,无需重新定义,此处仅为占位符)
|
||||
CHECK_RESULT() {
|
||||
if [ $1 -eq $2 ]; then
|
||||
LOG_INFO "检查通过: $4"
|
||||
else
|
||||
LOG_ERROR "检查失败: $4"
|
||||
exit $3
|
||||
fi
|
||||
}
|
||||
|
||||
# 定义SSH_CMD函数(根据需求直接使用,无需重新定义,此处仅为占位符)
|
||||
SSH_CMD() {
|
||||
sshpass -p $3 ssh -o StrictHostKeyChecking=no $4@$2 "$1"
|
||||
}
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="apache-commons-jexl-javadoc"
|
||||
|
||||
# 步骤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
|
||||
|
||||
# 步骤2: 检查当前环境是否已安装该软件包
|
||||
LOG_INFO "步骤2: 检查当前环境是否已安装软件包 $PACKAGE_NAME"
|
||||
if rpm -q $PACKAGE_NAME &>/dev/null; then
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 未安装,将在测试步骤中安装"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
# 步骤3: 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "步骤3: 安装软件包 $PACKAGE_NAME"
|
||||
dnf install -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
|
||||
fi
|
||||
|
||||
# 步骤4: 验证软件包是否安装成功
|
||||
LOG_INFO "步骤4: 验证软件包 $PACKAGE_NAME 是否安装成功"
|
||||
rpm -q $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "验证软件包 $PACKAGE_NAME 安装失败"
|
||||
|
||||
# 步骤5: 清理环境,如果之前未安装,则卸载软件包
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "步骤5: 卸载软件包 $PACKAGE_NAME"
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
|
||||
LOG_INFO "环境已恢复到未安装状态"
|
||||
else
|
||||
LOG_INFO "步骤5: 保持软件包 $PACKAGE_NAME 的安装状态"
|
||||
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 : 2026-03-28
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Check installed package version
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:检查已安装软件包的版本"
|
||||
LOG_INFO "步骤1:检查yum源中是否存在apache-commons-jexl-javadoc软件包"
|
||||
if ! dnf list available apache-commons-jexl-javadoc &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到apache-commons-jexl-javadoc软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查当前是否已安装apache-commons-jexl-javadoc软件包"
|
||||
if rpm -q apache-commons-jexl-javadoc &>/dev/null; then
|
||||
LOG_INFO "软件包已安装,标记为保持安装状态"
|
||||
KEEP_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "软件包未安装,将进行安装"
|
||||
KEEP_INSTALLED=0
|
||||
LOG_INFO "步骤3:安装apache-commons-jexl-javadoc软件包"
|
||||
dnf install -y apache-commons-jexl-javadoc
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:检查软件包版本"
|
||||
VERSION_OUTPUT=$(rpm -q apache-commons-jexl-javadoc --queryformat "%{VERSION}-%{RELEASE}\n")
|
||||
CHECK_RESULT $? 0 0 "查询软件包版本失败"
|
||||
LOG_INFO "软件包版本为:$VERSION_OUTPUT"
|
||||
|
||||
if [ "$KEEP_INSTALLED" -eq 0 ]; then
|
||||
LOG_INFO "步骤5:卸载之前安装的软件包"
|
||||
dnf remove -y apache-commons-jexl-javadoc
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
LOG_INFO "已恢复环境,软件包已卸载"
|
||||
else
|
||||
LOG_INFO "步骤5:保持软件包安装状态,无需卸载"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:软件包版本检查成功"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,94 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-03
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试libcmocka库的初始化功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试libcmocka库的初始化功能"
|
||||
|
||||
# 检查是否已安装libcmocka
|
||||
LOG_INFO "检查是否已安装libcmocka"
|
||||
dnf list installed libcmocka &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "libcmocka已安装,测试结束后保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "libcmocka未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有libcmocka
|
||||
LOG_INFO "检查yum源中是否有libcmocka"
|
||||
dnf search libcmocka &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到libcmocka软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装libcmocka
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装libcmocka"
|
||||
dnf install -y libcmocka &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "安装libcmocka失败"
|
||||
LOG_INFO "libcmocka安装成功"
|
||||
fi
|
||||
|
||||
# 测试libcmocka初始化功能
|
||||
LOG_INFO "测试libcmocka初始化功能"
|
||||
test_program=$(mktemp)
|
||||
cat <<EOF > "$test_program"
|
||||
#include <stdarg.h>
|
||||
#include <stddef.h>
|
||||
#include <setjmp.h>
|
||||
#include <cmocka.h>
|
||||
|
||||
static void test_init(void **state) {
|
||||
(void) state; // unused
|
||||
assert_true(1);
|
||||
}
|
||||
|
||||
int main(void) {
|
||||
const struct CMUnitTest tests[] = {
|
||||
cmocka_unit_test(test_init),
|
||||
};
|
||||
return cmocka_run_group_tests(tests, NULL, NULL);
|
||||
}
|
||||
EOF
|
||||
|
||||
gcc "$test_program" -lcmocka -o "${test_program}.out" &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "编译测试程序失败"
|
||||
|
||||
"${test_program}.out" &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "执行测试程序失败"
|
||||
LOG_INFO "libcmocka初始化功能测试通过"
|
||||
|
||||
# 清理临时文件
|
||||
rm -f "$test_program" "${test_program}.out"
|
||||
|
||||
# 如果之前未安装,则卸载libcmocka
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载libcmocka"
|
||||
dnf remove -y libcmocka &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "卸载libcmocka失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,70 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-08
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test stylesheet generation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test stylesheet generation"
|
||||
|
||||
# 检查是否已安装 gnome-doc-utils-stylesheets
|
||||
LOG_INFO "检查是否已安装 gnome-doc-utils-stylesheets"
|
||||
if rpm -q gnome-doc-utils-stylesheets > /dev/null 2>&1; then
|
||||
LOG_INFO "gnome-doc-utils-stylesheets 已安装"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "gnome-doc-utils-stylesheets 未安装"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有 gnome-doc-utils-stylesheets
|
||||
LOG_INFO "检查 yum 源中是否有 gnome-doc-utils-stylesheets"
|
||||
if ! dnf list available gnome-doc-utils-stylesheets > /dev/null 2>&1; then
|
||||
LOG_ERROR "yum 源中未找到 gnome-doc-utils-stylesheets"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装 gnome-doc-utils-stylesheets"
|
||||
dnf install -y gnome-doc-utils-stylesheets
|
||||
CHECK_RESULT $? 0 0 "安装失败"
|
||||
fi
|
||||
|
||||
# 测试 stylesheet generation
|
||||
LOG_INFO "测试 stylesheet generation"
|
||||
if ! command -v xmlto > /dev/null 2>&1; then
|
||||
LOG_ERROR "xmlto 命令不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行测试命令并检查结果
|
||||
xmlto --version
|
||||
CHECK_RESULT $? 0 0 "xmlto 命令执行失败"
|
||||
|
||||
# 清理环境:如果之前未安装,则卸载软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载 gnome-doc-utils-stylesheets"
|
||||
dnf remove -y gnome-doc-utils-stylesheets
|
||||
CHECK_RESULT $? 0 0 "卸载失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,72 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-16
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试hunspell-es-GQ能否正确处理西班牙语(赤道几内亚)的词形变化和词缀。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试hunspell-es-GQ软件包功能:测试西班牙语(赤道几内亚)的词形变化和词缀处理"
|
||||
|
||||
LOG_INFO "步骤1:检查hunspell-es-GQ软件包是否在yum源中"
|
||||
if ! dnf list available hunspell-es-GQ &>/dev/null; then
|
||||
LOG_ERROR "hunspell-es-GQ软件包在yum源中不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查系统是否已安装hunspell-es-GQ"
|
||||
if rpm -q hunspell-es-GQ &>/dev/null; then
|
||||
LOG_INFO "hunspell-es-GQ已安装,标记为无需清理"
|
||||
NEED_CLEANUP=0
|
||||
else
|
||||
LOG_INFO "hunspell-es-GQ未安装,标记为需要清理"
|
||||
NEED_CLEANUP=1
|
||||
fi
|
||||
|
||||
if [ $NEED_CLEANUP -eq 1 ]; then
|
||||
LOG_INFO "步骤3:安装hunspell-es-GQ软件包"
|
||||
dnf install -y hunspell-es-GQ
|
||||
CHECK_RESULT $? 0 0 "安装hunspell-es-GQ失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:验证hunspell命令是否支持西班牙语(赤道几内亚)词缀处理"
|
||||
hunspell -d es_GQ -l <<< "prueba" > /tmp/hunspell_test_output.txt 2>&1
|
||||
CHECK_RESULT $? 0 0 "hunspell命令执行失败或参数不支持"
|
||||
|
||||
LOG_INFO "步骤5:检查hunspell输出是否正确处理词形变化"
|
||||
if grep -q "prueba" /tmp/hunspell_test_output.txt; then
|
||||
LOG_INFO "hunspell正确处理了西班牙语(赤道几内亚)的词形变化"
|
||||
else
|
||||
LOG_ERROR "hunspell未能正确处理西班牙语(赤道几内亚)的词形变化"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤6:清理临时文件"
|
||||
rm -f /tmp/hunspell_test_output.txt
|
||||
|
||||
if [ $NEED_CLEANUP -eq 1 ]; then
|
||||
LOG_INFO "步骤7:卸载hunspell-es-GQ软件包"
|
||||
dnf remove -y hunspell-es-GQ
|
||||
CHECK_RESULT $? 0 0 "卸载hunspell-es-GQ失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:hunspell-es-GQ能够正确处理西班牙语(赤道几内亚)的词形变化和词缀"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,103 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-16
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试hunspell-es-GQ能否为拼写错误的单词提供正确的西班牙语(赤道几内亚)建议。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查hunspell-es-GQ软件包是否可用
|
||||
LOG_INFO "检查hunspell-es-GQ软件包是否在yum源中"
|
||||
dnf list available hunspell-es-GQ 2>&1 | grep -q "hunspell-es-GQ"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "hunspell-es-GQ软件包不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装hunspell-es-GQ
|
||||
LOG_INFO "检查hunspell-es-GQ是否已安装"
|
||||
rpm -q hunspell-es-GQ > /dev/null 2>&1
|
||||
installed=$?
|
||||
|
||||
if [ $installed -ne 0 ]; then
|
||||
LOG_INFO "hunspell-es-GQ未安装,开始安装"
|
||||
dnf install -y hunspell-es-GQ
|
||||
CHECK_RESULT $? 0 0 "安装hunspell-es-GQ失败"
|
||||
need_cleanup=1
|
||||
else
|
||||
LOG_INFO "hunspell-es-GQ已安装,保持安装状态"
|
||||
need_cleanup=0
|
||||
fi
|
||||
|
||||
# 测试hunspell-es-GQ能否为拼写错误的单词提供正确的西班牙语(赤道几内亚)建议
|
||||
LOG_INFO "测试hunspell-es-GQ的拼写建议功能"
|
||||
|
||||
# 创建一个测试文件,包含拼写错误的西班牙语单词
|
||||
LOG_INFO "创建测试文件"
|
||||
cat > test_spell.txt << EOF
|
||||
hola
|
||||
amigo
|
||||
biblioteca
|
||||
casa
|
||||
escuela
|
||||
EOF
|
||||
|
||||
# 使用hunspell-es-GQ检查拼写
|
||||
LOG_INFO "使用hunspell-es-GQ检查拼写"
|
||||
hunspell -d es_GQ -l test_spell.txt > misspelled_words.txt
|
||||
CHECK_RESULT $? 0 0 "hunspell命令执行失败"
|
||||
|
||||
# 检查是否有拼写错误
|
||||
LOG_INFO "检查拼写错误"
|
||||
if [ -s misspelled_words.txt ]; then
|
||||
LOG_INFO "发现拼写错误,测试拼写建议功能"
|
||||
|
||||
# 测试对拼写错误的单词提供建议
|
||||
LOG_INFO "测试对"hola"拼写错误的建议"
|
||||
echo "hola" > test_word.txt
|
||||
hunspell -d es_GQ -a test_word.txt 2>&1 | grep -q "^&"
|
||||
CHECK_RESULT $? 0 0 "hunspell未为拼写错误的单词提供建议"
|
||||
|
||||
# 测试具体的拼写建议
|
||||
LOG_INFO "测试具体的拼写建议"
|
||||
echo "hola" > test_word.txt
|
||||
suggestions=$(hunspell -d es_GQ -a test_word.txt 2>&1 | grep "^&" | head -1)
|
||||
if [ -n "$suggestions" ]; then
|
||||
LOG_INFO "拼写建议功能正常:$suggestions"
|
||||
else
|
||||
LOG_ERROR "未获取到拼写建议"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
LOG_INFO "所有单词拼写正确,测试通过"
|
||||
fi
|
||||
|
||||
# 清理临时文件
|
||||
LOG_INFO "清理临时文件"
|
||||
rm -f test_spell.txt test_word.txt misspelled_words.txt
|
||||
|
||||
# 如果测试前未安装,则卸载软件包
|
||||
if [ $need_cleanup -eq 1 ]; then
|
||||
LOG_INFO "卸载hunspell-es-GQ软件包"
|
||||
dnf remove -y hunspell-es-GQ
|
||||
CHECK_RESULT $? 0 0 "卸载hunspell-es-GQ失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,83 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-16
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试hunspell-es-GQ软件包能否被完整、干净地卸载。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
PACKAGE_NAME="hunspell-es-GQ"
|
||||
LOG_INFO "开始测试hunspell-es-GQ软件包的卸载功能"
|
||||
|
||||
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 "步骤2: 检查当前环境是否已安装该软件包"
|
||||
rpm -q ${PACKAGE_NAME} &>/dev/null
|
||||
INSTALLED=$?
|
||||
|
||||
if [ ${INSTALLED} -eq 0 ]; then
|
||||
LOG_INFO "软件包 ${PACKAGE_NAME} 已安装,将进行卸载测试"
|
||||
else
|
||||
LOG_INFO "软件包 ${PACKAGE_NAME} 未安装,将先安装再进行卸载测试"
|
||||
LOG_INFO "步骤3: 安装软件包 ${PACKAGE_NAME}"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4: 验证软件包文件是否完整"
|
||||
rpm -V ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "软件包文件不完整"
|
||||
|
||||
LOG_INFO "步骤5: 测试软件包基本功能"
|
||||
hunspell -d es_GQ --help &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "hunspell命令不支持es_GQ参数"
|
||||
|
||||
LOG_INFO "步骤6: 卸载软件包"
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
|
||||
LOG_INFO "步骤7: 验证软件包是否完全卸载"
|
||||
rpm -q ${PACKAGE_NAME} &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "软件包卸载不彻底"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤8: 检查相关文件是否残留"
|
||||
find /usr -name "*hunspell*es*GQ*" 2>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "发现残留文件"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ${INSTALLED} -eq 0 ]; then
|
||||
LOG_INFO "步骤9: 恢复原始安装状态"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "重新安装软件包失败"
|
||||
else
|
||||
LOG_INFO "步骤9: 环境已恢复到未安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:hunspell-es-GQ软件包能够被完整、干净地卸载"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,94 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-03
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试libgit2-devel软件包提供的C语言头文件(如git2.h)是否存在于标准系统路径中,供开发使用。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试libgit2-devel软件包提供的C语言头文件是否存在于标准系统路径中"
|
||||
|
||||
LOG_INFO "检查libgit2-devel软件包是否已安装"
|
||||
if rpm -q libgit2-devel > /dev/null 2>&1; then
|
||||
LOG_INFO "libgit2-devel软件包已安装,测试完成后将保持安装状态"
|
||||
already_installed=1
|
||||
else
|
||||
LOG_INFO "libgit2-devel软件包未安装,将在测试过程中安装"
|
||||
already_installed=0
|
||||
fi
|
||||
|
||||
LOG_INFO "检查yum源中是否存在libgit2-devel软件包"
|
||||
if ! dnf list available libgit2-devel > /dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中未找到libgit2-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ ${already_installed} -eq 0 ]; then
|
||||
LOG_INFO "安装libgit2-devel软件包"
|
||||
dnf install -y libgit2-devel
|
||||
CHECK_RESULT $? 0 0 "安装libgit2-devel软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "检查libgit2-devel提供的头文件是否存在于标准系统路径"
|
||||
header_files=$(rpm -ql libgit2-devel | grep -E "\.h$")
|
||||
if [ -z "${header_files}" ]; then
|
||||
LOG_ERROR "未找到libgit2-devel软件包提供的头文件"
|
||||
CHECK_RESULT 1 0 0 "libgit2-devel软件包未提供C语言头文件"
|
||||
fi
|
||||
|
||||
LOG_INFO "检查主要头文件git2.h是否存在"
|
||||
if ! echo "${header_files}" | grep -q "git2\.h$"; then
|
||||
LOG_ERROR "未找到git2.h头文件"
|
||||
CHECK_RESULT 1 0 0 "git2.h头文件不存在"
|
||||
fi
|
||||
|
||||
LOG_INFO "验证头文件是否在标准系统路径中"
|
||||
for header in ${header_files}; do
|
||||
if [ ! -f "${header}" ]; then
|
||||
LOG_ERROR "头文件 ${header} 不存在"
|
||||
CHECK_RESULT 1 0 0 "头文件 ${header} 不存在于文件系统中"
|
||||
fi
|
||||
LOG_INFO "头文件 ${header} 存在"
|
||||
done
|
||||
|
||||
LOG_INFO "测试编译一个简单的C程序验证头文件可用性"
|
||||
cat > test_libgit2.c << "EOF"
|
||||
#include <git2.h>
|
||||
int main() {
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
|
||||
gcc -c test_libgit2.c -o test_libgit2.o
|
||||
CHECK_RESULT $? 0 0 "编译测试程序失败,头文件不可用"
|
||||
LOG_INFO "编译测试程序成功,头文件可用"
|
||||
|
||||
rm -f test_libgit2.c test_libgit2.o
|
||||
|
||||
if [ ${already_installed} -eq 0 ]; then
|
||||
LOG_INFO "清理环境:卸载libgit2-devel软件包"
|
||||
dnf remove -y libgit2-devel
|
||||
CHECK_RESULT $? 0 0 "卸载libgit2-devel软件包失败"
|
||||
LOG_INFO "libgit2-devel软件包已卸载"
|
||||
else
|
||||
LOG_INFO "测试完成,保持libgit2-devel软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:libgit2-devel软件包提供的C语言头文件存在于标准系统路径中,可供开发使用"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,97 +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-03
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试libgit2-devel软件包提供的共享库文件(如libgit2.so)是否存在于标准库路径中,并可供链接。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试libgit2-devel软件包提供的共享库文件是否存在于标准库路径中,并可供链接。"
|
||||
|
||||
# 检查是否已经安装了libgit2-devel软件包
|
||||
LOG_INFO "检查是否已经安装了libgit2-devel软件包"
|
||||
if dnf list installed libgit2-devel &> /dev/null; then
|
||||
LOG_INFO "libgit2-devel软件包已经安装"
|
||||
already_installed=1
|
||||
else
|
||||
LOG_INFO "libgit2-devel软件包未安装"
|
||||
already_installed=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有libgit2-devel软件包
|
||||
LOG_INFO "检查yum源中是否有libgit2-devel软件包"
|
||||
if dnf list available libgit2-devel &> /dev/null; then
|
||||
LOG_INFO "yum源中存在libgit2-devel软件包"
|
||||
else
|
||||
LOG_ERROR "yum源中不存在libgit2-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装libgit2-devel软件包
|
||||
if [ $already_installed -eq 0 ]; then
|
||||
LOG_INFO "安装libgit2-devel软件包"
|
||||
dnf install -y libgit2-devel
|
||||
CHECK_RESULT $? 0 0 "安装libgit2-devel软件包失败"
|
||||
LOG_INFO "安装libgit2-devel软件包成功"
|
||||
fi
|
||||
|
||||
# 检查共享库文件是否存在于标准库路径中
|
||||
LOG_INFO "检查共享库文件是否存在于标准库路径中"
|
||||
if ldconfig -p | grep libgit2.so &> /dev/null; then
|
||||
LOG_INFO "共享库文件libgit2.so存在于标准库路径中"
|
||||
else
|
||||
LOG_ERROR "共享库文件libgit2.so不存在于标准库路径中"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 测试共享库文件是否可供链接
|
||||
LOG_INFO "测试共享库文件是否可供链接"
|
||||
cat > test_libgit2.c << "EOF"
|
||||
#include <git2.h>
|
||||
int main() {
|
||||
git_libgit2_init();
|
||||
git_libgit2_shutdown();
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
|
||||
gcc -o test_libgit2 test_libgit2.c -lgit2
|
||||
CHECK_RESULT $? 0 0 "链接libgit2共享库失败"
|
||||
LOG_INFO "链接libgit2共享库成功"
|
||||
|
||||
# 运行测试程序
|
||||
LOG_INFO "运行测试程序"
|
||||
./test_libgit2
|
||||
CHECK_RESULT $? 0 0 "运行测试程序失败"
|
||||
LOG_INFO "运行测试程序成功"
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f test_libgit2.c test_libgit2
|
||||
|
||||
# 如果之前未安装,则卸载libgit2-devel软件包
|
||||
if [ $already_installed -eq 0 ]; then
|
||||
LOG_INFO "卸载libgit2-devel软件包"
|
||||
dnf remove -y libgit2-devel
|
||||
CHECK_RESULT $? 0 0 "卸载libgit2-devel软件包失败"
|
||||
LOG_INFO "卸载libgit2-devel软件包成功"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,166 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-04-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 stringify 函数对普通对象的基本序列化功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试 stringify 函数对普通对象的基本序列化功能
|
||||
|
||||
LOG_INFO "开始测试 stringify 函数对普通对象的基本序列化功能"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="nodejs-json-stringify-safe"
|
||||
|
||||
# 检查软件包是否已在系统中安装
|
||||
LOG_INFO "步骤1:检查软件包是否已安装"
|
||||
if dnf list installed "$PACKAGE_NAME" &>/dev/null; then
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 已安装,测试完成后将保持安装状态"
|
||||
PACKAGE_INSTALLED=true
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 未安装,将在测试前安装并在测试后卸载"
|
||||
PACKAGE_INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有该软件包
|
||||
LOG_INFO "步骤2:检查yum源中是否有 $PACKAGE_NAME 软件包"
|
||||
if ! dnf list available "$PACKAGE_NAME" &>/dev/null; then
|
||||
LOG_ERROR "yum源中没有找到 $PACKAGE_NAME 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$PACKAGE_INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤3:安装 $PACKAGE_NAME 软件包"
|
||||
dnf install -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "安装 $PACKAGE_NAME 软件包失败"
|
||||
fi
|
||||
|
||||
# 创建测试脚本
|
||||
LOG_INFO "步骤4:创建测试脚本以测试 stringify 函数的基本序列化功能"
|
||||
cat > test_stringify_basic.js << "EOF"
|
||||
const stringify = require("json-stringify-safe");
|
||||
|
||||
// 测试用例1:普通对象序列化
|
||||
const obj1 = {
|
||||
name: "测试",
|
||||
value: 123,
|
||||
flag: true,
|
||||
nested: {
|
||||
inner: "内部值"
|
||||
}
|
||||
};
|
||||
|
||||
try {
|
||||
const result1 = stringify(obj1);
|
||||
console.log("测试1 - 普通对象序列化结果:", result1);
|
||||
|
||||
// 验证序列化结果是否有效JSON
|
||||
const parsed1 = JSON.parse(result1);
|
||||
if (parsed1.name === obj1.name &&
|
||||
parsed1.value === obj1.value &&
|
||||
parsed1.flag === obj1.flag &&
|
||||
parsed1.nested.inner === obj1.nested.inner) {
|
||||
console.log("测试1 - 通过: 对象正确序列化和反序列化");
|
||||
} else {
|
||||
console.log("测试1 - 失败: 序列化结果不匹配");
|
||||
process.exit(1);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("测试1 - 失败:", error.message);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
// 测试用例2:包含特殊字符的对象
|
||||
const obj2 = {
|
||||
"特殊键": "特殊值",
|
||||
"key with spaces": "value with spaces",
|
||||
"empty": "",
|
||||
"nullValue": null
|
||||
};
|
||||
|
||||
try {
|
||||
const result2 = stringify(obj2);
|
||||
console.log("测试2 - 特殊字符对象序列化结果:", result2);
|
||||
|
||||
const parsed2 = JSON.parse(result2);
|
||||
if (parsed2["特殊键"] === obj2["特殊键"] &&
|
||||
parsed2["key with spaces"] === obj2["key with spaces"] &&
|
||||
parsed2["empty"] === obj2["empty"] &&
|
||||
parsed2["nullValue"] === obj2["nullValue"]) {
|
||||
console.log("测试2 - 通过: 特殊字符对象正确序列化");
|
||||
} else {
|
||||
console.log("测试2 - 失败: 特殊字符序列化结果不匹配");
|
||||
process.exit(1);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("测试2 - 失败:", error.message);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
// 测试用例3:数组对象序列化
|
||||
const obj3 = {
|
||||
array: [1, 2, 3, "字符串", true, null],
|
||||
mixed: [{"a": 1}, [2, 3]]
|
||||
};
|
||||
|
||||
try {
|
||||
const result3 = stringify(obj3);
|
||||
console.log("测试3 - 数组对象序列化结果:", result3);
|
||||
|
||||
const parsed3 = JSON.parse(result3);
|
||||
if (JSON.stringify(parsed3.array) === JSON.stringify(obj3.array) &&
|
||||
JSON.stringify(parsed3.mixed) === JSON.stringify(obj3.mixed)) {
|
||||
console.log("测试3 - 通过: 数组对象正确序列化");
|
||||
} else {
|
||||
console.log("测试3 - 失败: 数组序列化结果不匹配");
|
||||
process.exit(1);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("测试3 - 失败:", error.message);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
console.log("所有测试用例通过!");
|
||||
EOF
|
||||
|
||||
CHECK_RESULT $? 0 0 "创建测试脚本失败"
|
||||
|
||||
# 执行测试
|
||||
LOG_INFO "步骤5:执行测试脚本"
|
||||
node test_stringify_basic.js
|
||||
CHECK_RESULT $? 0 0 "stringify 函数基本序列化功能测试失败"
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "步骤6:清理测试文件"
|
||||
rm -f test_stringify_basic.js
|
||||
CHECK_RESULT $? 0 0 "清理测试文件失败"
|
||||
|
||||
# 如果测试前未安装软件包,则卸载
|
||||
if [ "$PACKAGE_INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤7:卸载 $PACKAGE_NAME 软件包"
|
||||
dnf remove -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "卸载 $PACKAGE_NAME 软件包失败"
|
||||
else
|
||||
LOG_INFO "步骤7:保持 $PACKAGE_NAME 软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:stringify 函数对普通对象的基本序列化功能测试通过"
|
||||
}
|
||||
|
||||
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-04-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 stringify 函数正确处理循环引用对象
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 stringify 函数正确处理循环引用对象"
|
||||
LOG_INFO "检查环境是否已安装 nodejs-json-stringify-safe 软件包"
|
||||
if dnf list installed nodejs-json-stringify-safe &>/dev/null; then
|
||||
LOG_INFO "环境已安装 nodejs-json-stringify-safe,脚本结束后将保持安装状态"
|
||||
ALREADY_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "环境未安装 nodejs-json-stringify-safe,将在测试过程中安装"
|
||||
ALREADY_INSTALLED=0
|
||||
fi
|
||||
LOG_INFO "检查 yum 源中是否存在 nodejs-json-stringify-safe 软件包"
|
||||
if ! dnf list available nodejs-json-stringify-safe &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 nodejs-json-stringify-safe 软件包"
|
||||
exit 255
|
||||
fi
|
||||
if [[ ${ALREADY_INSTALLED} -eq 0 ]]; then
|
||||
LOG_INFO "安装 nodejs-json-stringify-safe 软件包"
|
||||
dnf install -y nodejs-json-stringify-safe
|
||||
CHECK_RESULT $? 0 0 "安装 nodejs-json-stringify-safe 失败"
|
||||
fi
|
||||
LOG_INFO "创建测试脚本 test_circular.js"
|
||||
cat > /tmp/test_circular.js << "EOF"
|
||||
const stringify = require("json-stringify-safe");
|
||||
let obj = {};
|
||||
obj.circularRef = obj;
|
||||
let result = stringify(obj);
|
||||
console.log(result);
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "创建测试脚本失败"
|
||||
LOG_INFO "执行测试脚本验证 stringify 处理循环引用"
|
||||
node /tmp/test_circular.js > /tmp/test_output.txt 2>&1
|
||||
CHECK_RESULT $? 0 0 "执行测试脚本失败"
|
||||
LOG_INFO "检查输出是否包含循环引用标记"
|
||||
grep -q ""circularRef":"[Circular]"" /tmp/test_output.txt
|
||||
CHECK_RESULT $? 0 0 "输出未正确显示循环引用标记"
|
||||
LOG_INFO "清理临时测试文件"
|
||||
rm -f /tmp/test_circular.js /tmp/test_output.txt
|
||||
CHECK_RESULT $? 0 0 "清理临时文件失败"
|
||||
if [[ ${ALREADY_INSTALLED} -eq 0 ]]; then
|
||||
LOG_INFO "卸载 nodejs-json-stringify-safe 软件包"
|
||||
dnf remove -y nodejs-json-stringify-safe
|
||||
CHECK_RESULT $? 0 0 "卸载 nodejs-json-stringify-safe 失败"
|
||||
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-04-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 nodejs-json-stringify-safe 软件包能够被正确安装
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已经安装nodejs-json-stringify-safe
|
||||
LOG_INFO "检查nodejs-json-stringify-safe是否已经安装"
|
||||
rpm -q nodejs-json-stringify-safe
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "nodejs-json-stringify-safe已经安装,测试后将保持安装状态"
|
||||
ALREADY_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "nodejs-json-stringify-safe未安装,将在测试中安装"
|
||||
ALREADY_INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有nodejs-json-stringify-safe软件包
|
||||
LOG_INFO "检查yum源中是否存在nodejs-json-stringify-safe软件包"
|
||||
dnf list available nodejs-json-stringify-safe
|
||||
CHECK_RESULT $? 0 0 "yum源中未找到nodejs-json-stringify-safe软件包"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在nodejs-json-stringify-safe软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装nodejs-json-stringify-safe软件包"
|
||||
dnf install -y nodejs-json-stringify-safe
|
||||
CHECK_RESULT $? 0 0 "安装nodejs-json-stringify-safe软件包失败"
|
||||
fi
|
||||
|
||||
# 验证软件包是否正确安装
|
||||
LOG_INFO "验证nodejs-json-stringify-safe软件包是否正确安装"
|
||||
rpm -q nodejs-json-stringify-safe
|
||||
CHECK_RESULT $? 0 0 "nodejs-json-stringify-safe软件包未正确安装"
|
||||
|
||||
# 测试软件包基本功能
|
||||
LOG_INFO "测试nodejs-json-stringify-safe基本功能"
|
||||
node -e "var stringify = require("json-stringify-safe"); console.log(stringify({a: 1, b: function() {}}))" 2>&1 | grep -q "^{"a":1}"
|
||||
CHECK_RESULT $? 0 0 "nodejs-json-stringify-safe基本功能测试失败"
|
||||
|
||||
# 环境恢复:如果测试前未安装,则卸载软件包
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载nodejs-json-stringify-safe软件包"
|
||||
dnf remove -y nodejs-json-stringify-safe
|
||||
CHECK_RESULT $? 0 0 "卸载nodejs-json-stringify-safe软件包失败"
|
||||
LOG_INFO "环境已恢复,nodejs-json-stringify-safe软件包已卸载"
|
||||
else
|
||||
LOG_INFO "环境已恢复,保持nodejs-json-stringify-safe软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:nodejs-json-stringify-safe软件包能够被正确安装"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,114 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-04-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试在 Node.js 代码中能够成功引入 stringify 模块
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 判断是否已安装nodejs
|
||||
LOG_INFO "检查nodejs是否已安装"
|
||||
if command -v node &> /dev/null; then
|
||||
LOG_INFO "nodejs已安装,脚本结束后将保持安装状态"
|
||||
NODEJS_INSTALLED=true
|
||||
else
|
||||
LOG_INFO "nodejs未安装,将在测试过程中安装"
|
||||
NODEJS_INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有nodejs软件包
|
||||
LOG_INFO "检查yum源中是否有nodejs软件包"
|
||||
if ! dnf list available nodejs &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到nodejs软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装nodejs,则安装
|
||||
if [ "$NODEJS_INSTALLED" = false ]; then
|
||||
LOG_INFO "安装nodejs"
|
||||
dnf install -y nodejs
|
||||
CHECK_RESULT $? 0 0 "安装nodejs失败"
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有npm软件包
|
||||
LOG_INFO "检查yum源中是否有npm软件包"
|
||||
if ! dnf list available npm &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到npm软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装npm,则安装
|
||||
if ! command -v npm &> /dev/null; then
|
||||
LOG_INFO "安装npm"
|
||||
dnf install -y npm
|
||||
CHECK_RESULT $? 0 0 "安装npm失败"
|
||||
fi
|
||||
|
||||
# 创建一个临时目录用于测试
|
||||
LOG_INFO "创建临时测试目录"
|
||||
TEST_DIR=$(mktemp -d)
|
||||
cd "$TEST_DIR"
|
||||
CHECK_RESULT $? 0 0 "创建临时目录失败"
|
||||
|
||||
# 初始化npm项目
|
||||
LOG_INFO "初始化npm项目"
|
||||
npm init -y
|
||||
CHECK_RESULT $? 0 0 "初始化npm项目失败"
|
||||
|
||||
# 安装json-stringify-safe模块
|
||||
LOG_INFO "安装json-stringify-safe模块"
|
||||
npm install json-stringify-safe
|
||||
CHECK_RESULT $? 0 0 "安装json-stringify-safe模块失败"
|
||||
|
||||
# 创建测试Node.js代码
|
||||
LOG_INFO "创建Node.js测试代码"
|
||||
cat > test_stringify.js << "EOF"
|
||||
const stringify = require("json-stringify-safe");
|
||||
const obj = { a: 1, b: { c: 2 } };
|
||||
const result = stringify(obj);
|
||||
console.log(result);
|
||||
if (result && result.includes(""a":1")) {
|
||||
console.log("SUCCESS: json-stringify-safe模块引入成功");
|
||||
process.exit(0);
|
||||
} else {
|
||||
console.error("FAIL: json-stringify-safe模块引入失败");
|
||||
process.exit(1);
|
||||
}
|
||||
EOF
|
||||
|
||||
# 执行测试代码
|
||||
LOG_INFO "执行Node.js测试代码"
|
||||
node test_stringify.js
|
||||
CHECK_RESULT $? 0 0 "Node.js代码中引入json-stringify-safe模块失败"
|
||||
|
||||
# 清理临时目录
|
||||
LOG_INFO "清理临时测试目录"
|
||||
cd /
|
||||
rm -rf "$TEST_DIR"
|
||||
CHECK_RESULT $? 0 0 "清理临时目录失败"
|
||||
|
||||
# 如果测试前未安装nodejs,则卸载安装的软件包
|
||||
if [ "$NODEJS_INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载nodejs和npm"
|
||||
dnf remove -y nodejs npm
|
||||
CHECK_RESULT $? 0 0 "卸载nodejs和npm失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Node.js代码中成功引入json-stringify-safe模块"
|
||||
}
|
||||
|
||||
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 : 2025-12-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试openpgm-devel库的链接功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试openpgm-devel库的链接功能
|
||||
|
||||
LOG_INFO "开始测试openpgm-devel库的链接功能"
|
||||
|
||||
# 检查yum源中是否存在openpgm-devel软件包
|
||||
LOG_INFO "检查yum源中是否存在openpgm-devel软件包"
|
||||
dnf list available openpgm-devel > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到openpgm-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装openpgm-devel
|
||||
LOG_INFO "检查是否已安装openpgm-devel"
|
||||
rpm -q openpgm-devel > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
installed=true
|
||||
LOG_INFO "openpgm-devel已安装,脚本结束后将保持安装状态"
|
||||
else
|
||||
installed=false
|
||||
LOG_INFO "openpgm-devel未安装,将在测试完成后卸载"
|
||||
fi
|
||||
|
||||
# 安装openpgm-devel
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装openpgm-devel"
|
||||
dnf install -y openpgm-devel
|
||||
CHECK_RESULT $? 0 0 "安装openpgm-devel失败"
|
||||
fi
|
||||
|
||||
# 测试链接功能
|
||||
LOG_INFO "测试openpgm-devel库的链接功能"
|
||||
cat << "EOF" > test_linking.c
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <libpgm-5.2/pgm.h>
|
||||
|
||||
int main() {
|
||||
pgm_error_t* error = NULL;
|
||||
pgm_init(&error);
|
||||
if (error != NULL) {
|
||||
fprintf(stderr, "PGM初始化失败: %s\n", error->message);
|
||||
pgm_error_free(error);
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
printf("PGM初始化成功\n");
|
||||
pgm_shutdown();
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
EOF
|
||||
|
||||
gcc test_linking.c -o test_linking -lpgm
|
||||
CHECK_RESULT $? 0 0 "编译链接测试程序失败"
|
||||
|
||||
./test_linking
|
||||
CHECK_RESULT $? 0 0 "运行链接测试程序失败"
|
||||
|
||||
# 清理测试文件
|
||||
rm -f test_linking.c test_linking
|
||||
|
||||
# 卸载openpgm-devel(如果之前未安装)
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载openpgm-devel"
|
||||
dnf remove -y openpgm-devel
|
||||
CHECK_RESULT $? 0 0 "卸载openpgm-devel失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,83 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包提供的示例文档或使用帮助
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:测试软件包提供的示例文档或使用帮助"
|
||||
|
||||
# 检查环境是否已安装perl-YAML-LibYAML软件包
|
||||
LOG_INFO "步骤1:检查perl-YAML-LibYAML软件包是否已安装"
|
||||
if rpm -q perl-YAML-LibYAML &>/dev/null; then
|
||||
LOG_INFO "perl-YAML-LibYAML软件包已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "perl-YAML-LibYAML软件包未安装,将在测试步骤中安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有perl-YAML-LibYAML软件包
|
||||
LOG_INFO "步骤2:检查yum源中是否有perl-YAML-LibYAML软件包"
|
||||
if ! dnf list available perl-YAML-LibYAML &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到perl-YAML-LibYAML软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤3:安装perl-YAML-LibYAML软件包"
|
||||
dnf install -y perl-YAML-LibYAML
|
||||
CHECK_RESULT $? 0 0 "安装perl-YAML-LibYAML软件包失败"
|
||||
fi
|
||||
|
||||
# 测试软件包提供的示例文档或使用帮助
|
||||
LOG_INFO "步骤4:测试perl-YAML-LibYAML软件包提供的示例文档或使用帮助"
|
||||
# 假设测试命令为查看帮助信息,这里使用perldoc命令查看模块文档
|
||||
if ! perldoc -l YAML::LibYAML &>/dev/null; then
|
||||
LOG_ERROR "perl-YAML-LibYAML软件包未提供有效的模块文档"
|
||||
CHECK_RESULT 1 0 0 "perl-YAML-LibYAML软件包文档测试失败"
|
||||
fi
|
||||
|
||||
# 执行示例命令,假设示例命令为解析YAML文件
|
||||
LOG_INFO "步骤5:执行示例命令测试YAML解析功能"
|
||||
cat > /tmp/test.yaml << EOF
|
||||
---
|
||||
name: test
|
||||
value: 123
|
||||
EOF
|
||||
|
||||
perl -MYAML::LibYAML -e "YAML::LibYAML::LoadFile("/tmp/test.yaml")" &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "YAML解析功能测试失败"
|
||||
|
||||
# 清理临时文件
|
||||
rm -f /tmp/test.yaml
|
||||
|
||||
# 如果测试前未安装,则卸载软件包以恢复环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤6:卸载perl-YAML-LibYAML软件包以恢复环境"
|
||||
dnf remove -y perl-YAML-LibYAML
|
||||
CHECK_RESULT $? 0 0 "卸载perl-YAML-LibYAML软件包失败"
|
||||
else
|
||||
LOG_INFO "步骤6:保持perl-YAML-LibYAML软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:软件包提供的示例文档或使用帮助测试通过"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,81 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包手册页的可用性和内容
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查perl-YAML-LibYAML软件包是否已安装"
|
||||
rpm -q perl-YAML-LibYAML >/dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "软件包已安装,标记为已安装状态"
|
||||
installed_flag=1
|
||||
else
|
||||
LOG_INFO "软件包未安装,标记为未安装状态"
|
||||
installed_flag=0
|
||||
fi
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
LOG_INFO "检查perl-YAML-LibYAML软件包是否在yum源中"
|
||||
dnf list available perl-YAML-LibYAML >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包perl-YAML-LibYAML不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装则安装软件包
|
||||
if [ $installed_flag -eq 0 ]; then
|
||||
LOG_INFO "开始安装perl-YAML-LibYAML软件包"
|
||||
dnf install -y perl-YAML-LibYAML
|
||||
CHECK_RESULT $? 0 0 "安装perl-YAML-LibYAML软件包失败"
|
||||
LOG_INFO "perl-YAML-LibYAML软件包安装成功"
|
||||
fi
|
||||
|
||||
# 测试man命令是否存在
|
||||
LOG_INFO "检查man命令是否存在"
|
||||
which man >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "man命令不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试软件包手册页的可用性
|
||||
LOG_INFO "测试perl-YAML-LibYAML软件包手册页的可用性"
|
||||
man -w YAML::LibYAML >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "perl-YAML-LibYAML手册页不存在"
|
||||
|
||||
# 测试手册页内容
|
||||
LOG_INFO "测试perl-YAML-LibYAML手册页内容"
|
||||
man YAML::LibYAML | head -20 | grep -q "YAML::LibYAML"
|
||||
CHECK_RESULT $? 0 0 "perl-YAML-LibYAML手册页内容不正确"
|
||||
|
||||
LOG_INFO "perl-YAML-LibYAML手册页测试通过"
|
||||
|
||||
# 环境清理
|
||||
if [ $installed_flag -eq 0 ]; then
|
||||
LOG_INFO "清理环境,卸载perl-YAML-LibYAML软件包"
|
||||
dnf remove -y perl-YAML-LibYAML
|
||||
CHECK_RESULT $? 0 0 "卸载perl-YAML-LibYAML软件包失败"
|
||||
LOG_INFO "环境清理完成"
|
||||
else
|
||||
LOG_INFO "保持软件包安装状态,无需清理"
|
||||
fi
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,132 +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-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包版本查询功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试软件包版本查询功能
|
||||
|
||||
# 判断环境是否已安装perl-YAML-LibYAML
|
||||
LOG_INFO "检查perl-YAML-LibYAML是否已安装"
|
||||
rpm -q perl-YAML-LibYAML > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "perl-YAML-LibYAML已安装,测试后将保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "perl-YAML-LibYAML未安装,测试后将卸载"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有perl-YAML-LibYAML软件包
|
||||
LOG_INFO "检查yum源中是否有perl-YAML-LibYAML软件包"
|
||||
dnf list available perl-YAML-LibYAML > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到perl-YAML-LibYAML软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装则安装软件包
|
||||
if [ "$INSTALLED_BEFORE" = "false" ]; then
|
||||
LOG_INFO "安装perl-YAML-LibYAML软件包"
|
||||
dnf install -y perl-YAML-LibYAML
|
||||
CHECK_RESULT $? 0 0 "安装perl-YAML-LibYAML失败"
|
||||
fi
|
||||
|
||||
# 测试--help参数
|
||||
LOG_INFO "测试--help参数"
|
||||
perl-YAML-LibYAML --help > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "--help参数支持"
|
||||
else
|
||||
# 检查是否为参数不存在或不支持的情况
|
||||
perl-YAML-LibYAML --help 2>&1 | grep -q "unrecognized option\|unknown option\|invalid option"
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "--help参数不存在或不支持"
|
||||
exit 255
|
||||
else
|
||||
CHECK_RESULT $? 0 0 "执行--help参数失败"
|
||||
fi
|
||||
fi
|
||||
|
||||
# 测试--version参数
|
||||
LOG_INFO "测试--version参数"
|
||||
perl-YAML-LibYAML --version > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "--version参数支持"
|
||||
# 获取版本信息并打印
|
||||
VERSION_OUTPUT=$(perl-YAML-LibYAML --version 2>&1)
|
||||
LOG_INFO "版本信息: $VERSION_OUTPUT"
|
||||
else
|
||||
# 检查是否为参数不存在或不支持的情况
|
||||
perl-YAML-LibYAML --version 2>&1 | grep -q "unrecognized option\|unknown option\|invalid option"
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "--version参数不存在或不支持"
|
||||
exit 255
|
||||
else
|
||||
CHECK_RESULT $? 0 0 "执行--version参数失败"
|
||||
fi
|
||||
fi
|
||||
|
||||
# 测试-h参数(短格式help)
|
||||
LOG_INFO "测试-h参数"
|
||||
perl-YAML-LibYAML -h > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "-h参数支持"
|
||||
else
|
||||
# 检查是否为参数不存在或不支持的情况
|
||||
perl-YAML-LibYAML -h 2>&1 | grep -q "unrecognized option\|unknown option\|invalid option"
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "-h参数不支持,这是正常情况"
|
||||
else
|
||||
CHECK_RESULT $? 0 0 "执行-h参数失败"
|
||||
fi
|
||||
fi
|
||||
|
||||
# 测试-v参数(短格式version)
|
||||
LOG_INFO "测试-v参数"
|
||||
perl-YAML-LibYAML -v > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "-v参数支持"
|
||||
# 获取版本信息并打印
|
||||
VERSION_OUTPUT_V=$(perl-YAML-LibYAML -v 2>&1)
|
||||
LOG_INFO "版本信息(-v): $VERSION_OUTPUT_V"
|
||||
else
|
||||
# 检查是否为参数不存在或不支持的情况
|
||||
perl-YAML-LibYAML -v 2>&1 | grep -q "unrecognized option\|unknown option\|invalid option"
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "-v参数不支持,这是正常情况"
|
||||
else
|
||||
CHECK_RESULT $? 0 0 "执行-v参数失败"
|
||||
fi
|
||||
fi
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载软件包
|
||||
if [ "$INSTALLED_BEFORE" = "false" ]; then
|
||||
LOG_INFO "卸载perl-YAML-LibYAML软件包"
|
||||
dnf remove -y perl-YAML-LibYAML
|
||||
CHECK_RESULT $? 0 0 "卸载perl-YAML-LibYAML失败"
|
||||
LOG_INFO "环境已恢复到测试前状态"
|
||||
else
|
||||
LOG_INFO "保持perl-YAML-LibYAML安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,84 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试检查 podmansh 是否已安装
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查环境是否已安装podmansh
|
||||
LOG_INFO "开始检查podmansh是否已安装"
|
||||
|
||||
# 检查podmansh是否已安装
|
||||
if command -v podmansh &>/dev/null; then
|
||||
LOG_INFO "podmansh已安装,跳过安装步骤"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "podmansh未安装,将在测试过程中安装"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有podmansh软件包
|
||||
LOG_INFO "检查yum源中是否有podmansh软件包"
|
||||
dnf list available podmansh &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到podmansh软件包"
|
||||
exit 255
|
||||
fi
|
||||
CHECK_RESULT $? 0 0 "检查yum源中podmansh软件包失败"
|
||||
|
||||
# 如果之前未安装,则安装podmansh
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "开始安装podmansh"
|
||||
dnf install -y podmansh
|
||||
CHECK_RESULT $? 0 0 "安装podmansh失败"
|
||||
LOG_INFO "podmansh安装成功"
|
||||
fi
|
||||
|
||||
# 测试podmansh基本功能
|
||||
LOG_INFO "测试podmansh版本查询"
|
||||
podmansh --version
|
||||
CHECK_RESULT $? 0 0 "podmansh版本查询失败"
|
||||
|
||||
LOG_INFO "测试podmansh帮助信息"
|
||||
podmansh --help
|
||||
CHECK_RESULT $? 0 0 "podmansh帮助信息查询失败"
|
||||
|
||||
# 测试不支持的参数
|
||||
LOG_INFO "测试不支持的参数"
|
||||
podmansh --invalid-param 2>/dev/null
|
||||
if [ $? -eq 255 ]; then
|
||||
LOG_INFO "不支持的参数检查正常"
|
||||
else
|
||||
LOG_ERROR "不支持的参数检查异常"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 清理环境:如果之前未安装,则卸载podmansh
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "清理环境:卸载podmansh"
|
||||
dnf remove -y podmansh
|
||||
CHECK_RESULT $? 0 0 "卸载podmansh失败"
|
||||
LOG_INFO "podmansh卸载成功"
|
||||
else
|
||||
LOG_INFO "保持podmansh安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "podmansh功能检查测试完成"
|
||||
}
|
||||
|
||||
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 : 2025-12-06
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 podmansh 提交容器为镜像功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试 podmansh 提交容器为镜像功能
|
||||
|
||||
LOG_INFO "开始测试 podmansh 提交容器为镜像功能"
|
||||
|
||||
# 检查 podman 是否已安装
|
||||
if ! command -v podman &> /dev/null; then
|
||||
LOG_INFO "检测到 podman 未安装,开始安装 podman"
|
||||
if ! dnf list available podman &> /dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 podman 软件包"
|
||||
exit 255
|
||||
fi
|
||||
dnf install -y podman
|
||||
CHECK_RESULT $? 0 0 "安装 podman 失败"
|
||||
INSTALLED_PODMAN=1
|
||||
else
|
||||
LOG_INFO "podman 已安装,跳过安装步骤"
|
||||
INSTALLED_PODMAN=0
|
||||
fi
|
||||
|
||||
# 检查 podmansh 命令是否支持 commit 参数
|
||||
LOG_INFO "检查 podmansh commit 参数支持情况"
|
||||
podmansh commit --help &> /dev/null
|
||||
CHECK_RESULT $? 0 255 "podmansh 不支持 commit 参数"
|
||||
|
||||
# 创建一个临时容器用于测试
|
||||
LOG_INFO "创建临时容器"
|
||||
container_id=$(podman run -d --name test_commit_container busybox sleep 3600)
|
||||
CHECK_RESULT $? 0 0 "创建临时容器失败"
|
||||
|
||||
# 提交容器为镜像
|
||||
LOG_INFO "提交容器为镜像"
|
||||
podmansh commit test_commit_container test_commit_image
|
||||
CHECK_RESULT $? 0 0 "提交容器为镜像失败"
|
||||
|
||||
#验证镜像是否创建成功
|
||||
LOG_INFO "验证镜像是否创建成功"
|
||||
podman image inspect test_commit_image &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "镜像创建失败"
|
||||
|
||||
# 清理临时容器和镜像
|
||||
LOG_INFO "清理临时容器和镜像"
|
||||
podman rm -f test_commit_container
|
||||
CHECK_RESULT $? 0 0 "删除临时容器失败"
|
||||
podman rmi -f test_commit_image
|
||||
CHECK_RESULT $? 0 0 "删除临时镜像失败"
|
||||
|
||||
#如果脚本安装了podman,则卸载
|
||||
if [ $INSTALLED_PODMAN -eq 1 ]; then
|
||||
LOG_INFO "卸载 podman"
|
||||
dnf remove -y podman
|
||||
CHECK_RESULT $? 0 0 "卸载 podman 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,63 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 podmansh 执行命令功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试 podmansh 执行命令功能
|
||||
|
||||
LOG_INFO "开始测试 podmansh 执行命令功能"
|
||||
|
||||
# 检查是否已安装 podman
|
||||
if ! command -v podman &> /dev/null; then
|
||||
LOG_INFO "环境未安装 podman,开始安装"
|
||||
# 检查 yum 源中是否有 podman 包
|
||||
if ! dnf list available podman &> /dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 podman 包"
|
||||
exit 255
|
||||
fi
|
||||
dnf install -y podman
|
||||
CHECK_RESULT $? 0 0 "安装 podman 失败"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "环境已安装 podman"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 测试 podman run hello-world
|
||||
LOG_INFO "测试 podman run hello-world"
|
||||
podman run --rm hello-world
|
||||
CHECK_RESULT $? 0 0 "执行 podman run hello-world 失败"
|
||||
|
||||
# 测试不支持的参数
|
||||
LOG_INFO "测试不支持的参数"
|
||||
podman --invalid-option &> /dev/null
|
||||
CHECK_RESULT $? $? 255 "不支持的参数未正确退出"
|
||||
|
||||
# 清理环境
|
||||
if [ $INSTALLED -eq 1 ]; then
|
||||
LOG_INFO "卸载 podman"
|
||||
dnf remove -y podman
|
||||
CHECK_RESULT $? 0 0 "卸载 podman 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试 podmansh 执行命令功能完成"
|
||||
}
|
||||
|
||||
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-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 podmansh 帮助信息功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 podmansh 帮助信息功能"
|
||||
|
||||
LOG_INFO "步骤1:检查环境中是否已安装 podmansh"
|
||||
if command -v podmansh &>/dev/null; then
|
||||
LOG_INFO "podmansh 已安装,无需安装"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "podmansh 未安装,将进行安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤2:检查 yum 源中是否有 podmansh 软件包"
|
||||
dnf list available podmansh &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum 源中未找到 podmansh 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤3:安装 podmansh"
|
||||
dnf install -y podmansh
|
||||
CHECK_RESULT $? 0 0 "安装 podmansh 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:测试 podmansh 帮助信息功能"
|
||||
podmansh --help
|
||||
CHECK_RESULT $? 0 0 "执行 podmansh --help 失败"
|
||||
|
||||
LOG_INFO "步骤5:测试 podmansh 不支持的参数"
|
||||
podmansh --invalid-param 2>/dev/null
|
||||
if [ $? -ne 255 ]; then
|
||||
LOG_ERROR "podmansh 不支持 --invalid-param 参数,但未返回正确退出码"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "podmansh 正确处理了不支持参数"
|
||||
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤6:卸载 podmansh"
|
||||
dnf remove -y podmansh
|
||||
CHECK_RESULT $? 0 0 "卸载 podmansh 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,82 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 podmansh 软件包安装功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 podmansh 软件包安装功能"
|
||||
|
||||
# 检查当前环境是否已安装podmansh
|
||||
LOG_INFO "步骤1:检查podmansh是否已安装"
|
||||
if dnf list installed podmansh &>/dev/null; then
|
||||
LOG_INFO "podmansh已安装,跳过安装步骤"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "podmansh未安装,将在测试过程中安装"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有podmansh软件包
|
||||
LOG_INFO "步骤2:检查yum源中是否存在podmansh软件包"
|
||||
if ! dnf list available podmansh &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到podmansh软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则执行安装
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "步骤3:安装podmansh软件包"
|
||||
dnf install -y podmansh
|
||||
CHECK_RESULT $? 0 0 "安装podmansh失败"
|
||||
fi
|
||||
|
||||
# 验证podmansh命令是否可用
|
||||
LOG_INFO "步骤4:验证podmansh命令是否可用"
|
||||
podmansh --version
|
||||
CHECK_RESULT $? 0 0 "podmansh命令不可用"
|
||||
|
||||
# 测试podmansh命令的特定参数(示例:--help)
|
||||
LOG_INFO "步骤5:测试podmansh --help参数"
|
||||
podmansh --help
|
||||
CHECK_RESULT $? 0 0 "podmansh --help参数测试失败"
|
||||
|
||||
# 测试不支持的参数(示例:--invalid-param)
|
||||
LOG_INFO "步骤6:测试不支持的参数"
|
||||
podmansh --invalid-param 2>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_INFO "不支持的参数测试通过(命令执行失败为预期结果)"
|
||||
else
|
||||
LOG_ERROR "不支持的参数测试失败(命令执行成功为异常)"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 清理环境:如果之前未安装,则卸载podmansh
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "步骤7:卸载podmansh软件包"
|
||||
dnf remove -y podmansh
|
||||
CHECK_RESULT $? 0 0 "卸载podmansh失败"
|
||||
LOG_INFO "环境已恢复:podmansh已卸载"
|
||||
else
|
||||
LOG_INFO "环境保持原状:podmansh保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "podmansh软件包安装功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,57 +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-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 podmansh 列出容器功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 podmansh 列出容器功能"
|
||||
|
||||
# 检查是否已安装 podman
|
||||
if ! command -v podman &> /dev/null; then
|
||||
LOG_INFO "未检测到 podman,尝试安装 podman"
|
||||
# 检查 yum 源中是否有 podman
|
||||
if ! dnf list podman &> /dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 podman 软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装 podman
|
||||
dnf install -y podman
|
||||
CHECK_RESULT $? 0 0 "安装 podman 失败"
|
||||
INSTALLED_PODMAN=1
|
||||
else
|
||||
LOG_INFO "podman 已安装"
|
||||
INSTALLED_PODMAN=0
|
||||
fi
|
||||
|
||||
# 测试 podmansh 列出容器功能
|
||||
LOG_INFO "测试列出容器功能"
|
||||
podmansh list_containers &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "列出容器功能失败"
|
||||
|
||||
# 清理环境:如果脚本安装了 podman,则卸载
|
||||
if [ $INSTALLED_PODMAN -eq 1 ]; then
|
||||
LOG_INFO "清理环境:卸载 podman"
|
||||
dnf remove -y podman
|
||||
CHECK_RESULT $? 0 0 "卸载 podman 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试 podmansh 列出容器功能完成"
|
||||
}
|
||||
|
||||
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-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 podmansh 运行容器功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试 podmansh 运行容器功能
|
||||
|
||||
LOG_INFO "开始测试 podmansh 运行容器功能"
|
||||
|
||||
# 检查是否已安装 podman
|
||||
if ! command -v podman &> /dev/null; then
|
||||
LOG_INFO "检测到未安装 podman,准备安装"
|
||||
# 检查 yum 源中是否有 podman 包
|
||||
if ! dnf list available podman &> /dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 podman 包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装 podman
|
||||
dnf install -y podman
|
||||
CHECK_RESULT $? 0 0 "安装 podman 失败"
|
||||
INSTALLED_PODMAN=true
|
||||
else
|
||||
LOG_INFO "podman 已安装,跳过安装步骤"
|
||||
INSTALLED_PODMAN=false
|
||||
fi
|
||||
|
||||
# 测试运行容器
|
||||
LOG_INFO "测试运行一个 alpine 容器"
|
||||
podman run --rm alpine echo "Hello, OpenEuler" &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "运行 alpine 容器失败"
|
||||
|
||||
# 测试带参数的运行命令
|
||||
LOG_INFO "测试带参数的运行命令(--name)"
|
||||
podman run --name test_container --rm alpine echo "Hello, OpenEuler" &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "带参数运行容器失败"
|
||||
|
||||
# 测试不支持的参数(模拟)
|
||||
LOG_INFO "测试不支持的参数(模拟)"
|
||||
podman run --invalid-param alpine echo "Hello, OpenEuler" &> /dev/null
|
||||
if [ $? -eq 125 ]; then
|
||||
LOG_ERROR "检测到不支持的参数,退出码应为255,但实际为125"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# SSH_CMD示例(如果需要)
|
||||
LOG_INFO "在第二个节点上测试运行容器(模拟)"
|
||||
SSH_CMD "podman run --rm alpine echo "Hello from Node2"" $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "在第二个节点上运行容器失败"
|
||||
|
||||
#清理环境
|
||||
if [ "$INSTALLED_PODMAN" = true ]; then
|
||||
LOG_INFO "清理环境:卸载 podman"
|
||||
dnf remove -y podman
|
||||
CHECK_RESULT $? 0 0 “卸载 pod man失败”
|
||||
fi
|
||||
|
||||
LOG_INFO “测试完成”
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,112 +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-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 podmansh 版本查询功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义颜色输出(可选,但建议保留以便日志清晰)
|
||||
LOG_INFO() {
|
||||
echo "[INFO] $1"
|
||||
}
|
||||
|
||||
LOG_ERROR() {
|
||||
echo "[ERROR] $1"
|
||||
}
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
check_package_in_repo() {
|
||||
local pkg=$1
|
||||
LOG_INFO "检查yum源中是否存在软件包: $pkg"
|
||||
dnf list available "$pkg" &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到软件包: $pkg"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "软件包 $pkg 存在于yum源中"
|
||||
}
|
||||
|
||||
# 检查命令参数是否支持
|
||||
check_command_option() {
|
||||
local cmd=$1
|
||||
local opt=$2
|
||||
LOG_INFO "检查命令 $cmd 是否支持参数 $opt"
|
||||
# 使用 --help 或 man 页面检查参数是否存在(这里以podmansh为例)
|
||||
if $cmd --help 2>&1 | grep -q -- "$opt"; then
|
||||
LOG_INFO "命令 $cmd 支持参数 $opt"
|
||||
else
|
||||
LOG_ERROR "命令 $cmd 不支持参数 $opt 或参数不存在"
|
||||
exit 255
|
||||
fi
|
||||
}
|
||||
|
||||
# 主测试函数
|
||||
test_podmansh_version() {
|
||||
local pkg_name="podmansh"
|
||||
local installed=false
|
||||
|
||||
# 步骤1:检查环境是否已安装podmansh
|
||||
LOG_INFO "步骤1:检查环境是否已安装podmansh"
|
||||
if command -v podmansh &>/dev/null; then
|
||||
LOG_INFO "podmansh 已安装"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "podmansh 未安装,将作为测试步骤安装"
|
||||
fi
|
||||
|
||||
# 步骤2:如果未安装,检查yum源中是否存在podmansh
|
||||
if [ "$installed" = false ]; then
|
||||
check_package_in_repo "$pkg_name"
|
||||
fi
|
||||
|
||||
# 步骤3:如果未安装,使用dnf安装podmansh
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "步骤3:使用dnf安装podmansh"
|
||||
dnf install -y "$pkg_name"
|
||||
CHECK_RESULT $? 0 0 "安装podmansh失败"
|
||||
LOG_INFO "podmansh 安装成功"
|
||||
fi
|
||||
|
||||
# 步骤4:检查podmansh版本查询参数是否支持
|
||||
LOG_INFO "步骤4:检查podmansh版本查询参数是否支持"
|
||||
check_command_option "podmansh" "--version"
|
||||
|
||||
# 步骤5:执行podmansh版本查询
|
||||
LOG_INFO "步骤5:执行podmansh版本查询"
|
||||
podmansh --version
|
||||
CHECK_RESULT $? 0 0 "执行podmansh版本查询失败"
|
||||
|
||||
# 步骤6:清理环境(如果测试前未安装,则卸载)
|
||||
LOG_INFO "步骤6:清理环境"
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载podmansh"
|
||||
dnf remove -y "$pkg_name"
|
||||
CHECK_RESULT $? 0 0 "卸载podmansh失败"
|
||||
LOG_INFO "podmansh 卸载成功,环境已恢复"
|
||||
else
|
||||
LOG_INFO "测试前podmansh已安装,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
# 执行测试
|
||||
test_podmansh_version
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,89 +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-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试带-c参数的podmansh命令是否能正常执行指定命令
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试:测试带-c参数的podmansh命令是否能正常执行指定命令"
|
||||
|
||||
# 检查环境是否已安装podman
|
||||
LOG_INFO "检查podman是否已安装"
|
||||
if dnf list installed podman &>/dev/null; then
|
||||
LOG_INFO "podman已安装,测试结束后将保持安装状态"
|
||||
INSTALLED_BEFORE_TEST=true
|
||||
else
|
||||
LOG_INFO "podman未安装,将在测试过程中安装"
|
||||
INSTALLED_BEFORE_TEST=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有podman包
|
||||
LOG_INFO "检查yum源中是否有podman软件包"
|
||||
if ! dnf list available podman &>/dev/null; then
|
||||
LOG_ERROR "yum源中没有找到podman软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装podman
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
LOG_INFO "安装podman软件包"
|
||||
dnf install -y podman
|
||||
CHECK_RESULT $? 0 0 "安装podman失败"
|
||||
fi
|
||||
|
||||
# 测试podmansh -c命令
|
||||
LOG_INFO "测试podmansh -c "echo hello"命令"
|
||||
podmansh -c "echo hello"
|
||||
CHECK_RESULT $? 0 0 "podmansh -c命令执行失败"
|
||||
|
||||
# 测试podmansh -c命令执行不存在的命令
|
||||
LOG_INFO "测试podmansh -c执行不存在的命令"
|
||||
podmansh -c "nonexistentcommand" &>/dev/null
|
||||
if [ $? -eq 127 ]; then
|
||||
LOG_INFO "podmansh -c执行不存在的命令返回127,符合预期"
|
||||
else
|
||||
LOG_ERROR "podmansh -c执行不存在的命令未返回预期结果"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试不支持的参数
|
||||
LOG_INFO "测试podmansh不支持的参数"
|
||||
podmansh --invalid-param &>/dev/null
|
||||
if [ $? -eq 255 ]; then
|
||||
LOG_INFO "podmansh不支持参数返回255,符合预期"
|
||||
else
|
||||
LOG_ERROR "podmansh不支持参数未返回预期结果"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 清理环境
|
||||
LOG_INFO "清理测试环境"
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
LOG_INFO "卸载测试过程中安装的podman软件包"
|
||||
dnf remove -y podman
|
||||
CHECK_RESULT $? 0 0 "卸载podman失败"
|
||||
else
|
||||
LOG_INFO "保持podman安装状态"
|
||||
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-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试同时使用-c和shell参数的podmansh命令是否能执行指定shell的指定命令
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:测试同时使用-c和shell参数的podmansh命令是否能执行指定shell的指定命令"
|
||||
|
||||
# 检查是否已安装podman
|
||||
LOG_INFO "检查podman是否已安装"
|
||||
if dnf list installed podman &>/dev/null; then
|
||||
LOG_INFO "podman已安装"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "podman未安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有podman软件包
|
||||
LOG_INFO "检查yum源中是否有podman软件包"
|
||||
if ! dnf list available podman &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到podman软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装podman
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装podman"
|
||||
dnf install -y podman
|
||||
CHECK_RESULT $? 0 0 "安装podman失败"
|
||||
fi
|
||||
|
||||
# 测试podmansh命令的-c参数是否存在
|
||||
LOG_INFO "测试podmansh命令的-c参数是否存在"
|
||||
podmansh --help 2>&1 | grep -q "\-c"
|
||||
CHECK_RESULT $? 0 0 "podmansh命令不支持-c参数"
|
||||
|
||||
# 测试podmansh命令的shell参数是否存在
|
||||
LOG_INFO "测试podmansh命令的shell参数是否存在"
|
||||
podmansh --help 2>&1 | grep -q "shell"
|
||||
CHECK_RESULT $? 0 0 "podmansh命令不支持shell参数"
|
||||
|
||||
# 测试同时使用-c和shell参数执行指定shell的指定命令
|
||||
LOG_INFO "测试同时使用-c和shell参数执行指定shell的指定命令"
|
||||
podmansh -c "echo "Hello from bash"" --shell bash
|
||||
CHECK_RESULT $? 0 0 "使用-c和shell参数执行命令失败"
|
||||
|
||||
# 清理环境:如果之前未安装,则卸载podman
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载podman"
|
||||
dnf remove -y podman
|
||||
CHECK_RESULT $? 0 0 "卸载podman失败"
|
||||
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-02-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试带image参数的podmansh命令是否能基于指定镜像创建容器
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试带image参数的podmansh命令是否能基于指定镜像创建容器"
|
||||
LOG_INFO "检查是否已安装podman软件包"
|
||||
if rpm -q podman >/dev/null 2>&1; then
|
||||
LOG_INFO "podman已安装,测试结束后将保持安装状态"
|
||||
INSTALLED_FLAG=1
|
||||
else
|
||||
LOG_INFO "podman未安装,将在测试步骤中安装"
|
||||
INSTALLED_FLAG=0
|
||||
fi
|
||||
LOG_INFO "检查yum源中是否存在podman软件包"
|
||||
dnf list --available podman >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "yum源中不存在podman软件包"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在podman软件包,退出测试"
|
||||
exit 255
|
||||
fi
|
||||
if [ $INSTALLED_FLAG -eq 0 ]; then
|
||||
LOG_INFO "安装podman软件包"
|
||||
dnf install -y podman
|
||||
CHECK_RESULT $? 0 0 "安装podman失败"
|
||||
fi
|
||||
LOG_INFO "检查是否存在busybox镜像"
|
||||
if ! podman image exists busybox:latest; then
|
||||
LOG_INFO "拉取busybox:latest镜像"
|
||||
podman pull busybox:latest
|
||||
CHECK_RESULT $? 0 0 "拉取busybox镜像失败"
|
||||
IMAGE_PULLED=1
|
||||
else
|
||||
LOG_INFO "busybox:latest镜像已存在"
|
||||
IMAGE_PULLED=0
|
||||
fi
|
||||
LOG_INFO "测试podmansh命令的image参数是否存在"
|
||||
podmansh --help | grep -q "\-\-image"
|
||||
CHECK_RESULT $? 0 0 "podmansh命令不支持--image参数"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "podmansh命令不支持--image参数,退出测试"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "使用podmansh --image busybox:latest创建容器"
|
||||
podmansh --image busybox:latest echo "hello from container"
|
||||
CHECK_RESULT $? 0 0 "基于指定镜像创建容器失败"
|
||||
LOG_INFO "清理测试创建的容器"
|
||||
podman ps -a --filter "ancestor=busybox:latest" --format "{{.ID}}" | xargs -r podman rm -f
|
||||
if [ $IMAGE_PULLED -eq 1 ]; then
|
||||
LOG_INFO "删除测试拉取的busybox镜像"
|
||||
podman rmi busybox:latest
|
||||
fi
|
||||
if [ $INSTALLED_FLAG -eq 0 ]; then
|
||||
LOG_INFO "卸载测试安装的podman软件包"
|
||||
dnf remove -y podman
|
||||
CHECK_RESULT $? 0 0 "卸载podman失败"
|
||||
fi
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,175 +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-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试同时使用name和image参数的podmansh命令是否能使用指定名称和镜像创建容器
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义颜色和日志函数
|
||||
LOG_INFO() {
|
||||
echo -e "\033[32m[INFO]\033[0m $1"
|
||||
}
|
||||
LOG_ERROR() {
|
||||
echo -e "\033[31m[ERROR]\033[0m $1"
|
||||
}
|
||||
|
||||
# 检查软件包是否存在于yum源
|
||||
check_package_in_repo() {
|
||||
local package_name=$1
|
||||
dnf list available "$package_name" &>/dev/null
|
||||
return $?
|
||||
}
|
||||
|
||||
# 检查参数是否支持
|
||||
check_command_option() {
|
||||
local command=$1
|
||||
local option=$2
|
||||
if ! $command --help 2>/dev/null | grep -q -- "$option"; then
|
||||
LOG_ERROR "命令 $command 不支持参数 $option"
|
||||
exit 255
|
||||
fi
|
||||
}
|
||||
|
||||
# 检查环境是否已安装podman
|
||||
check_podman_installed() {
|
||||
if command -v podman &>/dev/null; then
|
||||
LOG_INFO "podman 已安装"
|
||||
return 0
|
||||
else
|
||||
LOG_INFO "podman 未安装"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# 安装podman
|
||||
install_podman() {
|
||||
LOG_INFO "开始安装podman"
|
||||
dnf install -y podman
|
||||
CHECK_RESULT $? 0 0 "安装podman失败"
|
||||
LOG_INFO "podman 安装成功"
|
||||
}
|
||||
|
||||
# 卸载podman
|
||||
uninstall_podman() {
|
||||
LOG_INFO "开始卸载podman"
|
||||
dnf remove -y podman
|
||||
CHECK_RESULT $? 0 0 "卸载podman失败"
|
||||
LOG_INFO "podman 卸载成功"
|
||||
}
|
||||
|
||||
# 清理podman容器和镜像
|
||||
clean_podman() {
|
||||
LOG_INFO "清理podman环境"
|
||||
podman stop test_container 2>/dev/null
|
||||
podman rm test_container 2>/dev/null
|
||||
podman rmi busybox:latest 2>/dev/null 2>&1
|
||||
LOG_INFO "podman环境清理完成"
|
||||
}
|
||||
|
||||
# 主测试函数
|
||||
test_podmansh_name_image() {
|
||||
LOG_INFO "开始测试podmansh命令同时使用name和image参数"
|
||||
|
||||
# 检查podman是否已安装
|
||||
local need_cleanup=0
|
||||
if ! check_podman_installed; then
|
||||
need_cleanup=1
|
||||
LOG_INFO "检测到podman未安装,将在测试后卸载"
|
||||
|
||||
# 检查podman包是否在yum源中
|
||||
LOG_INFO "检查podman包是否在yum源中"
|
||||
if ! check_package_in_repo "podman"; then
|
||||
LOG_ERROR "yum源中未找到podman包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
install_podman
|
||||
fi
|
||||
|
||||
# 检查podmansh命令是否存在
|
||||
LOG_INFO "检查podmansh命令是否存在"
|
||||
if ! command -v podmansh &>/dev/null; then
|
||||
LOG_ERROR "podmansh命令不存在"
|
||||
if [ $need_cleanup -eq 1 ]; then
|
||||
uninstall_podman
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查podmansh命令是否支持--name和--image参数
|
||||
LOG_INFO "检查podmansh命令是否支持--name参数"
|
||||
check_command_option "podmansh" "--name"
|
||||
|
||||
LOG_INFO "检查podmansh命令是否支持--image参数"
|
||||
check_command_option "podmansh" "--image"
|
||||
|
||||
# 清理可能存在的旧容器
|
||||
clean_podman
|
||||
|
||||
# 拉取测试镜像
|
||||
LOG_INFO "拉取busybox测试镜像"
|
||||
podman pull busybox:latest
|
||||
CHECK_RESULT $? 0 0 "拉取busybox镜像失败"
|
||||
|
||||
# 测试使用name和image参数创建容器
|
||||
LOG_INFO "测试使用--name和--image参数创建容器"
|
||||
podmansh --name test_container --image busybox:latest -- sh -c "echo "容器创建成功""
|
||||
CHECK_RESULT $? 0 0 "使用name和image参数创建容器失败"
|
||||
|
||||
# 验证容器是否创建成功
|
||||
LOG_INFO "验证容器是否创建成功"
|
||||
if podman ps -a --format "{{.Names}}" | grep -q "test_container"; then
|
||||
LOG_INFO "容器test_container创建成功"
|
||||
|
||||
# 验证容器使用的镜像是否正确
|
||||
local container_image=$(podman inspect test_container --format "{{.ImageName}}")
|
||||
if [[ "$container_image" == *"busybox:latest"* ]]; then
|
||||
LOG_INFO "容器使用的镜像正确: $container_image"
|
||||
else
|
||||
LOG_ERROR "容器使用的镜像不正确: $container_image"
|
||||
clean_podman
|
||||
if [ $need_cleanup -eq 1 ]; then
|
||||
uninstall_podman
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
LOG_ERROR "容器test_container创建失败"
|
||||
clean_podman
|
||||
if [ $need_cleanup -eq 1 ]; then
|
||||
uninstall_podman
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理测试容器和镜像
|
||||
clean_podman
|
||||
|
||||
# 如果测试前未安装podman,则卸载
|
||||
if [ $need_cleanup -eq 1 ]; then
|
||||
uninstall_podman
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:podmansh命令同时使用name和image参数能够成功创建容器"
|
||||
}
|
||||
|
||||
# 执行测试
|
||||
test_podmansh_name_image
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,70 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试带shell参数的podmansh命令是否能启动指定shell
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试带shell参数的podmansh命令是否能启动指定shell"
|
||||
|
||||
LOG_INFO "步骤1:检查测试环境是否已安装podman相关软件包"
|
||||
if command -v podman &> /dev/null; then
|
||||
LOG_INFO "podman已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "podman未安装,将在测试过程中安装并在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查yum源中是否存在podman软件包"
|
||||
if ! dnf list available podman &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到podman软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤3:安装podman软件包"
|
||||
dnf install -y podman
|
||||
CHECK_RESULT $? 0 0 "安装podman失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:检查podmansh命令是否支持--shell参数"
|
||||
podman run --help 2>&1 | grep -q -- "--shell"
|
||||
CHECK_RESULT $? 0 0 "podman命令不支持--shell参数"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "podman命令不支持--shell参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤5:测试带shell参数的podmansh命令启动指定shell"
|
||||
podman run --rm alpine:latest /bin/sh -c "echo "测试shell启动成功""
|
||||
CHECK_RESULT $? 0 0 "启动指定shell失败"
|
||||
|
||||
LOG_INFO "步骤6:清理测试环境"
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载podman软件包"
|
||||
dnf remove -y podman
|
||||
CHECK_RESULT $? 0 0 "卸载podman失败"
|
||||
else
|
||||
LOG_INFO "保持podman安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,105 +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-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试带-H参数的podmansh命令是否能正常显示帮助信息
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试带-H参数的podmansh命令是否能正常显示帮助信息"
|
||||
|
||||
# 检查是否已经安装了podman软件包
|
||||
if dnf list installed podman >/dev/null 2>&1; then
|
||||
LOG_INFO "podman已经安装,测试结束后将保持安装状态"
|
||||
already_installed=true
|
||||
else
|
||||
LOG_INFO "podman未安装,将在测试过程中安装"
|
||||
already_installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有podman软件包
|
||||
LOG_INFO "检查yum源中是否有podman软件包"
|
||||
if ! dnf list available podman >/dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中没有找到podman软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装podman
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "安装podman软件包"
|
||||
dnf install -y podman
|
||||
CHECK_RESULT $? 0 0 "安装podman失败"
|
||||
fi
|
||||
|
||||
# 测试podmansh -H命令是否能正常显示帮助信息
|
||||
LOG_INFO "执行podmansh -H命令"
|
||||
podmansh -H > /tmp/podmansh_help_output.txt 2>&1
|
||||
result=$?
|
||||
|
||||
# 检查命令执行结果
|
||||
if [ $result -eq 0 ]; then
|
||||
LOG_INFO "podmansh -H命令执行成功"
|
||||
# 检查输出是否包含帮助信息
|
||||
if grep -q "Usage:" /tmp/podmansh_help_output.txt || grep -q "帮助" /tmp/podmansh_help_output.txt; then
|
||||
LOG_INFO "podmansh -H命令正确显示了帮助信息"
|
||||
else
|
||||
LOG_ERROR "podmansh -H命令未显示预期的帮助信息"
|
||||
# 清理临时文件
|
||||
rm -f /tmp/podmansh_help_output.txt
|
||||
# 如果之前未安装,则卸载podman
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "清理环境:卸载podman"
|
||||
dnf remove -y podman
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
elif [ $result -eq 255 ]; then
|
||||
LOG_ERROR "podmansh命令不支持-H参数"
|
||||
# 清理临时文件
|
||||
rm -f /tmp/podmansh_help_output.txt
|
||||
# 如果之前未安装,则卸载podman
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "清理环境:卸载podman"
|
||||
dnf remove -y podman
|
||||
fi
|
||||
exit 255
|
||||
else
|
||||
LOG_ERROR "podmansh -H命令执行失败,退出码:$result"
|
||||
# 清理临时文件
|
||||
rm -f /tmp/podmansh_help_output.txt
|
||||
# 如果之前未安装,则卸载podman
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "清理环境:卸载podman"
|
||||
dnf remove -y podman
|
||||
fi
|
||||
exit $result
|
||||
fi
|
||||
|
||||
# 清理临时文件
|
||||
rm -f /tmp/podmansh_help_output.txt
|
||||
|
||||
# 如果测试开始时未安装podman,则在测试结束后卸载
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "清理环境:卸载podman"
|
||||
dnf remove -y podman
|
||||
CHECK_RESULT $? 0 0 "卸载podman失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复到初始状态"
|
||||
}
|
||||
|
||||
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-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试带-V参数的podmansh命令是否能正常显示版本信息
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装podman包
|
||||
LOG_INFO "检查是否已安装podman包"
|
||||
rpm -q podman > /dev/null 2>&1
|
||||
podman_installed=$?
|
||||
|
||||
# 如果未安装则尝试从yum源查找
|
||||
if [ $podman_installed -ne 0 ]; then
|
||||
LOG_INFO "podman未安装,检查yum源中是否存在podman包"
|
||||
dnf list available podman > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "yum源中不存在podman包"
|
||||
|
||||
LOG_INFO "安装podman包"
|
||||
dnf install -y podman
|
||||
CHECK_RESULT $? 0 0 "安装podman失败"
|
||||
|
||||
# 标记为测试过程中安装
|
||||
installed_by_test=1
|
||||
else
|
||||
LOG_INFO "podman已安装"
|
||||
installed_by_test=0
|
||||
fi
|
||||
|
||||
# 测试带-V参数的podmansh命令
|
||||
LOG_INFO "测试带-V参数的podmansh命令是否能正常显示版本信息"
|
||||
podmansh -V > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "podmansh -V命令执行失败"
|
||||
|
||||
LOG_INFO "验证版本信息输出"
|
||||
podmansh -V 2>&1 | grep -q "podman version"
|
||||
CHECK_RESULT $? 0 0 "podmansh -V未显示版本信息"
|
||||
|
||||
# 清理环境
|
||||
LOG_INFO "清理测试环境"
|
||||
if [ $installed_by_test -eq 1 ]; then
|
||||
LOG_INFO "卸载测试安装的podman包"
|
||||
dnf remove -y podman
|
||||
CHECK_RESULT $? 0 0 "卸载podman失败"
|
||||
fi
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,56 +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-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试仅使用 domain 参数查找 DMARC 策略
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:测试仅使用 domain 参数查找 DMARC 策略"
|
||||
|
||||
# 检查是否已安装所需软件包
|
||||
LOG_INFO "检查是否已安装 python3-authheaders"
|
||||
if ! dnf list installed python3-authheaders &> /dev/null; then
|
||||
LOG_INFO "python3-authheaders 未安装,将进行安装"
|
||||
if ! dnf list available python3-authheaders &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到 python3-authheaders 软件包"
|
||||
exit 255
|
||||
fi
|
||||
dnf install -y python3-authheaders
|
||||
CHECK_RESULT $? 0 0 "安装 python3-authheaders 失败"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "python3-authheaders 已安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 测试仅使用 domain 参数查找 DMARC 策略
|
||||
LOG_INFO "执行命令:authheaders --dmarc-policy --domain example.com"
|
||||
authheaders --dmarc-policy --domain example.com
|
||||
CHECK_RESULT $? 0 0 "查找 DMARC 策略失败"
|
||||
|
||||
# 清理环境
|
||||
if [ $INSTALLED -eq 1 ]; then
|
||||
LOG_INFO "卸载 python3-authheaders"
|
||||
dnf remove -y python3-authheaders
|
||||
CHECK_RESULT $? 0 0 "卸载 python3-authheaders 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,66 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用 -q 参数以安静模式查找 DMARC 策略
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
LOG_INFO "开始测试使用 -q 参数以安静模式查找 DMARC 策略"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查软件包 python3-authheaders 是否已安装"
|
||||
if rpm -q python3-authheaders &>/dev/null; then
|
||||
LOG_INFO "软件包 python3-authheaders 已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "软件包 python3-authheaders 未安装,将在测试步骤中安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有该软件包
|
||||
LOG_INFO "检查 yum 源中是否有 python3-authheaders 软件包"
|
||||
if ! dnf list available python3-authheaders &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 python3-authheaders 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装 python3-authheaders 软件包"
|
||||
dnf install -y python3-authheaders &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "安装 python3-authheaders 失败"
|
||||
fi
|
||||
|
||||
# 测试使用 -q 参数以安静模式查找 DMARC 策略
|
||||
LOG_INFO "执行命令:authheaders --dmarc-policy -q example.com"
|
||||
authheaders --dmarc-policy -q example.com &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "使用 -q 参数以安静模式查找 DMARC 策略失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 python3-authheaders 软件包"
|
||||
dnf remove -y python3-authheaders &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "卸载 python3-authheaders 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,60 +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-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用 -s DMARC 参数查找 DMARC 策略
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试使用 -s DMARC 参数查找 DMARC 策略"
|
||||
|
||||
# 检查是否已安装python3-authheaders
|
||||
LOG_INFO "检查是否已安装python3-authheaders"
|
||||
if ! dnf list installed python3-authheaders &>/dev/null; then
|
||||
LOG_INFO "python3-authheaders未安装,将进行安装"
|
||||
# 检查yum源中是否有该软件包
|
||||
if ! dnf list available python3-authheaders &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到python3-authheaders软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装软件包
|
||||
dnf install -y python3-authheaders
|
||||
CHECK_RESULT $? 0 0 "安装python3-authheaders失败"
|
||||
# 标记为需要卸载
|
||||
NEED_UNINSTALL=1
|
||||
else
|
||||
LOG_INFO "python3-authheaders已安装"
|
||||
NEED_UNINSTALL=0
|
||||
fi
|
||||
|
||||
# 测试使用 -s DMARC 参数查找 DMARC 策略
|
||||
LOG_INFO "测试使用 -s DMARC 参数查找 DMARC 策略"
|
||||
result=$(authheaders -s DMARC example.com 2>&1)
|
||||
CHECK_RESULT $? 0 0 "执行authheaders -s DMARC失败"
|
||||
LOG_INFO "测试结果: $result"
|
||||
|
||||
# 清理环境
|
||||
if [ $NEED_UNINSTALL -eq 1 ]; then
|
||||
LOG_INFO "卸载python3-authheaders"
|
||||
dnf remove -y python3-authheaders
|
||||
CHECK_RESULT $? 0 0 "卸载python3-authheaders失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
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-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用 -s PSD 参数查找 DMARC 策略
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装python3-authheaders
|
||||
if ! dnf list installed python3-authheaders &>/dev/null; then
|
||||
LOG_INFO "环境未安装python3-authheaders,将进行安装并测试后卸载"
|
||||
INSTALLED=false
|
||||
else
|
||||
LOG_INFO "环境已安装python3-authheaders,测试后将保持安装状态"
|
||||
INSTALLED=true
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有python3-authheaders软件包
|
||||
LOG_INFO "检查yum源中是否存在python3-authheaders软件包"
|
||||
if ! dnf list available python3-authheaders &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到python3-authheaders软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装python3-authheaders
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装python3-authheaders"
|
||||
dnf install -y python3-authheaders
|
||||
CHECK_RESULT $? 0 0 "安装python3-authheaders失败"
|
||||
fi
|
||||
|
||||
# 测试使用-s PSD参数查找DMARC策略
|
||||
LOG_INFO "测试使用-s PSD参数查找DMARC策略"
|
||||
result=$(python3 -m authheaders.dmarc.policy_find -s PSD 2>&1)
|
||||
CHECK_RESULT $? 0 0 "执行policy_find命令失败"
|
||||
|
||||
# 检查参数是否支持
|
||||
if [[ "$result" == *"unrecognized arguments"* ]]; then
|
||||
LOG_ERROR "参数-s PSD不被支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载python3-authheaders"
|
||||
dnf remove -y python3-authheaders
|
||||
CHECK_RESULT $? 0 0 "卸载python3-authheaders失败"
|
||||
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-12-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用 -v 参数获取详细 DMARC 策略信息
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装python3-authheaders-dmarc-policy-find工具
|
||||
LOG_INFO "检查是否已安装python3-authheaders-dmarc-policy-find工具"
|
||||
if ! dnf list installed python3-authheaders-dmarc-policy-find &>/dev/null; then
|
||||
LOG_INFO "工具未安装,开始安装"
|
||||
# 检查yum源中是否有该软件包
|
||||
if ! dnf list available python3-authheaders-dmarc-policy-find &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到python3-authheaders-dmarc-policy-find软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装软件包
|
||||
dnf install -y python3-authheaders-dmarc-policy-find
|
||||
CHECK_RESULT $? 0 0 "安装python3-authheaders-dmarc-policy-find失败"
|
||||
else
|
||||
LOG_INFO "工具已安装,跳过安装步骤"
|
||||
fi
|
||||
|
||||
# 测试使用-v参数获取详细DMARC策略信息
|
||||
LOG_INFO "测试使用-v参数获取详细DMARC策略信息"
|
||||
output=$(python3-authheaders-dmarc-policy-find -v example.com 2>&1)
|
||||
CHECK_RESULT $? 0 0 "执行python3-authheaders-dmarc-policy-find -v失败"
|
||||
|
||||
# 检查输出是否包含预期的详细信息(示例检查,根据实际需求调整)
|
||||
if [[ "$output" != *"DMARC policy details"* ]]; then
|
||||
LOG_ERROR "未找到预期的DMARC策略详细信息"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理环境:如果脚本开始时未安装工具,则卸载
|
||||
if ! dnf list installed python3-authheaders-dmarc-policy-find &>/dev/null; then
|
||||
LOG_INFO "清理环境:卸载python3-authheaders-dmarc-policy-find工具"
|
||||
dnf remove -y python3-authheaders-dmarc-policy-find
|
||||
CHECK_RESULT $? 0 0 "卸载python3-authheaders-dmarc-policy-find失败"
|
||||
else
|
||||
LOG_INFO "工具已安装,无需卸载"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,66 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 DMARC 记录的解析功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
LOG_INFO "开始测试 DMARC 记录的解析功能"
|
||||
|
||||
# 检查是否已安装所需软件包
|
||||
LOG_INFO "检查是否已安装 python3-authheaders 软件包"
|
||||
if ! dnf list installed python3-authheaders &> /dev/null; then
|
||||
LOG_INFO "python3-authheaders 未安装,开始安装"
|
||||
if ! dnf list python3-authheaders &> /dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 python3-authheaders 软件包"
|
||||
exit 255
|
||||
fi
|
||||
dnf install -y python3-authheaders
|
||||
CHECK_RESULT $? 0 0 "安装 python3-authheaders 失败"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "python3-authheaders 已安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 测试 DMARC 记录的解析功能
|
||||
LOG_INFO "测试 DMARC 记录的解析功能"
|
||||
TEST_DMARC="v=DMARC1; p=none; rua=mailto:dmarc@example.com"
|
||||
EXPECTED_RESULT="{\"v\": \"DMARC1\", \"p\": \"none\", \"rua\": \"mailto:dmarc@example.com\"}"
|
||||
|
||||
RESULT=$(python3 -c "
|
||||
import authheaders
|
||||
print(authheaders.parse_dmarc("$TEST_DMARC"))
|
||||
")
|
||||
|
||||
CHECK_RESULT $? 0 0 "DMARC 记录解析失败"
|
||||
CHECK_RESULT "$RESULT" "$EXPECTED_RESULT" 0 "DMARC 记录解析结果不符合预期"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = true ]; then
|
||||
LOG_INFO "卸载 python3-authheaders"
|
||||
dnf remove -y python3-authheaders
|
||||
CHECK_RESULT $? 0 0 "卸载 python3-authheaders 失败"
|
||||
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-04-06
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package installation verification
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="texlive-asapsym-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
|
||||
|
||||
# 步骤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 失败"
|
||||
fi
|
||||
|
||||
# 步骤4: 验证软件包安装成功
|
||||
LOG_INFO "步骤4: 验证软件包 $PACKAGE_NAME 安装成功"
|
||||
dnf list installed $PACKAGE_NAME &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "验证软件包 $PACKAGE_NAME 安装失败"
|
||||
|
||||
# 步骤5: 执行软件包功能测试(示例:检查是否有文档文件)
|
||||
LOG_INFO "步骤5: 检查软件包 $PACKAGE_NAME 的文档文件"
|
||||
rpm -ql $PACKAGE_NAME | grep -E "\.pdf$|\.html$|\.txt$" &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "软件包 $PACKAGE_NAME 未找到文档文件"
|
||||
|
||||
# 步骤6: 清理环境,如果之前未安装则卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤6: 卸载软件包 $PACKAGE_NAME"
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
|
||||
else
|
||||
LOG_INFO "步骤6: 保持软件包 $PACKAGE_NAME 的安装状态"
|
||||
fi
|
||||
|
||||
# 步骤7: 验证环境已恢复
|
||||
LOG_INFO "步骤7: 验证环境已恢复"
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
dnf list installed $PACKAGE_NAME &> /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "软件包 $PACKAGE_NAME 未正确卸载"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 已正确卸载,环境恢复成功"
|
||||
fi
|
||||
else
|
||||
dnf list installed $PACKAGE_NAME &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "软件包 $PACKAGE_NAME 安装状态异常"
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 保持安装状态,环境恢复成功"
|
||||
fi
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,89 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-04-06
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package installation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试texlive-asapsym-doc软件包安装功能"
|
||||
|
||||
# 检查软件包是否已在yum源中
|
||||
LOG_INFO "检查yum源中是否存在texlive-asapsym-doc软件包"
|
||||
dnf list available texlive-asapsym-doc &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在texlive-asapsym-doc软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查当前是否已安装
|
||||
LOG_INFO "检查texlive-asapsym-doc是否已安装"
|
||||
if rpm -q texlive-asapsym-doc &>/dev/null; then
|
||||
LOG_INFO "texlive-asapsym-doc已安装,测试结束后将保持安装状态"
|
||||
ALREADY_INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-asapsym-doc未安装,将执行安装测试"
|
||||
ALREADY_INSTALLED=false
|
||||
fi
|
||||
|
||||
# 如果未安装,则执行安装
|
||||
if [ "$ALREADY_INSTALLED" = "false" ]; then
|
||||
LOG_INFO "开始安装texlive-asapsym-doc"
|
||||
dnf install -y texlive-asapsym-doc
|
||||
CHECK_RESULT $? 0 0 "安装texlive-asapsym-doc失败"
|
||||
|
||||
# 验证安装
|
||||
LOG_INFO "验证texlive-asapsym-doc是否安装成功"
|
||||
rpm -q texlive-asapsym-doc
|
||||
CHECK_RESULT $? 0 0 "验证texlive-asapsym-doc安装失败"
|
||||
fi
|
||||
|
||||
# 测试软件包功能
|
||||
LOG_INFO "测试texlive-asapsym-doc相关功能"
|
||||
# 这里可以添加具体的功能测试命令
|
||||
# 例如:检查文档文件是否存在
|
||||
if [ -d /usr/share/texlive/texmf-dist/doc/asymptote/asapsym ]; then
|
||||
LOG_INFO "找到texlive-asapsym-doc文档目录"
|
||||
else
|
||||
LOG_ERROR "未找到texlive-asapsym-doc文档目录"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 环境恢复
|
||||
LOG_INFO "开始环境恢复"
|
||||
if [ "$ALREADY_INSTALLED" = "false" ]; then
|
||||
LOG_INFO "卸载测试安装的texlive-asapsym-doc"
|
||||
dnf remove -y texlive-asapsym-doc
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-asapsym-doc失败"
|
||||
|
||||
# 验证卸载
|
||||
LOG_INFO "验证texlive-asapsym-doc是否已卸载"
|
||||
rpm -q texlive-asapsym-doc &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "texlive-asapsym-doc卸载验证失败"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "texlive-asapsym-doc已成功卸载"
|
||||
fi
|
||||
else
|
||||
LOG_INFO "保持原安装状态,无需卸载"
|
||||
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-04-06
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test listing package documentation files
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 环境检查:判断是否已安装texlive-asapsym-doc软件包
|
||||
LOG_INFO "检查是否已安装texlive-asapsym-doc软件包"
|
||||
rpm -q texlive-asapsym-doc > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-asapsym-doc已安装,测试后保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "texlive-asapsym-doc未安装,将在测试后卸载"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在texlive-asapsym-doc软件包
|
||||
LOG_INFO "检查yum源中是否存在texlive-asapsym-doc软件包"
|
||||
dnf list available texlive-asapsym-doc > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-asapsym-doc软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装texlive-asapsym-doc软件包"
|
||||
dnf install -y texlive-asapsym-doc
|
||||
CHECK_RESULT $? 0 0 "安装texlive-asapsym-doc失败"
|
||||
fi
|
||||
|
||||
# 测试列出软件包文档文件功能
|
||||
LOG_INFO "测试列出texlive-asapsym-doc软件包文档文件"
|
||||
rpm -ql texlive-asapsym-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "列出texlive-asapsym-doc文档文件失败"
|
||||
|
||||
# 验证列出的文件是否包含文档文件
|
||||
LOG_INFO "验证列出的文件中是否包含文档文件"
|
||||
DOC_FILES=$(rpm -ql texlive-asapsym-doc | grep -E "\.pdf$|\.html$|\.txt$" | head -5)
|
||||
if [ -n "$DOC_FILES" ]; then
|
||||
LOG_INFO "找到文档文件示例:$DOC_FILES"
|
||||
else
|
||||
LOG_ERROR "未找到任何文档文件"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 环境恢复:如果测试前未安装,则卸载软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载texlive-asapsym-doc软件包"
|
||||
dnf remove -y texlive-asapsym-doc
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-asapsym-doc失败"
|
||||
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 : 2026-04-06
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test viewing package documentation content
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装texlive-asapsym-doc
|
||||
LOG_INFO "检查是否已安装texlive-asapsym-doc软件包"
|
||||
rpm -q texlive-asapsym-doc
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-asapsym-doc已安装,标记为已安装状态"
|
||||
INSTALLED_FLAG=1
|
||||
else
|
||||
LOG_INFO "texlive-asapsym-doc未安装,标记为未安装状态"
|
||||
INSTALLED_FLAG=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有该软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-asapsym-doc软件包"
|
||||
dnf list available texlive-asapsym-doc
|
||||
CHECK_RESULT $? 0 255 "yum源中无texlive-asapsym-doc软件包"
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $INSTALLED_FLAG -eq 0 ]; then
|
||||
LOG_INFO "安装texlive-asapsym-doc软件包"
|
||||
dnf install -y texlive-asapsym-doc
|
||||
CHECK_RESULT $? 0 0 "安装texlive-asapsym-doc软件包失败"
|
||||
fi
|
||||
|
||||
# 检查命令参数是否支持
|
||||
LOG_INFO "检查命令参数是否支持"
|
||||
man texdoc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "texdoc命令不存在或不支持"
|
||||
|
||||
# 查看包文档内容
|
||||
LOG_INFO "测试查看texlive-asapsym-doc包文档内容"
|
||||
texdoc asapsym
|
||||
CHECK_RESULT $? 0 0 "查看texlive-asapsym-doc包文档内容失败"
|
||||
|
||||
# 清理环境,恢复到之前的状态
|
||||
if [ $INSTALLED_FLAG -eq 0 ]; then
|
||||
LOG_INFO "卸载texlive-asapsym-doc软件包"
|
||||
dnf remove -y texlive-asapsym-doc
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-asapsym-doc软件包失败"
|
||||
else
|
||||
LOG_INFO "保持texlive-asapsym-doc软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,121 +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-15
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic LaTeX cases environment
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试LaTeX基础环境
|
||||
LOG_INFO "开始测试LaTeX基础环境功能"
|
||||
|
||||
# 检查系统是否已安装texlive
|
||||
LOG_INFO "检查系统是否已安装texlive"
|
||||
if dnf list installed | grep -q texlive; then
|
||||
LOG_INFO "系统已安装texlive,测试完成后将保持安装状态"
|
||||
INSTALLED_BEFORE_TEST=true
|
||||
else
|
||||
LOG_INFO "系统未安装texlive,将在测试中安装"
|
||||
INSTALLED_BEFORE_TEST=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive软件包
|
||||
LOG_INFO "检查yum源中是否有texlive软件包"
|
||||
if ! dnf search texlive 2>/dev/null | grep -q texlive; then
|
||||
LOG_ERROR "yum源中未找到texlive软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装texlive
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
LOG_INFO "开始安装texlive软件包"
|
||||
dnf install -y texlive
|
||||
CHECK_RESULT $? 0 0 "安装texlive失败"
|
||||
LOG_INFO "texlive安装成功"
|
||||
fi
|
||||
|
||||
# 测试tex命令基本功能
|
||||
LOG_INFO "测试tex命令基本功能"
|
||||
tex --version
|
||||
CHECK_RESULT $? 0 0 "tex命令执行失败"
|
||||
|
||||
# 测试latex命令基本功能
|
||||
LOG_INFO "测试latex命令基本功能"
|
||||
latex --version
|
||||
CHECK_RESULT $? 0 0 "latex命令执行失败"
|
||||
|
||||
# 测试pdflatex命令基本功能
|
||||
LOG_INFO "测试pdflatex命令基本功能"
|
||||
pdflatex --version
|
||||
CHECK_RESULT $? 0 0 "pdflatex命令执行失败"
|
||||
|
||||
# 测试bibtex命令基本功能
|
||||
LOG_INFO "测试bibtex命令基本功能"
|
||||
bibtex --version
|
||||
CHECK_RESULT $? 0 0 "bibtex命令执行失败"
|
||||
|
||||
# 测试不支持的参数
|
||||
LOG_INFO "测试不支持的参数"
|
||||
tex --invalid-param 2>/dev/null
|
||||
if [ $? -ne 255 ] && [ $? -ne 0 ]; then
|
||||
LOG_ERROR "tex命令应不支持--invalid-param参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 创建简单的LaTeX测试文件
|
||||
LOG_INFO "创建简单的LaTeX测试文件进行功能测试"
|
||||
cat > test.tex << "EOF"
|
||||
\documentclass{article}
|
||||
\begin{document}
|
||||
Hello, LaTeX World!
|
||||
\end{document}
|
||||
EOF
|
||||
|
||||
# 编译LaTeX文件
|
||||
LOG_INFO "编译LaTeX测试文件"
|
||||
pdflatex -interaction=nonstopmode test.tex
|
||||
CHECK_RESULT $? 0 0 "LaTeX文件编译失败"
|
||||
|
||||
# 检查生成的PDF文件
|
||||
LOG_INFO "检查生成的PDF文件"
|
||||
if [ -f test.pdf ]; then
|
||||
LOG_INFO "PDF文件生成成功"
|
||||
file test.pdf | grep -q "PDF document"
|
||||
CHECK_RESULT $? 0 0 "生成的PDF文件格式不正确"
|
||||
else
|
||||
LOG_ERROR "PDF文件未生成"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f test.tex test.pdf test.aux test.log test.out
|
||||
|
||||
# 如果测试前未安装,则在测试后卸载
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
LOG_INFO "卸载texlive软件包"
|
||||
dnf remove -y texlive
|
||||
CHECK_RESULT $? 0 0 "卸载texlive失败"
|
||||
LOG_INFO "texlive卸载成功"
|
||||
else
|
||||
LOG_INFO "保持texlive安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "LaTeX基础环境功能测试完成"
|
||||
}
|
||||
|
||||
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 : 2026-03-15
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Compile a simple LaTeX document using cases
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "检查系统是否已安装 texlive 相关软件包"
|
||||
if rpm -q texlive &> /dev/null; then
|
||||
LOG_INFO "texlive 已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive 未安装,将在测试过程中安装,并在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
LOG_INFO "检查 yum 源中是否存在 texlive 软件包"
|
||||
if ! dnf list available texlive &> /dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 texlate 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装 texlive 软件包"
|
||||
dnf install -y texlive
|
||||
CHECK_RESULT $? 0 0 "安装 texlive 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "创建一个简单的 LaTeX 测试文档"
|
||||
cat > test_document.tex << "EOF"
|
||||
\documentclass{article}
|
||||
\begin{document}
|
||||
Hello, OpenEuler!
|
||||
\end{document}
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "创建 LaTeX 测试文档失败"
|
||||
|
||||
LOG_INFO "使用 pdflatex 编译 LaTeX 文档"
|
||||
pdflatex test_document.tex
|
||||
CHECK_RESULT $? 0 0 "编译 LaTeX 文档失败"
|
||||
|
||||
LOG_INFO "检查是否生成了 PDF 文件"
|
||||
if [ -f "test_document.pdf" ]; then
|
||||
LOG_INFO "成功生成 PDF 文件: test_document.pdf"
|
||||
else
|
||||
LOG_ERROR "未找到生成的 PDF 文件"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_INFO "清理测试生成的中间文件"
|
||||
rm -f test_document.aux test_document.log test_document.out test_document.tex
|
||||
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 texlive 软件包"
|
||||
dnf remove -y texlive
|
||||
CHECK_RESULT $? 0 0 "卸载 texlive 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,85 +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 : Test package removal
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装texlive-linegoal-doc软件包
|
||||
LOG_INFO "检查texlive-linegoal-doc软件包是否已安装"
|
||||
rpm -q texlive-linegoal-doc > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-linegoal-doc软件包已安装"
|
||||
INSTALLED="yes"
|
||||
else
|
||||
LOG_INFO "texlive-linegoal-doc软件包未安装"
|
||||
INSTALLED="no"
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-linegoal-doc软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-linegoal-doc软件包"
|
||||
dnf list available texlive-linegoal-doc > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-linegoal-doc软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum源中存在texlive-linegoal-doc软件包"
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = "no" ]; then
|
||||
LOG_INFO "安装texlive-linegoal-doc软件包"
|
||||
dnf install -y texlive-linegoal-doc
|
||||
CHECK_RESULT $? 0 0 "安装texlive-linegoal-doc软件包失败"
|
||||
LOG_INFO "texlive-linegoal-doc软件包安装成功"
|
||||
fi
|
||||
|
||||
# 执行测试用例:Test package removal
|
||||
LOG_INFO "执行测试用例:Test package removal"
|
||||
|
||||
# 卸载texlive-linegoal-doc软件包
|
||||
LOG_INFO "卸载texlive-linegoal-doc软件包"
|
||||
dnf remove -y texlive-linegoal-doc
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-linegoal-doc软件包失败"
|
||||
LOG_INFO "texlive-linegoal-doc软件包卸载成功"
|
||||
|
||||
# 验证软件包是否已卸载
|
||||
LOG_INFO "验证texlive-linegoal-doc软件包是否已卸载"
|
||||
rpm -q texlive-linegoal-doc > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "texlive-linegoal-doc软件包卸载后仍然存在"
|
||||
CHECK_RESULT 1 0 0 "软件包卸载验证失败"
|
||||
else
|
||||
LOG_INFO "texlive-linegoal-doc软件包已成功卸载"
|
||||
CHECK_RESULT $? 1 0 "软件包卸载验证成功"
|
||||
fi
|
||||
|
||||
# 环境恢复:如果最初未安装,则保持未安装状态;如果最初已安装,则重新安装
|
||||
LOG_INFO "开始环境恢复"
|
||||
if [ "$INSTALLED" = "no" ]; then
|
||||
LOG_INFO "初始状态未安装,无需重新安装"
|
||||
else
|
||||
LOG_INFO "重新安装texlive-linegoal-doc软件包以恢复到初始状态"
|
||||
dnf install -y texlive-linegoal-doc
|
||||
CHECK_RESULT $? 0 0 "重新安装texlive-linegoal-doc软件包失败"
|
||||
LOG_INFO "texlive-linegoal-doc软件包重新安装成功"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,91 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-16
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic LaTeX usage
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
# 检查软件包是否存在
|
||||
LOG_INFO "检查texlive-linegoal-doc软件包是否在yum源中"
|
||||
if ! dnf list available texlive-linegoal-doc &>/dev/null; then
|
||||
LOG_ERROR "texlive-linegoal-doc软件包不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装
|
||||
LOG_INFO "检查texlive-linegoal-doc是否已安装"
|
||||
if rpm -q texlive-linegoal-doc &>/dev/null; then
|
||||
LOG_INFO "texlive-linegoal-doc已安装,将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-linegoal-doc未安装,将在测试过程中安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 安装软件包(如果未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装texlive-linegoal-doc软件包"
|
||||
dnf install -y texlive-linegoal-doc
|
||||
CHECK_RESULT $? 0 0 "安装texlive-linegoal-doc失败"
|
||||
fi
|
||||
|
||||
# 测试基本LaTeX使用
|
||||
LOG_INFO "测试基本LaTeX使用"
|
||||
LOG_INFO "创建一个简单的LaTeX文档"
|
||||
cat > test_document.tex << "EOF"
|
||||
\documentclass{article}
|
||||
\usepackage{linegoal}
|
||||
\begin{document}
|
||||
Hello, LaTeX!
|
||||
\end{document}
|
||||
EOF
|
||||
|
||||
LOG_INFO "使用pdflatex编译LaTeX文档"
|
||||
if command -v pdflatex &>/dev/null; then
|
||||
pdflatex test_document.tex
|
||||
CHECK_RESULT $? 0 0 "pdflatex编译失败"
|
||||
else
|
||||
LOG_ERROR "pdflatex命令不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "检查生成的PDF文件"
|
||||
if [ -f test_document.pdf ]; then
|
||||
LOG_INFO "PDF文件生成成功"
|
||||
else
|
||||
LOG_ERROR "PDF文件生成失败"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f test_document.tex test_document.log test_document.aux test_document.pdf
|
||||
|
||||
# 卸载软件包(如果测试前未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载texlive-linegoal-doc软件包"
|
||||
dnf remove -y texlive-linegoal-doc
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-linegoal-doc失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
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-11-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test documentation generation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试文档生成功能..."
|
||||
|
||||
# 检查是否已安装texlive-mpattern-doc
|
||||
if dnf list installed texlive-mpattern-doc &>/dev/null; then
|
||||
LOG_INFO "texlive-mpattern-doc已安装,测试结束后将保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "texlive-mpattern-doc未安装,测试结束后将卸载"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-mpattern-doc
|
||||
LOG_INFO "检查yum源中是否有texlive-mpattern-doc..."
|
||||
if ! dnf list available texlive-mpattern-doc &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-mpattern-doc,退出测试"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装texlive-mpattern-doc
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "正在安装texlive-mpattern-doc..."
|
||||
dnf install -y texlive-mpattern-doc
|
||||
CHECK_RESULT $? 0 0 "安装texlive-mpattern-doc失败"
|
||||
fi
|
||||
|
||||
# 测试文档生成功能
|
||||
LOG_INFO "测试文档生成功能..."
|
||||
command_to_test="some_documentation_generation_command"
|
||||
if ! command -v "$command_to_test" &>/dev/null; then
|
||||
LOG_ERROR "命令$command_to_test不存在或不支持,退出测试"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
$command_to_test
|
||||
CHECK_RESULT $? 0 0 "文档生成失败"
|
||||
|
||||
# 清理环境:如果之前未安装,则卸载软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载texlive-mpattern-doc..."
|
||||
dnf remove -y texlive-mpattern-doc
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-mpattern-doc失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试文档生成功能完成"
|
||||
}
|
||||
|
||||
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 : 2026-04-03
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test listing package documentation files
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:列出软件包文档文件"
|
||||
|
||||
# 检查是否已安装texlive-nihbiosketch-doc软件包
|
||||
LOG_INFO "检查texlive-nihbiosketch-doc是否已安装"
|
||||
rpm -q texlive-nihbiosketch-doc > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-nihbiosketch-doc已安装,测试结束后保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "texlive-nihbiosketch-doc未安装,将在测试过程中安装"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有该软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-nihbiosketch-doc软件包"
|
||||
dnf list available texlive-nihbiosketch-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "yum源中未找到texlive-nihbiosketch-doc软件包"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-nihbiosketch-doc软件包,退出测试"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "安装texlive-nihbiosketch-doc软件包"
|
||||
dnf install -y texlive-nihbiosketch-doc
|
||||
CHECK_RESULT $? 0 0 "安装texlive-nihbiosketch-doc失败"
|
||||
fi
|
||||
|
||||
# 测试列出软件包文档文件功能
|
||||
LOG_INFO "测试列出texlive-nihbiosketch-doc软件包的文档文件"
|
||||
rpm -qd texlive-nihbiosketch-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "列出texlive-nihbiosketch-doc文档文件失败"
|
||||
|
||||
# 验证列出的文档文件列表不为空
|
||||
LOG_INFO "验证列出的文档文件列表不为空"
|
||||
DOC_FILES=$(rpm -qd texlive-nihbiosketch-doc)
|
||||
if [ -z "$DOC_FILES" ]; then
|
||||
LOG_ERROR "未找到texlive-nihbiosketch-doc的文档文件"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "成功列出texlive-nihbiosketch-doc的文档文件"
|
||||
fi
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载软件包
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "卸载texlive-nihbiosketch-doc软件包"
|
||||
dnf remove -y texlive-nihbiosketch-doc
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-nihbiosketch-doc失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:成功列出texlive-nihbiosketch-doc软件包的文档文件"
|
||||
}
|
||||
|
||||
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 : 2026-04-03
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package removal process
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试软件包卸载流程"
|
||||
LOG_INFO "检查yum源中是否存在texlive-nihbiosketch-doc软件包"
|
||||
dnf list available texlive-nihbiosketch-doc &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-nihbiosketch-doc软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "检查系统是否已安装texlive-nihbiosketch-doc软件包"
|
||||
rpm -q texlive-nihbiosketch-doc &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "软件包已安装,标记为保持安装状态"
|
||||
already_installed=true
|
||||
else
|
||||
LOG_INFO "软件包未安装,标记为需要清理"
|
||||
already_installed=false
|
||||
fi
|
||||
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "开始安装texlive-nihbiosketch-doc软件包"
|
||||
dnf install -y texlive-nihbiosketch-doc
|
||||
CHECK_RESULT $? 0 0 "软件包安装失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "执行软件包卸载测试"
|
||||
dnf remove -y texlive-nihbiosketch-doc
|
||||
CHECK_RESULT $? 0 0 "软件包卸载失败"
|
||||
|
||||
LOG_INFO "验证软件包是否成功卸载"
|
||||
rpm -q texlive-nihbiosketch-doc &>/dev/null
|
||||
CHECK_RESULT $? 1 0 "软件包卸载后仍存在于系统中"
|
||||
|
||||
if [ "$already_installed" = true ]; then
|
||||
LOG_INFO "恢复原始安装状态"
|
||||
dnf install -y texlive-nihbiosketch-doc
|
||||
CHECK_RESULT $? 0 0 "软件包重新安装失败"
|
||||
LOG_INFO "环境已恢复至初始安装状态"
|
||||
else
|
||||
LOG_INFO "环境已清理,未安装软件包"
|
||||
fi
|
||||
|
||||
LOG_INFO "软件包卸载流程测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,78 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package installation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装texlive-overlock-function包
|
||||
LOG_INFO "检查是否已安装texlive-overlock-function包"
|
||||
rpm -q texlive-overlock-function > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-overlock-function已安装,脚本结束时保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "texlive-overlock-function未安装,将在测试结束后卸载"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-overlock-function包
|
||||
LOG_INFO "检查yum源中是否有texlive-overlock-function包"
|
||||
dnf list available texlive-overlock-function > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-overlock-function包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装texlive-overlock-function包
|
||||
LOG_INFO "安装texlive-overlock-function包"
|
||||
dnf install -y texlive-overlock-function > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装texlive-overlock-function包失败"
|
||||
|
||||
# 验证安装是否成功
|
||||
LOG_INFO "验证texlive-overlock-function是否安装成功"
|
||||
rpm -q texlive-overlock-function > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "验证texlive-overlock-function安装失败"
|
||||
|
||||
# 测试命令参数是否存在或不支持
|
||||
LOG_INFO "测试命令参数是否存在或不支持" #假设测试命令为testcmd --param
|
||||
testcmd --param > /dev/null 2>&1
|
||||
if [ $? -eq 255 ]; then #假设255表示参数不存在或不支持的情况,根据实际情况调整判断条件
|
||||
LOG_ERROR "命令参数不存在或不支持"
|
||||
exit 255 #退出码为255
|
||||
fi
|
||||
|
||||
# 执行其他测试步骤(根据实际需求补充)
|
||||
LOG_INFO "执行其他测试步骤"
|
||||
# 示例:执行某个命令并检查结果
|
||||
ls /tmp > /dev/null #示例命令
|
||||
CHECK_RESULT $? 0 0 "执行命令失败"
|
||||
|
||||
# 清理环境
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载texlive-overlock-function包"
|
||||
dnf remove -y texlive-overlock-function > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 ""卸载texlive-overlock-function包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,65 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Basic functionality test for texlive-tkz-tab
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查texlive-tkz-tab是否已安装
|
||||
LOG_INFO "检查texlive-tkz-tab是否已安装"
|
||||
if dnf list installed texlive-tkz-tab &>/dev/null; then
|
||||
LOG_INFO "texlive-tkz-tab已安装,脚本结束时保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-tkz-tab未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-tkz-tab软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-tkz-tab软件包"
|
||||
if ! dnf list available texlive-tkz-tab &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-tkz-tab软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装texlive-tkz-tab软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装texlive-tkz-tab软件包"
|
||||
dnf install -y texlive-tkz-tab
|
||||
CHECK_RESULT $? 0 0 "安装texlive-tkz-tab失败"
|
||||
fi
|
||||
|
||||
# 测试基本功能
|
||||
LOG_INFO "测试texlive-kzt-ab基本功能"
|
||||
command_to_test="tkzexample --help"
|
||||
eval "$command_to_test" &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "texlive-tkz-ab基本功能测试失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载texlie-kzt-ab软件包"
|
||||
dnf remove -y texlie-kzt-ab
|
||||
CHECK_RESULT $? 0 0 "卸载texlie-kzt-ab失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,127 +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 accent functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查yum源中是否存在指定的软件包
|
||||
check_package_existence() {
|
||||
local package_name=$1
|
||||
dnf list available "$package_name" &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 $package_name 在yum源中不存在"
|
||||
exit 255
|
||||
fi
|
||||
}
|
||||
|
||||
# 检查命令参数是否有效
|
||||
check_command_arguments() {
|
||||
local command=$1
|
||||
shift
|
||||
local args=("$@")
|
||||
|
||||
# 模拟检查参数是否有效
|
||||
if [[ "${args[*]}" == *"invalid"* ]]; then
|
||||
LOG_ERROR "命令 $command 的参数无效或不支持"
|
||||
exit 255
|
||||
fi
|
||||
}
|
||||
|
||||
# 检查环境是否已安装指定软件包
|
||||
check_installed() {
|
||||
local package_name=$1
|
||||
rpm -q "$package_name" &>/dev/null
|
||||
return $?
|
||||
}
|
||||
|
||||
# 安装软件包
|
||||
install_package() {
|
||||
local package_name=$1
|
||||
LOG_INFO "正在安装软件包 $package_name"
|
||||
dnf install -y "$package_name"
|
||||
CHECK_RESULT $? 0 0 "安装软件包 $package_name 失败"
|
||||
}
|
||||
|
||||
# 卸载软件包
|
||||
uninstall_package() {
|
||||
local package_name=$1
|
||||
LOG_INFO "正在卸载软件包 $package_name"
|
||||
dnf remove -y "$package_name"
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 $package_name 失败"
|
||||
}
|
||||
|
||||
# 测试基本重音功能的主函数
|
||||
test_basic_accent_functionality() {
|
||||
local package_name="texlive-accents"
|
||||
local was_installed=false
|
||||
|
||||
# 步骤1:检查环境是否已安装指定软件包
|
||||
LOG_INFO "步骤1:检查环境是否已安装 $package_name"
|
||||
if check_installed "$package_name"; then
|
||||
was_installed=true
|
||||
LOG_INFO "环境已安装 $package_name,脚本结束后将保持安装状态"
|
||||
else
|
||||
LOG_INFO "环境未安装 $package_name,将在测试完成后卸载"
|
||||
check_package_existence "$package_name"
|
||||
install_package "$package_name"
|
||||
|
||||
# Ensure the package is installed successfully before proceeding with tests
|
||||
if ! check_installed "$packagename"; then
|
||||
LOG_ERROR "未能成功安装$packagename"
|
||||
exit255
|
||||
fi
|
||||
fi
|
||||
|
||||
# 步骤2:测试基本重音功能
|
||||
LOG_INFO "步骤2:测试基本重音功能"
|
||||
command="some_accent_command --test"
|
||||
check_command_arguments "$command" "--test"
|
||||
|
||||
# Simulate running the command and checking its result
|
||||
eval "$command"
|
||||
CHECK_RESULT $? 0 0 "测试基本重音功能失败"
|
||||
|
||||
# 步骤3:清理环境(如果最初未安装)
|
||||
if [ "$was_installed" = false ]; then
|
||||
LOG_INFO "步骤3:清理环境,卸载 $packagename"
|
||||
uninstall_packagename "$packagename"
|
||||
|
||||
# Ensure the package is uninstalled successfully
|
||||
if check_installed “$packagename”; then
|
||||
LOG_ERROR “未能成功卸载$packagename”
|
||||
exit255
|
||||
fi
|
||||
else
|
||||
LOG_INFO “步骤3:环境已安装$packagename,无需清理”
|
||||
fi
|
||||
|
||||
LOG_INFO “测试脚本执行完毕”
|
||||
}
|
||||
|
||||
# Main execution starts here.
|
||||
main() {
|
||||
test_basic_accent_functionality
|
||||
}
|
||||
|
||||
main “$@”
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
Reference in New Issue
Block a user