update testcase for testsuite krb5-libs

This commit is contained in:
2026-04-22 14:53:43 +08:00
parent 835dad65bd
commit ed524f5c92
2 changed files with 0 additions and 125 deletions

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/krb5/krb5-libs",
"machine num": 1,
"cases": [
{
"name": "test_krb5-libs_function_upgrade",
"desc": "测试软件包krb5-libs的升级功能验证升级过程是否正常完成且核心功能在升级后依然可用。"
}
]
}

View File

@@ -1,115 +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-22
# @License : Mulan PSL v2
# @Desc : 测试软件包krb5-libs的升级功能验证升级过程是否正常完成且核心功能在升级后依然可用。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装krb5-libs软件包
LOG_INFO "==== 开始测试 krb5-libs 升级功能 ===="
LOG_INFO "步骤1检查是否已安装krb5-libs软件包"
rpm -q krb5-libs &>/dev/null
if [ $? -eq 0 ]; then
LOG_INFO "检测到系统已安装krb5-libs测试结束将保持安装状态"
installed_before_test=1
else
LOG_INFO "系统未安装krb5-libs将在测试过程中安装并测试"
installed_before_test=0
fi
# 检查yum源中是否存在krb5-libs软件包
LOG_INFO "步骤2检查yum源中是否存在krb5-libs软件包"
dnf list available krb5-libs &>/dev/null
CHECK_RESULT $? 0 0 "yum源中未找到krb5-libs软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在krb5-libs软件包退出测试"
exit 255
fi
# 如果未安装,先安装旧版本(如果有)
if [ $installed_before_test -eq 0 ]; then
LOG_INFO "步骤3安装krb5-libs软件包作为测试前提"
dnf install -y krb5-libs
CHECK_RESULT $? 0 0 "安装krb5-libs失败"
fi
# 获取当前安装的版本
LOG_INFO "步骤4获取当前安装的krb5-libs版本"
current_version=$(rpm -q --queryformat "%{version}-%{release}.%{arch}\n" krb5-libs)
LOG_INFO "当前安装版本:$current_version"
# 检查可升级版本
LOG_INFO "步骤5检查是否有可用的升级版本"
upgrade_version=$(dnf list updates krb5-libs 2>/dev/null | awk "/krb5-libs/ && NR==3 {print $2}")
if [ -z "$upgrade_version" ]; then
LOG_INFO "没有可用的升级版本,当前已是最新版本"
exit 0
else
LOG_INFO "发现可升级版本:$upgrade_version"
fi
# 执行升级操作
LOG_INFO "步骤6执行krb5-libs升级操作"
dnf upgrade -y krb5-libs
CHECK_RESULT $? 0 0 "升级krb5-libs失败"
# 验证升级后的版本
LOG_INFO "步骤7验证升级后的版本"
new_version=$(rpm -q --queryformat "%{version}-%{release}.%{arch}\n" krb5-libs)
LOG_INFO "升级后版本:$new_version"
if [ "$current_version" != "$new_version" ]; then
LOG_INFO "版本已从 $current_version 升级到 $new_version"
else
LOG_ERROR "版本未发生变化,升级可能未成功"
exit 1
fi
# 测试核心功能kinit命令krb5-libs提供
LOG_INFO "步骤8测试升级后核心功能kinit命令"
kinit --version &>/dev/null
CHECK_RESULT $? 0 0 "kinit命令不可用核心功能测试失败"
LOG_INFO "core_krb5功能测试验证libk5crypto库是否正常"
strings /usr/lib64/libk5crypto.so* | grep -i krb5 &>/dev/null
CHECK_RESULT $? 0 0 "libk5crypto库异常"
# 如果需要,在远端节点也测试
if [ -n "$NODE2_IPV4" ] && [ -n "$NODE2_PASSWORD" ] && [ -n "$NODE2_USER" ]; then
LOG_INFO "步骤9在远端节点验证krb5-libs功能"
SSH_CMD "rpm -q krb5-libs" $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER
CHECK_RESULT $? 0 0 "远端节点未安装krb5-libs"
SSH_CMD "kinit --version" $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER
CHECK_RESULT $? 0 0 "远端节点kinit命令异常"
fi
# 环境清理
LOG_INFO "步骤10执行环境清理"
if [ $installed_before_test -eq 0 ]; then
LOG_INFO "清理卸载测试安装的krb5-libs软件包"
dnf remove -y krb5-libs
CHECK_RESULT $? 0 0 "卸载krb5-libs失败"
LOG_INFO "已恢复到测试前的未安装状态"
else
LOG_INFO "保持已安装状态,无需清理"
fi
LOG_INFO "==== krb5-libs升级功能测试完成 ===="
}
main "$@"