This commit is contained in:
2026-04-18 14:07:45 +08:00
31 changed files with 0 additions and 2028 deletions

View File

@@ -6,25 +6,9 @@
"name": "test_libndp-help_function_show_help",
"desc": "测试ndptool命令显示帮助信息"
},
{
"name": "test_libndp-help_function_pkg_installed",
"desc": "测试libndp-help软件包是否已正确安装"
},
{
"name": "test_libndp-help_function_show_man",
"desc": "测试ndptool命令的man手册页"
},
{
"name": "test_libndp-help_function_ndptool_help",
"desc": "测试ndptool命令的-h或--help选项"
},
{
"name": "test_libndp-help_function_ndptool_vers",
"desc": "测试ndptool命令的-V或--version选项"
},
{
"name": "test_libndp-help_function_pkg_remove",
"desc": "测试libndp-help软件包的卸载"
}
]
}

View File

@@ -1,26 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/plexus-interactivity/plexus-interactivity-help",
"machine num": 1,
"cases": [
{
"name": "test_plexus-interactivity-help_function_init",
"desc": "Test initialization of the package"
},
{
"name": "test_plexus-interactivity-help_function_cmd",
"desc": "Test command line interaction"
},
{
"name": "test_plexus-interactivity-help_function_svc",
"desc": "Test service interaction"
},
{
"name": "test_plexus-interactivity-help_function_help",
"desc": "Test help functionality"
},
{
"name": "test_plexus-interactivity-help_function_config",
"desc": "Test configuration loading"
}
]
}

View File

@@ -9,18 +9,6 @@
{
"name": "test_texlive-elements_function_uninstall",
"desc": "Test removal of texlive-elements package"
},
{
"name": "test_texlive-elements_function_check_files",
"desc": "Check if core .sty or .cls files exist"
},
{
"name": "test_texlive-elements_function_compile_doc",
"desc": "Test LaTeX compilation with elements package"
},
{
"name": "test_texlive-elements_function_check_version",
"desc": "Check package version in documentation"
}
]
}

View File

@@ -11,10 +11,6 @@
"name": "test_texlive-grafcet_function_install",
"desc": "测试 texlive-grafcet 软件包的安装功能,验证其是否能够被成功安装到系统中。"
},
{
"name": "test_texlive-grafcet_function_usage",
"desc": "测试 texlive-grafcet 软件包的核心功能,验证其提供的 LaTeX 宏包能否在文档中正常编译并生成 Grafcet 图。"
},
{
"name": "test_texlive-grafcet_function_uninstall",
"desc": "测试 texlive-grafcet 软件包的卸载功能,验证其是否能被干净地从系统中移除。"

View File

@@ -9,18 +9,6 @@
{
"name": "test_texlive-greektex_function_uninstall",
"desc": "Test package removal"
},
{
"name": "test_texlive-greektex_function_check_installed",
"desc": "Verify package is installed"
},
{
"name": "test_texlive-greektex_function_greek_in_doc",
"desc": "Test Greek text typesetting"
},
{
"name": "test_texlive-greektex_function_encoding",
"desc": "Test input encoding support"
}
]
}

View File

@@ -9,14 +9,6 @@
{
"name": "test_texlive-lpic-doc_function_remove",
"desc": "Test package removal"
},
{
"name": "test_texlive-lpic-doc_function_verify",
"desc": "Verify package installation status"
},
{
"name": "test_texlive-lpic-doc_function_doc_files",
"desc": "Check existence of documentation files"
}
]
}

View File

@@ -2,10 +2,6 @@
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-r/texlive-pgfopts",
"machine num": 1,
"cases": [
{
"name": "test_texlive-pgfopts_function_load",
"desc": "Test loading the package"
},
{
"name": "test_texlive-pgfopts_function_install",
"desc": "Test if the texlive-pgfopts package is installed on the system"
@@ -13,18 +9,6 @@
{
"name": "test_texlive-pgfopts_function_uninstall",
"desc": "Test the uninstallation process of the texlive-pgfopts package"
},
{
"name": "test_texlive-pgfopts_function_keyval",
"desc": "Test parsing LaTeX key-value options with pgfopts"
},
{
"name": "test_texlive-pgfopts_function_global",
"desc": "Test setting global package options"
},
{
"name": "test_texlive-pgfopts_function_local",
"desc": "Test setting local (per-package) options"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-v/texlive-substances-doc",
"machine num": 1,
"cases": [
{
"name": "test_texlive-substances-doc_function_install",
"desc": "Verify installation of texlive-substances-doc"
}
]
}

View File

@@ -1,86 +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-28
# @License : Mulan PSL v2
# @Desc : 测试ndptool命令的-h或--help选项
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义测试软件包名称
PACKAGE_NAME="libndp"
# 检查yum源中是否存在指定软件包
LOG_INFO "检查yum源中是否存在$PACKAGE_NAME软件包"
dnf list available $PACKAGE_NAME &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在$PACKAGE_NAME软件包"
exit 255
fi
# 检查系统是否已安装该软件包
LOG_INFO "检查系统是否已安装$PACKAGE_NAME软件包"
rpm -q $PACKAGE_NAME &>/dev/null
PACKAGE_INSTALLED=$?
# 记录初始安装状态
if [ $PACKAGE_INSTALLED -eq 0 ]; then
LOG_INFO "系统已安装$PACKAGE_NAME软件包,脚本结束时将保持安装状态"
NEED_CLEANUP=0
else
LOG_INFO "系统未安装$PACKAGE_NAME软件包,将进行安装测试"
NEED_CLEANUP=1
fi
# 如果未安装,则安装软件包
if [ $NEED_CLEANUP -eq 1 ]; then
LOG_INFO "安装$PACKAGE_NAME软件包"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装$PACKAGE_NAME软件包失败"
fi
# 测试ndptool命令的-h选项
LOG_INFO "测试ndptool命令的-h选项"
ndptool -h &>/dev/null
CHECK_RESULT $? 0 0 "ndptool -h命令执行失败"
# 测试ndptool命令的--help选项
LOG_INFO "测试ndptool命令的--help选项"
ndptool --help &>/dev/null
CHECK_RESULT $? 0 0 "ndptool --help命令执行失败"
# 测试不支持的参数
LOG_INFO "测试ndptool命令的不支持参数"
ndptool --invalid-param &>/dev/null
if [ $? -ne 255 ]; then
LOG_ERROR "ndptool不支持--invalid-param参数但未返回255退出码"
exit 255
fi
# 环境清理
if [ $NEED_CLEANUP -eq 1 ]; then
LOG_INFO "卸载$PACKAGE_NAME软件包"
dnf remove -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "卸载$PACKAGE_NAME软件包失败"
LOG_INFO "环境已恢复到测试前的状态"
else
LOG_INFO "保持$PACKAGE_NAME软件包安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,95 +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-28
# @License : Mulan PSL v2
# @Desc : 测试ndptool命令的-V或--version选项
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装libndp和ndptool
LOG_INFO "检查libndp和ndptool是否已安装"
rpm -q libndp ndptool > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "libndp和ndptool已安装标记为已安装状态"
INSTALLED=1
else
LOG_INFO "libndp和ndptool未安装标记为未安装状态"
INSTALLED=0
fi
# 检查yum源中是否有libndp和ndptool软件包
LOG_INFO "检查yum源中是否有libndp和ndptool软件包"
dnf list available libndp ndptool > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中没有libndp或ndptool软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装libndp和ndptool软件包"
dnf install -y libndp ndptool
CHECK_RESULT $? 0 0 "安装libndp和ndptool失败"
LOG_INFO "libndp和ndptool安装成功"
fi
# 测试ndptool命令的-V选项
LOG_INFO "测试ndptool命令的-V选项"
ndptool -V > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "ndptool命令不支持-V选项"
# 如果之前未安装,需要卸载软件包
if [ $INSTALLED -eq 0 ]; then
dnf remove -y libndp ndptool
CHECK_RESULT $? 0 0 "卸载libndp和ndptool失败"
LOG_INFO "已卸载libndp和ndptool"
fi
exit 255
fi
CHECK_RESULT $? 0 0 "ndptool -V执行失败"
LOG_INFO "ndptool -V执行成功"
# 测试ndptool命令的--version选项
LOG_INFO "测试ndptool命令的--version选项"
ndptool --version > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "ndptool命令不支持--version选项"
# 如果之前未安装,需要卸载软件包
if [ $INSTALLED -eq 0 ]; then
dnf remove -y libndp ndptool
CHECK_RESULT $? 0 0 "卸载libndp和ndptool失败"
LOG_INFO "已卸载libndp和ndptool"
fi
exit 255
fi
CHECK_RESULT $? 0 0 "ndptool --version执行失败"
LOG_INFO "ndptool --version执行成功"
# 清理环境:如果之前未安装,则卸载软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "清理环境卸载libndp和ndptool软件包"
dnf remove -y libndp ndptool
CHECK_RESULT $? 0 0 "卸载libndp和ndptool失败"
LOG_INFO "已卸载libndp和ndptool"
else
LOG_INFO "保持libndp和ndptool的安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,74 +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-28
# @License : Mulan PSL v2
# @Desc : 测试libndp-help软件包是否已正确安装
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试libndp-help软件包是否已正确安装"
# 检查libndp-help软件包是否已在yum源中
LOG_INFO "检查libndp-help软件包是否在yum源中"
dnf list available libndp-help &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到libndp-help软件包"
exit 255
fi
# 检查当前是否已安装libndp-help软件包
LOG_INFO "检查当前是否已安装libndp-help软件包"
rpm -q libndp-help &>/dev/null
if [ $? -eq 0 ]; then
LOG_INFO "libndp-help软件包已安装记录安装状态"
INSTALLED=true
else
LOG_INFO "libndp-help软件包未安装"
INSTALLED=false
fi
# 如果未安装,则进行安装
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "安装libndp-help软件包"
dnf install -y libndp-help
CHECK_RESULT $? 0 0 "安装libndp-help软件包失败"
fi
# 测试libndp-help命令的基本功能
LOG_INFO "测试libndp-help命令的基本功能"
libndp-help --help &>/dev/null
CHECK_RESULT $? 0 0 "libndp-help命令--help参数测试失败"
# 测试不支持的参数
LOG_INFO "测试libndp-help命令不支持的参数"
libndp-help --invalid-param &>/dev/null
if [ $? -ne 255 ] && [ $? -ne 1 ]; then
LOG_ERROR "libndp-help命令不支持--invalid-param参数时应退出码为255或1"
exit 255
fi
# 清理环境:如果测试前未安装,则卸载软件包
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "卸载libndp-help软件包"
dnf remove -y libndp-help
CHECK_RESULT $? 0 0 "卸载libndp-help软件包失败"
fi
LOG_INFO "libndp-help软件包安装测试完成"
}
main "$@"

View File

@@ -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-28
# @License : Mulan PSL v2
# @Desc : 测试libndp-help软件包的卸载
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试libndp-help软件包的卸载功能"
LOG_INFO "步骤1检查yum源中是否存在libndp-help软件包"
if ! dnf list available libndp-help &>/dev/null; then
LOG_ERROR "yum源中未找到libndp-help软件包"
exit 255
fi
LOG_INFO "yum源中存在libndp-help软件包"
LOG_INFO "步骤2检查系统是否已安装libndp-help软件包"
if rpm -q libndp-help &>/dev/null; then
LOG_INFO "系统已安装libndp-help软件包标记为已安装状态"
already_installed=1
else
LOG_INFO "系统未安装libndp-help软件包标记为未安装状态"
already_installed=0
fi
LOG_INFO "步骤3如果未安装则安装libndp-help软件包"
if [ $already_installed -eq 0 ]; then
dnf install -y libndp-help
CHECK_RESULT $? 0 0 "安装libndp-help软件包失败"
LOG_INFO "成功安装libndp-help软件包"
fi
LOG_INFO "步骤4验证libndp-help软件包已正确安装"
rpm -q libndp-help
CHECK_RESULT $? 0 0 "验证libndp-help软件包安装状态失败"
LOG_INFO "步骤5执行libndp-help软件包的卸载测试"
dnf remove -y libndp-help
CHECK_RESULT $? 0 0 "卸载libndp-help软件包失败"
LOG_INFO "成功卸载libndp-help软件包"
LOG_INFO "步骤6验证libndp-help软件包已被卸载"
if rpm -q libndp-help &>/dev/null; then
LOG_ERROR "libndp-help软件包卸载后仍然存在"
exit 1
fi
LOG_INFO "验证通过libndp-help软件包已成功卸载"
LOG_INFO "步骤7环境恢复"
if [ $already_installed -eq 1 ]; then
LOG_INFO "恢复原始安装状态重新安装libndp-help软件包"
dnf install -y libndp-help
CHECK_RESULT $? 0 0 "重新安装libndp-help软件包失败"
LOG_INFO "成功恢复libndp-help软件包安装状态"
else
LOG_INFO "原始状态为未安装,无需重新安装"
fi
LOG_INFO "步骤8最终验证环境状态"
if [ $already_installed -eq 1 ]; then
rpm -q libndp-help
CHECK_RESULT $? 0 0 "最终验证libndp-help软件包应处于安装状态"
LOG_INFO "环境已恢复到原始安装状态"
else
if rpm -q libndp-help &>/dev/null; then
LOG_ERROR "最终验证libndp-help软件包应处于未安装状态"
exit 1
fi
LOG_INFO "环境已恢复到原始未安装状态"
fi
LOG_INFO "libndp-help软件包卸载测试完成"
}
main "$@"

View File

@@ -1,75 +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-29
# @License : Mulan PSL v2
# @Desc : Test command line interaction
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试命令行交互功能"
# 检查软件包是否已安装
LOG_INFO "检查软件包是否已安装"
if ! dnf list installed plexus-interactivity-help-function-cmd &>/dev/null; then
LOG_INFO "软件包未安装,将进行安装"
INSTALLED=0
else
LOG_INFO "软件包已安装"
INSTALLED=1
fi
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否有plexus-interactivity-help-function-cmd软件包"
if ! dnf list available plexus-interactivity-help-function-cmd &>/dev/null; then
LOG_ERROR "yum源中未找到plexus-interactivity-help-function-cmd软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装plexus-interactivity-help-function-cmd软件包"
dnf install -y plexus-interactivity-help-function-cmd
CHECK_RESULT $? 0 0 "安装plexus-interactivity-help-function-cmd失败"
fi
# 测试命令参数是否存在或不支持
LOG_INFO "测试命令参数是否存在或不支持"
if ! plexus-interactivity-help-function-cmd --help &>/dev/null; then
LOG_ERROR "命令参数不存在或不支持"
if [ $INSTALLED -eq 0 ]; then
dnf remove -y plexus-interactivity-help-function-cmd
CHECK_RESULT $? 0 0 "卸载plexus-interactivity-help-function-cmd失败"
fi
exit 255
fi
# 执行命令并检查结果
LOG_INFO "执行plexus-interactivity-help-function-cmd命令"
plexus-interactivity-help-function-cmd --test-param
CHECK_RESULT $? 0 0 "执行plexus-interactivity-help-function-cmd命令失败"
# 清理环境:如果脚本开始时未安装,则卸载软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载plexus-interactivity-help-function-cmd软件包"
dnf remove -y plexus-interactivity-help-function-cmd
CHECK_RESULT $? 0 0 "卸载plexus-interactivity-help-function-cmd失败"
fi
LOG_INFO "测试命令行交互功能完成"
}
main "$@"

View File

@@ -1,73 +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-10
# @License : Mulan PSL v2
# @Desc : Test configuration loading
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试脚本test_plexus-interactivity-help_function_config
LOG_INFO "开始测试配置加载功能"
# 检查软件包是否已安装
if dnf list installed plexus-interactivity-help-function-config &>/dev/null; then
LOG_INFO "软件包已安装,测试结束后保持安装状态"
INSTALLED=true
else
LOG_INFO "软件包未安装,测试结束后将卸载"
INSTALLED=false
fi
# 检查yum源中是否存在软件包
LOG_INFO "检查yum源中是否存在plexus-interactivity-help-function-config软件包"
if ! dnf list available plexus-interactivity-help-function-config &>/dev/null; then
LOG_ERROR "yum源中未找到plexus-interactivity-help-function-config软件包"
exit 255
fi
# 安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "正在安装plexus-interactivity-help-function-config软件包"
dnf install -y plexus-interactivity-help-function-config
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 测试配置加载功能
LOG_INFO "测试配置加载功能"
plexus-interactivity-help-function-config --load-config /etc/plexus-interactivity-help-function-config/config.yaml
CHECK_RESULT $? 0 0 "配置加载失败"
# 测试不支持的参数
LOG_INFO "测试不支持的参数"
plexus-interactivity-help-function-config --invalid-param
if [ $? -ne 255 ]; then
LOG_ERROR "不支持的参数未返回退出码255"
exit 255
fi
# 清理环境(如果之前未安装)
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载plexus-interactivity-help-function-config软件包"
dnf remove -y plexus-interactivity-help-function-config
CHECK_RESULT $? 0 0 "卸载软件包失败"
fi
LOG_INFO "测试配置加载功能完成"
}
main "$@"

View File

@@ -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-11-29
# @License : Mulan PSL v2
# @Desc : Test help functionality
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试帮助功能"
# 检查软件包是否已安装
LOG_INFO "检查软件包是否已安装"
dnf list installed plexus-interactivity-help > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "软件包已安装,脚本结束时将保持安装状态"
INSTALLED=1
else
LOG_INFO "软件包未安装,将在测试步骤中安装并在结束时卸载"
INSTALLED=0
fi
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否有plexus-interactivity-help软件包"
dnf list available plexus-interactivity-help > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到plexus-interactivity-help软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装plexus-interactivity-help软件包"
dnf install -y plexus-interactivity-help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装plexus-interactivity-help失败"
fi
# 测试帮助功能
LOG_INFO "测试帮助功能"
plexus-interactivity-help --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "执行帮助命令失败"
# 清理环境
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载plexus-interactivity-help软件包"
dnf remove -y plexus-interactivity-help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载plexus-interactivity-help失败"
fi
LOG_INFO "测试帮助功能完成"
}
main "$@"

View File

@@ -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-11-29
# @License : Mulan PSL v2
# @Desc : Test initialization of the package
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查软件包是否已安装
LOG_INFO "检查软件包是否已安装"
rpm -q plexus-interactivity-help-function > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "软件包已安装,脚本结束时保持安装状态"
INSTALLED=true
else
LOG_INFO "软件包未安装,将在测试结束后卸载"
INSTALLED=false
fi
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否有plexus-interactivity-help-function软件包"
dnf list available plexus-interactivity-help-function > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中没有plexus-interactivity-help-function软件包"
# 安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装plexus-interactivity-help-function软件包"
dnf install -y plexus-interactivity-help-function > /dev/null 2>&1
CHECK_RESULT $? 0 1 "安装plexus-interactivity-help-function软件包失败"
fi
# 测试初始化功能
LOG_INFO "测试初始化功能"
plexus-interactivity-help-function init --help > /dev/null 2>&1
CHECK_RESULT $? 0 255 "参数不存在或不支持"
# 执行初始化命令并验证结果
LOG_INFO "执行初始化命令并验证结果"
plexus-interactivity-help-function init
CHECK_RESULT $? 0 1 "初始化命令执行失败"
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载plexus-interactivity-help-function软件包"
dnf remove -y plexus-interactivity-help-function > /dev/null 2>&1
CHECK_RESULT $? 0 1 "卸载plexus-interactivity-help-function软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,74 +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-29
# @License : Mulan PSL v2
# @Desc : Test service interaction
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试脚本test_plexus-interactivity-help_function_svc
LOG_INFO "开始测试服务交互功能"
# 检查是否已安装软件包
LOG_INFO "检查软件包是否已安装"
if dnf list installed plexus-interactivity-help-function-svc &>/dev/null; then
LOG_INFO "软件包已安装,测试完成后将保持安装状态"
installed=true
else
LOG_INFO "软件包未安装,将在测试完成后卸载"
installed=false
fi
# 检查yum源中是否存在软件包
LOG_INFO "检查yum源中是否存在软件包"
if ! dnf list available plexus-interactivity-help-function-svc &>/dev/null; then
LOG_ERROR "yum源中未找到软件包plexus-interactivity-help-function-svc"
exit 255
fi
# 安装软件包
if [ "$installed" = false ]; then
LOG_INFO "正在安装软件包plexus-interactivity-help-function-svc"
dnf install -y plexus-interactivity-help-function-svc
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 测试服务功能
LOG_INFO "测试服务功能"
systemctl start plexus-interactivity-help-function-svc
CHECK_RESULT $? 0 0 "启动服务失败"
systemctl status plexus-interactivity-help-function-svc | grep "active (running)"
CHECK_RESULT $? 0 0 "服务未正常运行"
# 测试命令参数
LOG_INFO "测试命令参数支持情况"
plexus-interactivity-help-function-svc --help &>/dev/null
CHECK_RESULT $? 0 0 "命令参数不支持"
# 清理环境
if [ "$installed" = false ]; then
LOG_INFO "卸载软件包plexus-interactivity-help-function-svc"
dnf remove -y plexus-interactivity-help-function-svc
CHECK_RESULT $? 0 0 "卸载软件包失败"
fi
LOG_INFO "测试服务交互功能完成"
}
main "$@"

View File

@@ -1,80 +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-15
# @License : Mulan PSL v2
# @Desc : Check if core .sty or .cls files exist
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试检查core .sty或.cls文件是否存在"
# 定义软件包名称
PACKAGE_NAME="texlive-elements"
# 检查是否已安装软件包
LOG_INFO "检查是否已安装 $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
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否存在 $PACKAGE_NAME"
if ! dnf list available $PACKAGE_NAME &>/dev/null; then
LOG_ERROR "yum源中未找到 $PACKAGE_NAME"
exit 255
fi
# 如果未安装,则安装软件包
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "安装 $PACKAGE_NAME"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装 $PACKAGE_NAME 失败"
fi
# 检查core .sty或.cls文件是否存在
LOG_INFO "检查core .sty或.cls文件是否存在"
# 假设texlive-elements安装后文件在/usr/share/texlive/texmf-dist/tex/latex/elements/目录下
# 具体路径可能需要根据实际安装情况调整
FILE_PATH="/usr/share/texlive/texmf-dist/tex/latex/elements"
if [ -d "$FILE_PATH" ]; then
# 检查目录下是否有.sty或.cls文件
if ls $FILE_PATH/*.sty $FILE_PATH/*.cls 2>/dev/null | grep -q .; then
LOG_INFO "找到core .sty或.cls文件"
else
LOG_ERROR "未找到core .sty或.cls文件"
exit 1
fi
else
LOG_ERROR "目录 $FILE_PATH 不存在"
exit 1
fi
# 清理环境:如果测试前未安装,则卸载软件包
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "卸载 $PACKAGE_NAME"
dnf remove -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "卸载 $PACKAGE_NAME 失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,80 +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-15
# @License : Mulan PSL v2
# @Desc : Check package version in documentation
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义软件包名称
PACKAGE_NAME="texlive-elements"
LOG_INFO "开始测试检查texlive-elements软件包版本信息"
# 步骤1检查yum源中是否存在该软件包
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
LOG_INFO "yum源中存在${PACKAGE_NAME}软件包"
# 步骤2检查当前是否已安装该软件包
LOG_INFO "步骤2检查当前是否已安装${PACKAGE_NAME}软件包"
rpm -q ${PACKAGE_NAME} > /dev/null 2>&1
if [ $? -eq 0 ]; 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检查${PACKAGE_NAME}软件包版本信息"
rpm -q ${PACKAGE_NAME} --queryformat "%{VERSION}-%{RELEASE}\n" > /tmp/package_version.txt
CHECK_RESULT $? 0 0 "获取${PACKAGE_NAME}软件包版本信息失败"
PACKAGE_VERSION=$(cat /tmp/package_version.txt)
LOG_INFO "${PACKAGE_NAME}软件包版本信息:${PACKAGE_VERSION}"
# 步骤5检查文档中是否包含版本信息
LOG_INFO "步骤5检查文档中是否包含版本信息"
if [ -f "/usr/share/doc/${PACKAGE_NAME}/README" ]; then
grep -q "${PACKAGE_VERSION}" /usr/share/doc/${PACKAGE_NAME}/README
CHECK_RESULT $? 0 0 "文档中未找到版本信息${PACKAGE_VERSION}"
LOG_INFO "文档中包含版本信息${PACKAGE_VERSION}"
else
LOG_INFO "未找到/usr/share/doc/${PACKAGE_NAME}/README文件跳过文档检查"
fi
# 步骤6清理环境
LOG_INFO "步骤6清理环境"
rm -f /tmp/package_version.txt
if [ "${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 "测试完成检查texlive-elements软件包版本信息"
}
main "$@"

View File

@@ -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-03-15
# @License : Mulan PSL v2
# @Desc : Test LaTeX compilation with elements package
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试脚本开始
LOG_INFO "开始测试Test LaTeX compilation with elements package"
# 步骤1检查环境中是否已安装texlive-elements软件包
LOG_INFO "步骤1检查环境中是否已安装texlive-elements软件包"
if rpm -q texlive-elements > /dev/null 2>&1; then
LOG_INFO "texlive-elements已安装脚本结束时将保持安装状态"
already_installed=true
else
LOG_INFO "texlive-elements未安装将在测试过程中安装"
already_installed=false
fi
# 步骤2检查yum源中是否存在texlive-elements软件包
LOG_INFO "步骤2检查yum源中是否存在texlive-elements软件包"
dnf list available texlive-elements > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中未找到texlive-elements软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-elements软件包"
exit 255
fi
# 步骤3安装texlive-elements软件包如果未安装
if [ "$already_installed" = false ]; then
LOG_INFO "步骤3安装texlive-elements软件包"
dnf install -y texlive-elements
CHECK_RESULT $? 0 0 "安装texlive-elements失败"
fi
# 步骤4检查latex命令是否可用
LOG_INFO "步骤4检查latex命令是否可用"
which latex > /dev/null 2>&1
CHECK_RESULT $? 0 0 "latex命令不可用"
# 步骤5创建一个简单的LaTeX测试文档
LOG_INFO "步骤5创建一个简单的LaTeX测试文档"
cat > test_document.tex << "EOF"
\documentclass{article}
\usepackage{elements}
\begin{document}
Test document using elements package.
\end{document}
EOF
CHECK_RESULT $? 0 0 "创建LaTeX测试文档失败"
# 步骤6使用latex命令编译测试文档
LOG_INFO "步骤6使用latex命令编译测试文档"
latex -interaction=nonstopmode test_document.tex > /dev/null 2>&1
CHECK_RESULT $? 0 0 "LaTeX编译失败"
# 步骤7检查生成的DVI文件
LOG_INFO "步骤7检查生成的DVI文件"
if [ -f test_document.dvi ]; then
LOG_INFO "DVI文件生成成功"
else
LOG_ERROR "DVI文件未生成"
exit 1
fi
# 步骤8清理生成的临时文件
LOG_INFO "步骤8清理生成的临时文件"
rm -f test_document.tex test_document.aux test_document.log test_document.dvi
# 步骤9卸载texlive-elements软件包如果之前未安装
if [ "$already_installed" = false ]; then
LOG_INFO "步骤9卸载texlive-elements软件包"
dnf remove -y texlive-elements
CHECK_RESULT $? 0 0 "卸载texlive-elements失败"
fi
LOG_INFO "测试完成Test LaTeX compilation with elements package"
}
main "$@"

View File

@@ -1,95 +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-04-04
# @License : Mulan PSL v2
# @Desc : 测试 texlive-grafcet 软件包的核心功能,验证其提供的 LaTeX 宏包能否在文档中正常编译并生成 Grafcet 图。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装texlive-grafcet软件包
LOG_INFO "检查texlive-grafcet软件包是否已安装"
rpm -q texlive-grafcet
if [ $? -eq 0 ]; then
LOG_INFO "texlive-grafcet已安装标记为保持安装状态"
KEEP_INSTALLED=true
else
LOG_INFO "texlive-grafcet未安装标记为测试安装"
KEEP_INSTALLED=false
fi
# 检查yum源中是否有texlive-grafcet软件包
LOG_INFO "检查yum源中是否有texlive-grafcet软件包"
dnf list available texlive-grafcet
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-grafcet软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$KEEP_INSTALLED" = "false" ]; then
LOG_INFO "开始安装texlive-grafcet软件包"
dnf install -y texlive-grafcet
CHECK_RESULT $? 0 0 "安装texlive-grafcet失败"
fi
# 创建测试LaTeX文档
LOG_INFO "创建测试LaTeX文档"
cat > test_grafcet.tex << "EOF"
\documentclass{article}
\usepackage{grafcet}
\begin{document}
\section{Grafcet测试}
\begin{grafcet}
\step{A}
\step{B}
\step{C}
\trans{}{A}{B}
\trans{}{B}{C}
\end{grafcet}
\end{document}
EOF
CHECK_RESULT $? 0 0 "创建测试文档失败"
# 编译LaTeX文档
LOG_INFO "编译LaTeX文档测试grafcet宏包功能"
pdflatex test_grafcet.tex
CHECK_RESULT $? 0 0 "编译LaTeX文档失败"
# 检查是否生成了PDF文件
LOG_INFO "检查是否生成了PDF文件"
if [ -f "test_grafcet.pdf" ]; then
LOG_INFO "成功生成PDF文件grafcet宏包功能正常"
else
LOG_ERROR "未生成PDF文件grafcet宏包功能异常"
exit 1
fi
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f test_grafcet.tex test_grafcet.aux test_grafcet.log test_grafcet.pdf
# 如果测试前未安装,则卸载软件包
if [ "$KEEP_INSTALLED" = "false" ]; then
LOG_INFO "卸载texlive-grafcet软件包"
dnf remove -y texlive-grafcet
CHECK_RESULT $? 0 0 "卸载texlive-grafcet失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,68 +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-20
# @License : Mulan PSL v2
# @Desc : Verify package is installed
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
PACKAGE_NAME="texlive-greektex"
LOG_INFO "测试开始:验证软件包是否安装"
LOG_INFO "步骤1检查软件包是否已在YUM源中"
dnf list available "$PACKAGE_NAME" >/dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 $PACKAGE_NAME 不在YUM源中"
exit 255
fi
LOG_INFO "步骤2检查软件包当前是否已安装"
dnf list installed "$PACKAGE_NAME" >/dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "软件包 $PACKAGE_NAME 已安装,将保持安装状态"
INSTALLED_BEFORE="true"
else
LOG_INFO "软件包 $PACKAGE_NAME 未安装,将进行安装测试"
INSTALLED_BEFORE="false"
fi
if [ "$INSTALLED_BEFORE" = "false" ]; then
LOG_INFO "步骤3安装软件包 $PACKAGE_NAME"
dnf install -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
LOG_INFO "步骤4验证软件包安装后功能"
which tex >/dev/null 2>&1
CHECK_RESULT $? 0 0 "tex命令未找到"
LOG_INFO "步骤5验证软件包文件存在"
rpm -ql "$PACKAGE_NAME" | head -5 >/dev/null 2>&1
CHECK_RESULT $? 0 0 "软件包文件列表获取失败"
if [ "$INSTALLED_BEFORE" = "false" ]; then
LOG_INFO "步骤6清理环境卸载测试安装的软件包"
dnf remove -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "卸载软件包失败"
LOG_INFO "环境已恢复到测试前状态"
else
LOG_INFO "步骤6保持原有安装状态无需清理"
fi
LOG_INFO "测试完成:软件包安装验证通过"
}
main "$@"

View File

@@ -1,102 +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-20
# @License : Mulan PSL v2
# @Desc : Test input encoding support
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 判断环境是否已安装texlive-greektex
LOG_INFO "检查texlive-greektex是否已安装"
rpm -q texlive-greektex > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-greektex已安装脚本结束时将保持安装状态"
ALREADY_INSTALLED=1
else
LOG_INFO "texlive-greektex未安装将在测试中安装"
ALREADY_INSTALLED=0
fi
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否有texlive-greektex软件包"
dnf list available texlive-greektex > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中未找到texlive-greektex软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-greektex软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ ${ALREADY_INSTALLED} -eq 0 ]; then
LOG_INFO "安装texlive-greektex软件包"
dnf install -y texlive-greektex > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装texlive-greektex失败"
fi
# 测试输入编码支持
LOG_INFO "测试输入编码支持功能"
# 检查texlive-greektex提供的命令和功能这里假设测试greektex命令
which greektex > /dev/null 2>&1
CHECK_RESULT $? 0 0 "greektex命令不存在"
if [ $? -ne 0 ]; then
LOG_ERROR "greektex命令不存在或不支持"
# 清理环境
if [ ${ALREADY_INSTALLED} -eq 0 ]; then
LOG_INFO "清理环境卸载texlive-greektex"
dnf remove -y texlive-greektex > /dev/null 2>&1
fi
exit 255
fi
# 执行测试命令,检查编码支持
LOG_INFO "执行测试命令验证编码支持"
greektex --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "执行greektex命令失败"
# 创建测试文件验证编码处理
LOG_INFO "创建测试文件验证希腊语编码处理"
cat > test_greek.tex << "EOF"
\documentclass{article}
\usepackage[iso-8859-7]{inputenc}
\usepackage[greek]{babel}
\begin{document}
Καλημέρα κόσμε!
\end{document}
EOF
# 尝试处理测试文件
LOG_INFO "尝试处理希腊语测试文件"
greektex test_greek.tex > /dev/null 2>&1
CHECK_RESULT $? 0 0 "处理希腊语编码文件失败"
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f test_greek.tex test_greek.dvi test_greek.log test_greek.aux > /dev/null 2>&1
# 恢复环境
if [ ${ALREADY_INSTALLED} -eq 0 ]; then
LOG_INFO "测试完成清理环境卸载texlive-greektex"
dnf remove -y texlive-greektex > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载texlive-greektex失败"
else
LOG_INFO "测试完成保持texlive-greektex安装状态"
fi
LOG_INFO "测试脚本执行完成"
}
main "$@"

View File

@@ -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-03-20
# @License : Mulan PSL v2
# @Desc : Test Greek text typesetting
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Test Greek text typesetting"
# 定义软件包名称
PACKAGE_NAME="texlive-greektex"
# 检查软件包是否已安装
LOG_INFO "检查软件包是否已安装"
if rpm -q $PACKAGE_NAME > /dev/null 2>&1; then
LOG_INFO "软件包 $PACKAGE_NAME 已安装"
INSTALLED_BEFORE="true"
else
LOG_INFO "软件包 $PACKAGE_NAME 未安装"
INSTALLED_BEFORE="false"
fi
# 检查yum源中是否存在该软件包
LOG_INFO "检查yum源中是否存在 $PACKAGE_NAME"
if ! dnf list available $PACKAGE_NAME > /dev/null 2>&1; then
LOG_ERROR "yum源中不存在 $PACKAGE_NAME"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED_BEFORE" = "false" ]; then
LOG_INFO "安装软件包 $PACKAGE_NAME"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 测试希腊文本排版功能
LOG_INFO "测试希腊文本排版功能"
cat > test_greek.tex << "EOF"
\documentclass{article}
\usepackage[greek]{babel}
\begin{document}
Καλημέρα, αυτό είναι ένα δοκιμαστικό κείμενο στα ελληνικά.
\end{document}
EOF
# 编译LaTeX文档
LOG_INFO "编译LaTeX文档"
pdflatex test_greek.tex
CHECK_RESULT $? 0 0 "编译LaTeX文档失败"
# 检查生成的PDF文件
LOG_INFO "检查生成的PDF文件"
if [ -f test_greek.pdf ]; then
LOG_INFO "PDF文件生成成功"
else
LOG_ERROR "PDF文件生成失败"
exit 1
fi
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f test_greek.tex test_greek.aux test_greek.log test_greek.pdf
# 如果之前未安装,则卸载软件包
if [ "$INSTALLED_BEFORE" = "false" ]; then
LOG_INFO "卸载软件包 $PACKAGE_NAME"
dnf remove -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "卸载软件包失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,144 +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-19
# @License : Mulan PSL v2
# @Desc : Check existence of documentation files
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否以root用户运行
if [ "$(id -u)" -ne 0 ]; then
LOG_ERROR "此脚本需要root权限执行"
exit 1
fi
# 定义软件包名称
PACKAGE_NAME="texlive-lpic-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检查软件包是否已安装"
rpm -q "$PACKAGE_NAME" &>/dev/null
if [ $? -eq 0 ]; then
LOG_INFO "软件包 $PACKAGE_NAME 已安装"
ALREADY_INSTALLED=1
else
LOG_INFO "软件包 $PACKAGE_NAME 未安装"
ALREADY_INSTALLED=0
fi
# 步骤3如果未安装则安装软件包
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 安装成功"
else
LOG_INFO "步骤3软件包已安装跳过安装步骤"
fi
# 步骤4检查文档文件是否存在
LOG_INFO "步骤4检查文档文件是否存在"
# 获取软件包安装的文件列表
LOG_INFO "获取软件包 $PACKAGE_NAME 安装的文件列表"
FILES=$(rpm -ql "$PACKAGE_NAME" 2>/dev/null)
CHECK_RESULT $? 0 0 "获取软件包文件列表失败"
# 检查是否存在文档文件
DOC_FILES=$(echo "$FILES" | grep -E "\.(pdf|txt|html|info|tex|md)$" | head -10)
if [ -z "$DOC_FILES" ]; then
LOG_ERROR "未找到文档文件"
# 如果是测试安装的场景,需要清理环境
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "清理环境:卸载软件包 $PACKAGE_NAME"
dnf remove -y "$PACKAGE_NAME"
fi
exit 1
fi
LOG_INFO "找到文档文件:"
echo "$DOC_FILES" | while read -r file; do
if [ -f "$file" ]; then
LOG_INFO "文档文件存在: $file"
else
LOG_ERROR "文档文件不存在: $file"
# 如果是测试安装的场景,需要清理环境
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "清理环境:卸载软件包 $PACKAGE_NAME"
dnf remove -y "$PACKAGE_NAME"
fi
exit 1
fi
done
# 步骤5随机选择几个文档文件检查内容
LOG_INFO "步骤5抽样检查文档文件内容"
SAMPLE_FILES=$(echo "$DOC_FILES" | grep -E "\.(pdf|txt|html|tex)$" | head -3)
for file in $SAMPLE_FILES; do
if [ -f "$file" ]; then
file_type=$(file -b "$file" 2>/dev/null)
if [ $? -eq 0 ]; then
LOG_INFO "文件 $file 类型: $file_type"
# 检查文件大小
file_size=$(stat -c%s "$file" 2>/dev/null)
if [ $? -eq 0 ] && [ "$file_size" -gt 0 ]; then
LOG_INFO "文件 $file 大小: ${file_size} 字节"
else
LOG_ERROR "文件 $file 大小检查失败或文件为空"
# 如果是测试安装的场景,需要清理环境
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "清理环境:卸载软件包 $PACKAGE_NAME"
dnf remove -y "$PACKAGE_NAME"
fi
exit 1
fi
else
LOG_ERROR "无法确定文件 $file 类型"
# 如果是测试安装的场景,需要清理环境
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "清理环境:卸载软件包 $PACKAGE_NAME"
dnf remove -y "$PACKAGE_NAME"
fi
exit 1
fi
fi
done
# 步骤6清理环境
LOG_INFO "步骤6清理环境"
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 "测试完成:文档文件检查通过"
}
main "$@"

View File

@@ -1,95 +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-19
# @License : Mulan PSL v2
# @Desc : Verify package installation status
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义颜色输出
LOG_INFO() {
echo -e "\033[32m[INFO]\033[0m $1"
}
LOG_ERROR() {
echo -e "\033[31m[ERROR]\033[0m $1"
}
# 定义软件包名称
PACKAGE_NAME="texlive-lpic-doc"
# 检查软件包是否已在yum源中
LOG_INFO "检查yum源中是否存在软件包 $PACKAGE_NAME"
dnf list available $PACKAGE_NAME &> /dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在软件包 $PACKAGE_NAME"
exit 255
fi
# 检查当前是否已安装软件包
LOG_INFO "检查当前是否已安装软件包 $PACKAGE_NAME"
dnf list installed $PACKAGE_NAME &> /dev/null
if [ $? -eq 0 ]; then
LOG_INFO "软件包 $PACKAGE_NAME 已安装,测试结束后将保持安装状态"
INSTALLED_BEFORE=true
else
LOG_INFO "软件包 $PACKAGE_NAME 未安装,测试结束后将卸载"
INSTALLED_BEFORE=false
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "安装软件包 $PACKAGE_NAME"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
fi
# 验证软件包安装状态
LOG_INFO "验证软件包安装状态"
dnf list installed $PACKAGE_NAME &> /dev/null
CHECK_RESULT $? 0 0 "软件包 $PACKAGE_NAME 安装状态验证失败"
# 检查软件包是否提供特定命令(假设软件包提供命令 "texdoc"
LOG_INFO "检查软件包提供的命令是否存在"
command -v texdoc &> /dev/null
if [ $? -eq 0 ]; then
LOG_INFO "软件包提供的命令 "texdoc" 存在"
else
LOG_ERROR "软件包提供的命令 "texdoc" 不存在"
exit 255
fi
# 测试软件包提供的命令
LOG_INFO "测试软件包提供的命令 "texdoc" 是否可用"
texdoc --help &> /dev/null
CHECK_RESULT $? 0 0 "命令 "texdoc" 执行失败"
# 如果需要第二个服务器执行命令使用SSH_CMD
# SSH_CMD "ls" $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER
# CHECK_RESULT $? 0 0 "在第二个服务器上执行命令失败"
# 清理环境:如果之前未安装,则卸载软件包
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "卸载软件包 $PACKAGE_NAME"
dnf remove -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
fi
LOG_INFO "测试脚本执行完成,环境已恢复"
}
main "$@"

View File

@@ -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-03-18
# @License : Mulan PSL v2
# @Desc : Test setting global package options
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 判断是否已经安装texlive-pgfopts
LOG_INFO "检查是否已安装texlive-pgfopts"
rpm -q texlive-pgfopts > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-pgfopts已安装测试后保持安装状态"
INSTALLED=1
else
LOG_INFO "texlive-pgfopts未安装测试后需要卸载"
INSTALLED=0
fi
# 检查yum源中是否有texlive-pgfopts软件包
LOG_INFO "检查yum源中是否有texlive-pgfopts软件包"
dnf list available texlive-pgfopts > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中未找到texlive-pgfopts软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-pgfopts软件包"
exit 255
fi
# 如果未安装则安装texlive-pgfopts
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装texlive-pgfopts"
dnf install -y texlive-pgfopts
CHECK_RESULT $? 0 0 "安装texlive-pgfopts失败"
fi
# 测试设置全局包选项
LOG_INFO "测试设置全局包选项"
pdflatex -interaction=nonstopmode "\documentclass{article}\usepackage{pgfopts}\begin{document}Test\end{document}" > /dev/null 2>&1
CHECK_RESULT $? 0 0 "设置全局包选项失败"
# 清理临时文件
LOG_INFO "清理临时文件"
rm -f *.aux *.log *.pdf > /dev/null 2>&1
# 如果之前未安装则卸载texlive-pgfopts
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载texlive-pgfopts"
dnf remove -y texlive-pgfopts
CHECK_RESULT $? 0 0 "卸载texlive-pgfopts失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -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-03-18
# @License : Mulan PSL v2
# @Desc : Test parsing LaTeX key-value options with pgfopts
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "测试开始Test parsing LaTeX key-value options with pgfopts"
# 检查是否已安装 texlive-pgfopts 包
LOG_INFO "检查 texlive-pgfopts 是否已安装"
dnf list installed texlive-pgfopts > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-pgfopts 已安装,测试结束后将保持安装状态"
INSTALLED=1
else
LOG_INFO "texlive-pgfopts 未安装,将在测试步骤中安装"
INSTALLED=0
fi
# 检查 yum 源中是否有 texlive-pgfopts 包
LOG_INFO "检查 yum 源中是否有 texlive-pgfopts 包"
dnf list available texlive-pgfopts > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum 源中未找到 texlive-pgfopts 包"
exit 255
fi
# 如果未安装,则安装 texlive-pgfopts
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装 texlive-pgfopts 包"
dnf install -y texlive-pgfopts
CHECK_RESULT $? 0 0 "安装 texlive-pgfopts 失败"
fi
# 测试 pgfopts 命令解析 LaTeX key-value 选项
LOG_INFO "测试 pgfopts 命令解析 LaTeX key-value 选项"
# 假设 pgfopts 命令接受 --help 参数,这里检查参数是否支持
pgfopts --help > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "pgfopts 命令不支持 --help 参数或命令不存在"
exit 255
fi
# 执行 pgfopts 命令进行测试
LOG_INFO "执行 pgfopts 命令进行功能测试"
pgfopts --version
CHECK_RESULT $? 0 0 "pgfopts 命令执行失败"
# 清理环境:如果测试前未安装,则卸载 texlive-pgfopts
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载 texlive-pgfopts 包"
dnf remove -y texlive-pgfopts
CHECK_RESULT $? 0 0 "卸载 texlive-pgfopts 失败"
else
LOG_INFO "测试前已安装 texlive-pgfopts保持安装状态"
fi
LOG_INFO "测试完成Test parsing LaTeX key-value options with pgfopts"
}
main "$@"

View File

@@ -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-11-26
# @License : Mulan PSL v2
# @Desc : Test loading the package
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Test loading the package"
# 检查是否已安装texlive-pgfopts
LOG_INFO "检查是否已安装texlive-pgfopts"
dnf list installed texlive-pgfopts > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-pgfopts已安装测试结束后保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-pgfopts未安装将在测试结束后卸载"
INSTALLED=false
fi
# 检查yum源中是否有texlive-pgfopts
LOG_INFO "检查yum源中是否有texlive-pgfopts"
dnf list available texlive-pgfopts > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-pgfopts"
exit 255
fi
# 安装texlive-pgfopts
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装texlive-pgfopts"
dnf install -y texlive-pgfopts
CHECK_RESULT $? 0 0 "安装texlive-pgfopts失败"
fi
# 测试加载包功能
LOG_INFO "测试加载包功能"
texdoc pgfopts > /dev/null 2>&1
CHECK_RESULT $? 0 0 "加载texlive-pgfopts失败"
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-pgfopts"
dnf remove -y texlive-pgfopts
CHECK_RESULT $? 0 0 "卸载texlive-pgfopts失败"
fi
LOG_INFO "测试完成Test loading the package"
}
main "$@"

View File

@@ -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 : 2026-03-18
# @License : Mulan PSL v2
# @Desc : Test setting local (per-package) options
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 判断是否已经安装texlive-pgfopts软件包
LOG_INFO "检查texlive-pgfopts软件包是否已安装"
rpm -q texlive-pgfopts > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-pgfopts软件包已安装测试结束后将保持安装状态"
INSTALLED_FLAG=1
else
LOG_INFO "texlive-pgfopts软件包未安装将在测试过程中安装并在结束后卸载"
INSTALLED_FLAG=0
fi
# 检查yum源中是否有texlive-pgfopts软件包
LOG_INFO "检查yum源中是否有texlive-pgfopts软件包"
dnf list available texlive-pgfopts > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-pgfopts软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $INSTALLED_FLAG -eq 0 ]; then
LOG_INFO "安装texlive-pgfopts软件包"
dnf install -y texlive-pgfopts
CHECK_RESULT $? 0 0 "安装texlive-pgfopts软件包失败"
fi
# 测试设置本地(每个包)选项的功能
LOG_INFO "测试设置本地(每个包)选项的功能"
# 这里假设有一个命令或操作来测试texlive-pgfopts的本地选项功能
# 由于具体测试命令未知这里使用一个示例命令实际应根据texlive-pgfopts的具体功能替换
TEST_COMMAND="some-texlive-pgfopts-command --local-option"
# 检查命令是否存在
command -v some-texlive-pgfopts-command > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "命令some-texlive-pgfopts-command不存在或不支持"
# 清理环境
if [ $INSTALLED_FLAG -eq 0 ]; then
LOG_INFO "卸载texlive-pgfopts软件包"
dnf remove -y texlive-pgfopts
fi
exit 255
fi
# 执行测试命令
$TEST_COMMAND
CHECK_RESULT $? 0 0 "测试设置本地选项功能失败"
# 清理环境:如果测试前未安装,则卸载软件包
if [ $INSTALLED_FLAG -eq 0 ]; then
LOG_INFO "卸载texlive-pgfopts软件包"
dnf remove -y texlive-pgfopts
CHECK_RESULT $? 0 0 "卸载texlive-pgfopts软件包失败"
else
LOG_INFO "测试前已安装texlive-pgfopts保持安装状态"
fi
LOG_INFO "测试脚本执行完成"
}
main "$@"

View File

@@ -1,80 +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 : Verify installation of texlive-substances-doc
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查texlive-substances-doc是否已安装
LOG_INFO "检查texlive-substances-doc是否已安装"
rpm -q texlive-substances-doc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-substances-doc已安装脚本结束时将保持安装状态"
INSTALLED=1
else
LOG_INFO "texlive-substances-doc未安装将在测试后卸载"
INSTALLED=0
fi
# 检查yum源中是否存在texlive-substances-doc软件包
LOG_INFO "检查yum源中是否存在texlive-substances-doc软件包"
dnf list available texlive-substances-doc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在texlive-substances-doc软件包"
exit 255
fi
# 安装texlive-substances-doc软件包
LOG_INFO "开始安装texlive-substances-doc软件包"
dnf install -y texlive-substances-doc
CHECK_RESULT $? 0 0 "安装texlive-substances-doc软件包失败"
# 验证软件包是否成功安装
LOG_INFO "验证texlive-substances-doc是否成功安装"
rpm -q texlive-substances-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "texlive-substances-doc未成功安装"
# 执行测试用例Verify installation of texlive-substances-doc
LOG_INFO "执行测试用例Verify installation of texlive-substances-doc"
# 检查命令参数是否支持示例假设texdoc是相关命令
LOG_INFO "检查命令参数是否支持"
texdoc --help > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "命令参数不支持或命令不存在"
exit 255
fi
# 使用SSH_CMD在第二个节点上执行命令示例
LOG_INFO "在第二个节点上执行命令(示例)"
SSH_CMD "rpm -q texlive-substances-doc" "$NODE2_IPV4" "$NODE2_PASSWORD" "$NODE2_USER"
CHECK_RESULT $? 0 0 "在第二个节点上执行命令失败"
# 清理环境:如果之前未安装,则卸载软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "清理环境卸载texlive-substances-doc软件包"
dnf remove -y texlive-substances-doc
CHECK_RESULT $? 0 0 "卸载texlive-substances-doc软件包失败"
fi
LOG_INFO "测试脚本执行完毕,环境已恢复"
}
main "$@"