Merge branch 'pkg' of http://10.30.190.190:54866/redrsoe2100/os-autotest into pkg
This commit is contained in:
@@ -11,60 +11,6 @@
|
||||
"name": "test_appstream-qt-devel_uninstall",
|
||||
"desc": "测试 appstream-qt-devel 软件包的卸载功能,验证其是否能正确从系统中卸载。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_appstream-qt-devel_upgrade",
|
||||
"desc": "测试 appstream-qt-devel 软件包的升级功能,验证其是否能正确升级到新版本。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_appstream-qt-devel_downgrade",
|
||||
"desc": "测试 appstream-qt-devel 软件包的降级功能,验证其是否能正确降级到旧版本。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_appstream-qt-devel_rollback",
|
||||
"desc": "测试 appstream-qt-devel 软件包的回滚功能,验证其是否能正确回滚到上一个版本。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_appstream-qt-devel_reinstall",
|
||||
"desc": "测试 appstream-qt-devel 软件包的重新安装功能,验证其是否能正确重新安装到系统中。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_appstream-qt-devel_service_start",
|
||||
"desc": "测试 appstream-qt-devel 提供的服务启动功能,验证其是否能正确启动服务。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_appstream-qt-devel_service_stop",
|
||||
"desc": "测试 appstream-qt-devel 提供的服务停止功能,验证其是否能正确停止服务。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_appstream-qt-devel_service_restart",
|
||||
"desc": "测试 appstream-qt-devel 提供的服务重启功能,验证其是否能正确重启服务。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_appstream-qt-devel_service_status",
|
||||
"desc": "测试 appstream-qt-devel 提供的服务状态查询功能,验证其是否能正确查询服务的运行状态。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_appstream-qt-devel_service_log",
|
||||
"desc": "测试 appstream-qt-devel 提供的服务日志查看功能,验证其是否能正确查看服务的日志信息。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_appstream-qt-devel_service_config",
|
||||
"desc": "测试 appstream-qt-devel 提供的服务配置功能,验证其是否能正确配置服务参数。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_appstream-qt-devel_function_libcheck",
|
||||
"desc": "测试 appstream-qt-devel 的基础依赖库功能,验证其是否能正确加载和使用依赖库。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,33 +2,9 @@
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/artemis/artemis-protocols",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_artemis-protocols_function_init",
|
||||
"desc": "Test initialization of artemis-protocols"
|
||||
},
|
||||
{
|
||||
"name": "test_artemis-protocols_function_connect",
|
||||
"desc": "Test connection functionality of artemis-protocols"
|
||||
},
|
||||
{
|
||||
"name": "test_artemis-protocols_function_install",
|
||||
"desc": "Test the installation of the artemis-protocols package"
|
||||
},
|
||||
{
|
||||
"name": "test_artemis-protocols_function_uninstall",
|
||||
"desc": "Test the uninstallation of the artemis-protocols package"
|
||||
},
|
||||
{
|
||||
"name": "test_artemis-protocols_function_version",
|
||||
"desc": "Test checking the package version"
|
||||
},
|
||||
{
|
||||
"name": "test_artemis-protocols_function_basic_usage",
|
||||
"desc": "Test the basic usage of artemis-protocols"
|
||||
},
|
||||
{
|
||||
"name": "test_artemis-protocols_function_help",
|
||||
"desc": "Test the help command or documentation"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -7,25 +7,9 @@
|
||||
"desc": "测试 brltty-xw 软件包的安装功能,验证安装过程是否成功",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_brltty-xw_function_install",
|
||||
"desc": "测试 brltty-xw 软件包的安装功能,验证安装过程是否成功且软件包文件正确部署"
|
||||
},
|
||||
{
|
||||
"name": "test_brltty-xw_function_uninstall",
|
||||
"desc": "测试 brltty-xw 软件包的卸载功能,验证卸载过程是否成功且相关文件被清理"
|
||||
},
|
||||
{
|
||||
"name": "test_brltty-xw_function_version",
|
||||
"desc": "测试 brltty-xw 软件包的版本查询功能,验证能正确显示软件包版本信息"
|
||||
},
|
||||
{
|
||||
"name": "test_brltty-xw_function_config",
|
||||
"desc": "测试 brltty-xw 软件包的基本配置功能,验证配置文件存在且可访问"
|
||||
},
|
||||
{
|
||||
"name": "test_brltty-xw_function_service",
|
||||
"desc": "测试 brltty-xw 相关服务的状态管理功能,验证服务能正常启动、停止和查询状态"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6,18 +6,6 @@
|
||||
"name": "test_maven-doxia-module-rtf_install",
|
||||
"desc": "测试软件包的安装功能,验证安装过程是否正常完成。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_maven-doxia-module-rtf_function_generate",
|
||||
"desc": "测试RTF文档生成功能,验证生成的文档是否符合预期格式。"
|
||||
},
|
||||
{
|
||||
"name": "test_maven-doxia-module-rtf_function_parse",
|
||||
"desc": "测试RTF文档解析功能,验证解析结果是否正确。"
|
||||
},
|
||||
{
|
||||
"name": "test_maven-doxia-module-rtf_function_config",
|
||||
"desc": "测试配置加载功能,验证配置是否正确应用。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -9,18 +9,6 @@
|
||||
{
|
||||
"name": "test_nagios-plugins-ifstatus_function_interface",
|
||||
"desc": "Test interface status monitoring"
|
||||
},
|
||||
{
|
||||
"name": "test_nagios-plugins-ifstatus_function_threshold",
|
||||
"desc": "Test threshold detection"
|
||||
},
|
||||
{
|
||||
"name": "test_nagios-plugins-ifstatus_function_error",
|
||||
"desc": "Test error handling"
|
||||
},
|
||||
{
|
||||
"name": "test_nagios-plugins-ifstatus_function_performance",
|
||||
"desc": "Test performance metrics"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -9,22 +9,6 @@
|
||||
{
|
||||
"name": "test_pcp-pmda-libvirt_function_uninstall",
|
||||
"desc": "Test package uninstallation"
|
||||
},
|
||||
{
|
||||
"name": "test_pcp-pmda-libvirt_function_enable",
|
||||
"desc": "Test enabling PMDA"
|
||||
},
|
||||
{
|
||||
"name": "test_pcp-pmda-libvirt_function_start",
|
||||
"desc": "Test PMDA service start"
|
||||
},
|
||||
{
|
||||
"name": "test_pcp-pmda-libvirt_function_collect",
|
||||
"desc": "Test metrics collection"
|
||||
},
|
||||
{
|
||||
"name": "test_pcp-pmda-libvirt_function_query",
|
||||
"desc": "Test query specific metric"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -10,10 +10,6 @@
|
||||
"name": "test_proguard-gui_function_load",
|
||||
"desc": "测试加载配置文件功能"
|
||||
},
|
||||
{
|
||||
"name": "test_proguard-gui_function_save",
|
||||
"desc": "测试保存配置文件功能"
|
||||
},
|
||||
{
|
||||
"name": "test_proguard-gui_function_optimize",
|
||||
"desc": "测试代码优化功能"
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/rpcbind/rpcbind-help",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_rpcbind-help_function_check_install",
|
||||
"desc": "测试rpcbind-help软件包是否已正确安装,验证其核心帮助文档文件存在于系统中。"
|
||||
},
|
||||
{
|
||||
"name": "test_rpcbind-help_function_view_help",
|
||||
"desc": "测试使用rpm -qd命令查看rpcbind-help软件包提供的所有文档文件列表。"
|
||||
},
|
||||
{
|
||||
"name": "test_rpcbind-help_function_query_pkg",
|
||||
"desc": "测试使用rpm -q命令查询rpcbind-help软件包的名称、版本和发行版信息。"
|
||||
},
|
||||
{
|
||||
"name": "test_rpcbind-help_function_verify_pkg",
|
||||
"desc": "测试使用rpm -V命令验证rpcbind-help软件包内文件的完整性,检查是否有更改或缺失。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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` 应能输出有效的版本号。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,21 +2,9 @@
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-g/texlive-dnp",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-dnp_function_install",
|
||||
"desc": "Test installation of texlive-dnp"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-dnp_function_remove",
|
||||
"desc": "Test uninstallation of texlive-dnp package"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-dnp_function_check",
|
||||
"desc": "Test if texlive-dnp is installed"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-dnp_function_usage",
|
||||
"desc": "Test basic usage of texlive-dnp"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-v/texlive-sparklines",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-sparklines_function_basic",
|
||||
"desc": "Test basic functionality of texlive-sparklines"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,90 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 appstream-qt-devel 软件包的降级功能,验证其是否能正确降级到旧版本。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
|
||||
# 检查yum源中是否存在appstream-qt-devel软件包
|
||||
LOG_INFO "检查yum源中是否存在appstream-qt-devel软件包"
|
||||
dnf list available appstream-qt-devel &> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到appstream-qt-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查当前是否已安装appstream-qt-devel软件包
|
||||
LOG_INFO "检查当前是否已安装appstream-qt-devel软件包"
|
||||
rpm -q appstream-qt-devel &> /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "当前已安装appstream-qt-devel软件包,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "当前未安装appstream-qt-devel软件包,将在测试步骤中安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 获取当前安装的版本
|
||||
LOG_INFO "获取当前安装的版本(如果已安装)"
|
||||
if $INSTALLED; then
|
||||
CURRENT_VERSION=$(rpm -q --queryformat '%{VERSION}' appstream-qt-devel)
|
||||
LOG_INFO "当前安装的版本为: $CURRENT_VERSION"
|
||||
fi
|
||||
|
||||
# 查找可用的旧版本
|
||||
LOG_INFO "查找可用的旧版本"
|
||||
OLD_VERSION=$(dnf list --showduplicates appstream-qt-devel | awk '/appstream-qt-devel/ {print $2}' | sort -V | head -n 1)
|
||||
if [ -z "$OLD_VERSION" ]; then
|
||||
LOG_ERROR "未找到可用的旧版本"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "找到的旧版本为: $OLD_VERSION"
|
||||
|
||||
# 如果未安装,则先安装最新版本作为测试步骤的一部分
|
||||
if ! $INSTALLED; then
|
||||
LOG_INFO "正在安装最新版本的appstream-qt-devel软件包"
|
||||
dnf install -y appstream-qt-devel &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "安装最新版本的appstream-qt-devel失败"
|
||||
fi
|
||||
|
||||
# 执行降级操作到旧版本
|
||||
LOG_INFO "正在降级appstream-qt-devel到旧版本: $OLD_VERSION"
|
||||
dnf downgrade -y appstream-qt-devel-$OLD_VERSION &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "降级到旧版本失败"
|
||||
|
||||
# 验证降级后的版本是否为指定的旧版本
|
||||
LOG_INFO "验证降级后的版本是否为指定的旧版本: $OLD_VERSION"
|
||||
AFTER_DOWNGRADE_VERSION=$(rpm -q --queryformat '%{VERSION}' appstream-qt-devel)
|
||||
CHECK_RESULT "$AFTER_DOWNGRADE_VERSION" "$OLD_VERSION" 0 "降级后的版本与预期不符"
|
||||
|
||||
# 清理环境:如果最初未安装,则卸载软件包;否则保持原状
|
||||
if ! $INSTALLED; then
|
||||
LOG_INFO "清理环境:卸载appstream-qt-devel软件包"
|
||||
dnf remove -y appstream-qt-devel &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "卸载appstream-qt-devel失败"
|
||||
else
|
||||
LOG_INFO "保持环境不变,不卸载appstream-qt-devel软件包"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,113 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-10
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 appstream-qt-devel 的基础依赖库功能,验证其是否能正确加载和使用依赖库。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查软件包是否存在于yum源中
|
||||
check_package_existence() {
|
||||
dnf list available "$1" &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 $1 不存在于yum源中"
|
||||
exit 255
|
||||
fi
|
||||
}
|
||||
|
||||
# 检查命令参数是否有效
|
||||
check_command_parameters() {
|
||||
if [ -z "$1" ]; then
|
||||
LOG_ERROR "命令参数不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
}
|
||||
|
||||
# 安装软件包
|
||||
install_package() {
|
||||
LOG_INFO "正在安装软件包 $1"
|
||||
dnf install -y "$1"
|
||||
CHECK_RESULT $? 0 0 "安装软件包 $1 失败"
|
||||
}
|
||||
|
||||
# 卸载软件包
|
||||
uninstall_package() {
|
||||
LOG_INFO "正在卸载软件包 $1"
|
||||
dnf remove -y "$1"
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 $1 失败"
|
||||
}
|
||||
|
||||
# 检查环境是否已安装软件包
|
||||
check_installed() {
|
||||
rpm -q "$1" &>/dev/null
|
||||
return $?
|
||||
}
|
||||
|
||||
# 测试 appstream-qt-devel 的基础依赖库功能
|
||||
test_appstream_qt_devel_libcheck() {
|
||||
local package="appstream-qt-devel"
|
||||
local installed=false
|
||||
|
||||
# 检查环境是否已安装软件包
|
||||
check_installed "$package"
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "环境已安装软件包 $package"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "环境未安装软件包 $package,将进行安装测试"
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有该软件包
|
||||
check_package_existence "$package"
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if ! $installed; then
|
||||
install_package "$package"
|
||||
CHECK_RESULT $? 0 0 "安装软件包 $package 失败"
|
||||
|
||||
#验证依赖库功能(示例:检查库文件是否存在)
|
||||
LOG_INFO "验证依赖库功能"
|
||||
local lib_path="/usr/lib64/libAppStreamQt.so"
|
||||
if [ -f "$lib_path" ]; then
|
||||
LOG_INFO "依赖库文件 $lib_path存在,功能正常"
|
||||
CHECK_RESULT $? 00 0 ""
|
||||
else
|
||||
LOG_ERROR “依赖库文件 $lib_path不存在”
|
||||
exit 1
|
||||
fi
|
||||
|
||||
#卸载临时安装的包
|
||||
uninstall_package “$package”
|
||||
CHECK_RESULT $? 00 00 “卸载临时安装的包失败”
|
||||
else
|
||||
#如果已经安装了,则只验证功能不操作其他步骤。
|
||||
LOG_INFO “验证依赖库功能”
|
||||
local lib_path=“/usr/lib64/libAppStreamQt.so”
|
||||
if [ -f “$lib_path” ]; then
|
||||
log_info “依赖库文件 ${lib_path}存在,功能正常”
|
||||
check_result 00 00 00 ""
|
||||
else
|
||||
log_error “依赖库文件 ${lib_path}不存在”
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
test_appstream_qt_devel_libcheck
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,82 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 appstream-qt-devel 软件包的重新安装功能,验证其是否能正确重新安装到系统中。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
|
||||
# 检查软件包是否存在于yum源中
|
||||
LOG_INFO "检查yum源中是否存在appstream-qt-devel软件包..."
|
||||
dnf list available appstream-qt-devel > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在appstream-qt-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查当前环境中是否已安装appstream-qt-devel
|
||||
LOG_INFO "检查当前环境中是否已安装appstream-qt-devel..."
|
||||
rpm -q appstream-qt-devel > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "当前环境已安装appstream-qt-devel,脚本结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "当前环境未安装appstream-qt-devel,将在测试完成后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 卸载软件包(如果已安装)
|
||||
if $INSTALLED; then
|
||||
LOG_INFO "卸载appstream-qt-devel软件包..."
|
||||
dnf remove -y appstream-qt-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载appstream-qt-devel失败"
|
||||
fi
|
||||
|
||||
# 安装软件包
|
||||
LOG_INFO "安装appstream-qt-devel软件包..."
|
||||
dnf install -y appstream-qt-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装appstream-qt-devel失败"
|
||||
|
||||
# 验证软件包是否成功安装
|
||||
LOG_INFO "验证appstream-qt-devel是否成功安装..."
|
||||
rpm -q appstream-qt-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "验证appstream-qt-devel安装失败"
|
||||
|
||||
# 重新安装软件包(测试重新安装功能)
|
||||
LOG_INFO "重新安装appstream-qt-devel软件包..."
|
||||
dnf reinstall -y appstream-qt-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "重新安装appstream-qt-devel失败"
|
||||
|
||||
# 验证重新安装后的软件包状态
|
||||
LOG_INFO "验证重新安装后的appstream-qt-devel状态..."
|
||||
rpm -q appstream-qt-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "验证重新安装后的状态失败"
|
||||
|
||||
# 清理环境(如果初始未安装)
|
||||
if ! $INSTALLED; then
|
||||
LOG_INFO "清理环境,卸载appstream-qt-devel软件包..."
|
||||
dnf remove -y appstream-qt-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载appstream-qt-devel失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复初始状态"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,111 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 appstream-qt-devel 软件包的回滚功能,验证其是否能正确回滚到上一个版本。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查软件包是否存在于yum源中
|
||||
check_package_existence() {
|
||||
LOG_INFO "检查yum源中是否存在软件包: $1"
|
||||
dnf list available "$1" &> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 $1 不存在于yum源中"
|
||||
exit 255
|
||||
fi
|
||||
}
|
||||
|
||||
# 检查命令参数是否有效
|
||||
check_command_args() {
|
||||
LOG_INFO "检查命令参数: $@"
|
||||
if [ $# -lt 1 ]; then
|
||||
LOG_ERROR "命令参数缺失或不支持"
|
||||
exit 255
|
||||
fi
|
||||
}
|
||||
|
||||
# 安装软件包
|
||||
install_package() {
|
||||
LOG_INFO "开始安装软件包: $1"
|
||||
dnf install -y "$1"
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
}
|
||||
|
||||
# 卸载软件包
|
||||
uninstall_package() {
|
||||
LOG_INFO "开始卸载软件包: $1"
|
||||
dnf remove -y "$1"
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
}
|
||||
|
||||
# 检查当前环境中是否已安装指定软件包
|
||||
is_package_installed() {
|
||||
rpm -q "$1" &> /dev/null
|
||||
return $?
|
||||
}
|
||||
|
||||
# 主函数
|
||||
main() {
|
||||
PACKAGE_NAME="appstream-qt-devel"
|
||||
|
||||
# 检查环境是否已安装软件包
|
||||
if is_package_installed "$PACKAGE_NAME"; then
|
||||
LOG_INFO "环境中已安装软件包: $PACKAGE_NAME,测试完成后将保持安装状态"
|
||||
ENV_INSTALLED=true
|
||||
else
|
||||
LOG_INFO "环境中未安装软件包: $PACKAGE_NAME,测试完成后将卸载该软件包"
|
||||
ENV_INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在该软件包
|
||||
check_package_existence "$PACKAGE_NAME"
|
||||
|
||||
# 如果未安装,则安装软件包作为测试步骤
|
||||
if ! $ENV_INSTALLED; then
|
||||
install_package "$PACKAGE_NAME"
|
||||
fi
|
||||
|
||||
# 测试回滚功能:降级到上一个版本(假设通过dnf downgrade实现)
|
||||
LOG_INFO "测试回滚功能:尝试降级到上一个版本"
|
||||
dnf downgrade -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "回滚到上一个版本失败"
|
||||
|
||||
# 验证回滚后的版本是否符合预期(假设通过rpm -q查询)
|
||||
LOG_INFO "验证回滚后的版本是否符合预期"
|
||||
rpm -q --qf "%{VERSION}-%{RELEASE}\n" "$PACKAGE_NAME" | head -n1 > /tmp/current_version.txt
|
||||
|
||||
# TODO: 这里需要根据实际需求添加版本验证逻辑,例如与预期版本比较
|
||||
|
||||
# 清理环境:如果最初未安装,则卸载软件包;否则保持安装状态不变。
|
||||
if ! $ENV_INSTALLED; then
|
||||
uninstall_package "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
LOG_INFO "环境已恢复到初始状态(未安装)"
|
||||
else
|
||||
LOG_INFO "环境保持初始状态(已安装)"
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,68 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 appstream-qt-devel 提供的服务配置功能,验证其是否能正确配置服务参数。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
|
||||
# 检查yum源中是否存在appstream-qt-devel软件包
|
||||
LOG_INFO "检查yum源中是否存在appstream-qt-devel软件包"
|
||||
dnf list available appstream-qt-devel &> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到appstream-qt-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装appstream-qt-devel
|
||||
LOG_INFO "检查是否已安装appstream-qt-devel"
|
||||
rpm -q appstream-qt-devel &> /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "appstream-qt-devel已安装,测试完成后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "appstream-qt-devel未安装,将在测试完成后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装appstream-qt-devel软件包"
|
||||
dnf install -y appstream-qt-devel
|
||||
CHECK_RESULT $? 0 0 "安装appstream-qt-devel失败"
|
||||
fi
|
||||
|
||||
# 验证服务配置功能
|
||||
LOG_INFO "验证appstream-qt-devel的服务配置功能"
|
||||
# 假设服务配置命令为configure-service,此处仅为示例,需替换为实际命令
|
||||
configure-service --test-config &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "服务配置功能验证失败"
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载appstream-qt-devel软件包"
|
||||
dnf remove -y appstream-qt-devel
|
||||
CHECK_RESULT $? 0 0 "卸载appstream-qt-devel失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,64 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 appstream-qt-devel 提供的服务日志查看功能,验证其是否能正确查看服务的日志信息。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
|
||||
# 检查yum源中是否存在appstream-qt-devel软件包
|
||||
LOG_INFO "检查yum源中是否存在appstream-qt-devel软件包..."
|
||||
dnf list available appstream-qt-devel > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到appstream-qt-devel软件包,退出测试"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装appstream-qt-devel软件包
|
||||
LOG_INFO "检查是否已安装appstream-qt-devel软件包..."
|
||||
rpm -q appstream-qt-devel > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "appstream-qt-devel软件包已安装,跳过安装步骤"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "appstream-qt-devel软件包未安装,开始安装..."
|
||||
dnf install -y appstream-qt-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装appstream-qt-devel软件包失败"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 测试服务日志查看功能
|
||||
LOG_INFO "测试服务日志查看功能..."
|
||||
journalctl --unit=appstream-qt-devel.service --no-pager > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "查看appstream-qt-devel服务日志失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载appstream-qt-devel软件包..."
|
||||
dnf remove -y appstream-qt-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载appstream-qt-devel软件包失败"
|
||||
else
|
||||
LOG_INFO "保持appstream-qt-devel软件包的安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,64 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 appstream-qt-devel 提供的服务重启功能,验证其是否能正确重启服务。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装 appstream-qt-devel 软件包
|
||||
LOG_INFO "检查是否已安装 appstream-qt-devel 软件包..."
|
||||
if rpm -q appstream-qt-devel &>/dev/null; then
|
||||
LOG_INFO "appstream-qt-devel 已安装,脚本结束时将保持安装状态。"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "appstream-qt-devel 未安装,将在测试结束后卸载。"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否存在 appstream-qt-devel 软件包
|
||||
LOG_INFO "检查 yum 源中是否存在 appstream-qt-devel 软件包..."
|
||||
if ! dnf list available appstream-qt-devel &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 appstream-qt-devel 软件包。"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装 appstream-qt-devel 软件包..."
|
||||
dnf install -y appstream-qt-devel
|
||||
CHECK_RESULT $? 0 0 "安装 appstream-qt-devel 失败。"
|
||||
fi
|
||||
|
||||
# 验证服务重启功能
|
||||
LOG_INFO "测试 appstream-qt-devel 提供的服务重启功能..."
|
||||
systemctl restart appstream-qt-devel.service
|
||||
CHECK_RESULT $? 0 0 "服务重启失败。"
|
||||
|
||||
# 清理环境:如果之前未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "清理环境:卸载 appstream-qt-devel 软件包..."
|
||||
dnf remove -y appstream-qt-devel
|
||||
CHECK_RESULT $? 0 0 "卸载 appstream-qt-devel 失败。"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复。"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,71 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 appstream-qt-devel 提供的服务启动功能,验证其是否能正确启动服务。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 appstream-qt-devel 提供的服务启动功能"
|
||||
|
||||
# 检查软件包是否存在于yum源中
|
||||
LOG_INFO "检查 yum 源中是否存在 appstream-qt-devel 软件包"
|
||||
dnf list available appstream-qt-devel > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum 源中未找到 appstream-qt-devel 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装软件包
|
||||
LOG_INFO "检查系统是否已安装 appstream-qt-devel"
|
||||
rpm -q appstream-qt-devel > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "appstream-qt-devel 已安装,跳过安装步骤"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "appstream-qt-devel 未安装,开始安装"
|
||||
dnf install -y appstream-qt-devel
|
||||
CHECK_RESULT $? 0 0 "安装 appstream-qt-devel 失败"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 测试服务启动功能
|
||||
LOG_INFO "测试 appstream-qt-devel 提供的服务启动功能"
|
||||
systemctl start appstream-qt-devel.service > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "启动 appstream-qt-devel.service 失败"
|
||||
|
||||
# 验证服务状态
|
||||
LOG_INFO "验证 appstream-qt-devel.service 状态"
|
||||
systemctl status appstream-qt-devel.service > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "appstream-qt-devel.service 状态异常"
|
||||
|
||||
# 停止服务以清理环境
|
||||
LOG_INFO "停止 appstream-qt-devel.service"
|
||||
systemctl stop appstream-qt-devel.service > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "停止 appstream-qt-devel.service 失败"
|
||||
|
||||
# 恢复环境:如果脚本开始时未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 appstream-qt-devel"
|
||||
dnf remove -y appstream-qt-devel
|
||||
CHECK_RESULT $? 0 0 "卸载 appstream-qt-devel 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,62 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 appstream-qt-devel 提供的服务状态查询功能,验证其是否能正确查询服务的运行状态。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
|
||||
# 检查软件包是否存在于yum源中
|
||||
LOG_INFO "检查yum源中是否存在appstream-qt-devel软件包..."
|
||||
dnf list available appstream-qt-devel &> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到appstream-qt-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装appstream-qt-devel
|
||||
LOG_INFO "检查系统是否已安装appstream-qt-devel..."
|
||||
rpm -q appstream-qt-devel &> /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "系统已安装appstream-qt-devel,测试完成后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "系统未安装appstream-qt-devel,将进行安装..."
|
||||
dnf install -y appstream-qt-devel &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "安装appstream-qt-devel失败"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 测试服务状态查询功能
|
||||
LOG_INFO "测试appstream-qt-devel提供的服务状态查询功能..."
|
||||
systemctl status appstream-qt-devel &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "查询服务状态失败"
|
||||
|
||||
# 清理环境(如果测试前未安装,则卸载)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "清理环境,卸载appstream-qt-devel..."
|
||||
dnf remove -y appstream-qt-devel &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "卸载appstream-qt-devel失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,71 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 appstream-qt-devel 提供的服务停止功能,验证其是否能正确停止服务。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 appstream-qt-devel 提供的服务停止功能"
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
LOG_INFO "检查 yum 源中是否存在 appstream-qt-devel 软件包"
|
||||
dnf list available appstream-qt-devel &> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum 源中未找到 appstream-qt-devel 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装软件包
|
||||
LOG_INFO "检查系统是否已安装 appstream-qt-devel"
|
||||
rpm -q appstream-qt-devel &> /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "系统已安装 appstream-qt-devel,测试完成后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "系统未安装 appstream-qt-devel,将进行安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在安装 appstream-qt-devel"
|
||||
dnf install -y appstream-qt-devel
|
||||
CHECK_RESULT $? 0 0 "安装 appstream-qt-devel 失败"
|
||||
fi
|
||||
|
||||
# 测试服务停止功能
|
||||
LOG_INFO "测试停止 appstream-qt-devel 提供的服务"
|
||||
systemctl stop appstream-qt-devel.service &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "停止 appstream-qt-devel.service 失败"
|
||||
|
||||
# 验证服务是否已停止
|
||||
LOG_INFO "验证服务是否已停止"
|
||||
systemctl is-active appstream-qt-devel.service &> /dev/null
|
||||
CHECK_RESULT $? 3 0 "服务未正确停止"
|
||||
|
||||
# 恢复环境:如果之前未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 appstream-qt-devel"
|
||||
dnf remove -y appstream-qt-devel
|
||||
CHECK_RESULT $? 0 0 "卸载 appstream-qt-devel 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,83 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 appstream-qt-devel 软件包的升级功能,验证其是否能正确升级到新版本。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 appstream-qt-devel 软件包的升级功能"
|
||||
|
||||
# 检查 yum 源中是否存在 appstream-qt-devel 软件包
|
||||
LOG_INFO "检查 yum 源中是否存在 appstream-qt-devel 软件包"
|
||||
dnf list available appstream-qt-devel &> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum 源中未找到 appstream-qt-devel 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查当前是否已安装 appstream-qt-devel
|
||||
LOG_INFO "检查当前是否已安装 appstream-qt-devel"
|
||||
rpm -q appstream-qt-devel &> /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "appstream-qt-devel 已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "appstream-qt-devel 未安装,将在测试完成后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 安装 appstream-qt-devel(如果未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装 appstream-qt-devel"
|
||||
dnf install -y appstream-qt-devel
|
||||
CHECK_RESULT $? 0 0 "安装 appstream-qt-devel 失败"
|
||||
fi
|
||||
|
||||
# 获取当前版本信息
|
||||
LOG_INFO "获取当前 appstream-qt-devel 版本信息"
|
||||
CURRENT_VERSION=$(rpm -q --queryformat '%{VERSION}' appstream-qt-devel)
|
||||
LOG_INFO "当前版本: $CURRENT_VERSION"
|
||||
|
||||
# 尝试升级到最新版本
|
||||
LOG_INFO "尝试升级 appstream-qt-devel"
|
||||
dnf upgrade -y appstream-qt-devel
|
||||
CHECK_RESULT $? 0 0 "升级 appstream-qt-devel 失败"
|
||||
|
||||
# 验证升级后的版本信息
|
||||
LOG_INFO "验证升级后的版本信息"
|
||||
NEW_VERSION=$(rpm -q --queryformat '%{VERSION}' appstream-qt-devel)
|
||||
LOG_INFO "新版本: $NEW_VERSION"
|
||||
|
||||
if [ "$CURRENT_VERSION" = "$NEW_VERSION" ]; then
|
||||
LOG_ERROR "appstream-qt-devel 未成功升级"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "appstream-qt-devel 成功从 $CURRENT_VERSION 升级到 $NEW_VERSION"
|
||||
fi
|
||||
|
||||
# 恢复环境(如果最初未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 appstream-qt-devel"
|
||||
dnf remove -y appstream-qt-devel
|
||||
CHECK_RESULT $? 0 0 "卸载 appstream-qt-devel 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,92 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test the basic usage of artemis-protocols
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试artemis-protocols基本使用功能"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="artemis-protocols"
|
||||
|
||||
# 步骤1:检查软件包是否已在yum源中
|
||||
LOG_INFO "检查yum源中是否存在$PACKAGE_NAME软件包"
|
||||
if ! dnf list available $PACKAGE_NAME &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到$PACKAGE_NAME软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤2:检查系统是否已安装该软件包
|
||||
LOG_INFO "检查系统是否已安装$PACKAGE_NAME"
|
||||
if rpm -q $PACKAGE_NAME &>/dev/null; then
|
||||
LOG_INFO "$PACKAGE_NAME已安装,测试结束后将保持安装状态"
|
||||
ALREADY_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "$PACKAGE_NAME未安装,将在测试过程中安装"
|
||||
ALREADY_INSTALLED=0
|
||||
fi
|
||||
|
||||
# 步骤3:如果未安装,则安装软件包
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装$PACKAGE_NAME软件包"
|
||||
dnf install -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "安装$PACKAGE_NAME失败"
|
||||
fi
|
||||
|
||||
# 步骤4:测试基本命令功能
|
||||
LOG_INFO "测试artemis-protocols基本命令"
|
||||
if command -v artemis &>/dev/null; then
|
||||
LOG_INFO "执行artemis --help查看帮助信息"
|
||||
artemis --help
|
||||
CHECK_RESULT $? 0 0 "artemis --help命令执行失败"
|
||||
else
|
||||
LOG_ERROR "未找到artemis命令"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤5:测试特定参数(示例)
|
||||
LOG_INFO "测试artemis特定参数"
|
||||
if artemis --help | grep -q "version"; then
|
||||
LOG_INFO "执行artemis --version查看版本信息"
|
||||
artemis --version
|
||||
CHECK_RESULT $? 0 0 "artemis --version命令执行失败"
|
||||
else
|
||||
LOG_ERROR "artemis不支持--version参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤6:如果需要多节点测试,使用SSH_CMD(示例)
|
||||
# LOG_INFO "在第二个节点上测试artemis命令"
|
||||
# SSH_CMD "artemis --help" $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER
|
||||
# CHECK_RESULT $? 0 0 "在第二个节点上执行artemis命令失败"
|
||||
|
||||
# 步骤7:清理环境
|
||||
LOG_INFO "清理测试环境"
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载$PACKAGE_NAME软件包"
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "卸载$PACKAGE_NAME失败"
|
||||
else
|
||||
LOG_INFO "保持$PACKAGE_NAME安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "artemis-protocols基本使用功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,65 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-09
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test connection functionality of artemis-protocols
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试 artemis-protocols 的连接功能
|
||||
LOG_INFO "开始测试 artemis-protocols 的连接功能"
|
||||
|
||||
# 检查是否已安装 artemis-protocols
|
||||
LOG_INFO "检查是否已安装 artemis-protocols"
|
||||
if dnf list installed artemis-protocols &>/dev/null; then
|
||||
LOG_INFO "artemis-protocols 已安装,跳过安装步骤"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "artemis-protocols 未安装,准备安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否存在 artemis-protocols
|
||||
LOG_INFO "检查 yum 源中是否存在 artemis-protocols"
|
||||
if ! dnf list available artemis-protocols &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 artemis-protocols,退出测试"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装 artemis-protocols
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装 artemis-protocols"
|
||||
dnf install -y artemis-protocols
|
||||
CHECK_RESULT $? 0 0 "安装 artemis-protocols 失败"
|
||||
fi
|
||||
|
||||
# 测试连接功能
|
||||
LOG_INFO "测试 artemis-protocols 的连接功能"
|
||||
artemis-connect --test
|
||||
CHECK_RESULT $? 0 0 "artemis-connect --test 命令执行失败"
|
||||
|
||||
# 如果之前未安装,则在测试完成后卸载 artemis-protocols
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载临时安装的 artemis-protocols"
|
||||
dnf remove -y artemis-protocols
|
||||
CHECK_RESULT $? 0 0 "卸载 artemis-protocols 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "artemis-protocols 连接功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,82 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test the help command or documentation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "测试开始:验证artemis-protocols软件包的帮助命令或文档"
|
||||
|
||||
LOG_INFO "步骤1:检查软件包是否已在yum源中"
|
||||
if ! dnf list available artemis-protocols &>/dev/null; then
|
||||
LOG_ERROR "软件包artemis-protocols不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查软件包是否已安装"
|
||||
if rpm -q artemis-protocols &>/dev/null; then
|
||||
LOG_INFO "软件包已安装,测试结束后将保持安装状态"
|
||||
already_installed=true
|
||||
else
|
||||
LOG_INFO "软件包未安装,将在测试过程中安装并最终卸载"
|
||||
already_installed=false
|
||||
fi
|
||||
|
||||
if [ "$already_installed" = "false" ]; then
|
||||
LOG_INFO "步骤3:安装artemis-protocols软件包"
|
||||
dnf install -y artemis-protocols
|
||||
CHECK_RESULT $? 0 0 "安装artemis-protocols失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:测试帮助命令或文档"
|
||||
LOG_INFO "执行帮助命令:artemis-protocols --help"
|
||||
if ! artemis-protocols --help &>/dev/null; then
|
||||
LOG_ERROR "帮助命令执行失败或不存在"
|
||||
if [ "$already_installed" = "false" ]; then
|
||||
LOG_INFO "清理:卸载artemis-protocols软件包"
|
||||
dnf remove -y artemis-protocols
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
CHECK_RESULT $? 0 0 "帮助命令执行异常"
|
||||
|
||||
LOG_INFO "步骤5:验证帮助命令输出包含必要信息"
|
||||
help_output=$(artemis-protocols --help 2>&1)
|
||||
if echo "$help_output" | grep -q "usage\|Usage\|help\|Help"; then
|
||||
LOG_INFO "帮助命令输出正常"
|
||||
else
|
||||
LOG_ERROR "帮助命令输出不符合预期"
|
||||
if [ "$already_installed" = "false" ]; then
|
||||
LOG_INFO "清理:卸载artemis-protocols软件包"
|
||||
dnf remove -y artemis-protocols
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$already_installed" = "false" ]; then
|
||||
LOG_INFO "步骤6:清理环境,卸载artemis-protocols软件包"
|
||||
dnf remove -y artemis-protocols
|
||||
CHECK_RESULT $? 0 0 "卸载artemis-protocols失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试结束:artemis-protocols的帮助命令或文档测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,70 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-29
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test initialization of artemis-protocols
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test initialization of artemis-protocols"
|
||||
|
||||
# 检查是否已安装artemis-protocols
|
||||
LOG_INFO "检查artemis-protocols是否已安装"
|
||||
if dnf list installed artemis-protocols &>/dev/null; then
|
||||
LOG_INFO "artemis-protocols已安装,测试结束后将保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "artemis-protocols未安装,测试结束后将卸载"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有artemis-protocols
|
||||
LOG_INFO "检查yum源中是否有artemis-protocols"
|
||||
if ! dnf list available artemis-protocols &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到artemis-protocols,退出测试"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装artemis-protocols
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "开始安装artemis-protocols"
|
||||
dnf install -y artemis-protocols
|
||||
CHECK_RESULT $? 0 0 "安装artemis-protocols失败"
|
||||
fi
|
||||
|
||||
# 测试初始化功能
|
||||
LOG_INFO "测试artemis-protocols初始化功能"
|
||||
init_output=$(artemis-protocols init)
|
||||
CHECK_RESULT $? 0 0 "初始化artemis-protocols失败"
|
||||
|
||||
# 验证初始化输出是否符合预期(假设预期输出包含"Initialization successful")
|
||||
if [[ "$init_output" != *"Initialization successful"* ]]; then
|
||||
LOG_ERROR "初始化输出不符合预期"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理环境
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载artemis-protocols"
|
||||
dnf remove -y artemis-protocols
|
||||
CHECK_RESULT $? 0 0 "卸载artemis-protocols失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test initialization of artemis-protocols"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,91 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test the uninstallation of the artemis-protocols package
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查当前环境是否已安装artemis-protocols
|
||||
LOG_INFO "检查artemis-protocols是否已安装"
|
||||
rpm -q artemis-protocols > /dev/null 2>&1
|
||||
is_installed=$?
|
||||
|
||||
# 记录初始安装状态
|
||||
if [ $is_installed -eq 0 ]; then
|
||||
LOG_INFO "artemis-protocols已安装,脚本结束后将保持安装状态"
|
||||
else
|
||||
LOG_INFO "artemis-protocols未安装,测试结束后将卸载"
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有artemis-protocols软件包
|
||||
LOG_INFO "检查yum源中是否存在artemis-protocols软件包"
|
||||
dnf list available artemis-protocols > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "yum源中未找到artemis-protocols软件包"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到artemis-protocols软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则进行安装
|
||||
if [ $is_installed -ne 0 ]; then
|
||||
LOG_INFO "开始安装artemis-protocols软件包"
|
||||
dnf install -y artemis-protocols
|
||||
CHECK_RESULT $? 0 0 "安装artemis-protocols失败"
|
||||
fi
|
||||
|
||||
# 验证安装是否成功
|
||||
LOG_INFO "验证artemis-protocols是否安装成功"
|
||||
rpm -q artemis-protocols > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "artemis-protocols未正确安装"
|
||||
|
||||
# 检查软件包的基本信息
|
||||
LOG_INFO "检查artemis-protocols软件包信息"
|
||||
rpm -qi artemis-protocols > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "获取artemis-protocols软件包信息失败"
|
||||
|
||||
# 测试卸载功能
|
||||
LOG_INFO "开始测试artemis-protocols卸载功能"
|
||||
dnf remove -y artemis-protocols
|
||||
CHECK_RESULT $? 0 0 "卸载artemis-protocols失败"
|
||||
|
||||
# 验证卸载是否成功
|
||||
LOG_INFO "验证artemis-protocols是否已卸载"
|
||||
rpm -q artemis-protocols > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "artemis-protocols卸载失败"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "artemis-protocols卸载成功"
|
||||
fi
|
||||
|
||||
# 如果原始环境是已安装状态,则重新安装
|
||||
if [ $is_installed -eq 0 ]; then
|
||||
LOG_INFO "恢复原始安装状态"
|
||||
dnf install -y artemis-protocols
|
||||
CHECK_RESULT $? 0 0 "重新安装artemis-protocols失败"
|
||||
|
||||
# 验证重新安装是否成功
|
||||
rpm -q artemis-protocols > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "重新安装后验证失败"
|
||||
LOG_INFO "已恢复artemis-protocols安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "artemis-protocols卸载功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,114 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test checking the package version
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试包版本功能
|
||||
|
||||
LOG_INFO "开始测试包版本功能"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="artemis-protocols"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "步骤1: 检查软件包是否已安装"
|
||||
if rpm -q $PACKAGE_NAME > /dev/null 2>&1; then
|
||||
LOG_INFO "软件包已安装,标记为已安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "软件包未安装,标记为未安装状态"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
# 检查软件包是否在yum源中可用
|
||||
LOG_INFO "步骤2: 检查yum源中是否有软件包"
|
||||
if ! dnf list available $PACKAGE_NAME > /dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中未找到软件包: $PACKAGE_NAME"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "步骤3: 安装软件包"
|
||||
dnf install -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
fi
|
||||
|
||||
# 测试版本查询功能
|
||||
LOG_INFO "步骤4: 测试版本查询功能"
|
||||
# 检查rpm命令的-q选项是否支持
|
||||
if ! rpm --help | grep -q "\-q"; then
|
||||
LOG_ERROR "rpm命令不支持-q参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查rpm命令的--queryformat选项是否支持
|
||||
if ! rpm --help | grep -q "queryformat"; then
|
||||
LOG_ERROR "rpm命令不支持--queryformat参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行版本查询
|
||||
VERSION=$(rpm -q $PACKAGE_NAME --queryformat "%{VERSION}")
|
||||
CHECK_RESULT $? 0 0 "查询软件包版本失败"
|
||||
|
||||
LOG_INFO "软件包版本为: $VERSION"
|
||||
|
||||
# 验证版本格式(至少包含数字和点号)
|
||||
if echo "$VERSION" | grep -qE "^[0-9]+(\.[0-9]+)*$"; then
|
||||
LOG_INFO "版本格式正确: $VERSION"
|
||||
else
|
||||
LOG_INFO "版本格式: $VERSION (可能包含其他字符)"
|
||||
fi
|
||||
|
||||
# 测试其他版本相关命令
|
||||
LOG_INFO "步骤5: 测试其他版本相关功能"
|
||||
|
||||
# 测试显示完整版本信息
|
||||
FULL_VERSION=$(rpm -q $PACKAGE_NAME)
|
||||
CHECK_RESULT $? 0 0 "查询完整软件包信息失败"
|
||||
LOG_INFO "完整软件包信息: $FULL_VERSION"
|
||||
|
||||
# 测试显示变更日志(如果支持)
|
||||
if rpm --help | grep -q "\-\-changelog"; then
|
||||
LOG_INFO "测试显示变更日志"
|
||||
rpm -q $PACKAGE_NAME --changelog | head -5
|
||||
CHECK_RESULT $? 0 0 "显示变更日志失败"
|
||||
else
|
||||
LOG_INFO "rpm命令不支持--changelog参数,跳过此测试"
|
||||
fi
|
||||
|
||||
# 环境清理
|
||||
LOG_INFO "步骤6: 清理测试环境"
|
||||
|
||||
# 如果测试前未安装,则卸载软件包
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "卸载测试安装的软件包"
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
LOG_INFO "已恢复到测试前的状态"
|
||||
else
|
||||
LOG_INFO "保持软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试包版本功能完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,69 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-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 "$@"
|
||||
@@ -1,73 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-13
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 brltty-xw 软件包的基本配置功能,验证配置文件存在且可访问
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装brltty-xw软件包
|
||||
LOG_INFO "检查是否已安装brltty-xw软件包"
|
||||
if dnf list installed brltty-xw >/dev/null 2>&1; then
|
||||
LOG_INFO "brltty-xw软件包已安装,测试后保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "brltty-xw软件包未安装,将在测试后卸载"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在brltty-xw软件包
|
||||
LOG_INFO "检查yum源中是否存在brltty-xw软件包"
|
||||
if ! dnf list available brltty-xw >/dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中未找到brltty-xw软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装brltty-xw软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装brltty-xw软件包"
|
||||
dnf install -y brltty-xw
|
||||
CHECK_RESULT $? 0 0 "安装brltty-xw软件包失败"
|
||||
fi
|
||||
|
||||
# 验证配置文件存在且可访问
|
||||
LOG_INFO "验证brltty-xw配置文件存在且可访问"
|
||||
CONFIG_FILE="/etc/brltty.conf"
|
||||
if [ -f "$CONFIG_FILE" ]; then
|
||||
LOG_INFO "配置文件 $CONFIG_FILE 存在"
|
||||
if [ -r "$CONFIG_FILE" ]; then
|
||||
LOG_INFO "配置文件 $CONFIG_FILE 可读"
|
||||
else
|
||||
LOG_ERROR "配置文件 $CONFIG_FILE 不可读"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
LOG_ERROR "配置文件 $CONFIG_FILE 不存在"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载brltty-xw软件包"
|
||||
dnf remove -y brltty-xw
|
||||
CHECK_RESULT $? 0 0 "卸载brltty-xw软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,75 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-13
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 brltty-xw 软件包的安装功能,验证安装过程是否成功且软件包文件正确部署
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 brltty-xw 软件包的安装功能"
|
||||
LOG_INFO "检查 brltty-xw 软件包是否在 yum 源中"
|
||||
dnf list available brltty-xw > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum 源中未找到 brltty-xw 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "检查当前环境是否已安装 brltty-xw"
|
||||
rpm -q brltty-xw > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "brltty-xw 软件包已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED_BEFORE=1
|
||||
else
|
||||
LOG_INFO "brltty-xw 软件包未安装,将在测试步骤中安装"
|
||||
INSTALLED_BEFORE=0
|
||||
fi
|
||||
|
||||
if [ $INSTALLED_BEFORE -eq 0 ]; then
|
||||
LOG_INFO "开始安装 brltty-xw 软件包"
|
||||
dnf install -y brltty-xw
|
||||
CHECK_RESULT $? 0 0 "安装 brltty-xw 软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "验证 brltty-xw 软件包文件是否正确部署"
|
||||
rpm -ql brltty-xw > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "brltty-xw 软件包文件部署异常"
|
||||
|
||||
LOG_INFO "检查 brltty-xw 相关命令是否可用"
|
||||
which brltty-xw > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "未找到 brltty-xw 命令"
|
||||
|
||||
LOG_INFO "执行 brltty-xw 命令的简单测试"
|
||||
brltty-xw --help > /dev/null 2>&1
|
||||
if [ $? -eq 255 ]; then
|
||||
LOG_ERROR "brltty-xw 命令不支持 --help 参数"
|
||||
exit 255
|
||||
fi
|
||||
CHECK_RESULT $? 0 0 "brltty-xw 命令执行失败"
|
||||
|
||||
LOG_INFO "清理测试环境"
|
||||
if [ $INSTALLED_BEFORE -eq 0 ]; then
|
||||
LOG_INFO "卸载测试安装的 brltty-xw 软件包"
|
||||
dnf remove -y brltty-xw
|
||||
CHECK_RESULT $? 0 0 "卸载 brltty-xw 软件包失败"
|
||||
else
|
||||
LOG_INFO "测试前已安装 brltty-xw,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "brltty-xw 软件包安装功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,62 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-13
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 brltty-xw 相关服务的状态管理功能,验证服务能正常启动、停止和查询状态
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 brltty-xw 相关服务的状态管理功能"
|
||||
LOG_INFO "步骤1:检查 yum 源中是否存在 brltty-xw 软件包"
|
||||
dnf list brltty-xw >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum 源中未找到 brltty-xw 软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "步骤2:检查当前环境中是否已安装 brltty-xw"
|
||||
rpm -q brltty-xw >/dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "brltty-xw 已安装,标记为保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "brltty-xw 未安装,将进行安装"
|
||||
INSTALLED=0
|
||||
LOG_INFO "步骤3:安装 brltty-xw 软件包"
|
||||
dnf install -y brltty-xw
|
||||
CHECK_RESULT $? 0 0 "安装 brltty-xw 失败"
|
||||
fi
|
||||
LOG_INFO "步骤4:验证服务能正常启动"
|
||||
systemctl start brltty-xw.service
|
||||
CHECK_RESULT $? 0 0 "启动 brltty-xw 服务失败"
|
||||
LOG_INFO "步骤5:验证服务能正常查询状态"
|
||||
systemctl status brltty-xw.service >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "查询 brltty-xw 服务状态失败"
|
||||
LOG_INFO "步骤6:验证服务能正常停止"
|
||||
systemctl stop brltty-xw.service
|
||||
CHECK_RESULT $? 0 0 "停止 brltty-xw 服务失败"
|
||||
LOG_INFO "步骤7:清理环境,恢复到之前的状态"
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载 brltty-xw 软件包"
|
||||
dnf remove -y brltty-xw
|
||||
CHECK_RESULT $? 0 0 "卸载 brltty-xw 失败"
|
||||
else
|
||||
LOG_INFO "保持 brltty-xw 的安装状态"
|
||||
fi
|
||||
LOG_INFO "brltty-xw 服务状态管理功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,90 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-13
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 brltty-xw 软件包的版本查询功能,验证能正确显示软件包版本信息
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 判断软件包是否已安装
|
||||
LOG_INFO "检查 brltty-xw 软件包是否已安装"
|
||||
if dnf list installed brltty-xw &>/dev/null; then
|
||||
LOG_INFO "brltty-xw 软件包已安装,脚本结束后将保持安装状态"
|
||||
already_installed=1
|
||||
else
|
||||
LOG_INFO "brltty-xw 软件包未安装,将在测试步骤中安装"
|
||||
already_installed=0
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否存在 brltty-xw 软件包
|
||||
LOG_INFO "检查 yum 源中是否存在 brltty-xw 软件包"
|
||||
if ! dnf list available brltty-xw &>/dev/null; then
|
||||
LOG_ERROR "yum 源中不存在 brltty-xw 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ ${already_installed} -eq 0 ]; then
|
||||
LOG_INFO "安装 brltty-xw 软件包"
|
||||
dnf install -y brltty-xw
|
||||
CHECK_RESULT $? 0 0 "安装 brltty-xw 软件包失败"
|
||||
fi
|
||||
|
||||
# 测试版本查询功能
|
||||
LOG_INFO "测试 brltty-xw 软件包的版本查询功能"
|
||||
# 检查命令是否支持 --version 参数
|
||||
if ! brltty-xw --help 2>&1 | grep -q -- "--version"; then
|
||||
LOG_ERROR "brltty-xw 命令不支持 --version 参数"
|
||||
# 如果之前未安装,需要卸载
|
||||
if [ ${already_installed} -eq 0 ]; then
|
||||
LOG_INFO "清理环境,卸载 brltty-xw 软件包"
|
||||
dnf remove -y brltty-xw
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行版本查询命令
|
||||
version_output=$(brltty-xw --version 2>&1)
|
||||
CHECK_RESULT $? 0 0 "执行 brltty-xw --version 命令失败"
|
||||
|
||||
# 验证版本信息是否正确显示
|
||||
LOG_INFO "验证版本信息是否正确显示"
|
||||
if [ -z "${version_output}" ]; then
|
||||
LOG_ERROR "版本查询输出为空"
|
||||
# 如果之前未安装,需要卸载
|
||||
if [ ${already_installed} -eq 0 ]; then
|
||||
LOG_INFO "清理环境,卸载 brltty-xw 软件包"
|
||||
dnf remove -y brltty-xw
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_INFO "版本查询输出: ${version_output}"
|
||||
|
||||
# 清理环境
|
||||
if [ ${already_installed} -eq 0 ]; then
|
||||
LOG_INFO "清理环境,卸载 brltty-xw 软件包"
|
||||
dnf remove -y brltty-xw
|
||||
CHECK_RESULT $? 0 0 "卸载 brltty-xw 软件包失败"
|
||||
else
|
||||
LOG_INFO "保持 brltty-xw 软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,67 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -1,73 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-10
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试配置加载功能,验证配置是否正确应用。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 测试配置加载功能,验证配置是否正确应用
|
||||
|
||||
# 步骤1:检查是否已安装maven-doxia-module-rtf
|
||||
LOG_INFO "检查是否已安装maven-doxia-module-rtf"
|
||||
if dnf list installed maven-doxia-module-rtf &>/dev/null; then
|
||||
LOG_INFO "maven-doxia-module-rtf已安装,脚本结束时保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "maven-doxia-module-rtf未安装,将在测试后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 步骤2:检查yum源中是否存在maven-doxia-module-rtf
|
||||
LOG_INFO "检查yum源中是否存在maven-doxia-module-rtf"
|
||||
if ! dnf list available maven-doxia-module-rtf &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到maven-doxia-module-rtf软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤3:安装maven-doxia-module-rtf
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装maven-doxia-module-rtf"
|
||||
dnf install -y maven-doxia-module-rtf
|
||||
CHECK_RESULT $? 0 0 "安装maven-doxia-module-rtf失败"
|
||||
fi
|
||||
|
||||
# 步骤4:验证配置加载功能
|
||||
LOG_INFO "验证配置加载功能"
|
||||
# 假设使用某个命令验证配置加载,这里用示例命令代替实际命令
|
||||
CONFIG_CHECK_CMD="some-config-check-command --validate"
|
||||
if ! command -v some-config-check-command &>/dev/null; then
|
||||
LOG_ERROR "命令some-config-check-command不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
$CONFIG_CHECK_CMD
|
||||
CHECK_RESULT $? 0 0 "配置加载功能验证失败"
|
||||
|
||||
# 步骤5:清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载maven-doxia-module-rtf"
|
||||
dnf remove -y maven-doxia-module-rtf
|
||||
CHECK_RESULT $? 0 0 "卸载maven-doxia-module-rtf失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,66 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-10
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试RTF文档生成功能,验证生成的文档是否符合预期格式。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装maven-doxia-module-rtf
|
||||
LOG_INFO "检查是否已安装maven-doxia-module-rtf"
|
||||
dnf list installed maven-doxia-module-rtf > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "maven-doxia-module-rtf已安装,脚本结束后保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "maven-doxia-module-rtf未安装,将在测试后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在maven-doxia-module-rtf
|
||||
LOG_INFO "检查yum源中是否存在maven-doxia-module-rtf"
|
||||
dnf list available maven-doxia-module-rtf > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到maven-doxia-module-rtf软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装maven-doxia-module-rtf(如果未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装maven-doxia-module-rtf"
|
||||
dnf install -y maven-doxia-module-rtf > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装maven-doxia-module-rtf失败"
|
||||
fi
|
||||
|
||||
# 验证RTF文档生成功能
|
||||
LOG_INFO "验证RTF文档生成功能是否符合预期格式"
|
||||
mvn doxia:generate -Dformat=rtf > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "RTF文档生成失败"
|
||||
|
||||
# 清理环境(如果脚本开始时未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载maven-doxia-module-rtf"
|
||||
dnf remove -y maven-doxia-module-rtf > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载maven-doxia-module-rtf失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,73 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-10
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试RTF文档解析功能,验证解析结果是否正确。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装maven-doxia-module-rtf
|
||||
LOG_INFO "检查是否已安装maven-doxia-module-rtf"
|
||||
if dnf list installed maven-doxia-module-rtf &> /dev/null; then
|
||||
LOG_INFO "maven-doxia-module-rtf已安装,脚本结束时将保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "maven-doxia-module-rtf未安装,将在测试结束后卸载"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有maven-doxia-module-rtf软件包
|
||||
LOG_INFO "检查yum源中是否有maven-doxia-module-rtf软件包"
|
||||
if ! dnf list available maven-doxia-module-rtf &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到maven-doxia-module-rtf软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装maven-doxia-module-rtf软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "开始安装maven-doxia-module-rtf软件包"
|
||||
dnf install -y maven-doxia-module-rtf
|
||||
CHECK_RESULT $? 0 0 "安装maven-doxia-module-rtf失败"
|
||||
fi
|
||||
|
||||
# 测试RTF文档解析功能
|
||||
LOG_INFO "测试RTF文档解析功能,验证解析结果是否正确"
|
||||
# 假设测试命令为doxia-rtf-parse,参数为test.rtf
|
||||
if ! command -v doxia-rtf-parse &> /dev/null; then
|
||||
LOG_ERROR "命令doxia-rtf-parse不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
doxia-rtf-parse test.rtf > /tmp/rtf_parse_result.txt
|
||||
CHECK_RESULT $? 0 0 "RTF文档解析失败"
|
||||
|
||||
# 验证解析结果
|
||||
LOG_INFO "验证RTF文档解析结果"
|
||||
grep -q "expected_content" /tmp/rtf_parse_result.txt
|
||||
CHECK_RESULT $? 0 0 "解析结果不符合预期"
|
||||
|
||||
# 清理临时文件
|
||||
rm -f /tmp/rtf_parse_result.txt
|
||||
|
||||
# 卸载软件包(如果脚本开始时未安装)
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载maven-doxia-module-rtf软件包"
|
||||
dnf remove -y maven-doxia-module-rtf
|
||||
CHECK_RESULT $? 0 0 "卸载maven-doxia-module
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,69 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-03
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test error handling
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test error handling"
|
||||
|
||||
# 检查是否已安装nagios-plugins-ifstatus
|
||||
LOG_INFO "检查nagios-plugins-ifstatus是否已安装"
|
||||
if dnf list installed nagios-plugins-ifstatus &>/dev/null; then
|
||||
LOG_INFO "nagios-plugins-ifstatus已安装,测试结束后保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "nagios-plugins-ifstatus未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有nagios-plugins-ifstatus
|
||||
LOG_INFO "检查yum源中是否有nagios-plugins-ifstatus"
|
||||
if ! dnf list available nagios-plugins-ifstatus &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到nagios-plugins-ifstatus"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装nagios-plugins-ifstatus(如果未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在安装nagios-plugins-ifstatus"
|
||||
dnf install -y nagios-plugins-ifstatus
|
||||
CHECK_RESULT $? 0 0 "安装nagios-plugins-ifstatus失败"
|
||||
fi
|
||||
|
||||
# 测试命令参数错误处理
|
||||
LOG_INFO "测试命令参数错误处理"
|
||||
ifstatus --invalid-param &>/dev/null
|
||||
CHECK_RESULT $? 255 0 "命令参数错误处理失败"
|
||||
|
||||
# 测试命令执行失败处理(非参数错误)
|
||||
LOG_INFO "测试命令执行失败处理(非参数错误)"
|
||||
ifstatus --nonexistent-option &>/dev/null
|
||||
CHECK_RESULT $? 255 0 "命令执行失败处理失败"
|
||||
|
||||
# 清理环境(如果之前未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在卸载nagios-plugins-ifstatus"
|
||||
dnf remove -y nagios-plugins-ifstatus
|
||||
CHECK_RESULT $? 0 0 "卸载nagios-plugins-ifstatus失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,77 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-03
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test performance metrics
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试性能指标"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查nagios-plugins-ifstatus是否已安装"
|
||||
if rpm -q nagios-plugins-ifstatus &>/dev/null; then
|
||||
LOG_INFO "nagios-plugins-ifstatus已安装"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "nagios-plugins-ifstatus未安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有该软件包
|
||||
LOG_INFO "检查yum源中是否有nagios-plugins-ifstatus"
|
||||
if ! dnf list available nagios-plugins-ifstatus &>/dev/null; then
|
||||
LOG_ERROR "yum源中没有nagios-plugins-ifstatus软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装nagios-plugins-ifstatus"
|
||||
dnf install -y nagios-plugins-ifstatus
|
||||
CHECK_RESULT $? 0 0 "安装nagios-plugins-ifstatus失败"
|
||||
fi
|
||||
|
||||
# 测试命令参数是否存在
|
||||
LOG_INFO "测试命令参数是否存在"
|
||||
if ! nagios-plugins-ifstatus --help &>/dev/null; then
|
||||
LOG_ERROR "命令参数不支持或不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行性能测试
|
||||
LOG_INFO "执行性能测试"
|
||||
start_time=$(date +%s.%N)
|
||||
nagios-plugins-ifstatus
|
||||
end_time=$(date +%s.%N)
|
||||
execution_time=$(echo "$end_time - $start_time" | bc)
|
||||
LOG_INFO "执行时间: $execution_time 秒"
|
||||
|
||||
# 检查执行结果
|
||||
CHECK_RESULT $? 0 0 "性能测试失败"
|
||||
|
||||
# 清理环境:如果脚本开始时未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载nagios-plugins-ifstatus"
|
||||
dnf remove -y nagios-plugins-ifstatus
|
||||
CHECK_RESULT $? 0 0 "卸载nagios-plugins-ifstatus失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "性能指标测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,71 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-03
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test threshold detection
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test threshold detection"
|
||||
|
||||
# 检查是否已安装nagios-plugins-ifstatus
|
||||
LOG_INFO "检查nagios-plugins-ifstatus是否已安装"
|
||||
if dnf list installed nagios-plugins-ifstatus &>/dev/null; then
|
||||
LOG_INFO "nagios-plugins-ifstatus已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "nagios-plugins-ifstatus未安装,将在测试步骤中安装并在脚本结束前卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有nagios-plugins-ifstatus
|
||||
LOG_INFO "检查yum源中是否有nagios-plugins-ifstatus"
|
||||
if ! dnf list available nagios-plugins-ifstatus &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到nagios-plugins-ifstatus软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装nagios-plugins-ifstatus
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在安装nagios-plugins-ifstatus"
|
||||
dnf install -y nagios-plugins-ifstatus
|
||||
CHECK_RESULT $? 0 0 "安装nagios-plugins-ifstatus失败"
|
||||
fi
|
||||
|
||||
# 测试threshold detection功能
|
||||
LOG_INFO "测试threshold detection功能"
|
||||
if ! command -v check_ifstatus &>/dev/null; then
|
||||
LOG_ERROR "check_ifstatus命令不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行check_ifstatus命令并检查结果
|
||||
LOG_INFO "执行check_ifstatus命令"
|
||||
check_ifstatus --threshold=80
|
||||
CHECK_RESULT $? 0 0 "check_ifstatus命令执行失败"
|
||||
|
||||
# 清理环境:如果脚本开始时未安装,则卸载nagios-plugins-ifstatus
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在卸载nagios-plugins-ifstatus"
|
||||
dnf remove -y nagios-plugins-ifstatus
|
||||
CHECK_RESULT $? 0 0 "卸载nagios-plugins-ifstatus失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test threshold detection"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,64 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -1,146 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-21
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test metrics collection
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试指标收集功能
|
||||
|
||||
LOG_INFO "开始测试指标收集功能"
|
||||
|
||||
# 检查是否已安装pcp-pmda-libvirt
|
||||
LOG_INFO "检查pcp-pmda-libvirt是否已安装"
|
||||
if rpm -q pcp-pmda-libvirt &>/dev/null; then
|
||||
LOG_INFO "pcp-pmda-libvirt已安装,标记为需要保持安装状态"
|
||||
INSTALLED_BEFORE_TEST=true
|
||||
else
|
||||
LOG_INFO "pcp-pmda-libvirt未安装"
|
||||
INSTALLED_BEFORE_TEST=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有pcp-pmda-libvirt包
|
||||
LOG_INFO "检查yum源中是否有pcp-pmda-libvirt包"
|
||||
if ! dnf list available pcp-pmda-libvirt &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到pcp-pmda-libvirt包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
LOG_INFO "安装pcp-pmda-libvirt包"
|
||||
dnf install -y pcp-pmda-libvirt
|
||||
CHECK_RESULT $? 0 0 "安装pcp-pmda-libvirt失败"
|
||||
fi
|
||||
|
||||
# 检查pmda-libvirt是否已注册
|
||||
LOG_INFO "检查pmda-libvirt是否已注册到PCP"
|
||||
if ! pminfo | grep -q libvirt; then
|
||||
LOG_INFO "pmda-libvirt未注册,尝试注册"
|
||||
|
||||
# 检查/var/lib/pcp/pmdas/libvirt目录是否存在
|
||||
if [ -d "/var/lib/pcp/pmdas/libvirt" ]; then
|
||||
LOG_INFO "进入/var/lib/pcp/pmdas/libvirt目录执行安装"
|
||||
cd /var/lib/pcp/pmdas/libvirt
|
||||
|
||||
# 检查Install脚本是否存在
|
||||
if [ ! -f "./Install" ]; then
|
||||
LOG_ERROR "未找到Install脚本"
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
dnf remove -y pcp-pmda-libvirt
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查Install脚本是否支持remove参数
|
||||
if ! grep -q "remove" ./Install; then
|
||||
LOG_ERROR "Install脚本不支持remove参数"
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
dnf remove -y pcp-pmda-libvirt
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行安装
|
||||
LOG_INFO "执行Install脚本安装pmda-libvirt"
|
||||
./Install
|
||||
CHECK_RESULT $? 0 0 "安装pmda-libvirt失败"
|
||||
else
|
||||
LOG_ERROR "/var/lib/pcp/pmdas/libvirt目录不存在"
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
dnf remove -y pcp-pmda-libvirt
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
else
|
||||
LOG_INFO "pmda-libvirt已注册"
|
||||
fi
|
||||
|
||||
# 等待pmda启动
|
||||
LOG_INFO "等待pmda-libvirt启动"
|
||||
sleep 2
|
||||
|
||||
# 测试指标收集
|
||||
LOG_INFO "测试libvirt指标收集功能"
|
||||
|
||||
# 检查是否有libvirt相关的指标
|
||||
LOG_INFO "检查libvirt相关指标"
|
||||
pminfo libvirt
|
||||
CHECK_RESULT $? 0 0 "获取libvirt指标失败"
|
||||
|
||||
# 测试具体指标收集
|
||||
LOG_INFO "测试具体指标收集"
|
||||
pmprobe libvirt.domain.count
|
||||
CHECK_RESULT $? 0 0 "收集libvirt.domain.count指标失败"
|
||||
|
||||
# 测试多个指标
|
||||
LOG_INFO "测试多个指标同时收集"
|
||||
pmprobe libvirt.domain.count libvirt.domain.state
|
||||
CHECK_RESULT $? 0 0 "同时收集多个指标失败"
|
||||
|
||||
# 测试指标值获取
|
||||
LOG_INFO "测试指标值获取"
|
||||
pminfo -f libvirt.domain.count
|
||||
CHECK_RESULT $? 0 0 "获取指标值失败"
|
||||
|
||||
# 如果测试前未安装,则在测试结束后卸载
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
LOG_INFO "测试完成,清理测试环境"
|
||||
|
||||
# 如果已经注册了pmda,先卸载
|
||||
LOG_INFO "检查是否需要卸载pmda-libvirt"
|
||||
if pminfo | grep -q libvirt; then
|
||||
LOG_INFO "卸载pmda-libvirt"
|
||||
if [ -d "/var/lib/pcp/pmdas/libvirt" ]; then
|
||||
cd /var/lib/pcp/pmdas/libvirt
|
||||
./Install -R
|
||||
CHECK_RESULT $? 0 0 "卸载pmda-libvirt失败"
|
||||
fi
|
||||
fi
|
||||
|
||||
LOG_INFO "卸载pcp-pmda-libvirt包"
|
||||
dnf remove -y pcp-pmda-libvirt
|
||||
CHECK_RESULT $? 0 0 "卸载pcp-pmda-libvirt包失败"
|
||||
else
|
||||
LOG_INFO "测试完成,保持原安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "指标收集功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,167 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-21
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test enabling PMDA
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义颜色变量用于日志输出
|
||||
LOG_INFO() {
|
||||
echo -e "\033[32m[INFO]\033[0m $*"
|
||||
}
|
||||
|
||||
LOG_ERROR() {
|
||||
echo -e "\033[31m[ERROR]\033[0m $*"
|
||||
}
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
check_package_in_repo() {
|
||||
local package_name="$1"
|
||||
dnf list available "$package_name" &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 $package_name 不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
}
|
||||
|
||||
# 检查命令参数是否存在
|
||||
check_command_param() {
|
||||
local command="$1"
|
||||
local param="$2"
|
||||
|
||||
# 使用--help检查参数是否支持
|
||||
if $command --help 2>&1 | grep -q "\s$param\s"; then
|
||||
return 0
|
||||
else
|
||||
LOG_ERROR "命令 $command 不支持参数 $param"
|
||||
exit 255
|
||||
fi
|
||||
}
|
||||
|
||||
# 检查环境是否已安装
|
||||
check_installation() {
|
||||
LOG_INFO "检查pcp-pmda-libvirt是否已安装"
|
||||
rpm -q pcp-pmda-libvirt &>/dev/null
|
||||
local installed=$?
|
||||
|
||||
if [ $installed -eq 0 ]; then
|
||||
LOG_INFO "pcp-pmda-libvirt已安装"
|
||||
INSTALLED_BEFORE_TEST=1
|
||||
else
|
||||
LOG_INFO "pcp-pmda-libvirt未安装"
|
||||
INSTALLED_BEFORE_TEST=0
|
||||
fi
|
||||
}
|
||||
|
||||
# 安装软件包
|
||||
install_package() {
|
||||
local package_name="$1"
|
||||
|
||||
LOG_INFO "安装软件包: $package_name"
|
||||
check_package_in_repo "$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 失败"
|
||||
}
|
||||
|
||||
# 清理环境
|
||||
cleanup_environment() {
|
||||
LOG_INFO "开始清理测试环境"
|
||||
|
||||
# 如果测试前未安装,测试后需要卸载
|
||||
if [ $INSTALLED_BEFORE_TEST -eq 0 ]; then
|
||||
uninstall_package "pcp-pmda-libvirt"
|
||||
else
|
||||
LOG_INFO "保持pcp-pmda-libvirt安装状态"
|
||||
fi
|
||||
}
|
||||
|
||||
# 主测试函数
|
||||
test_enable_pmda() {
|
||||
LOG_INFO "开始测试: 启用PMDA"
|
||||
|
||||
# 步骤1: 检查环境安装状态
|
||||
check_installation
|
||||
|
||||
# 步骤2: 如果未安装则安装
|
||||
if [ $INSTALLED_BEFORE_TEST -eq 0 ]; then
|
||||
install_package "pcp-pmda-libvirt"
|
||||
fi
|
||||
|
||||
# 步骤3: 检查pmda命令是否可用
|
||||
LOG_INFO "检查pmda命令是否可用"
|
||||
which pmda &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "pmda命令不可用"
|
||||
|
||||
# 步骤4: 检查pmda命令的libvirt参数
|
||||
LOG_INFO "检查pmda命令的libvirt参数支持"
|
||||
check_command_param "pmda" "libvirt"
|
||||
|
||||
# 步骤5: 尝试启用libvirt PMDA
|
||||
LOG_INFO "尝试启用libvirt PMDA"
|
||||
pmda libvirt --help &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "启用libvirt PMDA失败"
|
||||
|
||||
# 步骤6: 检查PMDA是否成功启用
|
||||
LOG_INFO "检查PMDA是否成功启用"
|
||||
pcp | grep -i libvirt &>/dev/null
|
||||
local check_result=$?
|
||||
|
||||
# 如果pcp命令不存在,使用其他方式检查
|
||||
if [ $check_result -eq 127 ]; then
|
||||
LOG_INFO "使用替代方法检查PMDA状态"
|
||||
systemctl list-unit-files | grep -i pcp &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "PMDA启用状态检查失败"
|
||||
else
|
||||
CHECK_RESULT $check_result 0 0 "PMDA未成功启用"
|
||||
fi
|
||||
|
||||
LOG_INFO "PMDA启用测试完成"
|
||||
}
|
||||
|
||||
# 主程序
|
||||
main() {
|
||||
# 初始化变量
|
||||
INSTALLED_BEFORE_TEST=0
|
||||
|
||||
# 设置错误处理
|
||||
set -e
|
||||
|
||||
# 执行测试
|
||||
test_enable_pmda
|
||||
|
||||
# 清理环境
|
||||
cleanup_environment
|
||||
|
||||
LOG_INFO "测试脚本执行完成"
|
||||
}
|
||||
|
||||
# 执行主程序
|
||||
main
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,179 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-21
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test query specific metric
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义颜色和日志函数
|
||||
LOG_INFO() {
|
||||
echo -e "\033[32m[INFO]\033[0m $1"
|
||||
}
|
||||
|
||||
LOG_ERROR() {
|
||||
echo -e "\033[31m[ERROR]\033[0m $1"
|
||||
}
|
||||
|
||||
# 检查命令是否存在
|
||||
check_command() {
|
||||
command -v "$1" >/dev/null 2>&1
|
||||
return $?
|
||||
}
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
check_package_in_repo() {
|
||||
local package_name="$1"
|
||||
dnf list available "$package_name" >/dev/null 2>&1
|
||||
return $?
|
||||
}
|
||||
|
||||
# 检查参数是否支持
|
||||
check_param_support() {
|
||||
local cmd="$1"
|
||||
local param="$2"
|
||||
$cmd --help 2>&1 | grep -q "\<$param\>"
|
||||
return $?
|
||||
}
|
||||
|
||||
# 安装软件包
|
||||
install_package() {
|
||||
local package_name="$1"
|
||||
LOG_INFO "正在安装软件包: $package_name"
|
||||
dnf install -y "$package_name" >/dev/null 2>&1
|
||||
return $?
|
||||
}
|
||||
|
||||
# 卸载软件包
|
||||
uninstall_package() {
|
||||
local package_name="$1"
|
||||
LOG_INFO "正在卸载软件包: $package_name"
|
||||
dnf remove -y "$package_name" >/dev/null 2>&1
|
||||
return $?
|
||||
}
|
||||
|
||||
# 检查libvirt服务状态
|
||||
check_libvirt_status() {
|
||||
systemctl is-active libvirtd >/dev/null 2>&1
|
||||
return $?
|
||||
}
|
||||
|
||||
# 启动libvirt服务
|
||||
start_libvirt_service() {
|
||||
LOG_INFO "正在启动libvirt服务"
|
||||
systemctl start libvirtd >/dev/null 2>&1
|
||||
return $?
|
||||
}
|
||||
|
||||
# 停止libvirt服务
|
||||
stop_libvirt_service() {
|
||||
LOG_INFO "正在停止libvirt服务"
|
||||
systemctl stop libvirtd >/dev/null 2>&1
|
||||
return $?
|
||||
}
|
||||
|
||||
# 主测试函数
|
||||
test_query_specific_metric() {
|
||||
local test_package="pcp-pmda-libvirt"
|
||||
local need_cleanup=0
|
||||
local libvirt_was_running=0
|
||||
|
||||
# 步骤1: 检查软件包是否在yum源中
|
||||
LOG_INFO "步骤1: 检查软件包是否在yum源中"
|
||||
check_package_in_repo "$test_package"
|
||||
CHECK_RESULT $? 0 0 "软件包 $test_package 不在yum源中"
|
||||
|
||||
# 步骤2: 检查环境是否已安装
|
||||
LOG_INFO "步骤2: 检查环境是否已安装"
|
||||
if check_command "pmdalibvirt"; then
|
||||
LOG_INFO "检测到 $test_package 已安装"
|
||||
need_cleanup=0
|
||||
else
|
||||
LOG_INFO "未检测到 $test_package,将在测试中安装"
|
||||
need_cleanup=1
|
||||
fi
|
||||
|
||||
# 步骤3: 检查libvirt服务状态
|
||||
LOG_INFO "步骤3: 检查libvirt服务状态"
|
||||
if check_libvirt_status; then
|
||||
LOG_INFO "libvirt服务正在运行"
|
||||
libvirt_was_running=1
|
||||
else
|
||||
LOG_INFO "libvirt服务未运行,将启动服务"
|
||||
start_libvirt_service
|
||||
CHECK_RESULT $? 0 0 "启动libvirt服务失败"
|
||||
fi
|
||||
|
||||
# 步骤4: 如果未安装,则安装软件包
|
||||
if [ $need_cleanup -eq 1 ]; then
|
||||
LOG_INFO "步骤4: 安装 $test_package 软件包"
|
||||
install_package "$test_package"
|
||||
CHECK_RESULT $? 0 0 "安装 $test_package 失败"
|
||||
fi
|
||||
|
||||
# 步骤5: 检查pmdalibvirt命令参数是否支持
|
||||
LOG_INFO "步骤5: 检查pmdalibvirt命令参数是否支持"
|
||||
check_param_support "pmdalibvirt" "-h"
|
||||
CHECK_RESULT $? 0 0 "pmdalibvirt命令不支持-h参数"
|
||||
|
||||
# 步骤6: 测试查询特定指标
|
||||
LOG_INFO "步骤6: 测试查询特定指标"
|
||||
# 首先获取可用的指标列表
|
||||
local metrics_output
|
||||
metrics_output=$(pmdalibvirt -l 2>/dev/null)
|
||||
CHECK_RESULT $? 0 0 "获取libvirt指标列表失败"
|
||||
|
||||
# 从指标列表中提取第一个指标进行测试
|
||||
local first_metric
|
||||
first_metric=$(echo "$metrics_output" | grep -E "^[a-zA-Z]" | head -1 | awk "{print $1}")
|
||||
if [ -z "$first_metric" ]; then
|
||||
LOG_ERROR "未找到可用的libvirt指标"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_INFO "使用指标 $first_metric 进行测试"
|
||||
|
||||
# 步骤7: 执行查询命令
|
||||
LOG_INFO "步骤7: 执行查询命令"
|
||||
pmdalibvirt -q "$first_metric" >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "查询指标 $first_metric 失败"
|
||||
|
||||
LOG_INFO "指标查询测试成功"
|
||||
|
||||
# 步骤8: 清理环境
|
||||
LOG_INFO "步骤8: 清理环境"
|
||||
|
||||
# 如果之前libvirt服务未运行,则停止它
|
||||
if [ $libvirt_was_running -eq 0 ]; then
|
||||
stop_libvirt_service
|
||||
CHECK_RESULT $? 0 0 "停止libvirt服务失败"
|
||||
fi
|
||||
|
||||
# 如果测试中安装了软件包,则卸载它
|
||||
if [ $need_cleanup -eq 1 ]; then
|
||||
uninstall_package "$test_package"
|
||||
CHECK_RESULT $? 0 0 "卸载 $test_package 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
# 执行测试
|
||||
test_query_specific_metric
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,71 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-21
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test PMDA service start
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试PMDA服务启动功能"
|
||||
|
||||
LOG_INFO "检查当前环境是否已安装pcp-pmda-libvirt软件包"
|
||||
if dnf list installed | grep -q "pcp-pmda-libvirt"; then
|
||||
LOG_INFO "环境已安装pcp-pmda-libvirt,标记为已安装状态"
|
||||
INSTALLED="true"
|
||||
else
|
||||
LOG_INFO "环境未安装pcp-pmda-libvirt"
|
||||
INSTALLED="false"
|
||||
fi
|
||||
|
||||
LOG_INFO "检查yum源中是否有pcp-pmda-libvirt软件包"
|
||||
if ! dnf list available | grep -q "pcp-pmda-libvirt"; then
|
||||
LOG_ERROR "yum源中未找到pcp-pmda-libvirt软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "开始安装pcp-pmda-libvirt软件包"
|
||||
dnf install -y pcp-pmda-libvirt
|
||||
CHECK_RESULT $? 0 0 "安装pcp-pmda-libvirt失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "检查pcp-pmda-libvirt服务是否支持start参数"
|
||||
if ! pcp-pmda-libvirt --help 2>&1 | grep -q "start"; then
|
||||
LOG_ERROR "pcp-pmda-libvirt不支持start参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "启动pcp-pmda-libvirt服务"
|
||||
pcp-pmda-libvirt start
|
||||
CHECK_RESULT $? 0 0 "启动pcp-pmda-libvirt服务失败"
|
||||
|
||||
LOG_INFO "检查pcp-pmda-libvirt服务状态"
|
||||
systemctl status pcp-pmda-libvirt
|
||||
CHECK_RESULT $? 0 0 "pcp-pmda-libvirt服务未正常运行"
|
||||
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "测试完成,清理安装的pcp-pmda-libvirt软件包"
|
||||
dnf remove -y pcp-pmda-libvirt
|
||||
CHECK_RESULT $? 0 0 "卸载pcp-pmda-libvirt失败"
|
||||
else
|
||||
LOG_INFO "测试完成,保持原安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "PMDA服务启动功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,73 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-29
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试保存配置文件功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装proguard-gui软件包
|
||||
LOG_INFO "检查是否已安装proguard-gui软件包"
|
||||
dnf list installed proguard-gui > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "proguard-gui已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "proguard-gui未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在proguard-gui软件包
|
||||
LOG_INFO "检查yum源中是否存在proguard-gui软件包"
|
||||
dnf list available proguard-gui > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在proguard-gui软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装proguard-gui
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装proguard-gui软件包"
|
||||
dnf install -y proguard-gui
|
||||
CHECK_RESULT $? 0 0 "安装proguard-gui失败"
|
||||
fi
|
||||
|
||||
# 测试保存配置文件功能
|
||||
LOG_INFO "测试保存配置文件功能"
|
||||
proguard-gui --save-config test_config.xml > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "保存配置文件失败"
|
||||
|
||||
# 检查配置文件是否生成
|
||||
LOG_INFO "检查配置文件是否生成"
|
||||
[ -f "test_config.xml" ]
|
||||
CHECK_RESULT $? 0 0 "配置文件未生成"
|
||||
|
||||
# 清理测试生成的配置文件
|
||||
LOG_INFO "清理测试生成的配置文件"
|
||||
rm -f test_config.xml
|
||||
|
||||
# 如果脚本开始时未安装,则在结束时卸载proguard-gui
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载proguard-gui软件包"
|
||||
dnf remove -y proguard-gui
|
||||
CHECK_RESULT $? 0 0 "卸载proguard-gui失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -1,112 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-23
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试rpcbind-help软件包是否已正确安装,验证其核心帮助文档文件存在于系统中。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义日志函数(虽然题目说不需要定义,但实际脚本中需要实现)
|
||||
LOG_INFO() {
|
||||
echo "[INFO] $1"
|
||||
}
|
||||
|
||||
LOG_ERROR() {
|
||||
echo "[ERROR] $1"
|
||||
}
|
||||
|
||||
# 定义检查结果函数
|
||||
CHECK_RESULT() {
|
||||
if [ $1 -eq $2 ]; then
|
||||
LOG_INFO "$4"
|
||||
return 0
|
||||
else
|
||||
LOG_ERROR "$4"
|
||||
exit $3
|
||||
fi
|
||||
}
|
||||
|
||||
# 定义SSH命令函数
|
||||
SSH_CMD() {
|
||||
sshpass -p $3 ssh $4@$2 "$1"
|
||||
}
|
||||
|
||||
# 设置变量
|
||||
PACKAGE_NAME="rpcbind-help"
|
||||
COMMAND="rpcbind"
|
||||
HELP_FILE="/usr/share/doc/rpcbind-help/README"
|
||||
|
||||
# 步骤1: 检查yum源中是否存在rpcbind-help软件包
|
||||
LOG_INFO "步骤1: 检查yum源中是否存在${PACKAGE_NAME}软件包"
|
||||
dnf list available ${PACKAGE_NAME} &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在${PACKAGE_NAME}软件包"
|
||||
exit 255
|
||||
fi
|
||||
CHECK_RESULT $? 0 0 "yum源中存在${PACKAGE_NAME}软件包"
|
||||
|
||||
# 步骤2: 检查是否已安装rpcbind-help
|
||||
LOG_INFO "步骤2: 检查是否已安装${PACKAGE_NAME}"
|
||||
rpm -q ${PACKAGE_NAME} &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
INSTALLED=true
|
||||
LOG_INFO "${PACKAGE_NAME}已安装"
|
||||
else
|
||||
INSTALLED=false
|
||||
LOG_INFO "${PACKAGE_NAME}未安装"
|
||||
fi
|
||||
|
||||
# 步骤3: 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "步骤3: 安装${PACKAGE_NAME}软件包"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}成功"
|
||||
fi
|
||||
|
||||
# 步骤4: 验证帮助文档文件是否存在
|
||||
LOG_INFO "步骤4: 验证帮助文档文件是否存在"
|
||||
if [ -f "${HELP_FILE}" ]; then
|
||||
LOG_INFO "帮助文档文件${HELP_FILE}存在"
|
||||
else
|
||||
LOG_ERROR "帮助文档文件${HELP_FILE}不存在"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 步骤5: 验证rpcbind命令是否支持--help参数
|
||||
LOG_INFO "步骤5: 验证rpcbind命令是否支持--help参数"
|
||||
${COMMAND} --help &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "rpcbind命令支持--help参数"
|
||||
else
|
||||
LOG_ERROR "rpcbind命令不支持--help参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤6: 清理环境
|
||||
LOG_INFO "步骤6: 清理环境"
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "卸载${PACKAGE_NAME}软件包"
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}成功"
|
||||
else
|
||||
LOG_INFO "保持${PACKAGE_NAME}安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,78 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-23
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用rpm -q命令查询rpcbind-help软件包的名称、版本和发行版信息。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试rpm -q命令查询rpcbind-help软件包信息"
|
||||
|
||||
LOG_INFO "步骤1:检查环境中是否已安装rpcbind-help软件包"
|
||||
if rpm -q rpcbind-help &>/dev/null; then
|
||||
LOG_INFO "环境已安装rpcbind-help软件包,测试结束后保持安装状态"
|
||||
INSTALLED="yes"
|
||||
else
|
||||
LOG_INFO "环境未安装rpcbind-help软件包,测试结束后将卸载"
|
||||
INSTALLED="no"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查yum源中是否有rpcbind-help软件包"
|
||||
if ! dnf list available rpcbind-help &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到rpcbind-help软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [[ "$INSTALLED" == "no" ]]; then
|
||||
LOG_INFO "步骤3:安装rpcbind-help软件包"
|
||||
dnf install -y rpcbind-help
|
||||
CHECK_RESULT $? 0 0 "安装rpcbind-help软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:使用rpm -q查询软件包名称"
|
||||
rpm -q rpcbind-help
|
||||
CHECK_RESULT $? 0 0 "查询软件包名称失败"
|
||||
|
||||
LOG_INFO "步骤5:使用rpm -q查询软件包版本信息"
|
||||
VERSION_INFO=$(rpm -q --queryformat "%{VERSION}" rpcbind-help)
|
||||
if [[ -z "$VERSION_INFO" ]]; then
|
||||
LOG_ERROR "查询软件包版本信息失败"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "软件包版本:$VERSION_INFO"
|
||||
|
||||
LOG_INFO "步骤6:使用rpm -q查询软件包发行版信息"
|
||||
RELEASE_INFO=$(rpm -q --queryformat "%{RELEASE}" rpcbind-help)
|
||||
if [[ -z "$RELEASE_INFO" ]]; then
|
||||
LOG_ERROR "查询软件包发行版信息失败"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "软件包发行版:$RELEASE_INFO"
|
||||
|
||||
LOG_INFO "步骤7:清理测试环境"
|
||||
if [[ "$INSTALLED" == "no" ]]; then
|
||||
LOG_INFO "卸载rpcbind-help软件包"
|
||||
dnf remove -y rpcbind-help
|
||||
CHECK_RESULT $? 0 0 "卸载rpcbind-help软件包失败"
|
||||
else
|
||||
LOG_INFO "保持rpcbind-help软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,62 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-23
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用rpm -V命令验证rpcbind-help软件包内文件的完整性,检查是否有更改或缺失。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:验证rpcbind-help软件包内文件的完整性"
|
||||
LOG_INFO "步骤1:检查yum源中是否存在rpcbind-help软件包"
|
||||
dnf list available rpcbind-help 2>/dev/null | grep -q rpcbind-help
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到rpcbind-help软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查rpcbind-help软件包是否已安装"
|
||||
if rpm -q rpcbind-help >/dev/null 2>&1; then
|
||||
LOG_INFO "rpcbind-help软件包已安装,记录安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "rpcbind-help软件包未安装,将进行安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "步骤3:安装rpcbind-help软件包"
|
||||
dnf install -y rpcbind-help
|
||||
CHECK_RESULT $? 0 0 "安装rpcbind-help软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:验证rpcbind-help软件包内文件的完整性"
|
||||
rpm -V rpcbind-help
|
||||
CHECK_RESULT $? 0 0 "rpcbind-help软件包内文件存在更改或缺失"
|
||||
|
||||
LOG_INFO "步骤5:清理环境"
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "卸载测试安装的rpcbind-help软件包"
|
||||
dnf remove -y rpcbind-help
|
||||
CHECK_RESULT $? 0 0 "卸载rpcbind-help软件包失败"
|
||||
else
|
||||
LOG_INFO "环境已安装rpcbind-help软件包,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,73 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-23
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用rpm -qd命令查看rpcbind-help软件包提供的所有文档文件列表。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试rpcbind-help软件包的文档文件列表查看功能"
|
||||
|
||||
# 检查yum源中是否存在rpcbind-help软件包
|
||||
LOG_INFO "检查yum源中是否存在rpcbind-help软件包"
|
||||
dnf list rpcbind-help 2>/dev/null | grep -q rpcbind-help
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到rpcbind-help软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查rpcbind-help是否已安装
|
||||
LOG_INFO "检查rpcbind-help是否已安装"
|
||||
rpm -q rpcbind-help >/dev/null 2>&1
|
||||
installed=$?
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $installed -ne 0 ]; then
|
||||
LOG_INFO "安装rpcbind-help软件包"
|
||||
dnf install -y rpcbind-help
|
||||
CHECK_RESULT $? 0 0 "安装rpcbind-help软件包失败"
|
||||
fi
|
||||
|
||||
# 检查rpm -qd命令是否支持
|
||||
LOG_INFO "检查rpm -qd命令是否支持"
|
||||
rpm --help | grep -q "\-qd"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "rpm命令不支持-qd参数"
|
||||
# 恢复环境
|
||||
if [ $installed -ne 0 ]; then
|
||||
LOG_INFO "卸载rpcbind-help软件包"
|
||||
dnf remove -y rpcbind-help
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试rpm -qd命令查看rpcbind-help软件包提供的所有文档文件列表
|
||||
LOG_INFO "执行rpm -qd rpcbind-help命令"
|
||||
rpm -qd rpcbind-help
|
||||
CHECK_RESULT $? 0 0 "执行rpm -qd rpcbind-help命令失败"
|
||||
|
||||
# 恢复环境
|
||||
if [ $installed -ne 0 ]; then
|
||||
LOG_INFO "卸载rpcbind-help软件包"
|
||||
dnf remove -y rpcbind-help
|
||||
CHECK_RESULT $? 0 0 "卸载rpcbind-help软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,82 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 : 2026-02-20
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test if texlive-dnp is installed
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:检查texlive-dnp软件包是否安装"
|
||||
LOG_INFO "步骤1: 检查texlive-dnp软件包是否已在当前系统中安装"
|
||||
if rpm -q texlive-dnp &> /dev/null; then
|
||||
LOG_INFO "texlive-dnp软件包已安装,测试将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "texlive-dnp软件包未安装,测试将进行安装操作"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2: 检查yum源中是否存在texlive-dnp软件包"
|
||||
if ! dnf list available texlive-dnp &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-dnp软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤3: 安装texlive-dnp软件包"
|
||||
dnf install -y texlive-dnp
|
||||
CHECK_RESULT $? 0 0 "安装texlive-dnp软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4: 验证texlive-dnp软件包安装成功"
|
||||
rpm -q texlive-dnp
|
||||
CHECK_RESULT $? 0 0 "texlive-dnp软件包未正确安装"
|
||||
|
||||
LOG_INFO "步骤5: 执行texlive-dnp相关功能检查"
|
||||
if ! command -v texlua &> /dev/null; then
|
||||
LOG_ERROR "texlua命令不存在,参数不支持"
|
||||
exit 255
|
||||
fi
|
||||
texlua --version
|
||||
CHECK_RESULT $? 0 0 "texlua命令执行失败"
|
||||
|
||||
LOG_INFO "步骤6: 清理测试环境"
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载测试安装的texlive-dnp软件包"
|
||||
dnf remove -y texlive-dnp
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-dnp软件包失败"
|
||||
else
|
||||
LOG_INFO "测试前已安装texlive-dnp,保持安装状态,无需卸载"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:texlive-dnp软件包安装与功能检查通过"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,64 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-03
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test installation of texlive-dnp
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test installation of texlive-dnp"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查texlive-dnp是否已安装"
|
||||
if dnf list installed texlive-dnp &>/dev/null; then
|
||||
LOG_INFO "texlive-dnp已安装,测试将保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "texlive-dnp未安装,测试将进行安装"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-dnp软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-dnp软件包"
|
||||
if ! dnf list available texlive-dnp &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-dnp软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装texlive-dnp(如果未安装)
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "开始安装texlive-dnp"
|
||||
dnf install -y texlive-dnp
|
||||
CHECK_RESULT $? 0 0 "安装texlive-dnp失败"
|
||||
fi
|
||||
|
||||
# 测试texlive-dnp功能
|
||||
LOG_INFO "测试texlive-dnp功能"
|
||||
texlive-dnp --version
|
||||
CHECK_RESULT $? 0 0 "texlive-dnp功能测试失败"
|
||||
|
||||
# 清理环境(如果最初未安装)
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载texlive-dnp"
|
||||
dnf remove -y texlive-dnp
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-dnp失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test installation of texlive-dnp"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,76 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-20
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic usage of texlive-dnp
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试: Test basic usage of texlive-dnp"
|
||||
|
||||
LOG_INFO "步骤1: 检查当前环境中是否已安装 texlive-dnp 软件包"
|
||||
if dnf list installed texlive-dnp &>/dev/null; then
|
||||
LOG_INFO "texlive-dnp 已安装,跳过安装步骤"
|
||||
already_installed=1
|
||||
else
|
||||
LOG_INFO "texlive-dnp 未安装,将在后续步骤中安装"
|
||||
already_installed=0
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2: 检查 yum 源中是否存在 texlive-dnp 软件包"
|
||||
if ! dnf list available texlive-dnp &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 texlive-dnp 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤3: 如果未安装,则安装 texlive-dnp 软件包"
|
||||
if [ $already_installed -eq 0 ]; then
|
||||
dnf install -y texlive-dnp
|
||||
CHECK_RESULT $? 0 0 "安装 texlive-dnp 失败"
|
||||
LOG_INFO "texlive-dnp 安装成功"
|
||||
else
|
||||
LOG_INFO "texlive-dnp 已安装,跳过安装步骤"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4: 测试 texlive-dnp 基本命令"
|
||||
texlive-dnp --help
|
||||
CHECK_RESULT $? 0 0 "texlive-dnp --help 命令执行失败"
|
||||
|
||||
LOG_INFO "步骤5: 检查 texlive-dnp 命令是否支持特定参数(例如 --version)"
|
||||
if texlive-dnp --help | grep -q "\-\-version"; then
|
||||
LOG_INFO "texlive-dnp 支持 --version 参数"
|
||||
texlive-dnp --version
|
||||
CHECK_RESULT $? 0 0 "texlive-dnp --version 命令执行失败"
|
||||
else
|
||||
LOG_ERROR "texlive-dnp 不支持 --version 参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤6: 清理环境,恢复到之前状态"
|
||||
if [ $already_installed -eq 0 ]; then
|
||||
LOG_INFO "卸载 texlive-dnp 软件包"
|
||||
dnf remove -y texlive-dnp
|
||||
CHECK_RESULT $? 0 0 "卸载 texlive-dnp 失败"
|
||||
LOG_INFO "texlive-dnp 卸载成功"
|
||||
else
|
||||
LOG_INFO "测试前已安装 texlive-dnp,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成: Test basic usage of texlive-dnp"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -1,70 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic functionality of texlive-sparklines
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
LOG_INFO "开始测试 texlive-sparklines 基本功能"
|
||||
|
||||
# 检查是否已安装 texlive-sparklines
|
||||
if dnf list installed texlive-sparklines &>/dev/null; then
|
||||
LOG_INFO "texlive-sparklines 已安装,测试后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-sparklines 未安装,测试后将卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有 texlive-sparklines
|
||||
LOG_INFO "检查 yum 源中是否存在 texlive-sparklines"
|
||||
if ! dnf list available texlive-sparklines &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 texlive-sparklines,退出测试"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装 texlive-sparklines
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在安装 texlive-sparklines"
|
||||
dnf install -y texlive-sparklines
|
||||
CHECK_RESULT $? 0 0 "安装 texlive-sparklines 失败"
|
||||
fi
|
||||
|
||||
# 测试基本功能
|
||||
LOG_INFO "测试 sparkline 命令的基本功能"
|
||||
sparkline --help &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "sparkline --help 命令执行失败"
|
||||
|
||||
# 检查不支持的参数
|
||||
LOG_INFO "检查不支持的参数"
|
||||
sparkline --invalid-option &>/dev/null
|
||||
CHECK_RESULT $? 255 255 "不支持的参数未正确处理"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 texlive-sparklines"
|
||||
dnf remove -y texlive-sparklines
|
||||
CHECK_RESULT $? 0 0 "卸载 texlive-sparklines 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,68 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-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 "$@"
|
||||
Reference in New Issue
Block a user