From afeb2bb2b128283b5cc0754841f9f3352b1187a8 Mon Sep 17 00:00:00 2001 From: honghua Date: Fri, 17 Apr 2026 05:01:17 +0800 Subject: [PATCH] update testcase for testsuite rubygem-pg-doc --- .../pkg_test/rubygem-pg/rubygem-pg-doc.json | 20 ---- ...test_rubygem-pg-doc_function_doc_access.sh | 66 ----------- ...t_rubygem-pg-doc_function_doc_integrity.sh | 104 ------------------ .../test_rubygem-pg-doc_function_install.sh | 87 --------------- .../test_rubygem-pg-doc_function_uninstall.sh | 78 ------------- .../test_rubygem-pg-doc_function_version.sh | 78 ------------- 6 files changed, 433 deletions(-) delete mode 100644 testcases/function_test/pkg_test/rubygem-pg/rubygem-pg-doc/test_rubygem-pg-doc_function_doc_access.sh delete mode 100644 testcases/function_test/pkg_test/rubygem-pg/rubygem-pg-doc/test_rubygem-pg-doc_function_doc_integrity.sh delete mode 100644 testcases/function_test/pkg_test/rubygem-pg/rubygem-pg-doc/test_rubygem-pg-doc_function_install.sh delete mode 100644 testcases/function_test/pkg_test/rubygem-pg/rubygem-pg-doc/test_rubygem-pg-doc_function_uninstall.sh delete mode 100644 testcases/function_test/pkg_test/rubygem-pg/rubygem-pg-doc/test_rubygem-pg-doc_function_version.sh diff --git a/suite2cases/function_test/pkg_test/rubygem-pg/rubygem-pg-doc.json b/suite2cases/function_test/pkg_test/rubygem-pg/rubygem-pg-doc.json index dc01e78a707..e7b817da5ba 100644 --- a/suite2cases/function_test/pkg_test/rubygem-pg/rubygem-pg-doc.json +++ b/suite2cases/function_test/pkg_test/rubygem-pg/rubygem-pg-doc.json @@ -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": "测试版本查询功能,验证安装的文档包版本信息是否正确" } ] } \ No newline at end of file diff --git a/testcases/function_test/pkg_test/rubygem-pg/rubygem-pg-doc/test_rubygem-pg-doc_function_doc_access.sh b/testcases/function_test/pkg_test/rubygem-pg/rubygem-pg-doc/test_rubygem-pg-doc_function_doc_access.sh deleted file mode 100644 index e5c1bd47cf5..00000000000 --- a/testcases/function_test/pkg_test/rubygem-pg/rubygem-pg-doc/test_rubygem-pg-doc_function_doc_access.sh +++ /dev/null @@ -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 "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/rubygem-pg/rubygem-pg-doc/test_rubygem-pg-doc_function_doc_integrity.sh b/testcases/function_test/pkg_test/rubygem-pg/rubygem-pg-doc/test_rubygem-pg-doc_function_doc_integrity.sh deleted file mode 100644 index 698ed21b779..00000000000 --- a/testcases/function_test/pkg_test/rubygem-pg/rubygem-pg-doc/test_rubygem-pg-doc_function_doc_integrity.sh +++ /dev/null @@ -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 "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/rubygem-pg/rubygem-pg-doc/test_rubygem-pg-doc_function_install.sh b/testcases/function_test/pkg_test/rubygem-pg/rubygem-pg-doc/test_rubygem-pg-doc_function_install.sh deleted file mode 100644 index c22ad76a645..00000000000 --- a/testcases/function_test/pkg_test/rubygem-pg/rubygem-pg-doc/test_rubygem-pg-doc_function_install.sh +++ /dev/null @@ -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 "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/rubygem-pg/rubygem-pg-doc/test_rubygem-pg-doc_function_uninstall.sh b/testcases/function_test/pkg_test/rubygem-pg/rubygem-pg-doc/test_rubygem-pg-doc_function_uninstall.sh deleted file mode 100644 index d6529b84299..00000000000 --- a/testcases/function_test/pkg_test/rubygem-pg/rubygem-pg-doc/test_rubygem-pg-doc_function_uninstall.sh +++ /dev/null @@ -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 "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/rubygem-pg/rubygem-pg-doc/test_rubygem-pg-doc_function_version.sh b/testcases/function_test/pkg_test/rubygem-pg/rubygem-pg-doc/test_rubygem-pg-doc_function_version.sh deleted file mode 100644 index 6c9662326b7..00000000000 --- a/testcases/function_test/pkg_test/rubygem-pg/rubygem-pg-doc/test_rubygem-pg-doc_function_version.sh +++ /dev/null @@ -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 "$@" \ No newline at end of file