update testcase for testsuite texlive-iwhdp
This commit is contained in:
@@ -2,108 +2,15 @@
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-m/texlive-iwhdp",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-iwhdp_install",
|
||||
"desc": "测试texlive-iwhdp软件包的安装功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_uninstall",
|
||||
"desc": "测试texlive-iwhdp软件包的卸载功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_upgrade",
|
||||
"desc": "测试texlive-iwhdp软件包的升级功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_downgrade",
|
||||
"desc": "测试texlive-iwhdp软件包的降级功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_rollback",
|
||||
"desc": "测试texlive-iwhdp软件包的升级回滚功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_service_start",
|
||||
"desc": "测试texlive-iwhdp软件包提供的服务的启动功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_service_stop",
|
||||
"desc": "测试texlive-iwhdp软件包提供的服务的停止功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_service_restart",
|
||||
"desc": "测试texlive-iwhdp软件包提供的服务的重启功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_service_status",
|
||||
"desc": "测试texlive-iwhdp软件包提供的服务的状态查询功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_service_log",
|
||||
"desc": "测试texlive-iwhdp软件包提供的服务的日志查看功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_service_config",
|
||||
"desc": "测试texlive-iwhdp软件包提供的服务的配置功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_service_reload",
|
||||
"desc": "测试texlive-iwhdp软件包提供的服务的重载配置功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_dependency",
|
||||
"desc": "测试texlive-iwhdp软件包的依赖关系是否满足",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_downgrade_rollback",
|
||||
"desc": "测试texlive-iwhdp软件包的降级回滚功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_reinstall",
|
||||
"desc": "测试texlive-iwhdp软件包的重新安装功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_function_install",
|
||||
"desc": "测试软件包的基本安装功能,验证安装后命令或文件是否存在"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_function_uninstall",
|
||||
"desc": "测试软件包的基本卸载功能,验证卸载后相关文件是否被清理"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_function_dependency",
|
||||
"desc": "测试软件包安装时的依赖关系是否被正确满足"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_function_upgrade",
|
||||
"desc": "测试软件包从旧版本升级到新版本的功能"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_function_downgrade",
|
||||
"desc": "测试软件包从新版本降级到旧版本的功能"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_function_reinstall",
|
||||
"desc": "测试软件包的重新安装功能"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_function_usage",
|
||||
"desc": "测试软件包提供的核心命令或功能的基本使用,例如调用其工具处理文档"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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 : 2025-07-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试texlive-iwhdp软件包的降级功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试texlive-iwhdp软件包的降级功能
|
||||
|
||||
LOG_INFO "开始测试texlive-iwhdp软件包的降级功能"
|
||||
|
||||
# 检查是否已安装texlive-iwhdp
|
||||
if dnf list installed texlive-iwhdp &>/dev/null; then
|
||||
LOG_INFO "texlive-iwhdp已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-iwhdp未安装,测试结束后将卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-iwhdp软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-iwhdp软件包"
|
||||
if ! dnf list available texlive-iwhdp &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-iwhdp软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 获取当前安装的版本
|
||||
CURRENT_VERSION=$(dnf list installed texlive-iwhdp | awk "{print $2}" | tail -n 1)
|
||||
LOG_INFO "当前安装的texlive-iwhdp版本: $CURRENT_VERSION"
|
||||
|
||||
# 获取可用的旧版本
|
||||
LOG_INFO "获取可用的旧版本"
|
||||
OLD_VERSIONS=$(dnf --showduplicates list texlive-iwhdp | grep -v "$CURRENT_VERSION" | awk "{print $2}" | sort -V | head -n 1)
|
||||
if [ -z "$OLD_VERSIONS" ]; then
|
||||
LOG_ERROR "未找到可用的旧版本"
|
||||
exit 255
|
||||
fi
|
||||
OLD_VERSION=$(echo "$OLD_VERSIONS" | head -n 1)
|
||||
LOG_INFO "选择的旧版本: $OLD_VERSION"
|
||||
|
||||
# 降级到旧版本
|
||||
LOG_INFO "尝试降级到版本: $OLD_VERSION"
|
||||
dnf downgrade -y texlive-iwhdp-$OLD_VERSION &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "降级失败"
|
||||
|
||||
# 验证降级后的版本
|
||||
NEW_VERSION=$(dnf list installed texlive-iwhdp | awk "{print $2}" | tail -n 1)
|
||||
LOG_INFO "降级后的texlive-iwhdp版本: $NEW_VERSION"
|
||||
CHECK_RESULT "$NEW_VERSION" "$OLD_VERSION" 0 "版本未正确降级"
|
||||
|
||||
# 恢复环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载texlive-iwhdp以恢复环境"
|
||||
dnf remove -y texlive-iwhdp &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "卸载失败"
|
||||
else
|
||||
LOG_INFO "恢复原始版本: $CURRENT_VERSION"
|
||||
dnf install -y texlive-iwhpd-$CURRENT_VERSION &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "恢复原始版本失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试texliev-iwdhp软件包的降级功能完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-07-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试texlive-iwhdp软件包的降级回滚功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装texlive-iwhdp软件包
|
||||
LOG_INFO "检查是否已安装texlive-iwhdp软件包"
|
||||
rpm -q texlive-iwhdp > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-iwhdp已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "texlive-iwhdp未安装,将在测试结束后卸载"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-iwhdp软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-iwhdp软件包"
|
||||
dnf list available texlive-iwhdp > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中未找到texlive-iwhdp软件包"
|
||||
|
||||
# 获取当前texlive-iwhdp版本
|
||||
LOG_INFO "获取当前texlive-iwhdp版本"
|
||||
CURRENT_VERSION=$(rpm -q --queryformat "%{VERSION}-%{RELEASE}" texlive-iwhdp)
|
||||
CHECK_RESULT $? 0 255 "获取texlive-iwhdp版本失败"
|
||||
|
||||
# 获取可用的旧版本
|
||||
LOG_INFO "获取可用的旧版本"
|
||||
OLD_VERSION=$(dnf list --showduplicates texlive-iwhdp | awk "{print $2}" | grep -v "$CURRENT_VERSION" | tail -n 1)
|
||||
if [ -z "$OLD_VERSION" ]; then
|
||||
LOG_ERROR "未找到可用的旧版本"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 降级到旧版本
|
||||
LOG_INFO "降级texlive-iwhdp到版本$OLD_VERSION"
|
||||
dnf downgrade -y texlive-iwhdp-$OLD_VERSION > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 1 "降级texlive-iwhdp失败"
|
||||
|
||||
# 验证降级后的版本
|
||||
LOG_INFO "验证降级后的版本"
|
||||
NEW_VERSION=$(rpm -q --queryformat "%{VERSION}-%{RELEASE}" texlive-iwhdp)
|
||||
if [ "$NEW_VERSION" != "$OLD_VERSION" ]; then
|
||||
LOG_ERROR "降级后版本不匹配"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 回滚到原版本
|
||||
LOG_INFO "回滚texlive-iwhdp到原版本$CURRENT_VERSION"
|
||||
dnf upgrade -y texlive-iwhdp-$CURRENT_VERSION > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 1 "回滚texlive-iwhdp失败"
|
||||
|
||||
# 验证回滚后的版本
|
||||
LOG_INFO "验证回滚后的版本"
|
||||
ROLLBACK_VERSION=$(rpm -q --queryformat "%{VERSION}-%{RELEASE}" texlive-iwhdp)
|
||||
if [ "$ROLLBACK_VERSION" != "$CURRENT_VERSION" ]; then
|
||||
LOG_ERROR "回滚后版本不匹配"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理环境:如果最初未安装,则卸载texlive-iwhdp;否则保持安装状态
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "清理环境:卸载texlive-iwhdp"
|
||||
dnf remove -y texlive-iwhdp > /dev/null 2>&1
|
||||
CHECK_RESULT $?
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-02-25
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包安装时的依赖关系是否被正确满足
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试软件包安装时的依赖关系是否被正确满足"
|
||||
|
||||
LOG_INFO "步骤1: 检查是否已安装 texlive-iwhdp 软件包"
|
||||
if dnf list installed texlive-iwhdp &>/dev/null; then
|
||||
LOG_INFO "texlive-iwhdp 已安装,测试后将保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "texlive-iwhdp 未安装,将在测试中安装,并在测试结束后卸载"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2: 检查yum源中是否存在 texlive-iwhdp 软件包"
|
||||
if ! dnf list available texlive-iwhdp &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到 texlive-iwhdp 软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum源中存在 texlive-iwhdp 软件包"
|
||||
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "步骤3: 安装 texlive-iwhdp 软件包"
|
||||
dnf install -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "安装 texlive-iwhdp 失败"
|
||||
LOG_INFO "texlive-iwhdp 软件包安装成功"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4: 验证 texlive-iwhdp 软件包是否正常运行"
|
||||
if command -v tex &>/dev/null; then
|
||||
LOG_INFO "找到 tex 命令,尝试执行基本版本检查"
|
||||
tex --version >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "tex 命令执行失败"
|
||||
LOG_INFO "tex 命令执行成功"
|
||||
else
|
||||
LOG_INFO "未找到 tex 命令,尝试检查软件包安装的文件"
|
||||
rpm -ql texlive-iwhdp | head -5
|
||||
CHECK_RESULT $? 0 0 "texlive-iwhdp 软件包文件列表查询失败"
|
||||
LOG_INFO "texlive-iwhdp 软件包文件检查成功"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤5: 检查 texlive-iwhdp 的依赖关系是否满足"
|
||||
rpm -qR texlive-iwhdp >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "查询 texlive-iwhdp 依赖关系失败"
|
||||
LOG_INFO "texlive-iwhdp 依赖关系查询成功"
|
||||
|
||||
LOG_INFO "步骤6: 验证关键依赖包是否已安装"
|
||||
REQUIRED_DEPS=$(rpm -qR texlive-iwhdp | grep -E "^texlive-" | head -3)
|
||||
for dep in $REQUIRED_DEPS; do
|
||||
if rpm -q "$dep" &>/dev/null; then
|
||||
LOG_INFO "依赖包 $dep 已安装"
|
||||
else
|
||||
LOG_ERROR "依赖包 $dep 未安装,依赖关系可能不满足"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
LOG_INFO "步骤7: 清理测试环境"
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "卸载 texlive-iwhdp 软件包"
|
||||
dnf remove -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "卸载 texlive-iwhdp 失败"
|
||||
LOG_INFO "texlive-iwhdp 软件包卸载成功"
|
||||
else
|
||||
LOG_INFO "测试前已安装 texlive-iwhdp,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:软件包安装时的依赖关系被正确满足"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,120 +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-25
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包从新版本降级到旧版本的功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试软件包从新版本降级到旧版本的功能"
|
||||
|
||||
# 检查是否已安装texlive-iwhdp软件包
|
||||
LOG_INFO "检查texlive-iwhdp软件包是否已安装"
|
||||
dnf list installed texlive-iwhdp > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-iwhdp已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED_FLAG=1
|
||||
else
|
||||
LOG_INFO "texlive-iwhdp未安装,将在测试过程中安装,并在脚本结束前卸载"
|
||||
INSTALLED_FLAG=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在texlive-iwhdp软件包
|
||||
LOG_INFO "检查yum源中是否存在texlive-iwhdp软件包"
|
||||
dnf list available texlive-iwhdp > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-iwhdp软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 获取当前可用的软件包版本信息
|
||||
LOG_INFO "获取texlive-iwhdp软件包可用版本"
|
||||
AVAILABLE_VERSIONS=$(dnf list available texlive-iwhdp | grep texlive-iwhdp | awk "{print $2}")
|
||||
if [ -z "$AVAILABLE_VERSIONS" ]; then
|
||||
LOG_ERROR "无法获取texlive-iwhdp的可用版本信息"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 提取版本号,假设有多个版本,选择最新的两个版本进行测试
|
||||
VERSIONS=($(echo "$AVAILABLE_VERSIONS" | sort -Vr))
|
||||
if [ ${#VERSIONS[@]} -lt 2 ]; then
|
||||
LOG_ERROR "可用版本少于2个,无法进行降级测试"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
NEW_VERSION=${VERSIONS[0]}
|
||||
OLD_VERSION=${VERSIONS[1]}
|
||||
|
||||
LOG_INFO "最新版本: $NEW_VERSION"
|
||||
LOG_INFO "旧版本: $OLD_VERSION"
|
||||
|
||||
# 如果未安装,先安装最新版本
|
||||
if [ $INSTALLED_FLAG -eq 0 ]; then
|
||||
LOG_INFO "安装最新版本: $NEW_VERSION"
|
||||
dnf install -y texlive-iwhdp-$NEW_VERSION
|
||||
CHECK_RESULT $? 0 0 "安装最新版本失败"
|
||||
fi
|
||||
|
||||
# 验证当前安装的版本
|
||||
LOG_INFO "验证当前安装的版本"
|
||||
CURRENT_VERSION=$(rpm -q texlive-iwhdp --qf "%{VERSION}-%{RELEASE}")
|
||||
CHECK_RESULT $? 0 0 "获取当前版本失败"
|
||||
LOG_INFO "当前安装版本: $CURRENT_VERSION"
|
||||
|
||||
# 执行降级操作
|
||||
LOG_INFO "执行降级操作到旧版本: $OLD_VERSION"
|
||||
dnf downgrade -y texlive-iwhdp-$OLD_VERSION
|
||||
CHECK_RESULT $? 0 0 "降级操作失败"
|
||||
|
||||
# 验证降级后的版本
|
||||
LOG_INFO "验证降级后的版本"
|
||||
AFTER_VERSION=$(rpm -q texlive-iwhdp --qf "%{VERSION}-%{RELEASE}")
|
||||
CHECK_RESULT $? 0 0 "获取降级后版本失败"
|
||||
LOG_INFO "降级后版本: $AFTER_VERSION"
|
||||
|
||||
# 检查降级是否成功
|
||||
if [ "$AFTER_VERSION" = "$OLD_VERSION" ]; then
|
||||
LOG_INFO "降级成功,当前版本为: $AFTER_VERSION"
|
||||
else
|
||||
LOG_ERROR "降级失败,当前版本为: $AFTER_VERSION,期望版本为: $OLD_VERSION"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 环境恢复
|
||||
LOG_INFO "开始环境恢复"
|
||||
if [ $INSTALLED_FLAG -eq 0 ]; then
|
||||
LOG_INFO "卸载测试安装的texlive-iwhdp软件包"
|
||||
dnf remove -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
else
|
||||
LOG_INFO "恢复原始安装版本: $CURRENT_VERSION"
|
||||
dnf install -y texlive-iwhdp-$CURRENT_VERSION
|
||||
CHECK_RESULT $? 0 0 "恢复原始版本失败"
|
||||
|
||||
FINAL_VERSION=$(rpm -q texlive-iwhdp --qf "%{VERSION}-%{RELEASE}")
|
||||
if [ "$FINAL_VERSION" = "$CURRENT_VERSION" ]; then
|
||||
LOG_INFO "环境恢复成功,当前版本为: $FINAL_VERSION"
|
||||
else
|
||||
LOG_ERROR "环境恢复失败,当前版本为: $FINAL_VERSION,期望版本为: $CURRENT_VERSION"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
LOG_INFO "测试软件包从新版本降级到旧版本的功能完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-25
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包的基本安装功能,验证安装后命令或文件是否存在
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 设置脚本错误立即退出
|
||||
set -e
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="texlive-iwhdp"
|
||||
|
||||
# 步骤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 list available "$PACKAGE_NAME" &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到 $PACKAGE_NAME 软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum源中找到 $PACKAGE_NAME 软件包"
|
||||
|
||||
# 步骤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: 验证安装后命令或文件是否存在"
|
||||
|
||||
# 检查tex命令是否存在(假设这是texlive-iwhdp提供的命令)
|
||||
if command -v tex &>/dev/null; then
|
||||
LOG_INFO "找到 tex 命令"
|
||||
else
|
||||
LOG_INFO "未找到 tex 命令,检查其他文件"
|
||||
|
||||
# 检查常见的texlive文件
|
||||
if [ -f /usr/share/texlive/texmf-dist/tex/latex/base/article.cls ]; then
|
||||
LOG_INFO "找到 texlive 文件: article.cls"
|
||||
elif [ -d /usr/share/texlive ]; then
|
||||
LOG_INFO "找到 texlive 目录"
|
||||
else
|
||||
LOG_ERROR "未找到 texlive 相关命令或文件"
|
||||
CHECK_RESULT 1 0 0 "安装后验证失败"
|
||||
fi
|
||||
fi
|
||||
|
||||
# 步骤5: 测试tex命令基本功能
|
||||
LOG_INFO "步骤5: 测试tex命令基本功能"
|
||||
if command -v tex &>/dev/null; then
|
||||
tex --version | head -1
|
||||
CHECK_RESULT $? 0 0 "tex命令执行失败"
|
||||
LOG_INFO "tex命令基本功能测试通过"
|
||||
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 "$@"
|
||||
@@ -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-02-25
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包的重新安装功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试软件包的重新安装功能"
|
||||
LOG_INFO "步骤1: 检查环境是否已安装texlive-iwhdp软件包"
|
||||
if dnf list installed texlive-iwhdp &>/dev/null; then
|
||||
LOG_INFO "环境已安装texlive-iwhdp软件包,脚本结束后将保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "环境未安装texlive-iwhdp软件包,将在测试步骤中安装"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
LOG_INFO "步骤2: 检查yum源中是否有texlive-iwhdp软件包"
|
||||
dnf list available texlive-iwhdp &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "yum源中没有texlive-iwhdp软件包"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在texlive-iwhdp软件包,退出测试"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "步骤3: 卸载已安装的texlive-iwhdp软件包(如果存在)"
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "环境未安装,无需卸载"
|
||||
else
|
||||
dnf remove -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-iwhdp软件包失败"
|
||||
fi
|
||||
LOG_INFO "步骤4: 安装texlive-iwhdp软件包"
|
||||
dnf install -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "安装texlive-iwhdp软件包失败"
|
||||
LOG_INFO "步骤5: 验证texlive-iwhdp软件包安装成功"
|
||||
dnf list installed texlive-iwhdp &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "texlive-iwhdp软件包未成功安装"
|
||||
LOG_INFO "步骤6: 重新安装texlive-iwhdp软件包"
|
||||
dnf reinstall -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "重新安装texlive-iwhdp软件包失败"
|
||||
LOG_INFO "步骤7: 验证重新安装后texlive-iwhdp软件包状态"
|
||||
dnf list installed texlive-iwhdp &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "重新安装后texlive-iwhdp软件包未正确安装"
|
||||
LOG_INFO "步骤8: 清理环境,恢复到之前的状态"
|
||||
if [ "$INSTALLED_BEFORE" = true ]; then
|
||||
LOG_INFO "环境最初已安装,保持安装状态"
|
||||
else
|
||||
LOG_INFO "环境最初未安装,卸载texlive-iwhdp软件包"
|
||||
dnf remove -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-iwhdp软件包失败"
|
||||
fi
|
||||
LOG_INFO "测试软件包的重新安装功能完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-25
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包的基本卸载功能,验证卸载后相关文件是否被清理
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试软件包的基本卸载功能,验证卸载后相关文件是否被清理"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="texlive-iwhdp"
|
||||
|
||||
# 检查环境是否已安装该软件包
|
||||
LOG_INFO "步骤1:检查环境是否已安装软件包 $PACKAGE_NAME"
|
||||
if dnf list installed "$PACKAGE_NAME" &>/dev/null; then
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 已安装,标记为保持安装状态"
|
||||
KEEP_INSTALLED=true
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 未安装"
|
||||
KEEP_INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在该软件包
|
||||
LOG_INFO "步骤2:检查yum源中是否存在软件包 $PACKAGE_NAME"
|
||||
if ! dnf list available "$PACKAGE_NAME" &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到软件包 $PACKAGE_NAME"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则执行安装作为测试步骤
|
||||
if [ "$KEEP_INSTALLED" = "false" ]; then
|
||||
LOG_INFO "步骤3:安装软件包 $PACKAGE_NAME"
|
||||
dnf install -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
|
||||
fi
|
||||
|
||||
# 验证安装后文件是否存在(示例:检查某个关键文件)
|
||||
LOG_INFO "步骤4:验证安装后相关文件是否存在"
|
||||
INSTALLED_FILE="/usr/share/texlive/texmf-dist/tex/latex/iwhdp/iwhdp.sty"
|
||||
if [ -f "$INSTALLED_FILE" ]; then
|
||||
LOG_INFO "安装后文件 $INSTALLED_FILE 存在"
|
||||
else
|
||||
LOG_ERROR "安装后文件 $INSTALLED_FILE 不存在,安装可能不完整"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 执行卸载操作
|
||||
LOG_INFO "步骤5:卸载软件包 $PACKAGE_NAME"
|
||||
dnf remove -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
|
||||
|
||||
# 验证卸载后文件是否被清理
|
||||
LOG_INFO "步骤6:验证卸载后相关文件是否被清理"
|
||||
if [ -f "$INSTALLED_FILE" ]; then
|
||||
LOG_ERROR "卸载后文件 $INSTALLED_FILE 仍然存在,卸载未清理干净"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "卸载后文件 $INSTALLED_FILE 已被清理"
|
||||
fi
|
||||
|
||||
# 环境恢复:如果测试前未安装,则最终状态应为未安装;如果测试前已安装,则重新安装
|
||||
LOG_INFO "步骤7:恢复测试环境"
|
||||
if [ "$KEEP_INSTALLED" = "true" ]; then
|
||||
LOG_INFO "测试前软件包已安装,重新安装以恢复环境"
|
||||
dnf install -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "恢复安装软件包 $PACKAGE_NAME 失败"
|
||||
else
|
||||
LOG_INFO "测试前软件包未安装,环境已恢复为未安装状态"
|
||||
# 确保软件包确实未安装
|
||||
if dnf list installed "$PACKAGE_NAME" &>/dev/null; then
|
||||
LOG_ERROR "环境恢复失败,软件包 $PACKAGE_NAME 仍被安装"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:软件包 $PACKAGE_NAME 的基本卸载功能验证通过"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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 : 2026-02-25
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包从旧版本升级到新版本的功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试软件包从旧版本升级到新版本的功能"
|
||||
|
||||
# 检查是否已安装texlive-iwhdp软件包
|
||||
LOG_INFO "步骤1:检查texlive-iwhdp软件包是否已安装"
|
||||
if dnf list installed texlive-iwhdp &>/dev/null; then
|
||||
LOG_INFO "texlive-iwhdp软件包已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "texlive-iwhdp软件包未安装,将在测试步骤中安装并在结束时卸载"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-iwhdp软件包
|
||||
LOG_INFO "步骤2:检查yum源中是否有texlive-iwhdp软件包"
|
||||
if ! dnf list available texlive-iwhdp &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-iwhdp软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有旧版本和新版本的texlive-iwhdp软件包
|
||||
LOG_INFO "步骤3:检查yum源中是否有旧版本和新版本的texlive-iwhdp软件包"
|
||||
OLD_VERSION=$(dnf list available texlive-iwhdp | awk "NR==2{print $2}")
|
||||
LOG_INFO "yum源中texlive-iwhdp的版本为:$OLD_VERSION"
|
||||
# 假设新版本可以通过指定版本号安装,这里需要根据实际情况调整
|
||||
# 例如:dnf list available texlive-iwhdp-1.0.1
|
||||
# 这里假设新版本为1.0.1,实际应根据yum源中的版本信息调整
|
||||
NEW_VERSION="1.0.1"
|
||||
if ! dnf list available texlive-iwhdp-$NEW_VERSION &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-iwhdp的新版本($NEW_VERSION)"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装旧版本
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "步骤4:安装texlive-iwhdp的旧版本($OLD_VERSION)"
|
||||
dnf install -y texlive-iwhdp-$OLD_VERSION
|
||||
CHECK_RESULT $? 0 0 "安装texlive-iwhdp旧版本失败"
|
||||
fi
|
||||
|
||||
# 升级到新版本
|
||||
LOG_INFO "步骤5:将texlive-iwhdp从旧版本升级到新版本($NEW_VERSION)"
|
||||
dnf upgrade -y texlive-iwhdp-$NEW_VERSION
|
||||
CHECK_RESULT $? 0 0 "升级texlive-iwhdp到新版本失败"
|
||||
|
||||
# 验证升级后的版本
|
||||
LOG_INFO "步骤6:验证升级后的版本"
|
||||
CURRENT_VERSION=$(rpm -q texlive-iwhdp | awk -F"-" "{print $2"-"$3}")
|
||||
if [ "$CURRENT_VERSION" = "$NEW_VERSION" ]; then
|
||||
LOG_INFO "升级成功,当前版本为:$CURRENT_VERSION"
|
||||
else
|
||||
LOG_ERROR "升级失败,当前版本为:$CURRENT_VERSION,期望版本为:$NEW_VERSION"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 环境恢复
|
||||
LOG_INFO "步骤7:恢复环境"
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "卸载texlive-iwhdp软件包"
|
||||
dnf remove -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-iwhdp失败"
|
||||
else
|
||||
LOG_INFO "保持texlive-iwhdp软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,190 +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-25
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包提供的核心命令或功能的基本使用,例如调用其工具处理文档
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义颜色输出函数(如果LOG_INFO/LOG_ERROR未定义)
|
||||
if ! command -v LOG_INFO &> /dev/null; then
|
||||
LOG_INFO() {
|
||||
echo -e "\033[32m[INFO]\033[0m $*"
|
||||
}
|
||||
fi
|
||||
|
||||
if ! command -v LOG_ERROR &> /dev/null; then
|
||||
LOG_ERROR() {
|
||||
echo -e "\033[31m[ERROR]\033[0m $*" >&2
|
||||
}
|
||||
fi
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
check_package_in_repo() {
|
||||
local pkg=$1
|
||||
LOG_INFO "检查yum源中是否存在软件包: $pkg"
|
||||
dnf list available "$pkg" &> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 $pkg 不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "软件包 $pkg 存在于yum源中"
|
||||
}
|
||||
|
||||
# 检查命令参数是否支持
|
||||
check_command_param() {
|
||||
local cmd=$1
|
||||
local param=$2
|
||||
LOG_INFO "检查命令 $cmd 是否支持参数: $param"
|
||||
$cmd --help 2>&1 | grep -q -- "$param"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "命令 $cmd 不支持参数 $param"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "命令 $cmd 支持参数 $param"
|
||||
}
|
||||
|
||||
# 主测试函数
|
||||
test_texlive_iwhdp_function_usage() {
|
||||
local pkg_name="texlive-iwhdp"
|
||||
local test_file="test_document.tex"
|
||||
local output_file="test_document.pdf"
|
||||
local need_cleanup=0
|
||||
|
||||
LOG_INFO "=== 开始测试 texlive-iwhdp 功能使用 ==="
|
||||
|
||||
# 步骤1:检查软件包是否已安装
|
||||
LOG_INFO "步骤1:检查 $pkg_name 是否已安装"
|
||||
if rpm -q "$pkg_name" &> /dev/null; then
|
||||
LOG_INFO "$pkg_name 已安装,测试结束后保持安装状态"
|
||||
need_cleanup=0
|
||||
else
|
||||
LOG_INFO "$pkg_name 未安装,将在测试后卸载"
|
||||
need_cleanup=1
|
||||
|
||||
# 步骤2:检查软件包是否在yum源中
|
||||
check_package_in_repo "$pkg_name"
|
||||
|
||||
# 步骤3:安装软件包
|
||||
LOG_INFO "步骤3:安装 $pkg_name"
|
||||
dnf install -y "$pkg_name"
|
||||
CHECK_RESULT $? 0 0 "安装 $pkg_name 失败"
|
||||
fi
|
||||
|
||||
# 步骤4:检查核心命令是否可用
|
||||
LOG_INFO "步骤4:检查核心命令是否可用"
|
||||
command -v pdflatex &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "pdflatex 命令未找到"
|
||||
|
||||
# 步骤5:检查命令参数是否支持
|
||||
check_command_param "pdflatex" "-interaction"
|
||||
|
||||
# 步骤6:创建测试LaTeX文档
|
||||
LOG_INFO "步骤6:创建测试LaTeX文档"
|
||||
cat > "$test_file" << "EOF"
|
||||
\documentclass{article}
|
||||
\begin{document}
|
||||
\title{Test Document}
|
||||
\author{Test Author}
|
||||
\maketitle
|
||||
\section{Introduction}
|
||||
This is a test document for texlive-iwhdp functionality testing.
|
||||
\section{Conclusion}
|
||||
Test completed successfully.
|
||||
\end{document}
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "创建测试文档失败"
|
||||
|
||||
# 步骤7:使用pdflatex处理文档
|
||||
LOG_INFO "步骤7:使用pdflatex处理LaTeX文档"
|
||||
pdflatex -interaction=nonstopmode "$test_file"
|
||||
CHECK_RESULT $? 0 0 "pdflatex处理文档失败"
|
||||
|
||||
# 步骤8:验证输出文件
|
||||
LOG_INFO "步骤8:验证生成的PDF文件"
|
||||
if [ -f "$output_file" ]; then
|
||||
LOG_INFO "PDF文件生成成功: $output_file"
|
||||
file "$output_file" | grep -q "PDF document"
|
||||
CHECK_RESULT $? 0 0 "生成的不是有效的PDF文件"
|
||||
else
|
||||
LOG_ERROR "PDF文件未生成"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 步骤9:测试其他相关命令
|
||||
LOG_INFO "步骤9:测试其他相关命令"
|
||||
command -v latex &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "latex命令未找到"
|
||||
|
||||
command -v bibtex &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "bibtex命令未找到"
|
||||
|
||||
# 步骤10:清理测试文件
|
||||
LOG_INFO "步骤10:清理测试生成的文件"
|
||||
rm -f "$test_file" "$output_file" *.aux *.log *.out *.toc 2>/dev/null
|
||||
CHECK_RESULT $? 0 0 "清理测试文件失败"
|
||||
|
||||
LOG_INFO "所有功能测试完成"
|
||||
}
|
||||
|
||||
# 环境恢复函数
|
||||
cleanup_environment() {
|
||||
LOG_INFO "=== 环境恢复 ==="
|
||||
|
||||
# 如果测试前未安装,则卸载软件包
|
||||
if [ "$need_cleanup" -eq 1 ]; then
|
||||
LOG_INFO "卸载测试安装的软件包"
|
||||
dnf remove -y "$pkg_name"
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "软件包卸载成功"
|
||||
else
|
||||
LOG_ERROR "软件包卸载失败"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
LOG_INFO "保持软件包安装状态"
|
||||
fi
|
||||
|
||||
# 清理可能残留的测试文件
|
||||
rm -f test_document.* *.aux *.log *.out *.toc 2>/dev/null
|
||||
|
||||
LOG_INFO "环境恢复完成"
|
||||
}
|
||||
|
||||
# 异常处理
|
||||
handle_error() {
|
||||
LOG_ERROR "测试过程中发生错误"
|
||||
cleanup_environment
|
||||
exit 1
|
||||
}
|
||||
|
||||
# 设置异常捕获
|
||||
trap handle_error ERR
|
||||
|
||||
# 执行测试
|
||||
main() {
|
||||
test_texlive_iwhdp_function_usage
|
||||
cleanup_environment
|
||||
LOG_INFO "=== 测试脚本执行完成 ==="
|
||||
exit 0
|
||||
}
|
||||
|
||||
# 执行主函数
|
||||
main
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-07-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试texlive-iwhdp软件包的安装功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查texlive-iwhdp软件包是否已安装
|
||||
LOG_INFO "检查texlive-iwhdp软件包是否已安装"
|
||||
rpm -q texlive-iwhdp > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-iwhdp软件包已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "texlive-iwhdp软件包未安装,脚本结束后将卸载软件包"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在texlive-iwhdp软件包
|
||||
LOG_INFO "检查yum源中是否存在texlive-iwhdp软件包"
|
||||
dnf list available texlive-iwhdp > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中不存在texlive-iwhdp软件包"
|
||||
|
||||
# 安装texlive-iwhdp软件包
|
||||
LOG_INFO "安装texlive-iwhdp软件包"
|
||||
dnf install -y texlive-iwhdp > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装texlive-iwhdp软件包失败"
|
||||
|
||||
# 验证texlive-iwhdp命令是否可用(假设命令为texlive)
|
||||
LOG_INFO "验证texlive命令是否可用"
|
||||
texlive --version > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "texlive命令不存在或不支持"
|
||||
|
||||
# 环境恢复:如果脚本开始时未安装texlive-iwhdp,则卸载
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载texlive-iwhdp软件包"
|
||||
dnf remove -y texlive-iwhdp > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-iwhdp软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完成"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-07-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试texlive-iwhdp软件包的升级回滚功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已经安装texlive-iwhdp软件包
|
||||
LOG_INFO "检查是否已安装texlive-iwhdp软件包"
|
||||
rpm -q texlive-iwhdp > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-iwhdp已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "texlive-iwhdp未安装,脚本结束前将卸载"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-iwhdp软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-iwhdp软件包"
|
||||
dnf list available texlive-iwhdp > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-iwhdp软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装texlive-iwhdp软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "开始安装texlive-iwhdp软件包"
|
||||
dnf install -y texlive-iwhdp > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装texlive-iwhdp软件包失败"
|
||||
fi
|
||||
|
||||
# 检查升级回滚功能参数支持情况
|
||||
LOG_INFO "检查升级回滚功能参数支持情况"
|
||||
texlive-iwhdp --help | grep -q "\-\-rollback" > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "升级回滚功能参数不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行升级回滚功能测试
|
||||
LOG_INFO "执行升级回滚功能测试"
|
||||
texlive-iwhdp --rollback > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "升级回滚功能测试失败"
|
||||
|
||||
# 清理环境,恢复到之前的状态
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载texlive-iwhdp软件包"
|
||||
dnf remove -y texlive-iwhdp > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-iwhdp软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-07-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试texlive-iwhdp软件包提供的服务的配置功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查texlive-iwhdp软件包是否已安装
|
||||
LOG_INFO "检查texlive-iwhdp软件包是否已安装"
|
||||
rpm -q texlive-iwhdp
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-iwhdp软件包已安装"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "texlive-iwhdp软件包未安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在texlive-iwhdp软件包
|
||||
LOG_INFO "检查yum源中是否存在texlive-iwhdp软件包"
|
||||
dnf list available texlive-iwhdp
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在texlive-iwhdp软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装texlive-iwhdp软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "开始安装texlive-iwhdp软件包"
|
||||
dnf install -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "安装texlive-iwhdp软件包失败"
|
||||
fi
|
||||
|
||||
# 测试服务配置功能
|
||||
LOG_INFO "测试texlive-iwhdp服务配置功能"
|
||||
systemctl status texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "获取texlive-iwhdp服务状态失败"
|
||||
|
||||
# 如果脚本开始时未安装,则在结束时卸载软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载texlive-iwhdp软件包"
|
||||
dnf remove -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-iwhdp软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-07-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试texlive-iwhdp软件包提供的服务的日志查看功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试texlive-iwhdp软件包提供的服务的日志查看功能
|
||||
|
||||
LOG_INFO "开始测试texlive-iwhdp软件包提供的服务的日志查看功能"
|
||||
|
||||
# 检查是否已安装texlive-iwhdp软件包
|
||||
LOG_INFO "检查texlive-iwhdp软件包是否已安装"
|
||||
if ! dnf list installed texlive-iwhdp &>/dev/null; then
|
||||
LOG_INFO "texlive-iwhdp未安装,将进行安装"
|
||||
# 检查yum源中是否有texlive-iwhdp软件包
|
||||
if ! dnf list available texlive-iwhdp &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-iwhdp软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装texlive-iwhdp软件包
|
||||
dnf install -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "安装texlive-iwhdp软件包失败"
|
||||
# 标记为需要卸载
|
||||
UNINSTALL_NEEDED=1
|
||||
else
|
||||
LOG_INFO "texlive-iwhdp已安装"
|
||||
UNINSTALL_NEEDED=0
|
||||
fi
|
||||
|
||||
# 检查服务日志查看功能
|
||||
LOG_INFO "测试服务日志查看功能"
|
||||
# 假设服务日志查看命令为texlog,参数为--view
|
||||
if ! texlog --view &>/dev/null; then
|
||||
LOG_ERROR "texlog --view命令执行失败或参数不支持"
|
||||
exit 255
|
||||
fi
|
||||
CHECK_RESULT $? 0 0 "服务日志查看功能测试失败"
|
||||
|
||||
# 清理环境:如果之前未安装则卸载
|
||||
if [ "$UNINSTALL_NEEDED" -eq 1 ]; then
|
||||
LOG_INFO "卸载texlive-iwhdp软件包"
|
||||
dnf remove -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-iwhdp软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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 : 2025-07-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试texlive-iwhdp软件包提供的服务的重载配置功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试texlive-iwhdp软件包提供的服务的重载配置功能
|
||||
|
||||
LOG_INFO "开始测试texlive-iwhdp软件包的服务重载配置功能"
|
||||
|
||||
# 检查是否已安装texlive-iwhdp软件包
|
||||
LOG_INFO "检查texlive-iwhdp软件包是否已安装"
|
||||
dnf list installed texlive-iwhdp > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-iwhdp软件包已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "texlive-iwhdp软件包未安装,将在测试步骤中安装并在脚本结束前卸载"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-iwhdp软件包
|
||||
LOG_INFO "检查yum源中是否存在texlive-iwhdp软件包"
|
||||
dnf list available texlive-iwhdp > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在texlive-iwhdp软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "开始安装texlive-iwhdp软件包"
|
||||
dnf install -y texlive-iwhdp > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装texlive-iwhdp软件包失败"
|
||||
fi
|
||||
|
||||
# 检查服务是否存在并获取服务名
|
||||
LOG_INFO "检查texlive-iwhdp服务是否存在"
|
||||
SERVICE_NAME=$(systemctl list-unit-files | grep texlive-iwhdp | awk "{print $1}")
|
||||
if [ -z "$SERVICE_NAME" ]; then
|
||||
LOG_ERROR "未找到texlive-iwhdp服务"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查服务是否支持reload操作
|
||||
LOG_INFO "检查服务是否支持reload操作"
|
||||
systemctl show "$SERVICE_NAME" | grep ExecReload > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "服务不支持reload操作"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 启动服务(如果未运行)
|
||||
LOG_INFO "确保服务已启动"
|
||||
systemctl is-active "$SERVICE_NAME" > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
systemctl start "$SERVICE_NAME" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "启动服务失败"
|
||||
fi
|
||||
|
||||
# reload服务配置
|
||||
LOG_INFO "重载服务配置"
|
||||
systemctl reload "$SERVICE_NAME" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "重载服务配置失败"
|
||||
|
||||
# cleanup: restore environment to original state
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载之前安装的texlive-iwhdp软件包"
|
||||
dnf remove -y texlive-iwhdp > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 “卸载texlike-iwdhp失败”
|
||||
fi
|
||||
|
||||
LOG_INFO “测试完成”
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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 : 2025-07-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试texlive-iwhdp软件包提供的服务的重启功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装texlive-iwhdp软件包
|
||||
LOG_INFO "检查是否已安装texlive-iwhdp软件包"
|
||||
rpm -q texlive-iwhdp > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-iwhdp软件包已安装"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "texlive-iwhdp软件包未安装"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在texlive-iwhdp软件包
|
||||
LOG_INFO "检查yum源中是否存在texlive-iwhdp软件包"
|
||||
dnf list available texlive-iwhdp > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在texlive-iwhdp软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装texlive-iwhdp软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "开始安装texlive-iwhdp软件包"
|
||||
dnf install -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "安装texlive-iwhdp软件包失败"
|
||||
LOG_INFO "texlive-iwhdp软件包安装成功"
|
||||
fi
|
||||
|
||||
# 检查服务是否存在
|
||||
LOG_INFO "检查texlive-iwhdp服务是否存在"
|
||||
systemctl list-unit-files | grep texlive-iwhdp > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "texlive-iwhdp服务不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 重启服务并检查状态
|
||||
LOG_INFO "重启texlive-iwhdp服务"
|
||||
systemctl restart texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "重启texlive-iwhdp服务失败"
|
||||
LOG_INFO "texlive-iwhdp服务重启成功"
|
||||
|
||||
LOG_INFO "检查texlive-iwhdp服务状态"
|
||||
systemctl status texlive-iwhdp | grep "active (running)" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "texlive-iwhdp服务未正常运行"
|
||||
|
||||
# 如果最初未安装,则卸载texlive-iwhdp软件包以恢复环境
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载texlive-iwhdp软件包以恢复环境"
|
||||
dnf remove -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-iwhdppkg软件包失败"
|
||||
LOG_INFO "texlivedpkg-iw软件包卸载成功"
|
||||
fi
|
||||
|
||||
LOG_INFO测试脚本执行完毕,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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 : 2025-07-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试texlive-iwhdp软件包提供的服务的启动功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试texlive-iwhdp软件包提供的服务的启动功能
|
||||
|
||||
LOG_INFO "开始测试texlive-iwhdp软件包提供的服务的启动功能"
|
||||
|
||||
# 检查是否已安装texlive-iwhdp软件包
|
||||
LOG_INFO "检查texlive-iwhdp软件包是否已安装"
|
||||
dnf list installed texlive-iwhdp > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-iwhdp软件包已安装,测试完成后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-iwhdp软件包未安装,将在测试完成后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-iwhdp软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-iwhdp软件包"
|
||||
dnf list available texlive-iwhdp > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-iwhdp软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装texlive-iwhdp软件包"
|
||||
dnf install -y texlive-iwhdp > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装texlive-iwhdp软件包失败"
|
||||
fi
|
||||
|
||||
# 检查服务是否存在
|
||||
LOG_INFO "检查texlive-iwhdp服务是否存在"
|
||||
systemctl list-unit-files | grep texlive-iwhdp.service > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "texlive-iwhdp服务不存在"
|
||||
|
||||
# 启动服务并检查状态
|
||||
LOG_INFO "启动texlive-iwhdp服务"
|
||||
systemctl start texlive-iwhdp.service > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "启动texlive-iwhdp服务失败"
|
||||
|
||||
LOG_INFO "检查texlive-iwhdp服务状态"
|
||||
systemctl status texlive-iwhdp.service > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "texlive-iwhdp服务未正常运行"
|
||||
|
||||
# 停止服务
|
||||
LOG_INFO "停止texlive-iwhdp服务"
|
||||
systemctl stop texlive-iwhdp.service > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "停止texlive-iwhdp服务失败"
|
||||
|
||||
# 恢复环境:如果测试前未安装,则卸载软件包;否则保持安装状态
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载texlive-iwhdp软件包以恢复环境"
|
||||
dnf remove -y texlive-iwhdp > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-iwhdp软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-07-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试texlive-iwhdp软件包提供的服务的状态查询功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试texlive-iwhdp软件包提供的服务的状态查询功能
|
||||
|
||||
# 检查是否已经安装texlive-iwhdp软件包
|
||||
LOG_INFO "检查是否已安装texlive-iwhdp软件包"
|
||||
if rpm -q texlive-iwhdp &> /dev/null; then
|
||||
LOG_INFO "texlive-iwhdp已安装"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "texlive-iwhdp未安装"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-iwhdp软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-iwhdp软件包"
|
||||
if ! dnf list available texlive-iwhdp &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-iwhdp软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装texlive-iwhdp软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "开始安装texlive-iwhdp软件包"
|
||||
dnf install -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "安装texlive-iwhdp失败"
|
||||
LOG_INFO "texlive-iwhdp安装成功"
|
||||
fi
|
||||
|
||||
# 测试服务状态查询功能
|
||||
LOG_INFO "测试texlive-iwhdp服务状态查询功能"
|
||||
systemctl status texlive-iwhdp &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "查询texlive-iwhdp服务状态失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载texlive-iwhdp软件包"
|
||||
dnf remove -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-iwhdp失败"
|
||||
LOG_INFO "texlive-iwhdp卸载成功"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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 : 2025-07-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试texlive-iwhdp软件包提供的服务的停止功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查texlive-iwhdp软件包是否已安装
|
||||
LOG_INFO "检查texlive-iwhdp软件包是否已安装"
|
||||
rpm -q texlive-iwhdp > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-iwhdp软件包已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-iwhdp软件包未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-iwhdp软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-iwhdp软件包"
|
||||
dnf list available texlive-iwhdp > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-iwhdp软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装texlive-iwhdp软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装texlive-iwhdp软件包"
|
||||
dnf install -y texlive-iwhdp > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装texlive-iwhdp软件包失败"
|
||||
fi
|
||||
|
||||
# 检查服务是否存在
|
||||
LOG_INFO "检查texlive-iwhdp服务是否存在"
|
||||
systemctl list-unit-files | grep texlive-iwhdp.service > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "texlive-iwhdp服务不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 停止texlive-iwhdp服务
|
||||
LOG_INFO "停止texlive-iwhdp服务"
|
||||
systemctl stop texlive-iwhdp.service
|
||||
CHECK_RESULT $? 0 0 "停止texlive-iwhdp服务失败"
|
||||
|
||||
# 检查服务状态是否为inactive
|
||||
LOG_INFO "检查texlive-iwhdp服务状态是否为inactive"
|
||||
systemctl is-active texlive-iwhdp.service | grep -q "inactive"
|
||||
CHECK_RESULT $? 0 0 "texlive-iwhdp服务未成功停止"
|
||||
|
||||
# 恢复环境:如果脚本开始时未安装texlive-iwhdp,则卸载
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载texlive-iwhdp软件包以恢复环境"
|
||||
dnf remove -y texlive-iwhdp > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-iwhdp软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试texlive-iwhdp软件包的卸载功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查texlive-iwhdp软件包是否已安装
|
||||
LOG_INFO "检查texlive-iwhdp软件包是否已安装"
|
||||
rpm -q texlive-iwhdp > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-iwhdp软件包已安装,脚本结束时保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-iwhdp软件包未安装,将在测试后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在texlive-iwhdp软件包
|
||||
LOG_INFO "检查yum源中是否存在texlive-iwhdp软件包"
|
||||
dnf list available texlive-iwhdp > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中不存在texlive-iwhdp软件包"
|
||||
|
||||
# 安装texlive-iwhdp软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装texlive-iwhdp软件包"
|
||||
dnf install -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 1 "安装texlive-iwhdp软件包失败"
|
||||
fi
|
||||
|
||||
# 测试卸载功能
|
||||
LOG_INFO "测试texlive-iwhdp软件包的卸载功能"
|
||||
dnf remove -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 1 "卸载texlive-iwhdp软件包失败"
|
||||
|
||||
# 如果之前未安装,则重新安装以恢复环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "恢复环境,重新安装texlive-iwhdp软件包"
|
||||
dnf install -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 1 "重新安装texlive-iwhdp软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-07-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试texlive-iwhdp软件包的升级功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已经安装texlive-iwhdp软件包
|
||||
LOG_INFO "检查是否已经安装texlive-iwhdp软件包"
|
||||
rpm -q texlive-iwhdp
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-iwhdp软件包已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-iwhdp软件包未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在texlive-iwhdp软件包
|
||||
LOG_INFO "检查yum源中是否存在texlive-iwhdp软件包"
|
||||
dnf list available texlive-iwhdp
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在texlive-iwhdp软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装texlive-iwhdp软件包
|
||||
LOG_INFO "开始安装texlive-iwhdp软件包"
|
||||
dnf install -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "安装texlive-iwhdp软件包失败"
|
||||
|
||||
# 测试升级功能
|
||||
LOG_INFO "测试texlive-iwhdp软件包的升级功能"
|
||||
dnf upgrade -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "升级texlive-iwhdp软件包失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载texlive-iwhdp软件包"
|
||||
dnf remove -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-iwhdp软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
Reference in New Issue
Block a user