This commit is contained in:
2026-04-25 01:12:04 +08:00
56 changed files with 0 additions and 3555 deletions

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/booth/booth-test",
"machine num": 1,
"cases": [
{
"name": "test_booth-test_function_start",
"desc": "Test booth service start functionality"
}
]
}

View File

@@ -1,42 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/libavc1394/libavc1394-help",
"machine num": 1,
"cases": [
{
"name": "test_libavc1394-help_function_install",
"desc": "Test package installation"
},
{
"name": "test_libavc1394-help_function_uninstall",
"desc": "Test package uninstallation"
},
{
"name": "test_libavc1394-help_function_basic",
"desc": "Test basic functionality"
},
{
"name": "test_libavc1394-help_function_config",
"desc": "Test package configuration"
},
{
"name": "test_libavc1394-help_function_version",
"desc": "Test version check"
},
{
"name": "test_libavc1394-help_function_deps",
"desc": "Test dependencies"
},
{
"name": "test_libavc1394-help_function_help",
"desc": "Test help output"
},
{
"name": "test_libavc1394-help_function_manpage",
"desc": "Test manual page existence"
},
{
"name": "test_libavc1394-help_function_basic_cmd",
"desc": "Test basic command usage"
}
]
}

View File

@@ -1,14 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/nagios/nagios-devel",
"machine num": 1,
"cases": [
{
"name": "test_nagios-devel_function_config",
"desc": "Test configuration file parsing"
},
{
"name": "test_nagios-devel_function_plugin",
"desc": "Test plugin functionality"
}
]
}

View File

@@ -5,18 +5,6 @@
{
"name": "test_noggit-javadoc_function_install",
"desc": "Test the installation of noggit-javadoc package"
},
{
"name": "test_noggit-javadoc_function_generate",
"desc": "Test the generation of javadoc"
},
{
"name": "test_noggit-javadoc_function_validate",
"desc": "Test the validation of javadoc"
},
{
"name": "test_noggit-javadoc_function_search",
"desc": "Test the search functionality"
}
]
}

View File

@@ -5,18 +5,6 @@
{
"name": "test_perl-HTML-Scrubber-help_function_install",
"desc": "测试软件包 perl-HTML-Scrubber-help 能够成功安装到系统中"
},
{
"name": "test_perl-HTML-Scrubber-help_function_check",
"desc": "测试软件包 perl-HTML-Scrubber-help 已正确安装并可查询到版本信息"
},
{
"name": "test_perl-HTML-Scrubber-help_function_usage",
"desc": "测试软件包 perl-HTML-Scrubber-help 提供帮助文档并能正常访问"
},
{
"name": "test_perl-HTML-Scrubber-help_function_uninstall",
"desc": "测试软件包 perl-HTML-Scrubber-help 能够从系统中完全卸载"
}
]
}

View File

@@ -6,18 +6,6 @@
"name": "test_pycpuinfo-help_install",
"desc": "测试pycpuinfo-help软件包的安装功能确保软件包可以正常安装。",
"machine num": 1
},
{
"name": "test_pycpuinfo-help_function_cpuinfo",
"desc": "测试pycpuinfo-help获取CPU信息的功能确保返回的CPU信息正确。"
},
{
"name": "test_pycpuinfo-help_function_version",
"desc": "测试pycpuinfo-help的版本信息功能确保版本信息正确。"
},
{
"name": "test_pycpuinfo-help_function_help",
"desc": "测试pycpuinfo-help的帮助信息功能确保帮助信息正确显示。"
}
]
}

View File

@@ -1,34 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/python-sphinxcontrib-jsmath/python3-sphinxcontrib-jsmath",
"machine num": 1,
"cases": [
{
"name": "test_python3-sphinxcontrib-jsmath_function_math",
"desc": "Test basic math rendering functionality"
},
{
"name": "test_python3-sphinxcontrib-jsmath_function_install",
"desc": "Test package installation via package manager"
},
{
"name": "test_python3-sphinxcontrib-jsmath_function_uninstall",
"desc": "Test package removal via package manager"
},
{
"name": "test_python3-sphinxcontrib-jsmath_function_import",
"desc": "Test successful import of the jsmath module"
},
{
"name": "test_python3-sphinxcontrib-jsmath_function_extension",
"desc": "Test Sphinx extension registration"
},
{
"name": "test_python3-sphinxcontrib-jsmath_function_mathjax",
"desc": "Test MathJax config generation"
},
{
"name": "test_python3-sphinxcontrib-jsmath_function_htmlout",
"desc": "Test HTML output with math"
}
]
}

View File

@@ -1,18 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/rubygem-delorean/rubygem-delorean-doc",
"machine num": 1,
"cases": [
{
"name": "test_rubygem-delorean-doc_function_time_travel",
"desc": "Test time travel functionality"
},
{
"name": "test_rubygem-delorean-doc_function_freeze_time",
"desc": "Test freezing time functionality"
},
{
"name": "test_rubygem-delorean-doc_function_time_manipulation",
"desc": "Test time manipulation"
}
]
}

View File

@@ -17,22 +17,6 @@
{
"name": "test_snappy-help_function_install",
"desc": "验证snappy-help软件包能够被成功安装例如执行 `apt install -y snappy-help` 命令应返回成功,并可通过 `dpkg -l | grep snappy-help` 确认。"
},
{
"name": "test_snappy-help_function_pkg_exists",
"desc": "验证snappy-help软件包是否已存在于系统中例如执行 `dpkg -s snappy-help` 命令应返回已安装状态。"
},
{
"name": "test_snappy-help_function_help_option",
"desc": "验证snappy-help命令支持帮助选项例如执行 `snappy-help --help` 或 `snappy-help -h` 应能显示详细的帮助信息。"
},
{
"name": "test_snappy-help_function_man_page",
"desc": "验证snappy-help软件包提供了正确的手册页例如执行 `man snappy-help` 命令应能正常显示手册内容。"
},
{
"name": "test_snappy-help_function_version",
"desc": "验证snappy-help命令可以显示版本信息例如执行 `snappy-help --version` 应能输出有效的版本号。"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/springframework/springframework-beans",
"machine num": 1,
"cases": [
{
"name": "test_springframework-beans_function_bean_creation",
"desc": "Test basic bean creation functionality"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-k/texlive-hackthefootline",
"machine num": 1,
"cases": [
{
"name": "test_texlive-hackthefootline_function_basic",
"desc": "Basic functionality test for texlive-hackthefootline"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-t/texlive-regcount-doc",
"machine num": 1,
"cases": [
{
"name": "test_texlive-regcount-doc_function_basic",
"desc": "Basic functionality test for texlive-regcount-doc"
}
]
}

View File

@@ -2,10 +2,6 @@
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-u/texlive-ruhyphen",
"machine num": 1,
"cases": [
{
"name": "test_texlive-ruhyphen_function_hyphenation",
"desc": "Test hyphenation for Russian text"
},
{
"name": "test_texlive-ruhyphen_function_installation",
"desc": "Test if the texlive-ruhyphen package can be successfully installed"
@@ -13,18 +9,6 @@
{
"name": "test_texlive-ruhyphen_function_removal",
"desc": "Test if the texlive-ruhyphen package can be cleanly uninstalled"
},
{
"name": "test_texlive-ruhyphen_function_presence",
"desc": "Test if the package files (e.g., ruhyph.tex) are present in the system after installation"
},
{
"name": "test_texlive-ruhyphen_function_basic_usage",
"desc": "Test that a simple LaTeX document with Russian text compiles successfully when using the package"
},
{
"name": "test_texlive-ruhyphen_function_hyphen_accuracy",
"desc": "Test hyphenation of a known Russian word against expected break points"
}
]
}

View File

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

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/webrtc-audio-processing/webrtc-audio-processing-devel",
"machine num": 1,
"cases": [
{
"name": "test_webrtc-audio-processing-devel_function_init",
"desc": "Test initialization of the audio processing module"
}
]
}

View File

@@ -1,69 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-13
# @License : Mulan PSL v2
# @Desc : Test booth service start functionality
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试脚本test_booth-test_function_start
LOG_INFO "开始测试 booth 服务的启动功能"
# 检查是否已安装 booth 软件包
if ! dnf list installed booth > /dev/null 2>&1; then
LOG_INFO "booth 未安装,将进行安装测试"
INSTALLED=false
else
LOG_INFO "booth 已安装,跳过安装步骤"
INSTALLED=true
fi
# 检查 yum 源中是否存在 booth 软件包
if ! dnf list available booth > /dev/null 2>&1; then
LOG_ERROR "yum 源中未找到 booth 软件包"
exit 255
fi
# 如果未安装,则安装 booth
if [ "$INSTALLED" = false ]; then
LOG_INFO "正在安装 booth 软件包"
dnf install -y booth
CHECK_RESULT $? 0 0 "booth 安装失败"
fi
# 测试启动 booth 服务
LOG_INFO "测试启动 booth 服务"
systemctl start booth
CHECK_RESULT $? 0 0 "booth 服务启动失败"
# 检查服务状态是否为 active (running)
LOG_INFO "检查 booth 服务状态"
systemctl is-active --quiet booth
CHECK_RESULT $? 0 0 "booth 服务未正常运行"
# 如果需要清理环境(仅当脚本安装的软件包时)
if [ "$INSTALLED" = false ]; then
LOG_INFO "清理环境:卸载 booth"
dnf remove -y booth
CHECK_RESULT $? 0 0 "booth卸载失败"
fi
LOG_INFO "booth 服务启动功能测试完成"
}
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-10-18
# @License : Mulan PSL v2
# @Desc : Test basic functionality
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Test basic functionality"
# 检查软件包是否在yum源中
LOG_INFO "检查yum源中是否存在libavc1394软件包"
dnf list available libavc1394 > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在libavc1394软件包"
exit 255
fi
# 检查是否已安装libavc1394
LOG_INFO "检查是否已安装libavc1394"
rpm -q libavc1394 > /dev/null 2>&1
if [ $? -eq 0 ]; then
installed=true
LOG_INFO "libavc1394已安装脚本结束后将保持安装状态"
else
installed=false
LOG_INFO "libavc1394未安装将在测试后卸载"
fi
# 如果未安装,则安装软件包
if [ "$installed" = false ]; then
LOG_INFO "安装libavc1394软件包"
dnf install -y libavc1394
CHECK_RESULT $? 0 0 "安装libavc1394失败"
fi
# 测试基本功能
LOG_INFO "测试libavc1394的基本功能"
command_to_test="some_libavc1394_command --help" # 替换为实际的测试命令
$command_to_test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "测试基本功能失败"
# 如果之前未安装,则卸载软件包
if [ "$installed" = false ]; then
LOG_INFO "卸载libavc1394软件包"
dnf remove -y libavc1394
CHECK_RESULT $? 0 0 "卸载libavc1394失败"
fi
LOG_INFO "测试完成Test basic functionality"
}
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-03
# @License : Mulan PSL v2
# @Desc : Test basic command usage
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 环境初始化:记录初始安装状态
LOG_INFO "开始测试libavc1394基础命令功能"
LOG_INFO "检查当前环境是否已安装libavc1394软件包"
rpm -q libavc1394 >/dev/null 2>&1
installed_before_test=$?
# 检查软件包是否在yum源中
LOG_INFO "检查yum源中是否存在libavc1394软件包"
dnf list available libavc1394 >/dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到libavc1394软件包"
exit 255
fi
# 如果环境未安装,则安装软件包
if [ $installed_before_test -ne 0 ]; then
LOG_INFO "环境未安装libavc1394开始安装软件包"
dnf install -y libavc1394 >/dev/null 2>&1
CHECK_RESULT $? 0 0 "安装libavc1394软件包失败"
LOG_INFO "libavc1394软件包安装成功"
else
LOG_INFO "环境已安装libavc1394跳过安装步骤"
fi
# 测试基础命令功能
LOG_INFO "测试libavc1394基础命令检查是否存在帮助参数"
libavc1394-control --help >/dev/null 2>&1
if [ $? -eq 255 ]; then
LOG_ERROR "libavc1394-control命令不支持--help参数"
exit 255
fi
CHECK_RESULT $? 0 0 "libavc1394-control命令执行失败"
LOG_INFO "测试libavc1394基础命令检查是否存在版本参数"
libavc1394-control --version >/dev/null 2>&1
if [ $? -eq 255 ]; then
LOG_ERROR "libavc1394-control命令不支持--version参数"
exit 255
fi
CHECK_RESULT $? 0 0 "libavc1394-control版本检查失败"
LOG_INFO "测试libavc1394基础命令执行基本命令"
libavc1394-control --list >/dev/null 2>&1
CHECK_RESULT $? 0 0 "libavc1394-control --list命令执行失败"
# 清理环境:如果测试前未安装,则卸载软件包
if [ $installed_before_test -ne 0 ]; then
LOG_INFO "测试前环境未安装libavc1394开始卸载软件包"
dnf remove -y libavc1394 >/dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载libavc1394软件包失败"
LOG_INFO "libavc1394软件包卸载成功"
else
LOG_INFO "测试前环境已安装libavc1394保持安装状态"
fi
LOG_INFO "libavc1394基础命令功能测试完成"
}
main "$@"

View File

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

View File

@@ -1,74 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-06
# @License : Mulan PSL v2
# @Desc : Test dependencies
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查libavc1394-help软件包是否已安装
LOG_INFO "检查libavc1394-help软件包是否已安装"
rpm -q libavc1394-help > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "libavc1394-help软件包已安装脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "libavc1394-help软件包未安装将在测试结束后卸载"
INSTALLED=false
fi
# 检查yum源中是否存在libavc1394-help软件包
LOG_INFO "检查yum源中是否存在libavc1394-help软件包"
dnf list available libavc1394-help > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到libavc1394-help软件包"
exit 255
fi
# 安装libavc1394-help软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装libavc1394-help软件包"
dnf install -y libavc1394-help
CHECK_RESULT $? 0 0 "安装libavc1394-help软件包失败"
fi
# 测试libavc1394-help命令是否支持--help参数
LOG_INFO "测试libavc1394-help命令是否支持--help参数"
libavc1394-help --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "libavc1394-help命令不支持--help参数"
# 测试libavc1394-help命令是否支持无效参数
LOG_INFO "测试libavc1394-help命令是否支持无效参数"
libavc1394-help --invalid-param > /dev/null 2>&1
if [ $? -ne 255 ]; then
LOG_ERROR "libavc1394-help命令支持无效参数"
exit 255
fi
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载libavc1394-help软件包"
dnf remove -y libavc1394-help
CHECK_RESULT $? 0 0 "卸载libavc1394-help软件包失败"
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-03-03
# @License : Mulan PSL v2
# @Desc : Test help output
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Test help output"
# 定义软件包名称和命令
PACKAGE_NAME="libavc1394"
COMMAND="avc1394_vcrctl"
HELP_PARAM="--help"
# 步骤1检查yum源中是否存在软件包
LOG_INFO "步骤1检查yum源中是否存在${PACKAGE_NAME}软件包"
dnf list available ${PACKAGE_NAME} &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到${PACKAGE_NAME}软件包"
exit 255
fi
# 步骤2检查当前是否已安装软件包
LOG_INFO "步骤2检查当前是否已安装${PACKAGE_NAME}软件包"
rpm -q ${PACKAGE_NAME} &>/dev/null
INSTALLED=$?
# 步骤3如果未安装则安装软件包
if [ $INSTALLED -ne 0 ]; then
LOG_INFO "步骤3安装${PACKAGE_NAME}软件包"
dnf install -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}软件包失败"
fi
# 步骤4检查命令是否存在
LOG_INFO "步骤4检查${COMMAND}命令是否存在"
which ${COMMAND} &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "${COMMAND}命令不存在"
exit 255
fi
# 步骤5检查帮助参数是否支持
LOG_INFO "步骤5检查${COMMAND}命令是否支持${HELP_PARAM}参数"
${COMMAND} ${HELP_PARAM} &>/dev/null
if [ $? -eq 255 ]; then
LOG_ERROR "${COMMAND}命令不支持${HELP_PARAM}参数"
exit 255
fi
# 步骤6执行帮助命令并检查输出
LOG_INFO "步骤6执行${COMMAND} ${HELP_PARAM}命令"
${COMMAND} ${HELP_PARAM} 2>&1 | grep -i "usage\|help" &>/dev/null
CHECK_RESULT $? 0 0 "${COMMAND} ${HELP_PARAM}命令执行失败或输出不符合预期"
# 步骤7环境恢复
LOG_INFO "步骤7环境恢复"
if [ $INSTALLED -ne 0 ]; then
LOG_INFO "卸载${PACKAGE_NAME}软件包"
dnf remove -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}软件包失败"
fi
LOG_INFO "测试完成Test help output"
}
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-10-18
# @License : Mulan PSL v2
# @Desc : Test package installation
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Test package installation"
# 检查libavc1394-help软件包是否已安装
LOG_INFO "检查libavc1394-help软件包是否已安装"
if rpm -q libavc1394-help >/dev/null 2>&1; then
LOG_INFO "libavc1394-help软件包已安装测试结束后将保持安装状态"
installed=true
else
LOG_INFO "libavc1394-help软件包未安装将在测试结束后卸载"
installed=false
fi
# 检查yum源中是否存在libavc1394-help软件包
LOG_INFO "检查yum源中是否存在libavc1394-help软件包"
if ! dnf list available libavc1394-help >/dev/null 2>&1; then
LOG_ERROR "yum源中不存在libavc1394-help软件包"
exit 255
fi
# 安装libavc1394-help软件包
LOG_INFO "安装libavc1394-help软件包"
dnf install -y libavc1394-help
CHECK_RESULT $? 0 0 "安装libavc1394-help软件包失败"
# 检查命令参数是否支持
LOG_INFO "检查命令参数是否支持"
if ! libavc1394-help --help >/dev/null 2>&1; then
LOG_ERROR "libavc1394-help命令不支持--help参数"
exit 255
fi
# 执行命令并验证结果
LOG_INFO "执行libavc1394-help命令并验证结果"
libavc1394-help --help | grep -q "Usage:"
CHECK_RESULT $? 0 0 "libavc1394-help命令执行失败"
# 清理环境
if [ "$installed" = false ]; then
LOG_INFO "卸载libavc1394-help软件包"
dnf remove -y libavc1394-help
CHECK_RESULT $? 0 0 "卸载libavc1394-help软件包失败"
fi
LOG_INFO "测试完成Test package installation"
}
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 : 2026-03-03
# @License : Mulan PSL v2
# @Desc : Test manual page existence
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Test manual page existence"
LOG_INFO "步骤1检查libavc1394软件包是否在yum源中"
dnf list available libavc1394 2>/dev/null | grep -q libavc1394
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到libavc1394软件包"
exit 255
fi
LOG_INFO "步骤2检查libavc1394软件包是否已安装"
rpm -q libavc1394 > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "libavc1394软件包已安装标记为已存在安装状态"
INSTALLED_FLAG=1
else
LOG_INFO "libavc1394软件包未安装标记为未安装状态"
INSTALLED_FLAG=0
fi
if [ $INSTALLED_FLAG -eq 0 ]; then
LOG_INFO "步骤3安装libavc1394软件包"
dnf install -y libavc1394
CHECK_RESULT $? 0 0 "安装libavc1394软件包失败"
fi
LOG_INFO "步骤4检查libavc1394命令的--help参数是否存在"
libavc1394 --help > /dev/null 2>&1
if [ $? -eq 255 ]; then
LOG_ERROR "libavc1394命令不支持--help参数"
exit 255
fi
LOG_INFO "步骤5执行libavc1394 --help命令"
libavc1394 --help
CHECK_RESULT $? 0 0 "执行libavc1394 --help命令失败"
LOG_INFO "步骤6检查libavc1394命令的man手册是否存在"
man -w libavc1394 > /dev/null 2>&1
CHECK_RESULT $? 0 0 "libavc1394命令的man手册不存在"
LOG_INFO "步骤7查看libavc1394命令的man手册"
man libavc1394 > /dev/null 2>&1
CHECK_RESULT $? 0 0 "查看libavc1394命令的man手册失败"
LOG_INFO "步骤8环境清理恢复原始状态"
if [ $INSTALLED_FLAG -eq 0 ]; then
LOG_INFO "卸载测试安装的libavc1394软件包"
dnf remove -y libavc1394
CHECK_RESULT $? 0 0 "卸载libavc1394软件包失败"
else
LOG_INFO "测试前已安装libavc1394软件包保持安装状态"
fi
LOG_INFO "测试完成Test manual page existence"
}
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-10-18
# @License : Mulan PSL v2
# @Desc : Test package uninstallation
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查libavc1394-help软件包是否已安装
LOG_INFO "检查libavc1394-help软件包是否已安装"
rpm -q libavc1394-help > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "libavc1394-help软件包已安装脚本结束时保持安装状态"
installed=true
else
LOG_INFO "libavc1394-help软件包未安装将在测试后卸载"
installed=false
fi
# 检查yum源中是否存在libavc1394-help软件包
LOG_INFO "检查yum源中是否存在libavc1394-help软件包"
dnf list available libavc1394-help > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到libavc1394-help软件包"
exit 255
fi
# 安装libavc1394-help软件包
LOG_INFO "开始安装libavc1394-help软件包"
dnf install -y libavc1394-help
CHECK_RESULT $? 0 0 "安装libavc1394-help软件包失败"
# 测试卸载功能
LOG_INFO "测试卸载libavc1394-help软件包"
dnf remove -y libavc1394-help
CHECK_RESULT $? 0 0 "卸载libavc1394-help软件包失败"
# 如果最初未安装,则重新安装以恢复环境
if [ "$installed" = false ]; then
LOG_INFO "恢复环境重新安装libavc1394-help软件包"
dnf install -y libavc1394-help
CHECK_RESULT $? 0 0 "恢复环境时安装libavc1394-help软件包失败"
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-06
# @License : Mulan PSL v2
# @Desc : Test version check
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查libavc1394-help的版本信息
LOG_INFO "开始测试Test version check"
# 检查环境是否已安装libavc1394-help
LOG_INFO "检查libavc1394-help是否已安装"
if dnf list installed libavc1394-help &>/dev/null; then
LOG_INFO "libavc1394-help已安装测试结束后保持安装状态"
INSTALLED=true
else
LOG_INFO "libavc1394-help未安装测试结束后将卸载"
INSTALLED=false
fi
# 检查yum源中是否有libavc1394-help
LOG_INFO "检查yum源中是否存在libavc1394-help"
if ! dnf list available libavc1394-help &>/dev/null; then
LOG_ERROR "yum源中未找到libavc1394-help退出测试"
exit 255
fi
# 如果未安装则安装libavc1394-help
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装libavc1394-help"
dnf install -y libavc1394-help
CHECK_RESULT $? 0 0 "安装libavc1394-help失败"
fi
# 测试版本检查功能
LOG_INFO "执行版本检查命令"
libavc1394-help --version
CHECK_RESULT $? 0 0 "版本检查失败"
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载libavc1394-help"
dnf remove -y libavc1394-help
CHECK_RESULT $? 0 0 "卸载libavc1394-help失败"
fi
LOG_INFO "测试完成Test version check"
}
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-11-30
# @License : Mulan PSL v2
# @Desc : Test configuration file parsing
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查nagios-devel软件包是否已安装
LOG_INFO "检查nagios-devel软件包是否已安装"
if rpm -q nagios-devel &>/dev/null; then
LOG_INFO "nagios-devel软件包已安装"
installed=true
else
LOG_INFO "nagios-devel软件包未安装"
installed=false
fi
# 检查yum源中是否存在nagios-devel软件包
LOG_INFO "检查yum源中是否存在nagios-devel软件包"
if ! dnf list available nagios-devel &>/dev/null; then
LOG_ERROR "yum源中不存在nagios-devel软件包"
exit 255
fi
# 如果未安装则安装nagios-devel软件包
if [ "$installed" = false ]; then
LOG_INFO "开始安装nagios-devel软件包"
dnf install -y nagios-devel
CHECK_RESULT $? 0 0 "安装nagios-devel软件包失败"
fi
# 测试配置文件解析功能
LOG_INFO "测试配置文件解析功能"
command_output=$(nagiostats -c /etc/nagios/nagios.cfg)
CHECK_RESULT $? 0 0 "nagiostats命令执行失败"
# 清理环境如果之前未安装则卸载nagios-devel软件包
if [ "$installed" = false ]; then
LOG_INFO "卸载nagios-devel软件包"
dnf remove -y nagios-devel
CHECK_RESULT $? 0 0 "卸载nagios-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 plugin functionality
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试脚本test_nagios-devel_function_plugin
LOG_INFO "开始测试插件功能"
# 检查是否已安装nagios-devel
LOG_INFO "检查nagios-devel是否已安装"
if dnf list installed nagios-devel &>/dev/null; then
LOG_INFO "nagios-devel已安装跳过安装步骤"
INSTALLED=true
else
LOG_INFO "nagios-devel未安装准备安装"
INSTALLED=false
fi
# 检查yum源中是否有nagios-devel
LOG_INFO "检查yum源中是否有nagios-devel"
if ! dnf list available nagios-devel &>/dev/null; then
LOG_ERROR "yum源中未找到nagios-devel退出测试"
exit 255
fi
# 如果未安装则安装nagios-devel
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装nagios-devel"
dnf install -y nagios-devel
CHECK_RESULT $? 0 0 "安装nagios-devel失败"
fi
# 测试插件功能
LOG_INFO "测试插件功能"
command_to_test="nagios-plugin-command --test-param value" # 替换为实际命令
$command_to_test
CHECK_RESULT $? 0 0 "插件功能测试失败"
# 如果之前未安装则卸载nagios-devel以恢复环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载nagios-devel以恢复环境"
dnf remove -y nagios-devel
CHECK_RESULT $? 0 0 "卸载nagios-devel失败"
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 : 2025-12-09
# @License : Mulan PSL v2
# @Desc : Test the generation of javadoc
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装noggit-javadoc软件包
LOG_INFO "检查noggit-javadoc是否已安装"
rpm -q noggit-javadoc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "noggit-javadoc已安装脚本结束后将保持安装状态"
installed=true
else
installed=false
fi
# 检查yum源中是否存在noggit-javadoc软件包
LOG_INFO "检查yum源中是否存在noggit-javadoc软件包"
dnf list available noggit-javadoc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到noggit-javadoc软件包"
exit 255
fi
# 如果未安装则安装noggit-javadoc软件包
if [ "$installed" = false ]; then
LOG_INFO "安装noggit-javadoc软件包"
dnf install -y noggit-javadoc
CHECK_RESULT $? 0 0 "安装noggit-javadoc失败"
fi
# 测试生成javadoc
LOG_INFO "测试生成javadoc"
javadoc -d /tmp/noggit-javadoc-test -sourcepath . -subpackages . > /dev/null 2>&1
CHECK_RESULT $? 0 0 "生成javadoc失败"
# 检查生成的javadoc目录是否存在
LOG_INFO "检查生成的javadoc目录是否存在"
[ -d "/tmp/noggit-javadoc-test" ]
CHECK_RESULT $? 0 0 "未生成javadoc目录"
# 清理测试生成的临时目录
LOG_INFO "清理测试生成的临时目录"
rm -rf /tmp/noggit-javadoc-test
CHECK_RESULT $? 0 0 "清理临时目录失败"
# 如果脚本开始时未安装则卸载noggit-javadoc软件包
if [ "$installed" = false ]; then
LOG_INFO "卸载noggit-javadoc软件包"
dnf remove -y noggit-javadoc
CHECK_RESULT $? 0 0 "卸载noggit-javadoc失败"
fi
LOG_INFO "测试脚本执行完成"
}
main "$@"

View File

@@ -1,84 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-09
# @License : Mulan PSL v2
# @Desc : Test the search functionality
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装noggit-javadoc软件包
LOG_INFO "检查noggit-javadoc软件包是否已安装"
rpm -q noggit-javadoc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "noggit-javadoc软件包已安装脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "noggit-javadoc软件包未安装脚本结束前将卸载"
INSTALLED=false
fi
# 检查yum源中是否存在noggit-javadoc软件包
LOG_INFO "检查yum源中是否存在noggit-javadoc软件包"
dnf list available noggit-javadoc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到noggit-javadoc软件包"
exit 255
fi
# 安装noggit-javadoc软件包如果未安装
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装noggit-javadoc软件包"
dnf install -y noggit-javadoc
CHECK_RESULT $? 0 0 "安装noggit-javadoc软件包失败"
fi
# 测试搜索功能
LOG_INFO "测试noggit-javadoc的搜索功能"
javadoc_search_output=$(javadoc -search noggit)
CHECK_RESULT $? 0 0 "执行javadoc搜索命令失败"
# 检查搜索功能是否返回预期结果
LOG_INFO "检查搜索功能是否返回预期结果"
if [[ "$javadoc_search_output" == *"noggit"* ]]; then
LOG_INFO "搜索功能测试通过"
else
LOG_ERROR "搜索功能未返回预期结果"
exit 1
fi
# 清理环境(如果之前未安装)
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载noggit-javadoc软件包"
dnf remove -y noggit-javadoc
CHECK_RESULT $? 0 0 "卸载noggit-javadoc软件包失败"
# 确认卸载成功
rpm -q noggit-javadoc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_ERROR "卸载noggit-javadoc软件包失败"
exit 1
else
LOG_INFO "成功卸载noggit-javadoc软件包"
fi
fi
LOG_INFO "测试脚本执行完毕,环境已恢复"
}
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 : 2025-12-09
# @License : Mulan PSL v2
# @Desc : Test the validation of javadoc
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查yum源中是否存在指定的软件包
check_package_availability() {
local package_name=$1
LOG_INFO "检查yum源中是否存在软件包: $package_name"
if ! dnf list available "$package_name" &> /dev/null; then
LOG_ERROR "yum源中不存在软件包: $package_name"
exit 255
fi
}
# 检查命令参数是否有效
validate_command_parameters() {
local command=$1
local parameter=$2
LOG_INFO "检查命令参数是否有效: $command $parameter"
if ! $command --help | grep -q "$parameter"; then
LOG_ERROR "命令参数无效或不支持: $command $parameter"
exit 255
fi
}
# 安装软件包
install_package() {
local package_name=$1
LOG_INFO "安装软件包: $package_name"
dnf install -y "$package_name"
CHECK_RESULT $? 0 0 "安装软件包失败: $package_name"
}
# 卸载软件包
uninstall_package() {
local package_name=$1
LOG_INFO "卸载软件包: $package_name"
dnf remove -y "$package_name"
CHECK_RESULT $? 0 0 "卸载软件包失败: $package_name"
}
# 检查软件包是否已安装
is_package_installed() {
local package_name=$1
if rpm -q "$package_name" &> /dev/null; then
return 0
else
return 1
fi
}
# 主函数执行测试步骤
main() {
local package_name="noggit-javadoc"
# 步骤1检查yum源中是否存在指定的软件包
LOG_INFO "步骤1检查yum源中是否存在指定的软件包"
check_package_availability "$package_name"
#步骤2判断环境是否已经安装
LOG_INFO "步骤2判断环境是否已经安装"
if is_package_installed "$package_name"; then
LOG_INFO "环境已安装,跳过安装步骤"
else
LOG_INFO "环境未安装,执行安装步骤"
install_package "$package_name"
fi
#步骤3验证javadoc功能
LOG_INFO "步骤3验证javadoc功能"
local javadoc_command="javadoc"
local javadoc_parameter="-version"
validate_command_parameters "$javadoc_command" "$javadoc_parameter"
if ! command -v "$javadoc_command" &> /dev/null; then
LOG_ERROR "命令不存在或未安装: $javadoc_command"
exit 255
fi
if ! $javadoc_command "$javadoc_parameter"; then
LOG_ERROR "执行命令失败: $javadoc_command $javadoc_parameter"
exit 1
fi
CHECK_RESULT $? 0 0 \“验证Javadoc功能失败\”
if ! is_package_installed "$package_name"; then
uninstall_package \“$PACKAGE_NAME\”
fi
}
main "$@"
exit_code=$?
if [ \“$exit_code\” -eq 0 ]; then
echo \“测试通过\”
else
echo \“测试失败\”
fi
exit \“$exit_code\”
}
main "$@"

View File

@@ -1,138 +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 : 测试软件包 perl-HTML-Scrubber-help 已正确安装并可查询到版本信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查软件包是否存在于yum源中
check_package_in_repo() {
local package_name="$1"
LOG_INFO "检查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"
}
# 检查命令参数是否支持
check_command_option() {
local command="$1"
local option="$2"
LOG_INFO "检查命令 $command 是否支持参数 $option"
$command $option 2>&1 | grep -q "unrecognized option\|invalid option\|Unknown option"
if [ $? -eq 0 ]; then
LOG_ERROR "命令 $command 不支持参数 $option"
exit 255
fi
LOG_INFO "命令 $command 支持参数 $option"
}
# 检查软件包是否已安装
check_package_installed() {
local package_name="$1"
LOG_INFO "检查软件包 $package_name 是否已安装"
rpm -q "$package_name" &>/dev/null
return $?
}
# 主测试函数
main() {
local package_name="perl-HTML-Scrubber-help"
local was_installed=false
LOG_INFO "开始测试: 测试软件包 $package_name 已正确安装并可查询到版本信息"
# 步骤1: 检查软件包是否已安装
if check_package_installed "$package_name"; then
LOG_INFO "软件包 $package_name 已安装"
was_installed=true
else
LOG_INFO "软件包 $package_name 未安装,将在测试过程中安装"
was_installed=false
fi
# 步骤2: 检查yum源中是否有该软件包
check_package_in_repo "$package_name"
# 步骤3: 如果未安装则安装软件包
if [ "$was_installed" = false ]; then
LOG_INFO "安装软件包: $package_name"
dnf install -y "$package_name"
CHECK_RESULT $? 0 0 "安装软件包 $package_name 失败"
LOG_INFO "软件包 $package_name 安装成功"
fi
# 步骤4: 验证软件包已正确安装
LOG_INFO "验证软件包 $package_name 已正确安装"
rpm -q "$package_name"
CHECK_RESULT $? 0 0 "验证软件包 $package_name 安装状态失败"
LOG_INFO "软件包 $package_name 已正确安装"
# 步骤5: 检查命令参数支持情况
LOG_INFO "检查 perl-HTML-Scrubber-help 命令是否可用"
which perl-HTML-Scrubber-help &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "未找到 perl-HTML-Scrubber-help 命令"
exit 255
fi
# 步骤6: 测试查询版本信息功能
LOG_INFO "测试查询 perl-HTML-Scrubber-help 版本信息"
perl-HTML-Scrubber-help --version 2>&1 | grep -q "version\|Version"
CHECK_RESULT $? 0 0 "查询 perl-HTML-Scrubber-help 版本信息失败"
LOG_INFO "成功查询到 perl-HTML-Scrubber-help 版本信息"
# 步骤7: 测试帮助信息功能
LOG_INFO "测试 perl-HTML-Scrubber-help 帮助信息"
perl-HTML-Scrubber-help --help 2>&1 | grep -q "help\|Help\|Usage"
CHECK_RESULT $? 0 0 "查询 perl-HTML-Scrubber-help 帮助信息失败"
LOG_INFO "成功查询到 perl-HTML-Scrubber-help 帮助信息"
# 步骤8: 清理环境
LOG_INFO "开始清理测试环境"
if [ "$was_installed" = false ]; then
LOG_INFO "卸载测试安装的软件包: $package_name"
dnf remove -y "$package_name"
CHECK_RESULT $? 0 0 "卸载软件包 $package_name 失败"
LOG_INFO "软件包 $package_name 卸载成功"
else
LOG_INFO "保持软件包 $package_name 的安装状态"
fi
# 步骤9: 最终验证环境状态
if [ "$was_installed" = true ]; then
LOG_INFO "验证软件包 $package_name 仍保持安装状态"
rpm -q "$package_name"
CHECK_RESULT $? 0 0 "软件包 $package_name 未保持安装状态"
else
LOG_INFO "验证软件包 $package_name 已完全卸载"
rpm -q "$package_name" &>/dev/null
CHECK_RESULT $? 1 0 "软件包 $package_name 未完全卸载"
fi
LOG_INFO "测试完成: 软件包 $package_name 已正确安装并可查询到版本信息"
}
# 执行主测试函数
main
}
main "$@"

View File

@@ -1,132 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-15
# @License : Mulan PSL v2
# @Desc : 测试软件包 perl-HTML-Scrubber-help 能够从系统中完全卸载
# ############################################
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 index=$3
local message=$4
if [ $actual -ne $expect ]; then
LOG_ERROR "$message"
exit $index
fi
}
# 定义SSH_CMD函数示例实际使用时应根据环境定义
SSH_CMD() {
local cmd=$1
local node_ip=$2
local node_password=$3
local node_user=$4
# 这里假设有SSH免密登录实际使用时可能需要使用sshpass或其他方式
ssh $node_user@$node_ip "$cmd"
}
# 测试软件包名称
PACKAGE_NAME="perl-HTML-Scrubber-help"
# 步骤1检查yum源中是否存在该软件包
LOG_INFO "步骤1检查yum源中是否存在软件包 $PACKAGE_NAME"
dnf list available $PACKAGE_NAME > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在软件包 $PACKAGE_NAME"
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 已安装,脚本结束时将保持安装状态"
ALREADY_INSTALLED=true
else
LOG_INFO "软件包 $PACKAGE_NAME 未安装,将进行安装和卸载测试"
ALREADY_INSTALLED=false
fi
# 步骤3如果未安装则安装软件包
if [ "$ALREADY_INSTALLED" = false ]; then
LOG_INFO "步骤3安装软件包 $PACKAGE_NAME"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
LOG_INFO "软件包 $PACKAGE_NAME 安装成功"
fi
# 步骤4验证软件包是否安装成功
LOG_INFO "步骤4验证软件包 $PACKAGE_NAME 是否安装成功"
rpm -q $PACKAGE_NAME
CHECK_RESULT $? 0 0 "软件包 $PACKAGE_NAME 未正确安装"
# 步骤5测试卸载软件包
LOG_INFO "步骤5测试卸载软件包 $PACKAGE_NAME"
dnf remove -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
LOG_INFO "软件包 $PACKAGE_NAME 卸载成功"
# 步骤6验证软件包是否完全卸载
LOG_INFO "步骤6验证软件包 $PACKAGE_NAME 是否完全卸载"
rpm -q $PACKAGE_NAME > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_ERROR "软件包 $PACKAGE_NAME 未完全卸载"
exit 1
else
LOG_INFO "软件包 $PACKAGE_NAME 已完全卸载"
fi
# 步骤7如果之前已安装则重新安装软件包以恢复环境
if [ "$ALREADY_INSTALLED" = true ]; then
LOG_INFO "步骤7重新安装软件包 $PACKAGE_NAME 以恢复环境"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "重新安装软件包 $PACKAGE_NAME 失败"
LOG_INFO "软件包 $PACKAGE_NAME 重新安装成功"
fi
# 步骤8最终验证环境状态
LOG_INFO "步骤8最终验证环境状态"
if [ "$ALREADY_INSTALLED" = true ]; then
rpm -q $PACKAGE_NAME
CHECK_RESULT $? 0 0 "环境未恢复到安装状态"
LOG_INFO "环境已恢复到安装状态"
else
rpm -q $PACKAGE_NAME > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_ERROR "环境未恢复到未安装状态"
exit 1
else
LOG_INFO "环境已恢复到未安装状态"
fi
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-15
# @License : Mulan PSL v2
# @Desc : 测试软件包 perl-HTML-Scrubber-help 提供帮助文档并能正常访问
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试 perl-HTML-Scrubber-help 软件包"
# 检查软件包是否已在yum源中
LOG_INFO "步骤1检查 perl-HTML-Scrubber-help 是否在yum源中"
if ! dnf list available perl-HTML-Scrubber-help &>/dev/null; then
LOG_ERROR "软件包 perl-HTML-Scrubber-help 不在yum源中"
exit 255
fi
# 检查当前环境是否已安装
LOG_INFO "步骤2检查当前环境是否已安装 perl-HTML-Scrubber-help"
if rpm -q perl-HTML-Scrubber-help &>/dev/null; then
LOG_INFO "软件包已安装,标记为已存在"
ALREADY_INSTALLED=1
else
LOG_INFO "软件包未安装,将在测试过程中安装"
ALREADY_INSTALLED=0
fi
# 如果未安装,则安装软件包
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "步骤3安装 perl-HTML-Scrubber-help 软件包"
dnf install -y perl-HTML-Scrubber-help
CHECK_RESULT $? 0 0 "安装 perl-HTML-Scrubber-help 失败"
fi
# 检查软件包提供的帮助文档
LOG_INFO "步骤4检查软件包是否提供帮助文档"
rpm -qd perl-HTML-Scrubber-help
CHECK_RESULT $? 0 0 "获取 perl-HTML-Scrubber-help 帮助文档失败"
# 验证帮助文档是否可正常访问例如man页面
LOG_INFO "步骤5验证帮助文档可正常访问"
MAN_PAGE=$(rpm -qd perl-HTML-Scrubber-help | grep -E "\.(1|3pm|8)$" | head -1)
if [ -n "$MAN_PAGE" ]; then
man -P cat $(basename "$MAN_PAGE" .$(echo "$MAN_PAGE" | rev | cut -d. -f1 | rev)) | head -5
CHECK_RESULT $? 0 0 "访问帮助文档失败"
else
LOG_INFO "未找到标准的man页面检查其他文档"
DOC_FILE=$(rpm -qd perl-HTML-Scrubber-help | head -1)
if [ -n "$DOC_FILE" ]; then
head -5 "$DOC_FILE"
CHECK_RESULT $? 0 0 "访问文档文件失败"
fi
fi
# 环境恢复:如果测试前未安装,则卸载软件包
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "步骤6清理环境卸载测试安装的软件包"
dnf remove -y perl-HTML-Scrubber-help
CHECK_RESULT $? 0 0 "卸载 perl-HTML-Scrubber-help 失败"
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-12-12
# @License : Mulan PSL v2
# @Desc : 测试pycpuinfo-help获取CPU信息的功能确保返回的CPU信息正确。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装pycpuinfo
LOG_INFO "检查是否已安装pycpuinfo"
if ! dnf list installed pycpuinfo &>/dev/null; then
LOG_INFO "pycpuinfo未安装将进行安装"
# 检查yum源中是否有pycpuinfo
LOG_INFO "检查yum源中是否有pycpuinfo"
if ! dnf list available pycpuinfo &>/dev/null; then
LOG_ERROR "yum源中未找到pycpuinfo退出测试"
exit 255
fi
# 安装pycpuinfo
LOG_INFO "安装pycpuinfo"
dnf install -y pycpuinfo
CHECK_RESULT $? 0 0 "安装pycpuinfo失败"
# 标记需要卸载
UNINSTALL=true
else
LOG_INFO "pycpuinfo已安装无需安装"
UNINSTALL=false
fi
# 测试pycpuinfo-help获取CPU信息的功能
LOG_INFO "测试pycpuinfo-help获取CPU信息的功能"
output=$(pycpuinfo --help)
CHECK_RESULT $? 0 0 "执行pycpuinfo --help失败"
# 检查返回的CPU信息是否正确
LOG_INFO "检查返回的CPU信息是否正确"
if [[ "$output" != *"Usage: pycpuinfo"* ]]; then
LOG_ERROR "返回的CPU信息不正确"
exit 1
fi
# 清理环境,恢复到之前的状态
if [ "$UNINSTALL" = true ]; then
LOG_INFO "卸载pycpuinfo"
dnf remove -y pycpuinfo
CHECK_RESULT $? 0 0 "卸载pycpuinfo失败"
fi
LOG_INFO "测试完成"
exit 0
}
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-12
# @License : Mulan PSL v2
# @Desc : 测试pycpuinfo-help的帮助信息功能确保帮助信息正确显示。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试pycpuinfo-help的帮助信息功能确保帮助信息正确显示。"
# 检查是否已安装pycpuinfo-help
LOG_INFO "检查是否已安装pycpuinfo-help..."
if dnf list installed pycpuinfo-help &>/dev/null; then
LOG_INFO "pycpuinfo-help已安装测试完成后将保持安装状态。"
INSTALLED=true
else
LOG_INFO "pycpuinfo-help未安装将在测试完成后卸载。"
INSTALLED=false
fi
# 检查yum源中是否有pycpuinfo-help软件包
LOG_INFO "检查yum源中是否有pycpuinfo-help软件包..."
if ! dnf list available pycpuinfo-help &>/dev/null; then
LOG_ERROR "yum源中未找到pycpuinfo-help软件包。"
exit 255
fi
# 安装pycpuinfo-help如果未安装
if [ "$INSTALLED" = false ]; then
LOG_INFO "正在安装pycpuinfo-help..."
dnf install -y pycpuinfo-help
CHECK_RESULT $? 0 0 "安装pycpuinfo-help失败。"
fi
# 测试帮助信息功能
LOG_INFO "测试pycpuinfo-help的帮助信息功能..."
pycpuinfo_help_output=$(pycpuinfo --help 2>&1)
CHECK_RESULT $? 0 0 "执行pycpuinfo --help失败。"
# 检查帮助信息是否正确显示
LOG_INFO "检查帮助信息是否正确显示..."
if [[ "$pycpuinfo_help_output" == *"usage: pycpuinfo"* ]]; then
LOG_INFO "帮助信息正确显示。"
else
LOG_ERROR "帮助信息未正确显示。"
exit 255
fi
# 清理环境(如果之前未安装)
if [ "$INSTALLED" = false ]; then
LOG_INFO "正在卸载pycpuinfo-help..."
dnf remove -y pycpuinfo-help
CHECK_RESULT $? 0 0 "卸载pycpuinfo-help失败。"
fi
LOG_INFO "测试pycpuinfo-help的帮助信息功能完成。"
}
main "$@"

View File

@@ -1,69 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-12
# @License : Mulan PSL v2
# @Desc : 测试pycpuinfo-help的版本信息功能确保版本信息正确。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试pycpuinfo-help的版本信息功能"
# 检查是否已安装pycpuinfo
if dnf list installed pycpuinfo &>/dev/null; then
LOG_INFO "检测到pycpuinfo已安装测试完成后将保持安装状态"
installed=true
else
LOG_INFO "未检测到pycpuinfo安装将在测试完成后卸载"
installed=false
fi
# 检查yum源中是否存在pycpuinfo
if ! dnf list available pycpuinfo &>/dev/null; then
LOG_ERROR "yum源中未找到pycpuinfo软件包"
exit 255
fi
# 安装pycpuinfo
LOG_INFO "正在安装pycpuinfo..."
dnf install -y pycpuinfo
CHECK_RESULT $? 0 0 "安装pycpuinfo失败"
# 测试pycpuinfo-help的版本信息功能
LOG_INFO "正在测试pycpuinfo-help的版本信息功能..."
version_output=$(pycpuinfo --help | grep -i version)
if [ -z "$version_output" ]; then
LOG_ERROR "未找到版本信息"
exit 1
else
LOG_INFO "版本信息测试通过: $version_output"
fi
# 根据初始状态决定是否卸载
if [ "$installed" = false ]; then
LOG_INFO "正在卸载pycpuinfo..."
dnf remove -y pycpuinfo
CHECK_RESULT $? 0 0 "卸载pycpuinfo失败"
else
LOG_INFO "保持pycpuinfo安装状态"
fi
LOG_INFO "测试pycpuinfo-help的版本信息功能完成"
}
main "$@"

View File

@@ -1,96 +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 HTML output with math
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装python3-sphinxcontrib-jsmath
LOG_INFO "检查是否已安装python3-sphinxcontrib-jsmath"
rpm -q python3-sphinxcontrib-jsmath > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "python3-sphinxcontrib-jsmath已安装"
already_installed=1
else
LOG_INFO "python3-sphinxcontrib-jsmath未安装"
already_installed=0
fi
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否有python3-sphinxcontrib-jsmath软件包"
dnf list available python3-sphinxcontrib-jsmath > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到python3-sphinxcontrib-jsmath软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $already_installed -eq 0 ]; then
LOG_INFO "安装python3-sphinxcontrib-jsmath软件包"
dnf install -y python3-sphinxcontrib-jsmath
CHECK_RESULT $? 0 0 "安装python3-sphinxcontrib-jsmath失败"
fi
# 创建测试目录和测试文件
LOG_INFO "创建测试目录和测试文件"
test_dir=$(mktemp -d)
cd $test_dir
# 创建conf.py配置文件
cat > conf.py << EOF
extensions = ["sphinxcontrib.jsmath"]
master_doc = "index"
EOF
# 创建index.rst测试文件
cat > index.rst << EOF
Test Math
=========
This is a test of math rendering.
.. math::
E = mc^2
EOF
# 生成HTML输出
LOG_INFO "生成HTML输出"
sphinx-build -b html . _build/html
CHECK_RESULT $? 0 0 "生成HTML输出失败"
# 检查生成的HTML文件中是否包含数学公式
LOG_INFO "检查生成的HTML文件中是否包含数学公式"
grep -q "E = mc^2" _build/html/index.html
CHECK_RESULT $? 0 0 "生成的HTML文件中未找到数学公式"
# 清理测试目录
LOG_INFO "清理测试目录"
cd /
rm -rf $test_dir
# 如果之前未安装,则卸载软件包
if [ $already_installed -eq 0 ]; then
LOG_INFO "卸载python3-sphinxcontrib-jsmath软件包"
dnf remove -y python3-sphinxcontrib-jsmath
CHECK_RESULT $? 0 0 "卸载python3-sphinxcontrib-jsmath失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,126 +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 successful import of the jsmath module
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
# 检查软件包是否在yum源中
check_package_in_repo() {
local package_name=$1
LOG_INFO "检查yum源中是否存在软件包: $package_name"
dnf list available "$package_name" &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 $package_name 不在yum源中"
exit 255
fi
LOG_INFO "软件包 $package_name 存在于yum源中"
}
# 检查命令参数是否支持
check_command_option() {
local cmd=$1
local option=$2
LOG_INFO "检查命令 $cmd 是否支持参数 $option"
if ! $cmd $option &>/dev/null; then
LOG_ERROR "命令 $cmd 不支持参数 $option"
exit 255
fi
LOG_INFO "命令 $cmd 支持参数 $option"
}
# 检查环境是否已安装软件包
check_installed() {
local package_name=$1
LOG_INFO "检查是否已安装软件包: $package_name"
rpm -q "$package_name" &>/dev/null
if [ $? -eq 0 ]; then
LOG_INFO "软件包 $package_name 已安装"
return 0
else
LOG_INFO "软件包 $package_name 未安装"
return 1
fi
}
# 安装软件包
install_package() {
local package_name=$1
LOG_INFO "开始安装软件包: $package_name"
dnf install -y "$package_name"
CHECK_RESULT $? 0 0 "安装软件包 $package_name 失败"
LOG_INFO "安装软件包 $package_name 成功"
}
# 卸载软件包
uninstall_package() {
local package_name=$1
LOG_INFO "开始卸载软件包: $package_name"
dnf remove -y "$package_name"
CHECK_RESULT $? 0 0 "卸载软件包 $package_name 失败"
LOG_INFO "卸载软件包 $package_name 成功"
}
# 测试jsmath模块导入
test_jsmath_import() {
LOG_INFO "开始测试jsmath模块导入"
python3 -c "import sphinxcontrib.jsmath; print("jsmath module imported successfully")"
CHECK_RESULT $? 0 0 "导入jsmath模块失败"
LOG_INFO "jsmath模块导入测试成功"
}
# 主测试函数
main() {
PACKAGE_NAME="python3-sphinxcontrib-jsmath"
# 检查软件包是否在yum源中
check_package_in_repo "$PACKAGE_NAME"
# 检查环境是否已安装
local was_installed=0
if check_installed "$PACKAGE_NAME"; then
was_installed=1
LOG_INFO "环境已安装软件包,测试后将保持安装状态"
else
LOG_INFO "环境未安装软件包,将安装后测试并在结束时卸载"
fi
# 如果需要则安装软件包
if [ $was_installed -eq 0 ]; then
install_package "$PACKAGE_NAME"
fi
# 测试jsmath模块导入
test_jsmath_import
# 环境恢复
LOG_INFO "开始环境恢复"
if [ $was_installed -eq 0 ]; then
uninstall_package "$PACKAGE_NAME"
else
LOG_INFO "环境已安装软件包,保持安装状态"
fi
LOG_INFO "环境恢复完成"
}
main
}
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 : 2026-03-15
# @License : Mulan PSL v2
# @Desc : Test package installation via package manager
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装python3-sphinxcontrib-jsmath
LOG_INFO "检查python3-sphinxcontrib-jsmath是否已安装"
rpm -q python3-sphinxcontrib-jsmath > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "python3-sphinxcontrib-jsmath已安装脚本结束时将保持安装状态"
INSTALLED="true"
else
LOG_INFO "python3-sphinxcontrib-jsmath未安装将在测试中安装"
INSTALLED="false"
fi
# 检查yum源中是否存在该软件包
LOG_INFO "检查yum源中是否存在python3-sphinxcontrib-jsmath软件包"
dnf list available python3-sphinxcontrib-jsmath > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在python3-sphinxcontrib-jsmath软件包"
exit 255
fi
# 安装软件包
LOG_INFO "开始安装python3-sphinxcontrib-jsmath软件包"
dnf install -y python3-sphinxcontrib-jsmath
CHECK_RESULT $? 0 0 "安装python3-sphinxcontrib-jsmath失败"
# 验证软件包安装
LOG_INFO "验证python3-sphinxcontrib-jsmath是否安装成功"
rpm -q python3-sphinxcontrib-jsmath > /dev/null 2>&1
CHECK_RESULT $? 0 0 "python3-sphinxcontrib-jsmath未正确安装"
# 测试软件包功能
LOG_INFO "测试python3-sphinxcontrib-jsmath基本功能"
python3 -c "import sphinxcontrib.jsmath; print("import success")" 2>/dev/null
CHECK_RESULT $? 0 0 "python3-sphinxcontrib-jsmath功能测试失败"
# 清理环境:如果测试前未安装,则卸载软件包
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "清理环境卸载python3-sphinxcontrib-jsmath软件包"
dnf remove -y python3-sphinxcontrib-jsmath
CHECK_RESULT $? 0 0 "卸载python3-sphinxcontrib-jsmath失败"
LOG_INFO "环境已恢复到测试前状态"
else
LOG_INFO "测试前已安装python3-sphinxcontrib-jsmath保持安装状态"
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-12
# @License : Mulan PSL v2
# @Desc : Test basic math rendering functionality
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装python3-sphinxcontrib-jsmath
LOG_INFO "检查是否已安装python3-sphinxcontrib-jsmath"
rpm -q python3-sphinxcontrib-jsmath > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "python3-sphinxcontrib-jsmath已安装脚本结束时保持安装状态"
INSTALLED=true
else
LOG_INFO "python3-sphinxcontrib-jsmath未安装将在测试后卸载"
INSTALLED=false
fi
# 检查yum源中是否存在python3-sphinxcontrib-jsmath软件包
LOG_INFO "检查yum源中是否存在python3-sphinxcontrib-jsmath软件包"
dnf list available python3-sphinxcontrib-jsmath > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在python3-sphinxcontrib-jsmath软件包"
exit 255
fi
# 安装python3-sphinxcontrib-jsmath软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装python3-sphinxcontrib-jsmath软件包"
dnf install -y python3-sphinxcontrib-jsmath
CHECK_RESULT $? 0 0 "安装python3-sphinxcontrib-jsmath失败"
fi
# 测试基本数学渲染功能
LOG_INFO "测试基本数学渲染功能"
sphinx-build -b html -d _build/doctrees . _build/html > /dev/null 2>&1
CHECK_RESULT $? 0 0 "数学渲染功能测试失败"
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载python3-sphinxcontrib-jsmath软件包"
dnf remove -y python3-sphinxcontrib-jsmath > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载python3-sphinxcontrib-jsmath失败"
fi
LOG_INFO "测试脚本执行完成,环境已恢复"
}
main "$@"

View File

@@ -1,137 +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 MathJax config generation
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 初始化变量
PACKAGE_NAME="python3-sphinxcontrib-jsmath"
TEST_COMMAND="sphinx-build -b html"
TEST_DIR="/tmp/sphinx_test"
CONFIG_FILE="${TEST_DIR}/conf.py"
SOURCE_DIR="${TEST_DIR}/source"
OUTPUT_DIR="${TEST_DIR}/build"
# 清理函数
cleanup() {
LOG_INFO "清理测试环境"
[ -d "$TEST_DIR" ] && rm -rf "$TEST_DIR"
if [ "$INSTALLED_FOR_TEST" = "yes" ]; then
LOG_INFO "卸载测试安装的软件包"
dnf remove -y $PACKAGE_NAME > /dev/null 2>&1
fi
}
# 错误处理
trap cleanup EXIT
# 检查软件包是否存在
LOG_INFO "检查yum源中是否存在软件包: $PACKAGE_NAME"
if ! dnf list available $PACKAGE_NAME > /dev/null 2>&1; then
LOG_ERROR "软件包 $PACKAGE_NAME 在yum源中不存在"
exit 255
fi
# 检查是否已安装
LOG_INFO "检查系统是否已安装 $PACKAGE_NAME"
if rpm -q $PACKAGE_NAME > /dev/null 2>&1; then
ALREADY_INSTALLED="yes"
LOG_INFO "软件包已安装,测试结束后将保持安装状态"
else
ALREADY_INSTALLED="no"
INSTALLED_FOR_TEST="yes"
fi
# 安装软件包(如果未安装)
if [ "$ALREADY_INSTALLED" = "no" ]; then
LOG_INFO "安装软件包: $PACKAGE_NAME"
dnf install -y $PACKAGE_NAME > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 检查命令参数支持
LOG_INFO "检查sphinx-build命令是否支持-参数"
if ! sphinx-build --help | grep -q "\-b"; then
LOG_ERROR "sphinx-build命令不支持-b参数"
exit 255
fi
# 创建测试目录结构
LOG_INFO "创建测试目录结构"
mkdir -p "$SOURCE_DIR"
mkdir -p "$OUTPUT_DIR"
# 创建配置文件
LOG_INFO "创建Sphinx配置文件"
cat > "$CONFIG_FILE" << EOF
import sys
import os
sys.path.insert(0, os.path.abspath("."))
extensions = ["sphinxcontrib.jsmath"]
jsmath_path = "MathJax.js"
EOF
# 创建测试文档
LOG_INFO "创建测试文档"
cat > "${SOURCE_DIR}/index.rst" << EOF
测试文档
========
数学公式测试
------------
行内公式: :math:\`E = mc^2\`
块级公式:
.. math::
\\frac{\\pi}{2} = \\sum_{k=0}^{\\infty} \\frac{k!}{(2k+1)!!}
EOF
# 生成HTML文档
LOG_INFO "生成HTML文档测试MathJax配置"
cd "$TEST_DIR"
$TEST_COMMAND source build > /dev/null 2>&1
CHECK_RESULT $? 0 0 "生成HTML文档失败"
# 验证MathJax配置生成
LOG_INFO "验证MathJax配置是否正确生成"
if grep -q "MathJax.js" "${OUTPUT_DIR}/index.html"; then
LOG_INFO "MathJax配置正确生成"
else
LOG_ERROR "MathJax配置未正确生成"
exit 1
fi
# 验证数学公式渲染
LOG_INFO "验证数学公式是否包含在输出中"
if grep -q "\\\\\\(E = mc^2\\\\\\)" "${OUTPUT_DIR}/index.html" || \
grep -q "\\\\\\[\\\\frac{\\\\pi}{2}" "${OUTPUT_DIR}/index.html"; then
LOG_INFO "数学公式正确渲染"
else
LOG_ERROR "数学公式渲染失败"
exit 1
fi
LOG_INFO "测试完成: MathJax配置生成测试通过"
}
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 : Test freezing time functionality
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装rubygem-delorean-doc软件包
LOG_INFO "检查是否已安装rubygem-delorean-doc软件包"
if dnf list installed rubygem-delorean-doc &>/dev/null; then
LOG_INFO "rubygem-delorean-doc已安装脚本结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "rubygem-delorean-doc未安装脚本结束后将卸载"
INSTALLED=false
fi
# 检查yum源中是否有rubygem-delorean-doc软件包
LOG_INFO "检查yum源中是否有rubygem-delorean-doc软件包"
if ! dnf list available rubygem-delorean-doc &>/dev/null; then
LOG_ERROR "yum源中未找到rubygem-delorean-doc软件包"
exit 255
fi
# 如果未安装则安装rubygem-delorean-doc软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装rubygem-delorean-doc软件包"
dnf install -y rubygem-delorean-doc
CHECK_RESULT $? 0 0 "安装rubygem-delorean-doc失败"
fi
# 测试冻结时间功能
LOG_INFO "测试冻结时间功能"
delorean freeze-time --test-param=value &>/dev/null
if [ $? -eq 255 ]; then
LOG_ERROR "参数--test-param不存在或不支持"
exit 255
fi
CHECK_RESULT $? 0 0 "冻结时间功能测试失败"
# 清理环境如果脚本开始时未安装则卸载rubygem-delorean-doc软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载rubygem-delorean-doc软件包"
dnf remove -y rubygem-delorean-doc
CHECK_RESULT $? 0 0 "卸载rubygem-delorean-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-12-09
# @License : Mulan PSL v2
# @Desc : Test time travel functionality
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试时间旅行功能"
# 检查是否已安装rubygem-delorean-doc软件包
LOG_INFO "检查rubygem-delorean-doc是否已安装"
if dnf list installed rubygem-delorean-doc &>/dev/null; then
LOG_INFO "rubygem-delorean-doc已安装脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "rubygem-delorean-doc未安装将在测试步骤中安装"
INSTALLED=false
fi
# 检查yum源中是否有rubygem-delorean-doc软件包
LOG_INFO "检查yum源中是否有rubygem-delorean-doc软件包"
if ! dnf list available rubygem-delorean-doc &>/dev/null; then
LOG_ERROR "yum源中未找到rubygem-delorean-doc软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装rubygem-delorean-doc软件包"
dnf install -y rubygem-delorean-doc
CHECK_RESULT $? 0 0 "安装rubygem-delorean-doc失败"
fi
# 测试时间旅行功能
LOG_INFO "测试时间旅行功能"
if ! command -v delorean &>/dev/null; then
LOG_ERROR "delorean命令不存在或不支持"
exit 255
fi
# 执行时间旅行命令
LOG_INFO "执行delorean time_travel命令"
delorean time_travel --date "2023-01-01"
CHECK_RESULT $? 0 0 "时间旅行功能测试失败"
# 清理环境:如果脚本开始时未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载rubygem-delorean-doc软件包"
dnf remove -y rubygem-delorean-doc
CHECK_RESULT $? 0 0 "卸载rubygem-delorean-doc失败"
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-03-04
# @License : Mulan PSL v2
# @Desc : 验证snappy-help命令支持帮助选项例如执行 `snappy-help --help` 或 `snappy-help -h` 应能显示详细的帮助信息。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装snappy-help
LOG_INFO "检查是否已安装snappy-help软件包"
if ! command -v snappy-help &> /dev/null; then
LOG_INFO "snappy-help未安装开始安装"
# 检查yum源中是否有snappy-help软件包
LOG_INFO "检查yum源中是否有snappy-help软件包"
if ! dnf list available snappy-help 2>/dev/null | grep -q snappy-help; then
LOG_ERROR "yum源中未找到snappy-help软件包"
exit 255
fi
# 安装snappy-help
LOG_INFO "安装snappy-help软件包"
dnf install -y snappy-help
CHECK_RESULT $? 0 0 "安装snappy-help失败"
# 标记需要清理
NEED_CLEANUP=1
else
LOG_INFO "snappy-help已安装"
NEED_CLEANUP=0
fi
# 测试snappy-help --help选项
LOG_INFO "测试snappy-help --help选项"
snappy-help --help
CHECK_RESULT $? 0 0 "snappy-help --help命令执行失败"
# 测试snappy-help -h选项
LOG_INFO "测试snappy-help -h选项"
snappy-help -h
CHECK_RESULT $? 0 0 "snappy-help -h命令执行失败"
# 检查是否显示了帮助信息
LOG_INFO "验证帮助信息是否正确显示"
snappy-help --help | grep -q "Usage:"
CHECK_RESULT $? 0 0 "帮助信息未正确显示"
# 测试不支持的参数
LOG_INFO "测试不支持的参数(应返回错误)"
snappy-help --invalid-option 2>/dev/null
if [ $? -ne 255 ] && [ $? -ne 1 ]; then
LOG_ERROR "不支持的参数未正确处理"
exit 255
fi
# 环境清理
if [ $NEED_CLEANUP -eq 1 ]; then
LOG_INFO "清理测试环境卸载snappy-help"
dnf remove -y snappy-help
CHECK_RESULT $? 0 0 "卸载snappy-help失败"
else
LOG_INFO "保持snappy-help安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,70 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-04
# @License : Mulan PSL v2
# @Desc : 验证snappy-help软件包提供了正确的手册页例如执行 `man snappy-help` 命令应能正常显示手册内容。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试验证snappy-help软件包提供了正确的手册页"
LOG_INFO "步骤1检查系统是否已安装snappy-help软件包"
if rpm -q snappy-help &>/dev/null; then
LOG_INFO "snappy-help软件包已安装测试完成后将保持安装状态"
INSTALLED_BEFORE_TEST=1
else
LOG_INFO "snappy-help软件包未安装将在测试步骤中安装"
INSTALLED_BEFORE_TEST=0
fi
LOG_INFO "步骤2检查yum源中是否存在snappy-help软件包"
if ! dnf list available snappy-help &>/dev/null; then
LOG_ERROR "yum源中未找到snappy-help软件包"
exit 255
fi
if [ $INSTALLED_BEFORE_TEST -eq 0 ]; then
LOG_INFO "步骤3安装snappy-help软件包"
dnf install -y snappy-help
CHECK_RESULT $? 0 0 "安装snappy-help软件包失败"
fi
LOG_INFO "步骤4验证man snappy-help命令是否支持"
man -w snappy-help &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "man snappy-help命令不支持或手册页不存在"
if [ $INSTALLED_BEFORE_TEST -eq 0 ]; then
dnf remove -y snappy-help
fi
exit 255
fi
LOG_INFO "步骤5执行man snappy-help命令并检查是否正常显示"
man snappy-help
CHECK_RESULT $? 0 0 "man snappy-help命令执行失败"
if [ $INSTALLED_BEFORE_TEST -eq 0 ]; then
LOG_INFO "步骤6清理环境卸载snappy-help软件包"
dnf remove -y snappy-help
CHECK_RESULT $? 0 0 "卸载snappy-help软件包失败"
else
LOG_INFO "步骤6测试前已安装snappy-help保持安装状态无需卸载"
fi
LOG_INFO "测试完成snappy-help软件包的手册页验证成功"
}
main "$@"

View File

@@ -1,78 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-04
# @License : Mulan PSL v2
# @Desc : 验证snappy-help软件包是否已存在于系统中例如执行 `dpkg -s snappy-help` 命令应返回已安装状态。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试验证snappy-help软件包是否已存在于系统中"
# 步骤1检查当前系统是否已安装snappy-help软件包
LOG_INFO "检查snappy-help软件包是否已安装"
if command -v dpkg > /dev/null 2>&1; then
dpkg -s snappy-help > /dev/null 2>&1
INSTALLED=$?
else
LOG_ERROR "当前系统不支持dpkg命令"
exit 255
fi
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "snappy-help软件包已安装"
INSTALLED_FLAG=1
else
LOG_INFO "snappy-help软件包未安装"
INSTALLED_FLAG=0
fi
# 步骤2检查yum源中是否存在snappy-help软件包
LOG_INFO "检查yum源中是否存在snappy-help软件包"
if ! dnf list available snappy-help 2>/dev/null | grep -q snappy-help; then
LOG_ERROR "yum源中未找到snappy-help软件包"
exit 255
fi
LOG_INFO "yum源中存在snappy-help软件包"
# 步骤3如果未安装则安装snappy-help软件包
if [ $INSTALLED_FLAG -eq 0 ]; then
LOG_INFO "安装snappy-help软件包"
dnf install -y snappy-help
CHECK_RESULT $? 0 0 "安装snappy-help软件包失败"
LOG_INFO "snappy-help软件包安装成功"
NEED_UNINSTALL=1
else
NEED_UNINSTALL=0
fi
# 步骤4验证snappy-help软件包是否已正确安装
LOG_INFO "验证snappy-help软件包是否已正确安装"
dpkg -s snappy-help
CHECK_RESULT $? 0 0 "snappy-help软件包未正确安装或状态异常"
# 步骤5清理环境如果测试前未安装则卸载软件包
if [ $NEED_UNINSTALL -eq 1 ]; then
LOG_INFO "卸载snappy-help软件包"
dnf remove -y snappy-help
CHECK_RESULT $? 0 0 "卸载snappy-help软件包失败"
LOG_INFO "snappy-help软件包卸载成功"
fi
LOG_INFO "测试完成snappy-help软件包存在性验证通过"
}
main "$@"

View File

@@ -1,85 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-04
# @License : Mulan PSL v2
# @Desc : 验证snappy-help命令可以显示版本信息例如执行 `snappy-help --version` 应能输出有效的版本号。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试snappy-help命令的版本信息显示功能
LOG_INFO "1. 检查snappy-help软件包是否在yum源中"
dnf list available snappy-help 2>/dev/null | grep -q snappy-help
if [ $? -ne 0 ]; then
LOG_ERROR "snappy-help软件包不在yum源中"
exit 255
fi
LOG_INFO "2. 检查snappy-help是否已安装"
if rpm -q snappy-help >/dev/null 2>&1; then
LOG_INFO "snappy-help已安装标记为已存在"
already_installed=true
else
LOG_INFO "snappy-help未安装标记为需要安装"
already_installed=false
fi
if [ "$already_installed" = "false" ]; then
LOG_INFO "3. 安装snappy-help软件包"
dnf install -y snappy-help
CHECK_RESULT $? 0 0 "snappy-help安装失败"
fi
LOG_INFO "4. 验证snappy-help命令是否存在"
which snappy-help >/dev/null 2>&1
CHECK_RESULT $? 0 0 "snappy-help命令不存在"
LOG_INFO "5. 测试snappy-help --version参数"
snappy-help --version >/dev/null 2>&1
if [ $? -eq 255 ]; then
LOG_ERROR "snappy-help不支持--version参数"
exit 255
fi
CHECK_RESULT $? 0 0 "snappy-help --version执行失败"
LOG_INFO "6. 检查snappy-help --version输出内容"
version_output=$(snappy-help --version 2>&1)
if [ -z "$version_output" ]; then
LOG_ERROR "snappy-help --version没有输出版本信息"
exit 1
fi
LOG_INFO "7. 验证版本号格式"
if echo "$version_output" | grep -qE "[0-9]+\.[0-9]+(\.[0-9]+)?"; then
LOG_INFO "版本号格式正确: $version_output"
else
LOG_ERROR "版本号格式不正确: $version_output"
exit 1
fi
if [ "$already_installed" = "false" ]; then
LOG_INFO "8. 清理环境卸载snappy-help软件包"
dnf remove -y snappy-help
CHECK_RESULT $? 0 0 "snappy-help卸载失败"
else
LOG_INFO "8. 保持snappy-help安装状态"
fi
LOG_INFO "9. 测试完成,环境已恢复"
}
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-09
# @License : Mulan PSL v2
# @Desc : Test basic bean creation functionality
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试基本bean创建功能"
# 检查是否已安装springframework-beans
LOG_INFO "检查是否已安装springframework-beans"
dnf list installed springframework-beans > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "springframework-beans已安装测试结束后将保持安装状态"
installed=true
else
LOG_INFO "springframework-beans未安装将在测试结束后卸载"
installed=false
fi
# 检查yum源中是否有springframework-beans
LOG_INFO "检查yum源中是否有springframework-beans"
dnf list available springframework-beans > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到springframework-beans"
exit 255
fi
# 安装springframework-beans如果未安装
if [ "$installed" = false ]; then
LOG_INFO "安装springframework-beans"
dnf install -y springframework-beans
CHECK_RESULT $? 0 0 "安装springframework-beans失败"
fi
# 测试基本bean创建功能
LOG_INFO "测试基本bean创建功能"
# 假设有一个命令可以测试bean创建功能这里用示例命令代替
test_command="springframework-beans-test create --name testBean"
$test_command > /dev/null 2>&1
CHECK_RESULT $? 0 0 "基本bean创建功能测试失败"
# 清理环境(如果之前未安装)
if [ "$installed" = false ]; then
LOG_INFO "卸载springframework-beans"
dnf remove -y springframework-beans
CHECK_RESULT $? 0 0 "卸载springframework-beans失败"
fi
LOG_INFO "测试基本bean创建功能完成"
}
main "$@"

View File

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

View File

@@ -1,102 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-23
# @License : Mulan PSL v2
# @Desc : Test that a simple LaTeX document with Russian text compiles successfully when using the package
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装texlive-ruhyphen
LOG_INFO "检查是否已安装texlive-ruhyphen"
rpm -q texlive-ruhyphen
if [ $? -eq 0 ]; then
LOG_INFO "texlive-ruhyphen已安装标记为已安装状态"
INSTALLED=1
else
LOG_INFO "texlive-ruhyphen未安装标记为未安装状态"
INSTALLED=0
fi
# 检查yum源中是否有texlive-ruhyphen软件包
LOG_INFO "检查yum源中是否有texlive-ruhyphen软件包"
dnf list available texlive-ruhyphen
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-ruhyphen软件包"
exit 255
fi
# 如果未安装则安装texlive-ruhyphen
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装texlive-ruhyphen"
dnf install -y texlive-ruhyphen
CHECK_RESULT $? 0 0 "安装texlive-ruhyphen失败"
LOG_INFO "texlive-ruhyphen安装成功"
fi
# 检查latex命令是否存在
LOG_INFO "检查latex命令是否存在"
command -v latex
if [ $? -ne 0 ]; then
LOG_INFO "latex命令不存在尝试安装texlive"
dnf install -y texlive
CHECK_RESULT $? 0 0 "安装texlive失败"
LOG_INFO "texlive安装成功"
fi
# 创建测试LaTeX文档
LOG_INFO "创建测试LaTeX文档"
cat > test_russian.tex << "EOF"
\documentclass{article}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian]{babel}
\begin{document}
Привет, мир! Это тестовый документ на русском языке.
\end{document}
EOF
CHECK_RESULT $? 0 0 "创建测试LaTeX文档失败"
# 编译LaTeX文档
LOG_INFO "编译LaTeX文档"
latex test_russian.tex
CHECK_RESULT $? 0 0 "编译LaTeX文档失败"
# 检查生成的DVI文件
LOG_INFO "检查生成的DVI文件"
if [ -f test_russian.dvi ]; then
LOG_INFO "DVI文件生成成功"
else
LOG_ERROR "DVI文件未生成"
exit 1
fi
# 清理生成的中间文件
LOG_INFO "清理生成的中间文件"
rm -f test_russian.aux test_russian.log test_russian.dvi test_russian.tex
# 如果测试前未安装则卸载texlive-ruhyphen
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载texlive-ruhyphen"
dnf remove -y texlive-ruhyphen
CHECK_RESULT $? 0 0 "卸载texlive-ruhyphen失败"
LOG_INFO "texlive-ruhyphen卸载成功"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,85 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-23
# @License : Mulan PSL v2
# @Desc : Test hyphenation of a known Russian word against expected break points
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试俄语单词的连字符断字功能"
# 检查是否已安装texlive-ruhyphen
LOG_INFO "检查texlive-ruhyphen软件包是否已安装"
rpm -q texlive-ruhyphen > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-ruhyphen已安装测试结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-ruhyphen未安装将在测试前安装测试后卸载"
INSTALLED=false
fi
# 检查yum源中是否有texlive-ruhyphen
LOG_INFO "检查yum源中是否存在texlive-ruhyphen软件包"
dnf list available texlive-ruhyphen > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-ruhyphen软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "正在安装texlive-ruhyphen软件包"
dnf install -y texlive-ruhyphen > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装texlive-ruhyphen失败"
fi
# 测试俄语单词的连字符断字功能
LOG_INFO "测试俄语单词的连字符断字功能"
TEST_WORD="автомобиль"
EXPECTED_HYPHENATION="ав-то-мо-биль"
# 使用hyphenate命令测试
LOG_INFO "使用hyphenate命令测试单词: $TEST_WORD"
HYPHEN_RESULT=$(echo "$TEST_WORD" | hyphenate -l ru 2>/dev/null)
if [ $? -ne 0 ]; then
LOG_ERROR "hyphenate命令执行失败或参数不支持"
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "清理环境卸载texlive-ruhyphen"
dnf remove -y texlive-ruhyphen > /dev/null 2>&1
fi
exit 255
fi
# 检查连字符断字结果
LOG_INFO "检查连字符断字结果"
CHECK_RESULT "$HYPHEN_RESULT" "$EXPECTED_HYPHENATION" 0 "连字符断字结果不符合预期"
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "测试完成,清理环境"
dnf remove -y texlive-ruhyphen > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载texlive-ruhyphen失败"
else
LOG_INFO "测试完成保持texlive-ruhyphen安装状态"
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-11-26
# @License : Mulan PSL v2
# @Desc : Test hyphenation for Russian text
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装texlive-ruhyphen软件包
LOG_INFO "检查是否已安装texlive-ruhyphen软件包"
if dnf list installed texlive-ruhyphen &> /dev/null; then
LOG_INFO "texlive-ruhyphen已安装脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-ruhyphen未安装将在测试结束后卸载"
INSTALLED=false
fi
# 检查yum源中是否有texlive-ruhyphen软件包
LOG_INFO "检查yum源中是否有texlive-ruhyphen软件包"
if ! dnf list available texlive-ruhyphen &> /dev/null; then
LOG_ERROR "yum源中未找到texlive-ruhyphen软件包"
exit 255
fi
# 如果未安装则安装texlive-ruhyphen
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装texlive-ruhyphen软件包"
dnf install -y texlive-ruhyphen &> /dev/null
CHECK_RESULT $? 0 0 "安装texlive-ruhyphen失败"
fi
# 测试俄语文本的连字符功能
LOG_INFO "测试俄语文本的连字符功能"
echo "Пример русского текста для проверки переносов" | hyphen -l ru &> /dev/null
CHECK_RESULT $? 0 0 "俄语文本连字符功能测试失败"
# 清理环境如果之前未安装则卸载texlive-ruhyphen
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-ruhyphen软件包"
dnf remove -y texlive-ruhyphen &> /dev/null
CHECK_RESULT $? 0 0 "卸载texlive-ruhyphen失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,92 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-23
# @License : Mulan PSL v2
# @Desc : Test if the package files (e.g., ruhyph.tex) are present in the system after installation
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试检查安装后系统中是否存在包文件如ruhyph.tex"
# 定义包名
PACKAGE="texlive-ruhyphen"
# 步骤1检查yum源中是否存在指定软件包
LOG_INFO "步骤1检查yum源中是否存在软件包 $PACKAGE"
dnf list available $PACKAGE &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到软件包 $PACKAGE"
exit 255
fi
# 步骤2检查当前环境中是否已安装该软件包
LOG_INFO "步骤2检查系统是否已安装软件包 $PACKAGE"
if rpm -q $PACKAGE &>/dev/null; then
LOG_INFO "软件包 $PACKAGE 已安装,将保持安装状态"
WAS_INSTALLED=1
else
LOG_INFO "软件包 $PACKAGE 未安装,将在测试过程中安装"
WAS_INSTALLED=0
fi
# 步骤3如果未安装则安装软件包
if [ $WAS_INSTALLED -eq 0 ]; then
LOG_INFO "步骤3安装软件包 $PACKAGE"
dnf install -y $PACKAGE
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE 失败"
fi
# 步骤4检查安装后是否存在特定的包文件例如ruhyph.tex
LOG_INFO "步骤4检查安装后系统中是否存在包文件如ruhyph.tex"
# 使用rpm -ql列出包文件并检查是否存在.tex文件
FILES=$(rpm -ql $PACKAGE | grep -E "\.tex$")
if [ -z "$FILES" ]; then
LOG_ERROR "软件包 $PACKAGE 未安装任何.tex文件"
# 清理环境:如果之前未安装,则卸载
if [ $WAS_INSTALLED -eq 0 ]; then
LOG_INFO "清理环境:卸载软件包 $PACKAGE"
dnf remove -y $PACKAGE
fi
exit 1
else
LOG_INFO "找到以下.tex文件"
echo "$FILES"
# 可以进一步检查特定的文件例如ruhyph.tex是否存在
if echo "$FILES" | grep -q "ruhyph.tex"; then
LOG_INFO "找到目标文件 ruhyph.tex"
else
LOG_ERROR "未找到目标文件 ruhyph.tex"
# 清理环境:如果之前未安装,则卸载
if [ $WAS_INSTALLED -eq 0 ]; then
LOG_INFO "清理环境:卸载软件包 $PACKAGE"
dnf remove -y $PACKAGE
fi
exit 1
fi
fi
# 步骤5清理环境如果测试前未安装则卸载软件包
if [ $WAS_INSTALLED -eq 0 ]; then
LOG_INFO "步骤5清理环境卸载软件包 $PACKAGE"
dnf remove -y $PACKAGE
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE 失败"
fi
LOG_INFO "测试完成:软件包 $PACKAGE 的文件存在性检查通过"
}
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-26
# @License : Mulan PSL v2
# @Desc : Test basic functionality of texlive-wordlike
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试脚本test_texlive-wordlike_function_basic
# 步骤1检查是否已安装texlive-wordlike
LOG_INFO "检查是否已安装texlive-wordlike"
dnf list installed texlive-wordlike > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-wordlike已安装脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-wordlike未安装将在测试结束后卸载"
INSTALLED=false
fi
# 步骤2检查yum源中是否有texlive-wordlike软件包
LOG_INFO "检查yum源中是否有texlive-wordlike软件包"
dnf list available texlive-wordlike > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-wordlike软件包"
exit 255
fi
# 步骤3安装texlive-wordlike软件包如果未安装
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装texlive-wordlike软件包"
dnf install -y texlive-wordlike > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装texlive-wordlike失败"
fi
# 步骤4测试texlive-wordlike基本功能
LOG_INFO "测试texlive-wordlike基本功能"
texdoc wordlike > /dev/null 2>&1
CHECK_RESULT $? 0 0 "执行texdoc wordlike失败"
# 步骤5清理环境如果之前未安装
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-wordlike软件包"
dnf remove -y texlive-wordlike > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载texlive-wordlike失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

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