update testcase for testsuite texlive-tagging-doc
This commit is contained in:
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
Reference in New Issue
Block a user