Merge branch 'pkg' of http://10.30.190.190:54866/redrsoe2100/os-autotest into pkg
This commit is contained in:
@@ -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 的文档生成功能"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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 软件包的包信息查询功能,验证版本和依赖信息是否正确。"
|
||||
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
Reference in New Issue
Block a user