update testcase for testsuite texlive-tagging-doc

This commit is contained in:
2026-04-25 05:15:38 +08:00
parent 1887f1dfb9
commit a08946d637
4 changed files with 0 additions and 345 deletions

View File

@@ -5,18 +5,6 @@
{
"name": "test_texlive-tagging-doc_function_install",
"desc": "Test package installation"
},
{
"name": "test_texlive-tagging-doc_function_uninstall",
"desc": "Test package removal"
},
{
"name": "test_texlive-tagging-doc_function_check",
"desc": "Verify package is installed"
},
{
"name": "test_texlive-tagging-doc_function_usage",
"desc": "Test basic package usage"
}
]
}

View File

@@ -1,66 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-06
# @License : Mulan PSL v2
# @Desc : Verify package is installed
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:验证软件包是否正确安装"
# 检查是否已安装texlive-tagging-doc软件包
LOG_INFO "步骤1检查系统中是否已安装texlive-tagging-doc软件包"
if rpm -q texlive-tagging-doc &> /dev/null; then
LOG_INFO "texlive-tagging-doc已安装测试结束后保持安装状态"
already_installed=1
else
LOG_INFO "texlive-tagging-doc未安装将在测试过程中安装"
already_installed=0
fi
# 检查yum源中是否存在texlive-tagging-doc软件包
LOG_INFO "步骤2检查yum源中是否存在texlive-tagging-doc软件包"
if ! dnf list available texlive-tagging-doc &> /dev/null; then
LOG_ERROR "yum源中未找到texlive-tagging-doc软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $already_installed -eq 0 ]; then
LOG_INFO "步骤3安装texlive-tagging-doc软件包"
dnf install -y texlive-tagging-doc
CHECK_RESULT $? 0 0 "安装texlive-tagging-doc软件包失败"
fi
# 验证软件包是否正确安装
LOG_INFO "步骤4验证texlive-tagging-doc软件包是否正确安装"
rpm -q texlive-tagging-doc
CHECK_RESULT $? 0 0 "验证texlive-tagging-doc软件包安装状态失败"
# 清理环境:如果测试前未安装,则卸载软件包
if [ $already_installed -eq 0 ]; then
LOG_INFO "步骤5清理环境卸载测试安装的texlive-tagging-doc软件包"
dnf remove -y texlive-tagging-doc
CHECK_RESULT $? 0 0 "卸载texlive-tagging-doc软件包失败"
else
LOG_INFO "步骤5测试前已安装texlive-tagging-doc保持安装状态无需卸载"
fi
LOG_INFO "测试完成:软件包安装验证通过"
}
main "$@"

View File

@@ -1,131 +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-06
# @License : Mulan PSL v2
# @Desc : Test package removal
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义日志函数
LOG_INFO() {
echo "[INFO] $1"
}
LOG_ERROR() {
echo "[ERROR] $1"
}
# 定义检查结果函数
CHECK_RESULT() {
if [ $# -lt 4 ]; then
LOG_ERROR "CHECK_RESULT 参数不足"
exit 255
fi
local actual=$1
local expected=$2
local exit_code=$3
local error_msg=$4
if [ $actual -ne $expected ]; then
LOG_ERROR "$error_msg"
exit $exit_code
fi
}
# 定义SSH命令函数
SSH_CMD() {
if [ $# -lt 4 ]; then
LOG_ERROR "SSH_CMD 参数不足"
exit 255
fi
local cmd=$1
local node_ip=$2
local node_password=$3
local node_user=$4
sshpass -p "$node_password" ssh -o StrictHostKeyChecking=no "${node_user}@${node_ip}" "$cmd"
return $?
}
# 定义软件包名称
PACKAGE_NAME="texlive-tagging-doc"
# 步骤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: 检查软件包是否已安装"
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 "步骤3: 安装软件包 $PACKAGE_NAME"
dnf install -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
LOG_INFO "软件包 $PACKAGE_NAME 安装成功"
fi
# 步骤4: 执行测试命令
LOG_INFO "步骤4: 执行测试命令"
# 这里假设测试命令是检查软件包是否安装成功
rpm -q "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "软件包 $PACKAGE_NAME 未正确安装"
# 步骤5: 如果之前未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤5: 卸载软件包 $PACKAGE_NAME"
dnf remove -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
LOG_INFO "软件包 $PACKAGE_NAME 卸载成功"
else
LOG_INFO "步骤5: 软件包 $PACKAGE_NAME 之前已安装,保持安装状态"
fi
# 步骤6: 验证环境已恢复
LOG_INFO "步骤6: 验证环境已恢复"
if [ "$INSTALLED" = false ]; 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
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 $PACKAGE_NAME 被意外卸载"
exit 1
else
LOG_INFO "环境已恢复,软件包 $PACKAGE_NAME 保持安装状态"
fi
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -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-03-06
# @License : Mulan PSL v2
# @Desc : Test basic package usage
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义颜色输出
RED="\033[0;31m"
GREEN="\033[0;32m"
NC="\033[0m" # No Color
# 定义日志函数
LOG_INFO() {
echo -e "${GREEN}[INFO]${NC} $1"
}
LOG_ERROR() {
echo -e "${RED}[ERROR]${NC} $1"
}
# 定义检查结果函数
CHECK_RESULT() {
local actual=$1
local expected=$2
local exit_code=$3
local error_msg=$4
if [ $actual -eq $expected ]; then
LOG_INFO "检查通过: $error_msg"
else
LOG_ERROR "检查失败: $error_msg"
exit $exit_code
fi
}
# 定义SSH命令执行函数
SSH_CMD() {
local cmd=$1
local node_ip=$2
local node_password=$3
local node_user=$4
sshpass -p $node_password ssh -o StrictHostKeyChecking=no $node_user@$node_ip "$cmd"
}
# 主测试函数
test_texlive_tagging_doc_function_usage() {
LOG_INFO "开始测试: Test basic package usage"
# 定义软件包名称
PACKAGE_NAME="texlive-tagging-doc"
# 步骤1: 检查软件包是否已安装
LOG_INFO "步骤1: 检查软件包是否已安装"
if dnf list installed $PACKAGE_NAME &>/dev/null; then
LOG_INFO "软件包 $PACKAGE_NAME 已安装"
INSTALLED=true
else
LOG_INFO "软件包 $PACKAGE_NAME 未安装"
INSTALLED=false
fi
# 步骤2: 检查yum源中是否有该软件包
LOG_INFO "步骤2: 检查yum源中是否有软件包 $PACKAGE_NAME"
if dnf search $PACKAGE_NAME 2>&1 | grep -q "$PACKAGE_NAME"; then
LOG_INFO "yum源中存在软件包 $PACKAGE_NAME"
else
LOG_ERROR "yum源中不存在软件包 $PACKAGE_NAME"
exit 255
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: 测试基本命令功能"
# 这里假设软件包包含一个名为 "texlive-tagging-doc" 的可执行文件
# 如果实际命令不同,请替换为实际的命令
if command -v $PACKAGE_NAME &>/dev/null; then
LOG_INFO "命令 $PACKAGE_NAME 存在"
# 测试命令执行
$PACKAGE_NAME --help
CHECK_RESULT $? 0 0 "执行命令 $PACKAGE_NAME --help 失败"
else
LOG_ERROR "命令 $PACKAGE_NAME 不存在"
exit 255
fi
# 步骤5: 测试不支持的参数
LOG_INFO "步骤5: 测试不支持的参数"
$PACKAGE_NAME --invalid-parameter 2>/dev/null
if [ $? -eq 255 ]; then
LOG_INFO "不支持参数测试通过"
else
LOG_ERROR "不支持参数测试失败"
exit 255
fi
# 步骤6: 清理环境
LOG_INFO "步骤6: 清理环境"
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载软件包 $PACKAGE_NAME"
dnf remove -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
else
LOG_INFO "保持软件包 $PACKAGE_NAME 安装状态"
fi
LOG_INFO "测试完成: Test basic package usage"
}
# 执行测试
test_texlive_tagging_doc_function_usage
}
main "$@"