This commit is contained in:
2026-04-25 02:39:33 +08:00
49 changed files with 0 additions and 3619 deletions

View File

@@ -6,10 +6,6 @@
"name": "test_ant-antunit-javadoc_install",
"desc": "测试软件包 ant-antunit-javadoc 的安装功能",
"machine num": 1
},
{
"name": "test_ant-antunit-javadoc_function_docgen",
"desc": "测试软件包 ant-antunit-javadoc 的文档生成功能"
}
]
}

View File

@@ -1,14 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/php/php-gd",
"machine num": 1,
"cases": [
{
"name": "test_php-gd_function_imagecreate",
"desc": "Verify image creation functionality"
},
{
"name": "test_php-gd_function_imagefilter",
"desc": "Verify image filter functionality"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/python-fastjsonschema/python3-fastjsonschema",
"machine num": 1,
"cases": [
{
"name": "test_python3-fastjsonschema_function_validate",
"desc": "Test basic JSON schema validation functionality"
}
]
}

View File

@@ -13,18 +13,6 @@
{
"name": "test_python3-pyqt5-sip_function_install",
"desc": "Test installation of python3-pyqt5-sip package"
},
{
"name": "test_python3-pyqt5-sip_function_import",
"desc": "Test importing sip module in Python"
},
{
"name": "test_python3-pyqt5-sip_function_basic_api",
"desc": "Test basic SIP API functionality"
},
{
"name": "test_python3-pyqt5-sip_function_version",
"desc": "Check sip module version info"
}
]
}

View File

@@ -13,14 +13,6 @@
{
"name": "test_texlive-acronym-doc_function_check_version",
"desc": "Test version information query"
},
{
"name": "test_texlive-acronym-doc_function_verify_files",
"desc": "Verify core documentation files exist"
},
{
"name": "test_texlive-acronym-doc_function_display_help",
"desc": "Test accessing package documentation"
}
]
}

View File

@@ -10,17 +10,9 @@
"name": "test_texlive-chemmacros-doc_function_remove",
"desc": "Test package removal"
},
{
"name": "test_texlive-chemmacros-doc_function_check_installed",
"desc": "Check if package is installed"
},
{
"name": "test_texlive-chemmacros-doc_function_verify_files",
"desc": "Verify core documentation files"
},
{
"name": "test_texlive-chemmacros-doc_function_list_content",
"desc": "List package documentation content"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-l/texlive-hyphen-esperanto",
"machine num": 1,
"cases": [
{
"name": "test_texlive-hyphen-esperanto_function_hyphenation",
"desc": "Test hyphenation rules for Esperanto"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-m/texlive-kerntest",
"machine num": 1,
"cases": [
{
"name": "test_texlive-kerntest_function_kern",
"desc": "Test kerning functionality"
}
]
}

View File

@@ -17,16 +17,6 @@
"desc": "测试texlive-mnsymbol-doc软件包的升级功能",
"machine num": 1
},
{
"name": "test_texlive-mnsymbol-doc_downgrade",
"desc": "测试texlive-mnsymbol-doc软件包的降级功能",
"machine num": 1
},
{
"name": "test_texlive-mnsymbol-doc_rollback",
"desc": "测试texlive-mnsymbol-doc软件包的回滚功能",
"machine num": 1
},
{
"name": "test_texlive-mnsymbol-doc_reinstall",
"desc": "测试texlive-mnsymbol-doc软件包的重新安装功能",
@@ -47,132 +37,6 @@
"desc": "测试texlive-mnsymbol-doc软件包的文档访问功能确保文档可以通过指定路径访问",
"machine num": 1
},
{
"name": "test_texlive-mnsymbol-doc_documentation_search",
"desc": "测试texlive-mnsymbol-doc软件包的文档搜索功能确保可以通过关键词搜索文档内容",
"machine num": 1
},
{
"name": "test_texlive-mnsymbol-doc_documentation_format",
"desc": "测试texlive-mnsymbol-doc软件包的文档格式功能确保文档格式正确且符合标准",
"machine num": 1
},
{
"name": "test_texlive-mnsymbol-doc_documentation_content",
"desc": "测试texlive-mnsymbol-doc软件包的文档内容功能确保文档内容完整且无缺失",
"machine num": 1
},
{
"name": "test_texlive-mnsymbol-doc_documentation_links",
"desc": "测试texlive-mnsymbol-doc软件包的文档链接功能确保文档中的所有链接有效且可访问",
"machine num": 1
},
{
"name": "test_texlive-mnsymbol-doc_documentation_version",
"desc": "测试texlive-mnsymbol-doc软件包的文档版本功能确保文档版本与软件包版本一致",
"machine num": 1
},
{
"name": "test_texlive-mnsymbol-doc_documentation_examples",
"desc": "测试texlive-mnsymbol-doc软件包的文档示例功能确保文档中的示例代码可运行且结果正确",
"machine num": 1
},
{
"name": "test_texlive-mnsymbol-doc_documentation_metadata",
"desc": "测试texlive-mnsymbol-doc软件包的文档元数据功能确保文档中的元数据信息完整且正确",
"machine num": 1
},
{
"name": "test_texlive-mnsymbol-doc_documentation_index",
"desc": "测试texlive-mnsymbol-doc软件包的文档索引功能确保文档索引完整且可正确导航",
"machine num": 1
},
{
"name": "test_texlive-mnsymbol-doc_documentation_license",
"desc": "测试texlive-mnsymbol-doc软件包的文档许可功能确保文档中的许可信息完整且符合开源许可要求",
"machine num": 1
},
{
"name": "test_texlive-mnsymbol-doc_documentation_style",
"desc": "测试texlive-mnsymbol-doc软件包的文档样式功能确保文档样式一致且符合规范",
"machine num": 1
},
{
"name": "test_texlive-mnsymbol-doc_documentation_toc",
"desc": "测试texlive-mnsymbol-doc软件包的文档目录功能确保文档目录结构清晰且可正确导航",
"machine num": 1
},
{
"name": "test_texlive-mnsymbol-doc_documentation_toc_verify",
"desc": "测试texlive-mnsymbol-doc软件包的文档目录验证功能确保文档目录结构内容与文档实际内容一致",
"machine num": 1
},
{
"name": "test_texlive-mnsymbol-doc_documentation_syntax",
"desc": "测试texlive-mnsymbol-doc软件包的文档语法功能确保文档中的语法正确且符合规范",
"machine num": 1
},
{
"name": "test_texlive-mnsymbol-doc_documentation_glossary",
"desc": "测试texlive-mnsymbol-doc软件包的文档术语表功能确保文档中的术语表完整且术语定义准确",
"machine num": 1
},
{
"name": "test_texlive-mnsymbol-doc_documentation_print",
"desc": "测试texlive-mnsymbol-doc软件包的文档打印功能确保文档可以正确打印且格式无误",
"machine num": 1
},
{
"name": "test_texlive-mnsymbol-doc_documentation_help",
"desc": "测试texlive-mnsymbol-doc软件包的文档帮助功能确保文档中的帮助信息完整且可访问",
"machine num": 1
},
{
"name": "test_texlive-mnsymbol-doc_documentation_fonts",
"desc": "测试texlive-mnsymbol-doc软件包的文档字体功能确保文档中的字体显示正确且符合规范",
"machine num": 1
},
{
"name": "test_texlive-mnsymbol-doc_documentation_font_size",
"desc": "测试texlive-mnsymbol-doc软件包的文档字体大小功能确保文档中的字体大小显示正确且符合规范",
"machine num": 1
},
{
"name": "test_texlive-mnsymbol-doc_documentation_responsive",
"desc": "测试texlive-mnsymbol-doc软件包的文档响应式功能确保文档在不同屏幕尺寸下显示正常",
"machine num": 1
},
{
"name": "test_texlive-mnsymbol-doc_documentation_unicode",
"desc": "测试texlive-mnsymbol-doc软件包的文档unicode支持功能确保文档中的unicode字符显示正确且符合规范",
"machine num": 1
},
{
"name": "test_texlive-mnsymbol-doc_documentation_bookmarks",
"desc": "测试texlive-mnsymbol-doc软件包的文档书签功能确保文档中的书签功能正常且可正确导航",
"machine num": 1
},
{
"name": "test_texlive-mnsymbol-doc_documentation_export",
"desc": "测试texlive-mnsymbol-doc软件包的文档导出功能确保文档可以正确导出为指定格式且内容完整",
"machine num": 1
},
{
"name": "test_texlive-mnsymbol-doc_function_install",
"desc": "测试 texlive-mnsymbol-doc 软件包的基本安装功能,验证其能否被正确安装到系统中。"
},
{
"name": "test_texlive-mnsymbol-doc_function_uninstall",
"desc": "测试 texlive-mnsymbol-doc 软件包的卸载功能,确保其能被完全移除且不残留文件。"
},
{
"name": "test_texlive-mnsymbol-doc_function_doc_access",
"desc": "测试 texlive-mnsymbol-doc 软件包的核心文档访问功能,验证文档文件是否存在且可读。"
},
{
"name": "test_texlive-mnsymbol-doc_function_doc_content",
"desc": "测试 texlive-mnsymbol-doc 软件包文档的内容完整性,确保关键说明和示例存在。"
},
{
"name": "test_texlive-mnsymbol-doc_function_package_info",
"desc": "测试 texlive-mnsymbol-doc 软件包的包信息查询功能,验证版本和依赖信息是否正确。"

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-12-02
# @License : Mulan PSL v2
# @Desc : 测试软件包 ant-antunit-javadoc 的文档生成功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试软件包 ant-antunit-javadoc 的文档生成功能"
# 检查环境是否已安装 ant-antunit-javadoc
LOG_INFO "检查是否已安装 ant-antunit-javadoc"
if dnf list installed ant-antunit-javadoc &>/dev/null; then
LOG_INFO "ant-antunit-javadoc 已安装,脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "ant-antunit-javadoc 未安装,将在测试步骤中安装并在结束时卸载"
INSTALLED=false
fi
# 检查 yum 源中是否有 ant-antunit-javadoc 软件包
LOG_INFO "检查 yum 源中是否存在 ant-antunit-javadoc 软件包"
if ! dnf list available ant-antunit-javadoc &>/dev/null; then
LOG_ERROR "yum 源中未找到 ant-antunit-javadoc 软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装 ant-antunit-javadoc 软件包"
dnf install -y ant-antunit-javadoc
CHECK_RESULT $? 0 0 "安装 ant-antunit-javadoc 失败"
fi
# 测试文档生成功能
LOG_INFO "测试 ant-antunit-javadoc 的文档生成功能"
javadoc -d /tmp/ant-antunit-javadoc-test -sourcepath /usr/share/ant-antunit-javadoc -subpackages org.apache.ant
CHECK_RESULT $? 0 0 "文档生成失败"
# 检查生成的文档目录是否存在
LOG_INFO "检查生成的文档目录是否存在"
if [ -d "/tmp/ant-antunit-javadoc-test" ]; then
LOG_INFO "文档生成成功,目录 /tmp/ant-antunit-javadoc-test 存在"
else
LOG_ERROR "文档生成失败,目录 /tmp/ant-antunit-javadoc-test 不存在"
exit 1
fi
# 清理生成的文档目录
LOG_INFO "清理生成的文档目录"
rm -rf /tmp/ant-antunit-javadoc-test
CHECK_RESULT $? 0 0 "清理文档目录失败"
#如果脚本开始时未安装,则在结束时卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载 ant-antunit-javadoc 软件包"
dnf remove -y ant-antunit-javadoc
CHECK_RESULT $?
}
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-30
# @License : Mulan PSL v2
# @Desc : Verify image creation functionality
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试PHP-GD的图像创建功能"
# 检查软件包是否在yum源中
LOG_INFO "检查php-gd软件包是否在yum源中"
dnf list available php-gd > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "php-gd软件包不在yum源中"
exit 255
fi
# 检查是否已安装php-gd
LOG_INFO "检查是否已安装php-gd"
rpm -q php-gd > /dev/null 2>&1
if [ $? -eq 0 ]; then
installed=true
LOG_INFO "php-gd已安装测试结束后将保持安装状态"
else
installed=false
LOG_INFO "php-gd未安装将在测试结束后卸载"
fi
# 安装php-gd如果未安装
if [ "$installed" = false ]; then
LOG_INFO "安装php-gd软件包"
dnf install -y php-gd
CHECK_RESULT $? 0 0 "安装php-gd失败"
fi
# 测试imagecreate功能
LOG_INFO "测试imagecreate功能"
php -r "if (function_exists("imagecreate")) { echo "imagecreate函数存在\n"; } else { echo "imagecreate函数不存在\n"; exit(1); }"
CHECK_RESULT $? 0 0 "imagecreate功能测试失败"
# 清理环境(如果之前未安装)
if [ "$installed" = false ]; then
LOG_INFO "卸载php-gd软件包"
dnf remove -y php-gd
CHECK_RESULT $? 0 0 "卸载php-gd失败"
fi
LOG_INFO "PHP-GD的图像创建功能测试完成"
}
main "$@"

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 : 2025-12-05
# @License : Mulan PSL v2
# @Desc : Verify image filter functionality
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装php-gd软件包
LOG_INFO "检查是否已安装php-gd软件包"
rpm -q php-gd > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "php-gd软件包已安装"
INSTALLED=1
else
LOG_INFO "php-gd软件包未安装"
INSTALLED=0
fi
# 检查yum源中是否有php-gd软件包
LOG_INFO "检查yum源中是否有php-gd软件包"
dnf list available php-gd > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到php-gd软件包"
exit 255
fi
# 如果未安装则安装php-gd软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装php-gd软件包"
dnf install -y php-gd > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装php-gd软件包失败"
LOG_INFO "php-gd软件包安装成功"
fi
# 验证image filter功能
LOG_INFO "验证image filter功能"
echo "<?php
$im = imagecreatetruecolor(100, 100);
$red = imagecolorallocate($im, 255, 0, 0);
imagefill($im, 0, 0, $red);
imagefilter($im, IMG_FILTER_GRAYSCALE);
header("Content-Type: image/png");
imagepng($im);
imagedestroy($im);
?>" > test_imagefilter.php
CHECK_RESULT $? 0 0 "创建测试PHP文件失败"
php test_imagefilter.php > output.png 2>&1
CHECK_RESULT $? 0 0 "执行PHP脚本失败"
# 检查输出文件是否存在
if [ ! -f output.png ]; then
LOG_ERROR "未生成输出文件output.png"
exit 255
fi
LOG_INFO "image filter功能验证成功"
#清理测试文件
rm -f test_imagefilter.php output.png
LOG_INFO "清理测试文件完成"
#如果脚本开始时未安装php-gd则在结束时卸载
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始卸载php-gd软件包"
dnf remove -y php-gd > /dev/null 2>&1
CHECK_RESULT ? ? ? “卸载 php- gd 失败”
LOG_INFO “ php - gd 卸载成功”
fi
}
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 : 2025-12-03
# @License : Mulan PSL v2
# @Desc : Test basic JSON schema validation functionality
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Test basic JSON schema validation functionality"
# 检查是否已安装python3-fastjsonschema
LOG_INFO "检查是否已安装python3-fastjsonschema"
if dnf list installed python3-fastjsonschema &>/dev/null; then
LOG_INFO "python3-fastjsonschema已安装测试完成后将保持安装状态"
INSTALLED=true
else
LOG_INFO "python3-fastjsonschema未安装将在测试完成后卸载"
INSTALLED=false
fi
# 检查yum源中是否有python3-fastjsonschema
LOG_INFO "检查yum源中是否有python3-fastjsonschema"
if ! dnf list available python3-fastjsonschema &>/dev/null; then
LOG_ERROR "yum源中未找到python3-fastjsonschema退出测试"
exit 255
fi
# 安装python3-fastjsonschema
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装python3-fastjsonschema"
dnf install -y python3-fastjsonschema
CHECK_RESULT $? 0 0 "安装python3-fastjsonschema失败"
fi
# 测试JSON schema验证功能
LOG_INFO "测试JSON schema验证功能"
cat <<EOF > test_schema.json
{
"\$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {"type": "string"},
"age": {"type": "number"}
},
"required": ["name", "age"]
}
EOF
cat <<EOF > test_data.json
{
"name": "John Doe",
"age": 30
}
EOF
python3 -c "
import fastjsonschema
import json
with open("test_schema.json") as f:
schema = json.load(f)
with open("test_data.json") as f:
data = json.load(f)
try:
fastjsonschema.validate(schema, data)
print("Validation succeeded")
except Exception as e:
print(f"Validation failed: {e}")
" > validation_result.txt
CHECK_RESULT $? 0 0 "JSON schema验证失败"
# 清理临时文件
LOG_INFO "清理临时文件"
rm -f test_schema.json test_data.json validation_result.txt
# 卸载python3-fastjsonschema如果之前未安装
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载python3-fastjsonschema"
dnf remove -y python3-fastjsonschema
CHECK_RESULT $? 0 0 "卸载python3-fastjsonschema失败"
fi
LOG_INFO "测试完成Test basic JSON schema validation functionality"
}
main "$@"

View File

@@ -1,275 +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-11
# @License : Mulan PSL v2
# @Desc : Test basic SIP API functionality
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试基本SIP API功能
LOG_INFO "开始测试基本SIP API功能"
# 定义需要测试的软件包
PACKAGES="python3 python3-pyqt5 python3-sip"
# 检查软件包是否已在系统中安装
LOG_INFO "检查系统中是否已安装所需软件包"
ALL_INSTALLED=true
for pkg in $PACKAGES; do
if ! rpm -q $pkg &>/dev/null; then
LOG_INFO "软件包 $pkg 未安装"
ALL_INSTALLED=false
fi
done
# 记录初始安装状态
if $ALL_INSTALLED; then
LOG_INFO "所有软件包已安装,测试结束后将保持安装状态"
WAS_INSTALLED=true
else
LOG_INFO "部分或全部软件包未安装,测试结束后将卸载安装的软件包"
WAS_INSTALLED=false
fi
# 检查yum源中是否存在这些软件包
LOG_INFO "检查yum源中是否存在所需软件包"
for pkg in $PACKAGES; do
if ! dnf list available $pkg 2>/dev/null | grep -q $pkg; then
LOG_ERROR "yum源中不存在软件包: $pkg"
exit 255
fi
done
# 如果未安装,则安装软件包
if ! $ALL_INSTALLED; then
LOG_INFO "开始安装软件包: $PACKAGES"
dnf install -y $PACKAGES
CHECK_RESULT $? 0 0 "软件包安装失败"
LOG_INFO "软件包安装成功"
fi
# 测试Python3基本功能
LOG_INFO "测试Python3基本功能"
python3 -c "import sys; print("Python版本:", sys.version)"
CHECK_RESULT $? 0 0 "Python3基本功能测试失败"
# 测试PyQt5导入
LOG_INFO "测试PyQt5导入"
python3 -c "from PyQt5 import QtCore; print("PyQt5导入成功")"
CHECK_RESULT $? 0 0 "PyQt5导入测试失败"
# 测试SIP API基本功能
LOG_INFO "测试SIP API基本功能"
python3 -c "
import sip
# 测试sip模块基本功能
print("SIP版本:", sip.SIP_VERSION_STR)
print("SIP版本号:", sip.SIP_VERSION)
# 测试sip.isdeleted函数
class TestClass:
pass
obj = TestClass()
print("对象删除前:", sip.isdeleted(obj))
del obj
print("sip模块基本功能测试完成")
"
CHECK_RESULT $? 0 0 "SIP API基本功能测试失败"
# 测试sip.assign函数
LOG_INFO "测试sip.assign函数"
python3 -c "
import sip
class TestClass:
def __init__(self, value):
self.value = value
obj1 = TestClass(10)
obj2 = TestClass(20)
print("对象1值:", obj1.value)
print("对象2值:", obj2.value)
# 测试assign函数
try:
sip.assign(obj1, obj2)
print("assign函数测试完成")
except AttributeError as e:
print("assign函数测试:", str(e))
"
CHECK_RESULT $? 0 0 "sip.assign函数测试失败"
# 测试sip.cast函数如果可用
LOG_INFO "测试sip.cast函数"
python3 -c "
import sip
# 测试类型转换
try:
result = sip.cast("int", 10)
print("cast函数结果:", result)
except AttributeError as e:
print("cast函数测试:", str(e))
"
# cast函数在某些版本中可能不可用所以不强制检查结果
# 测试sip.getapi函数
LOG_INFO "测试sip.getapi函数"
python3 -c "
import sip
# 获取API版本
api_version = sip.getapi("QDate")
print("QDate API版本:", api_version)
"
CHECK_RESULT $? 0 0 "sip.getapi函数测试失败"
# 测试sip.setapi函数
LOG_INFO "测试sip.setapi函数"
python3 -c "
import sip
# 设置API版本
try:
sip.setapi("QString", 2)
print("API设置成功")
except ValueError as e:
print("API设置测试:", str(e))
"
CHECK_RESULT $? 0 0 "sip.setapi函数测试失败"
# 测试sip.simplewrapper函数
LOG_INFO "测试sip.simplewrapper函数"
python3 -c "
import sip
class SimpleClass:
pass
# 创建简单包装器
wrapper = sip.simplewrapper(SimpleClass)
print("简单包装器创建成功:", wrapper)
"
CHECK_RESULT $? 0 0 "sip.simplewrapper函数测试失败"
# 测试sip.transferback函数
LOG_INFO "测试sip.transferback函数"
python3 -c "
import sip
class TransferClass:
pass
obj = TransferClass()
# 测试transferback函数
try:
sip.transferback(obj, 1)
print("transferback函数测试完成")
except AttributeError as e:
print("transferback函数测试:", str(e))
"
# transferback函数在某些版本中可能不可用所以不强制检查结果
# 测试sip.wrapinstance函数
LOG_INFO "测试sip.wrapinstance函数"
python3 -c "
import sip
# 测试wrapinstance函数
try:
# 创建一个简单的对象
addr = id(object())
wrapped = sip.wrapinstance(addr, object)
print("wrapinstance函数测试完成")
except AttributeError as e:
print("wrapinstance函数测试:", str(e))
"
# wrapinstance函数在某些版本中可能不可用所以不强制检查结果
# 测试sip.unwrapinstance函数
LOG_INFO "测试sip.unwrapinstance函数"
python3 -c "
import sip
# 测试unwrapinstance函数
try:
obj = object()
addr = sip.unwrapinstance(obj)
print("unwrapinstance地址:", addr)
except AttributeError as e:
print("unwrapinstance函数测试:", str(e))
"
# unwrapinstance函数在某些版本中可能不可用所以不强制检查结果
# 综合测试使用SIP API创建和操作对象
LOG_INFO "执行SIP API综合测试"
python3 -c "
import sip
from PyQt5 import QtCore
# 创建QObject对象
obj = QtCore.QObject()
# 设置对象名称
obj.setObjectName("TestObject")
# 获取对象名称
name = obj.objectName()
print("对象名称:", name)
# 测试对象删除检测
print("对象删除前sip.isdeleted:", sip.isdeleted(obj))
# 测试对象API
print("对象API版本:", sip.getapi("QObject"))
print("SIP API综合测试完成")
"
CHECK_RESULT $? 0 0 "SIP API综合测试失败"
# 环境清理
LOG_INFO "开始环境清理"
# 如果测试前未安装,则卸载安装的软件包
if ! $WAS_INSTALLED; then
LOG_INFO "卸载测试安装的软件包"
dnf remove -y $PACKAGES
CHECK_RESULT $? 0 0 "软件包卸载失败"
LOG_INFO "软件包卸载成功"
else
LOG_INFO "保持软件包安装状态"
fi
# 验证环境已恢复
if ! $WAS_INSTALLED; then
LOG_INFO "验证软件包已卸载"
for pkg in $PACKAGES; do
if rpm -q $pkg &>/dev/null; then
LOG_ERROR "软件包 $pkg 未正确卸载"
exit 1
fi
done
LOG_INFO "所有测试软件包已成功卸载"
fi
LOG_INFO "基本SIP API功能测试完成"
}
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-11
# @License : Mulan PSL v2
# @Desc : Test importing sip module in Python
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否以root用户运行
if [ "$(id -u)" -ne 0 ]; then
LOG_ERROR "请使用root用户运行此脚本"
exit 1
fi
# 定义需要测试的软件包
PACKAGES="python3 python3-pyqt5-sip"
# 定义日志文件
LOG_FILE="/tmp/test_python3-pyqt5-sip_import.log"
# 初始化环境状态变量
ENV_INSTALLED=false
INSTALLED_PACKAGES=""
# 步骤1: 检查环境是否已安装
LOG_INFO "步骤1: 检查环境是否已安装"
for pkg in $PACKAGES; do
if rpm -q $pkg &>/dev/null; then
LOG_INFO "软件包 $pkg 已安装"
ENV_INSTALLED=true
INSTALLED_PACKAGES="$INSTALLED_PACKAGES $pkg"
else
LOG_INFO "软件包 $pkg 未安装"
fi
done
# 步骤2: 检查yum源中是否存在所需软件包
LOG_INFO "步骤2: 检查yum源中是否存在所需软件包"
for pkg in $PACKAGES; do
if ! dnf list available $pkg &>/dev/null; then
LOG_ERROR "yum源中不存在软件包 $pkg"
exit 255
fi
LOG_INFO "yum源中存在软件包 $pkg"
done
# 步骤3: 如果环境未安装,则安装软件包
if [ "$ENV_INSTALLED" = false ]; then
LOG_INFO "步骤3: 安装所需软件包"
dnf install -y $PACKAGES
CHECK_RESULT $? 0 0 "软件包安装失败"
LOG_INFO "软件包安装成功"
fi
# 步骤4: 测试Python中导入sip模块
LOG_INFO "步骤4: 测试Python中导入sip模块"
python3 -c "import sip"
CHECK_RESULT $? 0 0 "Python导入sip模块失败"
# 步骤5: 测试Python中导入PyQt5.sip模块
LOG_INFO "步骤5: 测试Python中导入PyQt5.sip模块"
python3 -c "from PyQt5 import sip"
CHECK_RESULT $? 0 0 "Python导入PyQt5.sip模块失败"
LOG_INFO "所有测试步骤执行成功"
# 步骤6: 环境恢复
LOG_INFO "步骤6: 环境恢复"
if [ "$ENV_INSTALLED" = false ]; then
LOG_INFO "卸载测试安装的软件包"
dnf remove -y $PACKAGES
CHECK_RESULT $? 0 0 "软件包卸载失败"
LOG_INFO "软件包卸载成功"
else
LOG_INFO "环境已安装,保持原状"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,84 +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-11
# @License : Mulan PSL v2
# @Desc : Check sip module version info
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 判断是否已安装python3-pyqt5-sip
LOG_INFO "检查环境是否已安装python3-pyqt5-sip"
rpm -q python3-pyqt5-sip > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "环境已安装python3-pyqt5-sip测试结束后将保持安装状态"
installed_before=1
else
LOG_INFO "环境未安装python3-pyqt5-sip将在测试过程中安装并在测试结束后卸载"
installed_before=0
fi
# 检查yum源中是否有python3-pyqt5-sip软件包
LOG_INFO "检查yum源中是否有python3-pyqt5-sip软件包"
dnf list available python3-pyqt5-sip > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中不存在python3-pyqt5-sip软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在python3-pyqt5-sip软件包"
exit 255
fi
# 如果未安装则安装python3-pyqt5-sip
if [ $installed_before -eq 0 ]; then
LOG_INFO "安装python3-pyqt5-sip软件包"
dnf install -y python3-pyqt5-sip
CHECK_RESULT $? 0 0 "安装python3-pyqt5-sip失败"
fi
# 检查sip模块版本信息
LOG_INFO "检查sip模块版本信息"
python3 -c "import sip; print(sip.SIP_VERSION_STR)" > /dev/null 2>&1
CHECK_RESULT $? 0 0 "获取sip模块版本信息失败"
# 获取sip版本信息
LOG_INFO "获取sip版本信息"
sip_version=$(python3 -c "import sip; print(sip.SIP_VERSION_STR)" 2>/dev/null)
if [ -z "$sip_version" ]; then
LOG_ERROR "无法获取sip版本信息"
exit 1
fi
LOG_INFO "sip版本信息: $sip_version"
# 检查sip版本信息是否有效
LOG_INFO "检查sip版本信息是否有效"
if [[ $sip_version =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
LOG_INFO "sip版本信息格式正确"
else
LOG_ERROR "sip版本信息格式不正确"
exit 1
fi
# 清理环境如果测试前未安装则卸载python3-pyqt5-sip
if [ $installed_before -eq 0 ]; then
LOG_INFO "卸载python3-pyqt5-sip软件包"
dnf remove -y python3-pyqt5-sip
CHECK_RESULT $? 0 0 "卸载python3-pyqt5-sip失败"
LOG_INFO "环境已恢复到测试前的状态"
else
LOG_INFO "测试前环境已安装python3-pyqt5-sip保持安装状态"
fi
}
main "$@"

View File

@@ -1,125 +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-07
# @License : Mulan PSL v2
# @Desc : Test accessing package documentation
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试环境初始化检查
LOG_INFO "开始测试Test accessing package documentation"
LOG_INFO "检查当前环境中是否已安装texlive-acronym-doc软件包"
# 检查软件包是否已安装
if rpm -q texlive-acronym-doc &> /dev/null; then
LOG_INFO "检测到texlive-acronym-doc已安装标记为保持安装状态"
KEEP_INSTALLED=true
else
LOG_INFO "texlive-acronym-doc未安装标记为需要清理"
KEEP_INSTALLED=false
fi
# 检查yum源中是否存在该软件包
LOG_INFO "检查yum源中是否存在texlive-acronym-doc软件包"
if ! dnf list available texlive-acronym-doc &> /dev/null; then
LOG_ERROR "yum源中未找到texlive-acronym-doc软件包"
exit 255
fi
# 如果未安装,则安装软件包作为测试步骤
if [ "$KEEP_INSTALLED" = "false" ]; then
LOG_INFO "开始安装texlive-acronym-doc软件包"
dnf install -y texlive-acronym-doc
CHECK_RESULT $? 0 0 "安装texlive-acronym-doc失败"
LOG_INFO "texlive-acronym-doc安装成功"
fi
# 测试访问软件包文档功能
LOG_INFO "测试访问texlive-acronym-doc文档"
# 使用rpm -qd查询文档文件
rpm -qd texlive-acronym-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "查询texlive-acronym-doc文档失败"
# 验证文档文件是否存在
LOG_INFO "验证文档文件是否存在"
DOC_FILES=$(rpm -qd texlive-acronym-doc 2>/dev/null | head -5)
if [ -z "$DOC_FILES" ]; then
LOG_ERROR "未找到texlive-acronym-doc的文档文件"
CHECK_RESULT 1 0 0 "文档文件不存在"
else
LOG_INFO "找到文档文件:"
echo "$DOC_FILES" | while read -r file; do
LOG_INFO " $file"
done
CHECK_RESULT 0 0 0 "文档文件验证成功"
fi
# 测试帮助命令(如果软件包提供)
LOG_INFO "测试软件包相关命令的帮助信息"
# 查找可能的命令
POSSIBLE_CMDS=$(rpm -ql texlive-acronym-doc | grep -E "/bin/|/sbin/" | head -5)
if [ -n "$POSSIBLE_CMDS" ]; then
for cmd in $POSSIBLE_CMDS; do
if [ -x "$cmd" ]; then
LOG_INFO "测试命令帮助:$cmd --help"
"$cmd" --help > /dev/null 2>&1
if [ $? -eq 0 ] || [ $? -eq 1 ]; then
LOG_INFO "命令 $cmd 支持--help参数"
else
LOG_INFO "命令 $cmd 不支持--help参数或执行失败"
fi
fi
done
else
LOG_INFO "该软件包不包含可执行命令"
fi
# 测试无效参数处理
LOG_INFO "测试无效参数处理"
# 尝试使用不存在的参数
rpm -qd texlive-acronym-doc --invalid-param > /dev/null 2>&1
if [ $? -eq 255 ]; then
LOG_ERROR "检测到无效参数退出码为255"
exit 255
fi
# 环境清理
LOG_INFO "开始环境清理"
if [ "$KEEP_INSTALLED" = "false" ]; then
LOG_INFO "卸载测试安装的texlive-acronym-doc软件包"
dnf remove -y texlive-acronym-doc
CHECK_RESULT $? 0 0 "卸载texlive-acronym-doc失败"
LOG_INFO "texlive-acronym-doc卸载成功"
else
LOG_INFO "保持texlive-acronym-doc安装状态不进行卸载"
fi
# 验证环境已恢复
if [ "$KEEP_INSTALLED" = "false" ]; then
LOG_INFO "验证环境已恢复"
if rpm -q texlive-acronym-doc &> /dev/null; then
LOG_ERROR "环境清理失败texlive-acronym-doc仍然存在"
CHECK_RESULT 1 0 0 "环境清理失败"
else
LOG_INFO "环境恢复成功texlive-acronym-doc已卸载"
fi
fi
LOG_INFO "测试完成Test accessing package documentation"
}
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-04-07
# @License : Mulan PSL v2
# @Desc : Verify core documentation files exist
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试Verify core documentation files exist"
# 检查软件包是否存在
LOG_INFO "检查yum源中是否存在texlive-acronym-doc软件包"
if ! dnf list --available texlive-acronym-doc &> /dev/null; then
LOG_ERROR "yum源中未找到texlive-acronym-doc软件包"
exit 255
fi
# 检查环境是否已安装
LOG_INFO "检查环境是否已安装texlive-acronym-doc"
if rpm -q texlive-acronym-doc &> /dev/null; then
LOG_INFO "环境已安装texlive-acronym-doc测试后保持安装状态"
INSTALLED=true
else
LOG_INFO "环境未安装texlive-acronym-doc将在测试后卸载"
INSTALLED=false
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "安装texlive-acronym-doc软件包"
dnf install -y texlive-acronym-doc
CHECK_RESULT $? 0 0 "安装texlive-acronym-doc失败"
fi
# 验证核心文档文件是否存在
LOG_INFO "验证核心文档文件是否存在"
DOC_FILES=(
"/usr/share/texlive/texmf-dist/doc/latex/acronym/README"
"/usr/share/texlive/texmf-dist/doc/latex/acronym/acronym.pdf"
"/usr/share/texlive/texmf-dist/doc/latex/acronym/acronym.tex"
)
for file in "${DOC_FILES[@]}"; do
if [ -f "$file" ]; then
LOG_INFO "文件存在: $file"
else
LOG_ERROR "文件不存在: $file"
exit 1
fi
done
LOG_INFO "所有核心文档文件均存在,测试通过"
# 环境恢复
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "卸载texlive-acronym-doc软件包"
dnf remove -y texlive-acronym-doc
CHECK_RESULT $? 0 0 "卸载texlive-acronym-doc失败"
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-01
# @License : Mulan PSL v2
# @Desc : List package documentation content
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 设置严格模式
set -euo pipefail
# 定义常量
PACKAGE_NAME="texlive-chemmacros-doc"
LOG_FILE="/tmp/test_texlive-chemmacros-doc.log"
# 初始化日志文件
: > "$LOG_FILE"
# 步骤1: 检查yum源中是否存在指定软件包
LOG_INFO "步骤1: 检查yum源中是否存在${PACKAGE_NAME}软件包"
if ! dnf list available "${PACKAGE_NAME}" &>/dev/null; then
LOG_ERROR "yum源中未找到${PACKAGE_NAME}软件包"
exit 255
fi
# 步骤2: 检查软件包是否已安装
LOG_INFO "步骤2: 检查${PACKAGE_NAME}软件包是否已安装"
if rpm -q "${PACKAGE_NAME}" &>/dev/null; then
LOG_INFO "软件包已安装,标记为已存在状态"
ALREADY_INSTALLED=true
else
LOG_INFO "软件包未安装,将在测试过程中安装"
ALREADY_INSTALLED=false
fi
# 步骤3: 安装软件包(如果未安装)
if [ "$ALREADY_INSTALLED" = false ]; then
LOG_INFO "步骤3: 安装${PACKAGE_NAME}软件包"
dnf install -y "${PACKAGE_NAME}"
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 步骤4: 验证rpm命令参数支持
LOG_INFO "步骤4: 验证rpm命令参数支持"
if ! rpm --help | grep -q "\-qd"; then
LOG_ERROR "rpm命令不支持-qd参数"
exit 255
fi
# 步骤5: 列出软件包文档内容
LOG_INFO "步骤5: 列出${PACKAGE_NAME}软件包文档内容"
DOC_FILES=$(rpm -qd "${PACKAGE_NAME}" 2>/dev/null)
RPM_EXIT_CODE=$?
if [ $RPM_EXIT_CODE -eq 0 ]; then
if [ -n "$DOC_FILES" ]; then
LOG_INFO "找到文档文件:"
echo "$DOC_FILES" | while read -r file; do
LOG_INFO " $file"
done
CHECK_RESULT 0 0 0 "成功列出文档内容"
else
LOG_INFO "该软件包没有文档文件"
CHECK_RESULT 0 0 0 "软件包无文档文件"
fi
elif [ $RPM_EXIT_CODE -eq 1 ]; then
LOG_ERROR "指定的软件包未安装"
CHECK_RESULT 1 0 1 "软件包未安装"
else
LOG_ERROR "rpm命令执行失败退出码$RPM_EXIT_CODE"
exit $RPM_EXIT_CODE
fi
# 步骤6: 环境清理
LOG_INFO "步骤6: 清理测试环境"
if [ "$ALREADY_INSTALLED" = false ]; then
LOG_INFO "卸载测试安装的软件包"
dnf remove -y "${PACKAGE_NAME}"
CHECK_RESULT $? 0 0 "卸载软件包失败"
LOG_INFO "已恢复到测试前状态"
else
LOG_INFO "保持软件包安装状态"
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-11-26
# @License : Mulan PSL v2
# @Desc : Test hyphenation rules for Esperanto
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装texlive-hyphen-esperanto软件包
LOG_INFO "检查是否已安装texlive-hyphen-esperanto软件包"
rpm -q texlive-hyphen-esperanto > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-hyphen-esperanto已安装脚本结束时保持安装状态"
installed=true
else
installed=false
fi
# 检查yum源中是否有texlive-hyphen-esperanto软件包
LOG_INFO "检查yum源中是否有texlive-hyphen-esperanto软件包"
dnf list available texlive-hyphen-esperanto > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-hyphen-esperanto软件包"
exit 255
fi
# 安装texlive-hyphen-esperanto软件包如果未安装
if [ "$installed" = false ]; then
LOG_INFO "开始安装texlive-hyphen-esperanto软件包"
dnf install -y texlive-hyphen-esperanto > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装texlive-hyphen-esperanto失败"
fi
# 测试Esperanto连字符规则
LOG_INFO "测试Esperanto连字符规则"
hyphenation_test_output=$(echo "Esperanto" | hyphen -l esperanto)
CHECK_RESULT $? 0 0 "执行hyphen命令失败"
expected_hyphenation="Es-pe-ran-to"
if [ "$hyphenation_test_output" != "$expected_hyphenation" ]; then
LOG_ERROR "Esperato连字符规则测试失败预期输出: $expected_hyphenation, 实际输出: $hyphenation_test_output"
exit 1
else
LOG_INFO "Esperanto连字符规则测试通过"
fi
# 清理环境(如果脚本开始时未安装)
if [ "$installed" = false ]; then
LOG_INFO "卸载texlive-hyphen-esperanto软件包"
dnf remove -y texlive-hyphen-esperanto > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载texlive-hyphen-esperanto失败"
fi
LOG_INFO "测试脚本执行完成,环境已恢复"
}
main "$@"

View File

@@ -1,60 +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-09-26
# @License : Mulan PSL v2
# @Desc : Test kerning functionality
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已经安装texlive-kerntest软件包
LOG_INFO "检查是否已经安装texlive-kerntest软件包"
rpm -q texlive-kerntest
if [ $? -eq 0 ]; then
LOG_INFO "texlive-kerntest已安装脚本结束时将保持安装状态"
installed=true
else
installed=false
fi
# 检查yum源中是否有texlive-kerntest软件包
LOG_INFO "检查yum源中是否有texlive-kerntest软件包"
dnf list available texlive-kerntest > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中不存在texlive-kerntest软件包"
# 安装texlive-kerntest软件包
if [ "$installed" = false ]; then
LOG_INFO "开始安装texlive-kerntest软件包"
dnf install -y texlive-kerntest > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装texlive-kerntest软件包失败"
fi
# 测试kern功能
LOG_INFO "测试kern功能"
kern --version > /dev/null 2>&1
CHECK_RESULT $? 0 255 "kern命令不存在或不支持"
# 清理环境,如果脚本开始时未安装则卸载软件包
if [ "$installed" = false ]; then
LOG_INFO "卸载texlive-kerntest软件包"
dnf remove -y texlive-kerntest > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载texlive-kerntest软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,78 +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-mnsymbol-doc软件包的文档书签功能确保文档中的书签功能正常且可正确导航
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查texlive-mnsymbol-doc软件包是否已安装
LOG_INFO "检查texlive-mnsymbol-doc软件包是否已安装"
rpm -q texlive-mnsymbol-doc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-mnsymbol-doc软件包已安装"
INSTALLED=true
else
LOG_INFO "texlive-mnsymbol-doc软件包未安装"
INSTALLED=false
fi
# 检查yum源中是否存在texlive-mnsymbol-doc软件包
LOG_INFO "检查yum源中是否存在texlive-mnsymbol-doc软件包"
dnf list available texlive-mnsymbol-doc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在texlive-mnsymbol-doc软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装texlive-mnsymbol-doc软件包"
dnf install -y texlive-mnsymbol-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装texlive-mnsymbol-doc软件包失败"
fi
# 测试文档书签功能是否正常
LOG_INFO "测试文档书签功能是否正常"
PDF_FILE=$(rpm -ql texlive-mnsymbol-doc | grep .pdf | head -n 1)
if [ -z "$PDF_FILE" ]; then
LOG_ERROR "未找到texlive-mnsymbol-doc的PDF文档"
exit 255
fi
# 使用pdftk工具检查书签假设已安装pdftk
LOG_INFO "使用pdftk工具检查书签"
command -v pdftk > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "pdftk工具未安装无法检查书签"
exit 255
fi
pdftk "$PDF_FILE" dump_data | grep "Bookmark" > /dev/null 2>&1
CHECK_RESULT $? 0 0 "文档书签功能异常"
# 恢复环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-mnsymbol-doc软件包"
dnf remove -y texlive-mnsymbol-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载texlive-mnsymbol-doc软件包失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,71 +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-mnsymbol-doc软件包的文档内容功能确保文档内容完整且无缺失
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装texlive-mnsymbol-doc软件包
LOG_INFO "检查是否已安装texlive-mnsymbol-doc软件包"
rpm -q texlive-mnsymbol-doc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-mnsymbol-doc软件包已安装"
INSTALLED=1
else
LOG_INFO "texlive-mnsymbol-doc软件包未安装"
INSTALLED=0
fi
# 检查yum源中是否有texlive-mnsymbol-doc软件包
LOG_INFO "检查yum源中是否有texlive-mnsymbol-doc软件包"
dnf list available texlive-mnsymbol-doc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-mnsymbol-doc软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装texlive-mnsymbol-doc软件包"
dnf install -y texlive-mnsymbol-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装texlive-mnsymbol-doc软件包失败"
fi
# 测试文档内容功能
LOG_INFO "测试texlive-mnsymbol-doc软件包的文档内容功能"
DOC_PATH="/usr/share/texlive/texmf-dist/doc/latex/mnsymbol/README"
if [ -f "$DOC_PATH" ]; then
LOG_INFO "文档文件存在,路径为$DOC_PATH"
grep -q "mnsymbol" "$DOC_PATH"
CHECK_RESULT $? 0 0 "文档内容不完整或缺失"
else
LOG_ERROR "文档文件不存在"
exit 1
fi
# 清理环境
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载texlive-mnsymbol-doc软件包"
dnf remove -y texlive-mnsymbol-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载texlive-mnsymbol-doc软件包失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,83 +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-mnsymbol-doc软件包的文档示例功能确保文档中的示例代码可运行且结果正确
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装texlive-mnsymbol-doc
LOG_INFO "检查是否已安装texlive-mnsymbol-doc"
rpm -q texlive-mnsymbol-doc
if [ $? -eq 0 ]; then
LOG_INFO "texlive-mnsymbol-doc已安装脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-mnsymbol-doc未安装将在测试结束后卸载"
INSTALLED=false
fi
# 检查yum源中是否有texlive-mnsymbol-doc软件包
LOG_INFO "检查yum源中是否有texlive-mnsymbol-doc软件包"
dnf list available texlive-mnsymbol-doc
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-mnsymbol-doc软件包"
exit 255
fi
# 安装texlive-mnsymbol-doc
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装texlive-mnsymbol-doc软件包"
dnf install -y texlive-mnsymbol-doc
CHECK_RESULT $? 0 0 "安装texlive-mnsymbol-doc失败"
fi
# 测试文档示例功能
LOG_INFO "测试texlive-mnsymbol-doc文档示例功能"
TEX_FILE="/tmp/test_mnsymbol.tex"
cat > $TEX_FILE << "EOF"
\documentclass{article}
\usepackage{mnsymbol}
\begin{document}
\Star \Triangle \Diamond
\end{document}
EOF
pdflatex $TEX_FILE
CHECK_RESULT $? 0 0 "生成PDF失败"
# 检查PDF文件是否存在
if [ ! -f "${TEX_FILE%.tex}.pdf" ]; then
LOG_ERROR "未生成PDF文件"
exit 1
fi
LOG_INFO "PDF文件生成成功文档示例功能正常"
# 清理临时文件
LOG_INFO "清理临时文件"
rm -f "${TEX_FILE%.tex}".*
# 如果脚本开始时未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-mnsymbol-doc软件包"
dnf remove -y texlive-mnsymbol-doc
CHECK_RESULT $? 0 0 "卸载texlive-mnsymbol-doc失败"
fi
}
main "$@"

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 : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试texlive-mnsymbol-doc软件包的文档导出功能确保文档可以正确导出为指定格式且内容完整
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试texlive-mnsymbol-doc软件包的文档导出功能
LOG_INFO "开始测试texlive-mnsymbol-doc软件包的文档导出功能"
# 检查yum源中是否存在texlive-mnsymbol-doc软件包
LOG_INFO "检查yum源中是否存在texlive-mnsymbol-doc软件包"
dnf list available texlive-mnsymbol-doc &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-mnsymbol-doc软件包"
exit 255
fi
# 检查是否已安装texlive-mnsymbol-doc
LOG_INFO "检查是否已安装texlive-mnsymbol-doc"
rpm -q texlive-mnsymbol-doc &>/dev/null
if [ $? -eq 0 ]; then
installed=true
LOG_INFO "texlive-mnsymbol-doc已安装脚本结束后将保持安装状态"
else
installed=false
LOG_INFO "texlive-mnsymbol-doc未安装将在测试后卸载"
fi
# 若未安装,则安装软件包
if [ "$installed" = false ]; then
LOG_INFO "安装texlive-mnsymbol-doc软件包"
dnf install -y texlive-mnsymbol-doc
CHECK_RESULT $? 0 0 "安装texlive-mnsymbol-doc失败"
fi
# 测试文档导出功能
LOG_INFO "测试文档导出功能"
texdoc --list mnsymbol &>/dev/null
CHECK_RESULT $? 0 0 "无法找到mnsymbol文档"
# 导出文档为PDF格式
LOG_INFO "导出mnsymbol文档为PDF格式"
output_file="mnsymbol_documentation.pdf"
texdoc --pdf mnsymbol > "$output_file" 2>&1
CHECK_RESULT $? 0 0 "导出PDF文档失败"
# 检查导出的PDF文件是否存在且非空
LOG_INFO "检查导出的PDF文件是否存在且非空"
if [ -s "$output_file" ]; then
LOG_INFO "PDF文档导出成功且内容完整"
else
LOG_ERROR "导出的PDF文件为空或不存在"
exit 1
fi
# 清理临时文件
LOG_INFO "清理临时文件"
rm -f "$output_file"
# 若脚本开始时未安装,则卸载软件包
if [ "$installed" = false ]; then
LOG_INFO "卸载texlive-mnsymbol-doc软件包"
dnf remove -y texlive-mnsymbol-doc
CHECK_RESULT $? 0 0 "卸载texlive-mnsymbol-doc失败"
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-07-05
# @License : Mulan PSL v2
# @Desc : 测试texlive-mnsymbol-doc软件包的文档字体大小功能确保文档中的字体大小显示正确且符合规范
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试texlive-mnsymbol-doc软件包的文档字体大小功能"
# 检查软件包是否在yum源中
LOG_INFO "检查texlive-mnsymbol-doc软件包是否在yum源中"
dnf list available texlive-mnsymbol-doc &> /dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "texlive-mnsymbol-doc软件包不在yum源中"
exit 255
fi
# 检查是否已安装texlive-mnsymbol-doc
LOG_INFO "检查是否已安装texlive-mnsymbol-doc"
rpm -q texlive-mnsymbol-doc &> /dev/null
if [ $? -eq 0 ]; then
already_installed=true
LOG_INFO "texlive-mnsymbol-doc已安装脚本结束后将保持安装状态"
else
already_installed=false
LOG_INFO "texlive-mnsymbol-doc未安装将在测试后卸载"
fi
# 安装软件包
if [ "$already_installed" = false ]; then
LOG_INFO "安装texlive-mnsymbol-doc软件包"
dnf install -y texlive-mnsymbol-doc
CHECK_RESULT $? 0 0 "安装texlive-mnsymbol-doc失败"
fi
# 测试文档字体大小功能
LOG_INFO "测试texlive-mnsymbol-doc的文档字体大小功能"
test_file="/usr/share/texlive/texmf-dist/doc/latex/mnsymbol/mnsymbol.pdf"
if [ ! -f "$test_file" ]; then
LOG_ERROR "测试文件$test_file不存在"
exit 1
fi
# 检查字体大小是否符合规范(示例检查)
LOG_INFO "检查文档字体大小是否符合规范"
pdfinfo "$test_file" | grep -q "Font size"
CHECK_RESULT $? 0 0 "文档字体大小检查失败"
# 清理环境
if [ "$already_installed" = false ]; then
LOG_INFO "卸载texlive-mnsymbol-doc软件包"
dnf remove -y texlive-mnsymbol-doc
CHECK_RESULT $? 0 0 "卸载texlive-mnsymbol-doc失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,67 +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-mnsymbol-doc软件包的文档字体功能确保文档中的字体显示正确且符合规范
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试texlive-mnsymbol-doc软件包的文档字体功能"
# 检查软件包是否在yum源中
LOG_INFO "检查texlive-mnsymbol-doc软件包是否在yum源中"
dnf list available texlive-mnsymbol-doc &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "texlive-mnsymbol-doc软件包不在yum源中"
exit 255
fi
# 检查软件包是否已安装
LOG_INFO "检查texlive-mnsymbol-doc软件包是否已安装"
rpm -q texlive-mnsymbol-doc &>/dev/null
if [ $? -eq 0 ]; then
installed=true
LOG_INFO "texlive-mnsymbol-doc软件包已安装脚本结束后将保持安装状态"
else
installed=false
LOG_INFO "texlive-mnsymbol-doc软件包未安装将在测试步骤中安装"
fi
# 如果未安装,则安装软件包
if [ "$installed" = false ]; then
LOG_INFO "安装texlive-mnsymbol-doc软件包"
dnf install -y texlive-mnsymbol-doc
CHECK_RESULT $? 0 0 "安装texlive-mnsymbol-doc软件包失败"
fi
# 测试文档字体功能
LOG_INFO "测试文档中的字体显示功能"
test_command="some_tex_command --with-mnsymbol" # 替换为实际的测试命令
eval "$test_command"
CHECK_RESULT $? 0 0 "文档字体显示测试失败"
# 如果脚本开始时未安装,则卸载软件包以恢复环境
if [ "$installed" = false ]; then
LOG_INFO "卸载texlive-mnsymbol-doc软件包以恢复环境"
dnf remove -y texlive-mnsymbol-doc
CHECK_RESULT $? 0 0 "卸载texlive-mnsymbol-doc软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,76 +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-mnsymbol-doc软件包的文档格式功能确保文档格式正确且符合标准
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已经安装了texlive-mnsymbol-doc软件包
LOG_INFO "检查是否已安装texlive-mnsymbol-doc软件包"
rpm -q texlive-mnsymbol-doc
if [ $? -eq 0 ]; then
LOG_INFO "texlive-mnsymbol-doc已安装脚本结束时将保持安装状态"
INSTALLED=1
else
LOG_INFO "texlive-mnsymbol-doc未安装将在测试结束后卸载"
INSTALLED=0
fi
# 检查yum源中是否有texlive-mnsymbol-doc软件包
LOG_INFO "检查yum源中是否存在texlive-mnsymbol-doc软件包"
dnf list available texlive-mnsymbol-doc
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在texlive-mnsymbol-doc软件包"
exit 255
fi
# 安装texlive-mnsymbol-doc软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装texlive-mnsymbol-doc软件包"
dnf install -y texlive-mnsymbol-doc
CHECK_RESULT $? 0 0 "安装texlive-mnsymbol-doc失败"
fi
# 测试texlive-mnsymbol-doc的文档格式功能
LOG_INFO "测试texlive-mnsymbol-doc的文档格式功能"
test_document=$(mktemp)
cat > $test_document << "EOF"
\documentclass{article}
\usepackage{mnsymbol}
\begin{document}
Test document for mnsymbol.
\end{document}
EOF
pdflatex $test_document > /dev/null 2>&1
CHECK_RESULT $? 0 0 "生成PDF文档失败"
# 清理生成的临时文件
rm -f $test_document ${test_document%.*}.aux ${test_document%.*}.log ${test_document%.*}.pdf
# 恢复环境如果脚本开始时未安装texlive-mnsymbol-doc则在测试结束后卸载
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载texlive-mnsymbol-doc软件包"
dnf remove -y texlive-mnsymbol-doc
CHECK_RESULT $? 0 0 "卸载texlive-mnsymbol-doc失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,76 +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-mnsymbol-doc软件包的文档术语表功能确保文档中的术语表完整且术语定义准确
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试texlive-mnsymbol-doc软件包的文档术语表功能"
# 检查软件包是否存在于yum源中
LOG_INFO "检查texlive-mnsymbol-doc软件包是否在yum源中"
dnf list available texlive-mnsymbol-doc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "texlive-mnsymbol-doc软件包不在yum源中"
exit 255
fi
# 检查是否已安装软件包
LOG_INFO "检查texlive-mnsymbol-doc是否已安装"
installed=false
rpm -q texlive-mnsymbol-doc > /dev/null 2>&1
if [ $? -eq 0 ]; then
installed=true
LOG_INFO "texlive-mnsymbol-doc已安装跳过安装步骤"
else
LOG_INFO "texlive-mnsymbol-doc未安装开始安装"
dnf install -y texlive-mnsymbol-doc
CHECK_RESULT $? 0 0 "安装texlive-mnsymbol-doc失败"
fi
# 测试文档术语表功能
LOG_INFO "测试texlive-mnsymbol-doc的文档术语表功能"
# 假设术语表文件路径为/usr/share/texlive/texmf-dist/doc/latex/mnsymbol/glossary.txt
glossary_file="/usr/share/texlive/texmf-dist/doc/latex/mnsymbol/glossary.txt"
if [ ! -f "$glossary_file" ]; then
LOG_ERROR "术语表文件不存在: $glossary_file"
exit 255
fi
# 检查术语表内容是否完整且准确
LOG_INFO "检查术语表内容是否完整且准确"
grep -q "\\newcommand{\\MnSymbol}" "$glossary_file"
CHECK_RESULT $? 0 0 "术语表中缺少\\MnSymbol定义"
grep -q "\\ProvidesPackage{mnsymbol}" "$glossary_file"
CHECK_RESULT $? 0 0 "术语表中缺少mnsymbol包定义"
# 清理环境
if [ "$installed" = false ]; then
LOG_INFO "卸载texlive-mnsymbol-doc软件包以恢复环境"
dnf remove -y texlive-mnsymbol-doc
CHECK_RESULT $? 0 0 "卸载texlive-mnsymbol-doc失败"
else
LOG_INFO "保持环境安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,67 +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-mnsymbol-doc软件包的文档帮助功能确保文档中的帮助信息完整且可访问
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查texlive-mnsymbol-doc软件包是否已安装
LOG_INFO "检查texlive-mnsymbol-doc软件包是否已安装"
rpm -q texlive-mnsymbol-doc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-mnsymbol-doc软件包已安装"
INSTALLED=true
else
LOG_INFO "texlive-mnsymbol-doc软件包未安装"
INSTALLED=false
fi
# 检查yum源中是否存在texlive-mnsymbol-doc软件包
LOG_INFO "检查yum源中是否存在texlive-mnsymbol-doc软件包"
dnf list available texlive-mnsymbol-doc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在texlive-mnsymbol-doc软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装texlive-mnsymbol-doc软件包"
dnf install -y texlive-mnsymbol-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装texlive-mnsymbol-doc软件包失败"
LOG_INFO "texlive-mnsymbol-doc软件包安装成功"
fi
# 测试文档帮助功能是否完整且可访问
LOG_INFO "测试texlive-mnsymbol-doc文档帮助功能"
man texlive-mnsymbol-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "文档帮助功能不可访问"
# 如果脚本开始时未安装,则卸载软件包以恢复环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-mnsymbol-doc软件包以恢复环境"
dnf remove -y texlive-mnsymbol-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载texlive-mnsymbol-doc软件包失败"
fi
LOG_INFO "测试脚本执行完毕,环境已恢复"
}
main "$@"

View File

@@ -1,87 +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-mnsymbol-doc软件包的文档索引功能确保文档索引完整且可正确导航
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查yum源中是否存在texlive-mnsymbol-doc软件包
LOG_INFO "检查yum源中是否存在texlive-mnsymbol-doc软件包"
dnf list available texlive-mnsymbol-doc &> /dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在texlive-mnsymbol-doc软件包"
exit 255
fi
# 检查是否已安装texlive-mnsymbol-doc软件包
LOG_INFO "检查是否已安装texlive-mnsymbol-doc软件包"
rpm -q texlive-mnsymbol-doc &> /dev/null
if [ $? -eq 0 ]; then
installed=true
LOG_INFO "texlive-mnsymbol-doc软件包已安装"
else
installed=false
LOG_INFO "texlive-mnsymbol-doc软件包未安装将进行安装"
fi
# 如果未安装,则安装软件包
if [ "$installed" = false ]; then
LOG_INFO "安装texlive-mnsymbol-doc软件包"
dnf install -y texlive-mnsymbol-doc
CHECK_RESULT $? 0 0 "安装texlive-mnsymbol-doc软件包失败"
fi
# 测试文档索引功能
LOG_INFO "测试texlive-mnsymbol-doc软件包的文档索引功能"
if [ -d "/usr/share/texlive/texmf-dist/doc/fonts/mnsymbol" ]; then
LOG_INFO "文档目录存在,开始测试索引功能"
# 检查索引文件是否存在并可读
if [ -f "/usr/share/texlive/texmf-dist/doc/fonts/mnsymbol/README" ]; then
LOG_INFO "索引文件README存在"
# 检查文件内容是否可读(简单测试)
head -n 1 "/usr/share/texlive/texmf-dist/doc/fonts/mnsymbol/README" &> /dev/null
CHECK_RESULT $? 0 0 "索引文件README不可读"
else
LOG_ERROR "索引文件README不存在"
exit 1
fi
else
LOG_ERROR "文档目录不存在"
exit 1
fi
# 清理环境:如果脚本开始时未安装,则卸载软件包
if [ "$installed" = false ]; then
LOG_INFO "卸载texlive-mnsymbol-doc软件包"
dnf remove -y texlive-mnsymbol-doc
CHECK_RESULT $? 0 0 "卸载texlive-mnsymbol-doc软件包失败"
# 确认卸载成功(可选)
rpm -q texlive-mnsymbol-doc &> /dev/null
if [ $? -eq 0 ]; then
LOG_ERROR "卸载texlive-mnsymbol-doc软件包失败"
exit 1
fi
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 : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试texlive-mnsymbol-doc软件包的文档许可功能确保文档中的许可信息完整且符合开源许可要求
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查软件包是否存在于yum源中
check_package_existence() {
LOG_INFO "检查yum源中是否存在texlive-mnsymbol-doc软件包..."
dnf list available texlive-mnsymbol-doc &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在texlive-mnsymbol-doc软件包"
exit 255
fi
}
# 检查软件包是否已安装
check_package_installed() {
LOG_INFO "检查texlive-mnsymbol-doc软件包是否已安装..."
rpm -q texlive-mnsymbol-doc &>/dev/null
return $?
}
# 安装软件包
install_package() {
LOG_INFO "安装texlive-mnsymbol-doc软件包..."
dnf install -y texlive-mnsymbol-doc
CHECK_RESULT $? 0 0 "安装texlive-mnsymbol-doc软件包失败"
}
# 卸载软件包
uninstall_package() {
LOG_INFO "卸载texlive-mnsymbol-doc软件包..."
dnf remove -y texlive-mnsymbol-doc
CHECK_RESULT $? 0 0 "卸载texlive-mnsymbol-doc软件包失败"
}
# 检查文档许可信息
check_license_info() {
LOG_INFO "检查texlive-mnsymbol-doc文档许可信息..."
local doc_path="/usr/share/texlive/texmf-dist/doc/latex/mnsymbol/README"
if [ ! -f "$doc_path" ]; then
LOG_ERROR "未找到texlive-mnsymbol-doc文档文件"
exit 1
fi
grep -q "GNU General Public License" "$doc_path"
CHECK_RESULT $? 0 0 "文档许可信息不符合开源许可要求"
}
# 主函数
main() {
check_package_existence
local is_installed=0
check_package_installed
if [ $? -eq 0 ]; then
is_installed=1
LOG_INFO "texlive-mnsymbol-doc软件包已安装跳过安装步骤"
else
install_package
is_installed=0
LOG_INFO "成功安装texlive-mnsymbol-doc软件包"
check_license_info
LOG_INFO "清理环境卸载texlive-mnsymbol-doc软件包..."
uninstall_package
LOG_INFO "测试完成,环境已恢复原状"
fi
if [ $is_installed -eq 1 ]; then
check_license_info
LOG_INFO "测试完成,保持环境安装状态"
fi
}
main "$@"
}
main "$@"

View File

@@ -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-mnsymbol-doc软件包的文档链接功能确保文档中的所有链接有效且可访问
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试texlive-mnsymbol-doc软件包的文档链接功能"
# 检查软件包是否存在于yum源中
LOG_INFO "检查yum源中是否存在texlive-mnsymbol-doc软件包"
dnf list available texlive-mnsymbol-doc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在texlive-mnsymbol-doc软件包"
exit 255
fi
# 检查是否已安装软件包
LOG_INFO "检查是否已安装texlive-mnsymbol-doc软件包"
rpm -q texlive-mnsymbol-doc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-mnsymbol-doc软件包已安装"
installed=true
else
LOG_INFO "texlive-mnsymbol-doc软件包未安装将进行安装"
installed=false
fi
# 如果未安装,则安装软件包
if [ "$installed" = false ]; then
LOG_INFO "安装texlive-mnsymbol-doc软件包"
dnf install -y texlive-mnsymbol-doc
CHECK_RESULT $? 0 0 "安装texlive-mnsymbol-doc软件包失败"
fi
# 测试文档链接功能
LOG_INFO "测试文档中的所有链接是否有效且可访问"
doc_path=$(rpm -ql texlive-mnsymbol-doc | grep -E "/doc/.*html$")
if [ -z "$doc_path" ]; then
LOG_ERROR "未找到texlive-mnsymbol-doc的文档文件"
exit 1
fi
for file in $doc_path; do
LOG_INFO "检查文件 $file 中的链接"
links=$(grep -oP "href="\K[^"]+" "$file")
for link in $links; do
if [[ $link == http* ]]; then
curl -s --head "$link" > /dev/null 2>&1
CHECK_RESULT $? 0 0 "链接 $link 不可访问"
else
if [ ! -f "$(dirname "$file")/$link" ]; then
LOG_ERROR "本地链接 $link 不存在"
exit 1
fi
fi
done
done
# 恢复环境
if [ "$installed" = false ]; then
LOG_INFO "卸载texlive-mnsymbol-doc软件包"
dnf remove -y texlive-mnsymbol-doc
CHECK_RESULT $? 0 0 "卸载texlive-mnsymbol-doc软件包失败"
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-07-05
# @License : Mulan PSL v2
# @Desc : 测试texlive-mnsymbol-doc软件包的文档元数据功能确保文档中的元数据信息完整且正确
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查texlive-mnsymbol-doc软件包是否在yum源中
LOG_INFO "检查texlive-mnsymbol-doc软件包是否在yum源中"
dnf list available texlive-mnsymbol-doc &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-mnsymbol-doc软件包"
exit 255
fi
# 检查软件包是否已安装
LOG_INFO "检查texlive-mnsymbol-doc软件包是否已安装"
rpm -q texlive-mnsymbol-doc &>/dev/null
if [ $? -eq 0 ]; then
installed=true
LOG_INFO "texlive-mnsymbol-doc软件包已安装脚本结束时将保持安装状态"
else
installed=false
LOG_INFO "texlive-mnsymbol-doc软件包未安装将在测试结束后卸载"
fi
# 安装软件包(如果未安装)
if [ "$installed" = false ]; then
LOG_INFO "正在安装texlive-mnsymbol-doc软件包"
dnf install -y texlive-mnsymbol-doc &>/dev/null
CHECK_RESULT $? 0 0 "安装texlive-mnsymbol-doc软件包失败"
fi
# 测试文档元数据功能
LOG_INFO "测试texlive-mnsymbol-doc文档元数据功能"
rpm -qi texlive-mnsymbol-doc &>/dev/null
CHECK_RESULT $? 0 0 "获取texlive-mnsymbol-doc文档元数据失败"
# 验证元数据信息完整且正确
LOG_INFO "验证文档元数据信息完整且正确"
metadata=$(rpm -qi texlive-mnsymbol-doc)
if [[ "$metadata" != *"Name"* || "$metadata" != *"Version"* || "$metadata" != *"Release"* || "$metadata" != *"Summary"* ]]; then
LOG_ERROR "文档元数据信息不完整或不正确"
exit 1
fi
# 清理环境(如果之前未安装)
if [ "$installed" = false ]; then
LOG_INFO "正在卸载texlive-mnsymbol-doc软件包"
dnf remove -y texlive-mnsymbol-doc &>/dev/null
CHECK_RESULT $? 0 0 "卸载texlive-mnsymbol-doc软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -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-mnsymbol-doc软件包的文档打印功能确保文档可以正确打印且格式无误
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试texlive-mnsymbol-doc软件包的文档打印功能
LOG_INFO "开始测试texlive-mnsymbol-doc软件包的文档打印功能"
# 检查yum源中是否存在texlive-mnsymbol-doc软件包
LOG_INFO "检查yum源中是否存在texlive-mnsymbol-doc软件包"
dnf list texlive-mnsymbol-doc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在texlive-mnsymbol-doc软件包"
exit 255
fi
# 检查是否已安装texlive-mnsymbol-doc
LOG_INFO "检查是否已安装texlive-mnsymbol-doc"
rpm -q texlive-mnsymbol-doc > /dev/null 2>&1
installed=$?
if [ $installed -ne 0 ]; then
# 未安装,执行安装步骤
LOG_INFO "安装texlive-mnsymbol-doc软件包"
dnf install -y texlive-mnsymbol-doc
CHECK_RESULT $? 0 0 "安装texlive-mnsymbol-doc软件包失败"
fi
# 测试文档打印功能
LOG_INFO "测试texlive-mnsymbol-doc的文档打印功能"
pdflatex --help > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "pdflatex命令不存在或不支持"
exit 255
fi
# 创建临时测试文件
LOG_INFO "创建临时测试文件"
cat << EOF > test_mnsymbol.tex
\documentclass{article}
\usepackage{mnsymbol}
\begin{document}
This is a test document for mnsymbol.
\end{document}
EOF
# 编译并生成PDF
LOG_INFO "编译并生成PDF"
pdflatex test_mnsymbol.tex > /dev/null 2>&1
CHECK_RESULT $? 0 0 "编译PDF失败"
# 检查PDF文件是否存在且非空
LOG_INFO "检查PDF文件是否存在且非空"
[ -s test_mnsymbol.pdf ]
CHECK_RESULT $? 0 0 "生成的PDF文件无效"
# 清理临时文件
LOG_INFO "清理临时文件"
rm -f test_mnsymbol.tex test_mnsymbol.pdf test_mnsymbol.log test_mnsymbol.aux
# 如果最初未安装,则卸载软件包
if [ $installed -ne 0 ]; then
LOG_INFO "卸载texlive-mnsymbol-doc软件包"
dnf remove -y texlive-mnsymbol-doc
CHECK_RESULT $?,
}
main "$@"

View File

@@ -1,78 +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-mnsymbol-doc软件包的文档响应式功能确保文档在不同屏幕尺寸下显示正常
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试texlive-mnsymbol-doc软件包的文档响应式功能"
# 检查软件包是否存在于yum源中
LOG_INFO "检查texlive-mnsymbol-doc软件包是否存在于yum源中"
dnf list available texlive-mnsymbol-doc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "texlive-mnsymbol-doc软件包不存在于yum源中"
exit 255
fi
# 检查是否已安装软件包
LOG_INFO "检查texlive-mnsymbol-doc软件包是否已安装"
installed=false
dnf list installed texlive-mnsymbol-doc > /dev/null 2>&1
if [ $? -eq 0 ]; then
installed=true
LOG_INFO "texlive-mnsymbol-doc软件包已安装"
else
LOG_INFO "texlive-mnsymbol-doc软件包未安装"
fi
# 如果未安装,则安装软件包
if [ "$installed" = false ]; then
LOG_INFO "开始安装texlive-mnsymbol-doc软件包"
dnf install -y texlive-mnsymbol-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装texlive-mnsymbol-doc软件包失败"
LOG_INFO "texlive-mnsymbol-doc软件包安装成功"
fi
# 测试文档响应式功能
LOG_INFO "测试texlive-mnsymbol-doc文档响应式功能"
# 模拟不同屏幕尺寸下的文档显示
LOG_INFO "模拟小屏幕尺寸下的文档显示"
command_output=$(some_command_to_test_responsive --screen-size small)
CHECK_RESULT $? 0 0 "小屏幕尺寸下文档显示异常"
LOG_INFO "模拟中等屏幕尺寸下的文档显示"
command_output=$(some_command_to_test_responsive --screen-size medium)
CHECK_RESULT $? 0 0 "中等屏幕尺寸下文档显示异常"
LOG_INFO "模拟大屏幕尺寸下的文档显示"
command_output=$(some_command_to_test_responsive --screen-size large)
CHECK_RESULT $? 0 0 "大屏幕尺寸下文档显示异常"
# 清理环境
if [ "$installed" = false ]; then
LOG_INFO "开始卸载texlive-mnsymbol-doc软件包"
dnf remove -y texlive-mnsymbol-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载texlive-mnsymbol-doc软件包失败"
LOG_INFO "texlive-mnsymbol-doc软件包卸载成功"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -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-07-05
# @License : Mulan PSL v2
# @Desc : 测试texlive-mnsymbol-doc软件包的文档搜索功能确保可以通过关键词搜索文档内容
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查texlive-mnsymbol-doc软件包是否已安装
LOG_INFO "检查texlive-mnsymbol-doc软件包是否已安装"
rpm -q texlive-mnsymbol-doc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-mnsymbol-doc软件包已安装"
INSTALLED=1
else
LOG_INFO "texlive-mnsymbol-doc软件包未安装"
INSTALLED=0
fi
# 检查yum源中是否存在texlive-mnsymbol-doc软件包
LOG_INFO "检查yum源中是否存在texlive-mnsymbol-doc软件包"
dnf list available texlive-mnsymbol-doc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在texlive-mnsymbol-doc软件包"
exit 255
fi
# 如果未安装则安装texlive-mnsymbol-doc软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装texlive-mnsymbol-doc软件包"
dnf install -y texlive-mnsymbol-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装texlive-mnsymbol-doc软件包失败"
LOG_INFO "texlive-mnsymbol-doc软件包安装成功"
fi
# 测试文档搜索功能
LOG_INFO "测试texlive-mnsymbol-doc软件包的文档搜索功能"
kpsewhich mnsymbol.dtx > /dev/null 2>&1
CHECK_RESULT $? 0 0 "未找到mnsymbol.dtx文件"
LOG_INFO "搜索mnsymbol.dtx文件中的关键词"
grep -q "symbol" $(kpsewhich mnsymbol.dtx)
CHECK_RESULT $? 0 0 "未找到关键词"symbol""
# 清理环境
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载texlive-mnsymbol-doc软件包"
dnf remove -y texlive-mnsymbol-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载texlive-mnsymbol-doc软件包失败"
LOG_INFO "texlive-mnsymbol-doc软件包卸载成功"
fi
LOG_INFO "测试脚本执行完成"
}
main "$@"

View File

@@ -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-mnsymbol-doc软件包的文档样式功能确保文档样式一致且符合规范
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查texlive-mnsymbol-doc软件包是否已安装
LOG_INFO "检查texlive-mnsymbol-doc软件包是否已安装"
rpm -q texlive-mnsymbol-doc
if [ $? -eq 0 ]; then
LOG_INFO "texlive-mnsymbol-doc软件包已安装测试完成后将保持安装状态"
INSTALLED=1
else
LOG_INFO "texlive-mnsymbol-doc软件包未安装将在测试完成后卸载"
INSTALLED=0
fi
# 检查yum源中是否存在texlive-mnsymbol-doc软件包
LOG_INFO "检查yum源中是否存在texlive-mnsymbol-doc软件包"
dnf list available texlive-mnsymbol-doc
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在texlive-mnsymbol-doc软件包"
exit 255
fi
# 安装texlive-mnsymbol-doc软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装texlive-mnsymbol-doc软件包"
dnf install -y texlive-mnsymbol-doc
CHECK_RESULT $? 0 0 "安装texlive-mnsymbol-doc软件包失败"
fi
# 测试文档样式功能是否符合规范
LOG_INFO "测试texlive-mnsymbol-doc文档样式功能是否符合规范"
test -f /usr/share/texlive/texmf-dist/doc/fonts/mnsymbol/mnsymbol.pdf
CHECK_RESULT $? 0 0 "未找到mnsymbol.pdf文档文件"
# 清理环境
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载texlive-mnsymbol-doc软件包"
dnf remove -y texlive-mnsymbol-doc
CHECK_RESULT $? 0 0 "卸载texlive-mnsymbol-doc软件包失败"
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-07-05
# @License : Mulan PSL v2
# @Desc : 测试texlive-mnsymbol-doc软件包的文档语法功能确保文档中的语法正确且符合规范
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查texlive-mnsymbol-doc软件包是否已安装
LOG_INFO "检查texlive-mnsymbol-doc软件包是否已安装"
rpm -q texlive-mnsymbol-doc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-mnsymbol-doc软件包已安装脚本结束后保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-mnsymbol-doc软件包未安装脚本结束后将卸载"
INSTALLED=false
fi
# 检查yum源中是否有texlive-mnsymbol-doc软件包
LOG_INFO "检查yum源中是否有texlive-mnsymbol-doc软件包"
dnf list available texlive-mnsymbol-doc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-mnsymbol-doc软件包"
exit 255
fi
# 安装texlive-mnsymbol-doc软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装texlive-mnsymbol-doc软件包"
dnf install -y texlive-mnsymbol-doc
CHECK_RESULT $? 0 0 "安装texlive-mnsymbol-doc软件包失败"
fi
# 测试文档语法功能
LOG_INFO "测试texlive-mnsymbol-doc文档语法功能"
man texlive-mnsymbol-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "文档语法测试失败"
# 清理环境:如果脚本开始时未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-mnsymbol-doc软件包"
dnf remove -y texlive-mnsymbol-doc
CHECK_RESULT $? 0 0 "卸载texlive-mnsymbol-doc软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,76 +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-mnsymbol-doc软件包的文档目录功能确保文档目录结构清晰且可正确导航
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已经安装texlive-mnsymbol-doc
LOG_INFO "检查是否已经安装texlive-mnsymbol-doc软件包"
rpm -q texlive-mnsymbol-doc
if [ $? -eq 0 ]; then
LOG_INFO "texlive-mnsymbol-doc已安装脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-mnsymbol-doc未安装脚本结束时将卸载软件包"
INSTALLED=false
fi
# 检查yum源中是否有texlive-mnsymbol-doc软件包
LOG_INFO "检查yum源中是否有texlive-mnsymbol-doc软件包"
dnf list available texlive-mnsymbol-doc
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-mnsymbol-doc软件包"
exit 255
fi
# 安装texlive-mnsymbol-doc软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装texlive-mnsymbol-doc软件包"
dnf install -y texlive-mnsymbol-doc
CHECK_RESULT $? 0 0 "安装texlive-mnsymbol-doc软件包失败"
fi
# 检查文档目录结构是否存在且可访问
LOG_INFO "检查texlive-mnsymbol-doc的文档目录结构"
DOC_DIR=$(rpm -ql texlive-mnsymbol-doc | grep -m1 "/doc/")
if [ -z "$DOC_DIR" ]; then
LOG_ERROR "未找到texlive-mnsymbol-doc的文档目录"
exit 255
fi
LOG_INFO "文档目录路径: $DOC_DIR"
ls -l $DOC_DIR
CHECK_RESULT $? 0 0 "访问文档目录失败"
# 检查文档目录中的文件是否可以正确导航
LOG_INFO "检查文档目录中的文件是否可以正确导航"
find $DOC_DIR -type f -name "*.html" -o -name "*.pdf" | head -n 1 | xargs file
CHECK_RESULT $? 0 0 "文档文件无法正确导航"
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-mnsymbol-doc软件包"
dnf remove -y texlive-mnsymbol-doc
CHECK_RESULT $? 0 0 "卸载texlive-mnsymbol-doc软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,83 +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-mnsymbol-doc软件包的文档目录验证功能确保文档目录结构内容与文档实际内容一致
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查yum源中是否存在texlive-mnsymbol-doc软件包
LOG_INFO "检查yum源中是否存在texlive-mnsymbol-doc软件包"
dnf list available texlive-mnsymbol-doc &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在texlive-mnsymbol-doc软件包"
exit 255
fi
# 检查是否已安装texlive-mnsymbol-doc
LOG_INFO "检查是否已安装texlive-mnsymbol-doc"
rpm -q texlive-mnsymbol-doc &>/dev/null
if [ $? -eq 0 ]; then
installed=true
LOG_INFO "texlive-mnsymbol-doc已安装"
else
installed=false
LOG_INFO "texlive-mnsymbol-doc未安装将进行安装"
fi
# 如果未安装,则安装软件包
if [ "$installed" = false ]; then
LOG_INFO "安装texlive-mnsymbol-doc软件包"
dnf install -y texlive-mnsymbol-doc
CHECK_RESULT $? 0 0 "安装texlive-mnsymbol-doc失败"
fi
# 验证文档目录结构
LOG_INFO "验证文档目录结构"
doc_path=$(rpm -ql texlive-mnsymbol-doc | grep -m1 "/doc/")
if [ -z "$doc_path" ]; then
LOG_ERROR "未找到texlive-mnsymbol-doc的文档目录"
exit 255
fi
LOG_INFO "文档目录路径: $doc_path"
# 检查文档目录内容
LOG_INFO "检查文档目录内容"
ls -l "$doc_path" &>/dev/null
CHECK_RESULT $? 0 0 "无法访问文档目录"
# 检查文档实际内容
LOG_INFO "检查文档实际内容"
if [ ! -f "${doc_path}/README" ] && [ ! -f "${doc_path}/index.html" ]; then
LOG_ERROR "文档目录中缺少README或index.html文件"
exit 255
fi
# 如果脚本开始时未安装,则卸载软件包以恢复环境
if [ "$installed" = false ]; then
LOG_INFO "卸载texlive-mnsymbol-doc软件包以恢复环境"
dnf remove -y texlive-mnsymbol-doc
CHECK_RESULT $? 0 0 "卸载texlive-mnsymbol-doc失败"
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-07-05
# @License : Mulan PSL v2
# @Desc : 测试texlive-mnsymbol-doc软件包的文档unicode支持功能确保文档中的unicode字符显示正确且符合规范
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查texlive-mnsymbol-doc软件包是否在yum源中
LOG_INFO "检查texlive-mnsymbol-doc软件包是否在yum源中"
dnf list available texlive-mnsymbol-doc &> /dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "texlive-mnsymbol-doc软件包不在yum源中"
exit 255
fi
# 检查是否已安装texlive-mnsymbol-doc软件包
LOG_INFO "检查是否已安装texlive-mnsymbol-doc软件包"
rpm -q texlive-mnsymbol-doc &> /dev/null
if [ $? -eq 0 ]; then
installed=true
LOG_INFO "texlive-mnsymbol-doc软件包已安装"
else
installed=false
LOG_INFO "texlive-mnsymbol-doc软件包未安装将进行安装"
fi
# 如果未安装,则安装软件包
if [ "$installed" = false ]; then
LOG_INFO "安装texlive-mnsymbol-doc软件包"
dnf install -y texlive-mnsymbol-doc
CHECK_RESULT $? 0 0 "安装texlive-mnsymbol-doc软件包失败"
fi
# 测试文档unicode支持功能
LOG_INFO "测试文档unicode支持功能"
test_file="/usr/share/texlive/texmf-dist/doc/fonts/mnsymbol/mnsymbol.pdf"
if [ -f "$test_file" ]; then
LOG_INFO "检查文档中的unicode字符显示是否正确"
# 使用pdftotext工具提取文本并检查unicode字符假设pdftotext已安装
pdftotext "$test_file" - | grep -q "Unicode"
CHECK_RESULT $? 0 0 "文档中的unicode字符显示不正确"
else
LOG_ERROR "测试文件不存在: $test_file"
exit 1
fi
# 恢复环境:如果脚本开始时未安装,则卸载软件包
if [ "$installed" = false ]; then
LOG_INFO "卸载texlive-mnsymbol-doc软件包"
dnf remove -y texlive-mnsymbol-doc
CHECK_RESULT $? 0 0 "卸载texlive-mnsymbol-doc软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,76 +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-mnsymbol-doc软件包的文档版本功能确保文档版本与软件包版本一致
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已经安装了texlive-mnsymbol-doc软件包
LOG_INFO "检查是否已经安装了texlive-mnsymbol-doc软件包"
rpm -q texlive-mnsymbol-doc
if [ $? -eq 0 ]; then
LOG_INFO "texlive-mnsymbol-doc软件包已安装"
INSTALLED=true
else
LOG_INFO "texlive-mnsymbol-doc软件包未安装"
INSTALLED=false
fi
# 检查yum源中是否有texlive-mnsymbol-doc软件包
LOG_INFO "检查yum源中是否有texlive-mnsymbol-doc软件包"
dnf list available texlive-mnsymbol-doc
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-mnsymbol-doc软件包"
exit 255
fi
# 如果未安装则安装texlive-mnsymbol-doc软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装texlive-mnsymbol-doc软件包"
dnf install -y texlive-mnsymbol-doc
CHECK_RESULT $? 0 0 "安装texlive-mnsymbol-doc软件包失败"
fi
# 获取texlive-mnsymbol-doc软件包的版本
LOG_INFO "获取texlive-mnsymbol-doc软件包的版本"
PACKAGE_VERSION=$(rpm -q --queryformat "%{VERSION}" texlive-mnsymbol-doc)
CHECK_RESULT $? 0 0 "获取texlive-mnsymbol-doc软件包版本失败"
# 获取texlive-mnsymbol-doc文档的版本
LOG_INFO "获取texlive-mnsymbol-doc文档的版本"
DOC_VERSION=$(grep -m 1 "Version:" /usr/share/doc/texlive-mnsymbol-doc/README | awk "{print $2}")
CHECK_RESULT $? 0 0 "获取texlive-mnsymbol-doc文档版本失败"
# 检查文档版本与软件包版本是否一致
LOG_INFO "检查文档版本与软件包版本是否一致"
if [ "$PACKAGE_VERSION" = "$DOC_VERSION" ]; then
LOG_INFO "文档版本与软件包版本一致: $PACKAGE_VERSION"
else
LOG_ERROR "文档版本与软件包版本不一致: 软件包版本=$PACKAGE_VERSION, 文档版本=$DOC_VERSION"
exit 1
fi
# 如果脚本开始时未安装则在结束时卸载texlive-mnsymbol-doc软件包以恢复环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-mnsymbol-doc软件包以恢复环境"
dnf remove -y texlive-mnsymbol-doc
CHECK_RESULT $? 0 0 "卸载texlive-mnsymbol-doc软件包失败"
fi
}
main "$@"

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 : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试texlive-mnsymbol-doc软件包的降级功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试texlive-mnsymbol-doc软件包的降级功能"
# 检查软件包是否存在于yum源中
LOG_INFO "检查texlive-mnsymbol-doc是否在yum源中"
dnf list available texlive-mnsymbol-doc &> /dev/null
CHECK_RESULT $? 0 255 "texlive-mnsymbol-doc不在yum源中"
# 检查当前是否已安装texlive-mnsymbol-doc
LOG_INFO "检查当前是否已安装texlive-mnsymbol-doc"
if rpm -q texlive-mnsymbol-doc &> /dev/null; then
LOG_INFO "texlive-mnsymbol-doc已安装脚本结束时保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-mnsymbol-doc未安装将在测试后卸载"
INSTALLED=false
fi
# 获取当前安装的版本
LOG_INFO "获取当前安装的texlive-mnsymbol-doc版本"
CURRENT_VERSION=$(rpm -q --queryformat "%{VERSION}-%{RELEASE}" texlive-mnsymbol-doc 2>/dev/null)
if [ $? -ne 0 ]; then
CURRENT_VERSION="未安装"
fi
LOG_INFO "当前版本: $CURRENT_VERSION"
# 获取可用的旧版本
LOG_INFO "获取可用的旧版本"
OLD_VERSIONS=$(dnf --showduplicates list texlive-mnsymbol-doc | awk "/texlive-mnsymbol-doc/ {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 "执行降级操作"
dnf downgrade -y texlive-mnsymbol-doc-$OLD_VERSION &> /dev/null
CHECK_RESULT $? 0 0 "降级失败"
# 验证降级后的版本
LOG_INFO "验证降级后的版本"
NEW_VERSION=$(rpm -q --queryformat "%{VERSION}-%{RELEASE}" texlive-mnsymbol-doc)
CHECK_RESULT $? 0 0 "获取新版本失败"
if [ "$NEW_VERSION" != "$OLD_VERSION" ]; then
LOG_ERROR "降级失败,当前版本: $NEW_VERSION,预期版本: $OLD_VERSION"
exit 1
fi
LOG_INFO "降级成功,当前版本: $NEW_VERSION"
# 恢复环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-mnsymbol-doc以恢复环境"
dnf remove -y texlive-mnsymbol-doc &> /dev/null
CHECK_RESULT $? 0 0 "卸载失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,114 +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-03
# @License : Mulan PSL v2
# @Desc : 测试 texlive-mnsymbol-doc 软件包的核心文档访问功能,验证文档文件是否存在且可读。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试 texlive-mnsymbol-doc 软件包的核心文档访问功能,验证文档文件是否存在且可读。
# 定义常量
PACKAGE_NAME="texlive-mnsymbol-doc"
# 步骤1: 检查软件包是否在yum源中
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
# 步骤2: 检查软件包是否已安装
LOG_INFO "步骤2: 检查软件包是否已安装"
rpm -q $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
# 步骤3: 如果未安装,则安装软件包
if [ "$INSTALLED_BEFORE" = "false" ]; then
LOG_INFO "步骤3: 安装软件包 $PACKAGE_NAME"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 步骤4: 获取软件包安装的文件列表
LOG_INFO "步骤4: 获取软件包安装的文件列表"
FILES=$(rpm -ql $PACKAGE_NAME)
if [ -z "$FILES" ]; then
LOG_ERROR "软件包 $PACKAGE_NAME 未安装任何文件"
if [ "$INSTALLED_BEFORE" = "false" ]; then
LOG_INFO "清理环境:卸载软件包"
dnf remove -y $PACKAGE_NAME
fi
exit 1
fi
# 步骤5: 验证文档文件是否存在且可读
LOG_INFO "步骤5: 验证文档文件是否存在且可读"
DOC_FILES=$(echo "$FILES" | grep -E "\.pdf$|\.html$|\.txt$|\.md$")
if [ -z "$DOC_FILES" ]; then
LOG_ERROR "未找到文档文件"
if [ "$INSTALLED_BEFORE" = "false" ]; then
LOG_INFO "清理环境:卸载软件包"
dnf remove -y $PACKAGE_NAME
fi
exit 1
fi
for file in $DOC_FILES; do
if [ -f "$file" ]; then
LOG_INFO "检查文件: $file"
if [ -r "$file" ]; then
LOG_INFO "文件 $file 可读"
else
LOG_ERROR "文件 $file 不可读"
if [ "$INSTALLED_BEFORE" = "false" ]; then
LOG_INFO "清理环境:卸载软件包"
dnf remove -y $PACKAGE_NAME
fi
exit 1
fi
else
LOG_ERROR "文件 $file 不存在"
if [ "$INSTALLED_BEFORE" = "false" ]; then
LOG_INFO "清理环境:卸载软件包"
dnf remove -y $PACKAGE_NAME
fi
exit 1
fi
done
# 步骤6: 清理环境
LOG_INFO "步骤6: 清理环境"
if [ "$INSTALLED_BEFORE" = "false" ]; then
LOG_INFO "卸载软件包 $PACKAGE_NAME"
dnf remove -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "卸载软件包失败"
else
LOG_INFO "软件包 $PACKAGE_NAME 在测试前已安装,保持安装状态"
fi
LOG_INFO "测试完成texlive-mnsymbol-doc 软件包的核心文档访问功能正常"
}
main "$@"

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-03-03
# @License : Mulan PSL v2
# @Desc : 测试 texlive-mnsymbol-doc 软件包文档的内容完整性,确保关键说明和示例存在。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 texlive-mnsymbol-doc 软件包文档的内容完整性"
# 检查软件包是否已在 yum 源中
LOG_INFO "检查 texlive-mnsymbol-doc 软件包是否在 yum 源中"
dnf list available texlive-mnsymbol-doc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "texlive-mnsymbol-doc 软件包不在 yum 源中"
exit 255
fi
# 检查当前是否已安装软件包
LOG_INFO "检查当前是否已安装 texlive-mnsymbol-doc 软件包"
rpm -q texlive-mnsymbol-doc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-mnsymbol-doc 软件包已安装,测试后保持安装状态"
INSTALLED=1
else
LOG_INFO "texlive-mnsymbol-doc 软件包未安装,将在测试后卸载"
INSTALLED=0
# 安装软件包
LOG_INFO "安装 texlive-mnsymbol-doc 软件包"
dnf install -y texlive-mnsymbol-doc
CHECK_RESULT $? 0 0 "安装 texlive-mnsymbol-doc 软件包失败"
fi
# 测试文档内容完整性
LOG_INFO "测试 texlive-mnsymbol-doc 文档内容完整性"
DOC_PATH="/usr/share/texlive/texmf-dist/doc/fonts/mnsymbol/"
if [ -d "$DOC_PATH" ]; then
LOG_INFO "文档目录存在: $DOC_PATH"
# 检查关键文档文件是否存在
KEY_FILES="README ChangeLog mnsymbol.pdf"
for file in $KEY_FILES; do
if [ -f "$DOC_PATH/$file" ]; then
LOG_INFO "找到关键文档文件: $file"
else
LOG_ERROR "未找到关键文档文件: $file"
# 如果是因为文件不存在而失败退出码应为1
exit 1
fi
done
# 检查示例文件是否存在
if [ -f "$DOC_PATH/mnsymbol-example.tex" ]; then
LOG_INFO "找到示例文件: mnsymbol-example.tex"
else
LOG_ERROR "未找到示例文件: mnsymbol-example.tex"
exit 1
fi
else
LOG_ERROR "文档目录不存在: $DOC_PATH"
exit 1
fi
# 清理环境:如果测试前未安装,则卸载软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载 texlive-mnsymbol-doc 软件包"
dnf remove -y texlive-mnsymbol-doc
CHECK_RESULT $? 0 0 "卸载 texlive-mnsymbol-doc 软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,67 +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-03
# @License : Mulan PSL v2
# @Desc : 测试 texlive-mnsymbol-doc 软件包的基本安装功能,验证其能否被正确安装到系统中。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
PACKAGE_NAME="texlive-mnsymbol-doc"
LOG_INFO "开始测试 texlive-mnsymbol-doc 软件包的基本安装功能"
LOG_INFO "步骤1: 检查软件包是否已在系统中安装"
if rpm -q $PACKAGE_NAME &>/dev/null; then
LOG_INFO "软件包 $PACKAGE_NAME 已安装,测试将保持此状态"
INSTALLED_BEFORE_TEST=true
else
LOG_INFO "软件包 $PACKAGE_NAME 未安装,测试将进行安装操作"
INSTALLED_BEFORE_TEST=false
fi
LOG_INFO "步骤2: 检查yum源中是否存在软件包 $PACKAGE_NAME"
if ! dnf list available $PACKAGE_NAME &>/dev/null; then
LOG_ERROR "yum源中未找到软件包 $PACKAGE_NAME"
exit 255
fi
if [ "$INSTALLED_BEFORE_TEST" = "false" ]; then
LOG_INFO "步骤3: 安装软件包 $PACKAGE_NAME"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
LOG_INFO "步骤4: 验证软件包 $PACKAGE_NAME 已成功安装"
rpm -q $PACKAGE_NAME
CHECK_RESULT $? 0 0 "验证软件包 $PACKAGE_NAME 安装状态失败"
fi
LOG_INFO "步骤5: 验证软件包 $PACKAGE_NAME 的基本功能"
LOG_INFO "检查软件包安装的文件列表"
rpm -ql $PACKAGE_NAME &>/dev/null
CHECK_RESULT $? 0 0 "获取软件包 $PACKAGE_NAME 文件列表失败"
if [ "$INSTALLED_BEFORE_TEST" = "false" ]; then
LOG_INFO "步骤6: 清理环境,卸载测试安装的软件包 $PACKAGE_NAME"
dnf remove -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
LOG_INFO "验证软件包 $PACKAGE_NAME 已被卸载"
if rpm -q $PACKAGE_NAME &>/dev/null; then
LOG_ERROR "软件包 $PACKAGE_NAME 卸载后仍存在于系统中"
exit 1
else
LOG_INFO "软件包 $PACKAGE_NAME 已成功卸载"
fi
else
LOG_INFO "步骤6: 测试前软件包已安装,保持安装状态,无需卸载"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -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 : 2026-03-03
# @License : Mulan PSL v2
# @Desc : 测试 texlive-mnsymbol-doc 软件包的卸载功能,确保其能被完全移除且不残留文件。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
PACKAGE_NAME="texlive-mnsymbol-doc"
LOG_INFO "开始测试 $PACKAGE_NAME 软件包的卸载功能"
LOG_INFO "步骤1检查系统中是否已安装 $PACKAGE_NAME"
rpm -q $PACKAGE_NAME > /dev/null 2>&1
PACKAGE_INSTALLED=$?
if [ $PACKAGE_INSTALLED -eq 0 ]; then
LOG_INFO "检测到 $PACKAGE_NAME 已安装,测试结束后将保持安装状态"
NEED_CLEANUP=0
else
LOG_INFO "检测到 $PACKAGE_NAME 未安装,将在测试过程中安装并最终卸载"
NEED_CLEANUP=1
fi
LOG_INFO "步骤2检查yum源中是否存在 $PACKAGE_NAME 软件包"
dnf list available $PACKAGE_NAME > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中未找到 $PACKAGE_NAME 软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到 $PACKAGE_NAME 软件包"
exit 255
fi
if [ $NEED_CLEANUP -eq 1 ]; then
LOG_INFO "步骤3安装 $PACKAGE_NAME 软件包"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装 $PACKAGE_NAME 软件包失败"
fi
LOG_INFO "步骤4验证 $PACKAGE_NAME 软件包文件已存在"
rpm -ql $PACKAGE_NAME > /dev/null 2>&1
CHECK_RESULT $? 0 0 "$PACKAGE_NAME 软件包文件列表获取失败"
LOG_INFO "步骤5执行卸载 $PACKAGE_NAME 软件包"
dnf remove -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "卸载 $PACKAGE_NAME 软件包失败"
LOG_INFO "步骤6验证 $PACKAGE_NAME 软件包已被卸载"
rpm -q $PACKAGE_NAME > /dev/null 2>&1
CHECK_RESULT $? 1 0 "$PACKAGE_NAME 软件包未被完全卸载"
LOG_INFO "步骤7检查是否残留 $PACKAGE_NAME 相关文件"
FILES_LEFT=$(rpm -ql $PACKAGE_NAME 2>/dev/null | wc -l)
CHECK_RESULT $FILES_LEFT 0 0 "发现 $PACKAGE_NAME 软件包残留文件"
if [ $NEED_CLEANUP -eq 1 ]; then
LOG_INFO "步骤8环境清理完成已恢复至测试前未安装状态"
else
LOG_INFO "步骤8重新安装 $PACKAGE_NAME 以恢复测试前状态"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "重新安装 $PACKAGE_NAME 软件包失败"
LOG_INFO "环境恢复完成,已恢复至测试前安装状态"
fi
LOG_INFO "$PACKAGE_NAME 软件包卸载功能测试完成"
}
main "$@"

View File

@@ -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-mnsymbol-doc软件包的回滚功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查yum源中是否存在texlive-mnsymbol-doc软件包
LOG_INFO "检查yum源中是否存在texlive-mnsymbol-doc软件包"
dnf list available texlive-mnsymbol-doc > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中不存在texlive-mnsymbol-doc软件包"
# 检查是否已安装texlive-mnsymbol-doc
LOG_INFO "检查是否已安装texlive-mnsymbol-doc"
rpm -q texlive-mnsymbol-doc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-mnsymbol-doc已安装脚本结束时保持安装状态"
installed=true
else
LOG_INFO "texlive-mnsymbol-doc未安装将进行安装测试"
installed=false
fi
# 安装texlive-mnsymbol-doc
if [ "$installed" = false ]; then
LOG_INFO "开始安装texlive-mnsymbol-doc"
dnf install -y texlive-mnsymbol-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装texlive-mnsymbol-doc失败"
fi
# 测试回滚功能
LOG_INFO "测试texlive-mnsymbol-doc的回滚功能"
dnf history undo last -y > /dev/null 2>&1
CHECK_RESULT $? 0 0 "回滚texlive-mnsymbol-doc失败"
# 清理环境,恢复到之前的状态
if [ "$installed" = false ]; then
LOG_INFO "清理环境卸载texlive-mnsymbol-doc"
dnf remove -y texlive-mnsymbol-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载texlive-mnsymbol-doc失败"
fi
LOG_INFO "测试脚本执行完毕"
}
main "$@"