This commit is contained in:
2026-04-18 13:02:14 +08:00
77 changed files with 0 additions and 4563 deletions

View File

@@ -7,41 +7,9 @@
"desc": "测试 ant-contrib-help 软件包的安装功能,确保软件包可以正常安装。",
"machine num": 1
},
{
"name": "test_ant-contrib-help_function_basic",
"desc": "测试 ant-contrib-help 软件包的基本功能,确保核心功能可用。"
},
{
"name": "test_ant-contrib-help_function_usage",
"desc": "测试 ant-contrib-help 软件包的使用说明功能,验证帮助文档是否正确。"
},
{
"name": "test_ant-contrib-help_function_cli",
"desc": "测试 ant-contrib-help 软件包的命令行接口功能,确保命令行参数解析正常。"
},
{
"name": "test_ant-contrib-help_function_install",
"desc": "测试软件包ant-contrib-help的安装功能确保可以通过包管理器成功安装。"
},
{
"name": "test_ant-contrib-help_function_uninstall",
"desc": "测试软件包ant-contrib-help的卸载功能确保可以干净地移除软件包及其相关文件。"
},
{
"name": "test_ant-contrib-help_function_version",
"desc": "测试获取软件包版本信息的功能,验证版本号输出正确。"
},
{
"name": "test_ant-contrib-help_function_help_cmd",
"desc": "测试软件包提供的命令行帮助功能,验证执行帮助命令能正确显示用法信息。"
},
{
"name": "test_ant-contrib-help_function_basic_usage",
"desc": "测试软件包的一个最基本、最常用的核心功能,确保其主要目的能够实现。"
},
{
"name": "test_ant-contrib-help_function_config",
"desc": "测试软件包的配置文件读取或生成功能,确保配置机制工作正常。"
}
]
}

View File

@@ -6,25 +6,9 @@
"name": "test_dpkg-help_function_basic",
"desc": "Test basic functionality of dpkg-help"
},
{
"name": "test_dpkg-help_function_install",
"desc": "Test installation of dpkg-help package"
},
{
"name": "test_dpkg-help_function_uninstall",
"desc": "Test removal of dpkg-help package"
},
{
"name": "test_dpkg-help_function_usage",
"desc": "Test basic usage of dpkg-help command"
},
{
"name": "test_dpkg-help_function_help",
"desc": "Test dpkg-help help option"
},
{
"name": "test_dpkg-help_function_installed",
"desc": "Test if dpkg-help is installed"
}
]
}

View File

@@ -2,10 +2,6 @@
"path": "$OET_PATH/testcases/function_test/pkg_test/fence-agents/fence-agents-docker",
"machine num": 1,
"cases": [
{
"name": "test_fence-agents-docker_function_start",
"desc": "Test the start functionality of fence-agents-docker"
},
{
"name": "test_fence-agents-docker_function_install",
"desc": "Test the installation of fence-agents-docker package"
@@ -13,18 +9,6 @@
{
"name": "test_fence-agents-docker_function_uninstall",
"desc": "Test the uninstallation of fence-agents-docker package"
},
{
"name": "test_fence-agents-docker_function_check_installed",
"desc": "Test if fence-agents-docker package is installed"
},
{
"name": "test_fence-agents-docker_function_list_agents",
"desc": "Test listing available docker fence agents"
},
{
"name": "test_fence-agents-docker_function_agent_help",
"desc": "Test help output of a docker fence agent"
}
]
}

View File

@@ -6,10 +6,6 @@
"name": "test_festival-devel_install",
"desc": "测试festival-devel软件包的安装功能",
"machine num": 1
},
{
"name": "test_festival-devel_function_build",
"desc": "测试festival-devel软件包的构建功能"
}
]
}

View File

@@ -5,26 +5,6 @@
{
"name": "test_glassfish-jaxb-parent_function_install",
"desc": "Test package installation"
},
{
"name": "test_glassfish-jaxb-parent_function_validate",
"desc": "Test XML validation"
},
{
"name": "test_glassfish-jaxb-parent_function_bind",
"desc": "Test Java-XML binding"
},
{
"name": "test_glassfish-jaxb-parent_function_generate",
"desc": "Test code generation"
},
{
"name": "test_glassfish-jaxb-parent_function_unmarshal",
"desc": "Test XML unmarshalling"
},
{
"name": "test_glassfish-jaxb-parent_function_marshal",
"desc": "Test XML marshalling"
}
]
}

View File

@@ -2,18 +2,10 @@
"path": "$OET_PATH/testcases/function_test/pkg_test/jetbrains-annotations/jetbrains-annotations-help",
"machine num": 1,
"cases": [
{
"name": "test_jetbrains-annotations-help_function_install",
"desc": "Test package installation"
},
{
"name": "test_jetbrains-annotations-help_function_uninstall",
"desc": "Test package uninstallation"
},
{
"name": "test_jetbrains-annotations-help_function_usage",
"desc": "Test basic usage"
},
{
"name": "test_jetbrains-annotations-help_function_validate",
"desc": "Test annotation validation"

View File

@@ -1,14 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/kronosnet/libknet1-plugins-all",
"machine num": 1,
"cases": [
{
"name": "test_libknet1-plugins-all_function_load",
"desc": "Test the loading of plugins"
},
{
"name": "test_libknet1-plugins-all_function_plugin_verify",
"desc": "Verify plugin integrity"
}
]
}

View File

@@ -2,21 +2,9 @@
"path": "$OET_PATH/testcases/function_test/pkg_test/perl-ExtUtils-LibBuilder/perl-ExtUtils-LibBuilder-help",
"machine num": 1,
"cases": [
{
"name": "test_perl-ExtUtils-LibBuilder-help_function_install",
"desc": "测试通过包管理器安装软件包"
},
{
"name": "test_perl-ExtUtils-LibBuilder-help_function_check",
"desc": "测试验证软件包是否成功安装"
},
{
"name": "test_perl-ExtUtils-LibBuilder-help_function_usage",
"desc": "测试显示软件包提供的帮助信息"
},
{
"name": "test_perl-ExtUtils-LibBuilder-help_function_uninstall",
"desc": "测试通过包管理器卸载软件包"
}
]
}

View File

@@ -9,18 +9,6 @@
{
"name": "test_python3-configshell_function_parse",
"desc": "Test command parsing"
},
{
"name": "test_python3-configshell_function_execute",
"desc": "Test command execution"
},
{
"name": "test_python3-configshell_function_help",
"desc": "Test help command output"
},
{
"name": "test_python3-configshell_function_config",
"desc": "Test configuration handling"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/python-jupyter-sphinx/python-jupyter-sphinx-help",
"machine num": 1,
"cases": [
{
"name": "test_python-jupyter-sphinx-help_function_install",
"desc": "Test installation of the package"
}
]
}

View File

@@ -11,10 +11,6 @@
"name": "test_python3-jupyter-sphinx_upgrade",
"desc": "测试 python3-jupyter-sphinx 软件包的升级功能,确保软件包可以正常升级。",
"machine num": 1
},
{
"name": "test_python3-jupyter-sphinx_function_render",
"desc": "测试 python3-jupyter-sphinx 软件包的渲染功能,确保文档可以正常渲染。"
}
]
}

View File

@@ -10,33 +10,9 @@
"name": "test_sshj_function_install",
"desc": "Test SSHj library installation and availability in the classpath"
},
{
"name": "test_sshj_function_basic_conn",
"desc": "Test establishing a basic SSH connection to a server"
},
{
"name": "test_sshj_function_exec_cmd",
"desc": "Test executing a command on a remote server via SSH"
},
{
"name": "test_sshj_function_file_transfer",
"desc": "Test uploading and downloading files using SFTP"
},
{
"name": "test_sshj_function_key_auth",
"desc": "Test SSH authentication using private key"
},
{
"name": "test_sshj_function_session_channel",
"desc": "Test opening and using interactive shell channels"
},
{
"name": "test_sshj_function_conn_timeout",
"desc": "Test SSH connection timeout behavior"
},
{
"name": "test_sshj_function_version",
"desc": "Test retrieving and verifying the SSHj library version"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-a/texlive-armtex",
"machine num": 1,
"cases": [
{
"name": "test_texlive-armtex_function_install",
"desc": "Test installation of texlive-armtex"
}
]
}

View File

@@ -13,14 +13,6 @@
{
"name": "test_texlive-fundus-calligra-doc_function_version",
"desc": "Test package version info"
},
{
"name": "test_texlive-fundus-calligra-doc_function_doc_exist",
"desc": "Test documentation files existence"
},
{
"name": "test_texlive-fundus-calligra-doc_function_doc_content",
"desc": "Test documentation content sanity"
}
]
}

View File

@@ -26,21 +26,6 @@
"name": "test_texlive-luaintro-doc_rollback",
"desc": "测试 texlive-luaintro-doc 软件包的回滚功能,验证是否能够正确回滚到之前的版本。",
"machine num": 1
},
{
"name": "test_texlive-luaintro-doc_reinstall",
"desc": "测试 texlive-luaintro-doc 软件包的重新安装功能,验证是否能够正确重新安装到系统中。",
"machine num": 1
},
{
"name": "test_texlive-luaintro-doc_documentation",
"desc": "测试 texlive-luaintro-doc 软件包的文档功能,验证文档是否正确安装并可访问。",
"machine num": 1
},
{
"name": "test_texlive-luaintro-doc_verify_documentation",
"desc": "测试 texlive-luaintro-doc 软件包的文档验证功能,验证文档内容是否正确且完整。",
"machine num": 1
}
]
}

View File

@@ -9,18 +9,6 @@
{
"name": "test_texlive-modref_function_uninstall",
"desc": "Test package removal"
},
{
"name": "test_texlive-modref_function_version",
"desc": "Check package version info"
},
{
"name": "test_texlive-modref_function_basic_usage",
"desc": "Test basic LaTeX command usage"
},
{
"name": "test_texlive-modref_function_file_list",
"desc": "Verify installed files list"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-r/texlive-pawpict",
"machine num": 1,
"cases": [
{
"name": "test_texlive-pawpict_function_basic",
"desc": "Test basic functionality of texlive-pawpict"
}
]
}

View File

@@ -1,30 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-u/texlive-sclang-prettifier-doc",
"machine num": 1,
"cases": [
{
"name": "test_texlive-sclang-prettifier-doc_function_basic",
"desc": "Verify basic doc functionality"
},
{
"name": "test_texlive-sclang-prettifier-doc_function_install",
"desc": "Verify the package can be installed successfully"
},
{
"name": "test_texlive-sclang-prettifier-doc_function_uninstall",
"desc": "Verify the package can be cleanly uninstalled"
},
{
"name": "test_texlive-sclang-prettifier-doc_function_check_installed",
"desc": "Verify the package is correctly reported as installed"
},
{
"name": "test_texlive-sclang-prettifier-doc_function_doc_files_exist",
"desc": "Verify core documentation files are present after installation"
},
{
"name": "test_texlive-sclang-prettifier-doc_function_doc_content",
"desc": "Verify documentation contains key usage examples and API reference"
}
]
}

View File

@@ -18,14 +18,6 @@
{
"name": "test_texlive-silence_function_check_installed",
"desc": "测试检查texlive-silence软件包是否已正确安装验证其核心文件存在且可访问"
},
{
"name": "test_texlive-silence_function_suppress_warnings",
"desc": "测试texlive-silence包的核心功能在LaTeX文档中抑制特定警告信息验证警告被正确过滤"
},
{
"name": "test_texlive-silence_function_verbatim_filters",
"desc": "测试texlive-silence包对特定verbatim环境或命令的输出过滤功能验证其过滤规则生效"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-v/texlive-simpler-wick",
"machine num": 1,
"cases": [
{
"name": "test_texlive-simpler-wick_function_basic",
"desc": "Test basic command usage"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-w/texlive-texlogos",
"machine num": 1,
"cases": [
{
"name": "test_texlive-texlogos_function_font",
"desc": "Test font rendering functionality"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-x/texlive-txgreeks",
"machine num": 1,
"cases": [
{
"name": "test_texlive-txgreeks_function_install",
"desc": "Test installation of texlive-txgreeks"
}
]
}

View File

@@ -1,14 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/uriparser/uriparser-help",
"machine num": 1,
"cases": [
{
"name": "test_uriparser-help_function_parse",
"desc": "Test URI parsing functionality"
},
{
"name": "test_uriparser-help_function_normalize",
"desc": "Test URI normalization functionality"
}
]
}

View File

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

View File

@@ -1,84 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试软件包的一个最基本、最常用的核心功能,确保其主要目的能够实现。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试 ant-contrib 软件包的基本帮助功能"
LOG_INFO "步骤1: 检查 ant-contrib 软件包是否已在系统中安装"
if dnf list installed ant-contrib &>/dev/null; then
LOG_INFO "ant-contrib 软件包已安装,测试结束后将保持安装状态"
already_installed=true
else
LOG_INFO "ant-contrib 软件包未安装"
already_installed=false
fi
LOG_INFO "步骤2: 检查 yum 源中是否存在 ant-contrib 软件包"
if ! dnf list available ant-contrib &>/dev/null; then
LOG_ERROR "yum 源中未找到 ant-contrib 软件包"
exit 255
fi
if [ "$already_installed" = false ]; then
LOG_INFO "步骤3: 安装 ant-contrib 软件包"
dnf install -y ant-contrib
CHECK_RESULT $? 0 0 "安装 ant-contrib 软件包失败"
fi
LOG_INFO "步骤4: 测试 ant-contrib 核心命令的基本帮助功能"
LOG_INFO "执行 "ant-contrib -help" 命令"
ant-contrib -help
CHECK_RESULT $? 0 0 "执行 ant-contrib -help 命令失败"
LOG_INFO "步骤5: 检查帮助输出是否包含预期关键词"
help_output=$(ant-contrib -help 2>&1)
if echo "$help_output" | grep -q "Usage\|用法\|帮助"; then
LOG_INFO "帮助信息输出正常,包含预期关键词"
else
LOG_ERROR "帮助信息输出异常,未找到预期关键词"
CHECK_RESULT 1 0 0 "帮助信息内容检查失败"
fi
LOG_INFO "步骤6: 测试不支持的参数"
LOG_INFO "尝试使用不存在的参数 "--nonexistent""
if ant-contrib --nonexistent &>/dev/null; then
LOG_ERROR "不支持的参数未按预期报错"
exit 255
else
LOG_INFO "不支持的参数正确处理,命令执行失败为预期行为"
fi
LOG_INFO "步骤7: 环境清理"
if [ "$already_installed" = false ]; then
LOG_INFO "卸载测试安装的 ant-contrib 软件包"
dnf remove -y ant-contrib
CHECK_RESULT $? 0 0 "卸载 ant-contrib 软件包失败"
LOG_INFO "已恢复测试前状态"
else
LOG_INFO "保持 ant-contrib 软件包的安装状态"
fi
LOG_INFO "ant-contrib 基本帮助功能测试完成"
}
main "$@"

View File

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

View File

@@ -1,115 +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-26
# @License : Mulan PSL v2
# @Desc : 测试软件包的配置文件读取或生成功能,确保配置机制工作正常。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试软件包配置文件读取或生成功能
LOG_INFO "1. 检查是否已安装 ant-contrib 软件包"
rpm -q ant-contrib > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "ant-contrib 已安装,标记为已安装状态"
INSTALLED="true"
else
LOG_INFO "ant-contrib 未安装,标记为未安装状态"
INSTALLED="false"
fi
LOG_INFO "2. 检查 yum 源中是否有 ant-contrib 软件包"
dnf list available ant-contrib > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum 源中未找到 ant-contrib 软件包"
exit 255
fi
LOG_INFO "3. 如果未安装,则安装 ant-contrib 软件包"
if [ "$INSTALLED" = "false" ]; then
dnf install -y ant-contrib
CHECK_RESULT $? 0 0 "安装 ant-contrib 失败"
LOG_INFO "ant-contrib 安装成功"
fi
LOG_INFO "4. 检查 ant-contrib 是否支持 --help 参数"
ant-contrib --help > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "ant-contrib 不支持 --help 参数"
# 如果是未安装状态,需要卸载
if [ "$INSTALLED" = "false" ]; then
dnf remove -y ant-contrib
fi
exit 255
fi
LOG_INFO "5. 测试配置文件读取功能"
# 假设 ant-contrib 有一个配置文件读取功能
# 这里使用一个示例命令来模拟配置文件读取
CONFIG_FILE="/etc/ant-contrib/ant-contrib.properties"
if [ -f "$CONFIG_FILE" ]; then
LOG_INFO "找到配置文件 $CONFIG_FILE,测试读取"
cat "$CONFIG_FILE" > /dev/null 2>&1
CHECK_RESULT $? 0 0 "读取配置文件失败"
else
LOG_INFO "配置文件不存在,测试生成默认配置"
# 模拟生成默认配置文件的命令
ant-contrib --generate-config > /dev/null 2>&1
CHECK_RESULT $? 0 0 "生成默认配置文件失败"
# 检查生成的文件是否存在
if [ -f "$CONFIG_FILE" ]; then
LOG_INFO "成功生成配置文件"
else
LOG_ERROR "生成配置文件失败"
CHECK_RESULT 1 0 0 "配置文件生成验证失败"
fi
fi
LOG_INFO "6. 测试配置参数验证"
# 测试一个有效的配置参数
ant-contrib --config-validate > /dev/null 2>&1
CHECK_RESULT $? 0 0 "配置参数验证失败"
LOG_INFO "7. 测试无效参数处理"
# 测试一个不支持的参数,应该失败
ant-contrib --invalid-parameter > /dev/null 2>&1
if [ $? -eq 255 ]; then
LOG_INFO "无效参数正确处理,返回码为 255"
CHECK_RESULT 0 0 0 "无效参数处理失败"
else
LOG_ERROR "无效参数未正确处理"
# 如果是未安装状态,需要卸载
if [ "$INSTALLED" = "false" ]; then
dnf remove -y ant-contrib
fi
exit 255
fi
LOG_INFO "8. 清理测试环境"
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "卸载测试安装的 ant-contrib 软件包"
dnf remove -y ant-contrib
CHECK_RESULT $? 0 0 "卸载 ant-contrib 失败"
LOG_INFO "环境已恢复到测试前状态"
else
LOG_INFO "保持 ant-contrib 安装状态"
fi
LOG_INFO "9. 测试完成,所有配置功能验证通过"
}
main "$@"

View File

@@ -1,123 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试软件包提供的命令行帮助功能,验证执行帮助命令能正确显示用法信息。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义日志函数
LOG_INFO() {
echo "[INFO] $1"
}
LOG_ERROR() {
echo "[ERROR] $1"
}
# 定义检查结果函数
CHECK_RESULT() {
local actual=$1
local expect=$2
local code=$3
local msg=$4
if [ $actual -ne $expect ]; then
LOG_ERROR "$msg"
exit $code
fi
}
# 定义SSH命令函数仅作占位符实际使用时需确保已定义
SSH_CMD() {
# 模拟SSH命令执行
local cmd=$1
local node_ip=$2
local node_password=$3
local node_user=$4
LOG_INFO "在节点 $node_ip 上执行命令: $cmd"
# 此处仅为示例实际应实现SSH连接和执行
sshpass -p "$node_password" ssh -o StrictHostKeyChecking=no "$node_user@$node_ip" "$cmd"
}
# 定义软件包名称和命令
PACKAGE_NAME="ant-contrib"
COMMAND_NAME="ant-contrib"
HELP_CMD="--help"
# 检查软件包是否已安装
LOG_INFO "检查是否已安装 $PACKAGE_NAME 软件包"
if rpm -q $PACKAGE_NAME &> /dev/null; then
LOG_INFO "$PACKAGE_NAME 已安装,脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "$PACKAGE_NAME 未安装,将在测试后卸载"
INSTALLED=false
fi
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否有 $PACKAGE_NAME 软件包"
if ! dnf list available $PACKAGE_NAME &> /dev/null; then
LOG_ERROR "yum源中未找到 $PACKAGE_NAME 软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装 $PACKAGE_NAME 软件包"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装 $PACKAGE_NAME 失败"
fi
# 检查命令是否存在
LOG_INFO "检查命令 $COMMAND_NAME 是否存在"
if ! command -v $COMMAND_NAME &> /dev/null; then
LOG_ERROR "命令 $COMMAND_NAME 不存在"
exit 255
fi
# 检查帮助参数是否支持
LOG_INFO "检查命令 $COMMAND_NAME 是否支持帮助参数 $HELP_CMD"
if ! $COMMAND_NAME $HELP_CMD &> /dev/null; then
LOG_ERROR "命令 $COMMAND_NAME 不支持参数 $HELP_CMD"
exit 255
fi
# 执行帮助命令并验证输出
LOG_INFO "执行命令 $COMMAND_NAME $HELP_CMD 并验证输出"
OUTPUT=$($COMMAND_NAME $HELP_CMD 2>&1)
CHECK_RESULT $? 0 0 "执行帮助命令失败"
if echo "$OUTPUT" | grep -q "用法\|用法信息\|帮助"; then
LOG_INFO "帮助命令输出包含用法信息,测试通过"
else
LOG_ERROR "帮助命令输出未包含用法信息"
exit 1
fi
# 清理环境:如果测试前未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载 $PACKAGE_NAME 软件包"
dnf remove -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "卸载 $PACKAGE_NAME 失败"
LOG_INFO "环境已恢复到测试前的状态"
else
LOG_INFO "保持 $PACKAGE_NAME 的安装状态"
fi
LOG_INFO "测试脚本执行完毕"
}
main "$@"

View File

@@ -1,63 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试软件包ant-contrib-help的安装功能确保可以通过包管理器成功安装。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试ant-contrib-help软件包的安装功能"
LOG_INFO "步骤1: 检查ant-contrib-help软件包是否已在yum源中"
dnf list available ant-contrib-help &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到ant-contrib-help软件包"
exit 255
fi
LOG_INFO "步骤2: 检查ant-contrib-help软件包是否已安装"
rpm -q ant-contrib-help &>/dev/null
if [ $? -eq 0 ]; then
LOG_INFO "ant-contrib-help软件包已安装测试将保持安装状态"
INSTALLED=true
else
LOG_INFO "ant-contrib-help软件包未安装将执行安装测试"
INSTALLED=false
fi
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "步骤3: 使用dnf安装ant-contrib-help软件包"
dnf install -y ant-contrib-help
CHECK_RESULT $? 0 0 "安装ant-contrib-help软件包失败"
fi
LOG_INFO "步骤4: 验证ant-contrib-help软件包安装成功"
rpm -q ant-contrib-help
CHECK_RESULT $? 0 0 "验证ant-contrib-help软件包安装状态失败"
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "步骤5: 清理环境卸载测试安装的ant-contrib-help软件包"
dnf remove -y ant-contrib-help
CHECK_RESULT $? 0 0 "卸载ant-contrib-help软件包失败"
LOG_INFO "环境已恢复ant-contrib-help软件包已卸载"
else
LOG_INFO "环境保持原有安装状态,无需清理"
fi
LOG_INFO "ant-contrib-help软件包安装功能测试完成"
}
main "$@"

View File

@@ -1,71 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试软件包ant-contrib-help的卸载功能确保可以干净地移除软件包及其相关文件。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试ant-contrib-help软件包的卸载功能"
LOG_INFO "步骤1: 检查系统中是否已安装ant-contrib-help软件包"
if dnf list installed ant-contrib-help &>/dev/null; then
LOG_INFO "检测到ant-contrib-help已安装测试将验证卸载功能"
INSTALLED_BEFORE_TEST=true
else
LOG_INFO "检测到ant-contrib-help未安装测试将先安装再卸载"
INSTALLED_BEFORE_TEST=false
fi
LOG_INFO "步骤2: 检查yum源中是否存在ant-contrib-help软件包"
if ! dnf list available ant-contrib-help &>/dev/null; then
LOG_ERROR "yum源中未找到ant-contrib-help软件包"
exit 255
fi
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
LOG_INFO "步骤3: 安装ant-contrib-help软件包"
dnf install -y ant-contrib-help
CHECK_RESULT $? 0 0 "安装ant-contrib-help软件包失败"
fi
LOG_INFO "步骤4: 执行卸载命令,测试卸载功能"
dnf remove -y ant-contrib-help
CHECK_RESULT $? 0 0 "卸载ant-contrib-help软件包失败"
LOG_INFO "步骤5: 验证软件包是否已成功卸载"
if dnf list installed ant-contrib-help &>/dev/null; then
LOG_ERROR "卸载后ant-contrib-help软件包仍显示为已安装状态"
exit 1
else
LOG_INFO "ant-contrib-help软件包已成功卸载"
fi
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
LOG_INFO "步骤6: 环境恢复 - 由于测试前未安装,无需重新安装"
else
LOG_INFO "步骤6: 环境恢复 - 重新安装ant-contrib-help软件包以恢复原始状态"
dnf install -y ant-contrib-help
CHECK_RESULT $? 0 0 "重新安装ant-contrib-help软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,59 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-09
# @License : Mulan PSL v2
# @Desc : 测试 ant-contrib-help 软件包的使用说明功能,验证帮助文档是否正确。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 ant-contrib-help 软件包的使用说明功能,验证帮助文档是否正确。"
LOG_INFO "步骤1检查环境是否已安装 ant-contrib-help 软件包"
if dnf list installed ant-contrib-help &>/dev/null; then
LOG_INFO "环境已安装 ant-contrib-help 软件包,测试结束后将保持安装状态"
installed=true
else
LOG_INFO "环境未安装 ant-contrib-help 软件包,测试结束后将卸载"
installed=false
fi
LOG_INFO "步骤2检查 yum 源中是否存在 ant-contrib-help 软件包"
if ! dnf list available ant-contrib-help &>/dev/null; then
LOG_ERROR "yum 源中不存在 ant-contrib-help 软件包"
exit 255
fi
if [ "$installed" = false ]; then
LOG_INFO "步骤3安装 ant-contrib-help 软件包"
dnf install -y ant-contrib-help
CHECK_RESULT $? 0 0 "安装 ant-contrib-help 软件包失败"
fi
LOG_INFO "步骤4验证 ant-contrib-help 命令的帮助文档功能"
ant-contrib-help --help &>/dev/null
CHECK_RESULT $? 0 0 "ant-contrib-help 命令的帮助文档功能验证失败"
if [ "$installed" = false ]; then
LOG_INFO "步骤5卸载 ant-contrib-help 软件包以恢复环境"
dnf remove -y ant-contrib-help
CHECK_RESULT $? 0 0 "卸载 ant-contrib-help 软件包失败"
fi
LOG_INFO "测试完成,环境已恢复初始状态"
}
main "$@"

View File

@@ -1,72 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-15
# @License : Mulan PSL v2
# @Desc : Test dpkg-help help option
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 dpkg-help 的 help 选项功能"
# 步骤1检查系统中是否已安装 dpkg-help 软件包
LOG_INFO "检查 dpkg-help 是否已安装"
if dnf list installed dpkg-help > /dev/null 2>&1; then
LOG_INFO "dpkg-help 已安装,将保持安装状态"
already_installed=true
else
LOG_INFO "dpkg-help 未安装,将在测试中安装"
already_installed=false
fi
# 步骤2检查 yum 源中是否有 dpkg-help 软件包
LOG_INFO "检查 yum 源中是否有 dpkg-help 软件包"
if ! dnf list available dpkg-help > /dev/null 2>&1; then
LOG_ERROR "yum 源中未找到 dpkg-help 软件包"
exit 255
fi
# 步骤3如果未安装则安装 dpkg-help
if [ "$already_installed" = false ]; then
LOG_INFO "安装 dpkg-help 软件包"
dnf install -y dpkg-help
CHECK_RESULT $? 0 0 "安装 dpkg-help 失败"
fi
# 步骤4测试 dpkg-help 的 help 选项
LOG_INFO "测试 dpkg-help 的 help 选项"
dpkg-help --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "dpkg-help --help 执行失败"
# 步骤5测试不支持的参数
LOG_INFO "测试不支持的参数"
dpkg-help --invalid-option > /dev/null 2>&1
if [ $? -eq 255 ]; then
LOG_ERROR "dpkg-help 不支持该参数"
exit 255
fi
# 步骤6清理环境如果测试前未安装则卸载 dpkg-help
if [ "$already_installed" = false ]; then
LOG_INFO "卸载 dpkg-help 软件包"
dnf remove -y dpkg-help
CHECK_RESULT $? 0 0 "卸载 dpkg-help 失败"
fi
LOG_INFO "测试 dpkg-help 的 help 选项功能完成"
}
main "$@"

View File

@@ -1,101 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-15
# @License : Mulan PSL v2
# @Desc : Test installation of dpkg-help package
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试dpkg-help软件包安装功能
LOG_INFO "开始测试dpkg-help软件包安装功能"
# 定义软件包名称
PACKAGE_NAME="dpkg-help"
# 步骤1检查yum源中是否存在dpkg-help软件包
LOG_INFO "步骤1检查yum源中是否存在${PACKAGE_NAME}软件包"
dnf list available ${PACKAGE_NAME} &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在${PACKAGE_NAME}软件包"
exit 255
fi
LOG_INFO "yum源中存在${PACKAGE_NAME}软件包"
# 步骤2检查dpkg-help软件包是否已经安装
LOG_INFO "步骤2检查${PACKAGE_NAME}软件包是否已经安装"
rpm -q ${PACKAGE_NAME} &>/dev/null
IS_INSTALLED=$?
# 记录初始安装状态
if [ ${IS_INSTALLED} -eq 0 ]; then
LOG_INFO "${PACKAGE_NAME}软件包已安装"
INITIAL_STATE="installed"
else
LOG_INFO "${PACKAGE_NAME}软件包未安装"
INITIAL_STATE="not_installed"
fi
# 步骤3如果未安装则安装软件包
if [ ${IS_INSTALLED} -ne 0 ]; then
LOG_INFO "步骤3安装${PACKAGE_NAME}软件包"
dnf install -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}软件包失败"
LOG_INFO "${PACKAGE_NAME}软件包安装成功"
fi
# 步骤4验证软件包安装成功
LOG_INFO "步骤4验证${PACKAGE_NAME}软件包安装成功"
rpm -q ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "${PACKAGE_NAME}软件包未正确安装"
# 步骤5测试dpkg-help命令的基本功能
LOG_INFO "步骤5测试dpkg-help命令的基本功能"
dpkg-help --help &>/dev/null
CHECK_RESULT $? 0 0 "dpkg-help命令执行失败"
# 步骤6测试dpkg-help命令的特定参数示例
LOG_INFO "步骤6测试dpkg-help命令的特定参数"
dpkg-help --version &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "dpkg-help命令不支持--version参数"
exit 255
fi
LOG_INFO "dpkg-help命令支持--version参数"
# 步骤7清理环境恢复到初始状态
LOG_INFO "步骤7清理环境恢复到初始状态"
if [ "${INITIAL_STATE}" = "not_installed" ]; then
LOG_INFO "卸载${PACKAGE_NAME}软件包"
dnf remove -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}软件包失败"
LOG_INFO "${PACKAGE_NAME}软件包卸载成功"
# 验证软件包已卸载
rpm -q ${PACKAGE_NAME} &>/dev/null
if [ $? -eq 0 ]; then
LOG_ERROR "${PACKAGE_NAME}软件包卸载失败"
exit 1
fi
LOG_INFO "环境已恢复到未安装状态"
else
LOG_INFO "保持${PACKAGE_NAME}软件包安装状态"
fi
LOG_INFO "测试dpkg-help软件包安装功能完成"
}
main "$@"

View File

@@ -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-03-15
# @License : Mulan PSL v2
# @Desc : Test if dpkg-help is installed
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试dpkg-help是否安装
LOG_INFO "开始测试dpkg-help是否已安装"
# 定义软件包名称
PACKAGE_NAME="dpkg-help"
LOG_INFO "检查软件包: ${PACKAGE_NAME}"
# 检查是否已安装
LOG_INFO "检查${PACKAGE_NAME}是否已安装"
if dnf list installed "${PACKAGE_NAME}" >/dev/null 2>&1; then
LOG_INFO "${PACKAGE_NAME}已安装,测试期间保持安装状态"
ALREADY_INSTALLED=1
else
LOG_INFO "${PACKAGE_NAME}未安装,将在测试期间安装"
ALREADY_INSTALLED=0
fi
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否有${PACKAGE_NAME}软件包"
if ! dnf list available "${PACKAGE_NAME}" >/dev/null 2>&1; then
LOG_ERROR "yum源中未找到${PACKAGE_NAME}软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "${ALREADY_INSTALLED}" -eq 0 ]; then
LOG_INFO "开始安装${PACKAGE_NAME}"
dnf install -y "${PACKAGE_NAME}"
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}失败"
LOG_INFO "${PACKAGE_NAME}安装成功"
fi
# 测试dpkg-help命令
LOG_INFO "测试dpkg-help命令"
dpkg-help --help >/dev/null 2>&1
CHECK_RESULT $? 0 0 "dpkg-help命令执行失败"
# 测试dpkg-help的具体功能
LOG_INFO "测试dpkg-help显示帮助信息"
dpkg-help | grep -q "Usage\|用法"
CHECK_RESULT $? 0 0 "dpkg-help未显示预期的帮助信息"
# 测试不支持的参数
LOG_INFO "测试dpkg-help不支持无效参数"
dpkg-help --invalid-param >/dev/null 2>&1
if [ $? -eq 255 ]; then
LOG_INFO "无效参数正确处理返回255"
# 继续执行,这是预期行为
else
# 如果命令执行成功或返回其他错误码,检查是否为成功
CHECK_RESULT $? 0 1 "无效参数处理不符合预期"
fi
# 清理环境:如果测试前未安装,则卸载软件包
if [ "${ALREADY_INSTALLED}" -eq 0 ]; then
LOG_INFO "清理环境:卸载${PACKAGE_NAME}"
dnf remove -y "${PACKAGE_NAME}"
CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}失败"
LOG_INFO "环境清理完成"
else
LOG_INFO "测试前${PACKAGE_NAME}已安装,保持安装状态"
fi
LOG_INFO "测试完成dpkg-help功能正常"
}
main "$@"

View File

@@ -1,94 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-15
# @License : Mulan PSL v2
# @Desc : Test removal of dpkg-help package
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义颜色输出可选如果LOG_INFO/LOG_ERROR需要
LOG_INFO() {
echo -e "\033[32m[INFO]\033[0m $*"
}
LOG_ERROR() {
echo -e "\033[31m[ERROR]\033[0m $*"
}
# 定义软件包名称
PACKAGE_NAME="dpkg-help"
# 步骤1检查yum源中是否存在dpkg-help软件包
LOG_INFO "步骤1检查yum源中是否存在$PACKAGE_NAME软件包"
dnf list available "$PACKAGE_NAME" &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在$PACKAGE_NAME软件包,退出测试"
exit 255
fi
# 步骤2检查当前环境是否已安装dpkg-help
LOG_INFO "步骤2检查当前环境是否已安装$PACKAGE_NAME"
rpm -q "$PACKAGE_NAME" &>/dev/null
if [ $? -eq 0 ]; then
LOG_INFO "$PACKAGE_NAME已安装,测试结束后将保持安装状态"
INSTALLED_BEFORE=true
else
LOG_INFO "$PACKAGE_NAME未安装,将在测试过程中安装并最终卸载"
INSTALLED_BEFORE=false
fi
# 步骤3安装dpkg-help软件包如果未安装
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "步骤3安装$PACKAGE_NAME软件包"
dnf install -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "安装$PACKAGE_NAME失败"
LOG_INFO "$PACKAGE_NAME安装成功"
fi
# 步骤4验证dpkg-help命令是否存在
LOG_INFO "步骤4验证dpkg-help命令是否存在"
command -v dpkg-help &>/dev/null
CHECK_RESULT $? 0 0 "dpkg-help命令不存在"
# 步骤5测试dpkg-help命令基本功能
LOG_INFO "步骤5测试dpkg-help命令基本功能"
dpkg-help --help &>/dev/null
CHECK_RESULT $? 0 0 "dpkg-help --help执行失败"
# 步骤6测试不支持的参数
LOG_INFO "步骤6测试不支持的参数例如--invalid-param"
dpkg-help --invalid-param &>/dev/null
if [ $? -ne 255 ] && [ $? -ne 1 ]; then
LOG_ERROR "dpkg-help不支持--invalid-param参数但未按预期退出"
exit 255
fi
LOG_INFO "dpkg-help对不支持参数处理正确"
# 步骤7清理环境如果测试前未安装则卸载
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "步骤7卸载$PACKAGE_NAME软件包"
dnf remove -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "卸载$PACKAGE_NAME失败"
LOG_INFO "$PACKAGE_NAME卸载成功,环境已恢复"
else
LOG_INFO "步骤7测试前已安装$PACKAGE_NAME,保持安装状态"
fi
LOG_INFO "测试完成dpkg-help软件包卸载测试通过"
}
main "$@"

View File

@@ -1,74 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-04-04
# @License : Mulan PSL v2
# @Desc : Test help output of a docker fence agent
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Test help output of a docker fence agent"
# 定义软件包名称
PACKAGE_NAME="fence-agents-docker"
# 步骤1: 检查yum源中是否存在指定软件包
LOG_INFO "步骤1: 检查yum源中是否存在软件包 $PACKAGE_NAME"
dnf list available "$PACKAGE_NAME" > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 $PACKAGE_NAME 在yum源中不存在"
exit 255
fi
# 步骤2: 检查是否已经安装软件包
LOG_INFO "步骤2: 检查是否已经安装软件包 $PACKAGE_NAME"
rpm -q "$PACKAGE_NAME" > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "软件包 $PACKAGE_NAME 已经安装,测试结束后将保持安装状态"
INSTALLED_BEFORE=1
else
LOG_INFO "软件包 $PACKAGE_NAME 未安装,将在测试步骤中安装"
INSTALLED_BEFORE=0
fi
# 步骤3: 如果未安装,则安装软件包
if [ $INSTALLED_BEFORE -eq 0 ]; then
LOG_INFO "步骤3: 安装软件包 $PACKAGE_NAME"
dnf install -y "$PACKAGE_NAME" > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
fi
# 步骤4: 测试fence_agent_docker的帮助输出
LOG_INFO "步骤4: 测试fence_agent_docker的帮助输出"
fence_agent_docker --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "执行 fence_agent_docker --help 失败"
# 步骤5: 检查帮助输出是否包含关键信息
LOG_INFO "步骤5: 检查帮助输出是否包含关键信息"
fence_agent_docker --help 2>&1 | grep -q "Usage:"
CHECK_RESULT $? 0 0 "帮助输出中未找到 "Usage:" 信息"
# 步骤6: 如果之前未安装,则卸载软件包
if [ $INSTALLED_BEFORE -eq 0 ]; then
LOG_INFO "步骤6: 卸载软件包 $PACKAGE_NAME"
dnf remove -y "$PACKAGE_NAME" > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
fi
LOG_INFO "测试完成Test help output of a docker fence agent"
}
main "$@"

View File

@@ -1,106 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-04-04
# @License : Mulan PSL v2
# @Desc : Test if fence-agents-docker package is installed
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试fence-agents-docker软件包是否安装
LOG_INFO "开始测试fence-agents-docker软件包安装功能"
# 检查是否已安装fence-agents-docker
LOG_INFO "步骤1检查当前环境中fence-agents-docker软件包是否已安装"
if rpm -q fence-agents-docker &>/dev/null; then
LOG_INFO "fence-agents-docker软件包已安装标记为保持安装状态"
ALREADY_INSTALLED=1
else
LOG_INFO "fence-agents-docker软件包未安装"
ALREADY_INSTALLED=0
fi
# 检查yum源中是否有该软件包
LOG_INFO "步骤2检查yum源中是否有fence-agents-docker软件包"
if ! dnf list available fence-agents-docker &>/dev/null; then
LOG_ERROR "yum源中未找到fence-agents-docker软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "步骤3安装fence-agents-docker软件包"
dnf install -y fence-agents-docker
CHECK_RESULT $? 0 0 "安装fence-agents-docker软件包失败"
LOG_INFO "fence-agents-docker软件包安装成功"
fi
# 验证软件包是否已正确安装
LOG_INFO "步骤4验证fence-agents-docker软件包是否已正确安装"
rpm -q fence-agents-docker
CHECK_RESULT $? 0 0 "验证fence-agents-docker软件包安装失败"
# 检查fence命令是否可用
LOG_INFO "步骤5检查fence命令是否可用"
if ! command -v fence &>/dev/null; then
LOG_ERROR "fence命令不存在"
exit 255
fi
# 测试fence命令的基本功能
LOG_INFO "步骤6测试fence命令的基本功能"
fence --help
CHECK_RESULT $? 0 0 "fence命令执行失败"
# 检查fence_docker代理是否可用
LOG_INFO "步骤7检查fence_docker代理是否可用"
if ! fence --list | grep -q docker; then
LOG_ERROR "fence_docker代理不存在或不支持"
exit 255
fi
# 清理环境:如果测试前未安装,则卸载软件包
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "步骤8清理测试环境卸载fence-agents-docker软件包"
dnf remove -y fence-agents-docker
CHECK_RESULT $? 0 0 "卸载fence-agents-docker软件包失败"
LOG_INFO "fence-agents-docker软件包已成功卸载"
else
LOG_INFO "步骤8保持fence-agents-docker软件包安装状态无需卸载"
fi
# 最终验证环境状态
LOG_INFO "步骤9验证环境状态"
if [ $ALREADY_INSTALLED -eq 0 ]; then
if rpm -q fence-agents-docker &>/dev/null; then
LOG_ERROR "环境清理失败fence-agents-docker软件包仍存在"
exit 1
else
LOG_INFO "环境已成功恢复到测试前状态"
fi
else
if ! rpm -q fence-agents-docker &>/dev/null; then
LOG_ERROR "环境被意外修改fence-agents-docker软件包丢失"
exit 1
else
LOG_INFO "环境保持测试前安装状态"
fi
fi
LOG_INFO "fence-agents-docker软件包安装功能测试完成"
}
main "$@"

View File

@@ -1,80 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-04-04
# @License : Mulan PSL v2
# @Desc : Test listing available docker fence agents
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试列出可用的docker fence代理"
# 检查是否已安装fence-agents-docker
LOG_INFO "步骤1检查fence-agents-docker是否已安装"
if rpm -q fence-agents-docker &>/dev/null; then
LOG_INFO "fence-agents-docker已安装标记为已存在安装"
INSTALLED_BEFORE_TEST=1
else
LOG_INFO "fence-agents-docker未安装标记为未安装"
INSTALLED_BEFORE_TEST=0
fi
# 检查yum源中是否有fence-agents-docker包
LOG_INFO "步骤2检查yum源中是否有fence-agents-docker软件包"
if ! dnf list available fence-agents-docker &>/dev/null; then
LOG_ERROR "yum源中没有fence-agents-docker软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $INSTALLED_BEFORE_TEST -eq 0 ]; then
LOG_INFO "步骤3安装fence-agents-docker软件包"
dnf install -y fence-agents-docker
CHECK_RESULT $? 0 0 "安装fence-agents-docker失败"
fi
# 测试列出可用的docker fence代理
LOG_INFO "步骤4执行fence_agent_metadata命令列出可用的docker fence代理"
if ! command -v fence_agent_metadata &>/dev/null; then
LOG_ERROR "fence_agent_metadata命令不存在"
exit 255
fi
# 检查fence_agent_metadata命令是否支持--list-agents参数
LOG_INFO "步骤5检查fence_agent_metadata命令是否支持--list-agents参数"
if ! fence_agent_metadata --help 2>&1 | grep -q "\-\-list\-agents"; then
LOG_ERROR "fence_agent_metadata命令不支持--list-agents参数"
exit 255
fi
# 执行命令列出代理
LOG_INFO "步骤6执行fence_agent_metadata --list-agents命令"
fence_agent_metadata --list-agents
CHECK_RESULT $? 0 0 "列出docker fence代理失败"
# 环境恢复:如果测试前未安装,则卸载软件包
if [ $INSTALLED_BEFORE_TEST -eq 0 ]; then
LOG_INFO "步骤7卸载fence-agents-docker软件包"
dnf remove -y fence-agents-docker
CHECK_RESULT $? 0 0 "卸载fence-agents-docker失败"
else
LOG_INFO "步骤7测试前已安装fence-agents-docker保持安装状态"
fi
LOG_INFO "测试完成成功列出可用的docker fence代理"
}
main "$@"

View File

@@ -1,73 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-10
# @License : Mulan PSL v2
# @Desc : Test the start functionality of fence-agents-docker
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 fence-agents-docker 的 start 功能"
# 检查是否已安装 fence-agents-docker
LOG_INFO "检查 fence-agents-docker 是否已安装"
if dnf list installed fence-agents-docker &>/dev/null; then
LOG_INFO "fence-agents-docker 已安装,脚本结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "fence-agents-docker 未安装,将在测试完成后卸载"
INSTALLED=false
fi
# 检查 yum 源中是否有 fence-agents-docker
LOG_INFO "检查 yum 源中是否有 fence-agents-docker"
if ! dnf list available fence-agents-docker &>/dev/null; then
LOG_ERROR "yum 源中未找到 fence-agents-docker退出测试"
exit 255
fi
# 如果未安装,则安装 fence-agents-docker
if [ "$INSTALLED" = false ]; then
LOG_INFO "正在安装 fence-agents-docker"
dnf install -y fence-agents-docker
CHECK_RESULT $? 0 0 "安装 fence-agents-docker 失败"
fi
# 测试 start 功能
LOG_INFO "测试 fence_agents_docker 的 start 功能"
fence_agents_docker start --help &>/dev/null
CHECK_RESULT $? 0 0 "fence_agents_docker start 命令不支持或参数错误"
# 执行具体的 start 命令(示例)
LOG_INFO "执行具体的 start 命令"
fence_agents_docker start --container=test_container --action=reboot
CHECK_RESULT $? 0 0 "执行 fence_agents_docker start 命令失败"
# SSH_CMD示例如需在第二个节点执行命令
# LOG_INFO "在第二个节点上执行命令"
# SSH_CMD ls $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER
# 清理环境:如果脚本开始时未安装 fence-agents-docker则卸载
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载 fence-agents-docker"
dnf remove -y fence-agents-docker
CHECK_RESULT $? 0 0 "卸载 fence-agents-docker 失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -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-02
# @License : Mulan PSL v2
# @Desc : 测试festival-devel软件包的构建功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试festival-devel软件包的构建功能
LOG_INFO "开始测试festival-devel软件包的构建功能"
# 检查festival-devel软件包是否已安装
if dnf list installed festival-devel &>/dev/null; then
LOG_INFO "festival-devel软件包已安装测试结束后将保持安装状态"
installed=true
else
LOG_INFO "festival-devel软件包未安装测试结束后将卸载"
installed=false
fi
# 检查yum源中是否存在festival-devel软件包
LOG_INFO "检查yum源中是否存在festival-devel软件包"
if ! dnf list available festival-devel &>/dev/null; then
LOG_ERROR "yum源中未找到festival-devel软件包"
exit 255
fi
# 安装festival-devel软件包
if [ "$installed" = false ]; then
LOG_INFO "安装festival-devel软件包"
dnf install -y festival-devel
CHECK_RESULT $? 0 0 "安装festival-devel软件包失败"
fi
# 测试festival-devel的构建功能
LOG_INFO "测试festival-devel的构建功能"
festival --build
CHECK_RESULT $? 0 0 "festival-devel构建功能测试失败"
# 清理环境如果之前未安装则卸载festival-devel
if [ "$installed" = false ]; then
LOG_INFO "卸载festival-devel软件包"
dnf remove -y festival-devel
CHECK_RESULT $? 0 0 "卸载festival-devel软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,67 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-02
# @License : Mulan PSL v2
# @Desc : Test Java-XML binding
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查yum源中是否存在glassfish-jaxb-parent软件包
LOG_INFO "检查yum源中是否存在glassfish-jaxb-parent软件包"
dnf list available glassfish-jaxb-parent >/dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到glassfish-jaxb-parent软件包"
exit 255
fi
# 检查是否已安装glassfish-jaxb-parent
LOG_INFO "检查是否已安装glassfish-jaxb-parent"
rpm -q glassfish-jaxb-parent >/dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "glassfish-jaxb-parent已安装脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "glassfish-jaxb-parent未安装将在测试步骤中安装"
INSTALLED=false
fi
# 若未安装则安装glassfish-jaxb-parent
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装glassfish-jaxb-parent"
dnf install -y glassfish-jaxb-parent >/dev/null 2>&1
CHECK_RESULT $? 0 0 "安装glassfish-jaxb-parent失败"
fi
# 测试Java-XML绑定功能
LOG_INFO "测试Java-XML绑定功能"
jaxb_command="java -jar /usr/share/java/glassfish-jaxb-parent/jaxb-xjc.jar -version"
eval $jaxb_command >/dev/null 2>&1
CHECK_RESULT $? 0 0 "Java-XML绑定功能测试失败"
# 若脚本开始时未安装则在结束时卸载glassfish-jaxb-parent
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载glassfish-jaxb-parent"
dnf remove -y glassfish-jaxb-parent >/dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载glassfish-jaxb-parent失败"
fi
LOG_INFO "测试脚本执行完成,环境已恢复"
}
main "$@"

View File

@@ -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-02
# @License : Mulan PSL v2
# @Desc : Test code generation
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试代码生成功能"
# 检查软件包是否已安装
LOG_INFO "检查glassfish-jaxb-parent软件包是否已安装"
if dnf list installed glassfish-jaxb-parent &>/dev/null; then
LOG_INFO "glassfish-jaxb-parent软件包已安装测试完成后将保持安装状态"
INSTALLED=true
else
LOG_INFO "glassfish-jaxb-parent软件包未安装将在测试完成后卸载"
INSTALLED=false
fi
# 检查yum源中是否有glassfish-jaxb-parent软件包
LOG_INFO "检查yum源中是否有glassfish-jaxb-parent软件包"
if ! dnf list available glassfish-jaxb-parent &>/dev/null; then
LOG_ERROR "yum源中未找到glassfish-jaxb-parent软件包"
exit 255
fi
# 安装glassfish-jaxb-parent软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装glassfish-jaxb-parent软件包"
dnf install -y glassfish-jaxb-parent
CHECK_RESULT $? 0 0 "安装glassfish-jaxb-parent软件包失败"
fi
# 测试代码生成功能
LOG_INFO "测试代码生成功能"
generate_command="glassfish-jaxb-parent generate"
$generate_command
CHECK_RESULT $? 0 0 "代码生成功能测试失败"
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载glassfish-jaxb-parent软件包"
dnf remove -y glassfish-jaxb-parent
CHECK_RESULT $? 0 0 "卸载glassfish-jaxb-parent软件包失败"
fi
LOG_INFO "测试代码生成功能完成"
}
main "$@"

View File

@@ -1,64 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-02
# @License : Mulan PSL v2
# @Desc : Test XML marshalling
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Test XML marshalling"
# 检查是否已安装glassfish-jaxb-parent
LOG_INFO "检查glassfish-jaxb-parent是否已安装"
if dnf list installed glassfish-jaxb-parent &> /dev/null; then
LOG_INFO "glassfish-jaxb-parent已安装"
INSTALLED=true
else
LOG_INFO "glassfish-jaxb-parent未安装"
INSTALLED=false
fi
# 检查yum源中是否有glassfish-jaxb-parent软件包
LOG_INFO "检查yum源中是否有glassfish-jaxb-parent软件包"
if ! dnf list available glassfish-jaxb-parent &> /dev/null; then
LOG_ERROR "yum源中未找到glassfish-jaxb-parent软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装glassfish-jaxb-parent"
dnf install -y glassfish-jaxb-parent
CHECK_RESULT $? 0 0 "安装glassfish-jaxb-parent失败"
fi
# 测试XML marshalling功能
LOG_INFO "测试XML marshalling功能"
java -jar /usr/share/glassfish-jaxb-parent/bin/xjc.jar -version
CHECK_RESULT $? 0 0 "XML marshalling测试失败"
# 如果之前未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载glassfish-jaxb-parent"
dnf remove -y glassfish-jaxb-parent
CHECK_RESULT $? 0 0 "卸载glassfish-jaxb-parent失败"
fi
LOG_INFO "测试完成Test XML marshalling"
}
main "$@"

View File

@@ -1,70 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-02
# @License : Mulan PSL v2
# @Desc : Test XML unmarshalling
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Test XML unmarshalling"
# 检查环境是否已安装 glassfish-jaxb-parent
LOG_INFO "检查 glassfish-jaxb-parent 是否已安装"
if dnf list installed glassfish-jaxb-parent &>/dev/null; then
LOG_INFO "glassfish-jaxb-parent 已安装,脚本结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "glassfish-jaxb-parent 未安装,将在测试步骤中安装并在脚本结束前卸载"
INSTALLED=false
fi
# 检查 yum 源中是否存在 glassfish-jaxb-parent
LOG_INFO "检查 yum 源中是否存在 glassfish-jaxb-parent"
if ! dnf list available glassfish-jaxb-parent &>/dev/null; then
LOG_ERROR "yum 源中未找到 glassfish-jaxb-parent退出测试"
exit 255
fi
# 如果未安装,则安装 glassfish-jaxb-parent
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装 glassfish-jaxb-parent"
dnf install -y glassfish-jaxb-parent
CHECK_RESULT $? 0 0 "安装 glassfish-jaxb-parent 失败"
fi
# 测试 XML unmarshalling 功能
LOG_INFO "测试 XML unmarshalling 功能"
TEST_XML="<test>value</test>"
echo "$TEST_XML" > test.xml
jaxb-unmarshaller test.xml
CHECK_RESULT $? 0 0 "XML unmarshalling 测试失败"
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f test.xml
# 如果脚本开始时未安装 glassfish-jaxb-parent则在脚本结束前卸载
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载 glassfish-jaxb-parent"
dnf remove -y glassfish-jaxb-parent
CHECK_RESULT $? 0 0 "卸载 glassfish-jaxb-parent 失败"
fi
LOG_INFO "测试完成Test XML unmarshalling"
}
main "$@"

View File

@@ -1,72 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-02
# @License : Mulan PSL v2
# @Desc : Test XML validation
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Test XML validation"
# 检查软件包是否已安装
LOG_INFO "检查glassfish-jaxb-parent软件包是否已安装"
if dnf list installed glassfish-jaxb-parent &>/dev/null; then
LOG_INFO "glassfish-jaxb-parent已安装测试结束后保持安装状态"
INSTALLED=true
else
LOG_INFO "glassfish-jaxb-parent未安装将在测试结束后卸载"
INSTALLED=false
fi
# 检查yum源中是否有glassfish-jaxb-parent软件包
LOG_INFO "检查yum源中是否有glassfish-jaxb-parent软件包"
if ! dnf list available glassfish-jaxb-parent &>/dev/null; then
LOG_ERROR "yum源中未找到glassfish-jaxb-parent软件包"
exit 255
fi
# 安装glassfish-jaxb-parent软件包如果未安装
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装glassfish-jaxb-parent软件包"
dnf install -y glassfish-jaxb-parent
CHECK_RESULT $? 0 0 "安装glassfish-jaxb-parent软件包失败"
fi
# 测试XML验证功能
LOG_INFO "测试XML验证功能"
xml_validation_cmd="jaxb-validate somefile.xml"
if ! command -v jaxb-validate &>/dev/null; then
LOG_ERROR "命令jaxb-validate不存在或不支持"
exit 255
fi
$xml_validation_cmd
CHECK_RESULT $? 0 0 "XML验证失败"
# 清理环境(如果最初未安装)
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载glassfish-jaxb-parent软件包"
dnf remove -y glassfish-jaxb-parent
CHECK_RESULT $? 0 0 "卸载glassfish-jaxb-parent软件包失败"
fi
LOG_INFO "测试完成Test XML validation"
}
main "$@"

View File

@@ -1,63 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-10-20
# @License : Mulan PSL v2
# @Desc : Test package installation
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试软件包安装功能"
# 检查是否已安装jetbrains-annotations-help-function
if dnf list installed jetbrains-annotations-help-function &>/dev/null; then
LOG_INFO "jetbrains-annotations-help-function 已安装,跳过安装步骤"
INSTALLED=true
else
LOG_INFO "jetbrains-annotations-help-function 未安装,开始安装"
INSTALLED=false
fi
# 检查yum源中是否存在该软件包
LOG_INFO "检查yum源中是否存在jetbrains-annotations-help-function"
if ! dnf list available jetbrains-annotations-help-function &>/dev/null; then
LOG_ERROR "yum源中未找到jetbrains-annotations-help-function"
exit 255
fi
# 安装软件包(如果未安装)
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装jetbrains-annotations-help-function"
dnf install -y jetbrains-annotations-help-function
CHECK_RESULT $? 0 0 "安装jetbrains-annotations-help-function失败"
fi
# 测试软件包功能(示例命令)
LOG_INFO "测试jetbrains-annotations-help-function功能"
jetbrains-annotations-help-function --version
CHECK_RESULT $? 0 0 "jetbrains-annotations-help-function功能测试失败"
# 卸载软件包(如果脚本开始时未安装)
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载jetbrains-annotations-help-function"
dnf remove -y jetbrains-annotations-help-function
CHECK_RESULT $? 0 0 "卸载jetbrains-annotations-help-function失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,73 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-10-20
# @License : Mulan PSL v2
# @Desc : Test basic usage
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试脚本test_jetbrains-annotations-help_function_usage
LOG_INFO "开始测试Test basic usage"
# 检查是否已安装jetbrains-annotations-help包
LOG_INFO "检查jetbrains-annotations-help是否已安装"
if dnf list installed jetbrains-annotations-help &>/dev/null; then
LOG_INFO "jetbrains-annotations-help已安装测试完成后保持安装状态"
INSTALLED=true
else
LOG_INFO "jetbrains-annotations-help未安装将在测试完成后卸载"
INSTALLED=false
fi
# 检查yum源中是否有jetbrains-annotations-help包
LOG_INFO "检查yum源中是否存在jetbrains-annotations-help包"
if ! dnf list available jetbrains-annotations-help &>/dev/null; then
LOG_ERROR "yum源中未找到jetbrains-annotations-help包"
exit 255
fi
# 安装jetbrains-annotations-help包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装jetbrains-annotations-help包"
dnf install -y jetbrains-annotations-help
CHECK_RESULT $? 0 0 "安装jetbrains-annotations-help失败"
fi
# 测试jetbrains-annotations-help命令的基本用法
LOG_INFO "测试jetbrains-annotations-help命令的基本用法"
output=$(jetbrains-annotations-help --help)
CHECK_RESULT $? 0 0 "执行jetbrains-annotations-help --help失败"
# 检查输出是否包含帮助信息
LOG_INFO "检查输出是否包含帮助信息"
if [[ "$output" != *"Usage"* ]]; then
LOG_ERROR "输出不包含帮助信息"
exit 255
fi
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载jetbrains-annotations-help包"
dnf remove -y jetbrains-annotations-help
CHECK_RESULT $? 0 0 "卸载jetbrains-annotations-help失败"
fi
LOG_INFO "测试完成Test basic usage"
}
main "$@"

View File

@@ -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-28
# @License : Mulan PSL v2
# @Desc : Test the loading of plugins
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试插件加载功能"
# 检查软件包是否已安装
LOG_INFO "检查libknet1-plugins-all软件包是否已安装"
if rpm -q libknet1-plugins-all &>/dev/null; then
LOG_INFO "libknet1-plugins-all已安装脚本结束时将保持安装状态"
installed=true
else
LOG_INFO "libknet1-plugins-all未安装将在测试结束后卸载"
installed=false
fi
# 检查yum源中是否存在软件包
LOG_INFO "检查yum源中是否存在libknet1-plugins-all软件包"
if ! dnf list available libknet1-plugins-all &>/dev/null; then
LOG_ERROR "yum源中不存在libknet1-plugins-all软件包"
exit 255
fi
# 安装软件包
if [ "$installed" = false ]; then
LOG_INFO "正在安装libknet1-plugins-all软件包"
dnf install -y libknet1-plugins-all
CHECK_RESULT $? 0 0 "安装libknet1-plugins-all失败"
fi
# 测试插件加载功能
LOG_INFO "测试插件加载功能"
plugin_output=$(knet_plugins list)
CHECK_RESULT $? 0 0 "插件加载失败"
LOG_INFO "插件加载成功,输出结果: $plugin_output"
# 清理环境
if [ "$installed" = false ]; then
LOG_INFO "正在卸载libknet1-plugins-all软件包"
dnf remove -y libknet1-plugins-all
CHECK_RESULT $? 0 0 "卸载libknet1-plugins-all失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,66 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-09
# @License : Mulan PSL v2
# @Desc : Verify plugin integrity
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Verify plugin integrity"
# 检查yum源中是否存在libknet1-plugins-all软件包
LOG_INFO "步骤1检查yum源中是否存在libknet1-plugins-all软件包"
dnf list available libknet1-plugins-all > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到libknet1-plugins-all软件包"
exit 255
fi
# 检查是否已安装libknet1-plugins-all
LOG_INFO "步骤2检查是否已安装libknet1-plugins-all"
rpm -q libknet1-plugins-all > /dev/null 2>&1
if [ $? -eq 0 ]; then
installed=true
LOG_INFO "libknet1-plugins-all已安装"
else
installed=false
LOG_INFO "libknet1-plugins-all未安装将进行安装"
fi
# 如果未安装,则安装软件包
if [ "$installed" = false ]; then
LOG_INFO "步骤3安装libknet1-plugins-all软件包"
dnf install -y libknet1-plugins-all > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装libknet1-plugins-all失败"
fi
# 验证插件完整性
LOG_INFO "步骤4验证插件完整性"
knet_plugins_verify_output=$(knet_plugins_verify 2>&1)
CHECK_RESULT $? 0 0 "插件完整性验证失败"
# 清理环境
if [ "$installed" = false ]; then
LOG_INFO "步骤5卸载libknet1-plugins-all软件包"
dnf remove -y libknet1-plugins-all > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载libknet1-plugins-all失败"
fi
LOG_INFO "测试完成Verify plugin integrity"
}
main "$@"

View File

@@ -1,93 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-21
# @License : Mulan PSL v2
# @Desc : 测试显示软件包提供的帮助信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:测试显示软件包提供的帮助信息"
# 定义软件包名称
PACKAGE_NAME="perl-ExtUtils-LibBuilder"
# 检查环境是否已安装指定软件包
LOG_INFO "检查环境是否已安装 $PACKAGE_NAME"
if dnf list installed "$PACKAGE_NAME" &>/dev/null; then
LOG_INFO "$PACKAGE_NAME 已安装,脚本结束后将保持安装状态"
INSTALLED_BEFORE=true
else
LOG_INFO "$PACKAGE_NAME 未安装,将在测试步骤中安装并在脚本结束前卸载"
INSTALLED_BEFORE=false
fi
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否有 $PACKAGE_NAME"
if ! dnf list available "$PACKAGE_NAME" &>/dev/null; then
LOG_ERROR "yum源中未找到 $PACKAGE_NAME 软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "安装 $PACKAGE_NAME"
dnf install -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "安装 $PACKAGE_NAME 失败"
fi
# 测试显示软件包提供的帮助信息
LOG_INFO "测试显示 $PACKAGE_NAME 提供的帮助信息"
# 假设软件包提供了一个名为 extutils-libbuilder 的命令
COMMAND="extutils-libbuilder"
if ! command -v "$COMMAND" &>/dev/null; then
LOG_ERROR "$COMMAND 命令不存在"
# 清理环境:如果之前未安装,则卸载
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "清理环境:卸载 $PACKAGE_NAME"
dnf remove -y "$PACKAGE_NAME"
fi
exit 255
fi
# 检查命令是否支持 --help 参数
LOG_INFO "检查 $COMMAND 是否支持 --help 参数"
if ! "$COMMAND" --help &>/dev/null; then
LOG_ERROR "$COMMAND 不支持 --help 参数"
# 清理环境:如果之前未安装,则卸载
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "清理环境:卸载 $PACKAGE_NAME"
dnf remove -y "$PACKAGE_NAME"
fi
exit 255
fi
# 执行命令并检查结果
LOG_INFO "执行 $COMMAND --help 命令"
"$COMMAND" --help
CHECK_RESULT $? 0 0 "执行 $COMMAND --help 失败"
# 清理环境:如果之前未安装,则卸载
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "清理环境:卸载 $PACKAGE_NAME"
dnf remove -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "卸载 $PACKAGE_NAME 失败"
fi
LOG_INFO "测试完成:成功测试显示软件包提供的帮助信息"
}
main "$@"

View File

@@ -1,76 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-07
# @License : Mulan PSL v2
# @Desc : Test configuration handling
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装python3-configshell
LOG_INFO "检查是否已安装python3-configshell"
if dnf list installed python3-configshell &> /dev/null; then
LOG_INFO "python3-configshell已安装脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "python3-configshell未安装将在测试结束后卸载"
INSTALLED=false
fi
# 检查yum源中是否有python3-configshell软件包
LOG_INFO "检查yum源中是否有python3-configshell软件包"
if ! dnf list available python3-configshell &> /dev/null; then
LOG_ERROR "yum源中未找到python3-configshell软件包"
exit 255
fi
# 如果未安装则安装python3-configshell
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装python3-configshell"
dnf install -y python3-configshell
CHECK_RESULT $? 0 0 "安装python3-configshell失败"
fi
# 测试配置处理功能
LOG_INFO "测试配置处理功能"
python3-configshell --version &> /dev/null
CHECK_RESULT $? 0 0 "获取python3-configshell版本失败"
# 测试不支持的参数
LOG_INFO "测试不支持的参数"
python3-configshell --invalid-arg &> /dev/null
if [ $? -ne 255 ]; then
LOG_ERROR "不支持的参数未正确退出"
exit 255
fi
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载python3-configshell"
dnf remove -y python3-configshell &> /dev/null || {
LOG_ERROR "卸载python3-configshell失败"
exit 1
}
else
LOG_INFO "保持已安装的python3-configshell状态"
fi
LOG_INFO "测试完成,环境已恢复"
exit 0
}
main "$@"

View File

@@ -1,77 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-07
# @License : Mulan PSL v2
# @Desc : Test command execution
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试命令执行功能"
# 检查是否已安装python3-configshell
if dnf list installed python3-configshell &>/dev/null; then
LOG_INFO "python3-configshell 已安装,测试结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "python3-configshell 未安装,将在测试结束后卸载"
INSTALLED=false
fi
# 检查yum源中是否有python3-configshell包
LOG_INFO "检查yum源中是否存在python3-configshell包"
if ! dnf list available python3-configshell &>/dev/null; then
LOG_ERROR "yum源中未找到python3-configshell包"
exit 255
fi
# 安装python3-configshell如果未安装
if [ "$INSTALLED" = false ]; then
LOG_INFO "正在安装python3-configshell"
dnf install -y python3-configshell
CHECK_RESULT $? 0 0 "安装python3-configshell失败"
fi
# 测试命令执行
LOG_INFO "测试命令执行"
output=$(python3-configshell --version)
CHECK_RESULT $? 0 0 "执行python3-configshell --version失败"
# 检查命令参数是否支持
LOG_INFO "检查不支持的参数"
output=$(python3-configshell --invalid-arg 2>&1)
if [ $? -ne 255 ]; then
LOG_ERROR "不支持的参数未正确退出"
exit 255
fi
# SSH_CMD示例如果需要
# LOG_INFO "在第二个节点上执行命令"
# SSH_CMD ls $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER
# 清理环境(如果之前未安装)
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载python3-configshell以恢复环境"
dnf remove -y python3-configshell
CHECK_RESULT $? 0 0 "卸载python3-configshell失败"
fi
LOG_INFO "测试命令执行功能完成"
}
main "$@"

View File

@@ -1,66 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-07
# @License : Mulan PSL v2
# @Desc : Test help command output
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查python3-config是否存在
LOG_INFO "检查python3-config命令是否存在"
command -v python3-config >/dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "python3-config已安装"
installed=true
else
LOG_INFO "python3-config未安装将进行安装测试"
installed=false
fi
# 检查yum源中是否有python3-devel包
LOG_INFO "检查yum源中是否有python3-devel包"
dnf list available python3-devel >/dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到python3-devel包"
exit 255
fi
# 如果未安装则安装python3-devel
if [ "$installed" = false ]; then
LOG_INFO "安装python3-devel包"
dnf install -y python3-devel >/dev/null 2>&1
CHECK_RESULT $? 0 0 "安装python3-devel失败"
fi
# 测试help命令输出
LOG_INFO "测试python3-config --help命令输出"
python3-config --help >/dev/null 2>&1
CHECK_RESULT $? 0 0 "python3-config --help命令执行失败"
# 清理环境
if [ "$installed" = false ]; then
LOG_INFO "卸载python3-devel包"
dnf remove -y python3-devel >/dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载python3-devel失败"
fi
LOG_INFO "测试脚本执行完毕,环境已恢复"
}
main "$@"

View File

@@ -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 : 2025-12-03
# @License : Mulan PSL v2
# @Desc : Test installation of the package
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查yum源中是否存在指定的软件包
check_package_availability() {
dnf list available "$1" &> /dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 $1 在yum源中不存在"
exit 255
fi
}
# 检查命令参数是否支持
check_command_option() {
if ! "$@" --help &> /dev/null; then
LOG_ERROR "命令 $1 不支持指定的参数"
exit 255
fi
}
# 检查环境是否已安装指定软件包
check_installed() {
if rpm -q "$1" &> /dev/null; then
LOG_INFO "软件包 $1 已安装"
return 0
else
LOG_INFO "软件包 $1 未安装"
return 1
fi
}
# 主测试函数
test_python_jupyter_sphinx_help_function_install() {
PACKAGE="python-jupyter-sphinx-help"
# 步骤1检查软件包是否已在环境中安装
LOG_INFO "步骤1检查环境是否已安装 $PACKAGE"
if check_installed "$PACKAGE"; then
INSTALLED=true
else
INSTALLED=false
fi
# 步骤2检查yum源中是否存在该软件包
LOG_INFO "步骤2检查yum源中是否存在 $PACKAGE"
check_package_availability "$PACKAGE"
# 如果未安装,则执行安装步骤
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤3安装 $PACKAGE"
dnf install -y "$PACKAGE"
CHECK_RESULT $? 0 0 "安装 $PACKAGE 失败"
# 步骤4验证安装后的功能
LOG_INFO "步骤4验证 $PACKAGE 功能"
jupyter --help &> /dev/null
CHECK_RESULT $? 0 0 "jupyter 命令执行失败"
# 步骤5卸载软件包
LOG_INFO "步骤5卸载 $PACKAGE"
dnf remove -y "$PACKAGE"
CHECK_RESULT $? 0 0 "卸载 $PACKAGE 失败"
#清理残留文件
LOG_INFO “清理残留文件”
rm -rf ~/.jupyter
CHECK_RESULT $? 0 0 “清理残留文件失败”
else
# 如果已安装,则跳过安装和卸载步骤,仅验证功能
LOG_INFO “$PACKAGE 已安装,跳过安装步骤”
#验证功能
LOG_INFO “验证 $PACKAGE 功能”
jupyter --help &> /dev/null
CHECK_RESULT \$? 00“jupyter命令执行失败”
fi
}
#执行测试用例
test_python_jupyter_sphinx_help_function_install
LOG_INFO “测试完成”
}
main "$@"

View File

@@ -1,66 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-10
# @License : Mulan PSL v2
# @Desc : 测试 python3-jupyter-sphinx 软件包的渲染功能,确保文档可以正常渲染。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 python3-jupyter-sphinx 软件包的渲染功能"
# 检查环境是否已安装 python3-jupyter-sphinx
LOG_INFO "检查是否已安装 python3-jupyter-sphinx"
dnf list installed python3-jupyter-sphinx > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "python3-jupyter-sphinx 已安装,跳过安装步骤"
installed=true
else
LOG_INFO "python3-jupyter-sphinx 未安装,准备安装"
installed=false
fi
# 检查 yum 源中是否有 python3-jupyter-sphinx
LOG_INFO "检查 yum 源中是否有 python3-jupyter-sphinx"
dnf list available python3-jupyter-sphinx > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum 源中未找到 python3-jupyter-sphinx 软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$installed" = false ]; then
LOG_INFO "安装 python3-jupyter-sphinx"
dnf install -y python3-jupyter-sphinx
CHECK_RESULT $? 0 0 "安装 python3-jupyter-sphinx 失败"
fi
# 测试渲染功能
LOG_INFO "测试 python3-jupyter-sphinx 的渲染功能"
jupyter-nbconvert --to html --execute /usr/share/doc/python3-jupyter-sphinx/examples/example.ipynb > /dev/null 2>&1
CHECK_RESULT $? 0 0 "文档渲染失败"
# 清理环境
if [ "$installed" = false ]; then
LOG_INFO "卸载 python3-jupyter-sphinx"
dnf remove -y python3-jupyter-sphinx
CHECK_RESULT $? 0 0 "卸载 python3-jupyter-sphinx 失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,82 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-04-05
# @License : Mulan PSL v2
# @Desc : Test establishing a basic SSH connection to a server
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装ssh客户端软件包
LOG_INFO "检查是否已安装ssh客户端软件包"
rpm -q openssh-clients > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "ssh客户端已安装测试结束后将保持安装状态"
already_installed=true
else
LOG_INFO "ssh客户端未安装将在测试中安装"
already_installed=false
fi
# 检查yum源中是否有openssh-clients软件包
LOG_INFO "检查yum源中是否有openssh-clients软件包"
dnf list available openssh-clients > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中未找到openssh-clients软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到openssh-clients软件包"
exit 255
fi
# 如果未安装则安装openssh-clients
if [ "$already_installed" = false ]; then
LOG_INFO "安装openssh-clients软件包"
dnf install -y openssh-clients
CHECK_RESULT $? 0 0 "安装openssh-clients失败"
fi
# 检查ssh命令是否支持基本连接参数
LOG_INFO "检查ssh命令参数支持情况"
ssh -V > /dev/null 2>&1
CHECK_RESULT $? 0 0 "ssh命令不存在或不支持"
# 测试基本的SSH连接
LOG_INFO "测试建立基本的SSH连接到服务器"
if [ -z "$NODE2_IPV4" ] || [ -z "$NODE2_USER" ] || [ -z "$NODE2_PASSWORD" ]; then
LOG_ERROR "未设置远程服务器连接信息"
exit 1
fi
# 使用SSH_CMD执行简单的命令测试连接
LOG_INFO "尝试通过SSH连接到远程服务器"
SSH_CMD "echo "SSH连接测试成功"" $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER
CHECK_RESULT $? 0 0 "SSH连接测试失败"
LOG_INFO "SSH基本连接测试成功"
# 环境清理
LOG_INFO "清理测试环境"
if [ "$already_installed" = false ]; then
LOG_INFO "卸载测试安装的openssh-clients软件包"
dnf remove -y openssh-clients
CHECK_RESULT $? 0 0 "卸载openssh-clients失败"
else
LOG_INFO "保持openssh-clients软件包安装状态"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,74 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-04-05
# @License : Mulan PSL v2
# @Desc : Test SSH connection timeout behavior
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "测试SSH连接超时行为"
LOG_INFO "步骤1: 检查软件包是否在yum源中"
if ! dnf list available openssh-server &>/dev/null; then
LOG_ERROR "软件包openssh-server不在yum源中"
exit 255
fi
LOG_INFO "步骤2: 检查当前环境是否已安装openssh-server"
if rpm -q openssh-server &>/dev/null; then
LOG_INFO "openssh-server已安装测试结束后保持安装状态"
ALREADY_INSTALLED=true
else
LOG_INFO "openssh-server未安装将在测试中安装"
ALREADY_INSTALLED=false
fi
if [ "$ALREADY_INSTALLED" = "false" ]; then
LOG_INFO "步骤3: 安装openssh-server"
dnf install -y openssh-server
CHECK_RESULT $? 0 0 "安装openssh-server失败"
fi
LOG_INFO "步骤4: 启动sshd服务"
systemctl start sshd
CHECK_RESULT $? 0 0 "启动sshd服务失败"
LOG_INFO "步骤5: 检查ssh命令是否支持ConnectTimeout参数"
if ! ssh -o ConnectTimeout=1 2>&1 | grep -q "usage:"; then
LOG_ERROR "ssh命令不支持ConnectTimeout参数"
exit 255
fi
LOG_INFO "步骤6: 测试SSH连接超时行为"
ssh -o ConnectTimeout=1 -o PasswordAuthentication=no localhost 2>&1 | grep -q "Connection timed out"
CHECK_RESULT $? 0 0 "SSH连接超时行为不符合预期"
LOG_INFO "步骤7: 清理测试环境"
if [ "$ALREADY_INSTALLED" = "false" ]; then
LOG_INFO "卸载测试安装的openssh-server"
dnf remove -y openssh-server
CHECK_RESULT $? 0 0 "卸载openssh-server失败"
else
LOG_INFO "保持openssh-server安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,81 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-04-05
# @License : Mulan PSL v2
# @Desc : Test executing a command on a remote server via SSH
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试通过SSH在远程服务器上执行命令"
# 定义软件包名称
PACKAGE_NAME="openssh-clients"
# 检查软件包是否已在yum源中
LOG_INFO "检查yum源中是否存在软件包$PACKAGE_NAME"
dnf list available $PACKAGE_NAME > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 $PACKAGE_NAME 在yum源中不存在"
exit 255
fi
# 检查环境是否已安装软件包
LOG_INFO "检查环境是否已安装软件包:$PACKAGE_NAME"
rpm -q $PACKAGE_NAME > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "软件包 $PACKAGE_NAME 已安装,测试后保持安装状态"
INSTALLED_BEFORE=true
else
LOG_INFO "软件包 $PACKAGE_NAME 未安装,将在测试前安装"
INSTALLED_BEFORE=false
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "安装软件包:$PACKAGE_NAME"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
fi
# 检查SSH命令参数是否存在或不支持
LOG_INFO "检查SSH命令参数"
ssh -V > /dev/null 2>&1
CHECK_RESULT $? 0 0 "SSH命令不存在或不支持"
# 定义远程服务器信息(示例变量,实际使用时需根据环境设置)
NODE2_IPV4="192.168.1.100"
NODE2_PASSWORD="password"
NODE2_USER="root"
# 通过SSH在远程服务器上执行命令
LOG_INFO "通过SSH在远程服务器上执行命令ls"
SSH_CMD ls $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER
CHECK_RESULT $? 0 0 "在远程服务器上执行命令失败"
# 环境恢复:如果测试前未安装,则卸载软件包
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "卸载软件包:$PACKAGE_NAME"
dnf remove -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
else
LOG_INFO "测试前软件包已安装,保持安装状态"
fi
LOG_INFO "测试完成通过SSH在远程服务器上执行命令"
}
main "$@"

View File

@@ -1,101 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-04-05
# @License : Mulan PSL v2
# @Desc : Test uploading and downloading files using SFTP
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试SFTP文件上传下载功能"
LOG_INFO "检查是否已安装openssh-clients包"
if rpm -q openssh-clients &> /dev/null; then
LOG_INFO "openssh-clients已安装测试后将保持安装状态"
already_installed=true
else
LOG_INFO "openssh-clients未安装将在测试中安装"
already_installed=false
fi
LOG_INFO "检查yum源中是否有openssh-clients包"
if ! dnf list openssh-clients &> /dev/null; then
LOG_ERROR "yum源中未找到openssh-clients包"
exit 255
fi
if [ "$already_installed" = "false" ]; then
LOG_INFO "安装openssh-clients包"
dnf install -y openssh-clients
CHECK_RESULT $? 0 0 "安装openssh-clients失败"
fi
LOG_INFO "检查sftp命令是否存在"
if ! command -v sftp &> /dev/null; then
LOG_ERROR "sftp命令不存在"
exit 255
fi
LOG_INFO "检查sftp命令是否支持-b参数"
sftp -h 2>&1 | grep -q "\-b" || {
LOG_ERROR "sftp命令不支持-b参数"
exit 255
}
LOG_INFO "创建测试目录和文件"
test_dir="/tmp/sftp_test_$$"
mkdir -p "$test_dir"
echo "test content" > "$test_dir/local_test.txt"
LOG_INFO "测试SFTP上传文件到远程服务器"
upload_script="$test_dir/upload.txt"
echo "put $test_dir/local_test.txt remote_test.txt" > "$upload_script"
SSH_CMD "mkdir -p /tmp/sftp_test" "$NODE2_IPV4" "$NODE2_PASSWORD" "$NODE2_USER"
sftp -b "$upload_script" "$NODE2_USER@$NODE2_IPV4:/tmp/sftp_test"
CHECK_RESULT $? 0 0 "SFTP上传文件失败"
LOG_INFO "测试SFTP从远程服务器下载文件"
download_script="$test_dir/download.txt"
echo "get /tmp/sftp_test/remote_test.txt $test_dir/downloaded_test.txt" > "$download_script"
sftp -b "$download_script" "$NODE2_USER@$NODE2_IPV4"
CHECK_RESULT $? 0 0 "SFTP下载文件失败"
LOG_INFO "验证下载的文件内容"
downloaded_file="$test_dir/downloaded_test.txt"
if [ -f "$downloaded_file" ] && [ "$(cat "$downloaded_file")" = "test content" ]; then
LOG_INFO "文件内容验证成功"
else
LOG_ERROR "下载的文件内容不正确"
exit 1
fi
LOG_INFO "清理测试环境"
SSH_CMD "rm -rf /tmp/sftp_test" "$NODE2_IPV4" "$NODE2_PASSWORD" "$NODE2_USER"
rm -rf "$test_dir"
if [ "$already_installed" = "false" ]; then
LOG_INFO "卸载测试安装的openssh-clients包"
dnf remove -y openssh-clients
CHECK_RESULT $? 0 0 "卸载openssh-clients失败"
fi
LOG_INFO "SFTP文件上传下载测试完成"
}
main "$@"

View File

@@ -1,130 +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-05
# @License : Mulan PSL v2
# @Desc : Test opening and using interactive shell channels
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 判断是否已安装openssh-server和openssh-clients
LOG_INFO "检查是否已安装openssh-server和openssh-clients"
rpm -q openssh-server openssh-clients > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "openssh-server和openssh-clients已安装标记为已安装状态"
INSTALLED_FLAG=1
else
LOG_INFO "openssh-server和openssh-clients未安装标记为未安装状态"
INSTALLED_FLAG=0
fi
# 检查yum源中是否有openssh-server和openssh-clients软件包
LOG_INFO "检查yum源中是否有openssh-server和openssh-clients软件包"
dnf list available openssh-server openssh-clients > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到openssh-server或openssh-clients软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ ${INSTALLED_FLAG} -eq 0 ]; then
LOG_INFO "开始安装openssh-server和openssh-clients"
dnf install -y openssh-server openssh-clients
CHECK_RESULT $? 0 0 "安装openssh-server和openssh-clients失败"
LOG_INFO "openssh-server和openssh-clients安装成功"
fi
# 启动sshd服务
LOG_INFO "启动sshd服务"
systemctl start sshd
CHECK_RESULT $? 0 0 "启动sshd服务失败"
LOG_INFO "sshd服务启动成功"
# 检查sshd服务状态
LOG_INFO "检查sshd服务状态"
systemctl status sshd | grep "active (running)"
CHECK_RESULT $? 0 0 "sshd服务未正常运行"
LOG_INFO "sshd服务正常运行"
# 生成SSH密钥对如果不存在
LOG_INFO "生成SSH密钥对如果不存在"
if [ ! -f ~/.ssh/id_rsa ]; then
ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
CHECK_RESULT $? 0 0 "生成SSH密钥对失败"
LOG_INFO "SSH密钥对生成成功"
else
LOG_INFO "SSH密钥对已存在跳过生成"
fi
# 将公钥添加到authorized_keys
LOG_INFO "将公钥添加到authorized_keys"
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
CHECK_RESULT $? 0 0 "将公钥添加到authorized_keys失败"
chmod 600 ~/.ssh/authorized_keys
CHECK_RESULT $? 0 0 "设置authorized_keys权限失败"
LOG_INFO "公钥已添加到authorized_keys"
# 测试本地SSH连接
LOG_INFO "测试本地SSH连接"
ssh -o StrictHostKeyChecking=no -o PasswordAuthentication=no localhost "echo "SSH连接测试成功""
CHECK_RESULT $? 0 0 "本地SSH连接测试失败"
LOG_INFO "本地SSH连接测试成功"
# 测试打开和使用交互式shell通道
LOG_INFO "测试打开和使用交互式shell通道"
ssh -o StrictHostKeyChecking=no -o PasswordAuthentication=no localhost << "EOF"
echo "交互式shell通道测试开始"
whoami
pwd
ls -la
echo "交互式shell通道测试结束"
EOF
CHECK_RESULT $? 0 0 "打开和使用交互式shell通道测试失败"
LOG_INFO "打开和使用交互式shell通道测试成功"
# 如果第二个服务器信息存在,则在第二个服务器上执行命令
if [ -n "${NODE2_IPV4}" ] && [ -n "${NODE2_PASSWORD}" ] && [ -n "${NODE2_USER}" ]; then
LOG_INFO "在第二个服务器上测试SSH连接"
SSH_CMD "echo "在第二个服务器上执行命令测试"" ${NODE2_IPV4} ${NODE2_PASSWORD} ${NODE2_USER}
CHECK_RESULT $? 0 0 "在第二个服务器上执行命令测试失败"
LOG_INFO "在第二个服务器上执行命令测试成功"
else
LOG_INFO "未提供第二个服务器信息,跳过在第二个服务器上的测试"
fi
# 清理环境
LOG_INFO "开始清理测试环境"
# 停止sshd服务
LOG_INFO "停止sshd服务"
systemctl stop sshd
CHECK_RESULT $? 0 0 "停止sshd服务失败"
LOG_INFO "sshd服务已停止"
# 如果测试前未安装,则卸载软件包
if [ ${INSTALLED_FLAG} -eq 0 ]; then
LOG_INFO "卸载openssh-server和openssh-clients"
dnf remove -y openssh-server openssh-clients
CHECK_RESULT $? 0 0 "卸载openssh-server和openssh-clients失败"
LOG_INFO "openssh-server和openssh-clients卸载成功"
else
LOG_INFO "测试前已安装openssh-server和openssh-clients保持安装状态"
fi
LOG_INFO "测试脚本执行完毕,环境已恢复"
}
main "$@"

View File

@@ -1,75 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-04-05
# @License : Mulan PSL v2
# @Desc : Test retrieving and verifying the SSHj library version
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试获取并验证SSHj库版本"
LOG_INFO "步骤1检查SSHj软件包是否在yum源中可用"
dnf list available sshj 2>/dev/null | grep -q sshj
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到sshj软件包"
exit 255
fi
LOG_INFO "步骤2检查当前环境是否已安装sshj"
rpm -q sshj > /dev/null 2>&1
installed=$?
if [ $installed -ne 0 ]; then
LOG_INFO "环境未安装sshj将进行安装"
dnf install -y sshj
CHECK_RESULT $? 0 0 "安装sshj失败"
need_uninstall=1
else
LOG_INFO "环境已安装sshj将保持安装状态"
need_uninstall=0
fi
LOG_INFO "步骤3测试获取SSHj版本命令"
if ! command -v sshj > /dev/null 2>&1; then
LOG_ERROR "sshj命令不存在或不支持"
if [ $need_uninstall -eq 1 ]; then
dnf remove -y sshj
fi
exit 255
fi
LOG_INFO "步骤4执行sshj版本查询命令"
sshj --version
CHECK_RESULT $? 0 0 "执行sshj --version命令失败"
LOG_INFO "步骤5验证版本输出格式"
version_output=$(sshj --version 2>&1)
echo "$version_output" | grep -q -E "[0-9]+\.[0-9]+\.[0-9]+"
CHECK_RESULT $? 0 0 "版本号格式不符合预期"
LOG_INFO "步骤6环境清理"
if [ $need_uninstall -eq 1 ]; then
LOG_INFO "卸载测试安装的sshj软件包"
dnf remove -y sshj
CHECK_RESULT $? 0 0 "卸载sshj失败"
else
LOG_INFO "保持sshj安装状态无需卸载"
fi
LOG_INFO "测试完成成功获取并验证SSHj库版本"
}
main "$@"

View File

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

View File

@@ -1,66 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-03
# @License : Mulan PSL v2
# @Desc : 测试 texlive-luaintro-doc 软件包的文档功能,验证文档是否正确安装并可访问。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装texlive-luaintro-doc
LOG_INFO "检查是否已安装texlive-luaintro-doc"
rpm -q texlive-luaintro-doc
if [ $? -eq 0 ]; then
LOG_INFO "texlive-luaintro-doc已安装"
INSTALLED=1
else
LOG_INFO "texlive-luaintro-doc未安装"
INSTALLED=0
fi
# 检查yum源中是否有texlive-luaintro-doc
LOG_INFO "检查yum源中是否有texlive-luaintro-doc"
dnf list available texlive-luaintro-doc > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中无texlive-luaintro-doc软件包"
# 若未安装则安装软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装texlive-luaintro-doc"
dnf install -y texlive-luaintro-doc > /dev/null 2>&1
CHECK_RESULT $? 0 1 "安装texlive-luaintro-doc失败"
fi
# 验证文档是否正确安装并可访问
LOG_INFO "验证文档是否正确安装并可访问"
ls /usr/share/doc/texlive-luaintro-doc > /dev/null 2>&1
CHECK_RESULT $? 0 1 "文档目录不存在"
# 检查文档内容是否可访问
LOG_INFO "检查文档内容是否可访问"
cat /usr/share/doc/texlive-luaintro-doc/README > /dev/null 2>&1
CHECK_RESULT $? 0 1 "文档内容不可访问"
# 若脚本开始时未安装则卸载软件包以恢复环境
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载texlive-luaintro-doc以恢复环境"
dnf remove -y texlive-luaintro-doc > /dev/null 2>&1
CHECK_RESULT $? 0 1 "卸载texlive-luaintro-doc失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

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

View File

@@ -1,71 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-03
# @License : Mulan PSL v2
# @Desc : 测试 texlive-luaintro-doc 软件包的文档验证功能,验证文档内容是否正确且完整。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装texlive-luaintro-doc软件包
LOG_INFO "检查是否已安装texlive-luaintro-doc软件包"
rpm -q texlive-luaintro-doc
if [ $? -eq 0 ]; then
LOG_INFO "texlive-luaintro-doc已安装脚本结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-luaintro-doc未安装将在测试后卸载"
INSTALLED=false
fi
# 检查yum源中是否存在texlive-luaintro-doc软件包
LOG_INFO "检查yum源中是否存在texlive-luaintro-doc软件包"
dnf list available texlive-luaintro-doc > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中不存在texlive-luaintro-doc软件包"
# 安装texlive-luaintro-doc软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装texlive-luaintro-doc软件包"
dnf install -y texlive-luaintro-doc
CHECK_RESULT $? 0 0 "安装texlive-luaintro-doc失败"
fi
# 验证文档内容是否正确且完整
LOG_INFO "验证texlive-luaintro-doc文档内容是否正确且完整"
DOC_PATH=$(rpm -ql texlive-luaintro-doc | grep -m1 "README")
if [ -z "$DOC_PATH" ]; then
LOG_ERROR "未找到texlive-luaintro-doc的文档文件"
exit 255
fi
# 检查文档内容是否包含预期关键词(示例)
LOG_INFO "检查文档内容是否包含预期关键词"
grep -q "Lua" "$DOC_PATH"
CHECK_RESULT $? 0 255 "文档内容不包含预期关键词"
# 清理环境:如果之前未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-luaintro-doc软件包以恢复环境"
dnf remove -y texlive-luaintro-doc
CHECK_RESULT $? 0 0 "卸载texlive-luaintro-doc失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -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-19
# @License : Mulan PSL v2
# @Desc : Test basic LaTeX command usage
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 设置环境变量
LOG_INFO() {
echo "[INFO] $*"
}
LOG_ERROR() {
echo "[ERROR] $*" >&2
}
# 测试软件包名称
PACKAGE_NAME="texlive"
LOG_INFO "测试开始Test basic LaTeX command usage"
# 步骤1检查yum源中是否存在texlive软件包
LOG_INFO "步骤1检查yum源中是否存在${PACKAGE_NAME}软件包"
if ! dnf list available ${PACKAGE_NAME} &>/dev/null; then
LOG_ERROR "yum源中不存在${PACKAGE_NAME}软件包"
exit 255
fi
# 步骤2检查是否已安装texlive
LOG_INFO "步骤2检查是否已安装${PACKAGE_NAME}"
INSTALLED=false
if rpm -q ${PACKAGE_NAME} &>/dev/null; then
LOG_INFO "${PACKAGE_NAME}已安装"
INSTALLED=true
else
LOG_INFO "${PACKAGE_NAME}未安装"
fi
# 步骤3如果未安装则安装texlive
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "步骤3安装${PACKAGE_NAME}"
dnf install -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}失败"
fi
# 步骤4测试基本LaTeX命令用法
LOG_INFO "步骤4测试基本LaTeX命令用法"
# 检查latex命令是否存在
if ! command -v latex &>/dev/null; then
LOG_ERROR "latex命令不存在或不支持"
exit 255
fi
# 创建一个简单的LaTeX测试文件
TEST_FILE="test_latex.tex"
cat > ${TEST_FILE} << "EOF"
\documentclass{article}
\begin{document}
Hello, LaTeX!
\end{document}
EOF
# 使用latex命令编译测试文件
LOG_INFO "使用latex命令编译测试文件"
latex ${TEST_FILE}
CHECK_RESULT $? 0 0 "latex命令执行失败"
# 步骤5检查生成的DVI文件是否存在
LOG_INFO "步骤5检查生成的DVI文件"
if [ -f "test_latex.dvi" ]; then
LOG_INFO "DVI文件生成成功"
else
LOG_ERROR "DVI文件未生成"
exit 1
fi
# 步骤6清理生成的临时文件
LOG_INFO "步骤6清理生成的临时文件"
rm -f test_latex.* ${TEST_FILE}
# 步骤7如果测试前未安装则卸载texlive
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "步骤7卸载${PACKAGE_NAME}"
dnf remove -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}失败"
fi
LOG_INFO "测试完成Test basic LaTeX command usage"
}
main "$@"

View File

@@ -1,79 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-19
# @License : Mulan PSL v2
# @Desc : Verify installed files list
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:验证已安装的文件列表"
# 步骤1检查是否已经安装了texlive-modref软件包
LOG_INFO "步骤1检查texlive-modref软件包是否已经安装"
dnf list installed | grep -q "texlive-modref"
if [ $? -eq 0 ]; then
LOG_INFO "texlive-modref已经安装测试结束将保持安装状态"
already_installed=1
else
LOG_INFO "texlive-modref未安装将在测试步骤中安装"
already_installed=0
fi
# 步骤2检查yum源中是否有texlive-modref软件包
LOG_INFO "步骤2检查yum源中是否有texlive-modref软件包"
dnf list available texlive-modref 2>/dev/null | grep -q "texlive-modref"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-modref软件包"
exit 255
fi
# 步骤3如果未安装则安装texlive-modref软件包
if [ $already_installed -eq 0 ]; then
LOG_INFO "步骤3安装texlive-modref软件包"
dnf install -y texlive-modref
CHECK_RESULT $? 0 0 "安装texlive-modref失败"
fi
# 步骤4验证已安装的文件列表
LOG_INFO "步骤4验证已安装的文件列表"
rpm -ql texlive-modref > /tmp/texlive-modref-files.txt
CHECK_RESULT $? 0 0 "获取texlive-modref文件列表失败"
# 步骤5检查文件列表是否非空
LOG_INFO "步骤5检查文件列表是否非空"
if [ -s /tmp/texlive-modref-files.txt ]; then
LOG_INFO "文件列表非空,测试通过"
else
LOG_ERROR "文件列表为空,测试失败"
exit 1
fi
# 步骤6清理环境
LOG_INFO "步骤6清理环境"
rm -f /tmp/texlive-modref-files.txt
# 步骤7如果测试前未安装则卸载texlive-modref软件包
if [ $already_installed -eq 0 ]; then
LOG_INFO "步骤7卸载texlive-modref软件包"
dnf remove -y texlive-modref
CHECK_RESULT $? 0 0 "卸载texlive-modref失败"
fi
LOG_INFO "测试完成:验证已安装的文件列表"
}
main "$@"

View File

@@ -1,104 +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-19
# @License : Mulan PSL v2
# @Desc : Check package version info
# ############################################
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 package_name="$1"
dnf list available "$package_name" &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 $package_name 不在yum源中"
exit 255
fi
LOG_INFO "软件包 $package_name 存在于yum源中"
}
# 检查命令参数是否支持
check_command_option() {
local command="$1"
local option="$2"
if ! $command --help 2>&1 | grep -q "$option"; then
LOG_ERROR "命令 $command 不支持参数 $option"
exit 255
fi
LOG_INFO "命令 $command 支持参数 $option"
}
# 主测试函数
test_package_version_info() {
local package_name="texlive-modref"
local installed=false
# 步骤1检查环境是否已安装指定软件包
LOG_INFO "检查环境是否已安装 $package_name"
if rpm -q $package_name &>/dev/null; then
LOG_INFO "环境已安装 $package_name"
installed=true
else
LOG_INFO "环境未安装 $package_name"
fi
# 步骤2检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否有 $package_name"
check_package_in_repo "$package_name"
# 步骤3如果未安装则安装软件包
if [ "$installed" = false ]; then
LOG_INFO "安装 $package_name"
dnf install -y "$package_name"
CHECK_RESULT $? 0 0 "安装 $package_name 失败"
fi
# 步骤4检查命令参数是否支持
LOG_INFO "检查命令参数是否支持"
check_command_option "rpm" "-q"
# 步骤5执行命令获取版本信息
LOG_INFO "获取 $package_name 的版本信息"
rpm -q "$package_name"
CHECK_RESULT $? 0 0 "获取 $package_name 版本信息失败"
# 步骤6如果之前未安装则在测试结束后卸载软件包
if [ "$installed" = false ]; then
LOG_INFO "卸载 $package_name"
dnf remove -y "$package_name"
CHECK_RESULT $? 0 0 "卸载 $package_name 失败"
else
LOG_INFO "保持 $package_name 的安装状态"
fi
LOG_INFO "测试完成"
}
# 执行测试
test_package_version_info
}
main "$@"

View File

@@ -1,72 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-26
# @License : Mulan PSL v2
# @Desc : Test basic functionality of texlive-pawpict
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 texlive-pawpict 的基本功能"
# 检查是否已安装 texlive-pawpict
LOG_INFO "检查 texlive-pawpict 是否已安装"
if dnf list installed texlive-pawpict &> /dev/null; then
LOG_INFO "texlive-pawpict 已安装,跳过安装步骤"
INSTALLED=true
else
LOG_INFO "texlive-pawpict 未安装,将在测试后卸载"
INSTALLED=false
fi
# 检查 yum 源中是否有 texlive-pawpict
LOG_INFO "检查 yum 源中是否有 texlive-pawpict"
if ! dnf list available texlive-pawpict &> /dev/null; then
LOG_ERROR "yum 源中未找到 texlive-pawpict"
exit 255
fi
# 如果未安装,则安装 texlive-pawpict
if [ "$INSTALLED" = false ]; then
LOG_INFO "正在安装 texlive-pawpict"
dnf install -y texlive-pawpict
CHECK_RESULT $? 0 0 "安装 texlive-pawpict 失败"
fi
# 测试 texlive-pawpict 的基本功能
LOG_INFO "测试 texlive-pawpict 的基本功能"
texlive-pawpict --version
CHECK_RESULT $? 0 0 "texlive-pawpict --version 执行失败"
# 测试不支持的参数
LOG_INFO "测试 texlive-pawpict 不支持的参数"
texlive-pawpict --invalid-arg &> /dev/null
if [ $? -ne 255 ]; then
LOG_ERROR "不支持的参数未返回退出码 255"
exit 255
fi
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载 texlive-pawpict"
dnf remove -y texlive-pawpict
CHECK_RESULT $? 0 0 "卸载 texlive-pawpict 失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,71 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-26
# @License : Mulan PSL v2
# @Desc : Verify basic doc functionality
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Verify basic doc functionality"
# 检查软件包是否已安装
LOG_INFO "检查软件包texlive-sclang-prettifier-doc是否已安装"
if dnf list installed texlive-sclang-prettifier-doc &>/dev/null; then
LOG_INFO "软件包texlive-sclang-prettifier-doc已安装测试结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "软件包texlive-sclang-prettifier-doc未安装测试结束后将卸载"
INSTALLED=false
fi
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否有texlive-sclang-prettifier-doc软件包"
if ! dnf list available texlive-sclang-prettifier-doc &>/dev/null; then
LOG_ERROR "yum源中未找到texlive-sclang-prettifier-doc软件包"
exit 255
fi
# 安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装texlive-sclang-prettifier-doc软件包"
dnf install -y texlive-sclang-prettifier-doc
CHECK_RESULT $? 0 0 "安装texlive-sclang-prettifier-doc失败"
fi
# 测试基本文档功能
LOG_INFO "测试texlive-sclang-prettifier-doc的基本文档功能"
if ! command -v sclang-prettifier &>/dev/null; then
LOG_ERROR "sclang-prettifier命令不存在或不支持"
exit 255
fi
# 执行命令并检查结果
LOG_INFO "执行sclang-prettifier --help命令"
sclang-prettifier --help
CHECK_RESULT $? 0 0 "执行sclang-prettifier --help失败"
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-sclang-prettifier-doc软件包"
dnf remove -y texlive-sclang-prettifier-doc
CHECK_RESULT $? 0 0 "卸载texlive-sclang-prettifier-doc失败"
fi
LOG_INFO "测试完成Verify basic doc functionality"
}
main "$@"

View File

@@ -1,88 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试texlive-silence包的核心功能在LaTeX文档中抑制特定警告信息验证警告被正确过滤
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试texlive-silence包的核心功能抑制LaTeX文档中的特定警告信息"
LOG_INFO "步骤1检查texlive-silence软件包是否在yum源中"
if ! dnf list available texlive-silence 2>/dev/null | grep -q texlive-silence; then
LOG_ERROR "yum源中未找到texlive-silence软件包"
exit 255
fi
LOG_INFO "步骤2检查当前环境是否已安装texlive-silence"
if rpm -q texlive-silence >/dev/null 2>&1; then
LOG_INFO "texlive-silence已安装测试完成后将保持安装状态"
INSTALLED_BEFORE_TEST=true
else
LOG_INFO "texlive-silence未安装将在测试过程中安装"
INSTALLED_BEFORE_TEST=false
fi
if [ "$INSTALLED_BEFORE_TEST" = "false" ]; then
LOG_INFO "步骤3安装texlive-silence软件包"
dnf install -y texlive-silence
CHECK_RESULT $? 0 0 "安装texlive-silence失败"
fi
LOG_INFO "步骤4创建一个测试LaTeX文档"
cat > test_warning.tex << "EOF"
\documentclass{article}
\usepackage{silence}
\WarningFilter{latex}{Overfull}
\begin{document}
This is a test document to check if warnings are suppressed.
\newpage
\newpage
\newpage
\newpage
\newpage
\end{document}
EOF
CHECK_RESULT $? 0 0 "创建测试LaTeX文档失败"
LOG_INFO "步骤5编译LaTeX文档检查警告是否被抑制"
pdflatex -interaction=nonstopmode test_warning.tex > output.log 2>&1
CHECK_RESULT $? 0 0 "编译LaTeX文档失败"
LOG_INFO "步骤6检查输出日志中是否包含被抑制的警告信息"
if grep -q "Overfull" output.log; then
LOG_ERROR "警告信息未被正确抑制"
CHECK_RESULT 1 0 0 "警告抑制功能测试失败"
else
LOG_INFO "警告信息已被正确抑制"
CHECK_RESULT 0 0 0 "警告抑制功能测试成功"
fi
LOG_INFO "步骤7清理测试文件"
rm -f test_warning.tex output.log test_warning.aux test_warning.log test_warning.pdf
if [ "$INSTALLED_BEFORE_TEST" = "false" ]; then
LOG_INFO "步骤8卸载texlive-silence软件包"
dnf remove -y texlive-silence
CHECK_RESULT $? 0 0 "卸载texlive-silence失败"
else
LOG_INFO "步骤8测试前已安装texlive-silence保持安装状态"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,81 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试texlive-silence包对特定verbatim环境或命令的输出过滤功能验证其过滤规则生效
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试texlive-silence包对特定verbatim环境或命令的输出过滤功能"
LOG_INFO "步骤1检查texlive-silence软件包是否在yum源中"
if ! dnf list available texlive-silence 2>/dev/null | grep -q texlive-silence; then
LOG_ERROR "texlive-silence软件包不在yum源中"
exit 255
fi
LOG_INFO "步骤2检查当前是否已安装texlive-silence软件包"
if rpm -q texlive-silence >/dev/null 2>&1; then
LOG_INFO "texlive-silence软件包已安装测试结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-silence软件包未安装将进行安装"
INSTALLED=false
fi
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "步骤3安装texlive-silence软件包"
dnf install -y texlive-silence
CHECK_RESULT $? 0 0 "安装texlive-silence软件包失败"
fi
LOG_INFO "步骤4验证texlive-silence包对verbatim环境的过滤功能"
cat > test_verbatim.tex << "EOF"
\documentclass{article}
\usepackage{silence}
\WarningFilter{latex}{Command}
\begin{document}
\begin{verbatim}
This is a verbatim environment.
\end{verbatim}
\end{document}
EOF
pdflatex -interaction=nonstopmode test_verbatim.tex > output.log 2>&1
CHECK_RESULT $? 0 0 "编译LaTeX文档失败"
LOG_INFO "步骤5检查输出日志中是否过滤了特定警告"
if grep -q "Command" output.log; then
LOG_ERROR "过滤规则未生效,日志中仍包含特定警告"
CHECK_RESULT 1 0 0 "过滤规则未生效"
else
LOG_INFO "过滤规则生效,特定警告已被过滤"
CHECK_RESULT 0 0 0 "过滤规则生效"
fi
LOG_INFO "步骤6清理临时文件"
rm -f test_verbatim.tex output.log test_verbatim.aux test_verbatim.log test_verbatim.pdf
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "步骤7卸载texlive-silence软件包"
dnf remove -y texlive-silence
CHECK_RESULT $? 0 0 "卸载texlive-silence软件包失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,61 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-10-03
# @License : Mulan PSL v2
# @Desc : Test basic command usage
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装texlive-simpler-wick
LOG_INFO "检查是否已安装texlive-simpler-wick"
rpm -q texlive-simpler-wick > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-simpler-wick已安装测试后将保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-simpler-wick未安装测试后将卸载"
INSTALLED=false
fi
# 检查yum源中是否有texlive-simpler-wick软件包
LOG_INFO "检查yum源中是否有texlive-simpler-wick软件包"
dnf list available texlive-simpler-wick > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中未找到texlive-simpler-wick软件包"
# 安装texlive-simpler-wick
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装texlive-simpler-wick"
dnf install -y texlive-simpler-wick
CHECK_RESULT $? 0 0 "安装texlive-simpler-wick失败"
fi
# 测试基本命令用法
LOG_INFO "测试基本命令用法"
texlive-simpler-wick --help > /dev/null 2>&1
CHECK_RESULT $? 0 255 "texlive-simpler-wick命令不支持--help参数"
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-simpler-wick"
dnf remove -y texlive-simpler-wick
CHECK_RESULT $? 0 0 "卸载texlive-simpler-wick失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -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 : Test font rendering functionality
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试字体渲染功能"
# 检查是否已安装texlive-texlogos
if dnf list installed texlive-texlogos &>/dev/null; then
LOG_INFO "texlive-texlogos已安装测试完成后将保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-texlogos未安装测试完成后将卸载"
INSTALLED=false
fi
# 检查yum源中是否有texlive-texlogos
if ! dnf list available texlive-texlogos &>/dev/null; then
LOG_ERROR "yum源中未找到texlive-texlogos软件包"
exit 255
fi
# 安装texlive-texlogos
if [ "$INSTALLED" = false ]; then
LOG_INFO "正在安装texlive-texlogos"
dnf install -y texlive-texlogos
CHECK_RESULT $? 0 0 "安装texlive-texlogos失败"
fi
# 测试字体渲染功能
LOG_INFO "测试字体渲染功能"
test_command="some_rendering_command --test-font" # 替换为实际的测试命令和参数
if ! command -v some_rendering_command &>/dev/null; then
LOG_ERROR "命令some_rendering_command不存在或不支持"
exit 255
fi
$test_command
CHECK_RESULT $? 0 0 "字体渲染功能测试失败"
# 清理环境:如果测试前未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "正在卸载texlive-texlogos"
dnf remove -y texlive-texlogos
CHECK_RESULT $? 0 0 "卸载texlive-
}
main "$@"

View File

@@ -1,70 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-26
# @License : Mulan PSL v2
# @Desc : Test installation of texlive-txgreeks
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查texlive-txgreeks是否已安装
LOG_INFO "检查texlive-txgreeks是否已安装"
if dnf list installed texlive-txgreeks &>/dev/null; then
LOG_INFO "texlive-txgreeks已安装脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-txgreeks未安装将在测试后卸载"
INSTALLED=false
fi
# 检查yum源中是否有texlive-txgreeks软件包
LOG_INFO "检查yum源中是否有texlive-txgreeks软件包"
if ! dnf list available texlive-txgreeks &>/dev/null; then
LOG_ERROR "yum源中未找到texlive-txgreeks软件包"
exit 255
fi
# 安装texlive-txgreeks软件包
LOG_INFO "开始安装texlive-txgreeks软件包"
dnf install -y texlive-txgreeks
CHECK_RESULT $? 0 0 "安装texlive-txgreeks失败"
# 验证texlive-txgreeks功能
LOG_INFO "验证texlive-txgreeks功能"
command_to_test="txgreeks --version"
if ! command -v txgreeks &>/dev/null; then
LOG_ERROR "txgreeks命令不存在或不支持"
exit 255
fi
eval "$command_to_test"
CHECK_RESULT $? 0 0 "执行txgreeks命令失败"
# 根据初始状态决定是否卸载
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-txgreeks软件包"
dnf remove -y texlive-txgreeks
CHECK_RESULT $? 0 0 "卸载texlive-txgreeks失败"
else
LOG_INFO "保持texlive-txgreeks安装状态"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,73 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-13
# @License : Mulan PSL v2
# @Desc : Test URI normalization functionality
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查uriparser软件包是否已安装
LOG_INFO "检查uriparser软件包是否已安装"
if rpm -q uriparser >/dev/null 2>&1; then
LOG_INFO "uriparser软件包已安装"
INSTALLED=true
else
LOG_INFO "uriparser软件包未安装"
INSTALLED=false
fi
# 检查yum源中是否有uriparser软件包
LOG_INFO "检查yum源中是否有uriparser软件包"
if ! dnf list available uriparser >/dev/null 2>&1; then
LOG_ERROR "yum源中未找到uriparser软件包"
exit 255
fi
# 如果未安装则安装uriparser软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装uriparser软件包"
dnf install -y uriparser
CHECK_RESULT $? 0 0 "安装uriparser软件包失败"
fi
# 测试URI标准化功能
LOG_INFO "测试URI标准化功能"
TEST_URI="http://example.com/path/to/resource?query=value"
EXPECTED_RESULT="http://example.com/path/to/resource?query=value"
ACTUAL_RESULT=$(uriparser-normalize "$TEST_URI" 2>/dev/null)
CHECK_RESULT $? 0 0 "uriparser-normalize命令执行失败"
if [ "$ACTUAL_RESULT" != "$EXPECTED_RESULT" ]; then
LOG_ERROR "URI标准化功能测试失败: 预期结果[$EXPECTED_RESULT], 实际结果[$ACTUAL_RESULT]"
exit 1
else
LOG_INFO "URI标准化功能测试成功: 结果[$ACTUAL_RESULT]"
fi
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载uriparser软件包"
dnf remove -y uriparser
CHECK_RESULT $? 0 0 "卸载uriparser软件包失败"
fi
LOG_INFO "测试脚本执行完成"
exit 0
}
main "$@"

View File

@@ -1,68 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-29
# @License : Mulan PSL v2
# @Desc : Test URI parsing functionality
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查uriparser软件包是否已安装
if ! rpm -q uriparser >/dev/null 2>&1; then
LOG_INFO "uriparser软件包未安装开始安装..."
# 检查yum源中是否有uriparser软件包
if ! dnf list available uriparser >/dev/null 2>&1; then
LOG_ERROR "yum源中未找到uriparser软件包"
exit 255
fi
dnf install -y uriparser
CHECK_RESULT $? 0 0 "安装uriparser软件包失败"
INSTALLED=1
else
LOG_INFO "uriparser软件包已安装"
INSTALLED=0
fi
# 测试URI解析功能
LOG_INFO "开始测试URI解析功能..."
TEST_URI="http://example.com/path?query=value"
EXPECTED_RESULT="http://example.com/path?query=value"
# 使用uriparse命令解析URI
ACTUAL_RESULT=$(uriparse "$TEST_URI")
CHECK_RESULT $? 0 0 "执行uriparse命令失败"
# 检查解析结果是否符合预期
if [ "$ACTUAL_RESULT" != "$EXPECTED_RESULT" ]; then
LOG_ERROR "URI解析结果不符合预期"
exit 1
else
LOG_INFO "URI解析结果符合预期"
fi
# 清理环境
if [ $INSTALLED -eq 1 ]; then
LOG_INFO "清理环境卸载uriparser软件包..."
dnf remove -y uriparser >/dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载uriparser软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"