update testcase for testsuite texlive-msc
This commit is contained in:
@@ -1,30 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-p/texlive-msc",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-msc_function_basic",
|
||||
"desc": "Basic functionality test"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-msc_function_install",
|
||||
"desc": "Test installation of texlive-msc package"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-msc_function_uninstall",
|
||||
"desc": "Test removal of texlive-msc package"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-msc_function_check_inst",
|
||||
"desc": "Check if texlive-msc is installed"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-msc_function_basic_usage",
|
||||
"desc": "Test basic msc macro usage in LaTeX"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-msc_function_compile",
|
||||
"desc": "Test compiling a LaTeX doc with msc"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,70 +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-11-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Basic functionality test
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装texlive-msc软件包
|
||||
LOG_INFO "检查texlive-msc是否已安装"
|
||||
rpm -q texlive-msc > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-msc已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-msc未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在texlive-msc软件包
|
||||
LOG_INFO "检查yum源中是否存在texlive-msc软件包"
|
||||
dnf list available texlive-msc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中不存在texlive-msc软件包"
|
||||
|
||||
# 安装texlive-msc软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装texlive-msc软件包"
|
||||
dnf install -y texlive-msc
|
||||
CHECK_RESULT $? 0 0 "安装texlive-msc失败"
|
||||
fi
|
||||
|
||||
# 测试基本功能
|
||||
LOG_INFO "测试texlive-msc基本功能"
|
||||
command_to_test="some_texlive_msc_command --valid-arg" # 替换为实际命令
|
||||
$command_to_test > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "texlive-msc基本功能测试失败"
|
||||
|
||||
# 测试不支持参数的情况
|
||||
LOG_INFO "测试不支持参数的情况"
|
||||
command_to_test="some_texlive_msc_command --invalid-arg" # 替换为实际命令和无效参数
|
||||
$command_to_test > /dev/null 2>&1
|
||||
CHECK_RESULT $? !0 255 "不支持的参数未触发失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载texlive-msc软件包"
|
||||
dnf remove -y texlive-msc
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-msc失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "Basic functionality test完成"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,98 +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-23
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic msc macro usage in LaTeX
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:测试LaTeX中msc宏的基本用法"
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
LOG_INFO "步骤1:检查texlive-msc软件包是否在yum源中"
|
||||
dnf list available texlive-msc &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "texlive-msc软件包不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装
|
||||
LOG_INFO "步骤2:检查texlive-msc是否已安装"
|
||||
rpm -q texlive-msc &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-msc已安装,测试结束后保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "texlive-msc未安装,将安装作为测试步骤"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤3:安装texlive-msc软件包"
|
||||
dnf install -y texlive-msc
|
||||
CHECK_RESULT $? 0 0 "安装texlive-msc失败"
|
||||
fi
|
||||
|
||||
# 测试msc宏的基本用法
|
||||
LOG_INFO "步骤4:测试msc宏的基本用法"
|
||||
cat > test_msc.tex << "EOF"
|
||||
\documentclass{article}
|
||||
\usepackage{msc}
|
||||
\begin{document}
|
||||
\begin{msc}{Test Diagram}
|
||||
\declinst{A}{}{A}
|
||||
\declinst{B}{}{B}
|
||||
\nextlevel
|
||||
\mess{Hello}{A}{B}
|
||||
\nextlevel
|
||||
\mess{Hi}{B}{A}
|
||||
\end{msc}
|
||||
\end{document}
|
||||
EOF
|
||||
|
||||
# 编译LaTeX文档
|
||||
LOG_INFO "步骤5:编译LaTeX文档"
|
||||
pdflatex -interaction=nonstopmode test_msc.tex
|
||||
CHECK_RESULT $? 0 0 "编译LaTeX文档失败"
|
||||
|
||||
# 检查生成的PDF文件
|
||||
LOG_INFO "步骤6:检查生成的PDF文件"
|
||||
if [ -f test_msc.pdf ]; then
|
||||
LOG_INFO "成功生成PDF文件"
|
||||
file test_msc.pdf | grep -q "PDF document"
|
||||
CHECK_RESULT $? 0 0 "生成的PDF文件格式不正确"
|
||||
else
|
||||
LOG_ERROR "未生成PDF文件"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "步骤7:清理测试文件"
|
||||
rm -f test_msc.tex test_msc.pdf test_msc.aux test_msc.log test_msc.out
|
||||
|
||||
# 如果测试前未安装,则卸载软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤8:卸载texlive-msc软件包"
|
||||
dnf remove -y texlive-msc
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-msc失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:LaTeX中msc宏的基本用法测试通过"
|
||||
}
|
||||
|
||||
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-23
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Check if texlive-msc is installed
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:检查texlive-msc是否已安装"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="texlive-msc"
|
||||
|
||||
# 步骤1:检查yum源中是否存在texlive-msc软件包
|
||||
LOG_INFO "步骤1:检查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}软件包"
|
||||
|
||||
# 步骤2:检查当前是否已安装texlive-msc
|
||||
LOG_INFO "步骤2:检查当前是否已安装${PACKAGE_NAME}"
|
||||
if rpm -q "${PACKAGE_NAME}" &> /dev/null; then
|
||||
LOG_INFO "${PACKAGE_NAME}已安装,标记为已安装状态"
|
||||
ALREADY_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "${PACKAGE_NAME}未安装,标记为未安装状态"
|
||||
ALREADY_INSTALLED=0
|
||||
fi
|
||||
|
||||
# 步骤3:如果未安装,则安装texlive-msc
|
||||
if [ ${ALREADY_INSTALLED} -eq 0 ]; then
|
||||
LOG_INFO "步骤3:安装${PACKAGE_NAME}"
|
||||
dnf install -y "${PACKAGE_NAME}"
|
||||
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}失败"
|
||||
LOG_INFO "${PACKAGE_NAME}安装成功"
|
||||
fi
|
||||
|
||||
# 步骤4:验证texlive-msc是否安装成功
|
||||
LOG_INFO "步骤4:验证${PACKAGE_NAME}是否安装成功"
|
||||
rpm -q "${PACKAGE_NAME}"
|
||||
CHECK_RESULT $? 0 0 "${PACKAGE_NAME}安装验证失败"
|
||||
|
||||
# 步骤5:检查texlive-msc相关命令是否存在并可用
|
||||
LOG_INFO "步骤5:检查texlive-msc相关命令是否存在并可用"
|
||||
# 这里假设texlive-msc安装后会提供"msc"命令,实际命令可能不同,请根据实际情况调整
|
||||
COMMAND="msc"
|
||||
if ! command -v "${COMMAND}" &> /dev/null; then
|
||||
LOG_ERROR "命令${COMMAND}不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "命令${COMMAND}存在并可用"
|
||||
|
||||
# 步骤6:执行简单的命令测试(示例:显示版本信息)
|
||||
LOG_INFO "步骤6:执行${COMMAND}命令测试"
|
||||
if ${COMMAND} --version &> /dev/null; then
|
||||
LOG_INFO "${COMMAND}命令测试成功"
|
||||
else
|
||||
LOG_ERROR "${COMMAND}命令测试失败"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 步骤7:环境恢复
|
||||
LOG_INFO "步骤7:环境恢复"
|
||||
if [ ${ALREADY_INSTALLED} -eq 0 ]; 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 "测试完成:texlive-msc安装与功能检查通过"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,123 +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-23
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test compiling a LaTeX doc with msc
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已经安装了msc宏包
|
||||
LOG_INFO "检查msc宏包是否已安装"
|
||||
if rpm -q texlive-msc > /dev/null 2>&1; then
|
||||
LOG_INFO "msc宏包已安装"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "msc宏包未安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-msc软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-msc软件包"
|
||||
dnf list texlive-msc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "yum源中没有texlive-msc软件包"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中没有texlive-msc软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装msc宏包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装msc宏包"
|
||||
dnf install -y texlive-msc
|
||||
CHECK_RESULT $? 0 0 "安装msc宏包失败"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "安装msc宏包失败"
|
||||
exit 1
|
||||
fi
|
||||
LOG_INFO "msc宏包安装成功"
|
||||
else
|
||||
LOG_INFO "msc宏包已安装,跳过安装步骤"
|
||||
fi
|
||||
|
||||
# 创建测试用的LaTeX文档
|
||||
LOG_INFO "创建测试用的LaTeX文档"
|
||||
cat > test_msc.tex << "EOF"
|
||||
\documentclass{article}
|
||||
\usepackage{msc}
|
||||
\begin{document}
|
||||
\begin{msc}{Test MSC}
|
||||
\declinst{a}{}{A}
|
||||
\declinst{b}{}{B}
|
||||
\nextlevel
|
||||
\mess{Hello}{a}{b}
|
||||
\nextlevel
|
||||
\mess{World}{b}{a}
|
||||
\end{msc}
|
||||
\end{document}
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "创建测试LaTeX文档失败"
|
||||
|
||||
# 编译LaTeX文档
|
||||
LOG_INFO "开始编译LaTeX文档"
|
||||
pdflatex -interaction=nonstopmode test_msc.tex > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "编译LaTeX文档失败"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "编译LaTeX文档失败"
|
||||
# 清理测试文件
|
||||
rm -f test_msc.tex test_msc.aux test_msc.log test_msc.pdf
|
||||
# 如果之前未安装,则卸载msc宏包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载msc宏包"
|
||||
dnf remove -y texlive-msc
|
||||
CHECK_RESULT $? 0 0 "卸载msc宏包失败"
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
LOG_INFO "LaTeX文档编译成功"
|
||||
|
||||
# 检查生成的PDF文件是否存在
|
||||
LOG_INFO "检查生成的PDF文件"
|
||||
if [ -f test_msc.pdf ]; then
|
||||
LOG_INFO "PDF文件生成成功"
|
||||
else
|
||||
LOG_ERROR "PDF文件未生成"
|
||||
CHECK_RESULT 1 0 0 "PDF文件未生成"
|
||||
fi
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f test_msc.tex test_msc.aux test_msc.log test_msc.pdf
|
||||
CHECK_RESULT $? 0 0 "清理测试文件失败"
|
||||
|
||||
# 如果之前未安装,则卸载msc宏包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载msc宏包"
|
||||
dnf remove -y texlive-msc
|
||||
CHECK_RESULT $? 0 0 "卸载msc宏包失败"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "卸载msc宏包失败"
|
||||
exit 1
|
||||
fi
|
||||
LOG_INFO "msc宏包卸载成功"
|
||||
else
|
||||
LOG_INFO "保持msc宏包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,77 +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-23
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test installation of texlive-msc package
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试:Test installation of texlive-msc package"
|
||||
|
||||
LOG_INFO "步骤1:检查系统中是否已安装texlive-msc软件包"
|
||||
if rpm -q texlive-msc &> /dev/null; then
|
||||
LOG_INFO "系统中已安装texlive-msc软件包,测试将保持此状态。"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "系统中未安装texlive-msc软件包,将进行安装测试。"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查yum源中是否存在texlive-msc软件包"
|
||||
if ! dnf list available texlive-msc &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-msc软件包。"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum源中存在texlive-msc软件包。"
|
||||
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤3:安装texlive-msc软件包"
|
||||
dnf install -y texlive-msc
|
||||
CHECK_RESULT $? 0 0 "安装texlive-msc软件包失败"
|
||||
LOG_INFO "texlive-msc软件包安装成功。"
|
||||
|
||||
LOG_INFO "步骤4:验证texlive-msc软件包基本功能"
|
||||
LOG_INFO "检查msc命令是否可用"
|
||||
command -v msc
|
||||
CHECK_RESULT $? 0 0 "msc命令未找到或不可用"
|
||||
|
||||
LOG_INFO "步骤5:测试msc命令的--help参数"
|
||||
msc --help &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "msc命令不支持--help参数或执行失败"
|
||||
|
||||
LOG_INFO "步骤6:清理环境 - 卸载测试安装的texlive-msc软件包"
|
||||
dnf remove -y texlive-msc
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-msc软件包失败"
|
||||
LOG_INFO "texlive-msc软件包卸载成功。"
|
||||
else
|
||||
LOG_INFO "环境已安装texlive-msc,跳过安装和卸载步骤。"
|
||||
LOG_INFO "步骤3:验证已安装的texlive-msc软件包基本功能"
|
||||
LOG_INFO "检查msc命令是否可用"
|
||||
command -v msc
|
||||
CHECK_RESULT $? 0 0 "msc命令未找到或不可用"
|
||||
|
||||
LOG_INFO "步骤4:测试msc命令的--help参数"
|
||||
msc --help &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "msc命令不支持--help参数或执行失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test installation of texlive-msc package"
|
||||
}
|
||||
|
||||
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 : 2026-02-23
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test removal of texlive-msc package
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试texlive-msc软件包卸载功能
|
||||
|
||||
PACKAGE_NAME="texlive-msc"
|
||||
LOG_INFO "开始测试: 移除${PACKAGE_NAME}软件包"
|
||||
|
||||
# 步骤1: 检查yum源中是否存在texlive-msc软件包
|
||||
LOG_INFO "步骤1: 检查yum源中是否存在${PACKAGE_NAME}软件包"
|
||||
dnf list available ${PACKAGE_NAME} > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在${PACKAGE_NAME}软件包"
|
||||
exit 255
|
||||
fi
|
||||
CHECK_RESULT $? 0 0 "yum源中不存在${PACKAGE_NAME}软件包"
|
||||
|
||||
# 步骤2: 检查当前是否已安装texlive-msc软件包
|
||||
LOG_INFO "步骤2: 检查当前是否已安装${PACKAGE_NAME}软件包"
|
||||
rpm -q ${PACKAGE_NAME} > /dev/null 2>&1
|
||||
INSTALLED=$?
|
||||
|
||||
# 步骤3: 如果未安装,则安装软件包
|
||||
if [ ${INSTALLED} -ne 0 ]; then
|
||||
LOG_INFO "步骤3: 安装${PACKAGE_NAME}软件包"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}软件包失败"
|
||||
fi
|
||||
|
||||
# 步骤4: 验证软件包安装成功
|
||||
LOG_INFO "步骤4: 验证${PACKAGE_NAME}软件包已安装"
|
||||
rpm -q ${PACKAGE_NAME} > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "${PACKAGE_NAME}软件包未正确安装"
|
||||
|
||||
# 步骤5: 卸载texlive-msc软件包
|
||||
LOG_INFO "步骤5: 卸载${PACKAGE_NAME}软件包"
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}软件包失败"
|
||||
|
||||
# 步骤6: 验证软件包已卸载
|
||||
LOG_INFO "步骤6: 验证${PACKAGE_NAME}软件包已卸载"
|
||||
rpm -q ${PACKAGE_NAME} > /dev/null 2>&1
|
||||
CHECK_RESULT $? 1 0 "${PACKAGE_NAME}软件包未正确卸载"
|
||||
|
||||
# 步骤7: 如果最初未安装,则重新安装以恢复环境
|
||||
if [ ${INSTALLED} -ne 0 ]; then
|
||||
LOG_INFO "步骤7: 恢复环境,重新安装${PACKAGE_NAME}软件包"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "重新安装${PACKAGE_NAME}软件包失败"
|
||||
|
||||
LOG_INFO "步骤8: 验证环境已恢复"
|
||||
rpm -q ${PACKAGE_NAME} > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "环境恢复失败,${PACKAGE_NAME}软件包未正确安装"
|
||||
else
|
||||
LOG_INFO "步骤7: 恢复环境,重新安装${PACKAGE_NAME}软件包"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "重新安装${PACKAGE_NAME}软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成: ${PACKAGE_NAME}软件包卸载功能测试通过"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
Reference in New Issue
Block a user