From c6f97bac76f1b509269f61b1b6c547e87190de21 Mon Sep 17 00:00:00 2001 From: honghua Date: Tue, 21 Apr 2026 20:11:35 +0800 Subject: [PATCH 01/34] update testcase for testsuite texlive-rectopma-doc --- .../texlive-split-t/texlive-rectopma-doc.json | 22 ----- .../test_texlive-rectopma-doc_function_doc.sh | 68 ---------------- ...t_texlive-rectopma-doc_function_install.sh | 70 ---------------- ...st_texlive-rectopma-doc_function_remove.sh | 80 ------------------ ...ve-rectopma-doc_function_verify_install.sh | 81 ------------------- 5 files changed, 321 deletions(-) delete mode 100644 suite2cases/function_test/pkg_test/texlive-split-t/texlive-rectopma-doc.json delete mode 100644 testcases/function_test/pkg_test/texlive-split-t/texlive-rectopma-doc/test_texlive-rectopma-doc_function_doc.sh delete mode 100644 testcases/function_test/pkg_test/texlive-split-t/texlive-rectopma-doc/test_texlive-rectopma-doc_function_install.sh delete mode 100644 testcases/function_test/pkg_test/texlive-split-t/texlive-rectopma-doc/test_texlive-rectopma-doc_function_remove.sh delete mode 100644 testcases/function_test/pkg_test/texlive-split-t/texlive-rectopma-doc/test_texlive-rectopma-doc_function_verify_install.sh diff --git a/suite2cases/function_test/pkg_test/texlive-split-t/texlive-rectopma-doc.json b/suite2cases/function_test/pkg_test/texlive-split-t/texlive-rectopma-doc.json deleted file mode 100644 index 7d955d3546a..00000000000 --- a/suite2cases/function_test/pkg_test/texlive-split-t/texlive-rectopma-doc.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-t/texlive-rectopma-doc", - "machine num": 1, - "cases": [ - { - "name": "test_texlive-rectopma-doc_function_doc", - "desc": "Verify the documentation files are correctly installed" - }, - { - "name": "test_texlive-rectopma-doc_function_install", - "desc": "Verify the texlive-rectopma-doc package can be successfully installed via the package manager" - }, - { - "name": "test_texlive-rectopma-doc_function_verify_install", - "desc": "Verify that the texlive-rectopma-doc package is correctly installed and its files are present in the system" - }, - { - "name": "test_texlive-rectopma-doc_function_remove", - "desc": "Verify the texlive-rectopma-doc package can be completely and cleanly removed via the package manager" - } - ] -} \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-t/texlive-rectopma-doc/test_texlive-rectopma-doc_function_doc.sh b/testcases/function_test/pkg_test/texlive-split-t/texlive-rectopma-doc/test_texlive-rectopma-doc_function_doc.sh deleted file mode 100644 index 1790d34ed1b..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-t/texlive-rectopma-doc/test_texlive-rectopma-doc_function_doc.sh +++ /dev/null @@ -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 : Verify the documentation files are correctly installed -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - - # 检查是否已安装texlive-rectopma-doc软件包 - LOG_INFO "检查texlive-rectopma-doc是否已安装" - rpm -q texlive-rectopma-doc > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "texlive-rectopma-doc已安装,脚本结束后将保持安装状态" - INSTALLED=1 - else - LOG_INFO "texlive-rectopma-doc未安装,将在测试后卸载" - INSTALLED=0 - fi - - # 检查yum源中是否存在texlive-rectopma-doc软件包 - LOG_INFO "检查yum源中是否存在texlive-rectopma-doc软件包" - dnf list available texlive-rectopma-doc > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中不存在texlive-rectopma-doc软件包" - exit 255 - fi - - # 安装texlive-rectopma-doc软件包 - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "开始安装texlive-rectopma-doc软件包" - dnf install -y texlive-rectopma-doc > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "安装texlive-rectopma-doc软件包失败" - LOG_INFO "texlive-rectopma-doc软件包安装成功" - fi - - # 验证文档文件是否正确安装 - LOG_INFO "验证文档文件是否正确安装" - rpm -ql texlive-rectopma-doc > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "文档文件未正确安装" - - # 清理环境(如果之前未安装) - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "卸载texlive-rectopma-doc软件包" - dnf remove -y texlive-rectopma-doc > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "卸载texlive-rectopma-doc软件包失败" - LOG_INFO "环境已恢复" - fi - - LOG_INFO "测试完成" - -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-t/texlive-rectopma-doc/test_texlive-rectopma-doc_function_install.sh b/testcases/function_test/pkg_test/texlive-split-t/texlive-rectopma-doc/test_texlive-rectopma-doc_function_install.sh deleted file mode 100644 index 06380de0078..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-t/texlive-rectopma-doc/test_texlive-rectopma-doc_function_install.sh +++ /dev/null @@ -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-02-26 -# @License : Mulan PSL v2 -# @Desc : Verify the texlive-rectopma-doc package can be successfully installed via the package manager -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 定义软件包名称 - PACKAGE_NAME="texlive-rectopma-doc" - - # 步骤1: 检查软件包是否在yum源中 - LOG_INFO "检查yum源中是否存在软件包 $PACKAGE_NAME" - dnf list available "$PACKAGE_NAME" &>/dev/null - if [ $? -ne 0 ]; then - LOG_ERROR "软件包 $PACKAGE_NAME 不在yum源中" - exit 255 - fi - - # 步骤2: 检查当前环境是否已安装该软件包 - LOG_INFO "检查是否已安装软件包 $PACKAGE_NAME" - if rpm -q "$PACKAGE_NAME" &>/dev/null; then - LOG_INFO "软件包 $PACKAGE_NAME 已安装,将保持安装状态" - INSTALLED=true - else - LOG_INFO "软件包 $PACKAGE_NAME 未安装,将进行安装测试" - INSTALLED=false - fi - - # 步骤3: 如果未安装,则安装软件包 - if [ "$INSTALLED" = false ]; then - LOG_INFO "开始安装软件包 $PACKAGE_NAME" - dnf install -y "$PACKAGE_NAME" - CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败" - LOG_INFO "软件包 $PACKAGE_NAME 安装成功" - fi - - # 步骤4: 验证软件包安装成功 - LOG_INFO "验证软件包 $PACKAGE_NAME 是否安装成功" - rpm -q "$PACKAGE_NAME" &>/dev/null - CHECK_RESULT $? 0 0 "验证软件包 $PACKAGE_NAME 安装失败" - - # 步骤5: 清理环境(如果测试前未安装,则卸载软件包) - if [ "$INSTALLED" = false ]; then - LOG_INFO "清理环境:卸载软件包 $PACKAGE_NAME" - dnf remove -y "$PACKAGE_NAME" - CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败" - LOG_INFO "环境已恢复到测试前状态" - else - LOG_INFO "测试前软件包已安装,保持安装状态,无需清理" - fi - - LOG_INFO "测试完成:软件包 $PACKAGE_NAME 可以通过包管理器成功安装" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-t/texlive-rectopma-doc/test_texlive-rectopma-doc_function_remove.sh b/testcases/function_test/pkg_test/texlive-split-t/texlive-rectopma-doc/test_texlive-rectopma-doc_function_remove.sh deleted file mode 100644 index 87c219a61e0..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-t/texlive-rectopma-doc/test_texlive-rectopma-doc_function_remove.sh +++ /dev/null @@ -1,80 +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-26 -# @License : Mulan PSL v2 -# @Desc : Verify the texlive-rectopma-doc package can be completely and cleanly removed via the package manager -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - set -e - - # 环境检查 - LOG_INFO "开始检查texlive-rectopma-doc软件包是否已安装" - if rpm -q texlive-rectopma-doc &>/dev/null; then - LOG_INFO "检测到texlive-rectopma-doc软件包已安装,脚本结束后将保持安装状态" - already_installed=true - else - LOG_INFO "未检测到texlive-rectopma-doc软件包安装,将在测试后卸载" - already_installed=false - fi - - # 检查软件包是否在yum源中 - LOG_INFO "检查yum源中是否存在texlive-rectopma-doc软件包" - if ! dnf list available texlive-rectopma-doc &>/dev/null; then - LOG_ERROR "yum源中未找到texlive-rectopma-doc软件包" - exit 255 - fi - - # 如果未安装,则进行安装 - if [ "$already_installed" = false ]; then - LOG_INFO "开始安装texlive-rectopma-doc软件包" - dnf install -y texlive-rectopma-doc - CHECK_RESULT $? 0 0 "安装texlive-rectopma-doc软件包失败" - fi - - # 验证软件包安装 - LOG_INFO "验证texlive-rectopma-doc软件包是否成功安装" - rpm -q texlive-rectopma-doc - CHECK_RESULT $? 0 0 "texlive-rectopma-doc软件包未正确安装" - - # 测试卸载功能 - LOG_INFO "测试卸载texlive-rectopma-doc软件包" - dnf remove -y texlive-rectopma-doc - CHECK_RESULT $? 0 0 "卸载texlive-rectopma-doc软件包失败" - - LOG_INFO "验证软件包是否已卸载" - if rpm -q texlive-rectopma-doc &>/dev/null; then - LOG_ERROR "texlive-rectopma-doc软件包卸载后仍存在" - exit 1 - else - LOG_INFO "texlive-rectopma-doc软件包已成功卸载" - fi - - # 环境恢复 - if [ "$already_installed" = true ]; then - LOG_INFO "恢复原始环境,重新安装texlive-rectopma-doc软件包" - dnf install -y texlive-rectopma-doc - CHECK_RESULT $? 0 0 "重新安装texlive-rectopma-doc软件包失败" - LOG_INFO "环境已恢复到原始安装状态" - else - LOG_INFO "环境已清理,保持未安装状态" - fi - - LOG_INFO "测试完成:texlive-rectopma-doc软件包可以通过包管理器完全且干净地卸载" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-t/texlive-rectopma-doc/test_texlive-rectopma-doc_function_verify_install.sh b/testcases/function_test/pkg_test/texlive-split-t/texlive-rectopma-doc/test_texlive-rectopma-doc_function_verify_install.sh deleted file mode 100644 index 8443e3d465f..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-t/texlive-rectopma-doc/test_texlive-rectopma-doc_function_verify_install.sh +++ /dev/null @@ -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-02-26 -# @License : Mulan PSL v2 -# @Desc : Verify that the texlive-rectopma-doc package is correctly installed and its files are present in the system -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - PACKAGE_NAME="texlive-rectopma-doc" - LOG_INFO "开始测试包 $PACKAGE_NAME 的安装和文件存在性验证" - - 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 - - LOG_INFO "步骤2: 检查yum源中是否存在包 $PACKAGE_NAME" - dnf list available $PACKAGE_NAME &> /dev/null - CHECK_RESULT $? 0 0 "yum源中未找到包 $PACKAGE_NAME" - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中不存在包 $PACKAGE_NAME" - exit 255 - fi - - if [ $ALREADY_INSTALLED -eq 0 ]; then - LOG_INFO "步骤3: 安装包 $PACKAGE_NAME" - dnf install -y $PACKAGE_NAME - CHECK_RESULT $? 0 0 "安装包 $PACKAGE_NAME 失败" - fi - - LOG_INFO "步骤4: 验证包 $PACKAGE_NAME 的文件是否存在于系统中" - rpm -ql $PACKAGE_NAME &> /dev/null - CHECK_RESULT $? 0 0 "包 $PACKAGE_NAME 的文件未在系统中找到或包未正确安装" - - LOG_INFO "步骤5: 执行一个简单的功能验证(例如:检查文档目录是否存在)" - DOC_DIR=$(rpm -ql $PACKAGE_NAME | grep -E "/doc/|/docs/" | head -1) - if [ -n "$DOC_DIR" ]; then - LOG_INFO "找到文档目录: $DOC_DIR" - if [ -d "$DOC_DIR" ]; then - LOG_INFO "文档目录存在且可访问" - CHECK_RESULT $? 0 0 "文档目录 $DOC_DIR 无法访问" - else - LOG_ERROR "文档目录 $DOC_DIR 不存在" - CHECK_RESULT 1 0 0 "文档目录不存在" - fi - else - LOG_INFO "包 $PACKAGE_NAME 可能不包含标准文档目录,跳过目录检查" - fi - - LOG_INFO "步骤6: 环境清理" - if [ $ALREADY_INSTALLED -eq 0 ]; then - LOG_INFO "卸载在测试中安装的包 $PACKAGE_NAME" - dnf remove -y $PACKAGE_NAME - CHECK_RESULT $? 0 0 "卸载包 $PACKAGE_NAME 失败" - LOG_INFO "包 $PACKAGE_NAME 已卸载,环境已恢复" - else - LOG_INFO "包 $PACKAGE_NAME 在测试前已安装,保持安装状态" - fi - - LOG_INFO "测试完成:包 $PACKAGE_NAME 的安装和文件存在性验证成功" -} - -main "$@" \ No newline at end of file From c5ce7e44f75ac94d7df7c31611bc2b2dd62eb146 Mon Sep 17 00:00:00 2001 From: honghua Date: Tue, 21 Apr 2026 20:14:36 +0800 Subject: [PATCH 02/34] update testcase for testsuite libappindicator-docs --- .../libappindicator/libappindicator-docs.json | 14 ---- ...t_libappindicator-docs_function_install.sh | 66 ------------------ ...st_libappindicator-docs_function_verify.sh | 69 ------------------- 3 files changed, 149 deletions(-) delete mode 100644 suite2cases/function_test/pkg_test/libappindicator/libappindicator-docs.json delete mode 100644 testcases/function_test/pkg_test/libappindicator/libappindicator-docs/test_libappindicator-docs_function_install.sh delete mode 100644 testcases/function_test/pkg_test/libappindicator/libappindicator-docs/test_libappindicator-docs_function_verify.sh diff --git a/suite2cases/function_test/pkg_test/libappindicator/libappindicator-docs.json b/suite2cases/function_test/pkg_test/libappindicator/libappindicator-docs.json deleted file mode 100644 index 4af1b8e6798..00000000000 --- a/suite2cases/function_test/pkg_test/libappindicator/libappindicator-docs.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "path": "$OET_PATH/testcases/function_test/pkg_test/libappindicator/libappindicator-docs", - "machine num": 1, - "cases": [ - { - "name": "test_libappindicator-docs_function_install", - "desc": "Test the installation of libappindicator-docs package" - }, - { - "name": "test_libappindicator-docs_function_verify", - "desc": "Verify the basic functionality of libappindicator-docs" - } - ] -} \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libappindicator/libappindicator-docs/test_libappindicator-docs_function_install.sh b/testcases/function_test/pkg_test/libappindicator/libappindicator-docs/test_libappindicator-docs_function_install.sh deleted file mode 100644 index 33f68efaba5..00000000000 --- a/testcases/function_test/pkg_test/libappindicator/libappindicator-docs/test_libappindicator-docs_function_install.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-10-18 -# @License : Mulan PSL v2 -# @Desc : Test the installation of libappindicator-docs package -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试 libappindicator-docs 包的安装功能" - - # 检查 yum 源中是否存在 libappindicator-docs 包 - LOG_INFO "检查 yum 源中是否存在 libappindicator-docs 包" - dnf list available libappindicator-docs &> /dev/null - if [ $? -ne 0 ]; then - LOG_ERROR "yum 源中未找到 libappindicator-docs 包" - exit 255 - fi - - # 检查是否已安装 libappindicator-docs 包 - LOG_INFO "检查是否已安装 libappindicator-docs 包" - rpm -q libappindicator-docs &> /dev/null - if [ $? -eq 0 ]; then - LOG_INFO "libappindicator-docs 包已安装,测试结束后将保持安装状态" - INSTALLED=true - else - LOG_INFO "libappindicator-docs 包未安装,将在测试结束后卸载" - INSTALLED=false - fi - - # 安装 libappindicator-docs 包 - if [ "$INSTALLED" = false ]; then - LOG_INFO "开始安装 libappindicator-docs 包" - dnf install -y libappindicator-docs - CHECK_RESULT $? 0 0 "libappindicator-docs 包安装失败" - fi - - # 验证安装是否成功 - LOG_INFO "验证 libappindicator-docs 包是否成功安装" - rpm -q libappindicator-docs &> /dev/null - CHECK_RESULT $? 0 0 "libappindicator-docs 包未成功安装" - - # 清理环境:如果测试前未安装,则卸载软件包 - if [ "$INSTALLED" = false ]; then - LOG_INFO "清理环境:卸载 libappindicator-docs 包" - dnf remove -y libappindicator-docs - CHECK_RESULT $? 0 0 "libappindicator-docs 包卸载失败" - fi - - LOG_INFO "测试完成:libappindicator-docs包的安装功能验证通过" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libappindicator/libappindicator-docs/test_libappindicator-docs_function_verify.sh b/testcases/function_test/pkg_test/libappindicator/libappindicator-docs/test_libappindicator-docs_function_verify.sh deleted file mode 100644 index a422f7cb390..00000000000 --- a/testcases/function_test/pkg_test/libappindicator/libappindicator-docs/test_libappindicator-docs_function_verify.sh +++ /dev/null @@ -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-08 -# @License : Mulan PSL v2 -# @Desc : Verify the basic functionality of libappindicator-docs -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - - LOG_INFO "开始测试libappindicator-docs的基本功能" - - # 检查环境是否已安装libappindicator-docs - LOG_INFO "检查是否已安装libappindicator-docs" - rpm -q libappindicator-docs > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "libappindicator-docs已安装,测试结束后保持安装状态" - installed=true - else - LOG_INFO "libappindicator-docs未安装,将在测试结束后卸载" - installed=false - fi - - # 检查yum源中是否存在libappindicator-docs软件包 - LOG_INFO "检查yum源中是否存在libappindicator-docs软件包" - dnf list available libappindicator-docs > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中不存在libappindicator-docs软件包" - exit 255 - fi - - # 安装libappindicator-docs软件包 - if [ "$installed" = false ]; then - LOG_INFO "安装libappindicator-docs软件包" - dnf install -y libappindicator-docs > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "安装libappindicator-docs软件包失败" - fi - - # 验证libappindicator-docs的基本功能(示例命令,需根据实际功能调整) - LOG_INFO "验证libappindicator-docs的基本功能" - command_to_test="some_libappindicator_command --help" - $command_to_test > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "libappindicator-docs基本功能验证失败" - - # 清理环境:如果测试前未安装,则卸载软件包 - if [ "$installed" = false ]; then - LOG_INFO "卸载libappindicator-docs软件包" - dnf remove -y libappindicator-docs > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "卸载libappindicator-docs软件包失败" - fi - - LOG_INFO "测试完成,环境已恢复" - -} - -main "$@" \ No newline at end of file From 457066ffc6a803cb761365e95ae977f82fee2b2d Mon Sep 17 00:00:00 2001 From: honghua Date: Tue, 21 Apr 2026 20:17:38 +0800 Subject: [PATCH 03/34] update testcase for testsuite libXfixes --- .../pkg_test/libXfixes/libXfixes.json | 18 ----- .../test_libXfixes_function_headers_exist.sh | 72 ----------------- ...t_libXfixes_function_installation_check.sh | 77 ------------------- .../test_libXfixes_function_version_query.sh | 75 ------------------ 4 files changed, 242 deletions(-) delete mode 100644 suite2cases/function_test/pkg_test/libXfixes/libXfixes.json delete mode 100644 testcases/function_test/pkg_test/libXfixes/libXfixes/test_libXfixes_function_headers_exist.sh delete mode 100644 testcases/function_test/pkg_test/libXfixes/libXfixes/test_libXfixes_function_installation_check.sh delete mode 100644 testcases/function_test/pkg_test/libXfixes/libXfixes/test_libXfixes_function_version_query.sh diff --git a/suite2cases/function_test/pkg_test/libXfixes/libXfixes.json b/suite2cases/function_test/pkg_test/libXfixes/libXfixes.json deleted file mode 100644 index ff351993eb7..00000000000 --- a/suite2cases/function_test/pkg_test/libXfixes/libXfixes.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "path": "$OET_PATH/testcases/function_test/pkg_test/libXfixes/libXfixes", - "machine num": 1, - "cases": [ - { - "name": "test_libXfixes_function_installation_check", - "desc": "检查libXfixes软件包是否已正确安装在系统上。" - }, - { - "name": "test_libXfixes_function_version_query", - "desc": "查询并验证libXfixes库的版本信息。" - }, - { - "name": "test_libXfixes_function_headers_exist", - "desc": "确认libXfixes开发头文件(如X11/extensions/Xfixes.h)存在于标准路径。" - } - ] -} \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libXfixes/libXfixes/test_libXfixes_function_headers_exist.sh b/testcases/function_test/pkg_test/libXfixes/libXfixes/test_libXfixes_function_headers_exist.sh deleted file mode 100644 index fc33f03fd09..00000000000 --- a/testcases/function_test/pkg_test/libXfixes/libXfixes/test_libXfixes_function_headers_exist.sh +++ /dev/null @@ -1,72 +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-04 -# @License : Mulan PSL v2 -# @Desc : 确认libXfixes开发头文件(如X11/extensions/Xfixes.h)存在于标准路径。 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试:确认libXfixes开发头文件(如X11/extensions/Xfixes.h)存在于标准路径" - - LOG_INFO "步骤1: 检查libXfixes-devel软件包是否在yum源中可用" - dnf list available libXfixes-devel > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到libXfixes-devel软件包" - exit 255 - fi - - LOG_INFO "步骤2: 检查系统是否已安装libXfixes-devel" - rpm -q libXfixes-devel > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "libXfixes-devel已安装,标记为已存在安装状态" - ALREADY_INSTALLED=1 - else - LOG_INFO "libXfixes-devel未安装,标记为需要测试安装" - ALREADY_INSTALLED=0 - fi - - if [ $ALREADY_INSTALLED -eq 0 ]; then - LOG_INFO "步骤3: 安装libXfixes-devel软件包" - dnf install -y libXfixes-devel - CHECK_RESULT $? 0 0 "安装libXfixes-devel失败" - fi - - LOG_INFO "步骤4: 检查X11/extensions/Xfixes.h头文件是否存在" - find /usr/include -name "Xfixes.h" -type f | grep -q "X11/extensions/Xfixes.h" - CHECK_RESULT $? 0 0 "未找到X11/extensions/Xfixes.h头文件" - - LOG_INFO "步骤5: 验证头文件路径" - EXPECTED_PATH="/usr/include/X11/extensions/Xfixes.h" - if [ -f "$EXPECTED_PATH" ]; then - LOG_INFO "找到头文件: $EXPECTED_PATH" - else - LOG_ERROR "未在标准路径找到头文件: $EXPECTED_PATH" - exit 1 - fi - - if [ $ALREADY_INSTALLED -eq 0 ]; then - LOG_INFO "步骤6: 清理环境,卸载libXfixes-devel软件包" - dnf remove -y libXfixes-devel - CHECK_RESULT $? 0 0 "卸载libXfixes-devel失败" - else - LOG_INFO "步骤6: 保持已安装状态,无需卸载" - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libXfixes/libXfixes/test_libXfixes_function_installation_check.sh b/testcases/function_test/pkg_test/libXfixes/libXfixes/test_libXfixes_function_installation_check.sh deleted file mode 100644 index 459a22e850d..00000000000 --- a/testcases/function_test/pkg_test/libXfixes/libXfixes/test_libXfixes_function_installation_check.sh +++ /dev/null @@ -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 : 2026-02-04 -# @License : Mulan PSL v2 -# @Desc : 检查libXfixes软件包是否已正确安装在系统上。 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 检查libXfixes软件包是否已正确安装在系统上 - LOG_INFO "开始测试:检查libXfixes软件包是否已正确安装在系统上" - - # 步骤1: 检查当前系统是否已安装libXfixes软件包 - LOG_INFO "步骤1: 检查当前系统是否已安装libXfixes软件包" - rpm -q libXfixes > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "系统已安装libXfixes软件包" - already_installed=true - else - LOG_INFO "系统未安装libXfixes软件包" - already_installed=false - fi - - # 步骤2: 检查yum源中是否存在libXfixes软件包 - LOG_INFO "步骤2: 检查yum源中是否存在libXfixes软件包" - dnf list available libXfixes > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中不存在libXfixes软件包" - exit 255 - fi - - # 步骤3: 如果未安装,则安装libXfixes软件包 - if [ "$already_installed" = "false" ]; then - LOG_INFO "步骤3: 安装libXfixes软件包" - dnf install -y libXfixes - CHECK_RESULT $? 0 0 "安装libXfixes软件包失败" - LOG_INFO "成功安装libXfixes软件包" - fi - - # 步骤4: 验证libXfixes软件包是否已正确安装 - LOG_INFO "步骤4: 验证libXfixes软件包是否已正确安装" - rpm -q libXfixes - CHECK_RESULT $? 0 0 "libXfixes软件包未正确安装" - - # 步骤5: 测试libXfixes相关功能(这里以检查库文件为例) - LOG_INFO "步骤5: 检查libXfixes库文件是否存在" - ls /usr/lib*/libXfixes.so* > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "libXfixes库文件不存在" - - # 步骤6: 清理环境,恢复到之前的状态 - LOG_INFO "步骤6: 清理环境,恢复到之前的状态" - if [ "$already_installed" = "false" ]; then - LOG_INFO "卸载测试期间安装的libXfixes软件包" - dnf remove -y libXfixes - CHECK_RESULT $? 0 0 "卸载libXfixes软件包失败" - LOG_INFO "成功卸载libXfixes软件包" - else - LOG_INFO "系统原本已安装libXfixes软件包,保持安装状态" - fi - - LOG_INFO "测试完成:libXfixes软件包已正确安装在系统上" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libXfixes/libXfixes/test_libXfixes_function_version_query.sh b/testcases/function_test/pkg_test/libXfixes/libXfixes/test_libXfixes_function_version_query.sh deleted file mode 100644 index d41e5f674f3..00000000000 --- a/testcases/function_test/pkg_test/libXfixes/libXfixes/test_libXfixes_function_version_query.sh +++ /dev/null @@ -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-02-04 -# @License : Mulan PSL v2 -# @Desc : 查询并验证libXfixes库的版本信息。 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - PACKAGE_NAME="libXfixes" - TEST_CMD="rpm -q $PACKAGE_NAME" - EXPECTED_PATTERN="libXfixes" - - LOG_INFO "开始测试:查询并验证libXfixes库的版本信息" - LOG_INFO "步骤1:检查yum源中是否存在$PACKAGE_NAME软件包" - dnf list available $PACKAGE_NAME > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到软件包: $PACKAGE_NAME" - exit 255 - fi - LOG_INFO "yum源中存在软件包: $PACKAGE_NAME" - - LOG_INFO "步骤2:检查测试环境是否已安装$PACKAGE_NAME" - $TEST_CMD > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "环境中已安装$PACKAGE_NAME,测试后将保持安装状态" - INSTALLED_BEFORE_TEST=true - else - LOG_INFO "环境中未安装$PACKAGE_NAME,将在测试前安装" - INSTALLED_BEFORE_TEST=false - fi - - if [ "$INSTALLED_BEFORE_TEST" = "false" ]; then - LOG_INFO "步骤3:安装$PACKAGE_NAME软件包" - dnf install -y $PACKAGE_NAME - CHECK_RESULT $? 0 0 "安装$PACKAGE_NAME软件包失败" - LOG_INFO "成功安装$PACKAGE_NAME软件包" - fi - - LOG_INFO "步骤4:查询$PACKAGE_NAME的版本信息" - VERSION_INFO=$($TEST_CMD 2>&1) - CHECK_RESULT $? 0 0 "执行命令"$TEST_CMD"失败" - LOG_INFO "版本信息查询结果: $VERSION_INFO" - - LOG_INFO "步骤5:验证版本信息中包含预期内容" - echo "$VERSION_INFO" | grep -q "$EXPECTED_PATTERN" - CHECK_RESULT $? 0 0 "版本信息中未找到预期内容"$EXPECTED_PATTERN"" - LOG_INFO "版本信息验证成功" - - if [ "$INSTALLED_BEFORE_TEST" = "false" ]; then - LOG_INFO "步骤6:清理环境,卸载测试安装的$PACKAGE_NAME软件包" - dnf remove -y $PACKAGE_NAME - CHECK_RESULT $? 0 0 "卸载$PACKAGE_NAME软件包失败" - LOG_INFO "成功卸载$PACKAGE_NAME软件包" - else - LOG_INFO "步骤6:环境清理,保持$PACKAGE_NAME的安装状态" - fi - - LOG_INFO "测试完成:成功查询并验证了libXfixes库的版本信息" -} - -main "$@" \ No newline at end of file From 86374fc9cdfb9810241b7ee1118175d9a1ed81d8 Mon Sep 17 00:00:00 2001 From: honghua Date: Tue, 21 Apr 2026 20:20:38 +0800 Subject: [PATCH 04/34] update testcase for testsuite texlive-ethiop --- .../texlive-split-h/texlive-ethiop.json | 10 --- .../test_texlive-ethiop_function_font.sh | 76 ------------------- 2 files changed, 86 deletions(-) delete mode 100644 suite2cases/function_test/pkg_test/texlive-split-h/texlive-ethiop.json delete mode 100644 testcases/function_test/pkg_test/texlive-split-h/texlive-ethiop/test_texlive-ethiop_function_font.sh diff --git a/suite2cases/function_test/pkg_test/texlive-split-h/texlive-ethiop.json b/suite2cases/function_test/pkg_test/texlive-split-h/texlive-ethiop.json deleted file mode 100644 index f43c9285f02..00000000000 --- a/suite2cases/function_test/pkg_test/texlive-split-h/texlive-ethiop.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-h/texlive-ethiop", - "machine num": 1, - "cases": [ - { - "name": "test_texlive-ethiop_function_font", - "desc": "Test font rendering in ethiopic script" - } - ] -} \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-h/texlive-ethiop/test_texlive-ethiop_function_font.sh b/testcases/function_test/pkg_test/texlive-split-h/texlive-ethiop/test_texlive-ethiop_function_font.sh deleted file mode 100644 index 444550fd20e..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-h/texlive-ethiop/test_texlive-ethiop_function_font.sh +++ /dev/null @@ -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 : 2025-11-26 -# @License : Mulan PSL v2 -# @Desc : Test font rendering in ethiopic script -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - - # 检查是否已安装texlive-ethiop-function-font - LOG_INFO "检查是否已安装texlive-ethiop-function-font" - rpm -q texlive-ethiop-function-font > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "texlive-ethiop-function-font已安装,脚本结束后保持安装状态" - INSTALLED=true - else - LOG_INFO "texlive-ethiop-function-font未安装,脚本结束后将卸载" - INSTALLED=false - fi - - # 检查yum源中是否存在texlive-ethiop-function-font - LOG_INFO "检查yum源中是否存在texlive-ethiop-function-font" - dnf list available texlive-ethiop-function-font > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中不存在texlive-ethiop-function-font,退出" - exit 255 - fi - - # 安装texlive-ethiop-function-font - if [ "$INSTALLED" = false ]; then - LOG_INFO "开始安装texlive-ethiop-function-font" - dnf install -y texlive-ethiop-function-font > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "安装texlive-ethiop-function-font失败" - fi - - # 测试字体渲染功能 - LOG_INFO "测试Ethiopic脚本字体渲染功能" - echo "\documentclass{article} - \usepackage{ethiop} - \begin{document} - \textamharic{ሰላም} - \end{document}" > test_ethiopic.tex - - pdflatex test_ethiopic.tex > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "Ethiopic脚本字体渲染测试失败" - - # 清理临时文件 - LOG_INFO "清理临时文件" - rm -f test_ethiopic.tex test_ethiopic.pdf test_ethiopic.log test_ethiopic.aux - - # 如果脚本开始时未安装,则卸载texlive-ethiop-function-font以恢复环境 - if [ "$INSTALLED" = false ]; then - LOG_INFO "卸载texlive-ethiop-function-font以恢复环境" - dnf remove -y texlive-ethiop-function-font > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "卸载texlive-ethiop-function-font失败" - fi - - LOG_INFO "测试完成" - -} - -main "$@" \ No newline at end of file From e04354a22763616c79e1e6e8cc48b56f23061ba9 Mon Sep 17 00:00:00 2001 From: honghua Date: Tue, 21 Apr 2026 20:23:29 +0800 Subject: [PATCH 05/34] update testcase for testsuite NetworkManager-help --- .../NetworkManager/NetworkManager-help.json | 26 ------ ...tworkManager-help_function_help_content.sh | 80 ----------------- ...st_NetworkManager-help_function_install.sh | 81 ----------------- ...rkManager-help_function_install_package.sh | 59 ------------- ...kManager-help_function_verify_installed.sh | 86 ------------------- ...orkManager-help_function_verify_version.sh | 62 ------------- 6 files changed, 394 deletions(-) delete mode 100644 suite2cases/function_test/pkg_test/NetworkManager/NetworkManager-help.json delete mode 100644 testcases/function_test/pkg_test/NetworkManager/NetworkManager-help/test_NetworkManager-help_function_help_content.sh delete mode 100644 testcases/function_test/pkg_test/NetworkManager/NetworkManager-help/test_NetworkManager-help_function_install.sh delete mode 100644 testcases/function_test/pkg_test/NetworkManager/NetworkManager-help/test_NetworkManager-help_function_install_package.sh delete mode 100644 testcases/function_test/pkg_test/NetworkManager/NetworkManager-help/test_NetworkManager-help_function_verify_installed.sh delete mode 100644 testcases/function_test/pkg_test/NetworkManager/NetworkManager-help/test_NetworkManager-help_function_verify_version.sh diff --git a/suite2cases/function_test/pkg_test/NetworkManager/NetworkManager-help.json b/suite2cases/function_test/pkg_test/NetworkManager/NetworkManager-help.json deleted file mode 100644 index e642e1b535d..00000000000 --- a/suite2cases/function_test/pkg_test/NetworkManager/NetworkManager-help.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "path": "$OET_PATH/testcases/function_test/pkg_test/NetworkManager/NetworkManager-help", - "machine num": 1, - "cases": [ - { - "name": "test_NetworkManager-help_function_install_package", - "desc": "测试NetworkManager-help软件包是否可以通过包管理器成功安装。" - }, - { - "name": "test_NetworkManager-help_function_verify_installed", - "desc": "验证NetworkManager-help软件包在系统中是否已正确安装,并检查其版本信息。" - }, - { - "name": "test_NetworkManager-help_function_verify_version", - "desc": "验证已安装的NetworkManager-help软件包的版本信息是否正确。" - }, - { - "name": "test_NetworkManager-help_function_install", - "desc": "测试通过包管理器(如yum/dnf)安装NetworkManager-help软件包的功能是否正常。" - }, - { - "name": "test_NetworkManager-help_function_help_content", - "desc": "检查NetworkManager-help提供的帮助文档内容是否可正常访问,例如使用man命令查看NetworkManager手册页。" - } - ] -} \ No newline at end of file diff --git a/testcases/function_test/pkg_test/NetworkManager/NetworkManager-help/test_NetworkManager-help_function_help_content.sh b/testcases/function_test/pkg_test/NetworkManager/NetworkManager-help/test_NetworkManager-help_function_help_content.sh deleted file mode 100644 index 5ffc96802a1..00000000000 --- a/testcases/function_test/pkg_test/NetworkManager/NetworkManager-help/test_NetworkManager-help_function_help_content.sh +++ /dev/null @@ -1,80 +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-08 -# @License : Mulan PSL v2 -# @Desc : 检查NetworkManager-help提供的帮助文档内容是否可正常访问,例如使用man命令查看NetworkManager手册页。 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - set -e - - LOG_INFO "开始测试NetworkManager-help的帮助文档内容" - - LOG_INFO "检查yum源中是否有NetworkManager-help软件包" - dnf list NetworkManager-help 2>/dev/null | grep -q "NetworkManager-help" - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到NetworkManager-help软件包" - exit 255 - fi - - LOG_INFO "检查系统是否已安装NetworkManager-help" - rpm -q NetworkManager-help > /dev/null 2>&1 - INSTALLED=$? - - if [ $INSTALLED -ne 0 ]; then - LOG_INFO "未安装NetworkManager-help,开始安装" - dnf install -y NetworkManager-help - CHECK_RESULT $? 0 0 "安装NetworkManager-help失败" - INSTALLED=1 - else - LOG_INFO "NetworkManager-help已安装" - INSTALLED=0 - fi - - LOG_INFO "测试使用man命令查看NetworkManager手册页" - man NetworkManager > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "使用man命令查看NetworkManager手册页失败" - - LOG_INFO "测试使用NetworkManager --help命令" - NetworkManager --help > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "使用NetworkManager --help命令失败" - - LOG_INFO "检查NetworkManager-help提供的其他帮助命令" - LOG_INFO "测试nmcli --help命令" - nmcli --help > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "使用nmcli --help命令失败" - - LOG_INFO "测试nmtui --help命令(如果可用)" - if command -v nmtui &> /dev/null; then - nmtui --help > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "使用nmtui --help命令失败" - else - LOG_INFO "nmtui命令不存在,跳过测试" - fi - - if [ $INSTALLED -eq 1 ]; then - LOG_INFO "清理环境:卸载测试安装的NetworkManager-help" - dnf remove -y NetworkManager-help - CHECK_RESULT $? 0 0 "卸载NetworkManager-help失败" - else - LOG_INFO "保持原有安装状态,无需卸载" - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/NetworkManager/NetworkManager-help/test_NetworkManager-help_function_install.sh b/testcases/function_test/pkg_test/NetworkManager/NetworkManager-help/test_NetworkManager-help_function_install.sh deleted file mode 100644 index cdbeda27687..00000000000 --- a/testcases/function_test/pkg_test/NetworkManager/NetworkManager-help/test_NetworkManager-help_function_install.sh +++ /dev/null @@ -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-02-08 -# @License : Mulan PSL v2 -# @Desc : 测试通过包管理器(如yum/dnf)安装NetworkManager-help软件包的功能是否正常。 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - set -e - - LOG_INFO "开始测试NetworkManager-help软件包安装功能" - - # 检查是否已安装NetworkManager-help - LOG_INFO "步骤1:检查NetworkManager-help是否已安装" - if rpm -q NetworkManager-help &> /dev/null; then - LOG_INFO "NetworkManager-help已安装,标记为需要保持安装状态" - already_installed=1 - else - LOG_INFO "NetworkManager-help未安装" - already_installed=0 - fi - - # 检查yum源中是否有NetworkManager-help软件包 - LOG_INFO "步骤2:检查yum源中是否存在NetworkManager-help软件包" - if ! dnf list available NetworkManager-help &> /dev/null; then - LOG_ERROR "yum源中未找到NetworkManager-help软件包" - exit 255 - fi - LOG_INFO "yum源中存在NetworkManager-help软件包" - - # 如果未安装,则执行安装 - if [ $already_installed -eq 0 ]; then - LOG_INFO "步骤3:安装NetworkManager-help软件包" - dnf install -y NetworkManager-help - CHECK_RESULT $? 0 0 "安装NetworkManager-help失败" - LOG_INFO "NetworkManager-help安装成功" - fi - - # 验证安装结果 - LOG_INFO "步骤4:验证NetworkManager-help是否成功安装" - rpm -q NetworkManager-help - CHECK_RESULT $? 0 0 "验证NetworkManager-help安装失败" - - LOG_INFO "步骤5:测试NetworkManager-help基本功能" - # 这里可以添加一些基本功能测试,例如检查帮助文档是否存在 - # 示例:检查是否有帮助手册页 - if man -w NetworkManager &> /dev/null; then - LOG_INFO "NetworkManager帮助文档存在" - else - LOG_ERROR "NetworkManager帮助文档不存在" - exit 1 - fi - - # 环境清理:如果测试前未安装,则卸载软件包 - if [ $already_installed -eq 0 ]; then - LOG_INFO "步骤6:清理环境,卸载NetworkManager-help" - dnf remove -y NetworkManager-help - CHECK_RESULT $? 0 0 "卸载NetworkManager-help失败" - LOG_INFO "NetworkManager-help卸载成功" - else - LOG_INFO "步骤6:测试前已安装NetworkManager-help,保持安装状态,无需卸载" - fi - - LOG_INFO "NetworkManager-help软件包安装功能测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/NetworkManager/NetworkManager-help/test_NetworkManager-help_function_install_package.sh b/testcases/function_test/pkg_test/NetworkManager/NetworkManager-help/test_NetworkManager-help_function_install_package.sh deleted file mode 100644 index ec9fba3f6de..00000000000 --- a/testcases/function_test/pkg_test/NetworkManager/NetworkManager-help/test_NetworkManager-help_function_install_package.sh +++ /dev/null @@ -1,59 +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-01-28 -# @License : Mulan PSL v2 -# @Desc : 测试NetworkManager-help软件包是否可以通过包管理器成功安装。 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - PACKAGE_NAME="NetworkManager-help" - LOG_INFO "开始测试${PACKAGE_NAME}软件包是否可以通过包管理器成功安装" - LOG_INFO "步骤1: 检查当前环境中是否已安装${PACKAGE_NAME}软件包" - if dnf list installed "${PACKAGE_NAME}" &>/dev/null; then - LOG_INFO "检测到${PACKAGE_NAME}软件包已安装,测试结束将保持安装状态" - INSTALLED_BEFORE_TEST=true - else - LOG_INFO "检测到${PACKAGE_NAME}软件包未安装" - INSTALLED_BEFORE_TEST=false - fi - LOG_INFO "步骤2: 检查yum源中是否存在${PACKAGE_NAME}软件包" - if ! dnf list available "${PACKAGE_NAME}" &>/dev/null; then - LOG_ERROR "yum源中未找到软件包: ${PACKAGE_NAME}" - exit 255 - fi - LOG_INFO "步骤3: 执行软件包安装测试" - if [ "${INSTALLED_BEFORE_TEST}" = "false" ]; then - dnf install -y "${PACKAGE_NAME}" - CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}软件包失败" - LOG_INFO "${PACKAGE_NAME}软件包安装成功" - fi - LOG_INFO "步骤4: 验证安装后软件包功能" - rpm -ql "${PACKAGE_NAME}" | head -5 - CHECK_RESULT $? 0 0 "验证${PACKAGE_NAME}软件包文件列表失败" - LOG_INFO "步骤5: 环境清理与恢复" - if [ "${INSTALLED_BEFORE_TEST}" = "false" ]; then - LOG_INFO "卸载测试安装的${PACKAGE_NAME}软件包" - dnf remove -y "${PACKAGE_NAME}" - CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}软件包失败" - LOG_INFO "环境已恢复至测试前状态" - else - LOG_INFO "测试前已安装${PACKAGE_NAME},保持安装状态" - fi - LOG_INFO "测试完成: ${PACKAGE_NAME}软件包可以通过包管理器成功安装" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/NetworkManager/NetworkManager-help/test_NetworkManager-help_function_verify_installed.sh b/testcases/function_test/pkg_test/NetworkManager/NetworkManager-help/test_NetworkManager-help_function_verify_installed.sh deleted file mode 100644 index 8dd7fbd6e50..00000000000 --- a/testcases/function_test/pkg_test/NetworkManager/NetworkManager-help/test_NetworkManager-help_function_verify_installed.sh +++ /dev/null @@ -1,86 +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-01-28 -# @License : Mulan PSL v2 -# @Desc : 验证NetworkManager-help软件包在系统中是否已正确安装,并检查其版本信息。 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 定义软件包名称 - PACKAGE_NAME="NetworkManager-help" - - # 步骤1:检查当前环境是否已安装NetworkManager-help - LOG_INFO "步骤1:检查当前环境是否已安装${PACKAGE_NAME}" - rpm -q ${PACKAGE_NAME} > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "当前环境已安装${PACKAGE_NAME},记录当前安装状态" - INSTALLED_BEFORE="yes" - else - LOG_INFO "当前环境未安装${PACKAGE_NAME}" - INSTALLED_BEFORE="no" - fi - - # 步骤2:检查yum源中是否存在NetworkManager-help软件包 - LOG_INFO "步骤2:检查yum源中是否存在${PACKAGE_NAME}软件包" - dnf list available ${PACKAGE_NAME} > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中不存在${PACKAGE_NAME}软件包" - exit 255 - fi - - # 步骤3:如果环境未安装,则安装NetworkManager-help - if [ "${INSTALLED_BEFORE}" = "no" ]; then - LOG_INFO "步骤3:安装${PACKAGE_NAME}软件包" - dnf install -y ${PACKAGE_NAME} > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}失败" - LOG_INFO "成功安装${PACKAGE_NAME}" - fi - - # 步骤4:验证NetworkManager-help软件包是否已正确安装 - LOG_INFO "步骤4:验证${PACKAGE_NAME}软件包是否已正确安装" - rpm -q ${PACKAGE_NAME} > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "${PACKAGE_NAME}软件包未正确安装" - - # 步骤5:检查NetworkManager-help的版本信息 - LOG_INFO "步骤5:检查${PACKAGE_NAME}的版本信息" - VERSION_INFO=$(rpm -q ${PACKAGE_NAME} --qf "%{VERSION}-%{RELEASE}") - if [ -z "${VERSION_INFO}" ]; then - LOG_ERROR "获取${PACKAGE_NAME}版本信息失败" - exit 1 - fi - LOG_INFO "${PACKAGE_NAME}版本信息:${VERSION_INFO}" - - # 步骤6:验证NetworkManager-help提供的帮助文档是否存在 - LOG_INFO "步骤6:验证${PACKAGE_NAME}提供的帮助文档是否存在" - rpm -ql ${PACKAGE_NAME} | grep -E "\.(html|txt|gz)$" > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "${PACKAGE_NAME}未提供有效的帮助文档" - - # 步骤7:清理环境,恢复到之前的状态 - LOG_INFO "步骤7:清理环境,恢复到之前的状态" - if [ "${INSTALLED_BEFORE}" = "no" ]; then - LOG_INFO "卸载测试过程中安装的${PACKAGE_NAME}软件包" - dnf remove -y ${PACKAGE_NAME} > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}失败" - LOG_INFO "成功卸载${PACKAGE_NAME},环境已恢复" - else - LOG_INFO "环境保持原有安装状态,无需清理" - fi - - LOG_INFO "测试完成:${PACKAGE_NAME}软件包安装和版本验证成功" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/NetworkManager/NetworkManager-help/test_NetworkManager-help_function_verify_version.sh b/testcases/function_test/pkg_test/NetworkManager/NetworkManager-help/test_NetworkManager-help_function_verify_version.sh deleted file mode 100644 index 2838dd737f0..00000000000 --- a/testcases/function_test/pkg_test/NetworkManager/NetworkManager-help/test_NetworkManager-help_function_verify_version.sh +++ /dev/null @@ -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-01-31 -# @License : Mulan PSL v2 -# @Desc : 验证已安装的NetworkManager-help软件包的版本信息是否正确。 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试:验证已安装的NetworkManager-help软件包的版本信息是否正确。" - - # 检查是否已安装NetworkManager-help - LOG_INFO "检查NetworkManager-help是否已安装。" - if rpm -q NetworkManager-help &> /dev/null; then - LOG_INFO "NetworkManager-help已安装,标记为已安装状态。" - INSTALLED="true" - else - LOG_INFO "NetworkManager-help未安装,标记为未安装状态。" - INSTALLED="false" - fi - - # 如果未安装,则尝试从yum源安装 - if [ "$INSTALLED" = "false" ]; then - LOG_INFO "检查yum源中是否有NetworkManager-help软件包。" - if ! dnf list available NetworkManager-help &> /dev/null; then - LOG_ERROR "yum源中未找到NetworkManager-help软件包,退出测试。" - exit 255 - fi - LOG_INFO "开始安装NetworkManager-help。" - dnf install -y NetworkManager-help - CHECK_RESULT $? 0 0 "安装NetworkManager-help失败。" - fi - - # 验证软件包版本信息 - LOG_INFO "验证NetworkManager-help软件包的版本信息。" - rpm -qi NetworkManager-help | grep -E "Version|Release" - CHECK_RESULT $? 0 0 "获取NetworkManager-help版本信息失败。" - - # 如果需要,清理安装的软件包 - if [ "$INSTALLED" = "false" ]; then - LOG_INFO "清理环境:卸载NetworkManager-help。" - dnf remove -y NetworkManager-help - CHECK_RESULT $? 0 0 "卸载NetworkManager-help失败。" - fi - - LOG_INFO "测试完成:NetworkManager-help软件包的版本信息验证成功。" -} - -main "$@" \ No newline at end of file From 119752c36216f9c55ad881040077fa7684ce0589 Mon Sep 17 00:00:00 2001 From: honghua Date: Tue, 21 Apr 2026 20:26:21 +0800 Subject: [PATCH 06/34] update testcase for testsuite texlive-pst-thick --- .../texlive-split-s/texlive-pst-thick.json | 22 ---- .../test_texlive-pst-thick_function_basic.sh | 94 ---------------- .../test_texlive-pst-thick_function_check.sh | 68 ------------ ...test_texlive-pst-thick_function_install.sh | 59 ---------- .../test_texlive-pst-thick_function_remove.sh | 101 ------------------ 5 files changed, 344 deletions(-) delete mode 100644 suite2cases/function_test/pkg_test/texlive-split-s/texlive-pst-thick.json delete mode 100644 testcases/function_test/pkg_test/texlive-split-s/texlive-pst-thick/test_texlive-pst-thick_function_basic.sh delete mode 100644 testcases/function_test/pkg_test/texlive-split-s/texlive-pst-thick/test_texlive-pst-thick_function_check.sh delete mode 100644 testcases/function_test/pkg_test/texlive-split-s/texlive-pst-thick/test_texlive-pst-thick_function_install.sh delete mode 100644 testcases/function_test/pkg_test/texlive-split-s/texlive-pst-thick/test_texlive-pst-thick_function_remove.sh diff --git a/suite2cases/function_test/pkg_test/texlive-split-s/texlive-pst-thick.json b/suite2cases/function_test/pkg_test/texlive-split-s/texlive-pst-thick.json deleted file mode 100644 index 6641d92b389..00000000000 --- a/suite2cases/function_test/pkg_test/texlive-split-s/texlive-pst-thick.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-s/texlive-pst-thick", - "machine num": 1, - "cases": [ - { - "name": "test_texlive-pst-thick_function_install", - "desc": "Test installation of texlive-pst-thick package" - }, - { - "name": "test_texlive-pst-thick_function_remove", - "desc": "Test removal of texlive-pst-thick package" - }, - { - "name": "test_texlive-pst-thick_function_check", - "desc": "Test if texlive-pst-thick package is available" - }, - { - "name": "test_texlive-pst-thick_function_basic", - "desc": "Test basic PSTricks thick lines usage" - } - ] -} \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-s/texlive-pst-thick/test_texlive-pst-thick_function_basic.sh b/testcases/function_test/pkg_test/texlive-split-s/texlive-pst-thick/test_texlive-pst-thick_function_basic.sh deleted file mode 100644 index 60a7365b4f4..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-s/texlive-pst-thick/test_texlive-pst-thick_function_basic.sh +++ /dev/null @@ -1,94 +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-31 -# @License : Mulan PSL v2 -# @Desc : Test basic PSTricks thick lines usage -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试:Test basic PSTricks thick lines usage" - - LOG_INFO "步骤1:检查系统中是否已安装texlive-pst-thick软件包" - if rpm -q texlive-pst-thick &>/dev/null; then - LOG_INFO "texlive-pst-thick已安装,测试结束后保持安装状态" - INSTALLED=true - else - LOG_INFO "texlive-pst-thick未安装,将在测试过程中安装" - INSTALLED=false - fi - - LOG_INFO "步骤2:检查yum源中是否有texlive-pst-thick软件包" - if ! dnf list available texlive-pst-thick &>/dev/null; then - LOG_ERROR "yum源中未找到texlive-pst-thick软件包" - exit 255 - fi - - if [ "$INSTALLED" = "false" ]; then - LOG_INFO "步骤3:安装texlive-pst-thick软件包" - dnf install -y texlive-pst-thick - CHECK_RESULT $? 0 0 "安装texlive-pst-thick失败" - fi - - LOG_INFO "步骤4:创建测试LaTeX文档" - cat > test_thick.tex << "EOF" - \documentclass{article} - \usepackage{pstricks} - \usepackage{pst-thick} - \begin{document} - \begin{pspicture}(5,5) - \psline[linewidth=2pt](0,0)(5,5) - \thicklines - \psline(0,5)(5,0) - \end{pspicture} - \end{document} - EOF - CHECK_RESULT $? 0 0 "创建测试文档失败" - - LOG_INFO "步骤5:使用pdflatex编译测试文档" - pdflatex -interaction=nonstopmode test_thick.tex &>/dev/null - CHECK_RESULT $? 0 0 "编译LaTeX文档失败" - - LOG_INFO "步骤6:检查是否生成PDF文件" - if [ -f "test_thick.pdf" ]; then - LOG_INFO "成功生成PDF文件" - else - LOG_ERROR "未生成PDF文件" - exit 1 - fi - - LOG_INFO "步骤7:检查PDF文件内容(基本验证)" - if file test_thick.pdf | grep -q "PDF document"; then - LOG_INFO "PDF文件格式正确" - else - LOG_ERROR "PDF文件格式不正确" - exit 1 - fi - - if [ "$INSTALLED" = "false" ]; then - LOG_INFO "步骤8:卸载texlive-pst-thick软件包" - dnf remove -y texlive-pst-thick - CHECK_RESULT $? 0 0 "卸载texlive-pst-thick失败" - fi - - LOG_INFO "步骤9:清理测试文件" - rm -f test_thick.tex test_thick.aux test_thick.log test_thick.pdf - CHECK_RESULT $? 0 0 "清理测试文件失败" - - LOG_INFO "测试完成:Test basic PSTricks thick lines usage" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-s/texlive-pst-thick/test_texlive-pst-thick_function_check.sh b/testcases/function_test/pkg_test/texlive-split-s/texlive-pst-thick/test_texlive-pst-thick_function_check.sh deleted file mode 100644 index fc32ddbfeb6..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-s/texlive-pst-thick/test_texlive-pst-thick_function_check.sh +++ /dev/null @@ -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 : 2026-03-31 -# @License : Mulan PSL v2 -# @Desc : Test if texlive-pst-thick package is available -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试:检查texlive-pst-thick软件包是否可用" - - LOG_INFO "步骤1:检查系统中是否已安装texlive-pst-thick软件包" - rpm -q texlive-pst-thick &> /dev/null - if [ $? -eq 0 ]; then - LOG_INFO "texlive-pst-thick已安装,测试后将保持安装状态" - INSTALLED="yes" - else - LOG_INFO "texlive-pst-thick未安装,将在测试中安装" - INSTALLED="no" - fi - - LOG_INFO "步骤2:检查yum源中是否存在texlive-pst-thick软件包" - dnf list available texlive-pst-thick &> /dev/null - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到texlive-pst-thick软件包" - exit 255 - fi - CHECK_RESULT $? 0 0 "检查yum源中texlive-pst-thick软件包失败" - - LOG_INFO "步骤3:如果未安装,则安装texlive-pst-thick软件包" - if [ "$INSTALLED" = "no" ]; then - dnf install -y texlive-pst-thick &> /dev/null - CHECK_RESULT $? 0 0 "安装texlive-pst-thick软件包失败" - LOG_INFO "texlive-pst-thick软件包安装成功" - fi - - LOG_INFO "步骤4:验证texlive-pst-thick软件包的基本功能" - rpm -ql texlive-pst-thick | head -5 &> /dev/null - CHECK_RESULT $? 0 0 "验证texlive-pst-thick软件包文件列表失败" - LOG_INFO "texlive-pst-thick软件包文件列表检查通过" - - LOG_INFO "步骤5:清理测试环境" - if [ "$INSTALLED" = "no" ]; then - LOG_INFO "卸载测试安装的texlive-pst-thick软件包" - dnf remove -y texlive-pst-thick &> /dev/null - CHECK_RESULT $? 0 0 "卸载texlive-pst-thick软件包失败" - LOG_INFO "texlive-pst-thick软件包卸载成功" - else - LOG_INFO "保持原有texlive-pst-thick软件包安装状态" - fi - - LOG_INFO "测试完成:texlive-pst-thick软件包可用性检查通过" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-s/texlive-pst-thick/test_texlive-pst-thick_function_install.sh b/testcases/function_test/pkg_test/texlive-split-s/texlive-pst-thick/test_texlive-pst-thick_function_install.sh deleted file mode 100644 index 582ad97fa42..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-s/texlive-pst-thick/test_texlive-pst-thick_function_install.sh +++ /dev/null @@ -1,59 +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-02 -# @License : Mulan PSL v2 -# @Desc : Test installation of texlive-pst-thick package -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 检查texlive-pst-thick软件包是否已安装 - LOG_INFO "检查texlive-pst-thick软件包是否已安装" - rpm -q texlive-pst-thick > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "texlive-pst-thick软件包已安装,脚本结束后保持安装状态" - INSTALLED=1 - else - LOG_INFO "texlive-pst-thick软件包未安装,将在脚本结束后卸载" - INSTALLED=0 - fi - - # 检查yum源中是否存在texlive-pst-thick软件包 - LOG_INFO "检查yum源中是否存在texlive-pst-thick软件包" - dnf list available texlive-pst-thick > /dev/null 2>&1 - CHECK_RESULT $? 0 255 "yum源中不存在texlive-pst-thick软件包" - - # 安装texlive-pst-thick软件包 - LOG_INFO "安装texlive-pst-thick软件包" - dnf install -y texlive-pst-thick - CHECK_RESULT $? 0 0 "安装texlive-pst-thick软件包失败" - - # 验证texlive-pst-thick命令是否可用 - LOG_INFO "验证texlive-pst-thick命令是否可用" - texlive-pst-thick --version > /dev/null 2>&1 - CHECK_RESULT $? 0 255 "texlive-pst-thick命令不可用" - - # 清理环境 - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "卸载texlive-pst-thick软件包" - dnf remove -y texlive-pst-thick - CHECK_RESULT $? 0 0 "卸载texlive-pst-thick软件包失败" - fi - - LOG_INFO "测试完成,环境已恢复" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-s/texlive-pst-thick/test_texlive-pst-thick_function_remove.sh b/testcases/function_test/pkg_test/texlive-split-s/texlive-pst-thick/test_texlive-pst-thick_function_remove.sh deleted file mode 100644 index 39429eac64f..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-s/texlive-pst-thick/test_texlive-pst-thick_function_remove.sh +++ /dev/null @@ -1,101 +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-31 -# @License : Mulan PSL v2 -# @Desc : Test removal of texlive-pst-thick package -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 定义颜色输出(可选,但保持简洁) - LOG_INFO() { - echo "[INFO] $1" - } - LOG_ERROR() { - echo "[ERROR] $1" - } - - # 定义软件包名称 - PACKAGE_NAME="texlive-pst-thick" - - # 步骤1:检查yum源中是否存在该软件包 - LOG_INFO "步骤1:检查yum源中是否存在软件包 $PACKAGE_NAME" - dnf list available "$PACKAGE_NAME" &>/dev/null - if [ $? -ne 0 ]; then - LOG_ERROR "软件包 $PACKAGE_NAME 在yum源中不存在" - exit 255 - fi - - # 步骤2:检查是否已经安装该软件包 - LOG_INFO "步骤2:检查是否已经安装软件包 $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 "步骤3:安装软件包 $PACKAGE_NAME" - dnf install -y "$PACKAGE_NAME" - CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败" - LOG_INFO "软件包 $PACKAGE_NAME 安装成功" - fi - - # 步骤4:验证软件包安装 - LOG_INFO "步骤4:验证软件包 $PACKAGE_NAME 是否安装成功" - rpm -q "$PACKAGE_NAME" - CHECK_RESULT $? 0 0 "验证软件包 $PACKAGE_NAME 安装失败" - - # 步骤5:测试软件包功能(这里假设软件包提供了某个命令,例如 "tex") - LOG_INFO "步骤5:测试软件包 $PACKAGE_NAME 的功能" - # 假设软件包提供了命令 "tex",这里只是示例,实际应根据软件包调整 - if command -v tex &>/dev/null; then - LOG_INFO "软件包 $PACKAGE_NAME 功能正常" - else - LOG_INFO "软件包 $PACKAGE_NAME 未提供可执行命令,跳过功能测试" - fi - - # 步骤6:如果之前未安装,则卸载软件包 - if [ $ALREADY_INSTALLED -eq 0 ]; then - LOG_INFO "步骤6:卸载软件包 $PACKAGE_NAME" - dnf remove -y "$PACKAGE_NAME" - CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败" - LOG_INFO "软件包 $PACKAGE_NAME 卸载成功" - fi - - # 步骤7:验证环境恢复 - LOG_INFO "步骤7:验证环境已恢复" - if [ $ALREADY_INSTALLED -eq 0 ]; then - rpm -q "$PACKAGE_NAME" &>/dev/null - if [ $? -eq 0 ]; then - LOG_ERROR "环境恢复失败,软件包 $PACKAGE_NAME 仍然存在" - exit 1 - else - LOG_INFO "环境恢复成功,软件包 $PACKAGE_NAME 已卸载" - fi - else - rpm -q "$PACKAGE_NAME" &>/dev/null - CHECK_RESULT $? 0 0 "环境恢复失败,软件包 $PACKAGE_NAME 丢失" - LOG_INFO "环境恢复成功,软件包 $PACKAGE_NAME 保持安装状态" - fi - - LOG_INFO "测试脚本执行完成" -} - -main "$@" \ No newline at end of file From 22f54d03d577c1ee0c8a7f8252a688bffa0c29fa Mon Sep 17 00:00:00 2001 From: honghua Date: Tue, 21 Apr 2026 20:29:14 +0800 Subject: [PATCH 07/34] update testcase for testsuite lzma-java-javadoc --- .../pkg_test/lzma-java/lzma-java-javadoc.json | 27 ----- ...t_lzma-java-javadoc_function_decompress.sh | 74 -------------- ...zma-java-javadoc_function_install_check.sh | 70 ------------- ...st_lzma-java-javadoc_function_uninstall.sh | 78 --------------- ...t_lzma-java-javadoc_function_verify_doc.sh | 99 ------------------- .../test_lzma-java-javadoc_install.sh | 63 ------------ 6 files changed, 411 deletions(-) delete mode 100644 suite2cases/function_test/pkg_test/lzma-java/lzma-java-javadoc.json delete mode 100644 testcases/function_test/pkg_test/lzma-java/lzma-java-javadoc/test_lzma-java-javadoc_function_decompress.sh delete mode 100644 testcases/function_test/pkg_test/lzma-java/lzma-java-javadoc/test_lzma-java-javadoc_function_install_check.sh delete mode 100644 testcases/function_test/pkg_test/lzma-java/lzma-java-javadoc/test_lzma-java-javadoc_function_uninstall.sh delete mode 100644 testcases/function_test/pkg_test/lzma-java/lzma-java-javadoc/test_lzma-java-javadoc_function_verify_doc.sh delete mode 100644 testcases/function_test/pkg_test/lzma-java/lzma-java-javadoc/test_lzma-java-javadoc_install.sh diff --git a/suite2cases/function_test/pkg_test/lzma-java/lzma-java-javadoc.json b/suite2cases/function_test/pkg_test/lzma-java/lzma-java-javadoc.json deleted file mode 100644 index b08351a7ec5..00000000000 --- a/suite2cases/function_test/pkg_test/lzma-java/lzma-java-javadoc.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "path": "$OET_PATH/testcases/function_test/pkg_test/lzma-java/lzma-java-javadoc", - "machine num": 1, - "cases": [ - { - "name": "test_lzma-java-javadoc_install", - "desc": "测试lzma-java-javadoc软件包的安装功能", - "machine num": 1 - }, - { - "name": "test_lzma-java-javadoc_function_decompress", - "desc": "测试lzma-java-javadoc软件包的解压功能" - }, - { - "name": "test_lzma-java-javadoc_function_install_check", - "desc": "检查lzma-java-javadoc软件包是否已正确安装" - }, - { - "name": "test_lzma-java-javadoc_function_uninstall", - "desc": "测试lzma-java-javadoc软件包的卸载功能" - }, - { - "name": "test_lzma-java-javadoc_function_verify_doc", - "desc": "验证安装的javadoc文档内容完整性" - } - ] -} \ No newline at end of file diff --git a/testcases/function_test/pkg_test/lzma-java/lzma-java-javadoc/test_lzma-java-javadoc_function_decompress.sh b/testcases/function_test/pkg_test/lzma-java/lzma-java-javadoc/test_lzma-java-javadoc_function_decompress.sh deleted file mode 100644 index a3fdf1dc6e6..00000000000 --- a/testcases/function_test/pkg_test/lzma-java/lzma-java-javadoc/test_lzma-java-javadoc_function_decompress.sh +++ /dev/null @@ -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-04 -# @License : Mulan PSL v2 -# @Desc : 测试lzma-java-javadoc软件包的解压功能 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试lzma-java-javadoc软件包的解压功能" - - # 检查软件包是否已安装 - LOG_INFO "检查lzma-java-javadoc软件包是否已安装" - if dnf list installed lzma-java-javadoc &>/dev/null; then - LOG_INFO "lzma-java-javadoc软件包已安装,脚本结束后将保持安装状态" - INSTALLED=true - else - LOG_INFO "lzma-java-javadoc软件包未安装,将在测试结束后卸载" - INSTALLED=false - fi - - # 检查yum源中是否存在该软件包 - LOG_INFO "检查yum源中是否存在lzma-java-javadoc软件包" - if ! dnf list available lzma-java-javadoc &>/dev/null; then - LOG_ERROR "yum源中不存在lzma-java-javadoc软件包" - exit 255 - fi - - # 若未安装则安装软件包 - if [ "$INSTALLED" = false ]; then - LOG_INFO "安装lzma-java-javadoc软件包" - dnf install -y lzma-java-javadoc - CHECK_RESULT $? 0 0 "安装lzma-java-javadoc失败" - fi - - # 测试解压功能 - LOG_INFO "测试解压功能" - if ! command -v lzmajavadoc &>/dev/null; then - LOG_ERROR "命令lzmajavadoc不存在或不支持" - exit 255 - fi - - LOG_INFO "执行解压命令" - lzmajavadoc --decompress test.lzma output.txt - CHECK_RESULT $? 0 0 "解压失败" - - # 清理测试文件(如果存在) - LOG_INFO "清理测试文件" - rm -f test.lzma output.txt - - # 若脚本开始时未安装,则卸载软件包 - if [ "$INSTALLED" = false ]; then - LOG_INFO "卸载lzma-java-javadoc软件包" - dnf remove -y lzma-java-javadoc - CHECK_RESULT $? 0 0 "卸载lzma-java-javadoc失败" - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/lzma-java/lzma-java-javadoc/test_lzma-java-javadoc_function_install_check.sh b/testcases/function_test/pkg_test/lzma-java/lzma-java-javadoc/test_lzma-java-javadoc_function_install_check.sh deleted file mode 100644 index de55bffd770..00000000000 --- a/testcases/function_test/pkg_test/lzma-java/lzma-java-javadoc/test_lzma-java-javadoc_function_install_check.sh +++ /dev/null @@ -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-02-26 -# @License : Mulan PSL v2 -# @Desc : 检查lzma-java-javadoc软件包是否已正确安装 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - set -e - - LOG_INFO "开始检查lzma-java-javadoc软件包是否已正确安装" - - LOG_INFO "步骤1: 检查yum源中是否存在lzma-java-javadoc软件包" - dnf list available lzma-java-javadoc > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "yum源中未找到lzma-java-javadoc软件包" - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中不存在lzma-java-javadoc软件包" - exit 255 - fi - - LOG_INFO "步骤2: 检查当前是否已安装lzma-java-javadoc" - if rpm -q lzma-java-javadoc > /dev/null 2>&1; then - LOG_INFO "lzma-java-javadoc已安装,将保持安装状态" - already_installed=true - else - LOG_INFO "lzma-java-javadoc未安装,将进行安装测试" - already_installed=false - fi - - if [ "$already_installed" = "false" ]; then - LOG_INFO "步骤3: 安装lzma-java-javadoc软件包" - dnf install -y lzma-java-javadoc - CHECK_RESULT $? 0 0 "安装lzma-java-javadoc失败" - fi - - LOG_INFO "步骤4: 验证lzma-java-javadoc安装是否正确" - rpm -q lzma-java-javadoc - CHECK_RESULT $? 0 0 "lzma-java-javadoc安装验证失败" - - LOG_INFO "步骤5: 检查lzma-java-javadoc相关文件" - rpm -ql lzma-java-javadoc | head -5 > /dev/null - CHECK_RESULT $? 0 0 "lzma-java-javadoc文件检查失败" - - if [ "$already_installed" = "false" ]; then - LOG_INFO "步骤6: 清理环境,卸载lzma-java-javadoc软件包" - dnf remove -y lzma-java-javadoc - CHECK_RESULT $? 0 0 "卸载lzma-java-javadoc失败" - LOG_INFO "已恢复原始环境状态" - else - LOG_INFO "保持lzma-java-javadoc安装状态,无需清理" - fi - - LOG_INFO "lzma-java-javadoc软件包安装检查完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/lzma-java/lzma-java-javadoc/test_lzma-java-javadoc_function_uninstall.sh b/testcases/function_test/pkg_test/lzma-java/lzma-java-javadoc/test_lzma-java-javadoc_function_uninstall.sh deleted file mode 100644 index e3f5aafe236..00000000000 --- a/testcases/function_test/pkg_test/lzma-java/lzma-java-javadoc/test_lzma-java-javadoc_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-02-26 -# @License : Mulan PSL v2 -# @Desc : 测试lzma-java-javadoc软件包的卸载功能 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 测试lzma-java-javadoc软件包的卸载功能 - - LOG_INFO "检查当前环境是否已安装lzma-java-javadoc软件包" - rpm -q lzma-java-javadoc > /dev/null 2>&1 - already_installed=$? - - LOG_INFO "检查yum源中是否存在lzma-java-javadoc软件包" - dnf list available lzma-java-javadoc > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到lzma-java-javadoc软件包" - exit 255 - fi - - LOG_INFO "检查dnf命令是否支持remove参数" - dnf --help | grep -q "remove" - if [ $? -ne 0 ]; then - LOG_ERROR "dnf命令不支持remove参数" - exit 255 - fi - - if [ $already_installed -eq 0 ]; then - LOG_INFO "环境已安装lzma-java-javadoc,执行卸载测试" - LOG_INFO "卸载lzma-java-javadoc软件包" - dnf remove -y lzma-java-javadoc - CHECK_RESULT $? 0 0 "卸载lzma-java-javadoc软件包失败" - - LOG_INFO "验证软件包是否已卸载" - rpm -q lzma-java-javadoc > /dev/null 2>&1 - CHECK_RESULT $? 1 0 "软件包卸载后仍存在" - - LOG_INFO "重新安装lzma-java-javadoc软件包以恢复环境" - dnf install -y lzma-java-javadoc - CHECK_RESULT $? 0 0 "重新安装lzma-java-javadoc软件包失败" - else - LOG_INFO "环境未安装lzma-java-javadoc,执行安装和卸载测试" - LOG_INFO "安装lzma-java-javadoc软件包" - dnf install -y lzma-java-javadoc - CHECK_RESULT $? 0 0 "安装lzma-java-javadoc软件包失败" - - LOG_INFO "验证软件包是否已安装" - rpm -q lzma-java-javadoc > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "软件包安装后不存在" - - LOG_INFO "卸载lzma-java-javadoc软件包" - dnf remove -y lzma-java-javadoc - CHECK_RESULT $? 0 0 "卸载lzma-java-javadoc软件包失败" - - LOG_INFO "验证软件包是否已卸载" - rpm -q lzma-java-javadoc > /dev/null 2>&1 - CHECK_RESULT $? 1 0 "软件包卸载后仍存在" - fi - - LOG_INFO "测试完成,环境已恢复到初始状态" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/lzma-java/lzma-java-javadoc/test_lzma-java-javadoc_function_verify_doc.sh b/testcases/function_test/pkg_test/lzma-java/lzma-java-javadoc/test_lzma-java-javadoc_function_verify_doc.sh deleted file mode 100644 index aa7c4829907..00000000000 --- a/testcases/function_test/pkg_test/lzma-java/lzma-java-javadoc/test_lzma-java-javadoc_function_verify_doc.sh +++ /dev/null @@ -1,99 +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-26 -# @License : Mulan PSL v2 -# @Desc : 验证安装的javadoc文档内容完整性 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 检查环境是否已安装lzma-java-javadoc软件包 - LOG_INFO "步骤1: 检查lzma-java-javadoc是否已安装" - dnf list installed lzma-java-javadoc > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "lzma-java-javadoc已安装,标记为保持安装状态" - INSTALLED_FLAG=1 - else - LOG_INFO "lzma-java-javadoc未安装,标记为需要清理" - INSTALLED_FLAG=0 - fi - - # 检查yum源中是否存在lzma-java-javadoc软件包 - LOG_INFO "步骤2: 检查yum源中是否存在lzma-java-javadoc软件包" - dnf list available lzma-java-javadoc > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "yum源中未找到lzma-java-javadoc软件包" - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中不存在lzma-java-javadoc软件包" - exit 255 - fi - - # 如果未安装,则安装软件包 - if [ $INSTALLED_FLAG -eq 0 ]; then - LOG_INFO "步骤3: 安装lzma-java-javadoc软件包" - dnf install -y lzma-java-javadoc > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "安装lzma-java-javadoc失败" - if [ $? -ne 0 ]; then - LOG_ERROR "安装lzma-java-javadoc失败" - exit 1 - fi - LOG_INFO "lzma-java-javadoc安装成功" - fi - - # 验证javadoc文档内容完整性 - LOG_INFO "步骤4: 验证javadoc文档内容完整性" - # 假设javadoc文档位于/usr/share/javadoc/lzma-java目录下 - JAVADOC_DIR="/usr/share/javadoc/lzma-java" - if [ -d "$JAVADOC_DIR" ]; then - LOG_INFO "找到javadoc文档目录: $JAVADOC_DIR" - # 检查目录是否为空 - if [ -z "$(ls -A $JAVADOC_DIR)" ]; then - LOG_ERROR "javadoc文档目录为空" - exit 1 - fi - # 检查是否存在index.html文件 - if [ ! -f "$JAVADOC_DIR/index.html" ]; then - LOG_ERROR "javadoc文档缺少index.html文件" - exit 1 - fi - # 检查index.html文件是否包含javadoc相关标记 - if ! grep -q "Generated by javadoc" "$JAVADOC_DIR/index.html"; then - LOG_ERROR "index.html文件不是有效的javadoc文档" - exit 1 - fi - LOG_INFO "javadoc文档内容完整性验证通过" - else - LOG_ERROR "未找到javadoc文档目录: $JAVADOC_DIR" - exit 1 - fi - - # 清理环境:如果之前未安装,则卸载软件包 - if [ $INSTALLED_FLAG -eq 0 ]; then - LOG_INFO "步骤5: 清理环境,卸载lzma-java-javadoc软件包" - dnf remove -y lzma-java-javadoc > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "卸载lzma-java-javadoc失败" - if [ $? -ne 0 ]; then - LOG_ERROR "卸载lzma-java-javadoc失败" - exit 1 - fi - LOG_INFO "lzma-java-javadoc卸载成功" - else - LOG_INFO "步骤5: 保持lzma-java-javadoc安装状态,无需清理" - fi - - LOG_INFO "测试完成,所有步骤执行成功" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/lzma-java/lzma-java-javadoc/test_lzma-java-javadoc_install.sh b/testcases/function_test/pkg_test/lzma-java/lzma-java-javadoc/test_lzma-java-javadoc_install.sh deleted file mode 100644 index 6e5220e38ed..00000000000 --- a/testcases/function_test/pkg_test/lzma-java/lzma-java-javadoc/test_lzma-java-javadoc_install.sh +++ /dev/null @@ -1,63 +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-07-03 -# @License : Mulan PSL v2 -# @Desc : 测试lzma-java-javadoc软件包的安装功能 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - - # 检查yum源中是否存在lzma-java-javadoc软件包 - LOG_INFO "检查yum源中是否存在lzma-java-javadoc软件包" - dnf list available lzma-java-javadoc > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中不存在lzma-java-javadoc软件包" - exit 255 - fi - - # 检查是否已安装lzma-java-javadoc软件包 - LOG_INFO "检查是否已安装lzma-java-javadoc软件包" - rpm -q lzma-java-javadoc > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "lzma-java-javadoc软件包已安装" - installed=true - else - LOG_INFO "lzma-java-javadoc软件包未安装" - installed=false - fi - - # 如果未安装,则安装软件包 - if [ "$installed" = false ]; then - LOG_INFO "开始安装lzma-java-javadoc软件包" - dnf install -y lzma-java-javadoc > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "安装lzma-java-javadoc软件包失败" - LOG_INFO "lzma-java-javadoc软件包安装成功" - fi - - # 测试完成后,如果之前未安装则卸载软件包以恢复环境 - if [ "$installed" = false ]; then - LOG_INFO "开始卸载lzma-java-javadoc软件包以恢复环境" - dnf remove -y lzma-java-javadoc > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "卸载lzma-java-javadoc软件包失败" - LOG_INFO "lzma-java-javadoc软件包卸载成功,环境已恢复" - fi - - LOG_INFO "测试脚本执行完毕" - -} - -main "$@" \ No newline at end of file From b3a83cf8693adcbc8dfae838c1dddd331ad23edd Mon Sep 17 00:00:00 2001 From: honghua Date: Tue, 21 Apr 2026 20:32:20 +0800 Subject: [PATCH 08/34] update testcase for testsuite texlive-listofsymbols-doc --- .../texlive-listofsymbols-doc.json | 16 ----- .../test_texlive-listofsymbols-doc_install.sh | 66 ----------------- ...est_texlive-listofsymbols-doc_uninstall.sh | 70 ------------------- 3 files changed, 152 deletions(-) delete mode 100644 suite2cases/function_test/pkg_test/texlive-split-n/texlive-listofsymbols-doc.json delete mode 100644 testcases/function_test/pkg_test/texlive-split-n/texlive-listofsymbols-doc/test_texlive-listofsymbols-doc_install.sh delete mode 100644 testcases/function_test/pkg_test/texlive-split-n/texlive-listofsymbols-doc/test_texlive-listofsymbols-doc_uninstall.sh diff --git a/suite2cases/function_test/pkg_test/texlive-split-n/texlive-listofsymbols-doc.json b/suite2cases/function_test/pkg_test/texlive-split-n/texlive-listofsymbols-doc.json deleted file mode 100644 index 6cf039756cd..00000000000 --- a/suite2cases/function_test/pkg_test/texlive-split-n/texlive-listofsymbols-doc.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-n/texlive-listofsymbols-doc", - "machine num": 1, - "cases": [ - { - "name": "test_texlive-listofsymbols-doc_install", - "desc": "测试 texlive-listofsymbols-doc 软件包的安装功能,确保能够正确安装到系统中。", - "machine num": 1 - }, - { - "name": "test_texlive-listofsymbols-doc_uninstall", - "desc": "测试 texlive-listofsymbols-doc 软件包的卸载功能,确保能够正确从系统中卸载。", - "machine num": 1 - } - ] -} \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-n/texlive-listofsymbols-doc/test_texlive-listofsymbols-doc_install.sh b/testcases/function_test/pkg_test/texlive-split-n/texlive-listofsymbols-doc/test_texlive-listofsymbols-doc_install.sh deleted file mode 100644 index 23754296800..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-n/texlive-listofsymbols-doc/test_texlive-listofsymbols-doc_install.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-06-18 -# @License : Mulan PSL v2 -# @Desc : 测试 texlive-listofsymbols-doc 软件包的安装功能,确保能够正确安装到系统中。 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - - - # 步骤1:检查texlive-listofsymbols-doc软件包是否在yum源中 - LOG_INFO "检查texlive-listofsymbols-doc软件包是否在yum源中" - dnf list available texlive-listofsymbols-doc &> /dev/null - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到texlive-listofsymbols-doc软件包" - exit 255 - fi - - # 步骤2:检查环境是否已安装texlive-listofsymbols-doc - LOG_INFO "检查环境是否已安装texlive-listofsymbols-doc" - rpm -q texlive-listofsymbols-doc &> /dev/null - if [ $? -eq 0 ]; then - LOG_INFO "环境已安装texlive-listofsymbols-doc,跳过安装步骤" - installed=true - else - installed=false - fi - - # 步骤3:如果未安装,则安装软件包 - if [ "$installed" = false ]; then - LOG_INFO "开始安装texlive-listofsymbols-doc软件包" - dnf install -y texlive-listofsymbols-doc - CHECK_RESULT $? 0 0 "安装texlive-listofsymbols-doc失败" - fi - - # 步骤4:验证软件包是否成功安装 - LOG_INFO "验证texlive-listofsymbols-doc是否成功安装" - rpm -q texlive-listofsymbols-doc &> /dev/null - CHECK_RESULT $? 0 0 "验证texlive-listofsymbols-doc安装失败" - - # 步骤5:如果脚本开始时未安装,则在结束时卸载软件包以恢复环境 - if [ "$installed" = false ]; then - LOG_INFO "卸载texlive-listofsymbols-doc以恢复环境" - dnf remove -y texlive-listofsymbols-doc - CHECK_RESULT $? 0 0 "卸载texlive-listofsymbols-doc失败" - fi - - LOG_INFO "测试脚本执行完成" - -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-n/texlive-listofsymbols-doc/test_texlive-listofsymbols-doc_uninstall.sh b/testcases/function_test/pkg_test/texlive-split-n/texlive-listofsymbols-doc/test_texlive-listofsymbols-doc_uninstall.sh deleted file mode 100644 index 94624f2dab8..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-n/texlive-listofsymbols-doc/test_texlive-listofsymbols-doc_uninstall.sh +++ /dev/null @@ -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-06-18 -# @License : Mulan PSL v2 -# @Desc : 测试 texlive-listofsymbols-doc 软件包的卸载功能,确保能够正确从系统中卸载。 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试 texlive-listofsymbols-doc 软件包的卸载功能" - - # 检查软件包是否已安装 - LOG_INFO "检查 texlive-listofsymbols-doc 是否已安装" - if dnf list installed texlive-listofsymbols-doc &> /dev/null; then - LOG_INFO "texlive-listofsymbols-doc 已安装,跳过安装步骤" - INSTALLED=true - else - LOG_INFO "texlive-listofsymbols-doc 未安装,准备安装" - INSTALLED=false - fi - - # 检查 yum 源中是否存在该软件包 - LOG_INFO "检查 yum 源中是否存在 texlive-listofsymbols-doc" - if ! dnf list available texlive-listofsymbols-doc &> /dev/null; then - LOG_ERROR "yum 源中未找到 texlive-listofsymbols-doc,退出测试" - exit 255 - fi - - # 如果未安装,则安装软件包 - if [ "$INSTALLED" = false ]; then - LOG_INFO "开始安装 texlive-listofsymbols-doc" - dnf install -y texlive-listofsymbols-doc - CHECK_RESULT $? 0 0 "安装 texlive-listofsymbols-doc 失败" - fi - - # 测试卸载功能 - LOG_INFO "开始卸载 texlive-listofsymbols-doc" - dnf remove -y texlive-listofsymbols-doc - CHECK_RESULT $? 0 0 "卸载 texlive-listofsymbols-doc 失败" - - # 如果最初未安装,则清理环境 - if [ "$INSTALLED" = false ]; then - LOG_INFO "清理环境:重新检查是否已卸载" - if dnf list installed texlive-listofsymbols-doc &> /dev/null; then - LOG_ERROR "清理环境失败:texlive-listofsymbols-doc 仍存在" - exit 1 - else - LOG_INFO "环境清理完成:texlive-listofsymbols-doc 已卸载" - fi - else - LOG_INFO "环境保持原状:texlive-listofsymbols-doc 保持安装状态" - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file From 12a0f74068f7dc9719b6a68273ad2bbd8ea8d6b8 Mon Sep 17 00:00:00 2001 From: honghua Date: Tue, 21 Apr 2026 20:35:47 +0800 Subject: [PATCH 09/34] update testcase for testsuite texlive-compactbib --- .../texlive-split-e/texlive-compactbib.json | 26 ---- ...texlive-compactbib_function_basic_usage.sh | 119 ------------------ ...test_texlive-compactbib_function_bibtex.sh | 74 ----------- ...ive-compactbib_function_check_installed.sh | 95 -------------- ...est_texlive-compactbib_function_install.sh | 79 ------------ ...t_texlive-compactbib_function_uninstall.sh | 74 ----------- 6 files changed, 467 deletions(-) delete mode 100644 suite2cases/function_test/pkg_test/texlive-split-e/texlive-compactbib.json delete mode 100644 testcases/function_test/pkg_test/texlive-split-e/texlive-compactbib/test_texlive-compactbib_function_basic_usage.sh delete mode 100644 testcases/function_test/pkg_test/texlive-split-e/texlive-compactbib/test_texlive-compactbib_function_bibtex.sh delete mode 100644 testcases/function_test/pkg_test/texlive-split-e/texlive-compactbib/test_texlive-compactbib_function_check_installed.sh delete mode 100644 testcases/function_test/pkg_test/texlive-split-e/texlive-compactbib/test_texlive-compactbib_function_install.sh delete mode 100644 testcases/function_test/pkg_test/texlive-split-e/texlive-compactbib/test_texlive-compactbib_function_uninstall.sh diff --git a/suite2cases/function_test/pkg_test/texlive-split-e/texlive-compactbib.json b/suite2cases/function_test/pkg_test/texlive-split-e/texlive-compactbib.json deleted file mode 100644 index 4f59eeedc25..00000000000 --- a/suite2cases/function_test/pkg_test/texlive-split-e/texlive-compactbib.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-e/texlive-compactbib", - "machine num": 1, - "cases": [ - { - "name": "test_texlive-compactbib_function_bibtex", - "desc": "Test bibtex functionality" - }, - { - "name": "test_texlive-compactbib_function_install", - "desc": "Test installation of texlive-compactbib package" - }, - { - "name": "test_texlive-compactbib_function_uninstall", - "desc": "Test uninstallation of texlive-compactbib package" - }, - { - "name": "test_texlive-compactbib_function_check_installed", - "desc": "Test if texlive-compactbib is installed" - }, - { - "name": "test_texlive-compactbib_function_basic_usage", - "desc": "Test basic usage with compact bibliography style" - } - ] -} \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-e/texlive-compactbib/test_texlive-compactbib_function_basic_usage.sh b/testcases/function_test/pkg_test/texlive-split-e/texlive-compactbib/test_texlive-compactbib_function_basic_usage.sh deleted file mode 100644 index 3ab5eba94b5..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-e/texlive-compactbib/test_texlive-compactbib_function_basic_usage.sh +++ /dev/null @@ -1,119 +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-04-02 -# @License : Mulan PSL v2 -# @Desc : Test basic usage with compact bibliography style -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试:Test basic usage with compact bibliography style" - - # 定义软件包名称 - PACKAGE_NAME="texlive-compactbib" - - # 检查软件包是否已在yum源中 - LOG_INFO "检查yum源中是否存在软件包 $PACKAGE_NAME" - if ! dnf list available "$PACKAGE_NAME" &>/dev/null; then - LOG_ERROR "软件包 $PACKAGE_NAME 在yum源中不存在" - exit 255 - fi - - # 检查软件包是否已安装 - LOG_INFO "检查系统是否已安装 $PACKAGE_NAME" - if rpm -q "$PACKAGE_NAME" &>/dev/null; then - LOG_INFO "软件包 $PACKAGE_NAME 已安装,测试后保持安装状态" - INSTALLED_BEFORE_TEST=true - else - LOG_INFO "软件包 $PACKAGE_NAME 未安装,将在测试过程中安装" - INSTALLED_BEFORE_TEST=false - fi - - # 如果未安装,则安装软件包 - if [ "$INSTALLED_BEFORE_TEST" = false ]; then - LOG_INFO "安装软件包 $PACKAGE_NAME" - dnf install -y "$PACKAGE_NAME" - CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败" - fi - - # 测试基本用法:使用compact bibliography style - LOG_INFO "测试使用compact bibliography style的基本用法" - - # 创建一个简单的LaTeX文件 - LOG_INFO "创建测试LaTeX文件" - cat > test_compactbib.tex << "EOF" - \documentclass{article} - \usepackage{compactbib} - \begin{document} - This is a test document with compact bibliography style. - \nocite{*} - \bibliographystyle{compact} - \bibliography{references} - \end{document} - EOF - - # 创建一个简单的参考文献文件 - LOG_INFO "创建测试参考文献文件" - cat > references.bib << "EOF" - @article{test2023, - author = {Test Author}, - title = {Test Title}, - journal = {Test Journal}, - year = {2023} - } - EOF - - # 使用pdflatex编译LaTeX文件 - LOG_INFO "编译LaTeX文件" - pdflatex test_compactbib.tex - CHECK_RESULT $? 0 0 "编译LaTeX文件失败" - - # 运行bibtex生成参考文献 - LOG_INFO "运行bibtex生成参考文献" - bibtex test_compactbib - CHECK_RESULT $? 0 0 "运行bibtex失败" - - # 再次编译LaTeX文件以插入参考文献 - LOG_INFO "再次编译LaTeX文件以插入参考文献" - pdflatex test_compactbib.tex - CHECK_RESULT $? 0 0 "第二次编译LaTeX文件失败" - - # 检查生成的PDF文件是否存在 - LOG_INFO "检查生成的PDF文件" - if [ -f test_compactbib.pdf ]; then - LOG_INFO "PDF文件生成成功" - else - LOG_ERROR "PDF文件生成失败" - exit 1 - fi - - # 清理测试文件 - LOG_INFO "清理测试文件" - rm -f test_compactbib.tex references.bib test_compactbib.aux test_compactbib.log test_compactbib.bbl test_compactbib.blg test_compactbib.pdf - - # 如果测试前未安装,则卸载软件包 - if [ "$INSTALLED_BEFORE_TEST" = false ]; then - LOG_INFO "卸载软件包 $PACKAGE_NAME" - dnf remove -y "$PACKAGE_NAME" - CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败" - else - LOG_INFO "测试前已安装软件包,保持安装状态" - fi - - LOG_INFO "测试完成:Test basic usage with compact bibliography style" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-e/texlive-compactbib/test_texlive-compactbib_function_bibtex.sh b/testcases/function_test/pkg_test/texlive-split-e/texlive-compactbib/test_texlive-compactbib_function_bibtex.sh deleted file mode 100644 index 9af8c8ea1d3..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-e/texlive-compactbib/test_texlive-compactbib_function_bibtex.sh +++ /dev/null @@ -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-11-27 -# @License : Mulan PSL v2 -# @Desc : Test bibtex functionality -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - - # 检查是否已安装texlive-compactbib - LOG_INFO "检查是否已安装texlive-compactbib" - rpm -q texlive-compactbib > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "texlive-compactbib已安装,脚本结束后将保持安装状态" - INSTALLED=1 - else - LOG_INFO "texlive-compactbib未安装,脚本结束后将卸载" - INSTALLED=0 - fi - - # 检查yum源中是否有texlive-compactbib - LOG_INFO "检查yum源中是否有texlive-compactbib" - dnf list available texlive-compactbib > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到texlive-compactbib软件包" - exit 255 - fi - - # 安装texlive-compactbib - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "开始安装texlive-compactbib" - dnf install -y texlive-compactbib - CHECK_RESULT $? 0 0 "安装texlive-compactbib失败" - fi - - # 测试bibtex功能 - LOG_INFO "测试bibtex功能" - echo "@article{test, author = {Test Author}, title = {Test Title}, year = {2023}}" > test.bib - CHECK_RESULT $? 0 0 "创建测试.bib文件失败" - - LOG_INFO "运行bibtex命令" - pdflatex test.tex > /dev/null 2>&1 && bibtex test > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "运行bibtex命令失败" - - # 清理测试文件 - LOG_INFO "清理测试文件" - rm -f test.aux test.bbl test.blg test.log test.bib - - # 卸载texlive-compactbib(如果之前未安装) - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "卸载texlive-compactbib" - dnf remove -y texlive-compactbib - CHECK_RESULT $? 0 0 "卸载texlive-compactbib失败" - fi - - LOG_INFO "测试脚本执行完毕,环境已恢复" - -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-e/texlive-compactbib/test_texlive-compactbib_function_check_installed.sh b/testcases/function_test/pkg_test/texlive-split-e/texlive-compactbib/test_texlive-compactbib_function_check_installed.sh deleted file mode 100644 index 109fb56ffcd..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-e/texlive-compactbib/test_texlive-compactbib_function_check_installed.sh +++ /dev/null @@ -1,95 +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-04-02 -# @License : Mulan PSL v2 -# @Desc : Test if texlive-compactbib is installed -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 定义日志函数(根据要求直接使用,这里只是声明) - LOG_INFO() { - echo "[INFO] $*" - } - - LOG_ERROR() { - echo "[ERROR] $*" - } - - # 定义测试的软件包名称 - PACKAGE_NAME="texlive-compactbib" - - # 步骤1:检查软件包是否已在yum源中 - LOG_INFO "检查yum源中是否存在软件包:$PACKAGE_NAME" - if ! dnf list available "$PACKAGE_NAME" &>/dev/null; then - LOG_ERROR "软件包 $PACKAGE_NAME 在yum源中不存在" - exit 255 - fi - - # 步骤2:检查当前环境是否已安装该软件包 - LOG_INFO "检查当前环境是否已安装软件包:$PACKAGE_NAME" - if rpm -q "$PACKAGE_NAME" &>/dev/null; then - LOG_INFO "软件包 $PACKAGE_NAME 已安装,测试期间保持安装状态" - INSTALLED_BEFORE_TEST=true - else - LOG_INFO "软件包 $PACKAGE_NAME 未安装,将在测试期间安装" - INSTALLED_BEFORE_TEST=false - fi - - # 步骤3:如果未安装,则安装软件包 - if [ "$INSTALLED_BEFORE_TEST" = false ]; then - LOG_INFO "安装软件包:$PACKAGE_NAME" - dnf install -y "$PACKAGE_NAME" - CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败" - fi - - # 步骤4:验证软件包是否安装成功 - LOG_INFO "验证软件包 $PACKAGE_NAME 是否安装成功" - rpm -q "$PACKAGE_NAME" - CHECK_RESULT $? 0 0 "软件包 $PACKAGE_NAME 未正确安装" - - # 步骤5:测试软件包的基本功能(假设通过查询包信息来测试) - LOG_INFO "测试软件包 $PACKAGE_NAME 的基本功能" - rpm -qi "$PACKAGE_NAME" - CHECK_RESULT $? 0 0 "查询软件包 $PACKAGE_NAME 信息失败" - - # 步骤6:如果测试前未安装,则在测试结束后卸载软件包 - if [ "$INSTALLED_BEFORE_TEST" = false ]; then - LOG_INFO "测试结束,卸载软件包:$PACKAGE_NAME" - dnf remove -y "$PACKAGE_NAME" - CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败" - - # 再次确认软件包已卸载 - LOG_INFO "确认软件包 $PACKAGE_NAME 已卸载" - if rpm -q "$PACKAGE_NAME" &>/dev/null; then - LOG_ERROR "软件包 $PACKAGE_NAME 卸载失败" - exit 1 - else - LOG_INFO "软件包 $PACKAGE_NAME 已成功卸载" - fi - else - LOG_INFO "测试结束,保持软件包 $PACKAGE_NAME 的安装状态" - fi - - # 步骤7:清理测试环境(确保无残留) - LOG_INFO "清理测试环境" - dnf clean all - CHECK_RESULT $? 0 0 "清理dnf缓存失败" - - LOG_INFO "测试脚本执行完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-e/texlive-compactbib/test_texlive-compactbib_function_install.sh b/testcases/function_test/pkg_test/texlive-split-e/texlive-compactbib/test_texlive-compactbib_function_install.sh deleted file mode 100644 index 5b225fa9d78..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-e/texlive-compactbib/test_texlive-compactbib_function_install.sh +++ /dev/null @@ -1,79 +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-04-02 -# @License : Mulan PSL v2 -# @Desc : Test installation of texlive-compactbib package -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 测试texlive-compactbib软件包安装功能 - - LOG_INFO "开始测试texlive-compactbib软件包安装功能" - - # 检查软件包是否已在yum源中 - LOG_INFO "检查yum源中是否存在texlive-compactbib软件包" - dnf list available texlive-compactbib > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中不存在texlive-compactbib软件包" - exit 255 - fi - - # 检查当前是否已安装texlive-compactbib - LOG_INFO "检查当前是否已安装texlive-compactbib软件包" - rpm -q texlive-compactbib > /dev/null 2>&1 - already_installed=$? - - if [ $already_installed -eq 0 ]; then - LOG_INFO "检测到texlive-compactbib软件包已安装,测试结束后将保持安装状态" - installed_by_test=0 - else - LOG_INFO "检测到texlive-compactbib软件包未安装,将进行安装测试" - installed_by_test=1 - fi - - # 安装软件包(如果未安装) - if [ $installed_by_test -eq 1 ]; then - LOG_INFO "开始安装texlive-compactbib软件包" - dnf install -y texlive-compactbib - CHECK_RESULT $? 0 0 "安装texlive-compactbib软件包失败" - LOG_INFO "texlive-compactbib软件包安装成功" - fi - - # 验证软件包安装 - LOG_INFO "验证texlive-compactbib软件包是否正常安装" - rpm -q texlive-compactbib - CHECK_RESULT $? 0 0 "验证texlive-compactbib软件包安装状态失败" - - # 测试软件包基本功能 - LOG_INFO "测试texlive-compactbib软件包基本功能" - # 这里可以添加具体的功能测试命令 - # 例如检查相关文件是否存在或运行相关命令 - - # 清理环境(如果是由测试脚本安装的) - if [ $installed_by_test -eq 1 ]; then - LOG_INFO "清理测试环境,卸载texlive-compactbib软件包" - dnf remove -y texlive-compactbib - CHECK_RESULT $? 0 0 "卸载texlive-compactbib软件包失败" - LOG_INFO "texlive-compactbib软件包卸载成功" - else - LOG_INFO "测试脚本未安装软件包,保持当前安装状态" - fi - - LOG_INFO "texlive-compactbib软件包安装功能测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-e/texlive-compactbib/test_texlive-compactbib_function_uninstall.sh b/testcases/function_test/pkg_test/texlive-split-e/texlive-compactbib/test_texlive-compactbib_function_uninstall.sh deleted file mode 100644 index 4869c88404b..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-e/texlive-compactbib/test_texlive-compactbib_function_uninstall.sh +++ /dev/null @@ -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 : 2026-04-02 -# @License : Mulan PSL v2 -# @Desc : Test uninstallation of texlive-compactbib package -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试:Test uninstallation of texlive-compactbib package" - - LOG_INFO "步骤1:检查yum源中是否存在texlive-compactbib软件包" - if ! dnf list available texlive-compactbib &>/dev/null; then - LOG_ERROR "yum源中未找到texlive-compactbib软件包" - exit 255 - fi - - LOG_INFO "步骤2:检查当前环境是否已安装texlive-compactbib软件包" - if rpm -q texlive-compactbib &>/dev/null; then - LOG_INFO "检测到texlive-compactbib软件包已安装,脚本结束时将保持安装状态" - INSTALLED_BEFORE=1 - else - LOG_INFO "未检测到texlive-compactbib软件包安装,将在测试步骤中安装" - INSTALLED_BEFORE=0 - fi - - if [ ${INSTALLED_BEFORE} -eq 0 ]; then - LOG_INFO "步骤3:安装texlive-compactbib软件包" - dnf install -y texlive-compactbib - CHECK_RESULT $? 0 0 "安装texlive-compactbib软件包失败" - fi - - LOG_INFO "步骤4:验证texlive-compactbib软件包安装成功" - rpm -q texlive-compactbib - CHECK_RESULT $? 0 0 "验证texlive-compactbib软件包安装失败" - - LOG_INFO "步骤5:卸载texlive-compactbib软件包" - dnf remove -y texlive-compactbib - CHECK_RESULT $? 0 0 "卸载texlive-compactbib软件包失败" - - LOG_INFO "步骤6:验证texlive-compactbib软件包已卸载" - if rpm -q texlive-compactbib &>/dev/null; then - LOG_ERROR "texlive-compactbib软件包卸载失败" - exit 1 - else - LOG_INFO "texlive-compactbib软件包卸载成功" - fi - - if [ ${INSTALLED_BEFORE} -eq 0 ]; then - LOG_INFO "步骤7:环境恢复,不重新安装软件包" - else - LOG_INFO "步骤7:环境恢复,重新安装texlive-compactbib软件包" - dnf install -y texlive-compactbib - CHECK_RESULT $? 0 0 "环境恢复时重新安装texlive-compactbib软件包失败" - LOG_INFO "环境已恢复到初始安装状态" - fi - - LOG_INFO "测试完成:Test uninstallation of texlive-compactbib package" -} - -main "$@" \ No newline at end of file From cb7151b8f4f5a5a86a9cdec8bb9217301c60b03e Mon Sep 17 00:00:00 2001 From: honghua Date: Tue, 21 Apr 2026 20:38:49 +0800 Subject: [PATCH 10/34] update testcase for testsuite qt6-qtscxml --- .../pkg_test/qt6-qtscxml/qt6-qtscxml.json | 14 --- ...st_qt6-qtscxml_function_package_install.sh | 92 ------------------- ...est_qt6-qtscxml_function_package_remove.sh | 80 ---------------- 3 files changed, 186 deletions(-) delete mode 100644 suite2cases/function_test/pkg_test/qt6-qtscxml/qt6-qtscxml.json delete mode 100644 testcases/function_test/pkg_test/qt6-qtscxml/qt6-qtscxml/test_qt6-qtscxml_function_package_install.sh delete mode 100644 testcases/function_test/pkg_test/qt6-qtscxml/qt6-qtscxml/test_qt6-qtscxml_function_package_remove.sh diff --git a/suite2cases/function_test/pkg_test/qt6-qtscxml/qt6-qtscxml.json b/suite2cases/function_test/pkg_test/qt6-qtscxml/qt6-qtscxml.json deleted file mode 100644 index c50893d4b68..00000000000 --- a/suite2cases/function_test/pkg_test/qt6-qtscxml/qt6-qtscxml.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "path": "$OET_PATH/testcases/function_test/pkg_test/qt6-qtscxml/qt6-qtscxml", - "machine num": 1, - "cases": [ - { - "name": "test_qt6-qtscxml_function_package_install", - "desc": "测试qt6-qtscxml软件包是否能被正确安装" - }, - { - "name": "test_qt6-qtscxml_function_package_remove", - "desc": "测试qt6-qtscxml软件包是否能被正确卸载" - } - ] -} \ No newline at end of file diff --git a/testcases/function_test/pkg_test/qt6-qtscxml/qt6-qtscxml/test_qt6-qtscxml_function_package_install.sh b/testcases/function_test/pkg_test/qt6-qtscxml/qt6-qtscxml/test_qt6-qtscxml_function_package_install.sh deleted file mode 100644 index c78865c8e5a..00000000000 --- a/testcases/function_test/pkg_test/qt6-qtscxml/qt6-qtscxml/test_qt6-qtscxml_function_package_install.sh +++ /dev/null @@ -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-07 -# @License : Mulan PSL v2 -# @Desc : 测试qt6-qtscxml软件包是否能被正确安装 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 定义日志函数 - LOG_INFO() { - echo "[INFO] $*" - } - - LOG_ERROR() { - echo "[ERROR] $*" >&2 - } - - # 定义软件包名称 - PACKAGE_NAME="qt6-qtscxml" - - # 步骤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 - LOG_INFO "软件包 $PACKAGE_NAME 在yum源中存在" - - # 步骤2: 检查当前环境中是否已安装该软件包 - LOG_INFO "步骤2: 检查当前环境中是否已安装软件包 $PACKAGE_NAME" - if rpm -q "$PACKAGE_NAME" &>/dev/null; then - LOG_INFO "软件包 $PACKAGE_NAME 已安装,脚本结束后将保持安装状态" - ALREADY_INSTALLED=true - else - LOG_INFO "软件包 $PACKAGE_NAME 未安装" - ALREADY_INSTALLED=false - fi - - # 步骤3: 如果未安装,则安装软件包作为测试步骤 - if [ "$ALREADY_INSTALLED" = false ]; then - LOG_INFO "步骤3: 安装软件包 $PACKAGE_NAME" - dnf install -y "$PACKAGE_NAME" - CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败" - LOG_INFO "软件包 $PACKAGE_NAME 安装成功" - fi - - # 步骤4: 验证软件包安装是否成功 - LOG_INFO "步骤4: 验证软件包 $PACKAGE_NAME 是否成功安装" - rpm -q "$PACKAGE_NAME" &>/dev/null - CHECK_RESULT $? 0 0 "软件包 $PACKAGE_NAME 未正确安装" - - # 步骤5: 测试软件包的基本功能(例如,查看版本信息) - LOG_INFO "步骤5: 测试软件包 $PACKAGE_NAME 的基本功能" - if command -v qscxmlc &>/dev/null; then - LOG_INFO "qscxmlc 命令存在,尝试查看版本信息" - qscxmlc --version &>/dev/null - CHECK_RESULT $? 0 0 "qscxmlc 命令执行失败" - LOG_INFO "qscxmlc 命令执行成功" - else - LOG_INFO "qscxmlc 命令不存在,跳过功能测试" - fi - - # 步骤6: 清理环境,恢复到之前的状态 - LOG_INFO "步骤6: 清理环境,恢复到之前的状态" - if [ "$ALREADY_INSTALLED" = false ]; then - LOG_INFO "卸载在测试过程中安装的软件包 $PACKAGE_NAME" - dnf remove -y "$PACKAGE_NAME" - CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败" - LOG_INFO "软件包 $PACKAGE_NAME 卸载成功" - else - LOG_INFO "软件包 $PACKAGE_NAME 在测试前已安装,保持安装状态" - fi - - LOG_INFO "测试脚本执行完毕" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/qt6-qtscxml/qt6-qtscxml/test_qt6-qtscxml_function_package_remove.sh b/testcases/function_test/pkg_test/qt6-qtscxml/qt6-qtscxml/test_qt6-qtscxml_function_package_remove.sh deleted file mode 100644 index 9f28a7905d0..00000000000 --- a/testcases/function_test/pkg_test/qt6-qtscxml/qt6-qtscxml/test_qt6-qtscxml_function_package_remove.sh +++ /dev/null @@ -1,80 +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-07 -# @License : Mulan PSL v2 -# @Desc : 测试qt6-qtscxml软件包是否能被正确卸载 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - PACKAGE_NAME="qt6-qtscxml" - LOG_INFO "开始测试:测试qt6-qtscxml软件包是否能被正确卸载" - - LOG_INFO "步骤1:检查dnf工具是否可用" - command -v dnf >/dev/null 2>&1 - CHECK_RESULT $? 0 0 "dnf工具未找到" - - LOG_INFO "步骤2:检查yum源中是否存在软件包 $PACKAGE_NAME" - dnf list available $PACKAGE_NAME >/dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到软件包 $PACKAGE_NAME" - exit 255 - fi - - LOG_INFO "步骤3:检查当前环境中软件包 $PACKAGE_NAME 的安装状态" - rpm -q $PACKAGE_NAME >/dev/null 2>&1 - PACKAGE_INSTALLED=$? - if [ $PACKAGE_INSTALLED -eq 0 ]; then - LOG_INFO "软件包 $PACKAGE_NAME 已安装,测试结束后将保持安装状态" - NEED_CLEANUP=0 - else - LOG_INFO "软件包 $PACKAGE_NAME 未安装,将执行安装作为测试步骤" - NEED_CLEANUP=1 - fi - - if [ $NEED_CLEANUP -eq 1 ]; then - LOG_INFO "步骤4:安装软件包 $PACKAGE_NAME" - dnf install -y $PACKAGE_NAME - CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败" - fi - - LOG_INFO "步骤5:验证软件包 $PACKAGE_NAME 已成功安装" - rpm -q $PACKAGE_NAME >/dev/null 2>&1 - CHECK_RESULT $? 0 0 "软件包 $PACKAGE_NAME 未正确安装" - - LOG_INFO "步骤6:执行卸载操作" - dnf remove -y $PACKAGE_NAME - CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败" - - LOG_INFO "步骤7:验证软件包 $PACKAGE_NAME 已被卸载" - rpm -q $PACKAGE_NAME >/dev/null 2>&1 - CHECK_RESULT $? 1 0 "软件包 $PACKAGE_NAME 卸载后仍可查询到" - - LOG_INFO "步骤8:环境恢复" - if [ $NEED_CLEANUP -eq 1 ]; then - LOG_INFO "测试前环境未安装,无需恢复安装状态" - else - LOG_INFO "恢复软件包 $PACKAGE_NAME 的安装状态" - dnf install -y $PACKAGE_NAME - CHECK_RESULT $? 0 0 "恢复安装软件包 $PACKAGE_NAME 失败" - rpm -q $PACKAGE_NAME >/dev/null 2>&1 - CHECK_RESULT $? 0 0 "恢复后软件包 $PACKAGE_NAME 状态异常" - fi - - LOG_INFO "测试完成:qt6-qtscxml软件包能够被正确卸载" -} - -main "$@" \ No newline at end of file From 0c0a03ab6ae87019faa76f44e8500de03ca58b1f Mon Sep 17 00:00:00 2001 From: honghua Date: Tue, 21 Apr 2026 20:41:40 +0800 Subject: [PATCH 11/34] update testcase for testsuite texlive-selnolig-doc --- .../texlive-split-u/texlive-selnolig-doc.json | 22 ----- ...texlive-selnolig-doc_function_check_doc.sh | 74 ----------------- ...t_texlive-selnolig-doc_function_install.sh | 69 ---------------- ...texlive-selnolig-doc_function_uninstall.sh | 82 ------------------- ...exlive-selnolig-doc_function_usage_info.sh | 82 ------------------- 5 files changed, 329 deletions(-) delete mode 100644 suite2cases/function_test/pkg_test/texlive-split-u/texlive-selnolig-doc.json delete mode 100644 testcases/function_test/pkg_test/texlive-split-u/texlive-selnolig-doc/test_texlive-selnolig-doc_function_check_doc.sh delete mode 100644 testcases/function_test/pkg_test/texlive-split-u/texlive-selnolig-doc/test_texlive-selnolig-doc_function_install.sh delete mode 100644 testcases/function_test/pkg_test/texlive-split-u/texlive-selnolig-doc/test_texlive-selnolig-doc_function_uninstall.sh delete mode 100644 testcases/function_test/pkg_test/texlive-split-u/texlive-selnolig-doc/test_texlive-selnolig-doc_function_usage_info.sh diff --git a/suite2cases/function_test/pkg_test/texlive-split-u/texlive-selnolig-doc.json b/suite2cases/function_test/pkg_test/texlive-split-u/texlive-selnolig-doc.json deleted file mode 100644 index 442b1f18fb3..00000000000 --- a/suite2cases/function_test/pkg_test/texlive-split-u/texlive-selnolig-doc.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-u/texlive-selnolig-doc", - "machine num": 1, - "cases": [ - { - "name": "test_texlive-selnolig-doc_function_install", - "desc": "Verify package installation" - }, - { - "name": "test_texlive-selnolig-doc_function_uninstall", - "desc": "Verify package uninstallation" - }, - { - "name": "test_texlive-selnolig-doc_function_check_doc", - "desc": "Check documentation files existence" - }, - { - "name": "test_texlive-selnolig-doc_function_usage_info", - "desc": "Verify package provides usage info" - } - ] -} \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-u/texlive-selnolig-doc/test_texlive-selnolig-doc_function_check_doc.sh b/testcases/function_test/pkg_test/texlive-split-u/texlive-selnolig-doc/test_texlive-selnolig-doc_function_check_doc.sh deleted file mode 100644 index 003ed903708..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-u/texlive-selnolig-doc/test_texlive-selnolig-doc_function_check_doc.sh +++ /dev/null @@ -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 : 2026-03-24 -# @License : Mulan PSL v2 -# @Desc : Check documentation files existence -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试:检查文档文件是否存在" - - # 检查软件包是否在yum源中 - LOG_INFO "检查yum源中是否存在texlive-selnolig-doc软件包" - if ! dnf list available texlive-selnolig-doc &> /dev/null; then - LOG_ERROR "yum源中不存在texlive-selnolig-doc软件包" - exit 255 - fi - - # 检查是否已安装软件包 - LOG_INFO "检查texlive-selnolig-doc是否已安装" - if rpm -q texlive-selnolig-doc &> /dev/null; then - LOG_INFO "texlive-selnolig-doc已安装,测试结束后保持安装状态" - INSTALLED_BEFORE_TEST=true - else - LOG_INFO "texlive-selnolig-doc未安装,将进行安装" - INSTALLED_BEFORE_TEST=false - fi - - # 如果未安装,则安装软件包 - if [ "$INSTALLED_BEFORE_TEST" = false ]; then - LOG_INFO "安装texlive-selnolig-doc软件包" - dnf install -y texlive-selnolig-doc - CHECK_RESULT $? 0 0 "安装texlive-selnolig-doc失败" - fi - - # 检查文档文件是否存在 - LOG_INFO "检查texlive-selnolig-doc的文档文件是否存在" - DOC_FILES=$(rpm -ql texlive-selnolig-doc | grep -E "\.pdf$|\.html$|\.txt$|\.md$") - if [ -z "$DOC_FILES" ]; then - LOG_ERROR "未找到texlive-selnolig-doc的文档文件" - CHECK_RESULT 1 0 0 "文档文件不存在" - else - LOG_INFO "找到以下文档文件:" - echo "$DOC_FILES" - CHECK_RESULT 0 0 0 "文档文件存在" - fi - - # 环境恢复 - LOG_INFO "恢复测试环境" - if [ "$INSTALLED_BEFORE_TEST" = false ]; then - LOG_INFO "卸载texlive-selnolig-doc软件包" - dnf remove -y texlive-selnolig-doc - CHECK_RESULT $? 0 0 "卸载texlive-selnolig-doc失败" - else - LOG_INFO "保持texlive-selnolig-doc安装状态" - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-u/texlive-selnolig-doc/test_texlive-selnolig-doc_function_install.sh b/testcases/function_test/pkg_test/texlive-split-u/texlive-selnolig-doc/test_texlive-selnolig-doc_function_install.sh deleted file mode 100644 index 9920d8e1478..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-u/texlive-selnolig-doc/test_texlive-selnolig-doc_function_install.sh +++ /dev/null @@ -1,69 +0,0 @@ -#!/usr/bin/bash - -# Copyright (c) 2024 ISCAS .ALL rights reserved. -# This program is licensed under Mulan PSL v2. -# You can use it according to the terms and conditions of the Mulan PSL v2. -# http://license.coscl.org.cn/MulanPSL2 -# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, -# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, -# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. -# See the Mulan PSL v2 for more details. - -# ############################################# -# @Author : honghua -# @Contact : honghua@iscas.ac.cn -# @Date : 2025-11-26 -# @License : Mulan PSL v2 -# @Desc : Verify package installation -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - - # 检查yum源中是否存在texlive-selnolig-doc软件包 - LOG_INFO "检查yum源中是否存在texlive-selnolig-doc软件包" - dnf list available texlive-selnolig-doc > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中不存在texlive-selnolig-doc软件包" - exit 255 - fi - - # 检查是否已安装texlive-selnolig-doc - LOG_INFO "检查是否已安装texlive-selnolig-doc" - rpm -q texlive-selnolig-doc > /dev/null 2>&1 - if [ $? -eq 0 ]; then - installed=true - LOG_INFO "texlive-selnolig-doc已安装" - else - installed=false - LOG_INFO "texlive-selnolig-doc未安装" - fi - - # 如果未安装,则安装软件包 - if [ "$installed" = false ]; then - LOG_INFO "开始安装texlive-selnolig-doc" - dnf install -y texlive-selnolig-doc - CHECK_RESULT $? 0 0 "安装texlive-selnolig-doc失败" - LOG_INFO "texlive-selnolig-doc安装成功" - fi - - # 验证软件包功能 - LOG_INFO "验证texlive-selnolig-doc功能" - command_to_test="texdoc selnolig" # 假设这是验证功能的命令 - $command_to_test > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "texlive-selnolig-doc功能验证失败" - - # 如果脚本开始时未安装,则在结束时卸载 - if [ "$installed" = false ]; then - LOG_INFO "卸载texlive-selnolig-doc" - dnf remove -y texlive-selnolig-doc - CHECK_RESULT $? 0 0 "卸载texlive-selnolig-doc失败" - LOG_INFO "texlive-selnolig-doc卸载成功" - fi - - LOG_INFO "测试脚本执行完毕,环境已恢复" - -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-u/texlive-selnolig-doc/test_texlive-selnolig-doc_function_uninstall.sh b/testcases/function_test/pkg_test/texlive-split-u/texlive-selnolig-doc/test_texlive-selnolig-doc_function_uninstall.sh deleted file mode 100644 index 68aab751be7..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-u/texlive-selnolig-doc/test_texlive-selnolig-doc_function_uninstall.sh +++ /dev/null @@ -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-24 -# @License : Mulan PSL v2 -# @Desc : Verify package uninstallation -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 检查是否已安装texlive-selnolig-doc软件包 - LOG_INFO "检查是否已安装texlive-selnolig-doc软件包" - rpm -q texlive-selnolig-doc - if [ $? -eq 0 ]; then - LOG_INFO "texlive-selnolig-doc已安装,脚本结束时将保持安装状态" - INSTALLED_BEFORE=1 - else - LOG_INFO "texlive-selnolig-doc未安装,将在测试步骤中安装并在脚本结束前卸载" - INSTALLED_BEFORE=0 - fi - - # 检查yum源中是否有texlive-selnolig-doc软件包 - LOG_INFO "检查yum源中是否有texlive-selnolig-doc软件包" - dnf list available texlive-selnolig-doc - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到texlive-selnolig-doc软件包" - exit 255 - fi - - # 如果未安装,则安装软件包 - if [ $INSTALLED_BEFORE -eq 0 ]; then - LOG_INFO "安装texlive-selnolig-doc软件包" - dnf install -y texlive-selnolig-doc - CHECK_RESULT $? 0 0 "安装texlive-selnolig-doc软件包失败" - fi - - # 验证软件包已安装 - LOG_INFO "验证texlive-selnolig-doc软件包已安装" - rpm -q texlive-selnolig-doc - CHECK_RESULT $? 0 0 "texlive-selnolig-doc软件包未正确安装" - - # 执行卸载测试 - LOG_INFO "执行卸载测试" - dnf remove -y texlive-selnolig-doc - CHECK_RESULT $? 0 0 "卸载texlive-selnolig-doc软件包失败" - - # 验证软件包已卸载 - LOG_INFO "验证texlive-selnolig-doc软件包已卸载" - rpm -q texlive-selnolig-doc - if [ $? -eq 0 ]; then - LOG_ERROR "texlive-selnolig-doc软件包卸载后仍存在" - exit 1 - else - LOG_INFO "texlive-selnolig-doc软件包已成功卸载" - fi - - # 环境恢复:如果之前未安装,则无需恢复;如果之前已安装,则重新安装 - if [ $INSTALLED_BEFORE -eq 1 ]; then - LOG_INFO "恢复环境:重新安装texlive-selnolig-doc软件包" - dnf install -y texlive-selnolig-doc - CHECK_RESULT $? 0 0 "重新安装texlive-selnolig-doc软件包失败" - LOG_INFO "环境已恢复到初始安装状态" - else - LOG_INFO "环境已恢复到初始未安装状态" - fi - - LOG_INFO "测试完成:Verify package uninstallation" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-u/texlive-selnolig-doc/test_texlive-selnolig-doc_function_usage_info.sh b/testcases/function_test/pkg_test/texlive-split-u/texlive-selnolig-doc/test_texlive-selnolig-doc_function_usage_info.sh deleted file mode 100644 index 7f434e68ee6..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-u/texlive-selnolig-doc/test_texlive-selnolig-doc_function_usage_info.sh +++ /dev/null @@ -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-24 -# @License : Mulan PSL v2 -# @Desc : Verify package provides usage info -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试:验证软件包提供使用信息" - - # 检查软件包是否已在yum源中 - LOG_INFO "步骤1:检查软件包texlive-selnolig-doc是否在yum源中" - if ! dnf list available texlive-selnolig-doc &>/dev/null; then - LOG_ERROR "软件包texlive-selnolig-doc不在yum源中" - exit 255 - fi - - # 检查软件包是否已安装 - LOG_INFO "步骤2:检查软件包texlive-selnolig-doc是否已安装" - if rpm -q texlive-selnolig-doc &>/dev/null; then - LOG_INFO "软件包已安装,测试结束后将保持安装状态" - already_installed=true - else - LOG_INFO "软件包未安装,将在测试过程中安装并在结束后卸载" - already_installed=false - fi - - # 如果未安装,则安装软件包 - if [ "$already_installed" = false ]; then - LOG_INFO "步骤3:安装软件包texlive-selnolig-doc" - dnf install -y texlive-selnolig-doc - CHECK_RESULT $? 0 0 "安装软件包失败" - fi - - # 验证软件包提供使用信息 - LOG_INFO "步骤4:验证软件包提供的使用信息" - if command -v selnolig &>/dev/null; then - LOG_INFO "检查selnolig命令的帮助信息" - if ! selnolig --help &>/dev/null; then - LOG_ERROR "selnolig命令不支持--help参数" - exit 255 - fi - CHECK_RESULT $? 0 0 "获取使用信息失败" - else - LOG_INFO "检查软件包文档" - if [ -d /usr/share/doc/texlive-selnolig-doc ]; then - LOG_INFO "软件包文档目录存在" - CHECK_RESULT $? 0 0 "软件包文档目录不存在" - else - LOG_ERROR "软件包未提供使用信息或文档" - exit 1 - fi - fi - - # 环境恢复 - LOG_INFO "步骤5:恢复测试环境" - if [ "$already_installed" = false ]; then - LOG_INFO "卸载软件包texlive-selnolig-doc" - dnf remove -y texlive-selnolig-doc - CHECK_RESULT $? 0 0 "卸载软件包失败" - else - LOG_INFO "软件包保持安装状态,无需卸载" - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file From b2af70ce9dda4b6ccc70874155b98f587a7f31b3 Mon Sep 17 00:00:00 2001 From: honghua Date: Tue, 21 Apr 2026 20:44:53 +0800 Subject: [PATCH 12/34] update testcase for testsuite texlive-hyphen-ukrainian --- .../texlive-hyphen-ukrainian.json | 10 --- ...e-hyphen-ukrainian_function_hyphenation.sh | 73 ------------------- 2 files changed, 83 deletions(-) delete mode 100644 suite2cases/function_test/pkg_test/texlive-split-l/texlive-hyphen-ukrainian.json delete mode 100644 testcases/function_test/pkg_test/texlive-split-l/texlive-hyphen-ukrainian/test_texlive-hyphen-ukrainian_function_hyphenation.sh diff --git a/suite2cases/function_test/pkg_test/texlive-split-l/texlive-hyphen-ukrainian.json b/suite2cases/function_test/pkg_test/texlive-split-l/texlive-hyphen-ukrainian.json deleted file mode 100644 index aa31fc2ff5c..00000000000 --- a/suite2cases/function_test/pkg_test/texlive-split-l/texlive-hyphen-ukrainian.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-l/texlive-hyphen-ukrainian", - "machine num": 1, - "cases": [ - { - "name": "test_texlive-hyphen-ukrainian_function_hyphenation", - "desc": "Test Ukrainian hyphenation rules" - } - ] -} \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-l/texlive-hyphen-ukrainian/test_texlive-hyphen-ukrainian_function_hyphenation.sh b/testcases/function_test/pkg_test/texlive-split-l/texlive-hyphen-ukrainian/test_texlive-hyphen-ukrainian_function_hyphenation.sh deleted file mode 100644 index 2f0f008ba63..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-l/texlive-hyphen-ukrainian/test_texlive-hyphen-ukrainian_function_hyphenation.sh +++ /dev/null @@ -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-26 -# @License : Mulan PSL v2 -# @Desc : Test Ukrainian hyphenation rules -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试乌克兰语连字符规则功能" - - # 检查是否已安装texlive-hyphen-ukrainian - dnf list installed texlive-hyphen-ukrainian > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "texlive-hyphen-ukrainian已安装,测试结束后将保持安装状态" - INSTALLED=1 - else - LOG_INFO "texlive-hyphen-ukrainian未安装,将在测试结束后卸载" - INSTALLED=0 - fi - - # 检查yum源中是否有texlive-hyphen-ukrainian软件包 - dnf list available texlive-hyphen-ukrainian > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到texlive-hyphen-ukrainian软件包" - exit 255 - fi - - # 安装texlive-hyphen-ukrainian(如果未安装) - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "正在安装texlive-hyphen-ukrainian" - dnf install -y texlive-hyphen-ukrainian > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "安装texlive-hyphen-ukrainian失败" - fi - - # 测试乌克兰语连字符规则功能是否存在或支持 - LOG_INFO "测试乌克兰语连字符规则功能是否存在或支持" - hyphenation_test_cmd="some_hyphenation_test_command" - command -v $hyphenation_test_cmd > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "$hyphenation_test_cmd命令不存在或不支持" - exit 255 - fi - - # 执行乌克兰语连字符规则测试命令(示例命令) - LOG_INFO "执行乌克兰语连字符规则测试命令" - $hyphenation_test_cmd --test-ukrainian > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "乌克兰语连字符规则测试失败" - - # 清理环境(如果之前未安装) - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "正在卸载texlive-hyphen-ukrainian" - dnf remove -y texlive-hyphen-ukrainian > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "卸载texlive-hyphen-ukrainian失败" - fi - - LOG_INFO "乌克兰语连字符规则功能测试完成" -} - -main "$@" \ No newline at end of file From effce0097f5e5e611539bd12b9bcd1a4eb4de1a1 Mon Sep 17 00:00:00 2001 From: honghua Date: Tue, 21 Apr 2026 20:47:49 +0800 Subject: [PATCH 13/34] update testcase for testsuite texlive-newtxtt --- .../texlive-split-p/texlive-newtxtt.json | 26 ---- ...est_texlive-newtxtt_function_doc_access.sh | 79 ----------- ...test_texlive-newtxtt_function_font_list.sh | 124 ------------------ ...est_texlive-newtxtt_function_font_usage.sh | 82 ------------ .../test_texlive-newtxtt_function_install.sh | 61 --------- .../test_texlive-newtxtt_function_remove.sh | 74 ----------- 6 files changed, 446 deletions(-) delete mode 100644 suite2cases/function_test/pkg_test/texlive-split-p/texlive-newtxtt.json delete mode 100644 testcases/function_test/pkg_test/texlive-split-p/texlive-newtxtt/test_texlive-newtxtt_function_doc_access.sh delete mode 100644 testcases/function_test/pkg_test/texlive-split-p/texlive-newtxtt/test_texlive-newtxtt_function_font_list.sh delete mode 100644 testcases/function_test/pkg_test/texlive-split-p/texlive-newtxtt/test_texlive-newtxtt_function_font_usage.sh delete mode 100644 testcases/function_test/pkg_test/texlive-split-p/texlive-newtxtt/test_texlive-newtxtt_function_install.sh delete mode 100644 testcases/function_test/pkg_test/texlive-split-p/texlive-newtxtt/test_texlive-newtxtt_function_remove.sh diff --git a/suite2cases/function_test/pkg_test/texlive-split-p/texlive-newtxtt.json b/suite2cases/function_test/pkg_test/texlive-split-p/texlive-newtxtt.json deleted file mode 100644 index 76362dc2afb..00000000000 --- a/suite2cases/function_test/pkg_test/texlive-split-p/texlive-newtxtt.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-p/texlive-newtxtt", - "machine num": 1, - "cases": [ - { - "name": "test_texlive-newtxtt_function_install", - "desc": "Test package installation" - }, - { - "name": "test_texlive-newtxtt_function_remove", - "desc": "Test package removal" - }, - { - "name": "test_texlive-newtxtt_function_font_usage", - "desc": "Test font availability in LaTeX" - }, - { - "name": "test_texlive-newtxtt_function_font_list", - "desc": "Test font files existence" - }, - { - "name": "test_texlive-newtxtt_function_doc_access", - "desc": "Test documentation accessibility" - } - ] -} \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-p/texlive-newtxtt/test_texlive-newtxtt_function_doc_access.sh b/testcases/function_test/pkg_test/texlive-split-p/texlive-newtxtt/test_texlive-newtxtt_function_doc_access.sh deleted file mode 100644 index 902d3b8843e..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-p/texlive-newtxtt/test_texlive-newtxtt_function_doc_access.sh +++ /dev/null @@ -1,79 +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-04-01 -# @License : Mulan PSL v2 -# @Desc : Test documentation accessibility -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试:Test documentation accessibility" - - # 检查是否已安装texlive-newtxtt相关包 - LOG_INFO "检查texlive-newtxtt是否已安装" - if rpm -q texlive-newtxtt &>/dev/null; then - LOG_INFO "texlive-newtxtt已安装,测试后将保持安装状态" - ALREADY_INSTALLED=1 - else - LOG_INFO "texlive-newtxtt未安装,将在测试中安装" - ALREADY_INSTALLED=0 - fi - - # 检查yum源中是否有texlive-newtxtt软件包 - LOG_INFO "检查yum源中是否存在texlive-newtxtt软件包" - if ! dnf list available texlive-newtxtt &>/dev/null; then - LOG_ERROR "yum源中未找到texlive-newtxtt软件包" - exit 255 - fi - - # 安装texlive-newtxtt(如果未安装) - if [ $ALREADY_INSTALLED -eq 0 ]; then - LOG_INFO "安装texlive-newtxtt软件包" - dnf install -y texlive-newtxtt - CHECK_RESULT $? 0 0 "安装texlive-newtxtt失败" - fi - - # 测试文档可访问性 - LOG_INFO "测试texlive-newtxtt文档可访问性" - # 假设texlive-newtxtt提供了文档访问命令或文件,这里以检查文档目录为例 - if [ -d "/usr/share/doc/texlive-newtxtt" ]; then - LOG_INFO "找到texlive-newtxtt文档目录" - # 检查文档文件是否存在 - if ls /usr/share/doc/texlive-newtxtt/* &>/dev/null; then - LOG_INFO "texlive-newtxtt文档文件存在" - CHECK_RESULT $? 0 0 "文档文件不可访问" - else - LOG_ERROR "未找到texlive-newtxtt文档文件" - CHECK_RESULT $? 0 1 "文档文件不存在" - fi - else - LOG_ERROR "未找到texlive-newtxtt文档目录" - CHECK_RESULT $? 0 1 "文档目录不存在" - fi - - # 清理环境:如果测试前未安装,则卸载软件包 - if [ $ALREADY_INSTALLED -eq 0 ]; then - LOG_INFO "卸载texlive-newtxtt软件包" - dnf remove -y texlive-newtxtt - CHECK_RESULT $? 0 0 "卸载texlive-newtxtt失败" - else - LOG_INFO "测试前已安装texlive-newtxtt,保持安装状态" - fi - - LOG_INFO "测试完成:Test documentation accessibility" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-p/texlive-newtxtt/test_texlive-newtxtt_function_font_list.sh b/testcases/function_test/pkg_test/texlive-split-p/texlive-newtxtt/test_texlive-newtxtt_function_font_list.sh deleted file mode 100644 index aa7ca8a0e5e..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-p/texlive-newtxtt/test_texlive-newtxtt_function_font_list.sh +++ /dev/null @@ -1,124 +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-04-01 -# @License : Mulan PSL v2 -# @Desc : Test font files existence -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 检查是否以root用户运行 - if [ "$(id -u)" -ne 0 ]; then - LOG_ERROR "请使用root用户运行此脚本" - exit 255 - fi - - # 定义软件包名称 - PACKAGE_NAME="texlive-newtxtt" - - # 步骤1: 检查yum源中是否有texlive-newtxtt软件包 - LOG_INFO "步骤1: 检查yum源中是否有${PACKAGE_NAME}软件包" - dnf list available ${PACKAGE_NAME} > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中没有找到${PACKAGE_NAME}软件包" - exit 255 - fi - - # 步骤2: 检查系统是否已安装texlive-newtxtt - LOG_INFO "步骤2: 检查系统是否已安装${PACKAGE_NAME}" - rpm -q ${PACKAGE_NAME} > /dev/null 2>&1 - INSTALLED=$? - if [ ${INSTALLED} -eq 0 ]; then - LOG_INFO "系统已安装${PACKAGE_NAME},测试结束后将保持安装状态" - NEED_CLEANUP=0 - else - LOG_INFO "系统未安装${PACKAGE_NAME},测试结束后将卸载" - NEED_CLEANUP=1 - fi - - # 步骤3: 如果未安装则安装软件包 - if [ ${INSTALLED} -ne 0 ]; then - LOG_INFO "步骤3: 安装${PACKAGE_NAME}软件包" - dnf install -y ${PACKAGE_NAME} - CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}失败" - fi - - # 步骤4: 检查texlive-newtxtt命令是否存在 - LOG_INFO "步骤4: 检查texlive-newtxtt命令是否存在" - which texlive-newtxtt > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "texlive-newtxtt命令不存在" - - # 步骤5: 检查texlive-newtxtt是否支持--font-list参数 - LOG_INFO "步骤5: 检查texlive-newtxtt是否支持--font-list参数" - texlive-newtxtt --help 2>&1 | grep -q "\-\-font\-list" - CHECK_RESULT $? 0 0 "texlive-newtxtt不支持--font-list参数" - - # 步骤6: 执行texlive-newtxtt --font-list命令 - LOG_INFO "步骤6: 执行texlive-newtxtt --font-list命令" - texlive-newtxtt --font-list > /tmp/font_list.txt 2>&1 - CHECK_RESULT $? 0 0 "执行texlive-newtxtt --font-list命令失败" - - # 步骤7: 检查输出文件是否存在且非空 - LOG_INFO "步骤7: 检查字体列表文件是否存在且非空" - [ -s /tmp/font_list.txt ] - CHECK_RESULT $? 0 0 "字体列表文件不存在或为空" - - # 步骤8: 检查字体文件是否存在 - LOG_INFO "步骤8: 检查字体文件是否存在" - FONT_COUNT=$(grep -c "\.ttf\|\.otf" /tmp/font_list.txt) - if [ ${FONT_COUNT} -gt 0 ]; then - LOG_INFO "找到${FONT_COUNT}个字体文件" - # 检查前几个字体文件是否存在 - FONT_FILES=$(grep -E "\.ttf|\.otf" /tmp/font_list.txt | head -5) - for font in ${FONT_FILES}; do - if [ -f "${font}" ]; then - LOG_INFO "字体文件存在: ${font}" - else - LOG_ERROR "字体文件不存在: ${font}" - CHECK_RESULT 1 0 0 "字体文件${font}不存在" - fi - done - else - LOG_ERROR "未找到任何字体文件" - CHECK_RESULT 1 0 0 "未找到任何字体文件" - fi - - # 步骤9: 清理临时文件 - LOG_INFO "步骤9: 清理临时文件" - rm -f /tmp/font_list.txt - CHECK_RESULT $? 0 0 "清理临时文件失败" - - # 步骤10: 如果测试前未安装,则卸载软件包 - if [ ${NEED_CLEANUP} -eq 1 ]; then - LOG_INFO "步骤10: 卸载${PACKAGE_NAME}软件包" - dnf remove -y ${PACKAGE_NAME} - CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}失败" - # 验证是否已卸载 - rpm -q ${PACKAGE_NAME} > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_ERROR "卸载${PACKAGE_NAME}失败,软件包仍然存在" - exit 1 - else - LOG_INFO "${PACKAGE_NAME}已成功卸载" - fi - else - LOG_INFO "步骤10: 保持${PACKAGE_NAME}安装状态" - fi - - LOG_INFO "测试完成: 字体文件存在性检查通过" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-p/texlive-newtxtt/test_texlive-newtxtt_function_font_usage.sh b/testcases/function_test/pkg_test/texlive-split-p/texlive-newtxtt/test_texlive-newtxtt_function_font_usage.sh deleted file mode 100644 index 6a7267b49dd..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-p/texlive-newtxtt/test_texlive-newtxtt_function_font_usage.sh +++ /dev/null @@ -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-04-01 -# @License : Mulan PSL v2 -# @Desc : Test font availability in LaTeX -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试:Test font availability in LaTeX" - LOG_INFO "步骤1:检查系统中是否已安装texlive-newtxtt软件包" - if rpm -q texlive-newtxtt > /dev/null 2>&1; then - LOG_INFO "texlive-newtxtt已安装,测试结束后将保持安装状态" - INSTALLED=1 - else - LOG_INFO "texlive-newtxtt未安装,将在测试过程中安装" - INSTALLED=0 - fi - LOG_INFO "步骤2:检查yum源中是否有texlive-newtxtt软件包" - if ! dnf list available texlive-newtxtt > /dev/null 2>&1; then - LOG_ERROR "yum源中未找到texlive-newtxtt软件包" - exit 255 - fi - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "步骤3:安装texlive-newtxtt软件包" - dnf install -y texlive-newtxtt - CHECK_RESULT $? 0 0 "安装texlive-newtxtt失败" - fi - LOG_INFO "步骤4:检查texlive-newtxtt是否包含字体使用功能" - if ! texdoc newtxtt > /dev/null 2>&1; then - LOG_ERROR "texlive-newtxtt不支持字体使用功能或参数错误" - if [ $INSTALLED -eq 0 ]; then - dnf remove -y texlive-newtxtt - fi - exit 255 - fi - LOG_INFO "步骤5:创建一个简单的LaTeX文档测试字体可用性" - cat > test_font.tex << "EOF" - \documentclass{article} - \usepackage{newtxtt} - \begin{document} - This is a test of newtxtt font. - \end{document} - EOF - CHECK_RESULT $? 0 0 "创建测试LaTeX文档失败" - LOG_INFO "步骤6:使用pdflatex编译LaTeX文档" - pdflatex test_font.tex - CHECK_RESULT $? 0 0 "编译LaTeX文档失败" - LOG_INFO "步骤7:检查生成的PDF文件" - if [ -f test_font.pdf ]; then - LOG_INFO "PDF文件生成成功,字体可用性测试通过" - else - LOG_ERROR "PDF文件生成失败,字体可能不可用" - CHECK_RESULT 1 0 0 "字体可用性测试失败" - fi - LOG_INFO "步骤8:清理测试文件" - rm -f test_font.tex test_font.log test_font.aux test_font.pdf - CHECK_RESULT $? 0 0 "清理测试文件失败" - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "步骤9:卸载texlive-newtxtt软件包" - dnf remove -y texlive-newtxtt - CHECK_RESULT $? 0 0 "卸载texlive-newtxtt失败" - else - LOG_INFO "步骤9:保持texlive-newtxtt安装状态,无需卸载" - fi - LOG_INFO "测试完成:Test font availability in LaTeX" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-p/texlive-newtxtt/test_texlive-newtxtt_function_install.sh b/testcases/function_test/pkg_test/texlive-split-p/texlive-newtxtt/test_texlive-newtxtt_function_install.sh deleted file mode 100644 index cd2b9393a50..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-p/texlive-newtxtt/test_texlive-newtxtt_function_install.sh +++ /dev/null @@ -1,61 +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-09-27 -# @License : Mulan PSL v2 -# @Desc : Test package installation -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - - # 检查是否已经安装texlive-newtxtt包 - LOG_INFO "检查是否已经安装texlive-newtxtt包" - rpm -q texlive-newtxtt > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "texlive-newtxtt已经安装,脚本结束时保持安装状态" - INSTALLED=1 - else - LOG_INFO "texlive-newtxtt未安装,将在脚本结束前卸载" - INSTALLED=0 - fi - - # 检查yum源中是否有texlive-newtxtt包 - LOG_INFO "检查yum源中是否有texlive-newtxtt包" - dnf list available texlive-newtxtt > /dev/null 2>&1 - CHECK_RESULT $? 0 255 "yum源中没有texlive-newtxtt包" - - # 安装texlive-newtxtt包 - LOG_INFO "开始安装texlive-newtxtt包" - dnf install -y texlive-newtxtt > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "安装texlive-newtxtt包失败" - - # 验证texlive-newtxtt命令是否可用 - LOG_INFO "验证texlive-newtxtt命令是否可用" - texlive-newtxtt --version > /dev/null 2>&1 - CHECK_RESULT $? 0 255 "texlive-newtxtt命令不可用或不支持" - - # 根据初始状态决定是否卸载 - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "卸载texlive-newtxtt包" - dnf remove -y texlive-newtxtt > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "卸载texlive-newtxtt包失败" - fi - - LOG_INFO "测试脚本执行完毕,环境已恢复" - -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-p/texlive-newtxtt/test_texlive-newtxtt_function_remove.sh b/testcases/function_test/pkg_test/texlive-split-p/texlive-newtxtt/test_texlive-newtxtt_function_remove.sh deleted file mode 100644 index 471b35ffb92..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-p/texlive-newtxtt/test_texlive-newtxtt_function_remove.sh +++ /dev/null @@ -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 : 2026-04-01 -# @License : Mulan PSL v2 -# @Desc : Test package removal -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 定义软件包名称 - PACKAGE_NAME="texlive-newtxtt" - - # 检查yum源中是否存在指定软件包 - LOG_INFO "检查yum源中是否存在${PACKAGE_NAME}软件包" - dnf list available ${PACKAGE_NAME} > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中不存在${PACKAGE_NAME}软件包" - exit 255 - fi - - # 检查当前环境是否已安装指定软件包 - LOG_INFO "检查当前环境是否已安装${PACKAGE_NAME}软件包" - rpm -q ${PACKAGE_NAME} > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "当前环境已安装${PACKAGE_NAME}软件包,标记为已安装状态" - INSTALLED_BEFORE_TEST=1 - else - LOG_INFO "当前环境未安装${PACKAGE_NAME}软件包,标记为未安装状态" - INSTALLED_BEFORE_TEST=0 - fi - - # 如果环境未安装,则安装软件包作为测试步骤 - if [ ${INSTALLED_BEFORE_TEST} -eq 0 ]; then - LOG_INFO "开始安装${PACKAGE_NAME}软件包" - dnf install -y ${PACKAGE_NAME} - CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}软件包失败" - fi - - # 测试软件包卸载功能 - LOG_INFO "开始测试软件包卸载功能" - dnf remove -y ${PACKAGE_NAME} - CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}软件包失败" - - # 验证软件包是否已成功卸载 - LOG_INFO "验证软件包是否已成功卸载" - rpm -q ${PACKAGE_NAME} > /dev/null 2>&1 - CHECK_RESULT $? 1 0 "${PACKAGE_NAME}软件包卸载后仍存在" - - # 清理环境,恢复到之前的状态 - if [ ${INSTALLED_BEFORE_TEST} -eq 0 ]; then - LOG_INFO "测试前未安装${PACKAGE_NAME}软件包,无需恢复" - else - LOG_INFO "恢复环境,重新安装${PACKAGE_NAME}软件包" - dnf install -y ${PACKAGE_NAME} - CHECK_RESULT $? 0 0 "恢复安装${PACKAGE_NAME}软件包失败" - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file From 5ef3fa9482cf93573178431dd038b1709bddcbf4 Mon Sep 17 00:00:00 2001 From: honghua Date: Tue, 21 Apr 2026 20:50:44 +0800 Subject: [PATCH 14/34] update testcase for testsuite texlive-hyphen-spanish-doc --- .../texlive-hyphen-spanish-doc.json | 22 ----- ...ive-hyphen-spanish-doc_function_install.sh | 61 ------------ ...live-hyphen-spanish-doc_function_remove.sh | 93 ------------------- 3 files changed, 176 deletions(-) delete mode 100644 suite2cases/function_test/pkg_test/texlive-split-l/texlive-hyphen-spanish-doc.json delete mode 100644 testcases/function_test/pkg_test/texlive-split-l/texlive-hyphen-spanish-doc/test_texlive-hyphen-spanish-doc_function_install.sh delete mode 100644 testcases/function_test/pkg_test/texlive-split-l/texlive-hyphen-spanish-doc/test_texlive-hyphen-spanish-doc_function_remove.sh diff --git a/suite2cases/function_test/pkg_test/texlive-split-l/texlive-hyphen-spanish-doc.json b/suite2cases/function_test/pkg_test/texlive-split-l/texlive-hyphen-spanish-doc.json deleted file mode 100644 index 083a9221d28..00000000000 --- a/suite2cases/function_test/pkg_test/texlive-split-l/texlive-hyphen-spanish-doc.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-l/texlive-hyphen-spanish-doc", - "machine num": 1, - "cases": [ - { - "name": "test_texlive-hyphen-spanish-doc_function_install", - "desc": "Test package installation" - }, - { - "name": "test_texlive-hyphen-spanish-doc_function_remove", - "desc": "Test package removal" - }, - { - "name": "test_texlive-hyphen-spanish-doc_function_check_version", - "desc": "Test package version check" - }, - { - "name": "test_texlive-hyphen-spanish-doc_function_check_files", - "desc": "Test documentation files existence" - } - ] -} \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-l/texlive-hyphen-spanish-doc/test_texlive-hyphen-spanish-doc_function_install.sh b/testcases/function_test/pkg_test/texlive-split-l/texlive-hyphen-spanish-doc/test_texlive-hyphen-spanish-doc_function_install.sh deleted file mode 100644 index b4af29cc608..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-l/texlive-hyphen-spanish-doc/test_texlive-hyphen-spanish-doc_function_install.sh +++ /dev/null @@ -1,61 +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-01 -# @License : Mulan PSL v2 -# @Desc : Test package installation -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试:Test package installation" - - # 检查是否已安装texlive-hyphen-spanish-doc - LOG_INFO "检查是否已安装texlive-hyphen-spanish-doc" - rpm -q texlive-hyphen-spanish-doc > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "texlive-hyphen-spanish-doc已安装,跳过安装步骤" - INSTALLED=true - else - LOG_INFO "texlive-hyphen-spanish-doc未安装,准备安装" - INSTALLED=false - fi - - # 检查yum源中是否有texlive-hyphen-spanish-doc软件包 - LOG_INFO "检查yum源中是否有texlive-hyphen-spanish-doc软件包" - dnf list available texlive-hyphen-spanish-doc > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到texlive-hyphen-spanish-doc软件包" - exit 255 - fi - - # 安装texlive-hyphen-spanish-doc软件包 - if [ "$INSTALLED" = false ]; then - LOG_INFO "安装texlive-hyphen-spanish-doc软件包" - dnf install -y texlive-hyphen-spanish-doc - CHECK_RESULT $? 0 0 "安装texlive-hyphen-spanish-doc失败" - fi - - # 测试完成后恢复环境 - if [ "$INSTALLED" = false ]; then - LOG_INFO "卸载texlive-hyphen-spanish-doc软件包" - dnf remove -y texlive-hyphen-spanish-doc - CHECK_RESULT $? 0 0 "卸载texlive-hyphen-spanish-doc失败" - fi - - LOG_INFO "测试完成:Test package installation" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-l/texlive-hyphen-spanish-doc/test_texlive-hyphen-spanish-doc_function_remove.sh b/testcases/function_test/pkg_test/texlive-split-l/texlive-hyphen-spanish-doc/test_texlive-hyphen-spanish-doc_function_remove.sh deleted file mode 100644 index c3276231bab..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-l/texlive-hyphen-spanish-doc/test_texlive-hyphen-spanish-doc_function_remove.sh +++ /dev/null @@ -1,93 +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-10 -# @License : Mulan PSL v2 -# @Desc : Test package removal -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试软件包移除功能" - - LOG_INFO "步骤1:检查yum源中是否存在texlive-hyphen-spanish-doc软件包" - dnf list available texlive-hyphen-spanish-doc 2>/dev/null | grep -q texlive-hyphen-spanish-doc - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到texlive-hyphen-spanish-doc软件包" - exit 255 - fi - - LOG_INFO "步骤2:检查当前环境是否已安装texlive-hyphen-spanish-doc软件包" - rpm -q texlive-hyphen-spanish-doc > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "软件包已安装,测试结束后将保持安装状态" - PRE_INSTALLED=true - else - LOG_INFO "软件包未安装,将执行安装步骤" - PRE_INSTALLED=false - fi - - if [ "$PRE_INSTALLED" = "false" ]; then - LOG_INFO "步骤3:安装texlive-hyphen-spanish-doc软件包" - dnf install -y texlive-hyphen-spanish-doc - CHECK_RESULT $? 0 0 "软件包安装失败" - fi - - LOG_INFO "步骤4:验证软件包安装成功" - rpm -q texlive-hyphen-spanish-doc > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "软件包安装验证失败" - - LOG_INFO "步骤5:测试软件包移除功能" - dnf remove -y texlive-hyphen-spanish-doc - CHECK_RESULT $? 0 0 "软件包移除失败" - - LOG_INFO "步骤6:验证软件包已成功移除" - rpm -q texlive-hyphen-spanish-doc > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_ERROR "软件包移除后仍然存在" - CHECK_RESULT 1 0 0 "软件包移除验证失败" - else - LOG_INFO "软件包已成功移除" - CHECK_RESULT 0 0 0 "软件包移除验证失败" - fi - - LOG_INFO "步骤7:环境恢复" - if [ "$PRE_INSTALLED" = "false" ]; then - LOG_INFO "测试前未安装软件包,无需恢复" - else - LOG_INFO "重新安装软件包以恢复原始状态" - dnf install -y texlive-hyphen-spanish-doc - CHECK_RESULT $? 0 0 "环境恢复失败" - fi - - LOG_INFO "步骤8:最终环境验证" - if [ "$PRE_INSTALLED" = "true" ]; then - rpm -q texlive-hyphen-spanish-doc > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "最终环境验证失败" - else - rpm -q texlive-hyphen-spanish-doc > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_ERROR "测试结束后软件包不应存在" - CHECK_RESULT 1 0 0 "最终环境验证失败" - else - LOG_INFO "测试结束后环境状态正确" - CHECK_RESULT 0 0 0 "最终环境验证失败" - fi - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file From 32ebcd082dc78fb5f5f0b2fcfb6ebdb30d00557d Mon Sep 17 00:00:00 2001 From: honghua Date: Tue, 21 Apr 2026 20:53:36 +0800 Subject: [PATCH 15/34] update testcase for testsuite adobe-mappings-pdf-help --- .../adobe-mappings-pdf-help.json | 26 ------ ...dobe-mappings-pdf-help_function_install.sh | 88 ------------------- ...e-mappings-pdf-help_function_list_files.sh | 81 ----------------- ...be-mappings-pdf-help_function_uninstall.sh | 81 ----------------- 4 files changed, 276 deletions(-) delete mode 100644 suite2cases/function_test/pkg_test/adobe-mappings-pdf/adobe-mappings-pdf-help.json delete mode 100644 testcases/function_test/pkg_test/adobe-mappings-pdf/adobe-mappings-pdf-help/test_adobe-mappings-pdf-help_function_install.sh delete mode 100644 testcases/function_test/pkg_test/adobe-mappings-pdf/adobe-mappings-pdf-help/test_adobe-mappings-pdf-help_function_list_files.sh delete mode 100644 testcases/function_test/pkg_test/adobe-mappings-pdf/adobe-mappings-pdf-help/test_adobe-mappings-pdf-help_function_uninstall.sh diff --git a/suite2cases/function_test/pkg_test/adobe-mappings-pdf/adobe-mappings-pdf-help.json b/suite2cases/function_test/pkg_test/adobe-mappings-pdf/adobe-mappings-pdf-help.json deleted file mode 100644 index 07f0dd593f3..00000000000 --- a/suite2cases/function_test/pkg_test/adobe-mappings-pdf/adobe-mappings-pdf-help.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "path": "$OET_PATH/testcases/function_test/pkg_test/adobe-mappings-pdf/adobe-mappings-pdf-help", - "machine num": 1, - "cases": [ - { - "name": "test_adobe-mappings-pdf-help_function_install", - "desc": "测试软件包 adobe-mappings-pdf-help 能否正常安装。" - }, - { - "name": "test_adobe-mappings-pdf-help_function_verify_installed", - "desc": "测试软件包 adobe-mappings-pdf-help 是否已正确安装并存在于系统中。" - }, - { - "name": "test_adobe-mappings-pdf-help_function_uninstall", - "desc": "测试软件包 adobe-mappings-pdf-help 能否被正常卸载。" - }, - { - "name": "test_adobe-mappings-pdf-help_function_list_files", - "desc": "测试软件包 adobe-mappings-pdf-help 安装后是否包含预期的文件。" - }, - { - "name": "test_adobe-mappings-pdf-help_function_check_version", - "desc": "测试软件包 adobe-mappings-pdf-help 的版本信息是否正确。" - } - ] -} \ No newline at end of file diff --git a/testcases/function_test/pkg_test/adobe-mappings-pdf/adobe-mappings-pdf-help/test_adobe-mappings-pdf-help_function_install.sh b/testcases/function_test/pkg_test/adobe-mappings-pdf/adobe-mappings-pdf-help/test_adobe-mappings-pdf-help_function_install.sh deleted file mode 100644 index 2f880a28638..00000000000 --- a/testcases/function_test/pkg_test/adobe-mappings-pdf/adobe-mappings-pdf-help/test_adobe-mappings-pdf-help_function_install.sh +++ /dev/null @@ -1,88 +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-28 -# @License : Mulan PSL v2 -# @Desc : 测试软件包 adobe-mappings-pdf-help 能否正常安装。 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 定义变量 - PACKAGE_NAME="adobe-mappings-pdf-help" - LOG_INFO "开始测试软件包 ${PACKAGE_NAME} 的安装功能" - - # 步骤1:检查软件包是否已在yum源中 - LOG_INFO "步骤1:检查yum源中是否存在软件包 ${PACKAGE_NAME}" - dnf list available ${PACKAGE_NAME} > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到软件包 ${PACKAGE_NAME}" - exit 255 - fi - LOG_INFO "yum源中存在软件包 ${PACKAGE_NAME}" - - # 步骤2:检查当前是否已安装软件包 - LOG_INFO "步骤2:检查当前是否已安装软件包 ${PACKAGE_NAME}" - if rpm -q ${PACKAGE_NAME} > /dev/null 2>&1; then - LOG_INFO "软件包 ${PACKAGE_NAME} 已安装,脚本结束后将保持安装状态" - INSTALLED=true - else - LOG_INFO "软件包 ${PACKAGE_NAME} 未安装,将在测试中安装" - INSTALLED=false - fi - - # 步骤3:安装软件包(如果未安装) - if [ "${INSTALLED}" = "false" ]; then - LOG_INFO "步骤3:安装软件包 ${PACKAGE_NAME}" - dnf install -y ${PACKAGE_NAME} > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "安装软件包 ${PACKAGE_NAME} 失败" - LOG_INFO "软件包 ${PACKAGE_NAME} 安装成功" - fi - - # 步骤4:验证软件包安装 - LOG_INFO "步骤4:验证软件包 ${PACKAGE_NAME} 是否安装成功" - rpm -q ${PACKAGE_NAME} > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "验证软件包 ${PACKAGE_NAME} 安装失败" - - # 步骤5:检查软件包提供的命令或功能(假设软件包提供命令"adobe-pdf-help") - LOG_INFO "步骤5:检查软件包 ${PACKAGE_NAME} 提供的命令或功能" - if command -v adobe-pdf-help > /dev/null 2>&1; then - LOG_INFO "软件包 ${PACKAGE_NAME} 提供的命令 "adobe-pdf-help" 存在" - # 测试命令执行(假设命令支持--version参数) - LOG_INFO "测试命令 "adobe-pdf-help --version" 执行" - adobe-pdf-help --version > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "命令 "adobe-pdf-help --version" 参数不支持或执行失败" - exit 255 - fi - CHECK_RESULT $? 0 0 "命令 "adobe-pdf-help --version" 执行失败" - else - LOG_INFO "软件包 ${PACKAGE_NAME} 未提供特定命令,跳过命令测试" - fi - - # 步骤6:清理环境(如果测试前未安装,则卸载软件包) - if [ "${INSTALLED}" = "false" ]; then - LOG_INFO "步骤6:卸载测试安装的软件包 ${PACKAGE_NAME}" - dnf remove -y ${PACKAGE_NAME} > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "卸载软件包 ${PACKAGE_NAME} 失败" - LOG_INFO "软件包 ${PACKAGE_NAME} 卸载成功,环境已恢复" - else - LOG_INFO "步骤6:测试前软件包已安装,保持安装状态,无需卸载" - fi - - LOG_INFO "测试软件包 ${PACKAGE_NAME} 安装功能完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/adobe-mappings-pdf/adobe-mappings-pdf-help/test_adobe-mappings-pdf-help_function_list_files.sh b/testcases/function_test/pkg_test/adobe-mappings-pdf/adobe-mappings-pdf-help/test_adobe-mappings-pdf-help_function_list_files.sh deleted file mode 100644 index 35afef1cb0f..00000000000 --- a/testcases/function_test/pkg_test/adobe-mappings-pdf/adobe-mappings-pdf-help/test_adobe-mappings-pdf-help_function_list_files.sh +++ /dev/null @@ -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-28 -# @License : Mulan PSL v2 -# @Desc : 测试软件包 adobe-mappings-pdf-help 安装后是否包含预期的文件。 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 检查是否已安装adobe-mappings-pdf-help - LOG_INFO "检查是否已安装adobe-mappings-pdf-help软件包" - rpm -q adobe-mappings-pdf-help > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "adobe-mappings-pdf-help已安装,保持安装状态" - INSTALLED=true - else - LOG_INFO "adobe-mappings-pdf-help未安装,将在测试过程中安装" - INSTALLED=false - fi - - # 检查yum源中是否存在该软件包 - LOG_INFO "检查yum源中是否存在adobe-mappings-pdf-help软件包" - dnf list available adobe-mappings-pdf-help > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到adobe-mappings-pdf-help软件包" - exit 255 - fi - - # 如果未安装,则安装软件包 - if [ "$INSTALLED" = false ]; then - LOG_INFO "开始安装adobe-mappings-pdf-help软件包" - dnf install -y adobe-mappings-pdf-help - CHECK_RESULT $? 0 0 "安装adobe-mappings-pdf-help失败" - fi - - # 测试步骤:检查软件包安装后是否包含预期的文件 - LOG_INFO "测试软件包安装后是否包含预期的文件" - # 这里假设预期的文件列表,实际应根据软件包内容调整 - EXPECTED_FILES=( - "/usr/share/adobe-mappings-pdf-help/README" - "/usr/share/adobe-mappings-pdf-help/help.pdf" - ) - - for file in "${EXPECTED_FILES[@]}"; do - if [ -f "$file" ]; then - LOG_INFO "文件 $file 存在" - else - LOG_ERROR "文件 $file 不存在" - # 如果未安装,则卸载软件包后退出 - if [ "$INSTALLED" = false ]; then - LOG_INFO "清理环境:卸载adobe-mappings-pdf-help软件包" - dnf remove -y adobe-mappings-pdf-help - fi - exit 1 - fi - done - - # 如果测试过程中安装了软件包,则在测试结束后卸载 - if [ "$INSTALLED" = false ]; then - LOG_INFO "清理环境:卸载adobe-mappings-pdf-help软件包" - dnf remove -y adobe-mappings-pdf-help - CHECK_RESULT $? 0 0 "卸载adobe-mappings-pdf-help失败" - fi - - LOG_INFO "测试完成,环境已恢复" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/adobe-mappings-pdf/adobe-mappings-pdf-help/test_adobe-mappings-pdf-help_function_uninstall.sh b/testcases/function_test/pkg_test/adobe-mappings-pdf/adobe-mappings-pdf-help/test_adobe-mappings-pdf-help_function_uninstall.sh deleted file mode 100644 index 7d43d649937..00000000000 --- a/testcases/function_test/pkg_test/adobe-mappings-pdf/adobe-mappings-pdf-help/test_adobe-mappings-pdf-help_function_uninstall.sh +++ /dev/null @@ -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-28 -# @License : Mulan PSL v2 -# @Desc : 测试软件包 adobe-mappings-pdf-help 能否被正常卸载。 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - set -e - - # 定义软件包名称 - PACKAGE_NAME="adobe-mappings-pdf-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}" - if rpm -q ${PACKAGE_NAME} &> /dev/null; then - LOG_INFO "软件包 ${PACKAGE_NAME} 已安装,脚本结束后将保持安装状态" - ALREADY_INSTALLED=true - else - LOG_INFO "软件包 ${PACKAGE_NAME} 未安装,将进行安装测试" - ALREADY_INSTALLED=false - fi - - # 步骤3:如果未安装,则安装软件包 - if [ "${ALREADY_INSTALLED}" = "false" ]; then - LOG_INFO "步骤3:安装软件包 ${PACKAGE_NAME}" - dnf install -y ${PACKAGE_NAME} - CHECK_RESULT $? 0 0 "安装软件包 ${PACKAGE_NAME} 失败" - fi - - # 步骤4:测试卸载软件包 - LOG_INFO "步骤4:测试卸载软件包 ${PACKAGE_NAME}" - dnf remove -y ${PACKAGE_NAME} - CHECK_RESULT $? 0 0 "卸载软件包 ${PACKAGE_NAME} 失败" - - # 步骤5:验证软件包是否已卸载 - LOG_INFO "步骤5:验证软件包 ${PACKAGE_NAME} 是否已卸载" - if rpm -q ${PACKAGE_NAME} &> /dev/null; then - LOG_ERROR "软件包 ${PACKAGE_NAME} 卸载失败" - exit 1 - else - LOG_INFO "软件包 ${PACKAGE_NAME} 已成功卸载" - fi - - # 步骤6:环境恢复 - LOG_INFO "步骤6:环境恢复" - if [ "${ALREADY_INSTALLED}" = "false" ]; then - LOG_INFO "测试前未安装软件包,无需恢复" - else - LOG_INFO "重新安装软件包 ${PACKAGE_NAME} 以恢复环境" - dnf install -y ${PACKAGE_NAME} - CHECK_RESULT $? 0 0 "重新安装软件包 ${PACKAGE_NAME} 失败" - LOG_INFO "环境已恢复,软件包 ${PACKAGE_NAME} 已安装" - fi - - LOG_INFO "测试脚本执行完成" -} - -main "$@" \ No newline at end of file From 7dfc5df052287bc6d477b467ca1ca71e9f36e703 Mon Sep 17 00:00:00 2001 From: honghua Date: Tue, 21 Apr 2026 20:56:29 +0800 Subject: [PATCH 16/34] update testcase for testsuite texlive-placeat --- .../texlive-split-r/texlive-placeat.json | 30 ---- .../test_texlive-placeat_function_basic.sh | 64 --------- ...exlive-placeat_function_check_installed.sh | 112 --------------- ..._texlive-placeat_function_doc_available.sh | 73 ---------- .../test_texlive-placeat_function_install.sh | 72 ---------- ...st_texlive-placeat_function_latex_usage.sh | 136 ------------------ ...test_texlive-placeat_function_uninstall.sh | 68 --------- 7 files changed, 555 deletions(-) delete mode 100644 suite2cases/function_test/pkg_test/texlive-split-r/texlive-placeat.json delete mode 100644 testcases/function_test/pkg_test/texlive-split-r/texlive-placeat/test_texlive-placeat_function_basic.sh delete mode 100644 testcases/function_test/pkg_test/texlive-split-r/texlive-placeat/test_texlive-placeat_function_check_installed.sh delete mode 100644 testcases/function_test/pkg_test/texlive-split-r/texlive-placeat/test_texlive-placeat_function_doc_available.sh delete mode 100644 testcases/function_test/pkg_test/texlive-split-r/texlive-placeat/test_texlive-placeat_function_install.sh delete mode 100644 testcases/function_test/pkg_test/texlive-split-r/texlive-placeat/test_texlive-placeat_function_latex_usage.sh delete mode 100644 testcases/function_test/pkg_test/texlive-split-r/texlive-placeat/test_texlive-placeat_function_uninstall.sh diff --git a/suite2cases/function_test/pkg_test/texlive-split-r/texlive-placeat.json b/suite2cases/function_test/pkg_test/texlive-split-r/texlive-placeat.json deleted file mode 100644 index 64b5c665a2c..00000000000 --- a/suite2cases/function_test/pkg_test/texlive-split-r/texlive-placeat.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-r/texlive-placeat", - "machine num": 1, - "cases": [ - { - "name": "test_texlive-placeat_function_install", - "desc": "Test package installation" - }, - { - "name": "test_texlive-placeat_function_uninstall", - "desc": "Test package removal" - }, - { - "name": "test_texlive-placeat_function_basic", - "desc": "Test basic command usage" - }, - { - "name": "test_texlive-placeat_function_check_installed", - "desc": "Verify texlive-placeat package is installed" - }, - { - "name": "test_texlive-placeat_function_latex_usage", - "desc": "Test basic LaTeX command usage with placeat" - }, - { - "name": "test_texlive-placeat_function_doc_available", - "desc": "Check if package documentation is available" - } - ] -} \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-r/texlive-placeat/test_texlive-placeat_function_basic.sh b/testcases/function_test/pkg_test/texlive-split-r/texlive-placeat/test_texlive-placeat_function_basic.sh deleted file mode 100644 index e428a319925..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-r/texlive-placeat/test_texlive-placeat_function_basic.sh +++ /dev/null @@ -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-09-28 -# @License : Mulan PSL v2 -# @Desc : Test basic command usage -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - - # 检查是否已经安装texlive - LOG_INFO "检查是否已经安装texlive..." - if dnf list installed texlive &>/dev/null; then - LOG_INFO "texlive已经安装,保持安装状态" - installed=true - else - LOG_INFO "texlive未安装,将在测试结束后卸载" - installed=false - fi - - # 检查yum源中是否有texlive软件包 - LOG_INFO "检查yum源中是否有texlive软件包..." - if ! dnf list available texlive &>/dev/null; then - LOG_ERROR "yum源中没有texlive软件包" - exit 255 - fi - - # 安装texlive软件包 - if [ "$installed" = false ]; then - LOG_INFO "开始安装texlive软件包..." - dnf install -y texlive - CHECK_RESULT $? 0 0 "安装texlive失败" - fi - - # 测试基本命令用法 - LOG_INFO "测试基本命令用法..." - tex --version - CHECK_RESULT $? 0 0 "获取tex版本失败" - - # 清理环境 - if [ "$installed" = false ]; then - LOG_INFO "卸载texlive软件包..." - dnf remove -y texlive - CHECK_RESULT $? 0 0 "卸载texlive失败" - fi - - LOG_INFO "测试脚本执行完毕" - -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-r/texlive-placeat/test_texlive-placeat_function_check_installed.sh b/testcases/function_test/pkg_test/texlive-split-r/texlive-placeat/test_texlive-placeat_function_check_installed.sh deleted file mode 100644 index f92fe4be1d7..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-r/texlive-placeat/test_texlive-placeat_function_check_installed.sh +++ /dev/null @@ -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-04-01 -# @License : Mulan PSL v2 -# @Desc : Verify texlive-placeat package is installed -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 测试texlive-placeat软件包是否安装的脚本 - - # 定义软件包名称 - PACKAGE_NAME="texlive-placeat" - - # 步骤1:检查软件包是否已在yum源中 - LOG_INFO "步骤1:检查软件包是否在yum源中" - dnf list available ${PACKAGE_NAME} &> /dev/null - if [ $? -ne 0 ]; then - LOG_ERROR "软件包 ${PACKAGE_NAME} 不在yum源中" - exit 255 - fi - LOG_INFO "软件包 ${PACKAGE_NAME} 在yum源中可用" - - # 步骤2:检查系统是否已安装该软件包 - LOG_INFO "步骤2:检查系统是否已安装 ${PACKAGE_NAME} 软件包" - rpm -q ${PACKAGE_NAME} &> /dev/null - if [ $? -eq 0 ]; then - LOG_INFO "软件包 ${PACKAGE_NAME} 已安装" - INSTALLED_BEFORE="true" - else - LOG_INFO "软件包 ${PACKAGE_NAME} 未安装" - INSTALLED_BEFORE="false" - fi - - # 步骤3:如果未安装,则安装软件包 - if [ "${INSTALLED_BEFORE}" = "false" ]; then - LOG_INFO "步骤3:安装 ${PACKAGE_NAME} 软件包" - dnf install -y ${PACKAGE_NAME} - CHECK_RESULT $? 0 0 "安装 ${PACKAGE_NAME} 软件包失败" - LOG_INFO "软件包 ${PACKAGE_NAME} 安装成功" - fi - - # 步骤4:验证软件包是否正确安装 - LOG_INFO "步骤4:验证 ${PACKAGE_NAME} 软件包是否正确安装" - rpm -q ${PACKAGE_NAME} &> /dev/null - CHECK_RESULT $? 0 0 "验证 ${PACKAGE_NAME} 软件包安装状态失败" - LOG_INFO "软件包 ${PACKAGE_NAME} 验证成功" - - # 步骤5:检查软件包提供的文件 - LOG_INFO "步骤5:检查 ${PACKAGE_NAME} 软件包提供的文件" - rpm -ql ${PACKAGE_NAME} &> /dev/null - CHECK_RESULT $? 0 0 "检查 ${PACKAGE_NAME} 软件包文件列表失败" - LOG_INFO "软件包 ${PACKAGE_NAME} 文件列表检查成功" - - # 步骤6:测试软件包功能 - LOG_INFO "步骤6:测试 ${PACKAGE_NAME} 软件包功能" - # 这里可以添加具体的功能测试命令 - # 由于texlive-placeat是LaTeX宏包,我们可以检查相关文件是否存在 - TEXMF_PATH=$(kpsewhich -var-value TEXMFMAIN 2>/dev/null || echo "/usr/share/texlive") - if [ -d "${TEXMF_PATH}/tex/latex/${PACKAGE_NAME}" ]; then - LOG_INFO "找到 ${PACKAGE_NAME} 宏包目录" - CHECK_RESULT 0 0 0 "检查 ${PACKAGE_NAME} 宏包目录成功" - else - LOG_ERROR "未找到 ${PACKAGE_NAME} 宏包目录" - CHECK_RESULT 1 0 0 "检查 ${PACKAGE_NAME} 宏包目录失败" - fi - - # 步骤7:清理环境 - LOG_INFO "步骤7:清理测试环境" - if [ "${INSTALLED_BEFORE}" = "false" ]; then - LOG_INFO "卸载测试安装的 ${PACKAGE_NAME} 软件包" - dnf remove -y ${PACKAGE_NAME} - CHECK_RESULT $? 0 0 "卸载 ${PACKAGE_NAME} 软件包失败" - LOG_INFO "软件包 ${PACKAGE_NAME} 卸载成功" - else - LOG_INFO "保持 ${PACKAGE_NAME} 软件包的安装状态" - fi - - # 步骤8:最终验证 - LOG_INFO "步骤8:最终验证环境状态" - if [ "${INSTALLED_BEFORE}" = "false" ]; then - rpm -q ${PACKAGE_NAME} &> /dev/null - if [ $? -eq 0 ]; then - LOG_ERROR "清理后 ${PACKAGE_NAME} 软件包仍存在" - CHECK_RESULT 1 0 0 "环境清理不彻底" - else - LOG_INFO "环境已恢复到测试前状态" - CHECK_RESULT 0 0 0 "环境恢复成功" - fi - else - rpm -q ${PACKAGE_NAME} &> /dev/null - CHECK_RESULT $? 0 0 "测试后 ${PACKAGE_NAME} 软件包状态异常" - LOG_INFO "环境保持测试前安装状态" - fi - - LOG_INFO "测试完成:Verify texlive-placeat package is installed" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-r/texlive-placeat/test_texlive-placeat_function_doc_available.sh b/testcases/function_test/pkg_test/texlive-split-r/texlive-placeat/test_texlive-placeat_function_doc_available.sh deleted file mode 100644 index e2e07e5438f..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-r/texlive-placeat/test_texlive-placeat_function_doc_available.sh +++ /dev/null @@ -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-04-01 -# @License : Mulan PSL v2 -# @Desc : Check if package documentation is available -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试:检查texlive-placeat功能文档是否可用" - - # 定义软件包名称 - PACKAGE_NAME="texlive-placeat" - - # 步骤1:检查软件包是否已在环境中安装 - LOG_INFO "步骤1:检查系统中是否已安装 $PACKAGE_NAME" - if dnf list installed "$PACKAGE_NAME" &>/dev/null; then - LOG_INFO "系统中已安装 $PACKAGE_NAME,测试结束后将保持安装状态" - ALREADY_INSTALLED=true - else - LOG_INFO "系统中未安装 $PACKAGE_NAME,将在测试过程中安装并在测试后卸载" - ALREADY_INSTALLED=false - fi - - # 步骤2:检查yum源中是否存在该软件包 - LOG_INFO "步骤2:检查yum源中是否存在 $PACKAGE_NAME" - if ! dnf search "$PACKAGE_NAME" | grep -q "^$PACKAGE_NAME\."; then - LOG_ERROR "yum源中未找到软件包 $PACKAGE_NAME" - exit 255 - fi - - # 步骤3:如果未安装,则安装软件包 - if [ "$ALREADY_INSTALLED" = false ]; then - LOG_INFO "步骤3:安装 $PACKAGE_NAME" - dnf install -y "$PACKAGE_NAME" - CHECK_RESULT $? 0 0 "安装 $PACKAGE_NAME 失败" - fi - - # 步骤4:检查软件包文档是否可用 - LOG_INFO "步骤4:检查 $PACKAGE_NAME 文档是否可用" - if rpm -qd "$PACKAGE_NAME" &>/dev/null; then - LOG_INFO "软件包 $PACKAGE_NAME 的文档文件列表:" - rpm -qd "$PACKAGE_NAME" - CHECK_RESULT $? 0 0 "获取 $PACKAGE_NAME 文档信息失败" - else - LOG_ERROR "软件包 $PACKAGE_NAME 没有文档文件" - exit 255 - fi - - # 步骤5:清理环境,如果测试前未安装则卸载软件包 - if [ "$ALREADY_INSTALLED" = false ]; then - LOG_INFO "步骤5:卸载 $PACKAGE_NAME" - dnf remove -y "$PACKAGE_NAME" - CHECK_RESULT $? 0 0 "卸载 $PACKAGE_NAME 失败" - fi - - LOG_INFO "测试完成:texlive-placeat功能文档可用性检查通过" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-r/texlive-placeat/test_texlive-placeat_function_install.sh b/testcases/function_test/pkg_test/texlive-split-r/texlive-placeat/test_texlive-placeat_function_install.sh deleted file mode 100644 index 68a071f2761..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-r/texlive-placeat/test_texlive-placeat_function_install.sh +++ /dev/null @@ -1,72 +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-09-28 -# @License : Mulan PSL v2 -# @Desc : Test package installation -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试:Test package installation" - - # 检查是否已安装texlive-placeat-function - LOG_INFO "检查是否已安装texlive-placeat-function" - dnf list installed texlive-placeat-function > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "texlive-placeat-function已安装,脚本结束后保持安装状态" - INSTALLED=true - else - LOG_INFO "texlive-placeat-function未安装,脚本结束后将卸载" - INSTALLED=false - fi - - # 检查yum源中是否有texlive-placeat-function - LOG_INFO "检查yum源中是否有texlive-placeat-function" - dnf list available texlive-placeat-function > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到texlive-placeat-function软件包" - exit 255 - fi - - # 安装texlive-placeat-function - LOG_INFO "开始安装texlive-placeat-function" - dnf install -y texlive-placeat-function - CHECK_RESULT $? 0 0 "安装texlive-placeat-function失败" - - # 验证安装是否成功 - LOG_INFO "验证texlive-placeat-function是否安装成功" - rpm -q texlive-placeat-function > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "texlive-placeat-function未正确安装" - - # 执行测试命令 - LOG_INFO "执行测试命令" - command_to_test --param - if [ $? -ne 0 ]; then - LOG_ERROR "测试命令执行失败,参数可能不存在或不支持" - exit 255 - fi - - # 清理环境 - if [ "$INSTALLED" = false ]; then - LOG_INFO "卸载texlive-placeat-function" - dnf remove -y texlive-placeat-function - CHECK_RESULT $? 0 0 "卸载texlive-placeat-function失败" - fi - - LOG_INFO "测试完成:Test package installation" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-r/texlive-placeat/test_texlive-placeat_function_latex_usage.sh b/testcases/function_test/pkg_test/texlive-split-r/texlive-placeat/test_texlive-placeat_function_latex_usage.sh deleted file mode 100644 index bb5cb1d1e8f..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-r/texlive-placeat/test_texlive-placeat_function_latex_usage.sh +++ /dev/null @@ -1,136 +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-04-01 -# @License : Mulan PSL v2 -# @Desc : Test basic LaTeX command usage with placeat -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 测试基本LaTeX命令使用placeat功能 - - LOG_INFO "1. 检查是否已安装texlive-placeat软件包" - if dnf list installed texlive-placeat &>/dev/null; then - LOG_INFO "检测到texlive-placeat已安装,测试后将保持安装状态" - INSTALLED_BEFORE=true - else - LOG_INFO "未检测到texlive-placeat安装" - INSTALLED_BEFORE=false - fi - - LOG_INFO "2. 检查yum源中是否存在texlive-placeat软件包" - if ! dnf list available texlive-placeat &>/dev/null; then - LOG_ERROR "yum源中未找到texlive-placeat软件包" - exit 255 - fi - - LOG_INFO "3. 检查placeat命令参数支持情况" - if ! man placeat &>/dev/null && ! placeat --help &>/dev/null; then - LOG_ERROR "无法获取placeat命令的帮助信息,可能参数不支持" - exit 255 - fi - - if [ "$INSTALLED_BEFORE" = "false" ]; then - LOG_INFO "4. 安装texlive-placeat软件包" - dnf install -y texlive-placeat - CHECK_RESULT $? 0 0 "安装texlive-placeat失败" - fi - - LOG_INFO "5. 创建测试LaTeX文档" - TEST_DIR="/tmp/test_latex_$(date +%s)" - mkdir -p "$TEST_DIR" - cd "$TEST_DIR" || exit 1 - - cat > test.tex << "EOF" - \documentclass{article} - \usepackage{placeat} - \begin{document} - This is a test document for placeat package. - - \placeat{2cm}{3cm}{Test text placed at specific coordinates} - - \placeat{5cm}{1cm}{Another text placement test} - - \end{document} - EOF - - CHECK_RESULT $? 0 0 "创建测试LaTeX文档失败" - - LOG_INFO "6. 使用pdflatex编译测试文档" - if command -v pdflatex &>/dev/null; then - pdflatex -interaction=nonstopmode test.tex - CHECK_RESULT $? 0 0 "编译LaTeX文档失败" - - LOG_INFO "7. 检查生成的PDF文件" - if [ -f "test.pdf" ]; then - LOG_INFO "成功生成PDF文件: test.pdf" - file test.pdf | grep -q "PDF document" - CHECK_RESULT $? 0 0 "生成的PDF文件格式不正确" - else - LOG_ERROR "未找到生成的PDF文件" - exit 1 - fi - else - LOG_INFO "7. 系统未安装pdflatex,跳过编译测试" - LOG_INFO "测试placeat包的基本功能:检查tex文件语法" - latex -interaction=nonstopmode test.tex 2>/dev/null - CHECK_RESULT $? 0 0 "LaTeX文件语法检查失败" - fi - - LOG_INFO "8. 测试placeat命令基本使用" - if command -v placeat &>/dev/null; then - placeat --version 2>&1 | head -1 - CHECK_RESULT $? 0 0 "placeat命令版本检查失败" - - echo "Test content" | placeat 2 3 2>/dev/null - CHECK_RESULT $? 0 0 "placeat命令执行失败" - fi - - LOG_INFO "9. 清理测试文件" - cd / - rm -rf "$TEST_DIR" - CHECK_RESULT $? 0 0 "清理测试文件失败" - - if [ "$INSTALLED_BEFORE" = "false" ]; then - LOG_INFO "10. 卸载texlive-placeat软件包" - dnf remove -y texlive-placeat - CHECK_RESULT $? 0 0 "卸载texlive-placeat失败" - LOG_INFO "环境已恢复到测试前状态" - else - LOG_INFO "10. 保持texlive-placeat安装状态" - fi - - LOG_INFO "11. 验证环境恢复" - if [ "$INSTALLED_BEFORE" = "false" ]; then - if dnf list installed texlive-placeat &>/dev/null; then - LOG_ERROR "环境恢复失败,texlive-placeat仍处于安装状态" - exit 1 - else - LOG_INFO "环境恢复成功,texlive-placeat已卸载" - fi - else - if ! dnf list installed texlive-placeat &>/dev/null; then - LOG_ERROR "环境恢复失败,texlive-placeat被意外卸载" - exit 1 - else - LOG_INFO "环境恢复成功,texlive-placeat保持安装状态" - fi - fi - - LOG_INFO "测试完成:Test basic LaTeX command usage with placeat" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-r/texlive-placeat/test_texlive-placeat_function_uninstall.sh b/testcases/function_test/pkg_test/texlive-split-r/texlive-placeat/test_texlive-placeat_function_uninstall.sh deleted file mode 100644 index 0ec1db2c35b..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-r/texlive-placeat/test_texlive-placeat_function_uninstall.sh +++ /dev/null @@ -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-09-28 -# @License : Mulan PSL v2 -# @Desc : Test package removal -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试包移除功能" - - # 检查是否已安装texlive-placeat - LOG_INFO "检查texlive-placeat是否已安装" - dnf list installed texlive-placeat > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "texlive-placeat已安装,测试结束后保持安装状态" - INSTALLED=1 - else - LOG_INFO "texlive-placeat未安装,将在测试结束后卸载" - INSTALLED=0 - fi - - # 检查yum源中是否有texlive-placeat - LOG_INFO "检查yum源中是否有texlive-placeat" - dnf list available texlive-placeat > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到texlive-placeat包" - exit 255 - fi - - # 安装texlive-placeat - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "安装texlive-placeat" - dnf install -y texlive-placeat - CHECK_RESULT $? 0 0 "安装texlive-placeat失败" - fi - - # 测试卸载功能 - LOG_INFO "测试卸载texlive-placeat" - dnf remove -y texlive-placeat - CHECK_RESULT $? 0 0 "卸载texlive-placeat失败" - - # 恢复环境 - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "恢复环境,卸载texlive-placeat" - dnf remove -y texlive-placeat > /dev/null 2>&1 - else - LOG_INFO "恢复环境,重新安装texlive-placeat" - dnf install -y texlive-placeat > /dev/null 2>&1 - fi - - LOG_INFO "测试包移除功能完成" -} - -main "$@" \ No newline at end of file From bc92e1733eec53a389200e4c1b12134519eca9a4 Mon Sep 17 00:00:00 2001 From: honghua Date: Tue, 21 Apr 2026 20:59:38 +0800 Subject: [PATCH 17/34] update testcase for testsuite libnfs --- .../function_test/pkg_test/libnfs/libnfs.json | 47 ------- .../test_libnfs_function_check_version.sh | 94 ------------- .../libnfs/test_libnfs_function_install.sh | 130 ------------------ .../libnfs/test_libnfs_function_network.sh | 64 --------- .../libnfs/test_libnfs_function_permission.sh | 69 ---------- .../libnfs/test_libnfs_install_package.sh | 64 --------- .../libnfs/test_libnfs_rollback_package.sh | 90 ------------ .../libnfs/libnfs/test_libnfs_service_log.sh | 63 --------- .../libnfs/test_libnfs_uninstall_package.sh | 68 --------- .../libnfs/test_libnfs_upgrade_package.sh | 62 --------- 10 files changed, 751 deletions(-) delete mode 100644 suite2cases/function_test/pkg_test/libnfs/libnfs.json delete mode 100644 testcases/function_test/pkg_test/libnfs/libnfs/test_libnfs_function_check_version.sh delete mode 100644 testcases/function_test/pkg_test/libnfs/libnfs/test_libnfs_function_install.sh delete mode 100644 testcases/function_test/pkg_test/libnfs/libnfs/test_libnfs_function_network.sh delete mode 100644 testcases/function_test/pkg_test/libnfs/libnfs/test_libnfs_function_permission.sh delete mode 100644 testcases/function_test/pkg_test/libnfs/libnfs/test_libnfs_install_package.sh delete mode 100644 testcases/function_test/pkg_test/libnfs/libnfs/test_libnfs_rollback_package.sh delete mode 100644 testcases/function_test/pkg_test/libnfs/libnfs/test_libnfs_service_log.sh delete mode 100644 testcases/function_test/pkg_test/libnfs/libnfs/test_libnfs_uninstall_package.sh delete mode 100644 testcases/function_test/pkg_test/libnfs/libnfs/test_libnfs_upgrade_package.sh diff --git a/suite2cases/function_test/pkg_test/libnfs/libnfs.json b/suite2cases/function_test/pkg_test/libnfs/libnfs.json deleted file mode 100644 index 6532162055d..00000000000 --- a/suite2cases/function_test/pkg_test/libnfs/libnfs.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "path": "$OET_PATH/testcases/function_test/pkg_test/libnfs/libnfs", - "machine num": 1, - "cases": [ - { - "name": "test_libnfs_install_package", - "desc": "测试libnfs软件包的安装功能,验证安装过程是否正常完成。", - "machine num": 1 - }, - { - "name": "test_libnfs_uninstall_package", - "desc": "测试libnfs软件包的卸载功能,验证卸载过程是否正常完成。", - "machine num": 1 - }, - { - "name": "test_libnfs_upgrade_package", - "desc": "测试libnfs软件包的升级功能,验证升级过程是否正常完成。", - "machine num": 1 - }, - { - "name": "test_libnfs_rollback_package", - "desc": "测试libnfs软件包的回滚功能,验证回滚过程是否正常完成。", - "machine num": 1 - }, - { - "name": "test_libnfs_service_log", - "desc": "测试libnfs服务的日志查看功能,验证服务日志是否能够正常查看。", - "machine num": 1 - }, - { - "name": "test_libnfs_function_permission", - "desc": "测试libnfs的权限功能,验证权限设置是否生效。" - }, - { - "name": "test_libnfs_function_network", - "desc": "测试libnfs的网络功能,验证网络连接是否稳定。" - }, - { - "name": "test_libnfs_function_install", - "desc": "测试libnfs软件包的安装功能,验证安装过程是否正常完成。" - }, - { - "name": "test_libnfs_function_check_version", - "desc": "测试libnfs软件包的版本检查功能,验证版本信息是否正确。" - } - ] -} \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libnfs/libnfs/test_libnfs_function_check_version.sh b/testcases/function_test/pkg_test/libnfs/libnfs/test_libnfs_function_check_version.sh deleted file mode 100644 index 5c512f5795f..00000000000 --- a/testcases/function_test/pkg_test/libnfs/libnfs/test_libnfs_function_check_version.sh +++ /dev/null @@ -1,94 +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-28 -# @License : Mulan PSL v2 -# @Desc : 测试libnfs软件包的版本检查功能,验证版本信息是否正确。 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 设置严格模式,确保脚本安全 - set -e - - # 定义软件包名称 - PACKAGE_NAME="libnfs" - - # 步骤1:检查yum源中是否存在libnfs软件包 - LOG_INFO "检查yum源中是否存在${PACKAGE_NAME}软件包" - if ! dnf list available ${PACKAGE_NAME} &>/dev/null; then - LOG_ERROR "yum源中未找到${PACKAGE_NAME}软件包" - exit 255 - fi - - # 步骤2:检查系统是否已安装libnfs软件包 - 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:如果未安装,则安装libnfs软件包 - if [ ${ALREADY_INSTALLED} -eq 0 ]; then - LOG_INFO "安装${PACKAGE_NAME}软件包" - dnf install -y ${PACKAGE_NAME} - CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}失败" - fi - - # 步骤4:检查libnfs软件包版本信息 - LOG_INFO "检查${PACKAGE_NAME}软件包版本信息" - # 使用rpm命令获取版本信息 - VERSION_INFO=$(rpm -q ${PACKAGE_NAME} --queryformat "%{VERSION}-%{RELEASE}\n") - CHECK_RESULT $? 0 0 "获取${PACKAGE_NAME}版本信息失败" - - # 步骤5:验证版本信息格式 - LOG_INFO "验证${PACKAGE_NAME}版本信息格式" - # 检查版本信息是否符合预期格式(例如:x.y.z-r) - if [[ ${VERSION_INFO} =~ ^[0-9]+\.[0-9]+\.[0-9]+-[0-9]+(\.[a-zA-Z0-9_]+)*$ ]]; then - LOG_INFO "${PACKAGE_NAME}版本信息格式正确:${VERSION_INFO}" - else - LOG_ERROR "${PACKAGE_NAME}版本信息格式不正确:${VERSION_INFO}" - exit 1 - fi - - # 步骤6:检查libnfs相关命令是否可用 - LOG_INFO "检查libnfs相关命令是否可用" - # 假设libnfs提供了nfs-ls命令(根据实际软件包调整) - if command -v nfs-ls &>/dev/null; then - LOG_INFO "nfs-ls命令可用" - # 测试命令基本功能 - nfs-ls --help &>/dev/null - CHECK_RESULT $? 0 0 "nfs-ls命令执行失败" - else - LOG_INFO "nfs-ls命令不存在,跳过命令测试" - fi - - # 步骤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 "测试完成,环境已恢复" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libnfs/libnfs/test_libnfs_function_install.sh b/testcases/function_test/pkg_test/libnfs/libnfs/test_libnfs_function_install.sh deleted file mode 100644 index 89a647a045b..00000000000 --- a/testcases/function_test/pkg_test/libnfs/libnfs/test_libnfs_function_install.sh +++ /dev/null @@ -1,130 +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-28 -# @License : Mulan PSL v2 -# @Desc : 测试libnfs软件包的安装功能,验证安装过程是否正常完成。 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 测试libnfs软件包的安装功能,验证安装过程是否正常完成 - - LOG_INFO "开始测试libnfs软件包的安装功能" - - # 检查环境是否已安装libnfs - LOG_INFO "步骤1:检查libnfs软件包是否已安装" - rpm -q libnfs > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "libnfs软件包已安装,测试结束后保持安装状态" - already_installed=1 - else - LOG_INFO "libnfs软件包未安装,将在测试过程中安装" - already_installed=0 - fi - - # 检查yum源中是否有libnfs软件包 - LOG_INFO "步骤2:检查yum源中是否有libnfs软件包" - dnf list available libnfs > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "yum源中没有libnfs软件包" - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中没有libnfs软件包,测试失败" - exit 255 - fi - - # 安装libnfs软件包(如果未安装) - if [ $already_installed -eq 0 ]; then - LOG_INFO "步骤3:安装libnfs软件包" - dnf install -y libnfs > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "安装libnfs软件包失败" - if [ $? -ne 0 ]; then - LOG_ERROR "安装libnfs软件包失败" - exit $? - fi - LOG_INFO "libnfs软件包安装成功" - fi - - # 验证libnfs软件包安装是否成功 - LOG_INFO "步骤4:验证libnfs软件包安装是否成功" - rpm -q libnfs > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "libnfs软件包未正确安装" - if [ $? -ne 0 ]; then - LOG_ERROR "libnfs软件包未正确安装" - # 如果是新安装的,则卸载 - if [ $already_installed -eq 0 ]; then - dnf remove -y libnfs > /dev/null 2>&1 - fi - exit $? - fi - - # 验证libnfs相关命令是否可用 - LOG_INFO "步骤5:验证libnfs相关命令是否可用" - # 检查nfstrace命令是否存在 - which nfstrace > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "nfstrace命令存在,尝试执行帮助命令" - nfstrace --help > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "nfstrace命令参数不支持" - if [ $? -ne 0 ]; then - LOG_ERROR "nfstrace命令参数不支持" - # 如果是新安装的,则卸载 - if [ $already_installed -eq 0 ]; then - dnf remove -y libnfs > /dev/null 2>&1 - fi - exit 255 - fi - else - LOG_INFO "nfstrace命令不存在,跳过命令测试" - fi - - # 清理环境 - LOG_INFO "步骤6:清理测试环境" - if [ $already_installed -eq 0 ]; then - LOG_INFO "卸载测试过程中安装的libnfs软件包" - dnf remove -y libnfs > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "卸载libnfs软件包失败" - if [ $? -ne 0 ]; then - LOG_ERROR "卸载libnfs软件包失败" - exit $? - fi - LOG_INFO "libnfs软件包卸载成功" - else - LOG_INFO "保持原有的libnfs软件包安装状态" - fi - - # 最终验证环境已恢复 - LOG_INFO "步骤7:验证环境已恢复" - if [ $already_installed -eq 0 ]; then - rpm -q libnfs > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_ERROR "环境清理失败,libnfs软件包仍然存在" - exit 1 - else - LOG_INFO "环境已成功恢复,libnfs软件包已卸载" - fi - else - rpm -q libnfs > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "环境被破坏,原有的libnfs软件包丢失" - exit 1 - else - LOG_INFO "环境已保持原有状态,libnfs软件包仍然安装" - fi - fi - - LOG_INFO "libnfs软件包安装功能测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libnfs/libnfs/test_libnfs_function_network.sh b/testcases/function_test/pkg_test/libnfs/libnfs/test_libnfs_function_network.sh deleted file mode 100644 index 99901b3ec76..00000000000 --- a/testcases/function_test/pkg_test/libnfs/libnfs/test_libnfs_function_network.sh +++ /dev/null @@ -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-12 -# @License : Mulan PSL v2 -# @Desc : 测试libnfs的网络功能,验证网络连接是否稳定。 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试libnfs的网络功能,验证网络连接是否稳定。" - - # 检查是否已安装libnfs - LOG_INFO "检查libnfs是否已安装..." - if dnf list installed libnfs > /dev/null 2>&1; then - LOG_INFO "libnfs已安装,脚本结束时将保持安装状态。" - INSTALLED=true - else - LOG_INFO "libnfs未安装,将在测试结束后卸载。" - INSTALLED=false - fi - - # 检查yum源中是否有libnfs软件包 - LOG_INFO "检查yum源中是否有libnfs软件包..." - if ! dnf list available libnfs > /dev/null 2>&1; then - LOG_ERROR "yum源中未找到libnfs软件包。" - exit 255 - fi - - # 如果未安装则安装libnfs - if [ "$INSTALLED" = false ]; then - LOG_INFO "安装libnfs..." - dnf install -y libnfs - CHECK_RESULT $? 0 0 "安装libnfs失败。" - fi - - # 测试网络连接功能 - LOG_INFO "测试libnfs的网络连接功能..." - timeout 10 nfs-ls nfs://127.0.0.1 - CHECK_RESULT $? 0 124 "网络连接不稳定或超时。" - - # 清理环境 - if [ "$INSTALLED" = false ]; then - LOG_INFO "卸载libnfs..." - dnf remove -y libnfs - CHECK_RESULT $? 0 0 "卸载libnfs失败。" - fi - - LOG_INFO "测试完成,环境已恢复。" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libnfs/libnfs/test_libnfs_function_permission.sh b/testcases/function_test/pkg_test/libnfs/libnfs/test_libnfs_function_permission.sh deleted file mode 100644 index e0bf1198d6e..00000000000 --- a/testcases/function_test/pkg_test/libnfs/libnfs/test_libnfs_function_permission.sh +++ /dev/null @@ -1,69 +0,0 @@ -#!/usr/bin/bash - -# Copyright (c) 2024 ISCAS .ALL rights reserved. -# This program is licensed under Mulan PSL v2. -# You can use it according to the terms and conditions of the Mulan PSL v2. -# http://license.coscl.org.cn/MulanPSL2 -# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, -# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, -# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. -# See the Mulan PSL v2 for more details. - -# ############################################# -# @Author : honghua -# @Contact : honghua@iscas.ac.cn -# @Date : 2025-12-12 -# @License : Mulan PSL v2 -# @Desc : 测试libnfs的权限功能,验证权限设置是否生效。 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试libnfs的权限功能,验证权限设置是否生效。" - - # 检查是否已安装libnfs - LOG_INFO "检查环境中是否已安装libnfs..." - if ! dnf list installed libnfs &> /dev/null; then - LOG_INFO "libnfs未安装,将进行安装..." - # 检查yum源中是否有libnfs - if ! dnf list available libnfs &> /dev/null; then - LOG_ERROR "yum源中未找到libnfs软件包,退出测试。" - exit 255 - fi - # 安装libnfs - dnf install -y libnfs - CHECK_RESULT $? 0 0 "安装libnfs失败。" - # 标记为测试期间安装,需在结束时卸载 - INSTALLED_DURING_TEST=1 - else - LOG_INFO "libnfs已安装,无需重复安装。" - INSTALLED_DURING_TEST=0 - fi - - # 测试权限功能 - LOG_INFO "测试libnfs的权限功能..." - # 示例:设置权限并验证 - mkdir -p /tmp/nfs_test - chmod 700 /tmp/nfs_test - CHECK_RESULT $? 0 0 "设置权限失败。" - - # 验证权限是否生效(示例命令) - ls -ld /tmp/nfs_test | grep -q "drwx------" - CHECK_RESULT $? 0 0 "权限设置未生效。" - - # 清理环境 - LOG_INFO "清理测试环境..." - rm -rf /tmp/nfs_test - - # 如果测试期间安装了软件包,则卸载 - if [ "$INSTALLED_DURING_TEST" -eq 1 ]; then - LOG_INFO "卸载测试期间安装的libnfs..." - dnf remove -y libnfs - CHECK_RESULT $? 0 0 "卸载libnfs失败。" - fi - - LOG_INFO "测试完成,环境已恢复。" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libnfs/libnfs/test_libnfs_install_package.sh b/testcases/function_test/pkg_test/libnfs/libnfs/test_libnfs_install_package.sh deleted file mode 100644 index d63b5b03b9a..00000000000 --- a/testcases/function_test/pkg_test/libnfs/libnfs/test_libnfs_install_package.sh +++ /dev/null @@ -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-22 -# @License : Mulan PSL v2 -# @Desc : 测试libnfs软件包的安装功能,验证安装过程是否正常完成。 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - - # 检查libnfs软件包是否已安装 - LOG_INFO "检查libnfs软件包是否已安装" - rpm -q libnfs > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "libnfs软件包已安装,脚本结束时将保持安装状态" - installed=true - else - LOG_INFO "libnfs软件包未安装,将在测试完成后卸载" - installed=false - fi - - # 检查yum源中是否存在libnfs软件包 - LOG_INFO "检查yum源中是否存在libnfs软件包" - dnf list available libnfs > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到libnfs软件包" - exit 255 - fi - - # 安装libnfs软件包 - LOG_INFO "开始安装libnfs软件包" - dnf install -y libnfs > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "安装libnfs软件包失败" - - # 验证安装是否成功 - LOG_INFO "验证libnfs软件包是否安装成功" - rpm -q libnfs > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "验证libnfs软件包安装失败" - - # 如果脚本开始时未安装,则在测试完成后卸载 - if [ "$installed" = false ]; then - LOG_INFO "卸载libnfs软件包" - dnf remove -y libnfs > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "卸载libnfs软件包失败" - fi - - LOG_INFO "测试完成,环境已恢复" - -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libnfs/libnfs/test_libnfs_rollback_package.sh b/testcases/function_test/pkg_test/libnfs/libnfs/test_libnfs_rollback_package.sh deleted file mode 100644 index c06a8b06da0..00000000000 --- a/testcases/function_test/pkg_test/libnfs/libnfs/test_libnfs_rollback_package.sh +++ /dev/null @@ -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-22 -# @License : Mulan PSL v2 -# @Desc : 测试libnfs软件包的回滚功能,验证回滚过程是否正常完成。 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - - # 检查yum源中是否存在libnfs软件包 - LOG_INFO "检查yum源中是否存在libnfs软件包" - dnf list available libnfs > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到libnfs软件包" - exit 255 - fi - - # 检查当前是否已安装libnfs软件包 - LOG_INFO "检查当前是否已安装libnfs软件包" - if rpm -q libnfs > /dev/null 2>&1; then - LOG_INFO "libnfs软件包已安装,脚本结束时将保持安装状态" - INSTALLED=true - else - LOG_INFO "libnfs软件包未安装,将在测试步骤中安装" - INSTALLED=false - fi - - # 如果未安装,则安装libnfs软件包 - if [ "$INSTALLED" = false ]; then - LOG_INFO "开始安装libnfs软件包" - dnf install -y libnfs - CHECK_RESULT $? 0 0 "安装libnfs软件包失败" - fi - - # 测试回滚功能 - LOG_INFO "测试libnfs软件包的回滚功能" - dnf history list libnfs > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "无法获取libnfs的安装历史记录" - exit 255 - fi - - # 获取最近的libnfs事务ID - TRANSACTION_ID=$(dnf history list libnfs | awk 'NR==3 {print $1}') - if [ -z "$TRANSACTION_ID" ]; then - LOG_ERROR "未找到有效的libnfs事务ID" - exit 255 - fi - - # 执行回滚操作 - LOG_INFO "执行回滚操作,事务ID: $TRANSACTION_ID" - dnf history undo -y "$TRANSACTION_ID" - CHECK_RESULT $? 0 0 "回滚libnfs软件包失败" - - # 验证回滚后是否成功卸载或降级了libnfs软件包 - LOG_INFO "验证回滚结果" - if rpm -q libnfs > /dev/null 2>&1; then - LOG_INFO "回滚后libnfs软件包仍存在,可能为降级操作" - else - LOG_INFO "回滚后libnfs软件包已卸载" - fi - - # 恢复环境:如果脚本开始时未安装,则卸载libnfs软件包;否则保持原状 - if [ "$INSTALLED" = false ]; then - LOG_INFO "恢复环境:卸载libnfs软件包" - dnf remove -y libnfs > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "卸载libnfs软件包失败" - else - LOG_INFO "恢复环境:保持原状,不卸载libnfs软件包" - fi - - LOG_INFO "测试脚本执行完毕" - -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libnfs/libnfs/test_libnfs_service_log.sh b/testcases/function_test/pkg_test/libnfs/libnfs/test_libnfs_service_log.sh deleted file mode 100644 index f38e59c8d0f..00000000000 --- a/testcases/function_test/pkg_test/libnfs/libnfs/test_libnfs_service_log.sh +++ /dev/null @@ -1,63 +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-22 -# @License : Mulan PSL v2 -# @Desc : 测试libnfs服务的日志查看功能,验证服务日志是否能够正常查看。 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试libnfs服务的日志查看功能,验证服务日志是否能够正常查看。" - - # 检查libnfs软件包是否已安装 - if rpm -q libnfs &>/dev/null; then - LOG_INFO "检测到libnfs软件包已安装,脚本结束后将保持安装状态。" - INSTALLED=true - else - LOG_INFO "未检测到libnfs软件包,将在测试步骤中安装。" - INSTALLED=false - fi - - # 检查yum源中是否存在libnfs软件包 - LOG_INFO "检查yum源中是否存在libnfs软件包..." - if ! dnf list available libnfs &>/dev/null; then - LOG_ERROR "yum源中未找到libnfs软件包,退出测试。" - exit 255 - fi - - # 如果未安装,则安装libnfs软件包 - if [ "$INSTALLED" = false ]; then - LOG_INFO "正在安装libnfs软件包..." - dnf install -y libnfs - CHECK_RESULT $? 0 0 "安装libnfs软件包失败" - fi - - # 检查libnfs服务日志查看功能 - LOG_INFO "验证libnfs服务日志是否能够正常查看..." - journalctl -u libnfs --no-pager >/dev/null - CHECK_RESULT $? 0 0 "查看libnfs服务日志失败" - - # 清理环境:如果脚本开始时未安装,则卸载libnfs软件包 - if [ "$INSTALLED" = false ]; then - LOG_INFO "正在卸载libnfs软件包..." - dnf remove -y libnfs - CHECK_RESULT $? 0 0 "卸载libnfs软件包失败" - fi - - LOG_INFO "测试完成,环境已恢复。" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libnfs/libnfs/test_libnfs_uninstall_package.sh b/testcases/function_test/pkg_test/libnfs/libnfs/test_libnfs_uninstall_package.sh deleted file mode 100644 index 9b3fcf20ad2..00000000000 --- a/testcases/function_test/pkg_test/libnfs/libnfs/test_libnfs_uninstall_package.sh +++ /dev/null @@ -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-22 -# @License : Mulan PSL v2 -# @Desc : 测试libnfs软件包的卸载功能,验证卸载过程是否正常完成。 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - - # 检查是否已安装libnfs软件包 - LOG_INFO "检查系统中是否已安装libnfs软件包..." - rpm -q libnfs > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "libnfs软件包已安装,脚本结束后将保持安装状态。" - INSTALLED=true - else - LOG_INFO "libnfs软件包未安装,将在测试结束后卸载。" - INSTALLED=false - fi - - # 检查yum源中是否存在libnfs软件包 - LOG_INFO "检查yum源中是否存在libnfs软件包..." - dnf list available libnfs > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到libnfs软件包,退出测试。" - exit 255 - fi - - # 如果未安装,则安装libnfs软件包作为测试步骤 - if [ "$INSTALLED" = false ]; then - LOG_INFO "开始安装libnfs软件包..." - dnf install -y libnfs > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "安装libnfs软件包失败" - fi - - # 验证卸载功能 - LOG_INFO "开始验证libnfs软件包的卸载功能..." - dnf remove -y libnfs > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "卸载libnfs软件包失败" - - # 环境恢复:如果最初未安装,则重新安装以恢复环境;否则不操作 - if [ "$INSTALLED" = false ]; then - LOG_INFO "恢复环境:重新安装libnfs软件包..." - dnf install -y libnfs > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "恢复环境时重新安装libnfs软件包失败" - else - LOG_INFO "环境恢复:保持libnfs软件包的安装状态。" - fi - - LOG_INFO "测试完成,验证了libnfs软件包的卸载功能。" - -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libnfs/libnfs/test_libnfs_upgrade_package.sh b/testcases/function_test/pkg_test/libnfs/libnfs/test_libnfs_upgrade_package.sh deleted file mode 100644 index e630aa7bfce..00000000000 --- a/testcases/function_test/pkg_test/libnfs/libnfs/test_libnfs_upgrade_package.sh +++ /dev/null @@ -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-22 -# @License : Mulan PSL v2 -# @Desc : 测试libnfs软件包的升级功能,验证升级过程是否正常完成。 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试libnfs软件包的升级功能,验证升级过程是否正常完成。" - - # 检查是否已安装libnfs软件包 - LOG_INFO "检查是否已安装libnfs软件包。" - if rpm -q libnfs &>/dev/null; then - LOG_INFO "libnfs软件包已安装,脚本结束时将保持安装状态。" - INSTALLED=true - else - LOG_INFO "libnfs软件包未安装,将在测试结束后卸载。" - INSTALLED=false - fi - - # 检查yum源中是否存在libnfs软件包 - LOG_INFO "检查yum源中是否存在libnfs软件包。" - if ! dnf list available libnfs &>/dev/null; then - LOG_ERROR "yum源中未找到libnfs软件包。" - exit 255 - fi - - # 安装或升级libnfs软件包 - LOG_INFO "开始安装或升级libnfs软件包。" - dnf install -y libnfs - CHECK_RESULT $? 0 0 "安装或升级libnfs软件包失败。" - - # 验证升级后的软件包版本 - LOG_INFO "验证升级后的软件包版本。" - rpm -q libnfs - CHECK_RESULT $? 0 0 "获取libnfs软件包版本失败。" - - # 清理环境:如果最初未安装,则卸载软件包 - if [ "$INSTALLED" = false ]; then - LOG_INFO "清理环境:卸载libnfs软件包。" - dnf remove -y libnfs - CHECK_RESULT $? 0 0 "卸载libnfs软件包失败。" - fi - - LOG_INFO "测试完成,环境已恢复。" -} - -main "$@" \ No newline at end of file From c66b632f01acd6dbb2f715de92f2f0e78db63002 Mon Sep 17 00:00:00 2001 From: honghua Date: Tue, 21 Apr 2026 21:02:34 +0800 Subject: [PATCH 18/34] update testcase for testsuite texlive-ordinalpt-doc --- .../texlive-ordinalpt-doc.json | 26 ----- ...live-ordinalpt-doc_function_doc_content.sh | 107 ------------------ ...ve-ordinalpt-doc_function_doc_existence.sh | 82 -------------- ..._texlive-ordinalpt-doc_function_install.sh | 70 ------------ ...exlive-ordinalpt-doc_function_uninstall.sh | 79 ------------- 5 files changed, 364 deletions(-) delete mode 100644 suite2cases/function_test/pkg_test/texlive-split-q/texlive-ordinalpt-doc.json delete mode 100644 testcases/function_test/pkg_test/texlive-split-q/texlive-ordinalpt-doc/test_texlive-ordinalpt-doc_function_doc_content.sh delete mode 100644 testcases/function_test/pkg_test/texlive-split-q/texlive-ordinalpt-doc/test_texlive-ordinalpt-doc_function_doc_existence.sh delete mode 100644 testcases/function_test/pkg_test/texlive-split-q/texlive-ordinalpt-doc/test_texlive-ordinalpt-doc_function_install.sh delete mode 100644 testcases/function_test/pkg_test/texlive-split-q/texlive-ordinalpt-doc/test_texlive-ordinalpt-doc_function_uninstall.sh diff --git a/suite2cases/function_test/pkg_test/texlive-split-q/texlive-ordinalpt-doc.json b/suite2cases/function_test/pkg_test/texlive-split-q/texlive-ordinalpt-doc.json deleted file mode 100644 index 03dcbd082b7..00000000000 --- a/suite2cases/function_test/pkg_test/texlive-split-q/texlive-ordinalpt-doc.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-q/texlive-ordinalpt-doc", - "machine num": 1, - "cases": [ - { - "name": "test_texlive-ordinalpt-doc_function_install", - "desc": "测试 texlive-ordinalpt-doc 软件包的安装功能是否正常。" - }, - { - "name": "test_texlive-ordinalpt-doc_function_check_installed", - "desc": "测试检查 texlive-ordinalpt-doc 软件包是否已正确安装。" - }, - { - "name": "test_texlive-ordinalpt-doc_function_uninstall", - "desc": "测试 texlive-ordinalpt-doc 软件包的卸载功能是否正常。" - }, - { - "name": "test_texlive-ordinalpt-doc_function_doc_existence", - "desc": "测试 texlive-ordinalpt-doc 软件包的文档文件是否存在。" - }, - { - "name": "test_texlive-ordinalpt-doc_function_doc_content", - "desc": "测试 texlive-ordinalpt-doc 文档内容的关键部分是否可访问。" - } - ] -} \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-q/texlive-ordinalpt-doc/test_texlive-ordinalpt-doc_function_doc_content.sh b/testcases/function_test/pkg_test/texlive-split-q/texlive-ordinalpt-doc/test_texlive-ordinalpt-doc_function_doc_content.sh deleted file mode 100644 index 0585c68a748..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-q/texlive-ordinalpt-doc/test_texlive-ordinalpt-doc_function_doc_content.sh +++ /dev/null @@ -1,107 +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-10 -# @License : Mulan PSL v2 -# @Desc : 测试 texlive-ordinalpt-doc 文档内容的关键部分是否可访问。 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 检查是否已安装 texlive-ordinalpt-doc - LOG_INFO "检查是否已安装 texlive-ordinalpt-doc" - rpm -q texlive-ordinalpt-doc > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "texlive-ordinalpt-doc 已安装,测试后将保持安装状态" - INSTALLED="true" - else - LOG_INFO "texlive-ordinalpt-doc 未安装,将在测试后卸载" - INSTALLED="false" - fi - - # 检查 yum 源中是否有 texlive-ordinalpt-doc 软件包 - LOG_INFO "检查 yum 源中是否有 texlive-ordinalpt-doc 软件包" - dnf list available texlive-ordinalpt-doc > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "yum 源中未找到 texlive-ordinalpt-doc 软件包" - if [ $? -ne 0 ]; then - LOG_ERROR "yum 源中未找到 texlive-ordinalpt-doc 软件包" - exit 255 - fi - - # 如果未安装,则安装 texlive-ordinalpt-doc - if [ "$INSTALLED" = "false" ]; then - LOG_INFO "安装 texlive-ordinalpt-doc" - dnf install -y texlive-ordinalpt-doc - CHECK_RESULT $? 0 0 "安装 texlive-ordinalpt-doc 失败" - fi - - # 检查 texlive-ordinalpt-doc 文档内容的关键部分是否可访问 - LOG_INFO "检查 texlive-ordinalpt-doc 文档内容的关键部分是否可访问" - # 查找 texlive-ordinalpt-doc 的文档路径 - DOC_PATH=$(rpm -ql texlive-ordinalpt-doc | grep -E "\.pdf$|\.html$|\.txt$" | head -1) - if [ -z "$DOC_PATH" ]; then - LOG_ERROR "未找到 texlive-ordinalpt-doc 的文档文件" - exit 1 - fi - - # 检查文档文件是否存在并可读 - LOG_INFO "检查文档文件是否存在并可读" - if [ -f "$DOC_PATH" ] && [ -r "$DOC_PATH" ]; then - LOG_INFO "文档文件 $DOC_PATH 存在并可读" - else - LOG_ERROR "文档文件 $DOC_PATH 不存在或不可读" - exit 1 - fi - - # 检查文档内容是否包含关键信息 - LOG_INFO "检查文档内容是否包含关键信息" - if file "$DOC_PATH" | grep -q "text"; then - # 如果是文本文件,检查是否包含 "ordinal" 或 "pt" 关键字 - if grep -q -i "ordinal\|pt" "$DOC_PATH" 2>/dev/null; then - LOG_INFO "文档内容包含关键信息" - else - LOG_ERROR "文档内容不包含关键信息" - exit 1 - fi - elif file "$DOC_PATH" | grep -q "PDF"; then - # 如果是 PDF 文件,使用 pdftotext 转换为文本后检查 - if command -v pdftotext > /dev/null 2>&1; then - pdftotext "$DOC_PATH" - 2>/dev/null | grep -q -i "ordinal\|pt" - if [ $? -eq 0 ]; then - LOG_INFO "文档内容包含关键信息" - else - LOG_ERROR "文档内容不包含关键信息" - exit 1 - fi - else - LOG_ERROR "未安装 pdftotext,无法检查 PDF 文档内容" - exit 1 - fi - else - LOG_ERROR "文档格式不支持检查" - exit 1 - fi - - # 清理环境:如果之前未安装,则卸载 texlive-ordinalpt-doc - if [ "$INSTALLED" = "false" ]; then - LOG_INFO "卸载 texlive-ordinalpt-doc" - dnf remove -y texlive-ordinalpt-doc - CHECK_RESULT $? 0 0 "卸载 texlive-ordinalpt-doc 失败" - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-q/texlive-ordinalpt-doc/test_texlive-ordinalpt-doc_function_doc_existence.sh b/testcases/function_test/pkg_test/texlive-split-q/texlive-ordinalpt-doc/test_texlive-ordinalpt-doc_function_doc_existence.sh deleted file mode 100644 index c294f9ccda4..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-q/texlive-ordinalpt-doc/test_texlive-ordinalpt-doc_function_doc_existence.sh +++ /dev/null @@ -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-10 -# @License : Mulan PSL v2 -# @Desc : 测试 texlive-ordinalpt-doc 软件包的文档文件是否存在。 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 检查是否已安装texlive-ordinalpt-doc软件包 - LOG_INFO "检查是否已安装texlive-ordinalpt-doc软件包" - rpm -q texlive-ordinalpt-doc - if [ $? -eq 0 ]; then - LOG_INFO "texlive-ordinalpt-doc软件包已安装,测试完成后将保持安装状态" - INSTALLED=1 - else - LOG_INFO "texlive-ordinalpt-doc软件包未安装,将在测试中安装并在测试完成后卸载" - INSTALLED=0 - fi - - # 检查yum源中是否有texlive-ordinalpt-doc软件包 - LOG_INFO "检查yum源中是否有texlive-ordinalpt-doc软件包" - dnf list available texlive-ordinalpt-doc - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到texlive-ordinalpt-doc软件包" - exit 255 - fi - - # 如果未安装,则安装软件包 - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "安装texlive-ordinalpt-doc软件包" - dnf install -y texlive-ordinalpt-doc - CHECK_RESULT $? 0 0 "安装texlive-ordinalpt-doc软件包失败" - fi - - # 获取texlive-ordinalpt-doc软件包的文档文件列表 - LOG_INFO "获取texlive-ordinalpt-doc软件包的文档文件列表" - DOC_FILES=$(rpm -ql texlive-ordinalpt-doc | grep -E "\.pdf$|\.html$|\.txt$|\.md$|/doc/") - if [ -z "$DOC_FILES" ]; then - LOG_ERROR "未找到texlive-ordinalpt-doc软件包的文档文件" - CHECK_RESULT 1 0 0 "texlive-ordinalpt-doc软件包没有文档文件" - else - LOG_INFO "找到texlive-ordinalpt-doc软件包的文档文件" - echo "$DOC_FILES" - CHECK_RESULT $? 0 0 "获取文档文件列表失败" - fi - - # 检查文档文件是否存在 - LOG_INFO "检查文档文件是否存在" - for file in $DOC_FILES; do - if [ -f "$file" ]; then - LOG_INFO "文档文件 $file 存在" - else - LOG_ERROR "文档文件 $file 不存在" - CHECK_RESULT 1 0 0 "文档文件 $file 不存在" - fi - done - - # 清理环境:如果测试前未安装,则卸载软件包 - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "卸载texlive-ordinalpt-doc软件包" - dnf remove -y texlive-ordinalpt-doc - CHECK_RESULT $? 0 0 "卸载texlive-ordinalpt-doc软件包失败" - fi - - LOG_INFO "测试完成,环境已恢复" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-q/texlive-ordinalpt-doc/test_texlive-ordinalpt-doc_function_install.sh b/testcases/function_test/pkg_test/texlive-split-q/texlive-ordinalpt-doc/test_texlive-ordinalpt-doc_function_install.sh deleted file mode 100644 index 853882cc12a..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-q/texlive-ordinalpt-doc/test_texlive-ordinalpt-doc_function_install.sh +++ /dev/null @@ -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-10 -# @License : Mulan PSL v2 -# @Desc : 测试 texlive-ordinalpt-doc 软件包的安装功能是否正常。 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试 texlive-ordinalpt-doc 软件包的安装功能是否正常" - - # 检查环境是否已安装 texlive-ordinalpt-doc - LOG_INFO "检查环境是否已安装 texlive-ordinalpt-doc" - dnf list installed texlive-ordinalpt-doc &>/dev/null - if [ $? -eq 0 ]; then - LOG_INFO "环境已安装 texlive-ordinalpt-doc,脚本结束后将保持安装状态" - installed_before=true - else - LOG_INFO "环境未安装 texlive-ordinalpt-doc,将执行安装测试" - installed_before=false - fi - - # 检查 yum 源中是否有 texlive-ordinalpt-doc 软件包 - LOG_INFO "检查 yum 源中是否有 texlive-ordinalpt-doc 软件包" - dnf list available texlive-ordinalpt-doc &>/dev/null - CHECK_RESULT $? 0 0 "yum 源中未找到 texlive-ordinalpt-doc 软件包" - if [ $? -ne 0 ]; then - LOG_ERROR "yum 源中未找到 texlive-ordinalpt-doc 软件包" - exit 255 - fi - - # 如果未安装,则执行安装 - if [ "$installed_before" = false ]; then - LOG_INFO "开始安装 texlive-ordinalpt-doc 软件包" - dnf install -y texlive-ordinalpt-doc - CHECK_RESULT $? 0 0 "安装 texlive-ordinalpt-doc 软件包失败" - fi - - # 验证安装是否成功 - LOG_INFO "验证 texlive-ordinalpt-doc 软件包是否安装成功" - dnf list installed texlive-ordinalpt-doc &>/dev/null - CHECK_RESULT $? 0 0 "texlive-ordinalpt-doc 软件包未正确安装" - - # 如果脚本执行前未安装,则在测试后卸载 - if [ "$installed_before" = false ]; then - LOG_INFO "测试完成,卸载 texlive-ordinalpt-doc 软件包" - dnf remove -y texlive-ordinalpt-doc - CHECK_RESULT $? 0 0 "卸载 texlive-ordinalpt-doc 软件包失败" - LOG_INFO "环境已恢复到未安装 texlive-ordinalpt-doc 的状态" - else - LOG_INFO "测试完成,保持 texlive-ordinalpt-doc 软件包的安装状态" - fi - - LOG_INFO "测试 texlive-ordinalpt-doc 软件包的安装功能完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-q/texlive-ordinalpt-doc/test_texlive-ordinalpt-doc_function_uninstall.sh b/testcases/function_test/pkg_test/texlive-split-q/texlive-ordinalpt-doc/test_texlive-ordinalpt-doc_function_uninstall.sh deleted file mode 100644 index 77ee8167973..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-q/texlive-ordinalpt-doc/test_texlive-ordinalpt-doc_function_uninstall.sh +++ /dev/null @@ -1,79 +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-10 -# @License : Mulan PSL v2 -# @Desc : 测试 texlive-ordinalpt-doc 软件包的卸载功能是否正常。 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - PACKAGE_NAME="texlive-ordinalpt-doc" - LOG_INFO "开始测试 $PACKAGE_NAME 软件包的卸载功能" - - LOG_INFO "步骤1: 检查 yum 源中是否存在 $PACKAGE_NAME 软件包" - dnf list available $PACKAGE_NAME > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum 源中不存在 $PACKAGE_NAME 软件包" - exit 255 - fi - LOG_INFO "yum 源中存在 $PACKAGE_NAME 软件包" - - LOG_INFO "步骤2: 检查当前环境是否已安装 $PACKAGE_NAME" - rpm -q $PACKAGE_NAME > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "$PACKAGE_NAME 已安装,测试结束后将保持安装状态" - INSTALLED_BEFORE=1 - else - LOG_INFO "$PACKAGE_NAME 未安装,将执行安装作为测试步骤" - INSTALLED_BEFORE=0 - - LOG_INFO "步骤3: 安装 $PACKAGE_NAME 软件包" - dnf install -y $PACKAGE_NAME - CHECK_RESULT $? 0 0 "安装 $PACKAGE_NAME 失败" - LOG_INFO "安装 $PACKAGE_NAME 成功" - fi - - LOG_INFO "步骤4: 验证 $PACKAGE_NAME 安装状态" - rpm -q $PACKAGE_NAME - CHECK_RESULT $? 0 0 "$PACKAGE_NAME 未正确安装" - - LOG_INFO "步骤5: 卸载 $PACKAGE_NAME 软件包" - dnf remove -y $PACKAGE_NAME - CHECK_RESULT $? 0 0 "卸载 $PACKAGE_NAME 失败" - LOG_INFO "卸载 $PACKAGE_NAME 成功" - - LOG_INFO "步骤6: 验证 $PACKAGE_NAME 是否已卸载" - rpm -q $PACKAGE_NAME > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_ERROR "$PACKAGE_NAME 卸载后仍存在" - exit 1 - fi - LOG_INFO "$PACKAGE_NAME 已成功卸载" - - LOG_INFO "步骤7: 环境恢复" - if [ $INSTALLED_BEFORE -eq 0 ]; then - LOG_INFO "测试前未安装,无需重新安装" - else - LOG_INFO "重新安装 $PACKAGE_NAME 以恢复原始状态" - dnf install -y $PACKAGE_NAME - CHECK_RESULT $? 0 0 "重新安装 $PACKAGE_NAME 失败" - LOG_INFO "环境恢复完成" - fi - - LOG_INFO "测试完成: $PACKAGE_NAME 软件包的卸载功能正常" -} - -main "$@" \ No newline at end of file From 05dcdcf1a8a905430a9cdd4fe0f291f64a61b2ca Mon Sep 17 00:00:00 2001 From: honghua Date: Tue, 21 Apr 2026 21:05:28 +0800 Subject: [PATCH 19/34] update testcase for testsuite sane-backends-help --- .../sane-backends/sane-backends-help.json | 30 ---- ...ne-backends-help_function_check_content.sh | 72 ---------- ...est_sane-backends-help_function_install.sh | 74 ---------- ...sane-backends-help_function_query_files.sh | 132 ------------------ ...test_sane-backends-help_function_remove.sh | 82 ----------- ...est_sane-backends-help_function_upgrade.sh | 111 --------------- ...e-backends-help_function_verify_install.sh | 92 ------------ 7 files changed, 593 deletions(-) delete mode 100644 suite2cases/function_test/pkg_test/sane-backends/sane-backends-help.json delete mode 100644 testcases/function_test/pkg_test/sane-backends/sane-backends-help/test_sane-backends-help_function_check_content.sh delete mode 100644 testcases/function_test/pkg_test/sane-backends/sane-backends-help/test_sane-backends-help_function_install.sh delete mode 100644 testcases/function_test/pkg_test/sane-backends/sane-backends-help/test_sane-backends-help_function_query_files.sh delete mode 100644 testcases/function_test/pkg_test/sane-backends/sane-backends-help/test_sane-backends-help_function_remove.sh delete mode 100644 testcases/function_test/pkg_test/sane-backends/sane-backends-help/test_sane-backends-help_function_upgrade.sh delete mode 100644 testcases/function_test/pkg_test/sane-backends/sane-backends-help/test_sane-backends-help_function_verify_install.sh diff --git a/suite2cases/function_test/pkg_test/sane-backends/sane-backends-help.json b/suite2cases/function_test/pkg_test/sane-backends/sane-backends-help.json deleted file mode 100644 index ce2307115f9..00000000000 --- a/suite2cases/function_test/pkg_test/sane-backends/sane-backends-help.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "path": "$OET_PATH/testcases/function_test/pkg_test/sane-backends/sane-backends-help", - "machine num": 1, - "cases": [ - { - "name": "test_sane-backends-help_function_install", - "desc": "Test the installation of sane-backends-help package" - }, - { - "name": "test_sane-backends-help_function_verify_install", - "desc": "Verify sane-backends-help is installed" - }, - { - "name": "test_sane-backends-help_function_query_files", - "desc": "Query files provided by the package" - }, - { - "name": "test_sane-backends-help_function_check_content", - "desc": "Check help content availability" - }, - { - "name": "test_sane-backends-help_function_upgrade", - "desc": "Test package upgrade" - }, - { - "name": "test_sane-backends-help_function_remove", - "desc": "Test package removal" - } - ] -} \ No newline at end of file diff --git a/testcases/function_test/pkg_test/sane-backends/sane-backends-help/test_sane-backends-help_function_check_content.sh b/testcases/function_test/pkg_test/sane-backends/sane-backends-help/test_sane-backends-help_function_check_content.sh deleted file mode 100644 index 83263c3a13e..00000000000 --- a/testcases/function_test/pkg_test/sane-backends/sane-backends-help/test_sane-backends-help_function_check_content.sh +++ /dev/null @@ -1,72 +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-02 -# @License : Mulan PSL v2 -# @Desc : Check help content availability -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "检查yum源中是否存在sane-backends软件包" - if ! dnf list sane-backends &>/dev/null; then - LOG_ERROR "yum源中未找到sane-backends软件包" - exit 255 - fi - - LOG_INFO "检查系统是否已安装sane-backends" - if rpm -q sane-backends &>/dev/null; then - LOG_INFO "sane-backends已安装,标记为需要保持安装状态" - KEEP_INSTALLED=true - else - LOG_INFO "sane-backends未安装,标记为需要测试后卸载" - KEEP_INSTALLED=false - fi - - if [ "$KEEP_INSTALLED" = "false" ]; then - LOG_INFO "开始安装sane-backends软件包" - dnf install -y sane-backends - CHECK_RESULT $? 0 0 "安装sane-backends失败" - fi - - LOG_INFO "检查scanimage命令是否支持--help参数" - scanimage --help &>/dev/null - if [ $? -eq 255 ]; then - LOG_ERROR "scanimage命令不支持--help参数或参数不存在" - if [ "$KEEP_INSTALLED" = "false" ]; then - LOG_INFO "开始卸载sane-backends软件包" - dnf remove -y sane-backends - fi - exit 255 - fi - - LOG_INFO "执行scanimage --help命令获取帮助内容" - scanimage --help - CHECK_RESULT $? 0 0 "执行scanimage --help命令失败" - - LOG_INFO "检查帮助内容是否包含"Usage:"关键字" - scanimage --help | grep -q "Usage:" - CHECK_RESULT $? 0 0 "帮助内容中未找到"Usage:"关键字" - - if [ "$KEEP_INSTALLED" = "false" ]; then - LOG_INFO "开始卸载sane-backends软件包" - dnf remove -y sane-backends - CHECK_RESULT $? 0 0 "卸载sane-backends失败" - fi - - LOG_INFO "测试完成,环境已恢复" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/sane-backends/sane-backends-help/test_sane-backends-help_function_install.sh b/testcases/function_test/pkg_test/sane-backends/sane-backends-help/test_sane-backends-help_function_install.sh deleted file mode 100644 index a1db65771af..00000000000 --- a/testcases/function_test/pkg_test/sane-backends/sane-backends-help/test_sane-backends-help_function_install.sh +++ /dev/null @@ -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-09-13 -# @License : Mulan PSL v2 -# @Desc : Test the installation of sane-backends-help package -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 测试脚本:test_sane-backends-help_function_install.sh - - LOG_INFO "开始测试 sane-backends-help 软件包的安装功能" - - # 检查是否已安装 sane-backends-help - if rpm -q sane-backends-help > /dev/null 2>&1; then - LOG_INFO "sane-backends-help 已安装,测试将保持安装状态" - installed=true - else - LOG_INFO "sane-backends-help 未安装,测试将执行安装步骤" - installed=false - fi - - # 检查 yum 源中是否存在 sane-backends-help - LOG_INFO "检查 yum 源中是否存在 sane-backends-help" - dnf list available sane-backends-help > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum 源中未找到 sane-backends-help 软件包" - exit 255 - fi - - # 如果未安装,则执行安装 - if [ "$installed" = false ]; then - LOG_INFO "开始安装 sane-backends-help" - dnf install -y sane-backends-help > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "安装 sane-backends-help 失败" - fi - - # 验证软件包是否成功安装 - LOG_INFO "验证 sane-backends-help 是否成功安装" - rpm -q sane-backends-help > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "sane-backends-help 未正确安装" - - # 测试 sane-backends-help 的命令功能(假设命令为 sane-help) - LOG_INFO "测试 sane-backends-help 的命令功能" - sane-help --version > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "sane-help 命令不支持或参数无效" - exit_cleanup 255 - fi - - # 清理环境:如果测试前未安装,则卸载软件包 - if [ "$installed" = false ]; then - LOG_INFO "清理环境:卸载 sane-backends-help" - dnf remove -y sane-backends-help > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "卸载 sane-backends-hep 失败" - fi - - LOG_INFO "测试完成,环境已恢复" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/sane-backends/sane-backends-help/test_sane-backends-help_function_query_files.sh b/testcases/function_test/pkg_test/sane-backends/sane-backends-help/test_sane-backends-help_function_query_files.sh deleted file mode 100644 index 69189438595..00000000000 --- a/testcases/function_test/pkg_test/sane-backends/sane-backends-help/test_sane-backends-help_function_query_files.sh +++ /dev/null @@ -1,132 +0,0 @@ -#!/usr/bin/bash - -# Copyright (c) 2024 ISCAS .ALL rights reserved. -# This program is licensed under Mulan PSL v2. -# You can use it according to the terms and conditions of the Mulan PSL v2. -# http://license.coscl.org.cn/MulanPSL2 -# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, -# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, -# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. -# See the Mulan PSL v2 for more details. - -# ############################################# -# @Author : honghua -# @Contact : honghua@iscas.ac.cn -# @Date : 2026-03-02 -# @License : Mulan PSL v2 -# @Desc : Query files provided by the package -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 定义日志函数 - LOG_INFO() { - echo "[INFO] $*" - } - - LOG_ERROR() { - echo "[ERROR] $*" - } - - # 定义检查结果函数 - CHECK_RESULT() { - if [ $# -lt 4 ]; then - LOG_ERROR "CHECK_RESULT 参数不足" - exit 255 - fi - local actual=$1 - local expect=$2 - local mode=$3 - local msg=$4 - if [ $mode -eq 0 ]; then - if [ $actual -eq $expect ]; then - LOG_INFO "$msg 成功" - else - LOG_ERROR "$msg 失败" - exit $actual - fi - else - if [ $actual -ne $expect ]; then - LOG_INFO "$msg 成功" - else - LOG_ERROR "$msg 失败" - exit $actual - fi - fi - } - - # 定义SSH_CMD函数 - SSH_CMD() { - if [ $# -lt 4 ]; then - LOG_ERROR "SSH_CMD 参数不足" - exit 255 - fi - local cmd=$1 - local ip=$2 - local password=$3 - local user=$4 - sshpass -p "$password" ssh -o StrictHostKeyChecking=no "$user@$ip" "$cmd" - } - - # 定义软件包名称 - PACKAGE_NAME="sane-backends" - - # 步骤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 - if [ $? -eq 0 ]; then - LOG_INFO "$PACKAGE_NAME 已经安装,标记为已安装状态" - INSTALLED=true - else - LOG_INFO "$PACKAGE_NAME 未安装,标记为未安装状态" - INSTALLED=false - 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: 查询 $PACKAGE_NAME 软件包提供的文件" - rpm -ql $PACKAGE_NAME > /tmp/package_files.txt - CHECK_RESULT $? 0 0 "查询 $PACKAGE_NAME 提供的文件" - - # 步骤5: 检查查询结果是否包含文件列表 - LOG_INFO "步骤5: 检查查询结果是否包含文件列表" - if [ -s /tmp/package_files.txt ]; then - LOG_INFO "$PACKAGE_NAME 提供的文件列表已生成" - # 可选:打印前几行文件列表 - head -5 /tmp/package_files.txt - else - LOG_ERROR "$PACKAGE_NAME 提供的文件列表为空" - exit 1 - fi - - # 步骤6: 清理临时文件 - LOG_INFO "步骤6: 清理临时文件" - rm -f /tmp/package_files.txt - CHECK_RESULT $? 0 0 "清理临时文件" - - # 步骤7: 如果之前未安装,则卸载软件包 - if [ "$INSTALLED" = "false" ]; then - LOG_INFO "步骤7: 卸载 $PACKAGE_NAME 软件包" - dnf remove -y $PACKAGE_NAME - CHECK_RESULT $? 0 0 "卸载 $PACKAGE_NAME" - fi - - LOG_INFO "测试脚本执行完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/sane-backends/sane-backends-help/test_sane-backends-help_function_remove.sh b/testcases/function_test/pkg_test/sane-backends/sane-backends-help/test_sane-backends-help_function_remove.sh deleted file mode 100644 index ced0caa3091..00000000000 --- a/testcases/function_test/pkg_test/sane-backends/sane-backends-help/test_sane-backends-help_function_remove.sh +++ /dev/null @@ -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-02 -# @License : Mulan PSL v2 -# @Desc : Test package removal -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - set -e - - LOG_INFO "开始测试软件包移除功能" - - LOG_INFO "步骤1: 检查sane-backends软件包是否在yum源中" - if ! dnf list available sane-backends &>/dev/null; then - LOG_ERROR "yum源中未找到sane-backends软件包" - exit 255 - fi - LOG_INFO "sane-backends软件包在yum源中存在" - - LOG_INFO "步骤2: 检查当前环境是否已安装sane-backends" - if rpm -q sane-backends &>/dev/null; then - LOG_INFO "sane-backends已安装,标记为保持安装状态" - KEEP_INSTALLED=1 - else - LOG_INFO "sane-backends未安装,将在测试过程中安装" - KEEP_INSTALLED=0 - fi - - LOG_INFO "步骤3: 如果未安装则安装sane-backends" - if [ $KEEP_INSTALLED -eq 0 ]; then - dnf install -y sane-backends - CHECK_RESULT $? 0 0 "安装sane-backends失败" - LOG_INFO "成功安装sane-backends" - fi - - LOG_INFO "步骤4: 验证sane-backends基本功能" - scanimage --help &>/dev/null - CHECK_RESULT $? 0 0 "scanimage命令执行失败" - - LOG_INFO "步骤5: 测试软件包移除功能" - if [ $KEEP_INSTALLED -eq 0 ]; then - dnf remove -y sane-backends - CHECK_RESULT $? 0 0 "移除sane-backends失败" - LOG_INFO "成功移除sane-backends" - - LOG_INFO "步骤6: 验证软件包已移除" - if rpm -q sane-backends &>/dev/null; then - LOG_ERROR "sane-backends未被正确移除" - exit 1 - fi - LOG_INFO "sane-backends已成功移除" - else - LOG_INFO "保持安装状态,跳过移除测试" - fi - - LOG_INFO "步骤7: 清理测试环境" - if [ $KEEP_INSTALLED -eq 0 ] && rpm -q sane-backends &>/dev/null; then - dnf remove -y sane-backends - CHECK_RESULT $? 0 0 "清理环境时移除sane-backends失败" - LOG_INFO "清理环境完成" - else - LOG_INFO "无需清理,保持原安装状态" - fi - - LOG_INFO "测试软件包移除功能完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/sane-backends/sane-backends-help/test_sane-backends-help_function_upgrade.sh b/testcases/function_test/pkg_test/sane-backends/sane-backends-help/test_sane-backends-help_function_upgrade.sh deleted file mode 100644 index 609f0ed8b45..00000000000 --- a/testcases/function_test/pkg_test/sane-backends/sane-backends-help/test_sane-backends-help_function_upgrade.sh +++ /dev/null @@ -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 : 2026-03-02 -# @License : Mulan PSL v2 -# @Desc : Test package upgrade -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 定义日志函数(根据要求直接使用,但需要定义以便脚本运行) - LOG_INFO() { - echo "[INFO] $*" - } - - LOG_ERROR() { - echo "[ERROR] $*" >&2 - } - - # 定义检查结果函数(根据要求直接使用,但需要定义以便脚本运行) - CHECK_RESULT() { - local actual=$1 - local expected=$2 - local error_code=$3 - local error_msg=$4 - if [ $actual -ne $expected ]; then - LOG_ERROR "$error_msg" - exit $error_code - fi - } - - # 定义SSH_CMD函数(根据要求直接使用,但需要定义以便脚本运行) - SSH_CMD() { - local cmd=$1 - local ip=$2 - local password=$3 - local user=${4:-root} - sshpass -p "$password" ssh -o StrictHostKeyChecking=no "$user@$ip" "$cmd" - } - - # 测试脚本主体 - LOG_INFO "开始测试:Test package upgrade" - - # 检查yum源中是否有sane-backends软件包 - LOG_INFO "步骤1:检查yum源中是否有sane-backends软件包" - if ! dnf list available sane-backends &>/dev/null; then - LOG_ERROR "yum源中未找到sane-backends软件包" - exit 255 - fi - - # 检查当前是否已安装sane-backends - LOG_INFO "步骤2:检查当前是否已安装sane-backends" - if rpm -q sane-backends &>/dev/null; then - already_installed=true - LOG_INFO "sane-backends已安装,测试结束后将保持安装状态" - else - already_installed=false - LOG_INFO "sane-backends未安装,将进行安装测试" - fi - - # 如果未安装,则安装软件包 - if [ "$already_installed" = false ]; then - LOG_INFO "步骤3:安装sane-backends软件包" - dnf install -y sane-backends - CHECK_RESULT $? 0 0 "安装sane-backends失败" - fi - - # 测试sane-backends的help功能 - LOG_INFO "步骤4:测试sane-backends的help功能" - if ! scanimage --help &>/dev/null; then - LOG_ERROR "scanimage命令的--help参数不存在或不支持" - exit 255 - fi - scanimage --help - CHECK_RESULT $? 0 0 "执行scanimage --help失败" - - # 测试升级功能(模拟升级,实际可能无新版本) - LOG_INFO "步骤5:测试sane-backends软件包升级" - dnf check-update sane-backends - # 检查升级命令是否支持(这里假设dnf check-update总是成功,除非参数错误) - if [ $? -gt 1 ]; then - LOG_ERROR "dnf check-update命令失败或参数不支持" - exit 255 - fi - # 如果有可用更新,则执行升级(此处仅模拟,实际可能无更新) - dnf update -y sane-backends - CHECK_RESULT $? 0 0 "升级sane-backends失败" - - # 如果最初未安装,则在测试结束后卸载 - if [ "$already_installed" = false ]; then - LOG_INFO "步骤6:卸载sane-backends软件包(恢复环境)" - dnf remove -y sane-backends - CHECK_RESULT $? 0 0 "卸载sane-backends失败" - fi - - LOG_INFO "测试完成:Test package upgrade" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/sane-backends/sane-backends-help/test_sane-backends-help_function_verify_install.sh b/testcases/function_test/pkg_test/sane-backends/sane-backends-help/test_sane-backends-help_function_verify_install.sh deleted file mode 100644 index 53155fb3caf..00000000000 --- a/testcases/function_test/pkg_test/sane-backends/sane-backends-help/test_sane-backends-help_function_verify_install.sh +++ /dev/null @@ -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-02 -# @License : Mulan PSL v2 -# @Desc : Verify sane-backends-help is installed -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - set -e - - LOG_INFO "开始测试:Verify sane-backends-help is installed" - - # 定义软件包名称 - PACKAGE_NAME="sane-backends-help" - - # 步骤1:检查软件包是否已在系统中安装 - LOG_INFO "步骤1:检查软件包是否已在系统中安装" - if dnf list installed "$PACKAGE_NAME" &>/dev/null; then - LOG_INFO "软件包已安装,标记为已安装状态" - INSTALLED_BEFORE=true - else - LOG_INFO "软件包未安装,标记为未安装状态" - INSTALLED_BEFORE=false - fi - - # 步骤2:检查yum源中是否存在该软件包 - LOG_INFO "步骤2:检查yum源中是否存在该软件包" - if ! dnf list available "$PACKAGE_NAME" &>/dev/null; then - LOG_ERROR "yum源中未找到软件包:$PACKAGE_NAME" - exit 255 - fi - - # 步骤3:如果未安装,则安装软件包 - if [ "$INSTALLED_BEFORE" = false ]; then - LOG_INFO "步骤3:安装软件包" - dnf install -y "$PACKAGE_NAME" - CHECK_RESULT $? 0 0 "安装软件包失败" - fi - - # 步骤4:验证软件包是否成功安装 - LOG_INFO "步骤4:验证软件包是否成功安装" - if dnf list installed "$PACKAGE_NAME" &>/dev/null; then - LOG_INFO "软件包安装验证成功" - else - LOG_ERROR "软件包安装验证失败" - exit 1 - fi - - # 步骤5:测试sane-backends-help命令的功能 - LOG_INFO "步骤5:测试sane-backends-help命令的功能" - if command -v sane-help &>/dev/null; then - LOG_INFO "sane-help命令存在,尝试执行" - if sane-help --help &>/dev/null; then - LOG_INFO "sane-help --help 执行成功" - else - LOG_ERROR "sane-help --help 执行失败" - exit 1 - fi - else - LOG_ERROR "sane-help命令不存在" - exit 255 - fi - - # 步骤6:清理环境,恢复到之前的状态 - 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 "测试完成:Verify sane-backends-help is installed" -} - -main "$@" \ No newline at end of file From d415b95a98646fd54f9fb8ca0ae8fa4ab017bfd4 Mon Sep 17 00:00:00 2001 From: honghua Date: Tue, 21 Apr 2026 21:08:39 +0800 Subject: [PATCH 20/34] update testcase for testsuite potrace-help --- .../pkg_test/potrace/potrace-help.json | 26 ------ .../test_potrace-help_function_basic_usage.sh | 71 ---------------- .../test_potrace-help_function_help_output.sh | 83 ------------------- .../test_potrace-help_function_install.sh | 65 --------------- .../test_potrace-help_function_uninstall.sh | 78 ----------------- .../test_potrace-help_function_version.sh | 67 --------------- 6 files changed, 390 deletions(-) delete mode 100644 suite2cases/function_test/pkg_test/potrace/potrace-help.json delete mode 100644 testcases/function_test/pkg_test/potrace/potrace-help/test_potrace-help_function_basic_usage.sh delete mode 100644 testcases/function_test/pkg_test/potrace/potrace-help/test_potrace-help_function_help_output.sh delete mode 100644 testcases/function_test/pkg_test/potrace/potrace-help/test_potrace-help_function_install.sh delete mode 100644 testcases/function_test/pkg_test/potrace/potrace-help/test_potrace-help_function_uninstall.sh delete mode 100644 testcases/function_test/pkg_test/potrace/potrace-help/test_potrace-help_function_version.sh diff --git a/suite2cases/function_test/pkg_test/potrace/potrace-help.json b/suite2cases/function_test/pkg_test/potrace/potrace-help.json deleted file mode 100644 index 36c4f5337ab..00000000000 --- a/suite2cases/function_test/pkg_test/potrace/potrace-help.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "path": "$OET_PATH/testcases/function_test/pkg_test/potrace/potrace-help", - "machine num": 1, - "cases": [ - { - "name": "test_potrace-help_function_install", - "desc": "Test package installation" - }, - { - "name": "test_potrace-help_function_uninstall", - "desc": "Test package removal" - }, - { - "name": "test_potrace-help_function_version", - "desc": "Test version info display" - }, - { - "name": "test_potrace-help_function_basic_usage", - "desc": "Test basic command usage" - }, - { - "name": "test_potrace-help_function_help_output", - "desc": "Test help info output" - } - ] -} \ No newline at end of file diff --git a/testcases/function_test/pkg_test/potrace/potrace-help/test_potrace-help_function_basic_usage.sh b/testcases/function_test/pkg_test/potrace/potrace-help/test_potrace-help_function_basic_usage.sh deleted file mode 100644 index da57b03ea83..00000000000 --- a/testcases/function_test/pkg_test/potrace/potrace-help/test_potrace-help_function_basic_usage.sh +++ /dev/null @@ -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-16 -# @License : Mulan PSL v2 -# @Desc : Test basic command usage -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试:Test basic command usage" - LOG_INFO "步骤1:检查yum源中是否存在potrace软件包" - dnf list available potrace > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到potrace软件包,退出测试" - exit 255 - fi - - LOG_INFO "步骤2:检查系统是否已安装potrace" - rpm -q potrace > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "系统已安装potrace,跳过安装步骤" - INSTALLED=true - else - LOG_INFO "系统未安装potrace,执行安装" - dnf install -y potrace - CHECK_RESULT $? 0 0 "安装potrace失败" - INSTALLED=false - fi - - LOG_INFO "步骤3:测试potrace --help命令基本用法" - potrace --help > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "potrace --help命令执行失败" - - LOG_INFO "步骤4:测试不支持的参数" - potrace --invalid-option 2>&1 | grep -q "unrecognized option" - CHECK_RESULT $? 0 0 "potrace未正确识别无效参数,退出码应为255" - if [ $? -ne 0 ]; then - LOG_ERROR "potrace不支持指定的参数,退出测试" - exit 255 - fi - - LOG_INFO "步骤5:测试基本命令执行" - potrace --version > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "potrace --version命令执行失败" - - LOG_INFO "步骤6:清理测试环境" - if [ "$INSTALLED" = "false" ]; then - LOG_INFO "卸载测试安装的potrace软件包" - dnf remove -y potrace - CHECK_RESULT $? 0 0 "卸载potrace失败" - else - LOG_INFO "系统原本已安装potrace,保持安装状态" - fi - - LOG_INFO "测试完成:Test basic command usage" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/potrace/potrace-help/test_potrace-help_function_help_output.sh b/testcases/function_test/pkg_test/potrace/potrace-help/test_potrace-help_function_help_output.sh deleted file mode 100644 index 1623158999b..00000000000 --- a/testcases/function_test/pkg_test/potrace/potrace-help/test_potrace-help_function_help_output.sh +++ /dev/null @@ -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 : 2026-03-16 -# @License : Mulan PSL v2 -# @Desc : Test help info output -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试:Test help info output" - - # 检查yum源中是否存在potrace软件包 - LOG_INFO "步骤1:检查yum源中是否存在potrace软件包" - dnf list available potrace > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到potrace软件包" - exit 255 - fi - - # 检查是否已安装potrace - LOG_INFO "步骤2:检查当前环境是否已安装potrace" - rpm -q potrace > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "potrace已安装,标记为已安装状态" - INSTALLED=1 - else - LOG_INFO "potrace未安装,标记为未安装状态" - INSTALLED=0 - fi - - # 如果未安装,则安装potrace - if [ $? -eq 0 ] && [ $INSTALLED -eq 0 ]; then - LOG_INFO "步骤3:安装potrace软件包" - dnf install -y potrace > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "安装potrace失败" - fi - - # 测试potrace命令的help参数 - LOG_INFO "步骤4:测试potrace命令的help参数" - potrace --help > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "potrace --help命令执行失败" - - # 测试potrace命令的-h参数 - LOG_INFO "步骤5:测试potrace命令的-h参数" - potrace -h > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "potrace -h命令执行失败" - - # 测试不支持的参数,预期失败 - LOG_INFO "步骤6:测试potrace命令的不支持参数,预期失败" - potrace --invalid-param > /dev/null 2>&1 - if [ $? -eq 255 ]; then - LOG_INFO "不支持的参数正确处理,退出码为255" - else - LOG_ERROR "不支持的参数未正确处理" - exit 255 - fi - - # 清理环境:如果之前未安装,则卸载potrace - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "步骤7:清理环境,卸载potrace软件包" - dnf remove -y potrace > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "卸载potrace失败" - else - LOG_INFO "步骤7:保持potrace安装状态,无需卸载" - fi - - LOG_INFO "测试完成:Test help info output" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/potrace/potrace-help/test_potrace-help_function_install.sh b/testcases/function_test/pkg_test/potrace/potrace-help/test_potrace-help_function_install.sh deleted file mode 100644 index 89bd996a1f7..00000000000 --- a/testcases/function_test/pkg_test/potrace/potrace-help/test_potrace-help_function_install.sh +++ /dev/null @@ -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-10-18 -# @License : Mulan PSL v2 -# @Desc : Test package installation -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试软件包安装功能" - - # 检查potrace软件包是否已安装 - if rpm -q potrace &> /dev/null; then - LOG_INFO "potrace软件包已安装,跳过安装步骤" - installed=true - else - LOG_INFO "potrace软件包未安装,准备安装" - installed=false - fi - - # 检查yum源中是否存在potrace软件包 - LOG_INFO "检查yum源中是否存在potrace软件包" - dnf list available potrace &> /dev/null - CHECK_RESULT $? 0 0 "yum源中不存在potrace软件包" - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中不存在potrace软件包,退出测试" - exit 255 - fi - - # 安装potrace软件包 - if [ "$installed" = false ]; then - LOG_INFO "开始安装potrace软件包" - dnf install -y potrace &> /dev/null - CHECK_RESULT $? 0 0 "安装potrace软件包失败" - fi - - # 测试potrace命令的帮助功能 - LOG_INFO "测试potrace命令的帮助功能" - potrace --help &> /dev/null - CHECK_RESULT $? 0 0 "potrace命令的帮助功能测试失败" - - # 清理环境 - if [ "$installed" = false ]; then - LOG_INFO "卸载potrace软件包以恢复环境" - dnf remove -y potrace &> /dev/null - CHECK_RESULT $? 0 0 "卸载potrace软件包失败" - fi - - LOG_INFO "测试完成,环境已恢复" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/potrace/potrace-help/test_potrace-help_function_uninstall.sh b/testcases/function_test/pkg_test/potrace/potrace-help/test_potrace-help_function_uninstall.sh deleted file mode 100644 index c47ce675b79..00000000000 --- a/testcases/function_test/pkg_test/potrace/potrace-help/test_potrace-help_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-16 -# @License : Mulan PSL v2 -# @Desc : Test package removal -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试软件包卸载功能" - LOG_INFO "步骤1:检查potrace-help软件包是否已在yum源中" - dnf list available potrace-help 2>/dev/null | grep -q "potrace-help" - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到potrace-help软件包" - exit 255 - fi - LOG_INFO "potrace-help软件包在yum源中可用" - - LOG_INFO "步骤2:检查系统是否已安装potrace-help软件包" - rpm -q potrace-help >/dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "系统已安装potrace-help软件包,测试结束后将保持安装状态" - INSTALLED_BEFORE_TEST=true - else - LOG_INFO "系统未安装potrace-help软件包,将在测试步骤中安装" - INSTALLED_BEFORE_TEST=false - fi - - LOG_INFO "步骤3:测试卸载功能前,确保软件包已安装" - if [ "$INSTALLED_BEFORE_TEST" = "false" ]; then - LOG_INFO "安装potrace-help软件包" - dnf install -y potrace-help - CHECK_RESULT $? 0 0 "安装potrace-help软件包失败" - LOG_INFO "potrace-help软件包安装成功" - fi - - LOG_INFO "步骤4:测试卸载软件包功能" - LOG_INFO "执行卸载命令:dnf remove -y potrace-help" - dnf remove -y potrace-help - CHECK_RESULT $? 0 0 "卸载potrace-help软件包失败" - LOG_INFO "potrace-help软件包卸载成功" - - LOG_INFO "步骤5:验证软件包是否已卸载" - rpm -q potrace-help >/dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_ERROR "验证失败,potrace-help软件包仍在系统中" - exit 1 - else - LOG_INFO "验证成功,potrace-help软件包已从系统中移除" - fi - - LOG_INFO "步骤6:环境恢复" - if [ "$INSTALLED_BEFORE_TEST" = "true" ]; then - LOG_INFO "恢复原始状态:重新安装potrace-help软件包" - dnf install -y potrace-help - CHECK_RESULT $? 0 0 "重新安装potrace-help软件包失败" - LOG_INFO "potrace-help软件包重新安装成功" - else - LOG_INFO "测试前未安装,无需恢复安装状态" - fi - - LOG_INFO "测试完成,环境已恢复" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/potrace/potrace-help/test_potrace-help_function_version.sh b/testcases/function_test/pkg_test/potrace/potrace-help/test_potrace-help_function_version.sh deleted file mode 100644 index 3578760f2d9..00000000000 --- a/testcases/function_test/pkg_test/potrace/potrace-help/test_potrace-help_function_version.sh +++ /dev/null @@ -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 : 2026-03-16 -# @License : Mulan PSL v2 -# @Desc : Test version info display -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试:Test version info display" - LOG_INFO "步骤1:检查potrace软件包是否在yum源中" - dnf list available potrace &>/dev/null - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到potrace软件包" - exit 255 - fi - LOG_INFO "步骤2:检查potrace命令是否已安装" - if command -v potrace &>/dev/null; then - LOG_INFO "potrace命令已安装,标记为已存在" - INSTALLED_BEFORE="true" - else - LOG_INFO "potrace命令未安装,标记为未安装" - INSTALLED_BEFORE="false" - fi - if [ "$INSTALLED_BEFORE" = "false" ]; then - LOG_INFO "步骤3:安装potrace软件包" - dnf install -y potrace - CHECK_RESULT $? 0 0 "安装potrace软件包失败" - fi - LOG_INFO "步骤4:测试potrace --help参数" - potrace --help &>/dev/null - CHECK_RESULT $? 0 0 "potrace --help参数执行失败" - LOG_INFO "步骤5:测试potrace --version参数" - potrace --version &>/dev/null - CHECK_RESULT $? 0 0 "potrace --version参数执行失败" - LOG_INFO "步骤6:测试potrace不支持的参数(例如--nonexistent)" - potrace --nonexistent &>/dev/null 2>&1 - if [ $? -eq 255 ]; then - LOG_INFO "不支持的参数返回退出码255,符合预期" - else - LOG_ERROR "不支持的参数未返回退出码255" - exit 255 - fi - if [ "$INSTALLED_BEFORE" = "false" ]; then - LOG_INFO "步骤7:清理环境,卸载potrace软件包" - dnf remove -y potrace - CHECK_RESULT $? 0 0 "卸载potrace软件包失败" - else - LOG_INFO "步骤7:环境已安装potrace,保持安装状态" - fi - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file From 7e1b847476dbae3068d1c3a192958405e7994fac Mon Sep 17 00:00:00 2001 From: honghua Date: Tue, 21 Apr 2026 21:11:40 +0800 Subject: [PATCH 21/34] update testcase for testsuite nodejs-lodash-trunc --- .../pkg_test/lodash/nodejs-lodash-trunc.json | 34 ------- ...test_nodejs-lodash-trunc_function_basic.sh | 84 ---------------- ...st_nodejs-lodash-trunc_function_install.sh | 75 -------------- ...est_nodejs-lodash-trunc_function_length.sh | 83 ---------------- ...t_nodejs-lodash-trunc_function_omission.sh | 78 --------------- ...st_nodejs-lodash-trunc_function_require.sh | 96 ------------------ ..._nodejs-lodash-trunc_function_separator.sh | 82 ---------------- ..._nodejs-lodash-trunc_function_uninstall.sh | 97 ------------------- 8 files changed, 629 deletions(-) delete mode 100644 suite2cases/function_test/pkg_test/lodash/nodejs-lodash-trunc.json delete mode 100644 testcases/function_test/pkg_test/lodash/nodejs-lodash-trunc/test_nodejs-lodash-trunc_function_basic.sh delete mode 100644 testcases/function_test/pkg_test/lodash/nodejs-lodash-trunc/test_nodejs-lodash-trunc_function_install.sh delete mode 100644 testcases/function_test/pkg_test/lodash/nodejs-lodash-trunc/test_nodejs-lodash-trunc_function_length.sh delete mode 100644 testcases/function_test/pkg_test/lodash/nodejs-lodash-trunc/test_nodejs-lodash-trunc_function_omission.sh delete mode 100644 testcases/function_test/pkg_test/lodash/nodejs-lodash-trunc/test_nodejs-lodash-trunc_function_require.sh delete mode 100644 testcases/function_test/pkg_test/lodash/nodejs-lodash-trunc/test_nodejs-lodash-trunc_function_separator.sh delete mode 100644 testcases/function_test/pkg_test/lodash/nodejs-lodash-trunc/test_nodejs-lodash-trunc_function_uninstall.sh diff --git a/suite2cases/function_test/pkg_test/lodash/nodejs-lodash-trunc.json b/suite2cases/function_test/pkg_test/lodash/nodejs-lodash-trunc.json deleted file mode 100644 index 11d96884dd8..00000000000 --- a/suite2cases/function_test/pkg_test/lodash/nodejs-lodash-trunc.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "path": "$OET_PATH/testcases/function_test/pkg_test/lodash/nodejs-lodash-trunc", - "machine num": 1, - "cases": [ - { - "name": "test_nodejs-lodash-trunc_function_install", - "desc": "测试软件包 nodejs-lodash-trunc 能够通过包管理器成功安装" - }, - { - "name": "test_nodejs-lodash-trunc_function_require", - "desc": "测试软件包 nodejs-lodash-trunc 能够在 Node.js 环境中被正确引入" - }, - { - "name": "test_nodejs-lodash-trunc_function_basic", - "desc": "测试 lodash.truncate 函数的基本字符串截断功能" - }, - { - "name": "test_nodejs-lodash-trunc_function_length", - "desc": "测试指定 length 参数时的字符串截断功能" - }, - { - "name": "test_nodejs-lodash-trunc_function_omission", - "desc": "测试指定 omission 参数时的字符串截断功能" - }, - { - "name": "test_nodejs-lodash-trunc_function_separator", - "desc": "测试指定 separator 参数时的字符串截断功能" - }, - { - "name": "test_nodejs-lodash-trunc_function_uninstall", - "desc": "测试软件包 nodejs-lodash-trunc 能够通过包管理器成功卸载" - } - ] -} \ No newline at end of file diff --git a/testcases/function_test/pkg_test/lodash/nodejs-lodash-trunc/test_nodejs-lodash-trunc_function_basic.sh b/testcases/function_test/pkg_test/lodash/nodejs-lodash-trunc/test_nodejs-lodash-trunc_function_basic.sh deleted file mode 100644 index 81c28e4c9a3..00000000000 --- a/testcases/function_test/pkg_test/lodash/nodejs-lodash-trunc/test_nodejs-lodash-trunc_function_basic.sh +++ /dev/null @@ -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 : 2026-02-21 -# @License : Mulan PSL v2 -# @Desc : 测试 lodash.truncate 函数的基本字符串截断功能 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试 lodash.truncate 函数的基本字符串截断功能" - - # 检查 Node.js 和 lodash 是否已安装 - LOG_INFO "检查 Node.js 和 lodash 是否已安装" - if command -v node &> /dev/null && node -e "require("lodash")" &> /dev/null; then - LOG_INFO "Node.js 和 lodash 已安装,脚本结束后将保持安装状态" - NODE_INSTALLED=true - else - LOG_INFO "Node.js 或 lodash 未安装,将在测试中安装" - NODE_INSTALLED=false - fi - - # 检查 yum 源中是否有 Node.js 和 npm 包 - LOG_INFO "检查 yum 源中是否有 Node.js 和 npm 包" - if ! dnf list available nodejs npm &> /dev/null; then - LOG_ERROR "yum 源中没有找到 Node.js 或 npm 包" - exit 255 - fi - - # 如果未安装,则安装 Node.js 和 npm - if [ "$NODE_INSTALLED" = false ]; then - LOG_INFO "安装 Node.js 和 npm" - dnf install -y nodejs npm - CHECK_RESULT $? 0 0 "安装 Node.js 和 npm 失败" - fi - - # 安装 lodash 包 - LOG_INFO "安装 lodash 包" - npm install -g lodash - CHECK_RESULT $? 0 0 "安装 lodash 失败" - - # 测试 lodash.truncate 函数的基本功能 - LOG_INFO "测试 lodash.truncate 函数的基本功能" - cat > test_truncate.js << "EOF" - const _ = require("lodash"); - const str = "Hello, world! This is a long string."; - const truncated = _.truncate(str, { length: 20 }); - console.log(truncated); - EOF - - node test_truncate.js | grep -q "Hello, world! This..." - CHECK_RESULT $? 0 0 "lodash.truncate 函数截断功能测试失败" - - # 清理临时文件 - LOG_INFO "清理临时文件" - rm -f test_truncate.js - - # 如果脚本开始时未安装 Node.js 和 lodash,则在测试结束后卸载 - if [ "$NODE_INSTALLED" = false ]; then - LOG_INFO "卸载 lodash 包" - npm uninstall -g lodash - CHECK_RESULT $? 0 0 "卸载 lodash 失败" - - LOG_INFO "卸载 Node.js 和 npm" - dnf remove -y nodejs npm - CHECK_RESULT $? 0 0 "卸载 Node.js 和 npm 失败" - fi - - LOG_INFO "测试完成,环境已恢复" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/lodash/nodejs-lodash-trunc/test_nodejs-lodash-trunc_function_install.sh b/testcases/function_test/pkg_test/lodash/nodejs-lodash-trunc/test_nodejs-lodash-trunc_function_install.sh deleted file mode 100644 index 16f813875ff..00000000000 --- a/testcases/function_test/pkg_test/lodash/nodejs-lodash-trunc/test_nodejs-lodash-trunc_function_install.sh +++ /dev/null @@ -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-02-21 -# @License : Mulan PSL v2 -# @Desc : 测试软件包 nodejs-lodash-trunc 能够通过包管理器成功安装 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试:验证nodejs-lodash-trunc软件包能够通过包管理器成功安装" - - # 检查软件包是否已在yum源中 - LOG_INFO "检查yum源中是否存在nodejs-lodash-trunc软件包" - dnf list available nodejs-lodash-trunc &>/dev/null - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到nodejs-lodash-trunc软件包" - exit 255 - fi - - # 检查是否已安装nodejs-lodash-trunc - LOG_INFO "检查nodejs-lodash-trunc是否已安装" - rpm -q nodejs-lodash-trunc &>/dev/null - if [ $? -eq 0 ]; then - LOG_INFO "nodejs-lodash-trunc已安装,测试结束后将保持安装状态" - INSTALLED=true - else - LOG_INFO "nodejs-lodash-trunc未安装,将执行安装测试" - INSTALLED=false - fi - - # 如果未安装,则执行安装 - if [ "$INSTALLED" = "false" ]; then - LOG_INFO "开始安装nodejs-lodash-trunc软件包" - dnf install -y nodejs-lodash-trunc - CHECK_RESULT $? 0 0 "安装nodejs-lodash-trunc失败" - LOG_INFO "nodejs-lodash-trunc安装成功" - fi - - # 验证软件包是否安装成功 - LOG_INFO "验证nodejs-lodash-trunc软件包是否安装成功" - rpm -q nodejs-lodash-trunc - CHECK_RESULT $? 0 0 "nodejs-lodash-trunc未正确安装" - - # 测试软件包功能(此处以列出文件为例,具体功能根据实际软件包调整) - LOG_INFO "测试nodejs-lodash-trunc基本功能" - rpm -ql nodejs-lodash-trunc | head -5 - CHECK_RESULT $? 0 0 "nodejs-lodash-trunc功能测试失败" - - # 如果测试开始时未安装,则在测试结束后卸载 - if [ "$INSTALLED" = "false" ]; then - LOG_INFO "测试完成,开始卸载nodejs-lodash-trunc软件包" - dnf remove -y nodejs-lodash-trunc - CHECK_RESULT $? 0 0 "卸载nodejs-lodash-trunc失败" - LOG_INFO "nodejs-lodash-trunc卸载成功,环境已恢复" - else - LOG_INFO "测试完成,nodejs-lodash-trunc保持安装状态" - fi - - LOG_INFO "测试结束:nodejs-lodash-trunc软件包能够通过包管理器成功安装" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/lodash/nodejs-lodash-trunc/test_nodejs-lodash-trunc_function_length.sh b/testcases/function_test/pkg_test/lodash/nodejs-lodash-trunc/test_nodejs-lodash-trunc_function_length.sh deleted file mode 100644 index 27cb437360e..00000000000 --- a/testcases/function_test/pkg_test/lodash/nodejs-lodash-trunc/test_nodejs-lodash-trunc_function_length.sh +++ /dev/null @@ -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 : 2026-02-21 -# @License : Mulan PSL v2 -# @Desc : 测试指定 length 参数时的字符串截断功能 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 判断环境是否已经安装nodejs-lodash包 - LOG_INFO "检查nodejs-lodash包是否已安装" - rpm -q nodejs-lodash > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "nodejs-lodash包已安装,测试结束后将保持安装状态" - INSTALLED_FLAG=1 - else - LOG_INFO "nodejs-lodash包未安装,将在测试前安装,测试结束后卸载" - INSTALLED_FLAG=0 - fi - - # 检查yum源中是否有nodejs-lodash包 - LOG_INFO "检查yum源中是否有nodejs-lodash包" - dnf list available nodejs-lodash > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中没有找到nodejs-lodash包" - exit 255 - fi - - # 如果未安装,则安装nodejs-lodash包 - if [ $INSTALLED_FLAG -eq 0 ]; then - LOG_INFO "安装nodejs-lodash包" - dnf install -y nodejs-lodash > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "安装nodejs-lodash包失败" - fi - - # 测试指定length参数时的字符串截断功能 - LOG_INFO "测试指定length参数时的字符串截断功能" - cat > test_trunc.js << "EOF" - const _ = require("lodash"); - console.log(_.trunc("hi-diddly-ho there, neighborino", { "length": 20 })); - EOF - - node test_trunc.js > actual_result.txt - CHECK_RESULT $? 0 0 "执行Node.js脚本失败" - - # 检查实际输出是否符合预期 - EXPECTED="hi-diddly-ho there..." - ACTUAL=$(cat actual_result.txt) - if [ "$ACTUAL" == "$EXPECTED" ]; then - LOG_INFO "测试通过:字符串截断功能正常" - else - LOG_ERROR "测试失败:预期输出为"$EXPECTED",实际输出为"$ACTUAL"" - exit 1 - fi - - # 清理测试文件 - LOG_INFO "清理测试文件" - rm -f test_trunc.js actual_result.txt - - # 如果测试前未安装,则在测试结束后卸载nodejs-lodash包 - if [ $INSTALLED_FLAG -eq 0 ]; then - LOG_INFO "卸载nodejs-lodash包" - dnf remove -y nodejs-lodash > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "卸载nodejs-lodash包失败" - fi - - LOG_INFO "测试脚本执行完毕" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/lodash/nodejs-lodash-trunc/test_nodejs-lodash-trunc_function_omission.sh b/testcases/function_test/pkg_test/lodash/nodejs-lodash-trunc/test_nodejs-lodash-trunc_function_omission.sh deleted file mode 100644 index ee27565284d..00000000000 --- a/testcases/function_test/pkg_test/lodash/nodejs-lodash-trunc/test_nodejs-lodash-trunc_function_omission.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-02-21 -# @License : Mulan PSL v2 -# @Desc : 测试指定 omission 参数时的字符串截断功能 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试指定 omission 参数时的字符串截断功能" - - # 检查 yum 源中是否存在 nodejs-lodash-trunc 软件包 - LOG_INFO "检查 yum 源中是否存在 nodejs-lodash-trunc 软件包" - dnf list nodejs-lodash-trunc > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum 源中未找到 nodejs-lodash-trunc 软件包" - exit 255 - fi - - # 检查环境是否已安装 nodejs-lodash-trunc - LOG_INFO "检查环境是否已安装 nodejs-lodash-trunc" - rpm -q nodejs-lodash-trunc > /dev/null 2>&1 - installed=$? - if [ $installed -ne 0 ]; then - LOG_INFO "环境未安装 nodejs-lodash-trunc,开始安装" - dnf install -y nodejs-lodash-trunc - CHECK_RESULT $? 0 0 "安装 nodejs-lodash-trunc 失败" - fi - - # 测试指定 omission 参数时的字符串截断功能 - LOG_INFO "测试指定 omission 参数时的字符串截断功能" - node -e " - const trunc = require("lodash.trunc"); - const result = trunc("这是一个测试字符串", {length: 5, omission: "..."}); - console.log(result); - " > actual_output.txt 2>&1 - CHECK_RESULT $? 0 0 "执行 nodejs-lodash-trunc 命令失败" - - # 检查预期输出 - expected_output="这是一个..." - actual_output=$(cat actual_output.txt) - if [ "$actual_output" = "$expected_output" ]; then - LOG_INFO "测试通过:字符串截断功能正常" - else - LOG_ERROR "测试失败:预期输出 "$expected_output",实际输出 "$actual_output"" - exit 1 - fi - - # 清理临时文件 - LOG_INFO "清理临时文件" - rm -f actual_output.txt - - # 如果脚本开始时未安装,则卸载软件包 - if [ $installed -ne 0 ]; then - LOG_INFO "卸载 nodejs-lodash-trunc 软件包" - dnf remove -y nodejs-lodash-trunc - CHECK_RESULT $? 0 0 "卸载 nodejs-lodash-trunc 失败" - else - LOG_INFO "保持 nodejs-lodash-trunc 安装状态" - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/lodash/nodejs-lodash-trunc/test_nodejs-lodash-trunc_function_require.sh b/testcases/function_test/pkg_test/lodash/nodejs-lodash-trunc/test_nodejs-lodash-trunc_function_require.sh deleted file mode 100644 index 97cf51c44a2..00000000000 --- a/testcases/function_test/pkg_test/lodash/nodejs-lodash-trunc/test_nodejs-lodash-trunc_function_require.sh +++ /dev/null @@ -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-02-21 -# @License : Mulan PSL v2 -# @Desc : 测试软件包 nodejs-lodash-trunc 能够在 Node.js 环境中被正确引入 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 检查环境是否已安装 nodejs-lodash-trunc - LOG_INFO "检查 nodejs-lodash-trunc 软件包是否已安装..." - dnf list installed nodejs-lodash-trunc &>/dev/null - if [ $? -eq 0 ]; then - LOG_INFO "nodejs-lodash-trunc 已安装,脚本结束后将保持安装状态。" - ALREADY_INSTALLED=1 - else - LOG_INFO "nodejs-lodash-trunc 未安装,将在测试中安装。" - ALREADY_INSTALLED=0 - fi - - # 检查 yum 源中是否有该软件包 - LOG_INFO "检查 yum 源中是否存在 nodejs-lodash-trunc 软件包..." - dnf list available nodejs-lodash-trunc &>/dev/null - CHECK_RESULT $? 0 0 "yum 源中未找到 nodejs-lodash-trunc 软件包" - if [ $? -ne 0 ]; then - LOG_ERROR "yum 源中未找到 nodejs-lodash-trunc 软件包" - exit 255 - fi - - # 如果未安装,则安装软件包 - if [ $ALREADY_INSTALLED -eq 0 ]; then - LOG_INFO "安装 nodejs-lodash-trunc 软件包..." - dnf install -y nodejs-lodash-trunc - CHECK_RESULT $? 0 0 "安装 nodejs-lodash-trunc 失败" - fi - - # 测试 nodejs-lodash-trunc 能否在 Node.js 环境中被正确引入 - LOG_INFO "测试 nodejs-lodash-trunc 能否在 Node.js 环境中被正确引入..." - cat > /tmp/test_lodash_trunc.js << "EOF" - try { - const trunc = require("lodash.trunc"); - console.log("引入 lodash.trunc 成功:", trunc); - if (typeof trunc === "function") { - console.log("trunc 是一个函数"); - const result = trunc("Hello World", 5); - console.log("trunc 函数执行结果:", result); - if (result === "Hello...") { - console.log("测试通过"); - process.exit(0); - } else { - console.error("测试失败: 函数执行结果不符合预期"); - process.exit(1); - } - } else { - console.error("测试失败: trunc 不是一个函数"); - process.exit(1); - } - } catch (error) { - console.error("测试失败: 无法引入 lodash.trunc", error); - process.exit(1); - } - EOF - - node /tmp/test_lodash_trunc.js - CHECK_RESULT $? 0 0 "Node.js 环境中引入 lodash.trunc 失败" - - # 清理临时文件 - LOG_INFO "清理临时文件..." - rm -f /tmp/test_lodash_trunc.js - - # 如果脚本开始时未安装,则在测试结束后卸载软件包 - if [ $ALREADY_INSTALLED -eq 0 ]; then - LOG_INFO "卸载 nodejs-lodash-trunc 软件包..." - dnf remove -y nodejs-lodash-trunc - CHECK_RESULT $? 0 0 "卸载 nodejs-lodash-trunc 失败" - else - LOG_INFO "保持 nodejs-lodash-trunc 软件包安装状态。" - fi - - LOG_INFO "测试脚本执行完成。" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/lodash/nodejs-lodash-trunc/test_nodejs-lodash-trunc_function_separator.sh b/testcases/function_test/pkg_test/lodash/nodejs-lodash-trunc/test_nodejs-lodash-trunc_function_separator.sh deleted file mode 100644 index e58faebf33d..00000000000 --- a/testcases/function_test/pkg_test/lodash/nodejs-lodash-trunc/test_nodejs-lodash-trunc_function_separator.sh +++ /dev/null @@ -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-02-21 -# @License : Mulan PSL v2 -# @Desc : 测试指定 separator 参数时的字符串截断功能 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 测试指定 separator 参数时的字符串截断功能 - - # 检查是否已经安装nodejs-lodash软件包 - LOG_INFO "检查是否已安装nodejs-lodash软件包" - rpm -q nodejs-lodash > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "nodejs-lodash已安装,标记为已存在" - already_installed=1 - else - LOG_INFO "nodejs-lodash未安装,标记为未安装" - already_installed=0 - fi - - # 检查yum源中是否有nodejs-lodash软件包 - LOG_INFO "检查yum源中是否有nodejs-lodash软件包" - dnf list available nodejs-lodash > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到nodejs-lodash软件包" - exit 255 - fi - - # 如果未安装,则安装软件包 - if [ $already_installed -eq 0 ]; then - LOG_INFO "开始安装nodejs-lodash软件包" - dnf install -y nodejs-lodash - CHECK_RESULT $? 0 0 "安装nodejs-lodash软件包失败" - fi - - # 测试trunc函数separator参数功能 - LOG_INFO "测试trunc函数separator参数功能" - # 创建一个测试脚本 - cat > /tmp/test_trunc.js << "EOF" - const _ = require("lodash"); - console.log("测试1: trunc("hello-world", {separator: "-"})"); - console.log(_.trunc("hello-world", {separator: "-"})); - console.log("测试2: trunc("hello.world.js", {separator: "."})"); - console.log(_.trunc("hello.world.js", {separator: "."})); - console.log("测试3: trunc("hello world", {separator: " ", length: 8})"); - console.log(_.trunc("hello world", {separator: " ", length: 8})); - EOF - - # 执行测试脚本 - node /tmp/test_trunc.js - CHECK_RESULT $? 0 0 "执行trunc函数测试失败" - - # 清理临时文件 - LOG_INFO "清理临时文件" - rm -f /tmp/test_trunc.js - - # 如果测试前未安装,则卸载软件包 - if [ $already_installed -eq 0 ]; then - LOG_INFO "卸载nodejs-lodash软件包" - dnf remove -y nodejs-lodash - CHECK_RESULT $? 0 0 "卸载nodejs-lodash软件包失败" - fi - - LOG_INFO "测试完成,环境已恢复" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/lodash/nodejs-lodash-trunc/test_nodejs-lodash-trunc_function_uninstall.sh b/testcases/function_test/pkg_test/lodash/nodejs-lodash-trunc/test_nodejs-lodash-trunc_function_uninstall.sh deleted file mode 100644 index b41b6a6d5a6..00000000000 --- a/testcases/function_test/pkg_test/lodash/nodejs-lodash-trunc/test_nodejs-lodash-trunc_function_uninstall.sh +++ /dev/null @@ -1,97 +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-21 -# @License : Mulan PSL v2 -# @Desc : 测试软件包 nodejs-lodash-trunc 能够通过包管理器成功卸载 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 初始化日志打印函数(实际环境中可能已定义) - LOG_INFO() { - echo "[INFO] $*" - } - LOG_ERROR() { - echo "[ERROR] $*" - } - - # 定义包名 - PACKAGE_NAME="nodejs-lodash-trunc" - - # 步骤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" - dnf list installed $PACKAGE_NAME &>/dev/null - if [ $? -eq 0 ]; then - LOG_INFO "软件包 $PACKAGE_NAME 已安装,标记为已存在" - PACKAGE_PRE_INSTALLED=true - else - LOG_INFO "软件包 $PACKAGE_NAME 未安装,标记为未存在" - PACKAGE_PRE_INSTALLED=false - fi - - # 步骤3:如果未安装,则安装软件包作为测试步骤 - if [ "$PACKAGE_PRE_INSTALLED" = "false" ]; then - LOG_INFO "步骤3:安装软件包 $PACKAGE_NAME" - dnf install -y $PACKAGE_NAME - CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败" - LOG_INFO "软件包 $PACKAGE_NAME 安装成功" - else - LOG_INFO "步骤3:软件包 $PACKAGE_NAME 已安装,跳过安装步骤" - fi - - # 步骤4:验证软件包是否成功安装 - LOG_INFO "步骤4:验证软件包 $PACKAGE_NAME 是否成功安装" - dnf list installed $PACKAGE_NAME &>/dev/null - CHECK_RESULT $? 0 0 "软件包 $PACKAGE_NAME 未正确安装" - - # 步骤5:测试卸载软件包 - LOG_INFO "步骤5:测试卸载软件包 $PACKAGE_NAME" - dnf remove -y $PACKAGE_NAME - CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败" - LOG_INFO "软件包 $PACKAGE_NAME 卸载成功" - - # 步骤6:验证软件包是否已卸载 - LOG_INFO "步骤6:验证软件包 $PACKAGE_NAME 是否已卸载" - dnf list installed $PACKAGE_NAME &>/dev/null - if [ $? -eq 0 ]; then - LOG_ERROR "软件包 $PACKAGE_NAME 卸载后仍存在" - exit 1 - else - LOG_INFO "软件包 $PACKAGE_NAME 已成功卸载" - fi - - # 步骤7:环境恢复,如果脚本开始时未安装,则保持未安装状态;如果已安装,则重新安装 - if [ "$PACKAGE_PRE_INSTALLED" = "false" ]; then - LOG_INFO "步骤7:环境恢复,脚本开始时未安装 $PACKAGE_NAME,保持未安装状态" - else - LOG_INFO "步骤7:环境恢复,重新安装软件包 $PACKAGE_NAME" - dnf install -y $PACKAGE_NAME - CHECK_RESULT $? 0 0 "重新安装软件包 $PACKAGE_NAME 失败" - LOG_INFO "软件包 $PACKAGE_NAME 重新安装成功" - fi - - LOG_INFO "测试完成:软件包 $PACKAGE_NAME 能够通过包管理器成功卸载" -} - -main "$@" \ No newline at end of file From cfd68ae7a0f8be0aad9c527c26343b9c593dbca2 Mon Sep 17 00:00:00 2001 From: honghua Date: Tue, 21 Apr 2026 21:14:35 +0800 Subject: [PATCH 22/34] update testcase for testsuite jboss-logmanager-javadoc --- .../jboss-logmanager-javadoc.json | 14 ---- ..._jboss-logmanager-javadoc_function_docs.sh | 66 ------------------- ...oss-logmanager-javadoc_function_install.sh | 60 ----------------- 3 files changed, 140 deletions(-) delete mode 100644 suite2cases/function_test/pkg_test/jboss-logmanager/jboss-logmanager-javadoc.json delete mode 100644 testcases/function_test/pkg_test/jboss-logmanager/jboss-logmanager-javadoc/test_jboss-logmanager-javadoc_function_docs.sh delete mode 100644 testcases/function_test/pkg_test/jboss-logmanager/jboss-logmanager-javadoc/test_jboss-logmanager-javadoc_function_install.sh diff --git a/suite2cases/function_test/pkg_test/jboss-logmanager/jboss-logmanager-javadoc.json b/suite2cases/function_test/pkg_test/jboss-logmanager/jboss-logmanager-javadoc.json deleted file mode 100644 index 5f97f957ec4..00000000000 --- a/suite2cases/function_test/pkg_test/jboss-logmanager/jboss-logmanager-javadoc.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "path": "$OET_PATH/testcases/function_test/pkg_test/jboss-logmanager/jboss-logmanager-javadoc", - "machine num": 1, - "cases": [ - { - "name": "test_jboss-logmanager-javadoc_function_install", - "desc": "Test installation of jboss-logmanager-javadoc package" - }, - { - "name": "test_jboss-logmanager-javadoc_function_docs", - "desc": "Test documentation availability" - } - ] -} \ No newline at end of file diff --git a/testcases/function_test/pkg_test/jboss-logmanager/jboss-logmanager-javadoc/test_jboss-logmanager-javadoc_function_docs.sh b/testcases/function_test/pkg_test/jboss-logmanager/jboss-logmanager-javadoc/test_jboss-logmanager-javadoc_function_docs.sh deleted file mode 100644 index 7a2caa27846..00000000000 --- a/testcases/function_test/pkg_test/jboss-logmanager/jboss-logmanager-javadoc/test_jboss-logmanager-javadoc_function_docs.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-09 -# @License : Mulan PSL v2 -# @Desc : Test documentation availability -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试文档可用性" - - # 检查是否已安装jboss-logmanager-javadoc - LOG_INFO "检查jboss-logmanager-javadoc是否已安装" - dnf list installed jboss-logmanager-javadoc > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "jboss-logmanager-javadoc已安装,测试后将保持安装状态" - INSTALLED=true - else - LOG_INFO "jboss-logmanager-javadoc未安装,测试后将卸载" - INSTALLED=false - fi - - # 检查yum源中是否有jboss-logmanager-javadoc - LOG_INFO "检查yum源中是否有jboss-logmanager-javadoc" - dnf search jboss-logmanager-javadoc > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到jboss-logmanager-javadoc" - exit 255 - fi - - # 安装jboss-logmanager-javadoc - if [ "$INSTALLED" = false ]; then - LOG_INFO "开始安装jboss-logmanager-javadoc" - dnf install -y jboss-logmanager-javadoc > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "安装jboss-logmanager-javadoc失败" - fi - - # 测试文档可用性 - LOG_INFO "测试文档可用性" - man jboss-logmanager-javadoc > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "文档不可用" - - # 清理环境(如果之前未安装) - if [ "$INSTALLED" = false ]; then - LOG_INFO "卸载jboss-logmanager-javadoc" - dnf remove -y jboss-logmanager-javadoc > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "卸载jboss-logmanager-javadoc失败" - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/jboss-logmanager/jboss-logmanager-javadoc/test_jboss-logmanager-javadoc_function_install.sh b/testcases/function_test/pkg_test/jboss-logmanager/jboss-logmanager-javadoc/test_jboss-logmanager-javadoc_function_install.sh deleted file mode 100644 index 130e5ead09f..00000000000 --- a/testcases/function_test/pkg_test/jboss-logmanager/jboss-logmanager-javadoc/test_jboss-logmanager-javadoc_function_install.sh +++ /dev/null @@ -1,60 +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-20 -# @License : Mulan PSL v2 -# @Desc : Test installation of jboss-logmanager-javadoc package -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - - # 检查yum源中是否存在jboss-logmanager-javadoc软件包 - LOG_INFO "检查yum源中是否存在jboss-logmanager-javadoc软件包" - dnf list available jboss-logmanager-javadoc &>/dev/null - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中不存在jboss-logmanager-javadoc软件包" - exit 255 - fi - - # 检查是否已安装jboss-logmanager-javadoc软件包 - LOG_INFO "检查是否已安装jboss-logmanager-javadoc软件包" - rpm -q jboss-logmanager-javadoc &>/dev/null - if [ $? -eq 0 ]; then - LOG_INFO "jboss-logmanager-javadoc软件包已安装,脚本结束时保持安装状态" - installed=true - else - installed=false - fi - - # 如果未安装,则进行安装 - if [ "$installed" = false ]; then - LOG_INFO "安装jboss-logmanager-javadoc软件包" - dnf install -y jboss-logmanager-javadoc - CHECK_RESULT $? 0 0 "安装jboss-logmanager-javadoc软件包失败" - fi - - # 测试完成后,如果之前未安装则卸载软件包 - if [ "$installed" = false ]; then - LOG_INFO "卸载jboss-logmanager-javadoc软件包" - dnf remove -y jboss-logmanager-javadoc - CHECK_RESULT $? 0 0 "卸载jboss-logmanager-javadoc软件包失败" - fi - - LOG_INFO "测试完成,环境已恢复" - -} - -main "$@" \ No newline at end of file From 358551583a40b9c8aa1e11ee0f20fc2969cb0dad Mon Sep 17 00:00:00 2001 From: honghua Date: Tue, 21 Apr 2026 21:17:29 +0800 Subject: [PATCH 23/34] update testcase for testsuite texlive-libertinus-doc --- .../texlive-libertinus-doc.json | 10 --- ...texlive-libertinus-doc_function_install.sh | 71 ------------------- 2 files changed, 81 deletions(-) delete mode 100644 suite2cases/function_test/pkg_test/texlive-split-n/texlive-libertinus-doc.json delete mode 100644 testcases/function_test/pkg_test/texlive-split-n/texlive-libertinus-doc/test_texlive-libertinus-doc_function_install.sh diff --git a/suite2cases/function_test/pkg_test/texlive-split-n/texlive-libertinus-doc.json b/suite2cases/function_test/pkg_test/texlive-split-n/texlive-libertinus-doc.json deleted file mode 100644 index 85084146a69..00000000000 --- a/suite2cases/function_test/pkg_test/texlive-split-n/texlive-libertinus-doc.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-n/texlive-libertinus-doc", - "machine num": 1, - "cases": [ - { - "name": "test_texlive-libertinus-doc_function_install", - "desc": "Test installation of texlive-libertinus-doc" - } - ] -} \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-n/texlive-libertinus-doc/test_texlive-libertinus-doc_function_install.sh b/testcases/function_test/pkg_test/texlive-split-n/texlive-libertinus-doc/test_texlive-libertinus-doc_function_install.sh deleted file mode 100644 index 8677fc051b1..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-n/texlive-libertinus-doc/test_texlive-libertinus-doc_function_install.sh +++ /dev/null @@ -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-11-26 -# @License : Mulan PSL v2 -# @Desc : Test installation of texlive-libertinus-doc -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - - # 检查是否已安装texlive-libertinus-doc - LOG_INFO "检查是否已安装texlive-libertinus-doc" - rpm -q texlive-libertinus-doc > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "texlive-libertinus-doc已安装,脚本结束时保持安装状态" - installed=true - else - LOG_INFO "texlive-libertinus-doc未安装,将在测试结束后卸载" - installed=false - fi - - # 检查yum源中是否存在texlive-libertinus-doc - LOG_INFO "检查yum源中是否存在texlive-libertinus-doc" - dnf list available texlive-libertinus-doc > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中不存在texlive-libertinus-doc,退出码255" - exit 255 - fi - - # 安装texlive-libertinus-doc - LOG_INFO "开始安装texlive-libertinus-doc" - dnf install -y texlive-libertinus-doc - CHECK_RESULT $? 0 0 "安装texlive-libertinus-doc失败" - - # 验证安装是否成功 - LOG_INFO "验证texlive-libertinus-doc是否安装成功" - rpm -q texlive-libertinus-doc > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "验证texlive-libertinus-doc安装失败" - - # 测试完成后根据初始状态决定是否卸载 - if [ "$installed" = false ]; then - LOG_INFO "测试完成,卸载texlive-libertinus-doc" - dnf remove -y texlive-libertinus-doc - CHECK_RESULT $? 0 0 "卸载texlive-libertinus-doc失败" - - # 验证卸载是否成功 - LOG_INFO "验证texlive-libertinus-doc是否卸载成功" - rpm -q texlive-libertinus-doc > /dev/null 2>&1 - CHECK_RESULT $? 1 0 "验证texlive-libertinus-doc卸载失败" - else - LOG_INFO "测试完成,保持texlive-libertinus-doc安装状态" - fi - - LOG_INFO "测试脚本执行完毕,环境已恢复" - -} - -main "$@" \ No newline at end of file From ea53d922f996ff4f8d8b12fe76a6bcbe7b2fcf52 Mon Sep 17 00:00:00 2001 From: honghua Date: Tue, 21 Apr 2026 21:20:24 +0800 Subject: [PATCH 24/34] update testcase for testsuite texlive-contour --- .../texlive-split-e/texlive-contour.json | 4 - .../test_texlive-contour_function_usage.sh | 91 ------------------- 2 files changed, 95 deletions(-) delete mode 100644 testcases/function_test/pkg_test/texlive-split-e/texlive-contour/test_texlive-contour_function_usage.sh diff --git a/suite2cases/function_test/pkg_test/texlive-split-e/texlive-contour.json b/suite2cases/function_test/pkg_test/texlive-split-e/texlive-contour.json index 10798000061..1bcd9b7e8b4 100644 --- a/suite2cases/function_test/pkg_test/texlive-split-e/texlive-contour.json +++ b/suite2cases/function_test/pkg_test/texlive-split-e/texlive-contour.json @@ -15,10 +15,6 @@ "name": "test_texlive-contour_function_remove", "desc": "测试 texlive-contour 软件包的卸载功能,验证其能否被完全卸载且不残留核心文件。" }, - { - "name": "test_texlive-contour_function_usage", - "desc": "测试 texlive-contour 软件包的基本使用功能,验证其 LaTeX 宏包能否在简单文档中正确加载并生成轮廓文字效果。" - }, { "name": "test_texlive-contour_function_version", "desc": "测试 texlive-contour 软件包的版本查询功能,验证系统能正确识别并报告已安装的软件包版本。" diff --git a/testcases/function_test/pkg_test/texlive-split-e/texlive-contour/test_texlive-contour_function_usage.sh b/testcases/function_test/pkg_test/texlive-split-e/texlive-contour/test_texlive-contour_function_usage.sh deleted file mode 100644 index 30d92386acc..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-e/texlive-contour/test_texlive-contour_function_usage.sh +++ /dev/null @@ -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-02-23 -# @License : Mulan PSL v2 -# @Desc : 测试 texlive-contour 软件包的基本使用功能,验证其 LaTeX 宏包能否在简单文档中正确加载并生成轮廓文字效果。 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试 texlive-contour 软件包的基本使用功能" - LOG_INFO "步骤1:检查 yum 源中是否存在 texlive-contour 软件包" - dnf list available texlive-contour 2>/dev/null | grep -q texlive-contour - if [ $? -ne 0 ]; then - LOG_ERROR "yum 源中未找到 texlive-contour 软件包" - exit 255 - fi - - LOG_INFO "步骤2:检查系统是否已安装 texlive-contour" - if rpm -q texlive-contour &>/dev/null; then - LOG_INFO "texlive-contour 已安装,测试结束后将保持安装状态" - INSTALLED_BEFORE_TEST=1 - else - LOG_INFO "texlive-contour 未安装,将在测试中安装" - INSTALLED_BEFORE_TEST=0 - fi - - if [ $INSTALLED_BEFORE_TEST -eq 0 ]; then - LOG_INFO "步骤3:安装 texlive-contour 软件包" - dnf install -y texlive-contour - CHECK_RESULT $? 0 0 "安装 texlive-contour 失败" - fi - - LOG_INFO "步骤4:创建一个简单的 LaTeX 测试文档" - TEST_TEX_FILE="test_contour.tex" - cat > $TEST_TEX_FILE << "EOF" - \documentclass{article} - \usepackage{contour} - \begin{document} - \contour{black}{Hello, OpenEuler!} - \end{document} - EOF - CHECK_RESULT $? 0 0 "创建 LaTeX 测试文档失败" - - LOG_INFO "步骤5:使用 pdflatex 编译 LaTeX 文档" - if ! command -v pdflatex &> /dev/null; then - LOG_ERROR "pdflatex 命令未找到,无法编译 LaTeX 文档" - if [ $INSTALLED_BEFORE_TEST -eq 0 ]; then - dnf remove -y texlive-contour - fi - exit 255 - fi - - pdflatex -interaction=nonstopmode $TEST_TEX_FILE - CHECK_RESULT $? 0 0 "编译 LaTeX 文档失败" - - LOG_INFO "步骤6:检查生成的 PDF 文件" - if [ -f "test_contour.pdf" ]; then - LOG_INFO "PDF 文件生成成功" - else - LOG_ERROR "PDF 文件未生成" - CHECK_RESULT 1 0 0 "未生成 PDF 文件" - fi - - LOG_INFO "步骤7:清理生成的临时文件" - rm -f test_contour.aux test_contour.log test_contour.out test_contour.pdf test_contour.tex - - if [ $INSTALLED_BEFORE_TEST -eq 0 ]; then - LOG_INFO "步骤8:卸载 texlive-contour 软件包" - dnf remove -y texlive-contour - CHECK_RESULT $? 0 0 "卸载 texlive-contour 失败" - else - LOG_INFO "步骤8:测试前已安装 texlive-contour,跳过卸载" - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file From 3c9ed520acdddf398c8d53090294ac1d95ab673d Mon Sep 17 00:00:00 2001 From: honghua Date: Tue, 21 Apr 2026 21:22:48 +0800 Subject: [PATCH 25/34] update testcase for testsuite openjfx-devel --- .../pkg_test/openjfx11/openjfx-devel.json | 12 ---- .../test_openjfx-devel_function_event.sh | 64 ----------------- .../test_openjfx-devel_function_media.sh | 68 ------------------ .../test_openjfx-devel_function_ui.sh | 70 ------------------- 4 files changed, 214 deletions(-) delete mode 100644 testcases/function_test/pkg_test/openjfx11/openjfx-devel/test_openjfx-devel_function_event.sh delete mode 100644 testcases/function_test/pkg_test/openjfx11/openjfx-devel/test_openjfx-devel_function_media.sh delete mode 100644 testcases/function_test/pkg_test/openjfx11/openjfx-devel/test_openjfx-devel_function_ui.sh diff --git a/suite2cases/function_test/pkg_test/openjfx11/openjfx-devel.json b/suite2cases/function_test/pkg_test/openjfx11/openjfx-devel.json index aa9aa0415fd..735e3c66f61 100644 --- a/suite2cases/function_test/pkg_test/openjfx11/openjfx-devel.json +++ b/suite2cases/function_test/pkg_test/openjfx11/openjfx-devel.json @@ -6,18 +6,6 @@ "name": "test_openjfx-devel_function_init", "desc": "Test initialization of openjfx-devel package" }, - { - "name": "test_openjfx-devel_function_ui", - "desc": "Test UI components rendering" - }, - { - "name": "test_openjfx-devel_function_event", - "desc": "Test event handling functionality" - }, - { - "name": "test_openjfx-devel_function_media", - "desc": "Test media playback support" - }, { "name": "test_openjfx-devel_function_web", "desc": "Test web view rendering" diff --git a/testcases/function_test/pkg_test/openjfx11/openjfx-devel/test_openjfx-devel_function_event.sh b/testcases/function_test/pkg_test/openjfx11/openjfx-devel/test_openjfx-devel_function_event.sh deleted file mode 100644 index 41110cbb65a..00000000000 --- a/testcases/function_test/pkg_test/openjfx11/openjfx-devel/test_openjfx-devel_function_event.sh +++ /dev/null @@ -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-12 -# @License : Mulan PSL v2 -# @Desc : Test event handling functionality -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - - # 检查是否已安装openjfx-devel软件包 - LOG_INFO "检查是否已安装openjfx-devel软件包" - if rpm -q openjfx-devel &>/dev/null; then - LOG_INFO "openjfx-devel已安装,脚本结束后将保持安装状态" - INSTALLED=true - else - LOG_INFO "openjfx-devel未安装,将在测试结束后卸载" - INSTALLED=false - fi - - # 检查yum源中是否存在openjfx-devel软件包 - LOG_INFO "检查yum源中是否存在openjfx-devel软件包" - if ! dnf list available openjfx-devel &>/dev/null; then - LOG_ERROR "yum源中未找到openjfx-devel软件包" - exit 255 - fi - - # 安装openjfx-devel软件包(如果未安装) - if [ "$INSTALLED" = false ]; then - LOG_INFO "正在安装openjfx-devel软件包" - dnf install -y openjfx-devel - CHECK_RESULT $? 0 0 "安装openjfx-devel失败" - fi - - # 测试event handling功能 - LOG_INFO "开始测试event handling功能" - java -jar /path/to/test_event_handling.jar --test-event - CHECK_RESULT $? 0 0 "event handling功能测试失败" - - # 清理环境(如果脚本开始时未安装) - if [ "$INSTALLED" = false ]; then - LOG_INFO "正在卸载openjfx-devel软件包" - dnf remove -y openjfx-devel - CHECK_RESULT $? 0 0 "卸载openjfx-devel失败" - fi - - LOG_INFO "测试完成,环境已恢复" - -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/openjfx11/openjfx-devel/test_openjfx-devel_function_media.sh b/testcases/function_test/pkg_test/openjfx11/openjfx-devel/test_openjfx-devel_function_media.sh deleted file mode 100644 index e634f4525a5..00000000000 --- a/testcases/function_test/pkg_test/openjfx11/openjfx-devel/test_openjfx-devel_function_media.sh +++ /dev/null @@ -1,68 +0,0 @@ -#!/usr/bin/bash - -# Copyright (c) 2024 ISCAS .ALL rights reserved. -# This program is licensed under Mulan PSL v2. -# You can use it according to the terms and conditions of the Mulan PSL v2. -# http://license.coscl.org.cn/MulanPSL2 -# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, -# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, -# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. -# See the Mulan PSL v2 for more details. - -# ############################################# -# @Author : honghua -# @Contact : honghua@iscas.ac.cn -# @Date : 2025-12-12 -# @License : Mulan PSL v2 -# @Desc : Test media playback support -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 测试脚本:test_openjfx-devel_function_media.sh - - LOG_INFO "开始测试:Test media playback support" - - # 检查是否已安装openjfx-devel - LOG_INFO "检查是否已安装openjfx-devel" - rpm -q openjfx-devel > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "openjfx-devel已安装,保持环境状态" - INSTALLED=true - else - LOG_INFO "openjfx-devel未安装,将在测试后卸载" - INSTALLED=false - fi - - # 检查yum源中是否有openjfx-devel软件包 - LOG_INFO "检查yum源中是否有openjfx-devel软件包" - dnf list available openjfx-devel > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到openjfx-devel软件包" - exit 255 - fi - - # 安装openjfx-devel - if [ "$INSTALLED" = false ]; then - LOG_INFO "安装openjfx-devel" - dnf install -y openjfx-devel - CHECK_RESULT $? 0 0 "安装openjfx-devel失败" - fi - - # 测试media playback支持 - LOG_INFO "测试media playback支持" - java -jar /usr/share/openjfx/lib/javafx-media.jar --version - CHECK_RESULT $? 0 0 "media playback支持测试失败" - - # 清理环境 - if [ "$INSTALLED" = false ]; then - LOG_INFO "卸载openjfx-devel" - dnf remove -y openjfx-devel - CHECK_RESULT $? 0 0 "卸载openjfx-devel失败" - fi - - LOG_INFO "测试完成:Test media playback support" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/openjfx11/openjfx-devel/test_openjfx-devel_function_ui.sh b/testcases/function_test/pkg_test/openjfx11/openjfx-devel/test_openjfx-devel_function_ui.sh deleted file mode 100644 index 5a7cc6d88af..00000000000 --- a/testcases/function_test/pkg_test/openjfx11/openjfx-devel/test_openjfx-devel_function_ui.sh +++ /dev/null @@ -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-12 -# @License : Mulan PSL v2 -# @Desc : Test UI components rendering -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 测试脚本:test_openjfx-devel_function_ui - # 测试用例描述:Test UI components rendering - - LOG_INFO "开始测试:Test UI components rendering" - - # 检查yum源中是否存在openjfx-devel软件包 - LOG_INFO "检查yum源中是否存在openjfx-devel软件包" - dnf list available openjfx-devel > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到openjfx-devel软件包" - exit 255 - fi - - # 检查是否已安装openjfx-devel - LOG_INFO "检查是否已安装openjfx-devel" - rpm -q openjfx-devel > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "openjfx-devel已安装,跳过安装步骤" - installed=true - else - LOG_INFO "openjfx-devel未安装,开始安装" - dnf install -y openjfx-devel - CHECK_RESULT $? 0 0 "安装openjfx-devel失败" - installed=false - fi - - # 测试UI组件渲染功能 - LOG_INFO "测试UI组件渲染功能" - java -version > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "Java环境未安装或配置错误" - - # 模拟UI组件渲染测试命令(示例命令,需根据实际测试需求调整) - LOG_INFO "执行UI组件渲染测试命令" - test_command="java -jar /path/to/ui-test-tool.jar --test-ui" - eval $test_command - CHECK_RESULT $? 0 0 "UI组件渲染测试失败" - - # 环境恢复:如果脚本开始时未安装openjfx-devel,则卸载 - if [ "$installed" = false ]; then - LOG_INFO "卸载openjfx-devel" - dnf remove -y openjfx-devel - CHECK_RESULT $? 0 0 "卸载openjfx-devel失败" - fi - - LOG_INFO "测试完成:Test UI components rendering" -} - -main "$@" \ No newline at end of file From 91c847b133d474a1d60cef067844d011e2e9f2ff Mon Sep 17 00:00:00 2001 From: honghua Date: Tue, 21 Apr 2026 21:23:14 +0800 Subject: [PATCH 26/34] update testcase for testsuite uwsgi-plugin-psgi --- .../pkg_test/uwsgi/uwsgi-plugin-psgi.json | 16 ---- .../test_uwsgi-plugin-psgi_function_basic.sh | 91 ------------------- ...test_uwsgi-plugin-psgi_function_install.sh | 91 ------------------- ...st_uwsgi-plugin-psgi_function_uninstall.sh | 87 ------------------ .../test_uwsgi-plugin-psgi_function_verify.sh | 64 ------------- 5 files changed, 349 deletions(-) delete mode 100644 testcases/function_test/pkg_test/uwsgi/uwsgi-plugin-psgi/test_uwsgi-plugin-psgi_function_basic.sh delete mode 100644 testcases/function_test/pkg_test/uwsgi/uwsgi-plugin-psgi/test_uwsgi-plugin-psgi_function_install.sh delete mode 100644 testcases/function_test/pkg_test/uwsgi/uwsgi-plugin-psgi/test_uwsgi-plugin-psgi_function_uninstall.sh delete mode 100644 testcases/function_test/pkg_test/uwsgi/uwsgi-plugin-psgi/test_uwsgi-plugin-psgi_function_verify.sh diff --git a/suite2cases/function_test/pkg_test/uwsgi/uwsgi-plugin-psgi.json b/suite2cases/function_test/pkg_test/uwsgi/uwsgi-plugin-psgi.json index c8190ff45e5..4e85f3cb725 100644 --- a/suite2cases/function_test/pkg_test/uwsgi/uwsgi-plugin-psgi.json +++ b/suite2cases/function_test/pkg_test/uwsgi/uwsgi-plugin-psgi.json @@ -5,22 +5,6 @@ { "name": "test_uwsgi-plugin-psgi_function_load", "desc": "Test loading the PSGI plugin" - }, - { - "name": "test_uwsgi-plugin-psgi_function_install", - "desc": "Test installation of the uwsgi-plugin-psgi package" - }, - { - "name": "test_uwsgi-plugin-psgi_function_verify", - "desc": "Test verification of the plugin installation" - }, - { - "name": "test_uwsgi-plugin-psgi_function_basic", - "desc": "Test basic PSGI application serving" - }, - { - "name": "test_uwsgi-plugin-psgi_function_uninstall", - "desc": "Test uninstallation of the uwsgi-plugin-psgi package" } ] } \ No newline at end of file diff --git a/testcases/function_test/pkg_test/uwsgi/uwsgi-plugin-psgi/test_uwsgi-plugin-psgi_function_basic.sh b/testcases/function_test/pkg_test/uwsgi/uwsgi-plugin-psgi/test_uwsgi-plugin-psgi_function_basic.sh deleted file mode 100644 index 2ffa67cf281..00000000000 --- a/testcases/function_test/pkg_test/uwsgi/uwsgi-plugin-psgi/test_uwsgi-plugin-psgi_function_basic.sh +++ /dev/null @@ -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-02-19 -# @License : Mulan PSL v2 -# @Desc : Test basic PSGI application serving -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试:Test basic PSGI application serving" - - LOG_INFO "步骤1:检查uwsgi-plugin-psgi软件包是否在yum源中" - dnf list available uwsgi-plugin-psgi 2>/dev/null | grep -q uwsgi-plugin-psgi - if [ $? -ne 0 ]; then - LOG_ERROR "uwsgi-plugin-psgi软件包不在yum源中" - exit 255 - fi - - LOG_INFO "步骤2:检查环境是否已安装uwsgi-plugin-psgi" - rpm -q uwsgi-plugin-psgi >/dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "环境已安装uwsgi-plugin-psgi,测试结束后将保持安装状态" - INSTALLED=1 - else - LOG_INFO "环境未安装uwsgi-plugin-psgi,将进行安装" - INSTALLED=0 - fi - - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "步骤3:安装uwsgi-plugin-psgi软件包" - dnf install -y uwsgi-plugin-psgi - CHECK_RESULT $? 0 0 "安装uwsgi-plugin-psgi失败" - fi - - LOG_INFO "步骤4:创建一个简单的PSGI应用程序文件" - cat > test_app.psgi << "EOF" - my $app = sub { - my $env = shift; - return [ - 200, - ["Content-Type" => "text/plain"], - ["Hello, PSGI!"] - ]; - }; - EOF - CHECK_RESULT $? 0 0 "创建PSGI应用程序文件失败" - - LOG_INFO "步骤5:使用uwsgi启动PSGI应用程序" - uwsgi --plugin psgi --http :9090 --psgi test_app.psgi --daemonize /tmp/uwsgi.log - CHECK_RESULT $? 0 0 "启动uwsgi失败" - - LOG_INFO "步骤6:等待uwsgi服务启动" - sleep 2 - - LOG_INFO "步骤7:测试PSGI应用程序是否正常响应" - curl -s http://localhost:9090 | grep -q "Hello, PSGI!" - CHECK_RESULT $? 0 0 "PSGI应用程序响应异常" - - LOG_INFO "步骤8:停止uwsgi进程" - pkill -f "uwsgi.*test_app.psgi" - CHECK_RESULT $? 0 0 "停止uwsgi进程失败" - - LOG_INFO "步骤9:清理测试文件" - rm -f test_app.psgi /tmp/uwsgi.log - CHECK_RESULT $? 0 0 "清理测试文件失败" - - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "步骤10:卸载uwsgi-plugin-psgi软件包" - dnf remove -y uwsgi-plugin-psgi - CHECK_RESULT $? 0 0 "卸载uwsgi-plugin-psgi失败" - else - LOG_INFO "步骤10:环境已安装uwsgi-plugin-psgi,保持安装状态" - fi - - LOG_INFO "测试完成:Test basic PSGI application serving" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/uwsgi/uwsgi-plugin-psgi/test_uwsgi-plugin-psgi_function_install.sh b/testcases/function_test/pkg_test/uwsgi/uwsgi-plugin-psgi/test_uwsgi-plugin-psgi_function_install.sh deleted file mode 100644 index df69c31ee9f..00000000000 --- a/testcases/function_test/pkg_test/uwsgi/uwsgi-plugin-psgi/test_uwsgi-plugin-psgi_function_install.sh +++ /dev/null @@ -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-02-19 -# @License : Mulan PSL v2 -# @Desc : Test installation of the uwsgi-plugin-psgi package -# ############################################ - -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" - } - - # 测试用例描述 - LOG_INFO "Test installation of the uwsgi-plugin-psgi package" - - # 检查软件包是否在yum源中 - LOG_INFO "检查yum源中是否存在uwsgi-plugin-psgi软件包" - if ! dnf list available uwsgi-plugin-psgi &>/dev/null; then - LOG_ERROR "yum源中未找到uwsgi-plugin-psgi软件包" - exit 255 - fi - - # 检查当前是否已安装 - LOG_INFO "检查当前是否已安装uwsgi-plugin-psgi软件包" - if rpm -q uwsgi-plugin-psgi &>/dev/null; then - LOG_INFO "软件包已安装,标记为保持安装状态" - INSTALLED_BEFORE=1 - else - LOG_INFO "软件包未安装,标记为需要测试安装" - INSTALLED_BEFORE=0 - fi - - # 如果未安装,执行安装步骤 - if [ ${INSTALLED_BEFORE} -eq 0 ]; then - LOG_INFO "开始安装uwsgi-plugin-psgi软件包" - dnf install -y uwsgi-plugin-psgi - CHECK_RESULT $? 0 0 "安装uwsgi-plugin-psgi软件包失败" - LOG_INFO "uwsgi-plugin-psgi软件包安装成功" - fi - - # 验证软件包安装 - LOG_INFO "验证uwsgi-plugin-psgi软件包是否安装成功" - rpm -q uwsgi-plugin-psgi - CHECK_RESULT $? 0 0 "验证uwsgi-plugin-psgi软件包安装失败" - - # 检查uwsgi命令是否支持psgi插件参数 - LOG_INFO "检查uwsgi命令是否支持psgi插件参数" - if ! uwsgi --help | grep -q psgi; then - LOG_ERROR "uwsgi命令不支持psgi插件参数" - exit 255 - fi - LOG_INFO "uwsgi命令支持psgi插件参数" - - # 测试uwsgi psgi插件基本功能 - LOG_INFO "测试uwsgi psgi插件基本功能" - uwsgi --plugin psgi --help - CHECK_RESULT $? 0 0 "测试uwsgi psgi插件基本功能失败" - LOG_INFO "uwsgi psgi插件基本功能测试成功" - - # 清理环境:如果之前未安装,则卸载软件包 - if [ ${INSTALLED_BEFORE} -eq 0 ]; then - LOG_INFO "清理环境:卸载uwsgi-plugin-psgi软件包" - dnf remove -y uwsgi-plugin-psgi - CHECK_RESULT $? 0 0 "卸载uwsgi-plugin-psgi软件包失败" - LOG_INFO "环境清理完成,软件包已卸载" - else - LOG_INFO "保持软件包安装状态,无需清理" - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/uwsgi/uwsgi-plugin-psgi/test_uwsgi-plugin-psgi_function_uninstall.sh b/testcases/function_test/pkg_test/uwsgi/uwsgi-plugin-psgi/test_uwsgi-plugin-psgi_function_uninstall.sh deleted file mode 100644 index da248d34d17..00000000000 --- a/testcases/function_test/pkg_test/uwsgi/uwsgi-plugin-psgi/test_uwsgi-plugin-psgi_function_uninstall.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-02-19 -# @License : Mulan PSL v2 -# @Desc : Test uninstallation of the uwsgi-plugin-psgi package -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 定义变量 - PACKAGE_NAME="uwsgi-plugin-psgi" - LOG_INFO "开始测试:卸载 ${PACKAGE_NAME} 软件包" - - # 步骤1:检查yum源中是否存在指定软件包 - LOG_INFO "步骤1:检查yum源中是否存在 ${PACKAGE_NAME} 软件包" - dnf list available ${PACKAGE_NAME} > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到 ${PACKAGE_NAME} 软件包" - exit 255 - fi - - # 步骤2:检查当前环境是否已安装该软件包 - LOG_INFO "步骤2:检查当前环境是否已安装 ${PACKAGE_NAME} 软件包" - rpm -q ${PACKAGE_NAME} > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "当前环境已安装 ${PACKAGE_NAME},标记为已安装状态" - INSTALLED="true" - else - LOG_INFO "当前环境未安装 ${PACKAGE_NAME},标记为未安装状态" - INSTALLED="false" - 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:验证 ${PACKAGE_NAME} 软件包是否安装成功" - rpm -q ${PACKAGE_NAME} > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "验证 ${PACKAGE_NAME} 软件包安装失败" - - # 步骤5:执行卸载操作 - LOG_INFO "步骤5:执行卸载 ${PACKAGE_NAME} 软件包操作" - dnf remove -y ${PACKAGE_NAME} - CHECK_RESULT $? 0 0 "卸载 ${PACKAGE_NAME} 软件包失败" - - # 步骤6:验证软件包是否卸载成功 - LOG_INFO "步骤6:验证 ${PACKAGE_NAME} 软件包是否卸载成功" - rpm -q ${PACKAGE_NAME} > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_ERROR "${PACKAGE_NAME} 软件包卸载失败" - CHECK_RESULT 1 0 0 "软件包卸载验证失败" - else - LOG_INFO "${PACKAGE_NAME} 软件包卸载成功" - CHECK_RESULT 0 0 0 "软件包卸载验证成功" - fi - - # 步骤7:环境恢复 - LOG_INFO "步骤7:环境恢复" - if [ "${INSTALLED}" = "false" ]; then - LOG_INFO "测试前未安装 ${PACKAGE_NAME},无需恢复" - else - LOG_INFO "测试前已安装 ${PACKAGE_NAME},重新安装以恢复环境" - dnf install -y ${PACKAGE_NAME} - CHECK_RESULT $? 0 0 "恢复 ${PACKAGE_NAME} 软件包失败" - fi - - LOG_INFO "测试完成:卸载 ${PACKAGE_NAME} 软件包测试结束" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/uwsgi/uwsgi-plugin-psgi/test_uwsgi-plugin-psgi_function_verify.sh b/testcases/function_test/pkg_test/uwsgi/uwsgi-plugin-psgi/test_uwsgi-plugin-psgi_function_verify.sh deleted file mode 100644 index 85c59a3a958..00000000000 --- a/testcases/function_test/pkg_test/uwsgi/uwsgi-plugin-psgi/test_uwsgi-plugin-psgi_function_verify.sh +++ /dev/null @@ -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 : 2026-02-19 -# @License : Mulan PSL v2 -# @Desc : Test verification of the plugin installation -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试:验证插件安装功能" - - LOG_INFO "步骤1:检查是否已安装uwsgi-plugin-psgi软件包" - if dnf list installed uwsgi-plugin-psgi &> /dev/null; then - LOG_INFO "uwsgi-plugin-psgi已安装,脚本结束后将保持安装状态" - INSTALLED=true - else - LOG_INFO "uwsgi-plugin-psgi未安装,将在测试步骤中安装" - INSTALLED=false - fi - - LOG_INFO "步骤2:检查yum源中是否有uwsgi-plugin-psgi软件包" - if ! dnf list available uwsgi-plugin-psgi &> /dev/null; then - LOG_ERROR "yum源中未找到uwsgi-plugin-psgi软件包" - exit 255 - fi - - LOG_INFO "步骤3:安装uwsgi-plugin-psgi软件包" - if [ "$INSTALLED" = false ]; then - dnf install -y uwsgi-plugin-psgi - CHECK_RESULT $? 0 0 "安装uwsgi-plugin-psgi失败" - LOG_INFO "uwsgi-plugin-psgi安装成功" - fi - - LOG_INFO "步骤4:验证uwsgi-plugin-psgi插件功能" - uwsgi --plugins-dir /usr/lib64/uwsgi --plugin psgi --help &> /dev/null - CHECK_RESULT $? 0 0 "uwsgi-plugin-psgi插件功能验证失败" - - LOG_INFO "步骤5:清理测试环境" - if [ "$INSTALLED" = false ]; then - LOG_INFO "卸载uwsgi-plugin-psgi软件包" - dnf remove -y uwsgi-plugin-psgi - CHECK_RESULT $? 0 0 "卸载uwsgi-plugin-psgi失败" - LOG_INFO "uwsgi-plugin-psgi卸载成功" - else - LOG_INFO "测试前已安装uwsgi-plugin-psgi,保持安装状态" - fi - - LOG_INFO "测试完成:插件安装功能验证通过" -} - -main "$@" \ No newline at end of file From b33ddae01e6832dd6970340c82a73b8c661617a6 Mon Sep 17 00:00:00 2001 From: honghua Date: Tue, 21 Apr 2026 21:23:39 +0800 Subject: [PATCH 27/34] update testcase for testsuite lz4-help --- .../function_test/pkg_test/lz4/lz4-help.json | 16 --- .../test_lz4-help_function_benchmark.sh | 107 ------------------ .../lz4-help/test_lz4-help_function_help.sh | 80 ------------- .../test_lz4-help_function_list_formats.sh | 78 ------------- .../test_lz4-help_function_version.sh | 75 ------------ 5 files changed, 356 deletions(-) delete mode 100644 testcases/function_test/pkg_test/lz4/lz4-help/test_lz4-help_function_benchmark.sh delete mode 100644 testcases/function_test/pkg_test/lz4/lz4-help/test_lz4-help_function_help.sh delete mode 100644 testcases/function_test/pkg_test/lz4/lz4-help/test_lz4-help_function_list_formats.sh delete mode 100644 testcases/function_test/pkg_test/lz4/lz4-help/test_lz4-help_function_version.sh diff --git a/suite2cases/function_test/pkg_test/lz4/lz4-help.json b/suite2cases/function_test/pkg_test/lz4/lz4-help.json index d3ca7d8824e..eaba7ff2886 100644 --- a/suite2cases/function_test/pkg_test/lz4/lz4-help.json +++ b/suite2cases/function_test/pkg_test/lz4/lz4-help.json @@ -34,25 +34,9 @@ "name": "test_lz4-help_function_uninstall", "desc": "测试卸载lz4-help软件包的功能" }, - { - "name": "test_lz4-help_function_version", - "desc": "测试lz4-help版本查询功能" - }, { "name": "test_lz4-help_function_stdout_decompress", "desc": "测试lz4-help标准输出解压功能" - }, - { - "name": "test_lz4-help_function_benchmark", - "desc": "测试lz4-help基准测试功能" - }, - { - "name": "test_lz4-help_function_help", - "desc": "测试lz4-help帮助信息功能" - }, - { - "name": "test_lz4-help_function_list_formats", - "desc": "测试lz4-help列出支持格式" } ] } \ No newline at end of file diff --git a/testcases/function_test/pkg_test/lz4/lz4-help/test_lz4-help_function_benchmark.sh b/testcases/function_test/pkg_test/lz4/lz4-help/test_lz4-help_function_benchmark.sh deleted file mode 100644 index 2158d91c148..00000000000 --- a/testcases/function_test/pkg_test/lz4/lz4-help/test_lz4-help_function_benchmark.sh +++ /dev/null @@ -1,107 +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 : 测试lz4-help基准测试功能 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 判断是否已安装lz4 - LOG_INFO "检查系统是否已安装lz4软件包" - rpm -q lz4 > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "lz4软件包已安装,测试结束后将保持安装状态" - INSTALLED_BEFORE=1 - else - LOG_INFO "lz4软件包未安装,将在测试过程中安装并在测试结束后卸载" - INSTALLED_BEFORE=0 - fi - - # 检查yum源中是否有lz4软件包 - LOG_INFO "检查yum源中是否存在lz4软件包" - dnf list available lz4 > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到lz4软件包" - exit 255 - fi - - # 如果未安装,则安装lz4 - if [ ${INSTALLED_BEFORE} -eq 0 ]; then - LOG_INFO "安装lz4软件包" - dnf install -y lz4 > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "安装lz4软件包失败" - fi - - # 测试lz4 --help命令 - LOG_INFO "测试lz4 --help命令" - lz4 --help > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "lz4 --help命令执行失败" - - # 测试lz4 -h命令 - LOG_INFO "测试lz4 -h命令" - lz4 -h > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "lz4 -h命令执行失败" - - # 测试lz4 --version命令 - LOG_INFO "测试lz4 --version命令" - lz4 --version > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "lz4 --version命令执行失败" - - # 测试lz4 -V命令 - LOG_INFO "测试lz4 -V命令" - lz4 -V > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "lz4 -V命令执行失败" - - # 测试不支持的参数 - LOG_INFO "测试lz4不支持的参数" - lz4 --invalid-param > /dev/null 2>&1 - if [ $? -ne 255 ] && [ $? -ne 1 ]; then - LOG_ERROR "lz4不支持--invalid-param参数但未按预期退出" - exit 255 - fi - - # 基准测试:压缩测试 - LOG_INFO "执行lz4压缩基准测试" - echo "This is a test file for lz4 benchmark" > test_input.txt - lz4 -z test_input.txt test_compressed.lz4 - CHECK_RESULT $? 0 0 "lz4压缩测试失败" - - # 基准测试:解压缩测试 - LOG_INFO "执行lz4解压缩基准测试" - lz4 -d test_compressed.lz4 test_output.txt - CHECK_RESULT $? 0 0 "lz4解压缩测试失败" - - # 验证压缩解压缩结果 - LOG_INFO "验证压缩解压缩结果" - diff test_input.txt test_output.txt > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "压缩解压缩后文件内容不一致" - - # 清理测试文件 - LOG_INFO "清理测试生成的文件" - rm -f test_input.txt test_compressed.lz4 test_output.txt - - # 如果测试前未安装,则卸载lz4 - if [ ${INSTALLED_BEFORE} -eq 0 ]; then - LOG_INFO "卸载lz4软件包" - dnf remove -y lz4 > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "卸载lz4软件包失败" - fi - - LOG_INFO "lz4-help基准测试功能测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/lz4/lz4-help/test_lz4-help_function_help.sh b/testcases/function_test/pkg_test/lz4/lz4-help/test_lz4-help_function_help.sh deleted file mode 100644 index 17b0773a610..00000000000 --- a/testcases/function_test/pkg_test/lz4/lz4-help/test_lz4-help_function_help.sh +++ /dev/null @@ -1,80 +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 : 测试lz4-help帮助信息功能 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 测试lz4-help帮助信息功能 - - LOG_INFO "1. 检查系统中是否已安装lz4软件包" - if command -v lz4 &> /dev/null; then - LOG_INFO "lz4已安装,脚本结束后将保持安装状态" - already_installed=true - else - LOG_INFO "lz4未安装,将在测试过程中安装,并在脚本结束前卸载" - already_installed=false - fi - - LOG_INFO "2. 检查yum源中是否有lz4软件包" - dnf list available lz4 &> /dev/null - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到lz4软件包" - exit 255 - fi - - LOG_INFO "3. 安装lz4软件包" - if [ "$already_installed" = false ]; then - dnf install -y lz4 - CHECK_RESULT $? 0 0 "安装lz4软件包失败" - LOG_INFO "lz4软件包安装成功" - fi - - LOG_INFO "4. 测试lz4 -h参数" - lz4 -h &> /dev/null - CHECK_RESULT $? 0 0 "lz4 -h命令执行失败" - - LOG_INFO "5. 测试lz4 --help参数" - lz4 --help &> /dev/null - CHECK_RESULT $? 0 0 "lz4 --help命令执行失败" - - LOG_INFO "6. 测试不支持的参数" - lz4 --invalid-param 2>&1 | grep -q "unknown option" - CHECK_RESULT $? 0 0 "lz4不支持--invalid-param参数" - - LOG_INFO "7. 验证帮助信息包含关键内容" - lz4 -h | grep -q "LZ4 command line interface" - CHECK_RESULT $? 0 0 "帮助信息中未找到"LZ4 command line interface"" - - lz4 -h | grep -q "Usage:" - CHECK_RESULT $? 0 0 "帮助信息中未找到"Usage:"" - - LOG_INFO "8. 清理环境" - if [ "$already_installed" = false ]; then - LOG_INFO "卸载lz4软件包" - dnf remove -y lz4 - CHECK_RESULT $? 0 0 "卸载lz4软件包失败" - LOG_INFO "lz4软件包卸载成功" - else - LOG_INFO "保持lz4软件包安装状态" - fi - - LOG_INFO "9. 测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/lz4/lz4-help/test_lz4-help_function_list_formats.sh b/testcases/function_test/pkg_test/lz4/lz4-help/test_lz4-help_function_list_formats.sh deleted file mode 100644 index bc32ddb3f91..00000000000 --- a/testcases/function_test/pkg_test/lz4/lz4-help/test_lz4-help_function_list_formats.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-02-20 -# @License : Mulan PSL v2 -# @Desc : 测试lz4-help列出支持格式 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试:测试lz4-help列出支持格式" - LOG_INFO "步骤1:检查lz4软件包是否已在yum源中" - if ! dnf list available lz4 2>/dev/null | grep -q lz4; then - LOG_ERROR "yum源中未找到lz4软件包" - exit 255 - fi - LOG_INFO "步骤2:检查lz4是否已经安装" - if rpm -q lz4 >/dev/null 2>&1; then - LOG_INFO "lz4已经安装,记录安装状态" - INSTALLED=true - else - LOG_INFO "lz4未安装,将进行安装" - INSTALLED=false - fi - if [ "$INSTALLED" = false ]; then - LOG_INFO "步骤3:安装lz4软件包" - dnf install -y lz4 - CHECK_RESULT $? 0 0 "安装lz4失败" - fi - LOG_INFO "步骤4:执行lz4 -h命令测试help功能" - lz4 -h > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "lz4 -h命令执行失败" - LOG_INFO "步骤5:检查lz4 --help命令是否支持" - if lz4 --help > /dev/null 2>&1; then - LOG_INFO "lz4 --help命令执行成功" - else - LOG_ERROR "lz4不支持--help参数" - exit 255 - fi - LOG_INFO "步骤6:检查lz4 -help命令是否支持" - if lz4 -help > /dev/null 2>&1; then - LOG_INFO "lz4 -help命令执行成功" - else - LOG_ERROR "lz4不支持-help参数" - exit 255 - fi - LOG_INFO "步骤7:检查lz4 help命令是否支持" - if lz4 help > /dev/null 2>&1; then - LOG_INFO "lz4 help命令执行成功" - else - LOG_ERROR "lz4不支持help参数" - exit 255 - fi - LOG_INFO "步骤8:执行lz4 -h并检查是否列出支持格式" - lz4 -h 2>&1 | grep -q "supported" - CHECK_RESULT $? 0 0 "lz4 -h未列出支持格式" - LOG_INFO "步骤9:清理环境" - if [ "$INSTALLED" = false ]; then - LOG_INFO "卸载lz4软件包" - dnf remove -y lz4 - CHECK_RESULT $? 0 0 "卸载lz4失败" - fi - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/lz4/lz4-help/test_lz4-help_function_version.sh b/testcases/function_test/pkg_test/lz4/lz4-help/test_lz4-help_function_version.sh deleted file mode 100644 index d5dbb686e3e..00000000000 --- a/testcases/function_test/pkg_test/lz4/lz4-help/test_lz4-help_function_version.sh +++ /dev/null @@ -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-02-20 -# @License : Mulan PSL v2 -# @Desc : 测试lz4-help版本查询功能 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 检查是否已经安装lz4 - LOG_INFO "检查lz4是否已经安装" - if ! rpm -qa | grep -q lz4; then - LOG_INFO "lz4未安装,将进行安装测试" - INSTALLED_FOR_TEST=true - else - LOG_INFO "lz4已经安装,将保持安装状态" - INSTALLED_FOR_TEST=false - fi - - # 检查yum源中是否有lz4软件包 - LOG_INFO "检查yum源中是否有lz4软件包" - if ! dnf list available lz4 &>/dev/null; then - LOG_ERROR "yum源中没有lz4软件包" - exit 255 - fi - - # 如果未安装,则安装lz4 - if [ "$INSTALLED_FOR_TEST" = true ]; then - LOG_INFO "安装lz4软件包" - dnf install -y lz4 - CHECK_RESULT $? 0 0 "安装lz4失败" - fi - - # 测试lz4 --help参数 - LOG_INFO "测试lz4 --help参数" - lz4 --help - CHECK_RESULT $? 0 0 "lz4 --help执行失败" - - # 测试lz4 --version参数 - LOG_INFO "测试lz4 --version参数" - lz4 --version - CHECK_RESULT $? 0 0 "lz4 --version执行失败" - - # 测试不支持的参数 - LOG_INFO "测试lz4不支持的参数(例如--nonexistent)" - lz4 --nonexistent 2>/dev/null - if [ $? -ne 255 ]; then - LOG_ERROR "不支持的参数未返回正确的退出码" - exit 255 - fi - - # 环境恢复:如果是为了测试安装的,则卸载 - if [ "$INSTALLED_FOR_TEST" = true ]; then - LOG_INFO "卸载lz4软件包" - dnf remove -y lz4 - CHECK_RESULT $? 0 0 "卸载lz4失败" - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file From 9e13f9419202199b56a054f13e30be882a94c821 Mon Sep 17 00:00:00 2001 From: honghua Date: Tue, 21 Apr 2026 21:24:02 +0800 Subject: [PATCH 28/34] update testcase for testsuite python3-editables --- .../python-editables/python3-editables.json | 45 ----- ...ython3-editables_function_check_version.sh | 69 ------- ...thon3-editables_function_create_project.sh | 169 ------------------ ...st_python3-editables_function_downgrade.sh | 151 ---------------- .../test_python3-editables_function_import.sh | 66 ------- ...test_python3-editables_function_install.sh | 80 --------- ...est_python3-editables_function_rollback.sh | 167 ----------------- ...st_python3-editables_function_uninstall.sh | 89 --------- ...test_python3-editables_function_upgrade.sh | 94 ---------- ...hon3-editables_function_verify_editable.sh | 159 ---------------- .../test_python3-editables_rollback.sh | 76 -------- 11 files changed, 1165 deletions(-) delete mode 100644 testcases/function_test/pkg_test/python-editables/python3-editables/test_python3-editables_function_check_version.sh delete mode 100644 testcases/function_test/pkg_test/python-editables/python3-editables/test_python3-editables_function_create_project.sh delete mode 100644 testcases/function_test/pkg_test/python-editables/python3-editables/test_python3-editables_function_downgrade.sh delete mode 100644 testcases/function_test/pkg_test/python-editables/python3-editables/test_python3-editables_function_import.sh delete mode 100644 testcases/function_test/pkg_test/python-editables/python3-editables/test_python3-editables_function_install.sh delete mode 100644 testcases/function_test/pkg_test/python-editables/python3-editables/test_python3-editables_function_rollback.sh delete mode 100644 testcases/function_test/pkg_test/python-editables/python3-editables/test_python3-editables_function_uninstall.sh delete mode 100644 testcases/function_test/pkg_test/python-editables/python3-editables/test_python3-editables_function_upgrade.sh delete mode 100644 testcases/function_test/pkg_test/python-editables/python3-editables/test_python3-editables_function_verify_editable.sh delete mode 100644 testcases/function_test/pkg_test/python-editables/python3-editables/test_python3-editables_rollback.sh diff --git a/suite2cases/function_test/pkg_test/python-editables/python3-editables.json b/suite2cases/function_test/pkg_test/python-editables/python3-editables.json index a8a577901b7..160b8e5881b 100644 --- a/suite2cases/function_test/pkg_test/python-editables/python3-editables.json +++ b/suite2cases/function_test/pkg_test/python-editables/python3-editables.json @@ -21,51 +21,6 @@ "name": "test_python3-editables_downgrade", "desc": "测试python3-editables软件包的降级功能,验证降级过程是否成功", "machine num": 1 - }, - { - "name": "test_python3-editables_rollback", - "desc": "测试python3-editables软件包的回滚功能,验证回滚过程是否成功", - "machine num": 1 - }, - { - "name": "test_python3-editables_function_import", - "desc": "测试python3-editables软件包的导入功能,验证是否能正确导入模块" - }, - { - "name": "test_python3-editables_function_install", - "desc": "测试python3-editables软件包的安装功能,验证安装过程是否成功" - }, - { - "name": "test_python3-editables_function_uninstall", - "desc": "测试python3-editables软件包的卸载功能,验证卸载过程是否成功" - }, - { - "name": "test_python3-editables_function_upgrade", - "desc": "测试python3-editables软件包的升级功能,验证升级过程是否成功" - }, - { - "name": "test_python3-editables_function_downgrade", - "desc": "测试python3-editables软件包的降级功能,验证降级过程是否成功" - }, - { - "name": "test_python3-editables_function_rollback", - "desc": "测试python3-editables软件包的回滚功能,验证回滚过程是否成功" - }, - { - "name": "test_python3-editables_function_create_project", - "desc": "测试使用editables创建可编辑项目链接" - }, - { - "name": "test_python3-editables_function_verify_editable", - "desc": "验证通过editables安装的项目是否处于可编辑模式" - }, - { - "name": "test_python3-editables_function_pip_install_editable", - "desc": "测试使用pip通过editables以可编辑模式安装包" - }, - { - "name": "test_python3-editables_function_check_version", - "desc": "检查已安装的python3-editables版本信息" } ] } \ No newline at end of file diff --git a/testcases/function_test/pkg_test/python-editables/python3-editables/test_python3-editables_function_check_version.sh b/testcases/function_test/pkg_test/python-editables/python3-editables/test_python3-editables_function_check_version.sh deleted file mode 100644 index acdf5e64aae..00000000000 --- a/testcases/function_test/pkg_test/python-editables/python3-editables/test_python3-editables_function_check_version.sh +++ /dev/null @@ -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-03-25 -# @License : Mulan PSL v2 -# @Desc : 检查已安装的python3-editables版本信息 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试:检查已安装的python3-editables版本信息" - - # 检查yum源中是否存在python3-editables软件包 - LOG_INFO "检查yum源中是否存在python3-editables软件包" - dnf list available python3-editables > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中不存在python3-editables软件包" - exit 255 - fi - - # 检查是否已安装python3-editables - LOG_INFO "检查是否已安装python3-editables" - rpm -q python3-editables > /dev/null 2>&1 - if [ $? -eq 0 ]; then - already_installed=true - LOG_INFO "python3-editables已安装,测试结束后将保持安装状态" - else - already_installed=false - LOG_INFO "python3-editables未安装,将进行安装测试" - fi - - # 如果未安装,则安装python3-editables - if [ "$already_installed" = false ]; then - LOG_INFO "安装python3-editables" - dnf install -y python3-editables - CHECK_RESULT $? 0 0 "安装python3-editables失败" - fi - - # 检查python3-editables版本信息 - LOG_INFO "检查python3-editables版本信息" - rpm -qi python3-editables - CHECK_RESULT $? 0 0 "获取python3-editables版本信息失败" - - # 如果之前未安装,则卸载python3-editables - if [ "$already_installed" = false ]; then - LOG_INFO "卸载python3-editables" - dnf remove -y python3-editables - CHECK_RESULT $? 0 0 "卸载python3-editables失败" - LOG_INFO "环境已恢复到测试前状态" - else - LOG_INFO "保持python3-editables安装状态" - fi - - LOG_INFO "测试完成:成功检查python3-editables版本信息" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/python-editables/python3-editables/test_python3-editables_function_create_project.sh b/testcases/function_test/pkg_test/python-editables/python3-editables/test_python3-editables_function_create_project.sh deleted file mode 100644 index 32cfdfc445e..00000000000 --- a/testcases/function_test/pkg_test/python-editables/python3-editables/test_python3-editables_function_create_project.sh +++ /dev/null @@ -1,169 +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-25 -# @License : Mulan PSL v2 -# @Desc : 测试使用editables创建可编辑项目链接 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 定义颜色和日志函数 - LOG_INFO() { - echo "[INFO] $*" - } - - LOG_ERROR() { - echo "[ERROR] $*" - } - - # 检查yum源中是否存在指定软件包 - check_package_in_repo() { - local package_name=$1 - LOG_INFO "检查yum源中是否存在软件包: $package_name" - dnf list available "$package_name" > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中不存在软件包: $package_name" - exit 255 - fi - LOG_INFO "yum源中存在软件包: $package_name" - } - - # 检查命令参数是否支持 - check_command_option() { - local command=$1 - local option=$2 - LOG_INFO "检查命令 $command 是否支持参数 $option" - if ! $command --help 2>&1 | grep -q "$option"; then - LOG_ERROR "命令 $command 不支持参数 $option" - exit 255 - fi - LOG_INFO "命令 $command 支持参数 $option" - } - - # 主测试函数 - test_editables_function_create_project() { - LOG_INFO "开始测试: 测试使用editables创建可编辑项目链接" - - # 定义需要测试的软件包 - local test_package="python3-editables" - local python_package="python3" - local pip_package="python3-pip" - - # 步骤1: 检查测试环境是否已安装python3-editables - LOG_INFO "步骤1: 检查测试环境是否已安装python3-editables" - if rpm -q $test_package > /dev/null 2>&1; then - LOG_INFO "检测到 $test_package 已安装,测试结束后将保持安装状态" - local package_installed=true - else - LOG_INFO "$test_package 未安装,将在测试过程中安装" - local package_installed=false - fi - - # 步骤2: 检查yum源中是否存在所需软件包 - LOG_INFO "步骤2: 检查yum源中是否存在所需软件包" - check_package_in_repo $test_package - check_package_in_repo $python_package - check_package_in_repo $pip_package - - # 步骤3: 安装必要的软件包(如果未安装) - if [ "$package_installed" = false ]; then - LOG_INFO "步骤3: 安装必要的软件包" - dnf install -y $python_package $pip_package $test_package - CHECK_RESULT $? 0 0 "安装软件包失败" - LOG_INFO "软件包安装成功" - fi - - # 步骤4: 检查pip命令是否支持editable安装 - LOG_INFO "步骤4: 检查pip命令是否支持editable安装" - check_command_option "pip3" "editable" - - # 步骤5: 创建测试项目目录 - LOG_INFO "步骤5: 创建测试项目目录" - local test_dir="/tmp/test_editables_project_$$" - mkdir -p $test_dir - CHECK_RESULT $? 0 0 "创建测试目录失败" - - # 步骤6: 创建简单的Python项目结构 - LOG_INFO "步骤6: 创建简单的Python项目结构" - cat > $test_dir/setup.py << EOF - from setuptools import setup, find_packages - - setup( - name="test_editables_project", - version="0.1.0", - packages=find_packages(), - ) - EOF - - mkdir -p $test_dir/src/test_editables_project - cat > $test_dir/src/test_editables_project/__init__.py << EOF - """Test editable package.""" - EOF - - cat > $test_dir/src/test_editables_project/main.py << EOF - def hello(): - return "Hello from editable project!" - EOF - - # 步骤7: 使用editables创建可编辑项目链接 - LOG_INFO "步骤7: 使用editables创建可编辑项目链接" - cd $test_dir - pip3 install -e . - CHECK_RESULT $? 0 0 "使用editables创建可编辑项目链接失败" - - # 步骤8: 验证可编辑项目链接是否创建成功 - LOG_INFO "步骤8: 验证可编辑项目链接是否创建成功" - python3 -c " - import test_editables_project - result = test_editables_project.main.hello() - print("导入测试结果:", result) - assert result == "Hello from editable project!", "测试失败: " + result - print("测试成功!") - " - CHECK_RESULT $? 0 0 "验证可编辑项目链接失败" - - # 步骤9: 验证pip list中是否显示为可编辑安装 - LOG_INFO "步骤9: 验证pip list中是否显示为可编辑安装" - pip3 list | grep -i "test-editables-project" | grep -i "editable" - CHECK_RESULT $? 0 0 "pip list中未显示为可编辑安装" - - # 步骤10: 卸载测试项目 - LOG_INFO "步骤10: 卸载测试项目" - pip3 uninstall -y test-editables-project - CHECK_RESULT $? 0 0 "卸载测试项目失败" - - # 步骤11: 清理测试目录 - LOG_INFO "步骤11: 清理测试目录" - cd / - rm -rf $test_dir - CHECK_RESULT $? 0 0 "清理测试目录失败" - - # 步骤12: 如果测试前未安装,则卸载软件包 - if [ "$package_installed" = false ]; then - LOG_INFO "步骤12: 卸载测试过程中安装的软件包" - dnf remove -y $test_package - CHECK_RESULT $? 0 0 "卸载软件包失败" - LOG_INFO "软件包卸载成功" - fi - - LOG_INFO "测试完成: 使用editables创建可编辑项目链接测试成功" - } - - # 执行测试 - test_editables_function_create_project -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/python-editables/python3-editables/test_python3-editables_function_downgrade.sh b/testcases/function_test/pkg_test/python-editables/python3-editables/test_python3-editables_function_downgrade.sh deleted file mode 100644 index 4bf2ad2502b..00000000000 --- a/testcases/function_test/pkg_test/python-editables/python3-editables/test_python3-editables_function_downgrade.sh +++ /dev/null @@ -1,151 +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-25 -# @License : Mulan PSL v2 -# @Desc : 测试python3-editables软件包的降级功能,验证降级过程是否成功 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 测试python3-editables软件包的降级功能 - LOG_INFO "开始测试python3-editables软件包的降级功能" - - # 定义软件包名称和版本变量 - PACKAGE_NAME="python3-editables" - CURRENT_VERSION="" - TARGET_VERSION="" - - # 检查yum源中是否存在python3-editables软件包 - LOG_INFO "步骤1: 检查yum源中是否存在${PACKAGE_NAME}软件包" - dnf list available ${PACKAGE_NAME} > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中不存在${PACKAGE_NAME}软件包" - exit 255 - fi - LOG_INFO "yum源中存在${PACKAGE_NAME}软件包" - - # 检查当前是否已安装python3-editables - LOG_INFO "步骤2: 检查当前是否已安装${PACKAGE_NAME}软件包" - if rpm -q ${PACKAGE_NAME} > /dev/null 2>&1; then - LOG_INFO "${PACKAGE_NAME}已安装,获取当前版本" - CURRENT_VERSION=$(rpm -q --queryformat="%{VERSION}-%{RELEASE}" ${PACKAGE_NAME}) - LOG_INFO "当前安装版本: ${CURRENT_VERSION}" - INSTALLED_FLAG=true - else - LOG_INFO "${PACKAGE_NAME}未安装" - INSTALLED_FLAG=false - fi - - # 获取可用的版本列表 - LOG_INFO "步骤3: 获取${PACKAGE_NAME}可用的版本列表" - AVAILABLE_VERSIONS=$(dnf list available ${PACKAGE_NAME} --showduplicates | grep ${PACKAGE_NAME} | awk "{print $2}" | sort -V) - if [ -z "${AVAILABLE_VERSIONS}" ]; then - LOG_ERROR "无法获取可用的版本列表" - exit 255 - fi - - # 检查是否有多个版本可用 - VERSION_COUNT=$(echo "${AVAILABLE_VERSIONS}" | wc -l) - if [ ${VERSION_COUNT} -lt 2 ]; then - LOG_ERROR "可用的版本数量不足,无法进行降级测试" - exit 255 - fi - LOG_INFO "找到${VERSION_COUNT}个可用版本" - - # 选择目标版本进行降级测试 - LOG_INFO "步骤4: 选择目标版本进行降级测试" - if [ "${INSTALLED_FLAG}" = "true" ]; then - # 如果已安装,选择比当前版本低的版本 - TARGET_VERSION=$(echo "${AVAILABLE_VERSIONS}" | sort -V | grep -B1 "${CURRENT_VERSION}" | head -n1) - if [ -z "${TARGET_VERSION}" ] || [ "${TARGET_VERSION}" = "${CURRENT_VERSION}" ]; then - LOG_INFO "没有比当前版本更低的版本可用,将测试升级到更高版本然后降级" - # 安装更高版本 - HIGHER_VERSION=$(echo "${AVAILABLE_VERSIONS}" | sort -V | grep -A1 "${CURRENT_VERSION}" | tail -n1) - if [ -z "${HIGHER_VERSION}" ] || [ "${HIGHER_VERSION}" = "${CURRENT_VERSION}" ]; then - LOG_ERROR "没有可用的更高版本进行测试" - exit 255 - fi - LOG_INFO "将升级到更高版本: ${HIGHER_VERSION}" - dnf install -y ${PACKAGE_NAME}-${HIGHER_VERSION} - CHECK_RESULT $? 0 0 "升级到更高版本失败" - CURRENT_VERSION=${HIGHER_VERSION} - # 现在选择降级版本 - TARGET_VERSION=$(echo "${AVAILABLE_VERSIONS}" | sort -V | grep -B1 "${CURRENT_VERSION}" | head -n1) - fi - else - # 如果未安装,安装最新版本然后降级到旧版本 - LATEST_VERSION=$(echo "${AVAILABLE_VERSIONS}" | sort -V | tail -n1) - LOG_INFO "安装最新版本: ${LATEST_VERSION}" - dnf install -y ${PACKAGE_NAME}-${LATEST_VERSION} - CHECK_RESULT $? 0 0 "安装最新版本失败" - CURRENT_VERSION=${LATEST_VERSION} - # 选择降级版本 - TARGET_VERSION=$(echo "${AVAILABLE_VERSIONS}" | sort -V | grep -B1 "${CURRENT_VERSION}" | head -n1) - fi - - if [ -z "${TARGET_VERSION}" ] || [ "${TARGET_VERSION}" = "${CURRENT_VERSION}" ]; then - LOG_ERROR "无法找到合适的降级目标版本" - exit 255 - fi - LOG_INFO "当前版本: ${CURRENT_VERSION}, 目标降级版本: ${TARGET_VERSION}" - - # 执行降级操作 - LOG_INFO "步骤5: 执行降级操作到版本${TARGET_VERSION}" - dnf downgrade -y ${PACKAGE_NAME}-${TARGET_VERSION} - CHECK_RESULT $? 0 0 "降级操作失败" - - # 验证降级结果 - LOG_INFO "步骤6: 验证降级结果" - AFTER_VERSION=$(rpm -q --queryformat="%{VERSION}-%{RELEASE}" ${PACKAGE_NAME}) - LOG_INFO "降级后版本: ${AFTER_VERSION}" - - if [ "${AFTER_VERSION}" = "${TARGET_VERSION}" ]; then - LOG_INFO "降级成功: 当前版本${AFTER_VERSION}与目标版本${TARGET_VERSION}一致" - else - LOG_ERROR "降级失败: 当前版本${AFTER_VERSION}与目标版本${TARGET_VERSION}不一致" - exit 1 - fi - - # 环境清理 - LOG_INFO "步骤7: 清理测试环境" - if [ "${INSTALLED_FLAG}" = "false" ]; then - # 如果测试前未安装,则卸载软件包 - LOG_INFO "测试前未安装${PACKAGE_NAME},卸载软件包" - dnf remove -y ${PACKAGE_NAME} - CHECK_RESULT $? 0 0 "卸载软件包失败" - LOG_INFO "已卸载${PACKAGE_NAME}软件包" - else - # 如果测试前已安装,恢复到原始版本 - if [ "${CURRENT_VERSION}" != "${AFTER_VERSION}" ]; then - LOG_INFO "恢复到测试前的版本: ${CURRENT_VERSION}" - dnf install -y ${PACKAGE_NAME}-${CURRENT_VERSION} - CHECK_RESULT $? 0 0 "恢复到原始版本失败" - FINAL_VERSION=$(rpm -q --queryformat="%{VERSION}-%{RELEASE}" ${PACKAGE_NAME}) - if [ "${FINAL_VERSION}" = "${CURRENT_VERSION}" ]; then - LOG_INFO "成功恢复到原始版本: ${FINAL_VERSION}" - else - LOG_ERROR "恢复原始版本失败" - exit 1 - fi - else - LOG_INFO "当前版本已是原始版本,无需恢复" - fi - fi - - LOG_INFO "测试完成: python3-editables软件包降级功能测试通过" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/python-editables/python3-editables/test_python3-editables_function_import.sh b/testcases/function_test/pkg_test/python-editables/python3-editables/test_python3-editables_function_import.sh deleted file mode 100644 index 37856786d95..00000000000 --- a/testcases/function_test/pkg_test/python-editables/python3-editables/test_python3-editables_function_import.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-11 -# @License : Mulan PSL v2 -# @Desc : 测试python3-editables软件包的导入功能,验证是否能正确导入模块 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试python3-editables软件包的导入功能" - - # 检查yum源中是否存在python3-editables软件包 - LOG_INFO "检查yum源中是否存在python3-editables软件包" - dnf list available python3-editables > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中不存在python3-editables软件包" - exit 255 - fi - - # 检查是否已安装python3-editables - LOG_INFO "检查是否已安装python3-editables" - rpm -q python3-editables > /dev/null 2>&1 - if [ $? -eq 0 ]; then - installed=true - LOG_INFO "python3-editables已安装" - else - installed=false - LOG_INFO "python3-editables未安装,将进行安装" - fi - - # 如果未安装,则安装软件包 - if [ "$installed" = false ]; then - LOG_INFO "安装python3-editables软件包" - dnf install -y python3-editables - CHECK_RESULT $? 0 0 "安装python3-editables失败" - fi - - # 测试导入模块功能 - LOG_INFO "测试导入python3-editables模块" - python3 -c "import editables" > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "导入python3-editables模块失败" - - # 如果脚本开始时未安装,则在结束时卸载软件包 - if [ "$installed" = false ]; then - LOG_INFO "卸载python3-editables软件包" - dnf remove -y python3-editables - CHECK_RESULT $? 0 0 "卸载python3-editables失败" - fi - - LOG_INFO "测试完成,环境已恢复" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/python-editables/python3-editables/test_python3-editables_function_install.sh b/testcases/function_test/pkg_test/python-editables/python3-editables/test_python3-editables_function_install.sh deleted file mode 100644 index a603b9f18d4..00000000000 --- a/testcases/function_test/pkg_test/python-editables/python3-editables/test_python3-editables_function_install.sh +++ /dev/null @@ -1,80 +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-25 -# @License : Mulan PSL v2 -# @Desc : 测试python3-editables软件包的安装功能,验证安装过程是否成功 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - set -e - - LOG_INFO "开始测试python3-editables软件包的安装功能" - - # 步骤1:检查yum源中是否存在python3-editables软件包 - LOG_INFO "步骤1:检查yum源中是否存在python3-editables软件包" - if ! dnf list available python3-editables &>/dev/null; then - LOG_ERROR "yum源中未找到python3-editables软件包" - exit 255 - fi - LOG_INFO "yum源中存在python3-editables软件包" - - # 步骤2:检查当前环境中是否已安装python3-editables - LOG_INFO "步骤2:检查当前环境中是否已安装python3-editables" - if rpm -q python3-editables &>/dev/null; then - LOG_INFO "环境中已安装python3-editables,将保持安装状态" - INSTALLED=true - else - LOG_INFO "环境中未安装python3-editables,将进行安装测试" - INSTALLED=false - fi - - # 步骤3:如果未安装,则执行安装操作 - if [ "$INSTALLED" = false ]; then - LOG_INFO "步骤3:安装python3-editables软件包" - dnf install -y python3-editables - CHECK_RESULT $? 0 0 "安装python3-editables软件包失败" - LOG_INFO "python3-editables软件包安装成功" - fi - - # 步骤4:验证python3-editables是否可正常使用(例如检查版本或运行简单命令) - LOG_INFO "步骤4:验证python3-editables安装是否成功" - # 这里可以添加具体的验证命令,例如检查版本或导入模块 - # 示例:python3 -c "import editables; print(editables.__version__)" &>/dev/null - # 由于python3-editables的具体使用方式可能因版本而异,这里使用一个通用检查 - if command -v python3 &>/dev/null; then - python3 -c "import editables" 2>/dev/null - CHECK_RESULT $? 0 0 "python3-editables导入失败,安装可能存在问题" - LOG_INFO "python3-editables导入成功,安装验证通过" - else - LOG_ERROR "系统中未找到python3命令" - exit 1 - fi - - # 步骤5:环境恢复(如果测试前未安装,则卸载软件包) - if [ "$INSTALLED" = false ]; then - LOG_INFO "步骤5:卸载python3-editables软件包以恢复环境" - dnf remove -y python3-editables - CHECK_RESULT $? 0 0 "卸载python3-editables软件包失败" - LOG_INFO "python3-editables软件包卸载成功,环境已恢复" - else - LOG_INFO "步骤5:测试前已安装python3-editables,保持安装状态,无需卸载" - fi - - LOG_INFO "python3-editables软件包安装功能测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/python-editables/python3-editables/test_python3-editables_function_rollback.sh b/testcases/function_test/pkg_test/python-editables/python3-editables/test_python3-editables_function_rollback.sh deleted file mode 100644 index 61a045900ce..00000000000 --- a/testcases/function_test/pkg_test/python-editables/python3-editables/test_python3-editables_function_rollback.sh +++ /dev/null @@ -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-25 -# @License : Mulan PSL v2 -# @Desc : 测试python3-editables软件包的回滚功能,验证回滚过程是否成功 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 定义日志函数 - LOG_INFO() { - echo "[INFO] $1" - } - - LOG_ERROR() { - echo "[ERROR] $1" - } - - # 检查命令是否存在 - check_command() { - if ! command -v $1 &> /dev/null; then - LOG_ERROR "命令 $1 不存在" - exit 255 - fi - } - - # 检查软件包是否存在 - check_package_exist() { - LOG_INFO "检查软件包 $1 是否在 yum 源中" - if ! dnf list available $1 &> /dev/null; then - LOG_ERROR "软件包 $1 不在 yum 源中" - exit 255 - fi - } - - # 检查参数是否支持 - check_param_support() { - LOG_INFO "检查命令 $1 是否支持参数 $2" - if ! $1 $2 --help &> /dev/null; then - LOG_ERROR "命令 $1 不支持参数 $2" - exit 255 - fi - } - - # 检查是否已安装 - check_installed() { - LOG_INFO "检查软件包 $1 是否已安装" - if dnf list installed $1 &> /dev/null; then - LOG_INFO "软件包 $1 已安装" - return 0 - else - LOG_INFO "软件包 $1 未安装" - return 1 - 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 失败" - } - - # 回滚软件包 - rollback_package() { - LOG_INFO "回滚软件包 $1" - dnf history undo last -y - CHECK_RESULT $? 0 0 "回滚软件包 $1 失败" - } - - # 主测试逻辑 - main() { - LOG_INFO "开始测试 python3-editables 软件包的回滚功能" - - # 检查 dnf 命令是否存在 - check_command "dnf" - - # 检查软件包是否在 yum 源中 - PACKAGE_NAME="python3-editables" - check_package_exist $PACKAGE_NAME - - # 检查 dnf 是否支持 history 和 undo 参数 - check_param_support "dnf" "history" - check_param_support "dnf history" "undo" - - # 记录初始安装状态 - check_installed $PACKAGE_NAME - INITIAL_INSTALLED=$? - - # 如果未安装,则安装软件包 - if [ $INITIAL_INSTALLED -ne 0 ]; then - install_package $PACKAGE_NAME - fi - - # 记录安装后的状态 - LOG_INFO "验证软件包 $PACKAGE_NAME 安装成功" - check_installed $PACKAGE_NAME - CHECK_RESULT $? 0 0 "软件包 $PACKAGE_NAME 安装后验证失败" - - # 执行回滚操作 - rollback_package $PACKAGE_NAME - - # 验证回滚后的状态 - LOG_INFO "验证软件包 $PACKAGE_NAME 回滚成功" - if [ $INITIAL_INSTALLED -eq 0 ]; then - # 初始已安装,回滚后应保持安装状态 - check_installed $PACKAGE_NAME - CHECK_RESULT $? 0 0 "软件包 $PACKAGE_NAME 回滚后应保持安装状态" - else - # 初始未安装,回滚后应卸载 - check_installed $PACKAGE_NAME - CHECK_RESULT $? 1 0 "软件包 $PACKAGE_NAME 回滚后应卸载" - fi - - LOG_INFO "测试 python3-editables 软件包的回滚功能完成" - } - - # 环境恢复 - cleanup() { - LOG_INFO "开始清理测试环境" - - # 根据初始状态恢复环境 - if [ $INITIAL_INSTALLED -eq 0 ]; then - # 初始已安装,确保软件包已安装 - check_installed $PACKAGE_NAME - if [ $? -ne 0 ]; then - install_package $PACKAGE_NAME - fi - else - # 初始未安装,确保软件包已卸载 - check_installed $PACKAGE_NAME - if [ $? -eq 0 ]; then - uninstall_package $PACKAGE_NAME - fi - fi - - LOG_INFO "环境清理完成" - } - - # 执行主测试 - main - - # 清理环境 - cleanup -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/python-editables/python3-editables/test_python3-editables_function_uninstall.sh b/testcases/function_test/pkg_test/python-editables/python3-editables/test_python3-editables_function_uninstall.sh deleted file mode 100644 index 4d2ac98b091..00000000000 --- a/testcases/function_test/pkg_test/python-editables/python3-editables/test_python3-editables_function_uninstall.sh +++ /dev/null @@ -1,89 +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-25 -# @License : Mulan PSL v2 -# @Desc : 测试python3-editables软件包的卸载功能,验证卸载过程是否成功 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 测试python3-editables软件包的卸载功能 - LOG_INFO "开始测试python3-editables软件包的卸载功能" - - # 检查yum源中是否存在python3-editables软件包 - LOG_INFO "检查yum源中是否存在python3-editables软件包" - dnf list available python3-editables > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中不存在python3-editables软件包" - exit 255 - fi - - # 检查当前是否已安装python3-editables - LOG_INFO "检查当前是否已安装python3-editables" - rpm -q python3-editables > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "python3-editables已安装,标记为需要保持安装状态" - ALREADY_INSTALLED=1 - else - LOG_INFO "python3-editables未安装,标记为需要测试安装和卸载" - ALREADY_INSTALLED=0 - fi - - # 如果未安装,则先安装软件包 - if [ $ALREADY_INSTALLED -eq 0 ]; then - LOG_INFO "安装python3-editables软件包" - dnf install -y python3-editables - CHECK_RESULT $? 0 0 "安装python3-editables失败" - - # 验证安装是否成功 - LOG_INFO "验证python3-editables安装是否成功" - rpm -q python3-editables - CHECK_RESULT $? 0 0 "验证python3-editables安装失败" - fi - - # 测试卸载功能 - LOG_INFO "测试python3-editables卸载功能" - dnf remove -y python3-editables - CHECK_RESULT $? 0 0 "卸载python3-editables失败" - - # 验证卸载是否成功 - LOG_INFO "验证python3-editables是否已卸载" - rpm -q python3-editables > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_ERROR "python3-editables卸载验证失败,软件包仍存在" - exit 1 - else - LOG_INFO "python3-editables卸载验证成功" - fi - - # 环境恢复:如果最初未安装,则保持未安装状态;如果最初已安装,则重新安装 - if [ $ALREADY_INSTALLED -eq 0 ]; then - LOG_INFO "测试完成,保持环境未安装python3-editables状态" - else - LOG_INFO "重新安装python3-editables以恢复原始环境" - dnf install -y python3-editables - CHECK_RESULT $? 0 0 "重新安装python3-editables失败" - - # 验证重新安装是否成功 - LOG_INFO "验证python3-editables重新安装是否成功" - rpm -q python3-editables - CHECK_RESULT $? 0 0 "验证python3-editables重新安装失败" - fi - - LOG_INFO "python3-editables卸载功能测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/python-editables/python3-editables/test_python3-editables_function_upgrade.sh b/testcases/function_test/pkg_test/python-editables/python3-editables/test_python3-editables_function_upgrade.sh deleted file mode 100644 index b2e3e7a30ea..00000000000 --- a/testcases/function_test/pkg_test/python-editables/python3-editables/test_python3-editables_function_upgrade.sh +++ /dev/null @@ -1,94 +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-25 -# @License : Mulan PSL v2 -# @Desc : 测试python3-editables软件包的升级功能,验证升级过程是否成功 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 判断是否已安装python3-editables软件包 - LOG_INFO "检查python3-editables软件包是否已安装" - dnf list installed python3-editables > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "python3-editables软件包已安装,测试结束后将保持安装状态" - INSTALLED=true - else - LOG_INFO "python3-editables软件包未安装,测试结束后将卸载" - INSTALLED=false - fi - - # 检查yum源中是否存在python3-editables软件包 - LOG_INFO "检查yum源中是否存在python3-editables软件包" - dnf list available python3-editables > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中不存在python3-editables软件包" - exit 255 - fi - - # 检查升级功能参数是否支持 - LOG_INFO "检查dnf升级功能参数是否支持" - dnf --help | grep -q "upgrade" - if [ $? -ne 0 ]; then - LOG_ERROR "dnf工具不支持upgrade参数" - exit 255 - fi - - # 安装python3-editables软件包(如果未安装) - if [ "$INSTALLED" = false ]; then - LOG_INFO "安装python3-editables软件包" - dnf install -y python3-editables - CHECK_RESULT $? 0 0 "安装python3-editables软件包失败" - fi - - # 获取当前python3-editables软件包版本 - LOG_INFO "获取当前python3-editables软件包版本" - CURRENT_VERSION=$(dnf list installed python3-editables | grep python3-editables | awk "{print $2}") - LOG_INFO "当前python3-editables版本:$CURRENT_VERSION" - - # 执行软件包升级 - LOG_INFO "执行python3-editables软件包升级" - dnf upgrade -y python3-editables - CHECK_RESULT $? 0 0 "升级python3-editables软件包失败" - - # 验证升级后版本 - LOG_INFO "获取升级后python3-editables软件包版本" - UPGRADED_VERSION=$(dnf list installed python3-editables | grep python3-editables | awk "{print $2}") - LOG_INFO "升级后python3-editables版本:$UPGRADED_VERSION" - - # 检查版本是否发生变化 - if [ "$CURRENT_VERSION" != "$UPGRADED_VERSION" ]; then - LOG_INFO "python3-editables软件包版本已从 $CURRENT_VERSION 升级到 $UPGRADED_VERSION" - CHECK_RESULT 0 0 0 "版本未发生变化" - else - LOG_INFO "python3-editables软件包版本未发生变化,当前已是最新版本" - CHECK_RESULT 0 0 0 "版本未发生变化但非错误" - fi - - # 环境清理:如果测试前未安装,则卸载软件包 - if [ "$INSTALLED" = false ]; then - LOG_INFO "清理环境:卸载python3-editables软件包" - dnf remove -y python3-editables - CHECK_RESULT $? 0 0 "卸载python3-editables软件包失败" - LOG_INFO "环境已恢复到测试前状态" - else - LOG_INFO "保持python3-editables软件包安装状态" - fi - - LOG_INFO "python3-editables软件包升级功能测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/python-editables/python3-editables/test_python3-editables_function_verify_editable.sh b/testcases/function_test/pkg_test/python-editables/python3-editables/test_python3-editables_function_verify_editable.sh deleted file mode 100644 index 1c002114e13..00000000000 --- a/testcases/function_test/pkg_test/python-editables/python3-editables/test_python3-editables_function_verify_editable.sh +++ /dev/null @@ -1,159 +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-25 -# @License : Mulan PSL v2 -# @Desc : 验证通过editables安装的项目是否处于可编辑模式 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 定义颜色变量(可选,用于日志输出) - LOG_INFO() { - echo "[INFO] $1" - } - - LOG_ERROR() { - echo "[ERROR] $1" - } - - # 检查命令是否存在 - check_command() { - if ! command -v $1 &> /dev/null; then - LOG_ERROR "命令 $1 不存在" - exit 255 - fi - } - - # 检查软件包是否在yum源中 - check_package_in_repo() { - LOG_INFO "检查软件包 $1 是否在yum源中" - if ! dnf list available $1 &> /dev/null; then - LOG_ERROR "软件包 $1 不在yum源中" - exit 255 - fi - } - - # 检查参数是否存在 - check_parameter() { - if [ -z "$1" ]; then - LOG_ERROR "参数不存在或不支持" - exit 255 - fi - } - - # 清理环境函数 - cleanup() { - LOG_INFO "开始清理环境" - if [ $ORIGINAL_INSTALLED -eq 0 ]; then - LOG_INFO "卸载软件包 python3-editables" - dnf remove -y python3-editables &> /dev/null - CHECK_RESULT $? 0 0 "卸载软件包失败" - else - LOG_INFO "保持软件包 python3-editables 的安装状态" - fi - } - - # 主测试函数 - main() { - LOG_INFO "开始测试:验证通过editables安装的项目是否处于可编辑模式" - - # 检查必要命令是否存在 - check_command dnf - check_command python3 - check_command pip - - # 检查软件包是否在yum源中 - check_package_in_repo python3-editables - - # 检查当前是否已安装python3-editables - LOG_INFO "检查当前是否已安装 python3-editables" - if dnf list installed python3-editables &> /dev/null; then - ORIGINAL_INSTALLED=1 - LOG_INFO "python3-editables 已安装,测试结束后将保持安装状态" - else - ORIGINAL_INSTALLED=0 - LOG_INFO "python3-editables 未安装,将作为测试步骤安装" - fi - - # 安装软件包(如果未安装) - if [ $ORIGINAL_INSTALLED -eq 0 ]; then - LOG_INFO "安装软件包 python3-editables" - dnf install -y python3-editables &> /dev/null - CHECK_RESULT $? 0 0 "安装软件包失败" - fi - - # 创建一个测试Python项目 - LOG_INFO "创建一个测试Python项目" - TEST_PROJECT_DIR="/tmp/test_editable_project" - mkdir -p $TEST_PROJECT_DIR - cd $TEST_PROJECT_DIR - - cat > setup.py << EOF - from setuptools import setup, find_packages - setup( - name="test_editable", - version="0.1", - packages=find_packages(), - ) - EOF - - mkdir -p test_editable - cat > test_editable/__init__.py << EOF - def hello(): - return "Hello from editable package" - EOF - - # 使用editables模式安装项目 - LOG_INFO "使用editables模式安装测试项目" - pip install -e . &> /dev/null - CHECK_RESULT $? 0 0 "使用editables模式安装失败" - - # 验证项目是否处于可编辑模式 - LOG_INFO "验证项目是否处于可编辑模式" - python3 -c "import test_editable; print(test_editable.hello())" 2>&1 | grep -q "Hello from editable package" - CHECK_RESULT $? 0 0 "项目未处于可编辑模式或功能异常" - - # 修改项目文件并验证更改是否生效 - LOG_INFO "修改项目文件并验证更改是否生效" - cat > test_editable/__init__.py << EOF - def hello(): - return "Hello from modified editable package" - EOF - - python3 -c "import test_editable; print(test_editable.hello())" 2>&1 | grep -q "Hello from modified editable package" - CHECK_RESULT $? 0 0 "项目修改后未立即生效,可能未处于可编辑模式" - - # 卸载测试项目 - LOG_INFO "卸载测试项目" - pip uninstall -y test_editable &> /dev/null - CHECK_RESULT $? 0 0 "卸载测试项目失败" - - # 清理测试目录 - LOG_INFO "清理测试目录" - cd / - rm -rf $TEST_PROJECT_DIR - - LOG_INFO "测试完成:验证通过editables安装的项目是否处于可编辑模式" - } - - # 设置退出时清理环境 - trap cleanup EXIT - - # 执行主测试 - main -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/python-editables/python3-editables/test_python3-editables_rollback.sh b/testcases/function_test/pkg_test/python-editables/python3-editables/test_python3-editables_rollback.sh deleted file mode 100644 index 46a47c96f04..00000000000 --- a/testcases/function_test/pkg_test/python-editables/python3-editables/test_python3-editables_rollback.sh +++ /dev/null @@ -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 : 2025-07-02 -# @License : Mulan PSL v2 -# @Desc : 测试python3-editables软件包的回滚功能,验证回滚过程是否成功 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试python3-editables软件包的回滚功能" - - # 检查是否已安装python3-editables - LOG_INFO "检查是否已安装python3-editables" - dnf list installed python3-editables > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "python3-editables已安装" - INSTALLED=1 - else - LOG_INFO "python3-editables未安装" - INSTALLED=0 - fi - - # 检查yum源中是否有python3-editables软件包 - LOG_INFO "检查yum源中是否有python3-editables软件包" - dnf list available python3-editables > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到python3-editables软件包" - exit 255 - fi - - # 如果未安装,则安装软件包 - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "安装python3-editables软件包" - dnf install -y python3-editables - CHECK_RESULT $? 0 0 "安装python3-editables失败" - fi - - # 测试回滚功能 - LOG_INFO "测试回滚功能" - dnf history undo last -y > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "回滚失败" - - # 检查回滚后是否成功卸载 - LOG_INFO "检查回滚后是否成功卸载" - dnf list installed python3-editables > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_ERROR "回滚后python3-editables仍存在" - exit 1 - else - LOG_INFO "回滚成功,python3-editables已卸载" - fi - - # 如果最初未安装,则重新安装以恢复环境 - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "恢复环境,重新安装python3-editables" - dnf install -y python3-editables - CHECK_RESULT $? 0 0 "恢复环境失败" - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file From 77509fafc5f056bfab4f7b27280b246e1ea900d7 Mon Sep 17 00:00:00 2001 From: honghua Date: Tue, 21 Apr 2026 21:24:14 +0800 Subject: [PATCH 29/34] update testcase for testsuite python3-html5lib --- .../python-html5lib/python3-html5lib.json | 20 --- .../test_python3-html5lib_function_import.sh | 67 ------- .../test_python3-html5lib_function_parse.sh | 85 --------- ...est_python3-html5lib_function_serialize.sh | 83 --------- ...est_python3-html5lib_function_treebuild.sh | 164 ------------------ ...est_python3-html5lib_function_uninstall.sh | 79 --------- 6 files changed, 498 deletions(-) delete mode 100644 testcases/function_test/pkg_test/python-html5lib/python3-html5lib/test_python3-html5lib_function_import.sh delete mode 100644 testcases/function_test/pkg_test/python-html5lib/python3-html5lib/test_python3-html5lib_function_parse.sh delete mode 100644 testcases/function_test/pkg_test/python-html5lib/python3-html5lib/test_python3-html5lib_function_serialize.sh delete mode 100644 testcases/function_test/pkg_test/python-html5lib/python3-html5lib/test_python3-html5lib_function_treebuild.sh delete mode 100644 testcases/function_test/pkg_test/python-html5lib/python3-html5lib/test_python3-html5lib_function_uninstall.sh diff --git a/suite2cases/function_test/pkg_test/python-html5lib/python3-html5lib.json b/suite2cases/function_test/pkg_test/python-html5lib/python3-html5lib.json index 25738db5344..dce60a9cd33 100644 --- a/suite2cases/function_test/pkg_test/python-html5lib/python3-html5lib.json +++ b/suite2cases/function_test/pkg_test/python-html5lib/python3-html5lib.json @@ -10,26 +10,6 @@ { "name": "test_python3-html5lib_function_install", "desc": "测试python3-html5lib软件包的安装功能,验证是否可以通过包管理器成功安装" - }, - { - "name": "test_python3-html5lib_function_import", - "desc": "测试python3-html5lib核心模块的导入功能,验证导入是否成功且无错误" - }, - { - "name": "test_python3-html5lib_function_parse", - "desc": "测试html5lib的HTML解析功能,验证其能否正确解析一个简单的HTML片段" - }, - { - "name": "test_python3-html5lib_function_treebuild", - "desc": "测试html5lib的树构建功能,验证解析后能否生成正确的文档树结构" - }, - { - "name": "test_python3-html5lib_function_serialize", - "desc": "测试html5lib的序列化功能,验证能否将文档树正确序列化为HTML字符串" - }, - { - "name": "test_python3-html5lib_function_uninstall", - "desc": "测试python3-html5lib软件包的卸载功能,验证是否可以干净地卸载该软件包" } ] } \ No newline at end of file diff --git a/testcases/function_test/pkg_test/python-html5lib/python3-html5lib/test_python3-html5lib_function_import.sh b/testcases/function_test/pkg_test/python-html5lib/python3-html5lib/test_python3-html5lib_function_import.sh deleted file mode 100644 index 8e3403cad7b..00000000000 --- a/testcases/function_test/pkg_test/python-html5lib/python3-html5lib/test_python3-html5lib_function_import.sh +++ /dev/null @@ -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 : 2026-03-31 -# @License : Mulan PSL v2 -# @Desc : 测试python3-html5lib核心模块的导入功能,验证导入是否成功且无错误 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 检查python3-html5lib是否已安装 - LOG_INFO "开始测试python3-html5lib核心模块导入功能" - - # 检查是否已安装python3-html5lib - LOG_INFO "检查python3-html5lib是否已安装" - if rpm -q python3-html5lib > /dev/null 2>&1; then - LOG_INFO "python3-html5lib已安装,测试后将保持安装状态" - ALREADY_INSTALLED=1 - else - LOG_INFO "python3-html5lib未安装,将进行安装测试" - ALREADY_INSTALLED=0 - fi - - # 检查yum源中是否有python3-html5lib软件包 - LOG_INFO "检查yum源中是否有python3-html5lib软件包" - if ! dnf list available python3-html5lib > /dev/null 2>&1; then - LOG_ERROR "yum源中未找到python3-html5lib软件包" - exit 255 - fi - - # 如果未安装,则安装软件包 - if [ $ALREADY_INSTALLED -eq 0 ]; then - LOG_INFO "安装python3-html5lib软件包" - dnf install -y python3-html5lib - CHECK_RESULT $? 0 0 "安装python3-html5lib失败" - fi - - # 测试python3-html5lib核心模块导入功能 - LOG_INFO "测试python3-html5lib核心模块导入功能" - python3 -c "import html5lib; print("html5lib模块导入成功,版本:" + html5lib.__version__)" - CHECK_RESULT $? 0 0 "python3-html5lib模块导入失败" - - # 清理环境:如果之前未安装,则卸载软件包 - if [ $ALREADY_INSTALLED -eq 0 ]; then - LOG_INFO "清理环境:卸载python3-html5lib软件包" - dnf remove -y python3-html5lib - CHECK_RESULT $? 0 0 "卸载python3-html5lib失败" - else - LOG_INFO "保持python3-html5lib安装状态,不进行卸载" - fi - - LOG_INFO "python3-html5lib核心模块导入功能测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/python-html5lib/python3-html5lib/test_python3-html5lib_function_parse.sh b/testcases/function_test/pkg_test/python-html5lib/python3-html5lib/test_python3-html5lib_function_parse.sh deleted file mode 100644 index bdca47ac878..00000000000 --- a/testcases/function_test/pkg_test/python-html5lib/python3-html5lib/test_python3-html5lib_function_parse.sh +++ /dev/null @@ -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-31 -# @License : Mulan PSL v2 -# @Desc : 测试html5lib的HTML解析功能,验证其能否正确解析一个简单的HTML片段 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 检查是否已安装python3-html5lib - LOG_INFO "检查是否已安装python3-html5lib" - rpm -q python3-html5lib > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "python3-html5lib已安装,测试结束后保持安装状态" - already_installed=true - else - LOG_INFO "python3-html5lib未安装,将在测试前安装" - already_installed=false - fi - - # 检查yum源中是否有python3-html5lib软件包 - LOG_INFO "检查yum源中是否有python3-html5lib软件包" - dnf list available python3-html5lib > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到python3-html5lib软件包" - exit 255 - fi - - # 如果未安装,则安装python3-html5lib - if [ "$already_installed" = "false" ]; then - LOG_INFO "安装python3-html5lib" - dnf install -y python3-html5lib - CHECK_RESULT $? 0 0 "安装python3-html5lib失败" - fi - - # 测试html5lib的HTML解析功能 - LOG_INFO "测试html5lib的HTML解析功能" - cat > /tmp/test_html5lib.py << "EOF" - import html5lib - html_fragment = "

Hello, World!

" - try: - parsed = html5lib.parse(html_fragment) - print("HTML解析成功") - # 简单验证解析结果 - if parsed.find(".//p") is not None: - print("找到p标签") - else: - print("未找到p标签") - exit(1) - except Exception as e: - print(f"HTML解析失败: {e}") - exit(1) - EOF - - python3 /tmp/test_html5lib.py - CHECK_RESULT $? 0 0 "html5lib HTML解析功能测试失败" - - # 清理临时文件 - LOG_INFO "清理临时文件" - rm -f /tmp/test_html5lib.py - - # 如果测试前未安装,则卸载python3-html5lib - if [ "$already_installed" = "false" ]; then - LOG_INFO "卸载python3-html5lib" - dnf remove -y python3-html5lib - CHECK_RESULT $? 0 0 "卸载python3-html5lib失败" - fi - - LOG_INFO "测试完成,环境已恢复" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/python-html5lib/python3-html5lib/test_python3-html5lib_function_serialize.sh b/testcases/function_test/pkg_test/python-html5lib/python3-html5lib/test_python3-html5lib_function_serialize.sh deleted file mode 100644 index 13e1aabf541..00000000000 --- a/testcases/function_test/pkg_test/python-html5lib/python3-html5lib/test_python3-html5lib_function_serialize.sh +++ /dev/null @@ -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 : 2026-03-31 -# @License : Mulan PSL v2 -# @Desc : 测试html5lib的序列化功能,验证能否将文档树正确序列化为HTML字符串 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - set -e - - LOG_INFO "开始测试html5lib的序列化功能" - - LOG_INFO "步骤1: 检查环境是否已安装python3-html5lib软件包" - if dnf list installed python3-html5lib &>/dev/null; then - LOG_INFO "python3-html5lib已安装,测试结束后将保持安装状态" - already_installed=true - else - LOG_INFO "python3-html5lib未安装,将在测试步骤中安装,测试结束后卸载" - already_installed=false - fi - - LOG_INFO "步骤2: 检查yum源中是否存在python3-html5lib软件包" - if ! dnf list available python3-html5lib &>/dev/null; then - LOG_ERROR "yum源中未找到python3-html5lib软件包" - exit 255 - fi - - if [ "$already_installed" = false ]; then - LOG_INFO "步骤3: 安装python3-html5lib软件包" - dnf install -y python3-html5lib - CHECK_RESULT $? 0 0 "安装python3-html5lib失败" - fi - - LOG_INFO "步骤4: 验证html5lib的序列化功能" - cat > test_serialize.py << "EOF" - import html5lib - from html5lib import serialize, treebuilders - - html_string = "

Test

Hello World

" - parser = html5lib.HTMLParser(tree=treebuilders.getTreeBuilder("dom")) - dom_tree = parser.parse(html_string) - serialized = serialize(dom_tree, tree="dom") - print(serialized) - EOF - - python3 test_serialize.py > serialize_output.txt - CHECK_RESULT $? 0 0 "执行Python序列化测试失败" - - LOG_INFO "步骤5: 检查序列化输出是否包含预期内容" - if grep -q "

Test

Hello World

" serialize_output.txt; then - LOG_INFO "序列化功能正常,文档树成功转换为HTML字符串" - else - LOG_ERROR "序列化输出不符合预期" - exit 1 - fi - - LOG_INFO "步骤6: 清理临时文件" - rm -f test_serialize.py serialize_output.txt - - if [ "$already_installed" = false ]; then - LOG_INFO "步骤7: 卸载测试安装的python3-html5lib软件包" - dnf remove -y python3-html5lib - CHECK_RESULT $? 0 0 "卸载python3-html5lib失败" - fi - - LOG_INFO "html5lib序列化功能测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/python-html5lib/python3-html5lib/test_python3-html5lib_function_treebuild.sh b/testcases/function_test/pkg_test/python-html5lib/python3-html5lib/test_python3-html5lib_function_treebuild.sh deleted file mode 100644 index c0b4f489266..00000000000 --- a/testcases/function_test/pkg_test/python-html5lib/python3-html5lib/test_python3-html5lib_function_treebuild.sh +++ /dev/null @@ -1,164 +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-31 -# @License : Mulan PSL v2 -# @Desc : 测试html5lib的树构建功能,验证解析后能否生成正确的文档树结构 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 判断是否已安装python3-html5lib - LOG_INFO "检查python3-html5lib是否已安装" - rpm -q python3-html5lib - if [ $? -eq 0 ]; then - LOG_INFO "python3-html5lib已安装,测试后保持安装状态" - INSTALLED=1 - else - LOG_INFO "python3-html5lib未安装,将在测试后卸载" - INSTALLED=0 - fi - - # 检查yum源中是否有python3-html5lib软件包 - LOG_INFO "检查yum源中是否有python3-html5lib软件包" - dnf list available python3-html5lib 2>&1 | grep -q "python3-html5lib" - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到python3-html5lib软件包" - exit 255 - fi - - # 如果未安装,则安装python3-html5lib - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "安装python3-html5lib" - dnf install -y python3-html5lib - CHECK_RESULT $? 0 0 "安装python3-html5lib失败" - fi - - # 验证html5lib的树构建功能 - LOG_INFO "测试html5lib的树构建功能,验证解析后能否生成正确的文档树结构" - - # 创建测试HTML文件 - LOG_INFO "创建测试HTML文件" - cat > test_html5lib.html << EOF - - - - Test Page - - -

Hello, World!

-

This is a test paragraph.

-
    -
  • Item 1
  • -
  • Item 2
  • -
- - - EOF - - # 创建Python测试脚本 - LOG_INFO "创建Python测试脚本验证html5lib树构建功能" - cat > test_html5lib_treebuild.py << EOF - import html5lib - import sys - - # 读取HTML文件 - with open("test_html5lib.html", "r", encoding="utf-8") as f: - html_content = f.read() - - # 使用html5lib解析HTML - try: - parser = html5lib.HTMLParser(tree=html5lib.getTreeBuilder("dom")) - document = parser.parse(html_content) - - # 验证文档结构 - # 检查根元素 - root = document.documentElement - if root.tagName != "html": - print("错误: 根元素不是html") - sys.exit(1) - - # 检查head元素 - head_elements = root.getElementsByTagName("head") - if len(head_elements) != 1: - print("错误: head元素数量不正确") - sys.exit(1) - - # 检查body元素 - body_elements = root.getElementsByTagName("body") - if len(body_elements) != 1: - print("错误: body元素数量不正确") - sys.exit(1) - - # 检查h1元素 - h1_elements = body_elements[0].getElementsByTagName("h1") - if len(h1_elements) != 1: - print("错误: h1元素数量不正确") - sys.exit(1) - - # 检查h1文本内容 - h1_text = h1_elements[0].childNodes[0].nodeValue - if h1_text != "Hello, World!": - print(f"错误: h1文本内容不正确: {h1_text}") - sys.exit(1) - - # 检查p元素 - p_elements = body_elements[0].getElementsByTagName("p") - if len(p_elements) != 1: - print("错误: p元素数量不正确") - sys.exit(1) - - # 检查ul和li元素 - ul_elements = body_elements[0].getElementsByTagName("ul") - if len(ul_elements) != 1: - print("错误: ul元素数量不正确") - sys.exit(1) - - li_elements = ul_elements[0].getElementsByTagName("li") - if len(li_elements) != 2: - print(f"错误: li元素数量不正确: {len(li_elements)}") - sys.exit(1) - - print("成功: HTML文档树结构正确") - sys.exit(0) - - except Exception as e: - print(f"错误: 解析HTML时发生异常: {str(e)}") - sys.exit(1) - EOF - - # 执行Python测试脚本 - LOG_INFO "执行Python测试脚本验证树构建功能" - python3 test_html5lib_treebuild.py - CHECK_RESULT $? 0 0 "html5lib树构建功能测试失败" - - # 清理测试文件 - LOG_INFO "清理测试文件" - rm -f test_html5lib.html test_html5lib_treebuild.py - - # 如果测试前未安装,则卸载python3-html5lib - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "卸载python3-html5lib" - dnf remove -y python3-html5lib - CHECK_RESULT $? 0 0 "卸载python3-html5lib失败" - LOG_INFO "环境已恢复到测试前状态" - else - LOG_INFO "保持python3-html5lib安装状态" - fi - - LOG_INFO "html5lib树构建功能测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/python-html5lib/python3-html5lib/test_python3-html5lib_function_uninstall.sh b/testcases/function_test/pkg_test/python-html5lib/python3-html5lib/test_python3-html5lib_function_uninstall.sh deleted file mode 100644 index 6b366402463..00000000000 --- a/testcases/function_test/pkg_test/python-html5lib/python3-html5lib/test_python3-html5lib_function_uninstall.sh +++ /dev/null @@ -1,79 +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-31 -# @License : Mulan PSL v2 -# @Desc : 测试python3-html5lib软件包的卸载功能,验证是否可以干净地卸载该软件包 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - set -e - - LOG_INFO "开始测试python3-html5lib软件包的卸载功能" - - LOG_INFO "步骤1:检查yum源中是否存在python3-html5lib软件包" - dnf list available python3-html5lib > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到python3-html5lib软件包" - exit 255 - fi - - LOG_INFO "步骤2:检查当前环境是否已安装python3-html5lib" - rpm -q python3-html5lib > /dev/null 2>&1 - INSTALLED=$? - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "检测到python3-html5lib已安装,测试后将保持安装状态" - ORIGINAL_STATE="installed" - else - LOG_INFO "检测到python3-html5lib未安装,将执行安装作为测试步骤" - ORIGINAL_STATE="not_installed" - fi - - if [ "$ORIGINAL_STATE" = "not_installed" ]; then - LOG_INFO "步骤3:安装python3-html5lib软件包" - dnf install -y python3-html5lib - CHECK_RESULT $? 0 0 "安装python3-html5lib软件包失败" - LOG_INFO "python3-html5lib软件包安装成功" - fi - - LOG_INFO "步骤4:执行卸载python3-html5lib软件包" - dnf remove -y python3-html5lib - CHECK_RESULT $? 0 0 "卸载python3-html5lib软件包失败" - LOG_INFO "python3-html5lib软件包卸载成功" - - LOG_INFO "步骤5:验证python3-html5lib软件包是否已卸载" - rpm -q python3-html5lib > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_ERROR "验证失败,python3-html5lib软件包未被干净卸载" - CHECK_RESULT 1 0 0 "卸载后软件包仍然存在" - else - LOG_INFO "验证成功,python3-html5lib软件包已被干净卸载" - fi - - LOG_INFO "步骤6:环境恢复" - if [ "$ORIGINAL_STATE" = "installed" ]; then - LOG_INFO "原始状态为已安装,重新安装python3-html5lib" - dnf install -y python3-html5lib - CHECK_RESULT $? 0 0 "恢复安装python3-html5lib软件包失败" - LOG_INFO "环境已恢复至安装状态" - elif [ "$ORIGINAL_STATE" = "not_installed" ]; then - LOG_INFO "原始状态为未安装,无需额外操作,环境已恢复" - fi - - LOG_INFO "测试python3-html5lib软件包的卸载功能完成" -} - -main "$@" \ No newline at end of file From 2654d87f39052710cb094697d98aec388b3982e5 Mon Sep 17 00:00:00 2001 From: honghua Date: Tue, 21 Apr 2026 21:24:25 +0800 Subject: [PATCH 30/34] update testcase for testsuite systemd-resolved --- .../pkg_test/systemd/systemd-resolved.json | 24 ------ .../test_systemd-resolved_resolvectl_4.sh | 86 ------------------- ...st_systemd-resolved_resolvectl_no-pager.sh | 85 ------------------ ..._systemd-resolved_resolvectl_show-cache.sh | 72 ---------------- ...test_systemd-resolved_resolvectl_status.sh | 66 -------------- ...ystemd-resolved_systemd-resolve_address.sh | 62 ------------- ...emd-resolved_systemd-resolve_statistics.sh | 70 --------------- 7 files changed, 465 deletions(-) delete mode 100644 testcases/function_test/pkg_test/systemd/systemd-resolved/test_systemd-resolved_resolvectl_4.sh delete mode 100644 testcases/function_test/pkg_test/systemd/systemd-resolved/test_systemd-resolved_resolvectl_no-pager.sh delete mode 100644 testcases/function_test/pkg_test/systemd/systemd-resolved/test_systemd-resolved_resolvectl_show-cache.sh delete mode 100644 testcases/function_test/pkg_test/systemd/systemd-resolved/test_systemd-resolved_resolvectl_status.sh delete mode 100644 testcases/function_test/pkg_test/systemd/systemd-resolved/test_systemd-resolved_systemd-resolve_address.sh delete mode 100644 testcases/function_test/pkg_test/systemd/systemd-resolved/test_systemd-resolved_systemd-resolve_statistics.sh diff --git a/suite2cases/function_test/pkg_test/systemd/systemd-resolved.json b/suite2cases/function_test/pkg_test/systemd/systemd-resolved.json index 94a7ceba760..06448669e1d 100644 --- a/suite2cases/function_test/pkg_test/systemd/systemd-resolved.json +++ b/suite2cases/function_test/pkg_test/systemd/systemd-resolved.json @@ -10,10 +10,6 @@ "name": "test_systemd-resolved_resolvectl_service", "desc": "测试 resolvectl service 命令解析服务记录" }, - { - "name": "test_systemd-resolved_resolvectl_status", - "desc": "测试 resolvectl status 命令显示链接和服务器状态" - }, { "name": "test_systemd-resolved_resolvectl_statistics", "desc": "测试 resolvectl statistics 命令显示解析器统计信息" @@ -22,18 +18,6 @@ "name": "test_systemd-resolved_resolvectl_flush-caches", "desc": "测试 resolvectl flush-caches 命令刷新本地DNS缓存" }, - { - "name": "test_systemd-resolved_resolvectl_show-cache", - "desc": "测试 resolvectl show-cache 命令显示缓存内容" - }, - { - "name": "test_systemd-resolved_systemd-resolve_address", - "desc": "解析IPv4或IPv6地址" - }, - { - "name": "test_systemd-resolved_systemd-resolve_statistics", - "desc": "显示解析器统计信息" - }, { "name": "test_systemd-resolved_resolvectl_h", "desc": "查询 resolvectl 命令的帮助信息" @@ -42,14 +26,6 @@ "name": "test_systemd-resolved_resolvectl_version", "desc": "查询 resolvectl 命令的版本信息" }, - { - "name": "test_systemd-resolved_resolvectl_no-pager", - "desc": "使用 --no-pager 选项在输出时不使用分页工具" - }, - { - "name": "test_systemd-resolved_resolvectl_4", - "desc": "使用 -4 选项解析 IPv4 地址" - }, { "name": "test_systemd-resolved_resolvectl_trust-anchor", "desc": "使用 --trust-anchor 选项控制是否允许来自本地信任锚的响应" diff --git a/testcases/function_test/pkg_test/systemd/systemd-resolved/test_systemd-resolved_resolvectl_4.sh b/testcases/function_test/pkg_test/systemd/systemd-resolved/test_systemd-resolved_resolvectl_4.sh deleted file mode 100644 index a3d0ddf4d44..00000000000 --- a/testcases/function_test/pkg_test/systemd/systemd-resolved/test_systemd-resolved_resolvectl_4.sh +++ /dev/null @@ -1,86 +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-16 -# @License : Mulan PSL v2 -# @Desc : 使用 -4 选项解析 IPv4 地址 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - CHECK_ENV() { - LOG_INFO "检查是否已安装systemd-resolved和resolvectl工具" - if rpm -q systemd-resolved &> /dev/null; then - LOG_INFO "systemd-resolved已安装" - INSTALLED=1 - else - LOG_INFO "systemd-resolved未安装,将在测试过程中安装" - INSTALLED=0 - fi - LOG_INFO "检查yum源中是否存在systemd-resolved软件包" - if ! dnf list systemd-resolved &> /dev/null; then - LOG_ERROR "yum源中不存在systemd-resolved软件包" - exit 255 - fi - } - - TEST_METHOD() { - LOG_INFO "开始测试使用-4选项解析IPv4地址" - host="openEuler.org" - resolved_output=$(resolvectl query -4 $host 2>&1) - resolve_status=$? - LOG_INFO "执行命令: resolvectl query -4 $host" - if grep -q "Unknown option" <<< "$resolved_output"; then - LOG_ERROR "resolvectl不支持-4选项" - exit 255 - fi - CHECK_RESULT $resolve_status 0 0 "resolvectl命令执行失败" - ipv4_pattern="[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+" - if [[ ! $resolved_output =~ $ipv4_pattern ]]; then - LOG_ERROR "未解析到IPv4地址" - CHECK_RESULT 1 0 0 "解析结果中未找到IPv4地址" - else - LOG_INFO "成功解析到IPv4地址: ${BASH_REMATCH[0]}" - CHECK_RESULT 0 0 0 "IPv4地址解析成功" - fi - } - - CLEAN_ENV() { - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "卸载测试过程中安装的systemd-resolved软件包" - dnf remove -y systemd-resolved - CHECK_RESULT $? 0 0 "卸载systemd-resolved失败" - else - LOG_INFO "保持原有systemd-resolved安装状态" - fi - } - - main() { - CHECK_ENV - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "安装systemd-resolved软件包" - dnf install -y systemd-resolved - CHECK_RESULT $? 0 0 "安装systemd-resolved失败" - systemctl start systemd-resolved - CHECK_RESULT $? 0 0 "启动systemd-resolved服务失败" - fi - TEST_METHOD - CLEAN_ENV - } - - main "$@" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/systemd/systemd-resolved/test_systemd-resolved_resolvectl_no-pager.sh b/testcases/function_test/pkg_test/systemd/systemd-resolved/test_systemd-resolved_resolvectl_no-pager.sh deleted file mode 100644 index 8aa14f2e452..00000000000 --- a/testcases/function_test/pkg_test/systemd/systemd-resolved/test_systemd-resolved_resolvectl_no-pager.sh +++ /dev/null @@ -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 : 2025-12-16 -# @License : Mulan PSL v2 -# @Desc : 使用 --no-pager 选项在输出时不使用分页工具 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "测试开始:测试systemd-resolved和resolvectl命令的--no-pager选项" - - # 定义软件包名称和命令 - PACKAGE_NAME="systemd-resolved" - COMMAND_NAME="resolvectl" - - # 检查软件包是否已在yum源中 - LOG_INFO "检查yum源中是否有${PACKAGE_NAME}软件包" - if ! dnf list --available ${PACKAGE_NAME} &> /dev/null; then - LOG_ERROR "yum源中没有找到${PACKAGE_NAME}软件包" - exit 255 - fi - - # 检查系统是否已安装该软件包 - LOG_INFO "检查系统是否已安装${PACKAGE_NAME}" - if rpm -q ${PACKAGE_NAME} &> /dev/null; then - LOG_INFO "${PACKAGE_NAME}已安装,将在脚本结束时保持安装状态" - INSTALLED=true - else - LOG_INFO "${PACKAGE_NAME}未安装,将在脚本中安装并测试" - INSTALLED=false - fi - - if [ "${INSTALLED}" = "false" ]; then - # 安装软件包 - LOG_INFO "安装${PACKAGE_NAME}软件包" - dnf install -y ${PACKAGE_NAME} - CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}失败" - fi - - # 检查resolvectl命令是否支持--no-pager选项 - LOG_INFO "检查resolvectl命令是否支持--no-pager选项" - resolvectl --no-pager --help > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "resolvectl命令支持--no-pager选项" - else - LOG_ERROR "resolvectl命令不支持--no-pager选项" - # 恢复环境 - if [ "${INSTALLED}" = "false" ]; then - LOG_INFO "卸载${PACKAGE_NAME}软件包" - dnf remove -y ${PACKAGE_NAME} - fi - exit 255 - fi - - # 测试--no-pager选项 - LOG_INFO "测试resolvectl命令的--no-pager选项" - resolvectl --no-pager status - CHECK_RESULT $? 0 0 "resolvectl --no-pager命令执行失败" - - # 恢复环境 - 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 "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/systemd/systemd-resolved/test_systemd-resolved_resolvectl_show-cache.sh b/testcases/function_test/pkg_test/systemd/systemd-resolved/test_systemd-resolved_resolvectl_show-cache.sh deleted file mode 100644 index 152f9e683b0..00000000000 --- a/testcases/function_test/pkg_test/systemd/systemd-resolved/test_systemd-resolved_resolvectl_show-cache.sh +++ /dev/null @@ -1,72 +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-08-16 -# @License : Mulan PSL v2 -# @Desc : 测试 resolvectl show-cache 命令显示缓存内容 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - - # 检查系统是否已安装systemd-resolved - LOG_INFO "检查系统是否已安装systemd-resolved" - if ! rpm -q systemd-resolved > /dev/null 2>&1; then - LOG_INFO "systemd-resolved未安装,准备安装" - # 检查yum源中是否有systemd-resolved - LOG_INFO "检查yum源中是否有systemd-resolved" - if ! dnf list available systemd-resolved > /dev/null 2>&1; then - LOG_ERROR "yum源中没有找到systemd-resolved,退出" - exit 255 - fi - # 安装systemd-resolved - dnf install -y systemd-resolved - CHECK_RESULT $? 0 0 "安装systemd-resolved失败" - INSTALLED=1 - else - LOG_INFO "systemd-resolved已安装" - INSTALLED=0 - fi - - # 检查resolvectl命令是否存在 - LOG_INFO "检查resolvectl命令是否存在" - if ! command -v resolvectl > /dev/null 2>&1; then - LOG_ERROR "resolvectl命令不存在,退出" - exit 255 - fi - - # 检查resolvectl show-cache参数是否支持 - LOG_INFO "检查resolvectl show-cache参数是否支持" - if ! resolvectl --help | grep -q "show-cache"; then - LOG_ERROR "resolvectl不支持show-cache参数,退出" - exit 255 - fi - - # 执行resolvectl show-cache命令并检查结果 - LOG_INFO "执行resolvectl show-cache命令" - resolvectl show-cache > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "执行resolvectl show-cache命令失败" - - # 清理环境:如果脚本安装了软件包,则卸载 - if [ $INSTALLED -eq 1 ]; then - LOG_INFO "卸载systemd-resolved" - dnf remove -y systemd-resolved > /dev/null 2>&1 - fi - - LOG_INFO "测试完成" - -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/systemd/systemd-resolved/test_systemd-resolved_resolvectl_status.sh b/testcases/function_test/pkg_test/systemd/systemd-resolved/test_systemd-resolved_resolvectl_status.sh deleted file mode 100644 index cb8c674b9da..00000000000 --- a/testcases/function_test/pkg_test/systemd/systemd-resolved/test_systemd-resolved_resolvectl_status.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-08-16 -# @License : Mulan PSL v2 -# @Desc : 测试 resolvectl status 命令显示链接和服务器状态 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - - # 检查系统是否已安装systemd-resolved - LOG_INFO "检查系统是否已安装systemd-resolved" - if ! rpm -q systemd-resolved > /dev/null 2>&1; then - LOG_INFO "systemd-resolved未安装,准备安装" - # 检查yum源中是否有systemd-resolved - if ! dnf list available systemd-resolved > /dev/null 2>&1; then - LOG_ERROR "yum源中未找到systemd-resolved软件包" - exit 255 - fi - # 安装systemd-resolved - dnf install -y systemd-resolved - CHECK_RESULT $? 0 0 "安装systemd-resolved失败" - # 标记为需要卸载 - UNINSTALL=1 - else - LOG_INFO "systemd-resolved已安装" - UNINSTALL=0 - fi - - # 检查resolvectl命令是否存在 - LOG_INFO "检查resolvectl命令是否存在" - if ! command -v resolvectl > /dev/null 2>&1; then - LOG_ERROR "resolvectl命令不存在或不支持" - exit 255 - fi - - # 测试resolvectl status命令显示链接和服务器状态 - LOG_INFO "测试resolvectl status命令显示链接和服务器状态" - resolvectl status - CHECK_RESULT $? 0 0 "执行resolvectl status命令失败" - - # 清理环境,恢复到之前的状态 - if [ "$UNINSTALL" -eq 1 ]; then - LOG_INFO "卸载systemd-resolved" - dnf remove -y systemd-resolved - CHECK_RESULT $? 0 0 "卸载systemd-resolved失败" - fi - - LOG_INFO "测试脚本执行完毕,环境已恢复" - -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/systemd/systemd-resolved/test_systemd-resolved_systemd-resolve_address.sh b/testcases/function_test/pkg_test/systemd/systemd-resolved/test_systemd-resolved_systemd-resolve_address.sh deleted file mode 100644 index 8b7426e7963..00000000000 --- a/testcases/function_test/pkg_test/systemd/systemd-resolved/test_systemd-resolved_systemd-resolve_address.sh +++ /dev/null @@ -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-08-16 -# @License : Mulan PSL v2 -# @Desc : 解析IPv4或IPv6地址 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试:解析IPv4或IPv6地址" - - # 检查是否已安装systemd-resolved - if ! rpm -q systemd-resolved &> /dev/null; then - LOG_INFO "检测到未安装systemd-resolved,将进行安装" - # 检查yum源中是否有systemd-resolved - if ! dnf list available systemd-resolved &> /dev/null; then - LOG_ERROR "yum源中未找到systemd-resolved软件包" - exit 255 - fi - # 安装systemd-resolved - dnf install -y systemd-resolved - CHECK_RESULT $? 0 0 "安装systemd-resolved失败" - installed=true - else - LOG_INFO "检测到已安装systemd-resolved,跳过安装步骤" - installed=false - fi - - # 测试systemd-resolve解析IPv4地址 - LOG_INFO "测试解析IPv4地址" - systemd-resolve 8.8.8.8 - CHECK_RESULT $? 0 0 "解析IPv4地址失败" - - # 测试systemd-resolve解析IPv6地址 - LOG_INFO "测试解析IPv6地址" - systemd-resolve 2001:4860:4860::8888 - CHECK_RESULT $? 0 0 "解析IPv6地址失败" - - # 环境恢复:如果脚本安装了软件包,则卸载 - if [ "$installed" = true ]; then - LOG_INFO "清理环境:卸载systemd-resolved" - dnf remove -y systemd-resolved - CHECK_RESULT $? 0 0 "卸载systemd-resolved失败" - fi - - LOG_INFO "测试完成:解析IPv4或IPv6地址" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/systemd/systemd-resolved/test_systemd-resolved_systemd-resolve_statistics.sh b/testcases/function_test/pkg_test/systemd/systemd-resolved/test_systemd-resolved_systemd-resolve_statistics.sh deleted file mode 100644 index 6555174f163..00000000000 --- a/testcases/function_test/pkg_test/systemd/systemd-resolved/test_systemd-resolved_systemd-resolve_statistics.sh +++ /dev/null @@ -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-08-16 -# @License : Mulan PSL v2 -# @Desc : 显示解析器统计信息 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 显示解析器统计信息测试脚本 - - LOG_INFO "开始测试:显示解析器统计信息" - - # 检查是否已安装systemd-resolved - if ! rpm -q systemd-resolved > /dev/null 2>&1; then - LOG_INFO "检测到未安装systemd-resolved,将进行安装" - # 检查yum源中是否有systemd-resolved - if ! dnf list available systemd-resolved > /dev/null 2>&1; then - LOG_ERROR "yum源中未找到systemd-resolved软件包" - exit 255 - fi - # 安装systemd-resolved - dnf install -y systemd-resolved - CHECK_RESULT $? 0 0 "安装systemd-resolved失败" - INSTALLED=1 - else - LOG_INFO "检测到已安装systemd-resolved" - INSTALLED=0 - fi - - # 检查systemd-resolve命令是否支持--statistics参数 - LOG_INFO "检查systemd-resolve命令是否支持--statistics参数" - if ! systemd-resolve --help | grep -q -- "--statistics"; then - LOG_ERROR "systemd-resolve命令不支持--statistics参数" - if [ $INSTALLED -eq 1 ]; then - dnf remove -y systemd-resolved - CHECK_RESULT $? 0 0 "卸载systemd-resolved失败" - fi - exit 255 - fi - - # 执行测试步骤:显示解析器统计信息 - LOG_INFO "执行测试步骤:显示解析器统计信息" - systemd-resolve --statistics - CHECK_RESULT $? 0 0 "显示解析器统计信息失败" - - # 环境恢复:如果脚本安装了软件包,则卸载 - if [ $INSTALLED -eq 1 ]; then - LOG_INFO "卸载临时安装的systemd-resolved" - dnf remove -y systemd-resolved - CHECK_RESULT $? 0 0 "卸载systemd-resolved失败" - fi - - LOG_INFO "测试完成:显示解析器统计信息" -} - -main "$@" \ No newline at end of file From 60945c5c3b89f6bd0704676c17222211010acf44 Mon Sep 17 00:00:00 2001 From: honghua Date: Tue, 21 Apr 2026 21:24:33 +0800 Subject: [PATCH 31/34] update testcase for testsuite texlive-csquotes-de-doc --- .../texlive-csquotes-de-doc.json | 12 -- ...ve-csquotes-de-doc_function_doc_content.sh | 92 ------------ ...ive-csquotes-de-doc_function_doc_exists.sh | 133 ------------------ ...exlive-csquotes-de-doc_function_version.sh | 63 --------- 4 files changed, 300 deletions(-) delete mode 100644 testcases/function_test/pkg_test/texlive-split-f/texlive-csquotes-de-doc/test_texlive-csquotes-de-doc_function_doc_content.sh delete mode 100644 testcases/function_test/pkg_test/texlive-split-f/texlive-csquotes-de-doc/test_texlive-csquotes-de-doc_function_doc_exists.sh delete mode 100644 testcases/function_test/pkg_test/texlive-split-f/texlive-csquotes-de-doc/test_texlive-csquotes-de-doc_function_version.sh diff --git a/suite2cases/function_test/pkg_test/texlive-split-f/texlive-csquotes-de-doc.json b/suite2cases/function_test/pkg_test/texlive-split-f/texlive-csquotes-de-doc.json index 09ca06a918f..d6ce32272ae 100644 --- a/suite2cases/function_test/pkg_test/texlive-split-f/texlive-csquotes-de-doc.json +++ b/suite2cases/function_test/pkg_test/texlive-split-f/texlive-csquotes-de-doc.json @@ -9,18 +9,6 @@ { "name": "test_texlive-csquotes-de-doc_function_uninstall", "desc": "Test package uninstallation" - }, - { - "name": "test_texlive-csquotes-de-doc_function_doc_exists", - "desc": "Verify documentation files exist" - }, - { - "name": "test_texlive-csquotes-de-doc_function_doc_content", - "desc": "Check documentation for key content" - }, - { - "name": "test_texlive-csquotes-de-doc_function_version", - "desc": "Verify package version info" } ] } \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-f/texlive-csquotes-de-doc/test_texlive-csquotes-de-doc_function_doc_content.sh b/testcases/function_test/pkg_test/texlive-split-f/texlive-csquotes-de-doc/test_texlive-csquotes-de-doc_function_doc_content.sh deleted file mode 100644 index 306fee9cd90..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-f/texlive-csquotes-de-doc/test_texlive-csquotes-de-doc_function_doc_content.sh +++ /dev/null @@ -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-12 -# @License : Mulan PSL v2 -# @Desc : Check documentation for key content -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 定义软件包名称 - PACKAGE_NAME="texlive-csquotes-de-doc" - - # 步骤1: 检查yum源中是否存在指定的软件包 - LOG_INFO "步骤1: 检查yum源中是否存在软件包 $PACKAGE_NAME" - dnf list available $PACKAGE_NAME &>/dev/null - if [ $? -ne 0 ]; then - LOG_ERROR "软件包 $PACKAGE_NAME 在yum源中不存在" - exit 255 - fi - CHECK_RESULT $? 0 0 "检查软件包 $PACKAGE_NAME 在yum源中不存在" - - # 步骤2: 检查系统是否已经安装该软件包 - 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: 检查文档中的关键内容" - # 查找软件包安装的文档路径 - DOC_PATH=$(rpm -ql $PACKAGE_NAME | grep -E "\.pdf$|\.html$|\.txt$" | head -1) - if [ -z "$DOC_PATH" ]; then - LOG_ERROR "未找到软件包 $PACKAGE_NAME 的文档文件" - exit 1 - fi - - # 检查文档中是否包含关键内容(这里以检查是否包含"csquotes"为例) - if [[ $DOC_PATH == *.pdf ]]; then - # 如果是PDF文件,使用pdftotext转换后检查 - if command -v pdftotext &>/dev/null; then - pdftotext "$DOC_PATH" - 2>/dev/null | grep -i "csquotes" &>/dev/null - CHECK_RESULT $? 0 0 "PDF文档中未找到关键内容"csquotes"" - else - LOG_INFO "跳过PDF文档内容检查(未安装pdftotext工具)" - fi - elif [[ $DOC_PATH == *.html ]] || [[ $DOC_PATH == *.txt ]]; then - # 如果是HTML或TXT文件,直接使用grep检查 - grep -i "csquotes" "$DOC_PATH" &>/dev/null - CHECK_RESULT $? 0 0 "文档中未找到关键内容"csquotes"" - else - LOG_INFO "跳过未知格式的文档检查" - fi - - # 步骤5: 清理环境,恢复到之前的状态 - LOG_INFO "步骤5: 清理环境,恢复到之前的状态" - 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 "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-f/texlive-csquotes-de-doc/test_texlive-csquotes-de-doc_function_doc_exists.sh b/testcases/function_test/pkg_test/texlive-split-f/texlive-csquotes-de-doc/test_texlive-csquotes-de-doc_function_doc_exists.sh deleted file mode 100644 index 1d9a25b3246..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-f/texlive-csquotes-de-doc/test_texlive-csquotes-de-doc_function_doc_exists.sh +++ /dev/null @@ -1,133 +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-12 -# @License : Mulan PSL v2 -# @Desc : Verify documentation files exist -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 检查文档文件是否存在测试脚本 - - LOG_INFO "开始测试:验证文档文件是否存在" - - # 步骤1:检查软件包是否在yum源中 - LOG_INFO "步骤1:检查texlive-csquotes-de-doc软件包是否在yum源中" - dnf list available texlive-csquotes-de-doc > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "软件包texlive-csquotes-de-doc不在yum源中" - exit 255 - fi - - # 步骤2:检查当前是否已安装软件包 - LOG_INFO "步骤2:检查当前是否已安装texlive-csquotes-de-doc软件包" - INSTALLED=false - rpm -q texlive-csquotes-de-doc > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "软件包texlive-csquotes-de-doc已安装" - INSTALLED=true - else - LOG_INFO "软件包texlive-csquotes-de-doc未安装" - fi - - # 步骤3:如果未安装,则安装软件包 - if [ "$INSTALLED" = "false" ]; then - LOG_INFO "步骤3:安装texlive-csquotes-de-doc软件包" - dnf install -y texlive-csquotes-de-doc - CHECK_RESULT $? 0 0 "安装texlive-csquotes-de-doc软件包失败" - fi - - # 步骤4:检查软件包安装后文档文件是否存在 - LOG_INFO "步骤4:检查texlive-csquotes-de-doc软件包文档文件是否存在" - - # 获取软件包安装的文件列表 - LOG_INFO "获取texlive-csquotes-de-doc软件包安装的文件列表" - rpm -ql texlive-csquotes-de-doc > /tmp/texlive-csquotes-de-doc-files.txt - CHECK_RESULT $? 0 0 "获取texlive-csquotes-de-doc软件包文件列表失败" - - # 过滤出文档文件 - LOG_INFO "过滤出文档文件(以/usr/share/doc/开头的文件)" - DOC_FILES=$(grep "^/usr/share/doc/" /tmp/texlive-csquotes-de-doc-files.txt | head -10) - - if [ -z "$DOC_FILES" ]; then - LOG_ERROR "未找到texlive-csquotes-de-doc软件包的文档文件" - # 清理临时文件 - rm -f /tmp/texlive-csquotes-de-doc-files.txt - - # 如果之前未安装,则卸载软件包 - if [ "$INSTALLED" = "false" ]; then - LOG_INFO "清理环境:卸载texlive-csquotes-de-doc软件包" - dnf remove -y texlive-csquotes-de-doc - fi - - exit 1 - fi - - LOG_INFO "找到的文档文件示例:" - echo "$DOC_FILES" | while read file; do - LOG_INFO " - $file" - done - - # 步骤5:检查部分文档文件是否存在 - LOG_INFO "步骤5:验证部分文档文件确实存在" - CHECK_COUNT=0 - echo "$DOC_FILES" | head -5 | while read file; do - if [ -f "$file" ]; then - LOG_INFO "文档文件存在:$file" - CHECK_COUNT=$((CHECK_COUNT + 1)) - else - LOG_ERROR "文档文件不存在:$file" - fi - done - - # 检查是否至少有一个文档文件存在 - if [ $CHECK_COUNT -gt 0 ]; then - LOG_INFO "验证成功:至少找到 $CHECK_COUNT 个文档文件" - else - LOG_ERROR "验证失败:未找到任何文档文件" - - # 清理临时文件 - rm -f /tmp/texlive-csquotes-de-doc-files.txt - - # 如果之前未安装,则卸载软件包 - if [ "$INSTALLED" = "false" ]; then - LOG_INFO "清理环境:卸载texlive-csquotes-de-doc软件包" - dnf remove -y texlive-csquotes-de-doc - fi - - exit 1 - fi - - # 步骤6:清理临时文件 - LOG_INFO "步骤6:清理临时文件" - rm -f /tmp/texlive-csquotes-de-doc-files.txt - CHECK_RESULT $? 0 0 "清理临时文件失败" - - # 步骤7:环境恢复 - LOG_INFO "步骤7:环境恢复" - if [ "$INSTALLED" = "false" ]; then - LOG_INFO "卸载测试安装的texlive-csquotes-de-doc软件包" - dnf remove -y texlive-csquotes-de-doc - CHECK_RESULT $? 0 0 "卸载texlive-csquotes-de-doc软件包失败" - LOG_INFO "环境已恢复到测试前状态" - else - LOG_INFO "保持原有安装状态,不卸载软件包" - fi - - LOG_INFO "测试完成:文档文件存在验证成功" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-f/texlive-csquotes-de-doc/test_texlive-csquotes-de-doc_function_version.sh b/testcases/function_test/pkg_test/texlive-split-f/texlive-csquotes-de-doc/test_texlive-csquotes-de-doc_function_version.sh deleted file mode 100644 index a35fd6eb794..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-f/texlive-csquotes-de-doc/test_texlive-csquotes-de-doc_function_version.sh +++ /dev/null @@ -1,63 +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-12 -# @License : Mulan PSL v2 -# @Desc : Verify package version info -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试:验证texlive-csquotes-de-doc软件包版本信息" - LOG_INFO "步骤1:检查yum源中是否存在texlive-csquotes-de-doc软件包" - dnf list available texlive-csquotes-de-doc &> /dev/null - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到texlive-csquotes-de-doc软件包" - exit 255 - fi - - LOG_INFO "步骤2:检查当前是否已安装texlive-csquotes-de-doc软件包" - rpm -q texlive-csquotes-de-doc &> /dev/null - if [ $? -eq 0 ]; then - LOG_INFO "软件包已安装,记录安装状态以便后续恢复" - INSTALLED="true" - else - LOG_INFO "软件包未安装,将执行安装步骤" - INSTALLED="false" - fi - - if [ "$INSTALLED" = "false" ]; then - LOG_INFO "步骤3:安装texlive-csquotes-de-doc软件包" - dnf install -y texlive-csquotes-de-doc - CHECK_RESULT $? 0 0 "安装texlive-csquotes-de-doc软件包失败" - fi - - LOG_INFO "步骤4:验证软件包版本信息" - rpm -qi texlive-csquotes-de-doc - CHECK_RESULT $? 0 0 "获取texlive-csquotes-de-doc软件包版本信息失败" - - LOG_INFO "步骤5:清理测试环境" - if [ "$INSTALLED" = "false" ]; then - LOG_INFO "卸载测试安装的texlive-csquotes-de-doc软件包" - dnf remove -y texlive-csquotes-de-doc - CHECK_RESULT $? 0 0 "卸载texlive-csquotes-de-doc软件包失败" - else - LOG_INFO "测试前已安装软件包,保持安装状态" - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file From c4a66b8b1f7e6fc2f698df9af67e56e393ecbdec Mon Sep 17 00:00:00 2001 From: honghua Date: Tue, 21 Apr 2026 21:24:43 +0800 Subject: [PATCH 32/34] update testcase for testsuite simple-javadoc --- .../pkg_test/simple/simple-javadoc.json | 16 --- .../test_simple-javadoc_function_config.sh | 129 ------------------ .../test_simple-javadoc_function_generate.sh | 109 --------------- .../test_simple-javadoc_function_help.sh | 78 ----------- .../test_simple-javadoc_function_version.sh | 65 --------- 5 files changed, 397 deletions(-) delete mode 100644 testcases/function_test/pkg_test/simple/simple-javadoc/test_simple-javadoc_function_config.sh delete mode 100644 testcases/function_test/pkg_test/simple/simple-javadoc/test_simple-javadoc_function_generate.sh delete mode 100644 testcases/function_test/pkg_test/simple/simple-javadoc/test_simple-javadoc_function_help.sh delete mode 100644 testcases/function_test/pkg_test/simple/simple-javadoc/test_simple-javadoc_function_version.sh diff --git a/suite2cases/function_test/pkg_test/simple/simple-javadoc.json b/suite2cases/function_test/pkg_test/simple/simple-javadoc.json index df809863fba..847c8ef329a 100644 --- a/suite2cases/function_test/pkg_test/simple/simple-javadoc.json +++ b/suite2cases/function_test/pkg_test/simple/simple-javadoc.json @@ -9,22 +9,6 @@ { "name": "test_simple-javadoc_function_uninstall", "desc": "测试simple-javadoc软件包是否能够被成功卸载。" - }, - { - "name": "test_simple-javadoc_function_generate", - "desc": "测试simple-javadoc是否能够成功生成Java源代码的文档。" - }, - { - "name": "test_simple-javadoc_function_config", - "desc": "测试simple-javadoc能否通过配置文件定制生成的文档格式。" - }, - { - "name": "test_simple-javadoc_function_version", - "desc": "测试simple-javadoc能否正确显示其版本信息。" - }, - { - "name": "test_simple-javadoc_function_help", - "desc": "测试simple-javadoc能否正确显示命令行帮助信息。" } ] } \ No newline at end of file diff --git a/testcases/function_test/pkg_test/simple/simple-javadoc/test_simple-javadoc_function_config.sh b/testcases/function_test/pkg_test/simple/simple-javadoc/test_simple-javadoc_function_config.sh deleted file mode 100644 index f9d29155517..00000000000 --- a/testcases/function_test/pkg_test/simple/simple-javadoc/test_simple-javadoc_function_config.sh +++ /dev/null @@ -1,129 +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-04-05 -# @License : Mulan PSL v2 -# @Desc : 测试simple-javadoc能否通过配置文件定制生成的文档格式。 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 初始化环境变量 - SCRIPT_NAME="test_simple-javadoc_function_config" - LOG_INFO "开始执行测试脚本: ${SCRIPT_NAME}" - LOG_INFO "测试目标: 验证simple-javadoc能否通过配置文件定制生成的文档格式" - - # 检查软件包是否在yum源中 - LOG_INFO "检查simple-javadoc软件包是否在yum源中" - dnf list available simple-javadoc > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到simple-javadoc软件包" - exit 255 - fi - - # 检查是否已安装simple-javadoc - LOG_INFO "检查simple-javadoc是否已安装" - rpm -q simple-javadoc > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "simple-javadoc已安装,测试结束后保持安装状态" - INSTALLED_BEFORE="true" - else - LOG_INFO "simple-javadoc未安装,将在测试前安装" - INSTALLED_BEFORE="false" - fi - - # 如果未安装则安装软件包 - if [ "${INSTALLED_BEFORE}" = "false" ]; then - LOG_INFO "安装simple-javadoc软件包" - dnf install -y simple-javadoc - CHECK_RESULT $? 0 0 "安装simple-javadoc失败" - fi - - # 检查simple-javadoc命令是否支持--config参数 - LOG_INFO "检查simple-javadoc是否支持--config参数" - simple-javadoc --help | grep -q "\-\-config" - if [ $? -ne 0 ]; then - LOG_ERROR "simple-javadoc不支持--config参数" - exit 255 - fi - - # 创建测试配置文件 - LOG_INFO "创建测试配置文件custom_config.xml" - cat > custom_config.xml << EOF - - - html - dark - true - - EOF - CHECK_RESULT $? 0 0 "创建测试配置文件失败" - - # 创建测试Java源文件 - LOG_INFO "创建测试Java源文件TestClass.java" - cat > TestClass.java << EOF - /** - * 测试类 - */ - public class TestClass { - /** - * 公共方法 - */ - public void publicMethod() {} - - /** - * 私有方法 - */ - private void privateMethod() {} - } - EOF - CHECK_RESULT $? 0 0 "创建测试Java源文件失败" - - # 使用配置文件生成文档 - LOG_INFO "使用配置文件生成文档" - simple-javadoc --config custom_config.xml -d ./output_docs TestClass.java - CHECK_RESULT $? 0 0 "使用配置文件生成文档失败" - - # 验证生成的文档是否符合配置 - LOG_INFO "验证生成的文档格式是否符合配置" - if [ -d "./output_docs" ]; then - LOG_INFO "文档目录生成成功" - # 检查是否包含私有方法(根据配置应包含) - grep -r "privateMethod" ./output_docs > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "生成的文档未包含私有方法,配置未生效" - else - LOG_ERROR "文档目录未生成" - exit 1 - fi - - # 清理测试文件 - LOG_INFO "清理测试文件" - rm -f custom_config.xml TestClass.java - rm -rf ./output_docs - CHECK_RESULT $? 0 0 "清理测试文件失败" - - # 如果测试前未安装则卸载软件包 - if [ "${INSTALLED_BEFORE}" = "false" ]; then - LOG_INFO "卸载simple-javadoc软件包" - dnf remove -y simple-javadoc - CHECK_RESULT $? 0 0 "卸载simple-javadoc失败" - else - LOG_INFO "测试前已安装simple-javadoc,保持安装状态" - fi - - LOG_INFO "测试脚本执行完成: ${SCRIPT_NAME}" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/simple/simple-javadoc/test_simple-javadoc_function_generate.sh b/testcases/function_test/pkg_test/simple/simple-javadoc/test_simple-javadoc_function_generate.sh deleted file mode 100644 index 96642dd6e03..00000000000 --- a/testcases/function_test/pkg_test/simple/simple-javadoc/test_simple-javadoc_function_generate.sh +++ /dev/null @@ -1,109 +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-04-05 -# @License : Mulan PSL v2 -# @Desc : 测试simple-javadoc是否能够成功生成Java源代码的文档。 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 环境检查:检查simple-javadoc软件包是否已安装 - LOG_INFO "检查simple-javadoc是否已安装" - rpm -q simple-javadoc > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "simple-javadoc已安装,标记为已存在状态" - INSTALLED=1 - else - LOG_INFO "simple-javadoc未安装,标记为未安装状态" - INSTALLED=0 - fi - - # 检查yum源中是否有simple-javadoc软件包 - LOG_INFO "检查yum源中是否存在simple-javadoc软件包" - dnf list available simple-javadoc > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中不存在simple-javadoc软件包" - exit 255 - fi - - # 如果未安装,则安装simple-javadoc - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "安装simple-javadoc软件包" - dnf install -y simple-javadoc - CHECK_RESULT $? 0 0 "安装simple-javadoc失败" - fi - - # 创建测试用的Java源代码文件 - LOG_INFO "创建测试Java源代码文件" - cat > TestClass.java << "EOF" - /** - * 这是一个测试类 - */ - public class TestClass { - /** - * 测试方法 - * @param args 参数 - */ - public static void main(String[] args) { - System.out.println("Hello World"); - } - } - EOF - CHECK_RESULT $? 0 0 "创建Java源代码文件失败" - - # 测试simple-javadoc命令是否存在 - LOG_INFO "检查simple-javadoc命令是否存在" - which simple-javadoc > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "simple-javadoc命令不存在" - - # 测试simple-javadoc命令的--help参数 - LOG_INFO "测试simple-javadoc的--help参数" - simple-javadoc --help > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "simple-javadoc不支持--help参数" - - # 测试simple-javadoc生成Java文档 - LOG_INFO "使用simple-javadoc生成Java文档" - simple-javadoc TestClass.java -d javadoc_output - CHECK_RESULT $? 0 0 "simple-javadoc生成文档失败" - - # 检查生成的文档文件 - LOG_INFO "检查生成的文档文件" - if [ -f "javadoc_output/index.html" ]; then - LOG_INFO "成功生成Java文档" - else - LOG_ERROR "未找到生成的文档文件" - exit 1 - fi - - # 清理测试文件 - LOG_INFO "清理测试文件" - rm -f TestClass.java - rm -rf javadoc_output - CHECK_RESULT $? 0 0 "清理测试文件失败" - - # 如果测试前未安装,则卸载simple-javadoc - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "卸载simple-javadoc软件包" - dnf remove -y simple-javadoc - CHECK_RESULT $? 0 0 "卸载simple-javadoc失败" - else - LOG_INFO "保持simple-javadoc安装状态" - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/simple/simple-javadoc/test_simple-javadoc_function_help.sh b/testcases/function_test/pkg_test/simple/simple-javadoc/test_simple-javadoc_function_help.sh deleted file mode 100644 index a22b25142cb..00000000000 --- a/testcases/function_test/pkg_test/simple/simple-javadoc/test_simple-javadoc_function_help.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-04-05 -# @License : Mulan PSL v2 -# @Desc : 测试simple-javadoc能否正确显示命令行帮助信息。 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 检查simple-javadoc软件包是否已安装 - LOG_INFO "检查simple-javadoc软件包是否已安装" - rpm -q simple-javadoc > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "simple-javadoc已安装,标记为需要保持安装状态" - KEEP_INSTALLED=1 - else - LOG_INFO "simple-javadoc未安装,标记为需要测试后卸载" - KEEP_INSTALLED=0 - fi - - # 检查yum源中是否有simple-javadoc软件包 - LOG_INFO "检查yum源中是否有simple-javadoc软件包" - dnf list available simple-javadoc > /dev/null 2>&1 - CHECK_RESULT $? 0 255 "yum源中没有simple-javadoc软件包" - - # 如果未安装则安装软件包 - if [ $KEEP_INSTALLED -eq 0 ]; then - LOG_INFO "安装simple-javadoc软件包" - dnf install -y simple-javadoc - CHECK_RESULT $? 0 0 "安装simple-javadoc失败" - fi - - # 测试simple-javadoc能否正确显示命令行帮助信息 - LOG_INFO "测试simple-javadoc能否正确显示命令行帮助信息" - simple-javadoc --help > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "simple-javadoc --help命令执行失败" - - # 检查帮助信息是否包含基本内容 - LOG_INFO "检查帮助信息是否包含基本内容" - simple-javadoc --help 2>&1 | grep -q "Usage:" - CHECK_RESULT $? 0 0 "帮助信息中未找到Usage信息" - - # 测试不支持的参数 - LOG_INFO "测试simple-javadoc不支持的命令行参数" - simple-javadoc --invalid-param > /dev/null 2>&1 - if [ $? -eq 255 ]; then - LOG_INFO "不支持的参数正确处理,返回退出码255" - else - LOG_ERROR "不支持的参数未正确处理" - exit 255 - fi - - # 清理环境:如果测试前未安装,则卸载软件包 - if [ $KEEP_INSTALLED -eq 0 ]; then - LOG_INFO "清理环境:卸载simple-javadoc软件包" - dnf remove -y simple-javadoc - CHECK_RESULT $? 0 0 "卸载simple-javadoc失败" - else - LOG_INFO "保持simple-javadoc软件包安装状态" - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/simple/simple-javadoc/test_simple-javadoc_function_version.sh b/testcases/function_test/pkg_test/simple/simple-javadoc/test_simple-javadoc_function_version.sh deleted file mode 100644 index 0abd79fbe6c..00000000000 --- a/testcases/function_test/pkg_test/simple/simple-javadoc/test_simple-javadoc_function_version.sh +++ /dev/null @@ -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 : 2026-04-05 -# @License : Mulan PSL v2 -# @Desc : 测试simple-javadoc能否正确显示其版本信息。 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试simple-javadoc能否正确显示其版本信息" - LOG_INFO "检查simple-javadoc软件包是否在yum源中" - if ! dnf list available simple-javadoc &> /dev/null; then - LOG_ERROR "simple-javadoc软件包在yum源中不存在" - exit 255 - fi - - LOG_INFO "检查simple-javadoc是否已经安装" - if rpm -q simple-javadoc &> /dev/null; then - LOG_INFO "simple-javadoc已经安装,脚本结束后将保持安装状态" - INSTALLED=true - else - LOG_INFO "simple-javadoc未安装,将在测试步骤中安装" - INSTALLED=false - fi - - if [ "$INSTALLED" = false ]; then - LOG_INFO "安装simple-javadoc软件包" - dnf install -y simple-javadoc - CHECK_RESULT $? 0 0 "安装simple-javadoc失败" - fi - - LOG_INFO "检查simple-javadoc命令是否支持--version参数" - simple-javadoc --help 2>&1 | grep -q "\-\-version" - CHECK_RESULT $? 0 0 "simple-javadoc命令不支持--version参数" - - LOG_INFO "执行simple-javadoc --version命令" - simple-javadoc --version - CHECK_RESULT $? 0 0 "执行simple-javadoc --version命令失败" - - LOG_INFO "测试步骤完成,开始清理环境" - if [ "$INSTALLED" = false ]; then - LOG_INFO "卸载simple-javadoc软件包" - dnf remove -y simple-javadoc - CHECK_RESULT $? 0 0 "卸载simple-javadoc失败" - else - LOG_INFO "测试前simple-javadoc已安装,保持安装状态" - fi - - LOG_INFO "测试完成,环境已恢复" -} - -main "$@" \ No newline at end of file From 89605eef0a6cdfe7cde6299d27c1902679dda5fb Mon Sep 17 00:00:00 2001 From: honghua Date: Tue, 21 Apr 2026 21:24:52 +0800 Subject: [PATCH 33/34] update testcase for testsuite texlive-texmate --- .../texlive-split-w/texlive-texmate.json | 12 -- ...test_texlive-texmate_function_basic_cmd.sh | 80 ------------- .../test_texlive-texmate_function_install.sh | 68 ----------- ...test_texlive-texmate_function_uninstall.sh | 111 ------------------ 4 files changed, 271 deletions(-) delete mode 100644 testcases/function_test/pkg_test/texlive-split-w/texlive-texmate/test_texlive-texmate_function_basic_cmd.sh delete mode 100644 testcases/function_test/pkg_test/texlive-split-w/texlive-texmate/test_texlive-texmate_function_install.sh delete mode 100644 testcases/function_test/pkg_test/texlive-split-w/texlive-texmate/test_texlive-texmate_function_uninstall.sh diff --git a/suite2cases/function_test/pkg_test/texlive-split-w/texlive-texmate.json b/suite2cases/function_test/pkg_test/texlive-split-w/texlive-texmate.json index dc8f0ef1ff5..2e59cae8aec 100644 --- a/suite2cases/function_test/pkg_test/texlive-split-w/texlive-texmate.json +++ b/suite2cases/function_test/pkg_test/texlive-split-w/texlive-texmate.json @@ -7,21 +7,9 @@ "desc": "测试 texlive-texmate 软件包提供的服务的日志查看功能,验证是否能够正确查看服务的日志信息。", "machine num": 1 }, - { - "name": "test_texlive-texmate_function_install", - "desc": "测试 texlive-texmate 软件包的安装功能,验证是否能够成功安装软件包。" - }, { "name": "test_texlive-texmate_function_check", "desc": "测试 texlive-texmate 软件包的安装状态检查功能,验证系统是否已正确安装该软件包。" - }, - { - "name": "test_texlive-texmate_function_basic_cmd", - "desc": "测试 texlive-texmate 软件包提供的基本命令功能,验证核心命令是否能正常运行。" - }, - { - "name": "test_texlive-texmate_function_uninstall", - "desc": "测试 texlive-texmate 软件包的卸载功能,验证是否能够完全卸载软件包及其相关文件。" } ] } \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-w/texlive-texmate/test_texlive-texmate_function_basic_cmd.sh b/testcases/function_test/pkg_test/texlive-split-w/texlive-texmate/test_texlive-texmate_function_basic_cmd.sh deleted file mode 100644 index f811480592d..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-w/texlive-texmate/test_texlive-texmate_function_basic_cmd.sh +++ /dev/null @@ -1,80 +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 : 测试 texlive-texmate 软件包提供的基本命令功能,验证核心命令是否能正常运行。 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试 texlive-texmate 软件包提供的基本命令功能" - LOG_INFO "步骤1:检查系统中是否已安装 texlive-texmate" - rpm -q texlive-texmate - if [ $? -eq 0 ]; then - LOG_INFO "texlive-texmate 已安装,测试结束后将保持安装状态" - INSTALLED=true - else - LOG_INFO "texlive-texmate 未安装,将在测试过程中安装并在结束后卸载" - INSTALLED=false - fi - - LOG_INFO "步骤2:检查 yum 源中是否存在 texlive-texmate 软件包" - dnf list available texlive-texmate - CHECK_RESULT $? 0 0 "yum 源中未找到 texlive-texmate 软件包" - if [ $? -ne 0 ]; then - LOG_ERROR "yum 源中未找到 texlive-texmate 软件包" - exit 255 - fi - - if [ "$INSTALLED" = false ]; then - LOG_INFO "步骤3:安装 texlive-texmate 软件包" - dnf install -y texlive-texmate - CHECK_RESULT $? 0 0 "安装 texlive-texmate 失败" - fi - - LOG_INFO "步骤4:验证 texlive-texmate 提供的核心命令是否能正常运行" - LOG_INFO "步骤4.1:测试 texmate 命令是否存在" - which texmate - CHECK_RESULT $? 0 0 "texmate 命令不存在" - - LOG_INFO "步骤4.2:测试 texmate 命令的基本功能" - texmate --help - CHECK_RESULT $? 0 0 "texmate --help 命令执行失败" - - LOG_INFO "步骤4.3:测试 texmate 命令处理简单 TeX 文件" - cat > test.tex << "EOF" - \documentclass{article} - \begin{document} - Hello, World! - \end{document} - EOF - texmate test.tex - CHECK_RESULT $? 0 0 "texmate 处理 TeX 文件失败" - rm -f test.tex test.log test.aux - - LOG_INFO "步骤5:清理测试环境" - if [ "$INSTALLED" = false ]; then - LOG_INFO "卸载 texlive-texmate 软件包" - dnf remove -y texlive-texmate - CHECK_RESULT $? 0 0 "卸载 texlive-texmate 失败" - else - LOG_INFO "测试前已安装 texlive-texmate,保持安装状态" - fi - - LOG_INFO "测试完成,环境已恢复" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-w/texlive-texmate/test_texlive-texmate_function_install.sh b/testcases/function_test/pkg_test/texlive-split-w/texlive-texmate/test_texlive-texmate_function_install.sh deleted file mode 100644 index 677e3221e70..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-w/texlive-texmate/test_texlive-texmate_function_install.sh +++ /dev/null @@ -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 : 2026-03-21 -# @License : Mulan PSL v2 -# @Desc : 测试 texlive-texmate 软件包的安装功能,验证是否能够成功安装软件包。 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 检查是否已经安装 texlive-texmate - LOG_INFO "检查 texlive-texmate 是否已经安装" - rpm -q texlive-texmate - if [ $? -eq 0 ]; then - LOG_INFO "texlive-texmate 已经安装,脚本结束时将保持安装状态" - INSTALLED_BEFORE=1 - else - LOG_INFO "texlive-texmate 未安装,将在测试后卸载" - INSTALLED_BEFORE=0 - fi - - # 检查 yum 源中是否有 texlive-texmate 软件包 - LOG_INFO "检查 yum 源中是否有 texlive-texmate 软件包" - dnf list available texlive-texmate - if [ $? -ne 0 ]; then - LOG_ERROR "yum 源中没有 texlive-texmate 软件包" - exit 255 - fi - CHECK_RESULT $? 0 0 "检查 yum 源中 texlive-texmate 软件包失败" - - # 安装 texlive-texmate 软件包 - LOG_INFO "安装 texlive-texmate 软件包" - dnf install -y texlive-texmate - CHECK_RESULT $? 0 0 "安装 texlive-texmate 软件包失败" - - # 验证安装是否成功 - LOG_INFO "验证 texlive-texmate 是否安装成功" - rpm -q texlive-texmate - CHECK_RESULT $? 0 0 "验证 texlive-texmate 安装失败" - - # 验证软件包基本功能 - LOG_INFO "验证 texlive-texmate 基本功能" - texmate --version - CHECK_RESULT $? 0 0 "texmate 命令执行失败" - - # 清理环境 - if [ $INSTALLED_BEFORE -eq 0 ]; then - LOG_INFO "卸载 texlive-texmate 软件包" - dnf remove -y texlive-texmate - CHECK_RESULT $? 0 0 "卸载 texlive-texmate 软件包失败" - else - LOG_INFO "测试前已安装 texlive-texmate,保持安装状态" - fi -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-w/texlive-texmate/test_texlive-texmate_function_uninstall.sh b/testcases/function_test/pkg_test/texlive-split-w/texlive-texmate/test_texlive-texmate_function_uninstall.sh deleted file mode 100644 index a354aef24e9..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-w/texlive-texmate/test_texlive-texmate_function_uninstall.sh +++ /dev/null @@ -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 : 2026-03-21 -# @License : Mulan PSL v2 -# @Desc : 测试 texlive-texmate 软件包的卸载功能,验证是否能够完全卸载软件包及其相关文件。 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 设置脚本选项 - set -euo pipefail - - # 定义软件包名称 - PACKAGE_NAME="texlive-texmate" - - # 步骤1: 检查软件包是否在yum源中 - LOG_INFO "步骤1: 检查软件包是否在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 "步骤2: 检查当前是否已安装 ${PACKAGE_NAME}" - if rpm -q "${PACKAGE_NAME}" > /dev/null 2>&1; then - LOG_INFO "软件包 ${PACKAGE_NAME} 已安装,测试后将保持安装状态" - WAS_INSTALLED=true - else - LOG_INFO "软件包 ${PACKAGE_NAME} 未安装,将进行安装测试" - WAS_INSTALLED=false - fi - - # 步骤3: 如果未安装,先安装软件包 - if [ "${WAS_INSTALLED}" = "false" ]; then - LOG_INFO "步骤3: 安装 ${PACKAGE_NAME} 软件包" - dnf install -y "${PACKAGE_NAME}" - CHECK_RESULT $? 0 0 "安装 ${PACKAGE_NAME} 失败" - fi - - # 步骤4: 验证软件包已安装 - LOG_INFO "步骤4: 验证软件包已安装" - rpm -q "${PACKAGE_NAME}" - CHECK_RESULT $? 0 0 "验证 ${PACKAGE_NAME} 安装状态失败" - - # 步骤5: 记录安装的文件列表 - LOG_INFO "步骤5: 记录安装的文件列表" - INSTALLED_FILES=$(rpm -ql "${PACKAGE_NAME}" 2>/dev/null || true) - LOG_INFO "软件包安装的文件数量: $(echo "${INSTALLED_FILES}" | wc -l)" - - # 步骤6: 卸载软件包 - LOG_INFO "步骤6: 卸载 ${PACKAGE_NAME} 软件包" - dnf remove -y "${PACKAGE_NAME}" - CHECK_RESULT $? 0 0 "卸载 ${PACKAGE_NAME} 失败" - - # 步骤7: 验证软件包已卸载 - LOG_INFO "步骤7: 验证软件包已卸载" - if rpm -q "${PACKAGE_NAME}" > /dev/null 2>&1; then - LOG_ERROR "软件包 ${PACKAGE_NAME} 卸载失败" - exit 1 - else - LOG_INFO "软件包 ${PACKAGE_NAME} 已成功卸载" - fi - - # 步骤8: 检查相关文件是否已清理 - LOG_INFO "步骤8: 检查相关文件是否已清理" - REMAINING_FILES=0 - if [ -n "${INSTALLED_FILES}" ]; then - for file in ${INSTALLED_FILES}; do - if [ -e "${file}" ]; then - LOG_ERROR "文件 ${file} 未被清理" - REMAINING_FILES=$((REMAINING_FILES + 1)) - fi - done - fi - - if [ ${REMAINING_FILES} -gt 0 ]; then - LOG_ERROR "发现 ${REMAINING_FILES} 个文件未被清理" - exit 1 - else - LOG_INFO "所有相关文件已成功清理" - fi - - # 步骤9: 环境恢复 - LOG_INFO "步骤9: 环境恢复" - if [ "${WAS_INSTALLED}" = "true" ]; then - LOG_INFO "重新安装 ${PACKAGE_NAME} 以恢复原始状态" - dnf install -y "${PACKAGE_NAME}" - CHECK_RESULT $? 0 0 "重新安装 ${PACKAGE_NAME} 失败" - LOG_INFO "环境已恢复到原始安装状态" - else - LOG_INFO "环境已恢复到原始未安装状态" - fi - - LOG_INFO "测试完成: texlive-texmate 软件包的卸载功能测试通过" -} - -main "$@" \ No newline at end of file From 0313ca927ffdb9e2271bb7e36eae3f2648b553ef Mon Sep 17 00:00:00 2001 From: honghua Date: Tue, 21 Apr 2026 21:25:08 +0800 Subject: [PATCH 34/34] update testcase for testsuite maven-javadoc --- .../pkg_test/maven/maven-javadoc.json | 14 ---- .../test_maven-javadoc_function_generate.sh | 73 ------------------- .../test_maven-javadoc_function_validate.sh | 63 ---------------- 3 files changed, 150 deletions(-) delete mode 100644 suite2cases/function_test/pkg_test/maven/maven-javadoc.json delete mode 100644 testcases/function_test/pkg_test/maven/maven-javadoc/test_maven-javadoc_function_generate.sh delete mode 100644 testcases/function_test/pkg_test/maven/maven-javadoc/test_maven-javadoc_function_validate.sh diff --git a/suite2cases/function_test/pkg_test/maven/maven-javadoc.json b/suite2cases/function_test/pkg_test/maven/maven-javadoc.json deleted file mode 100644 index 0ad88e01632..00000000000 --- a/suite2cases/function_test/pkg_test/maven/maven-javadoc.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "path": "$OET_PATH/testcases/function_test/pkg_test/maven/maven-javadoc", - "machine num": 1, - "cases": [ - { - "name": "test_maven-javadoc_function_generate", - "desc": "Test the generation of Javadoc documentation" - }, - { - "name": "test_maven-javadoc_function_validate", - "desc": "Test the validation of Javadoc configuration" - } - ] -} \ No newline at end of file diff --git a/testcases/function_test/pkg_test/maven/maven-javadoc/test_maven-javadoc_function_generate.sh b/testcases/function_test/pkg_test/maven/maven-javadoc/test_maven-javadoc_function_generate.sh deleted file mode 100644 index 858fc4a1aa1..00000000000 --- a/testcases/function_test/pkg_test/maven/maven-javadoc/test_maven-javadoc_function_generate.sh +++ /dev/null @@ -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 : Test the generation of Javadoc documentation -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 测试脚本:test_maven-javadoc_function_generate - - LOG_INFO "开始测试:Test the generation of Javadoc documentation" - - # 检查是否已安装maven-javadoc-plugin - LOG_INFO "检查是否已安装maven-javadoc-plugin" - if dnf list installed maven-javadoc-plugin &>/dev/null; then - LOG_INFO "maven-javadoc-plugin已安装,测试结束后将保持安装状态" - installed=true - else - LOG_INFO "maven-javadoc-plugin未安装,将在测试结束后卸载" - installed=false - fi - - # 检查yum源中是否有maven-javadoc-plugin - LOG_INFO "检查yum源中是否有maven-javadoc-plugin" - if ! dnf list available maven-javadoc-plugin &>/dev/null; then - LOG_ERROR "yum源中未找到maven-javadoc-plugin" - exit 255 - fi - - # 安装maven-javadoc-plugin(如果未安装) - if [ "$installed" = false ]; then - LOG_INFO "安装maven-javadoc-plugin" - dnf install -y maven-javadoc-plugin - CHECK_RESULT $? 0 0 "安装maven-javadoc-plugin失败" - fi - - # 生成Javadoc文档 - LOG_INFO "生成Javadoc文档" - mvn javadoc:javadoc - CHECK_RESULT $? 0 0 "生成Javadoc文档失败" - - # 检查生成的Javadoc文档是否存在 - LOG_INFO "检查生成的Javadoc文档是否存在" - if [ ! -d "target/site/apidocs" ]; then - LOG_ERROR "未找到生成的Javadoc文档" - exit 1 - fi - - # 清理环境(如果之前未安装) - if [ "$installed" = false ]; then - LOG_INFO "卸载maven-javadoc-plugin" - dnf remove -y maven-javadoc-plugin - CHECK_RESULT $? 0 0 "卸载maven-javadoc-plugin失败" - fi - - LOG_INFO "测试完成:Test the generation of Javadoc documentation" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/maven/maven-javadoc/test_maven-javadoc_function_validate.sh b/testcases/function_test/pkg_test/maven/maven-javadoc/test_maven-javadoc_function_validate.sh deleted file mode 100644 index 95b8b523a26..00000000000 --- a/testcases/function_test/pkg_test/maven/maven-javadoc/test_maven-javadoc_function_validate.sh +++ /dev/null @@ -1,63 +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-07 -# @License : Mulan PSL v2 -# @Desc : Test the validation of Javadoc configuration -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试 Javadoc 配置的验证功能" - - # 检查是否已安装 maven-javadoc-plugin - LOG_INFO "检查是否已安装 maven-javadoc-plugin" - dnf list installed maven-javadoc-plugin > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "maven-javadoc-plugin 已安装,测试完成后将保持安装状态" - INSTALLED=true - else - LOG_INFO "maven-javadoc-plugin 未安装,将在测试完成后卸载" - INSTALLED=false - fi - - # 检查 yum 源中是否有 maven-javadoc-plugin - LOG_INFO "检查 yum 源中是否有 maven-javadoc-plugin" - dnf search maven-javadoc-plugin > /dev/null 2>&1 - CHECK_RESULT $? 0 255 "yum 源中未找到 maven-javadoc-plugin" - - # 安装 maven-javadoc-plugin(如果未安装) - if [ "$INSTALLED" = false ]; then - LOG_INFO "正在安装 maven-javadoc-plugin" - dnf install -y maven-javadoc-plugin > /dev/null 2>&1 - CHECK_RESULT $? 0 1 "安装 maven-javadoc-plugin 失败" - fi - - # 验证 Javadoc 配置 - LOG_INFO "验证 Javadoc 配置" - mvn javadoc:javadoc > /dev/null 2>&1 - CHECK_RESULT $? 0 1 "Javadoc 配置验证失败" - - # 清理环境(如果之前未安装) - if [ "$INSTALLED" = false ]; then - LOG_INFO "正在卸载 maven-javadoc-plugin" - dnf remove -y maven-javadoc-plugin > /dev/null 2>&1 - CHECK_RESULT $? 0 1 "卸载 maven-javadoc-plugin 失败" - fi - - LOG_INFO "测试完成,环境已恢复" -} - -main "$@" \ No newline at end of file