update testcase for testsuite rubygem-pg-doc

This commit is contained in:
2026-04-17 05:01:17 +08:00
parent cb9bb9be04
commit afeb2bb2b1
6 changed files with 0 additions and 433 deletions

View File

@@ -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": "测试版本查询功能,验证安装的文档包版本信息是否正确"
}
]
}

View File

@@ -1,66 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-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 "$@"

View File

@@ -1,104 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-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 "$@"

View File

@@ -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 "$@"

View File

@@ -1,78 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-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 "$@"

View File

@@ -1,78 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-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 "$@"