update testcase for testsuite rubygem-pg-doc
This commit is contained in:
@@ -7,29 +7,9 @@
|
||||
"desc": "测试 rubygem-pg-doc 软件包的安装功能,验证是否能够正确安装到系统中",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_rubygem-pg-doc_function_doc_access",
|
||||
"desc": "测试 rubygem-pg-doc 软件包的文档访问功能,验证是否能够正确访问文档内容"
|
||||
},
|
||||
{
|
||||
"name": "test_rubygem-pg-doc_function_install",
|
||||
"desc": "测试软件包安装功能,验证是否能成功安装到系统中"
|
||||
},
|
||||
{
|
||||
"name": "test_rubygem-pg-doc_function_uninstall",
|
||||
"desc": "测试软件包卸载功能,验证是否能完全从系统中移除"
|
||||
},
|
||||
{
|
||||
"name": "test_rubygem-pg-doc_function_doc_integrity",
|
||||
"desc": "测试文档完整性,验证核心文档文件是否存在且可读"
|
||||
},
|
||||
{
|
||||
"name": "test_rubygem-pg-doc_function_doc_usage",
|
||||
"desc": "测试文档内容,验证关键API文档示例代码的可访问性"
|
||||
},
|
||||
{
|
||||
"name": "test_rubygem-pg-doc_function_version",
|
||||
"desc": "测试版本查询功能,验证安装的文档包版本信息是否正确"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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-04
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 rubygem-pg-doc 软件包的文档访问功能,验证是否能够正确访问文档内容
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装 rubygem-pg-doc 软件包
|
||||
LOG_INFO "检查 rubygem-pg-doc 软件包是否已安装"
|
||||
if dnf list installed rubygem-pg-doc &>/dev/null; then
|
||||
LOG_INFO "rubygem-pg-doc 软件包已安装"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "rubygem-pg-doc 软件包未安装"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有 rubygem-pg-doc 软件包
|
||||
LOG_INFO "检查 yum 源中是否有 rubygem-pg-doc 软件包"
|
||||
if ! dnf list available rubygem-pg-doc &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 rubygem-pg-doc 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装 rubygem-pg-doc 软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装 rubygem-pg-doc 软件包"
|
||||
dnf install -y rubygem-pg-doc
|
||||
CHECK_RESULT $? 0 0 "安装 rubygem-pg-doc 软件包失败"
|
||||
fi
|
||||
|
||||
# 验证文档访问功能
|
||||
LOG_INFO "验证 rubygem-pg-doc 软件包的文档访问功能"
|
||||
if [ -d "/usr/share/doc/rubygem-pg-doc" ]; then
|
||||
LOG_INFO "文档目录存在,尝试访问文档"
|
||||
ls /usr/share/doc/rubygem-pg-doc
|
||||
CHECK_RESULT $? 0 0 "访问 rubygem-pg-doc 文档失败"
|
||||
else
|
||||
LOG_ERROR "rubygem-pg-doc 文档目录不存在"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 如果脚本开始时未安装 rubygem-pg-doc,则在结束时卸载
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载 rubygem-pg-doc 软件包"
|
||||
dnf remove -y rubygem-pg-doc
|
||||
CHECK_RESULT $? 0 0 "卸载 rubygem-pg-doc 软件包失败"
|
||||
fi
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,104 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-09
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试文档完整性,验证核心文档文件是否存在且可读
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="rubygem-pg-doc"
|
||||
|
||||
# 步骤1:检查软件包是否在yum源中
|
||||
LOG_INFO "检查软件包 $PACKAGE_NAME 是否在yum源中"
|
||||
dnf list available $PACKAGE_NAME >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 $PACKAGE_NAME 不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤2:检查软件包是否已安装
|
||||
LOG_INFO "检查软件包 $PACKAGE_NAME 是否已安装"
|
||||
if rpm -q $PACKAGE_NAME >/dev/null 2>&1; then
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 已安装,标记为需要保持安装状态"
|
||||
KEEP_INSTALLED=true
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 未安装,标记为需要测试安装"
|
||||
KEEP_INSTALLED=false
|
||||
fi
|
||||
|
||||
# 步骤3:如果未安装,则安装软件包
|
||||
if [ "$KEEP_INSTALLED" = "false" ]; then
|
||||
LOG_INFO "安装软件包 $PACKAGE_NAME"
|
||||
dnf install -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
|
||||
fi
|
||||
|
||||
# 步骤4:获取软件包安装的文件列表
|
||||
LOG_INFO "获取软件包 $PACKAGE_NAME 安装的文件列表"
|
||||
INSTALLED_FILES=$(rpm -ql $PACKAGE_NAME 2>/dev/null)
|
||||
if [ -z "$INSTALLED_FILES" ]; then
|
||||
LOG_ERROR "无法获取软件包 $PACKAGE_NAME 的文件列表"
|
||||
if [ "$KEEP_INSTALLED" = "false" ]; then
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 步骤5:检查文档文件是否存在且可读
|
||||
LOG_INFO "检查软件包 $PACKAGE_NAME 的文档文件是否存在且可读"
|
||||
DOC_FILES=$(echo "$INSTALLED_FILES" | grep -E "\.(md|txt|html|pdf|info)$" | head -5)
|
||||
if [ -z "$DOC_FILES" ]; then
|
||||
LOG_INFO "未找到常见的文档文件,检查所有安装文件的可读性"
|
||||
DOC_FILES=$(echo "$INSTALLED_FILES" | head -10)
|
||||
fi
|
||||
|
||||
ALL_FILES_READABLE=true
|
||||
for file in $DOC_FILES; do
|
||||
if [ ! -f "$file" ]; then
|
||||
LOG_ERROR "文件 $file 不存在"
|
||||
ALL_FILES_READABLE=false
|
||||
elif [ ! -r "$file" ]; then
|
||||
LOG_ERROR "文件 $file 不可读"
|
||||
ALL_FILES_READABLE=false
|
||||
else
|
||||
LOG_INFO "文件 $file 存在且可读"
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "$ALL_FILES_READABLE" = "false" ]; then
|
||||
LOG_ERROR "文档完整性检查失败"
|
||||
CHECK_RESULT 1 0 0 "文档完整性检查失败"
|
||||
else
|
||||
LOG_INFO "文档完整性检查通过"
|
||||
CHECK_RESULT 0 0 0 "文档完整性检查通过"
|
||||
fi
|
||||
|
||||
# 步骤6:环境清理
|
||||
LOG_INFO "开始环境清理"
|
||||
if [ "$KEEP_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,87 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-09
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包安装功能,验证是否能成功安装到系统中
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义测试软件包名称
|
||||
PACKAGE_NAME="rubygem-pg-doc"
|
||||
LOG_INFO "开始测试软件包安装功能,验证是否能成功安装到系统中"
|
||||
|
||||
# 检查是否已经安装
|
||||
LOG_INFO "步骤1: 检查软件包是否已经安装"
|
||||
if rpm -q ${PACKAGE_NAME} &>/dev/null; then
|
||||
LOG_INFO "软件包 ${PACKAGE_NAME} 已安装,测试完成后将保持安装状态"
|
||||
ALREADY_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "软件包 ${PACKAGE_NAME} 未安装,将在测试过程中安装"
|
||||
ALREADY_INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在该软件包
|
||||
LOG_INFO "步骤2: 检查yum源中是否存在软件包 ${PACKAGE_NAME}"
|
||||
dnf list available ${PACKAGE_NAME} &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在软件包 ${PACKAGE_NAME}"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum源中存在软件包 ${PACKAGE_NAME}"
|
||||
|
||||
# 如果未安装,则进行安装测试
|
||||
if [ ${ALREADY_INSTALLED} -eq 0 ]; then
|
||||
LOG_INFO "步骤3: 安装软件包 ${PACKAGE_NAME}"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
LOG_INFO "软件包 ${PACKAGE_NAME} 安装成功"
|
||||
|
||||
# 验证安装是否成功
|
||||
LOG_INFO "步骤4: 验证软件包是否安装成功"
|
||||
rpm -q ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "软件包未正确安装"
|
||||
LOG_INFO "软件包验证成功"
|
||||
fi
|
||||
|
||||
# 测试软件包基本功能(此处以查询包信息为例)
|
||||
LOG_INFO "步骤5: 测试软件包基本功能"
|
||||
rpm -qi ${PACKAGE_NAME} &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "查询软件包信息失败"
|
||||
LOG_INFO "软件包基本功能测试通过"
|
||||
|
||||
# 环境恢复:如果测试前未安装,则卸载软件包
|
||||
if [ ${ALREADY_INSTALLED} -eq 0 ]; then
|
||||
LOG_INFO "步骤6: 清理测试环境,卸载软件包"
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
LOG_INFO "软件包卸载成功"
|
||||
|
||||
# 验证卸载是否成功
|
||||
rpm -q ${PACKAGE_NAME} &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "软件包卸载后仍然存在"
|
||||
exit 1
|
||||
fi
|
||||
LOG_INFO "环境恢复完成,软件包已成功卸载"
|
||||
else
|
||||
LOG_INFO "步骤6: 测试前已安装软件包,保持安装状态,无需清理"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:软件包安装功能验证成功"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,78 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-09
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包卸载功能,验证是否能完全从系统中移除
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
LOG_INFO "检查yum源中是否存在rubygem-pg-doc软件包"
|
||||
if ! dnf list available rubygem-pg-doc &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到rubygem-pg-doc软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查rubygem-pg-doc是否已安装"
|
||||
if rpm -q rubygem-pg-doc &>/dev/null; then
|
||||
LOG_INFO "检测到rubygem-pg-doc已安装,标记为保持安装状态"
|
||||
KEEP_INSTALLED=true
|
||||
else
|
||||
LOG_INFO "rubygem-pg-doc未安装,标记为需要清理"
|
||||
KEEP_INSTALLED=false
|
||||
fi
|
||||
|
||||
# 如果未安装,则执行安装作为测试步骤
|
||||
if [ "$KEEP_INSTALLED" = "false" ]; then
|
||||
LOG_INFO "开始安装rubygem-pg-doc软件包"
|
||||
dnf install -y rubygem-pg-doc
|
||||
CHECK_RESULT $? 0 0 "安装rubygem-pg-doc失败"
|
||||
LOG_INFO "rubygem-pg-doc安装成功"
|
||||
fi
|
||||
|
||||
# 测试卸载功能
|
||||
LOG_INFO "开始测试软件包卸载功能"
|
||||
dnf remove -y rubygem-pg-doc
|
||||
CHECK_RESULT $? 0 0 "卸载rubygem-pg-doc失败"
|
||||
LOG_INFO "rubygem-pg-doc卸载成功"
|
||||
|
||||
# 验证软件包是否完全移除
|
||||
LOG_INFO "验证软件包是否完全从系统中移除"
|
||||
if rpm -q rubygem-pg-doc &>/dev/null; then
|
||||
LOG_ERROR "软件包未完全移除"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "验证通过:软件包已完全移除"
|
||||
fi
|
||||
|
||||
# 环境恢复:如果最初未安装,则保持卸载状态;如果最初已安装,则重新安装
|
||||
if [ "$KEEP_INSTALLED" = "true" ]; then
|
||||
LOG_INFO "恢复环境:重新安装rubygem-pg-doc"
|
||||
dnf install -y rubygem-pg-doc
|
||||
CHECK_RESULT $? 0 0 "重新安装rubygem-pg-doc失败"
|
||||
LOG_INFO "环境恢复完成,rubygem-pg-doc已重新安装"
|
||||
else
|
||||
LOG_INFO "环境恢复:保持卸载状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,78 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-09
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试版本查询功能,验证安装的文档包版本信息是否正确
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试rubygem-pg-doc版本查询功能"
|
||||
|
||||
# 检查yum源中是否有rubygem-pg-doc包
|
||||
LOG_INFO "检查yum源中是否有rubygem-pg-doc包"
|
||||
if ! dnf list available rubygem-pg-doc &>/dev/null; then
|
||||
LOG_ERROR "yum源中没有找到rubygem-pg-doc包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查系统是否已安装rubygem-pg-doc
|
||||
LOG_INFO "检查系统是否已安装rubygem-pg-doc"
|
||||
if rpm -q rubygem-pg-doc &>/dev/null; then
|
||||
already_installed=true
|
||||
LOG_INFO "rubygem-pg-doc已安装,脚本结束后保持安装状态"
|
||||
else
|
||||
already_installed=false
|
||||
LOG_INFO "rubygem-pg-doc未安装,开始安装"
|
||||
|
||||
# 安装rubygem-pg-doc
|
||||
LOG_INFO "安装rubygem-pg-doc包"
|
||||
dnf install -y rubygem-pg-doc
|
||||
CHECK_RESULT $? 0 0 "安装rubygem-pg-doc失败"
|
||||
fi
|
||||
|
||||
# 测试版本查询功能
|
||||
LOG_INFO "测试版本查询功能"
|
||||
rpm_version=$(rpm -q --queryformat="%{VERSION}-%{RELEASE}" rubygem-pg-doc 2>/dev/null)
|
||||
CHECK_RESULT $? 0 0 "查询rubygem-pg-doc版本信息失败"
|
||||
|
||||
# 验证版本信息是否正确
|
||||
LOG_INFO "验证版本信息是否正确"
|
||||
if [[ -n "$rpm_version" ]]; then
|
||||
LOG_INFO "rubygem-pg-doc版本信息: $rpm_version"
|
||||
# 这里可以添加具体的版本验证逻辑,比如与预期版本比较
|
||||
# 例如: CHECK_RESULT "$rpm_version" "1.4.6-1" 0 "版本信息不匹配"
|
||||
else
|
||||
LOG_ERROR "获取的版本信息为空"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 环境清理
|
||||
LOG_INFO "开始环境清理"
|
||||
if [[ "$already_installed" == "false" ]]; then
|
||||
LOG_INFO "卸载测试安装的rubygem-pg-doc包"
|
||||
dnf remove -y rubygem-pg-doc
|
||||
CHECK_RESULT $? 0 0 "卸载rubygem-pg-doc失败"
|
||||
else
|
||||
LOG_INFO "保持原有安装状态,不进行卸载"
|
||||
fi
|
||||
|
||||
LOG_INFO "rubygem-pg-doc版本查询功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
Reference in New Issue
Block a user