update testcase for testsuite krb5-libs
This commit is contained in:
@@ -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的升级功能,验证升级过程是否正常完成,且核心功能在升级后依然可用。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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 "$@"
|
||||
Reference in New Issue
Block a user