Merge branch 'pkg' of http://10.30.190.190:54866/redrsoe2100/os-autotest into pkg
This commit is contained in:
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,29 +2,9 @@
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/python-botocore/python-botocore-help",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_python-botocore-help_function_init",
|
||||
"desc": "Test initialization"
|
||||
},
|
||||
{
|
||||
"name": "test_python-botocore-help_function_install",
|
||||
"desc": "Test package installation"
|
||||
},
|
||||
{
|
||||
"name": "test_python-botocore-help_function_uninstall",
|
||||
"desc": "Test package uninstallation"
|
||||
},
|
||||
{
|
||||
"name": "test_python-botocore-help_function_import",
|
||||
"desc": "Test importing the module"
|
||||
},
|
||||
{
|
||||
"name": "test_python-botocore-help_function_help_usage",
|
||||
"desc": "Test help command usage"
|
||||
},
|
||||
{
|
||||
"name": "test_python-botocore-help_function_version",
|
||||
"desc": "Test package version check"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/python-lxml/python3-lxml",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_python3-lxml_function_install",
|
||||
"desc": "测试python3-lxml软件包能否正确安装"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-lxml_function_uninstall",
|
||||
"desc": "测试python3-lxml软件包能否正确卸载"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-lxml_function_parse_xml",
|
||||
"desc": "测试使用lxml解析XML文件的基本功能"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-lxml_function_xpath_query",
|
||||
"desc": "测试使用XPath在XML/HTML中查询元素"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-lxml_function_html_parse",
|
||||
"desc": "测试使用lxml解析HTML文档"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-lxml_function_create_xml",
|
||||
"desc": "测试使用lxml创建新的XML文档"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -5,30 +5,6 @@
|
||||
{
|
||||
"name": "test_quartz-javadoc_function_install",
|
||||
"desc": "Test the installation of quartz-javadoc package"
|
||||
},
|
||||
{
|
||||
"name": "test_quartz-javadoc_function_generate",
|
||||
"desc": "Test the generation of quartz-javadoc"
|
||||
},
|
||||
{
|
||||
"name": "test_quartz-javadoc_function_validate",
|
||||
"desc": "Test the validation of quartz-javadoc"
|
||||
},
|
||||
{
|
||||
"name": "test_quartz-javadoc_function_search",
|
||||
"desc": "Test the search in quartz-javadoc"
|
||||
},
|
||||
{
|
||||
"name": "test_quartz-javadoc_function_update",
|
||||
"desc": "Test the update of quartz-javadoc"
|
||||
},
|
||||
{
|
||||
"name": "test_quartz-javadoc_function_delete",
|
||||
"desc": "Test the deletion in quartz-javadoc"
|
||||
},
|
||||
{
|
||||
"name": "test_quartz-javadoc_function_check_installed",
|
||||
"desc": "Check if the quartz-javadoc package is installed on the system"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,54 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/springframework/springframework-orm-hibernate4",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_springframework-orm-hibernate4_function_session",
|
||||
"desc": "Test session management functionality"
|
||||
},
|
||||
{
|
||||
"name": "test_springframework-orm-hibernate4_function_transaction",
|
||||
"desc": "Test transaction management functionality"
|
||||
},
|
||||
{
|
||||
"name": "test_springframework-orm-hibernate4_function_query",
|
||||
"desc": "Test query execution functionality"
|
||||
},
|
||||
{
|
||||
"name": "test_springframework-orm-hibernate4_function_mapping",
|
||||
"desc": "Test entity mapping functionality"
|
||||
},
|
||||
{
|
||||
"name": "test_springframework-orm-hibernate4_function_cache",
|
||||
"desc": "Test caching functionality"
|
||||
},
|
||||
{
|
||||
"name": "test_springframework-orm-hibernate4_function_config",
|
||||
"desc": "Test configuration setup functionality"
|
||||
},
|
||||
{
|
||||
"name": "test_springframework-orm-hibernate4_function_install",
|
||||
"desc": "Test installation or presence verification of the package"
|
||||
},
|
||||
{
|
||||
"name": "test_springframework-orm-hibernate4_function_session_factory",
|
||||
"desc": "Test SessionFactory creation and basic session retrieval"
|
||||
},
|
||||
{
|
||||
"name": "test_springframework-orm-hibernate4_function_crud_operations",
|
||||
"desc": "Test basic CRUD (Create, Read, Update, Delete) operations"
|
||||
},
|
||||
{
|
||||
"name": "test_springframework-orm-hibernate4_function_hql_query",
|
||||
"desc": "Test Hibernate Query Language (HQL) execution"
|
||||
},
|
||||
{
|
||||
"name": "test_springframework-orm-hibernate4_function_integration_context",
|
||||
"desc": "Test integration with Spring application context"
|
||||
},
|
||||
{
|
||||
"name": "test_springframework-orm-hibernate4_function_data_source",
|
||||
"desc": "Test data source configuration and connection"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,10 +2,6 @@
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-a/texlive-arabi-add-doc",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-arabi-add-doc_function_install",
|
||||
"desc": "Test package installation"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-arabi-add-doc_function_remove",
|
||||
"desc": "Test package removal"
|
||||
|
||||
@@ -5,18 +5,6 @@
|
||||
{
|
||||
"name": "test_texlive-babel-belarusian-doc_function_install",
|
||||
"desc": "Test package installation"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-babel-belarusian-doc_function_uninstall",
|
||||
"desc": "Test package removal"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-babel-belarusian-doc_function_check_doc",
|
||||
"desc": "Check documentation files exist"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-babel-belarusian-doc_function_usage",
|
||||
"desc": "Test basic LaTeX usage"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6,21 +6,9 @@
|
||||
"name": "test_texlive-context-gantt_function_install",
|
||||
"desc": "测试 texlive-context-gantt 软件包是否可以通过包管理器(如 apt, yum, tlmgr)成功安装。"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-context-gantt_function_check_installed",
|
||||
"desc": "测试 texlive-context-gantt 软件包是否已正确安装在系统中。"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-context-gantt_function_uninstall",
|
||||
"desc": "测试 texlive-context-gantt 软件包是否可以通过包管理器成功卸载。"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-context-gantt_function_gantt_compile",
|
||||
"desc": "测试使用 context 命令编译一个包含 gantt 模块的简单 TeX 文档,验证核心功能可用。"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-context-gantt_function_basic_syntax",
|
||||
"desc": "测试 gantt 模块的基本语法(如定义任务、时间线)能否在 ConTeXt 文档中正确生成甘特图。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,10 +2,6 @@
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-i/texlive-formular-doc",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-formular-doc_function_install",
|
||||
"desc": "Test package installation"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-formular-doc_function_remove",
|
||||
"desc": "Test package removal"
|
||||
@@ -13,10 +9,6 @@
|
||||
{
|
||||
"name": "test_texlive-formular-doc_function_doc_available",
|
||||
"desc": "Check documentation files exist"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-formular-doc_function_view_doc",
|
||||
"desc": "Test viewing main documentation"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,108 +2,15 @@
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-m/texlive-iwhdp",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-iwhdp_install",
|
||||
"desc": "测试texlive-iwhdp软件包的安装功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_uninstall",
|
||||
"desc": "测试texlive-iwhdp软件包的卸载功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_upgrade",
|
||||
"desc": "测试texlive-iwhdp软件包的升级功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_downgrade",
|
||||
"desc": "测试texlive-iwhdp软件包的降级功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_rollback",
|
||||
"desc": "测试texlive-iwhdp软件包的升级回滚功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_service_start",
|
||||
"desc": "测试texlive-iwhdp软件包提供的服务的启动功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_service_stop",
|
||||
"desc": "测试texlive-iwhdp软件包提供的服务的停止功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_service_restart",
|
||||
"desc": "测试texlive-iwhdp软件包提供的服务的重启功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_service_status",
|
||||
"desc": "测试texlive-iwhdp软件包提供的服务的状态查询功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_service_log",
|
||||
"desc": "测试texlive-iwhdp软件包提供的服务的日志查看功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_service_config",
|
||||
"desc": "测试texlive-iwhdp软件包提供的服务的配置功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_service_reload",
|
||||
"desc": "测试texlive-iwhdp软件包提供的服务的重载配置功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_dependency",
|
||||
"desc": "测试texlive-iwhdp软件包的依赖关系是否满足",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_downgrade_rollback",
|
||||
"desc": "测试texlive-iwhdp软件包的降级回滚功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_reinstall",
|
||||
"desc": "测试texlive-iwhdp软件包的重新安装功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_function_install",
|
||||
"desc": "测试软件包的基本安装功能,验证安装后命令或文件是否存在"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_function_uninstall",
|
||||
"desc": "测试软件包的基本卸载功能,验证卸载后相关文件是否被清理"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_function_dependency",
|
||||
"desc": "测试软件包安装时的依赖关系是否被正确满足"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_function_upgrade",
|
||||
"desc": "测试软件包从旧版本升级到新版本的功能"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_function_downgrade",
|
||||
"desc": "测试软件包从新版本降级到旧版本的功能"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_function_reinstall",
|
||||
"desc": "测试软件包的重新安装功能"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwhdp_function_usage",
|
||||
"desc": "测试软件包提供的核心命令或功能的基本使用,例如调用其工具处理文档"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-x/texlive-tikz-palattice-doc",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-tikz-palattice-doc_function_draw",
|
||||
"desc": "Test drawing lattice diagrams"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6,10 +6,6 @@
|
||||
"name": "test_zvbi-help_install",
|
||||
"desc": "测试软件包zvbi-help的安装功能,验证安装过程是否正常完成。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_zvbi-help_function_basic",
|
||||
"desc": "测试软件包zvbi-help的基础功能,验证其是否能正常启动和运行。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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,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-29
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test help command usage
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test help command usage"
|
||||
|
||||
LOG_INFO "步骤1:检查python3-botocore软件包是否在yum源中"
|
||||
dnf list available python3-botocore >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到python3-botocore软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查当前环境是否已安装python3-botocore"
|
||||
rpm -q python3-botocore >/dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "python3-botocore已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "python3-botocore未安装,将在测试步骤中安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤3:安装python3-botocore软件包"
|
||||
dnf install -y python3-botocore
|
||||
CHECK_RESULT $? 0 0 "安装python3-botocore失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:测试python3 -m botocore.help命令基本用法"
|
||||
python3 -m botocore.help >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "python3 -m botocore.help命令执行失败"
|
||||
|
||||
LOG_INFO "步骤5:测试python3 -m botocore.help命令的--help参数"
|
||||
python3 -m botocore.help --help >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "python3 -m botocore.help --help命令执行失败"
|
||||
|
||||
LOG_INFO "步骤6:测试python3 -m botocore.help命令的不支持参数"
|
||||
python3 -m botocore.help --invalid-param >/dev/null 2>&1
|
||||
if [ $? -ne 255 ]; then
|
||||
LOG_ERROR "python3 -m botocore.help命令应不支持--invalid-param参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤7:测试python3 -m botocore.help命令获取特定服务帮助"
|
||||
python3 -m botocore.help s3 >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "python3 -m botocore.help s3命令执行失败"
|
||||
|
||||
LOG_INFO "步骤8:测试python3 -m botocore.help命令获取不存在的服务"
|
||||
python3 -m botocore.help nonexistentservice >/dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "python3 -m botocore.help命令对不存在的服务不应成功"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤9:在多节点环境下测试(如果配置了第二个节点)"
|
||||
if [ -n "$NODE2_IPV4" ] && [ -n "$NODE2_PASSWORD" ] && [ -n "$NODE2_USER" ]; then
|
||||
LOG_INFO "在第二个节点上测试python3 -m botocore.help命令"
|
||||
SSH_CMD "python3 -m botocore.help >/dev/null 2>&1" $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER
|
||||
CHECK_RESULT $? 0 0 "在第二个节点上执行python3 -m botocore.help命令失败"
|
||||
else
|
||||
LOG_INFO "未配置第二个节点,跳过多节点测试"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤10:清理测试环境"
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载测试安装的python3-botocore软件包"
|
||||
dnf remove -y python3-botocore
|
||||
CHECK_RESULT $? 0 0 "卸载python3-botocore失败"
|
||||
else
|
||||
LOG_INFO "保持python3-botocore安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test help command usage"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,65 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-10
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test initialization
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test initialization"
|
||||
|
||||
# 检查是否已安装python3-botocore-help
|
||||
LOG_INFO "检查是否已安装python3-botocore-help"
|
||||
if dnf list installed python3-botocore-help &>/dev/null; then
|
||||
LOG_INFO "python3-botocore-help 已安装,跳过安装步骤"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "python3-botocore-help 未安装,准备安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有python3-botocore-help
|
||||
LOG_INFO "检查yum源中是否有python3-botocore-help"
|
||||
if ! dnf list available python3-botocore-help &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到python3-botocore-help,退出测试"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装python3-botocore-help
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装python3-botocore-help"
|
||||
dnf install -y python3-botocore-help
|
||||
CHECK_RESULT $? 0 0 "安装python3-botocore-help失败"
|
||||
fi
|
||||
|
||||
# 测试初始化功能
|
||||
LOG_INFO "测试初始化功能"
|
||||
init_output=$(python3 -c "import botocore.help; print(botocore.help.__init__.__doc__)" 2>&1)
|
||||
CHECK_RESULT $? 0 0 "初始化功能测试失败"
|
||||
LOG_INFO "初始化功能测试输出:$init_output"
|
||||
|
||||
# 清理环境:如果之前未安装,则卸载python3-botocore-help
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "清理环境:卸载python3-botocore-help"
|
||||
dnf remove -y python3-botocore-help
|
||||
CHECK_RESULT $? 0 0 "卸载python3-botocore-help失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test initialization"
|
||||
}
|
||||
|
||||
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 : 2026-03-29
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package installation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test package installation"
|
||||
LOG_INFO "步骤1:检查python-botocore-help软件包是否在yum源中"
|
||||
dnf list available python-botocore-help > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "python-botocore-help软件包在yum源中不存在"
|
||||
exit 255
|
||||
fi
|
||||
CHECK_RESULT $? 0 0 "检查python-botocore-help软件包在yum源中失败"
|
||||
|
||||
LOG_INFO "步骤2:检查系统是否已安装python-botocore-help"
|
||||
rpm -q python-botocore-help > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "系统已安装python-botocore-help,标记为已安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "系统未安装python-botocore-help,标记为未安装状态"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤3:安装python-botocore-help软件包"
|
||||
dnf install -y python-botocore-help
|
||||
CHECK_RESULT $? 0 0 "安装python-botocore-help软件包失败"
|
||||
LOG_INFO "安装python-botocore-help软件包成功"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:验证python-botocore-help功能"
|
||||
python -c "import botocore; print(botocore.__version__)" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "验证python-botocore-help功能失败"
|
||||
LOG_INFO "验证python-botocore-help功能成功"
|
||||
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤5:卸载python-botocore-help软件包"
|
||||
dnf remove -y python-botocore-help
|
||||
CHECK_RESULT $? 0 0 "卸载python-botocore-help软件包失败"
|
||||
LOG_INFO "卸载python-botocore-help软件包成功"
|
||||
else
|
||||
LOG_INFO "步骤5:系统原本已安装python-botocore-help,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤6:环境清理完成,测试结束"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,90 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-29
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package uninstallation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试python-botocore-help_function卸载功能"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="python-botocore-help-function"
|
||||
|
||||
# 步骤1: 检查yum源中是否存在软件包
|
||||
LOG_INFO "检查yum源中是否存在软件包: ${PACKAGE_NAME}"
|
||||
dnf list available ${PACKAGE_NAME} &> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在软件包: ${PACKAGE_NAME}"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤2: 检查当前是否已安装软件包
|
||||
LOG_INFO "检查当前是否已安装软件包: ${PACKAGE_NAME}"
|
||||
rpm -q ${PACKAGE_NAME} &> /dev/null
|
||||
INSTALLED=$?
|
||||
if [ ${INSTALLED} -eq 0 ]; then
|
||||
LOG_INFO "软件包已安装,测试结束后保持安装状态"
|
||||
NEED_UNINSTALL=0
|
||||
else
|
||||
LOG_INFO "软件包未安装,将进行安装测试"
|
||||
NEED_UNINSTALL=1
|
||||
fi
|
||||
|
||||
# 步骤3: 如果未安装,则安装软件包
|
||||
if [ ${NEED_UNINSTALL} -eq 1 ]; then
|
||||
LOG_INFO "安装软件包: ${PACKAGE_NAME}"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
fi
|
||||
|
||||
# 步骤4: 验证软件包安装成功
|
||||
LOG_INFO "验证软件包安装成功"
|
||||
rpm -q ${PACKAGE_NAME} &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "软件包未正确安装"
|
||||
|
||||
# 步骤5: 测试卸载功能
|
||||
LOG_INFO "测试卸载软件包: ${PACKAGE_NAME}"
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
|
||||
# 步骤6: 验证软件包已卸载
|
||||
LOG_INFO "验证软件包已卸载"
|
||||
rpm -q ${PACKAGE_NAME} &> /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "软件包卸载后仍存在"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "软件包已成功卸载"
|
||||
fi
|
||||
|
||||
# 步骤7: 环境恢复
|
||||
LOG_INFO "恢复测试环境"
|
||||
if [ ${NEED_UNINSTALL} -eq 1 ]; then
|
||||
# 如果测试前未安装,则保持未安装状态
|
||||
LOG_INFO "测试前未安装,保持环境未安装状态"
|
||||
else
|
||||
# 如果测试前已安装,则重新安装
|
||||
LOG_INFO "重新安装软件包以恢复环境"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "重新安装软件包失败"
|
||||
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 : 2026-03-29
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package version check
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试python-botocore-help_function_version
|
||||
LOG_INFO "测试开始:检查python-botocore-help_function_version版本"
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
LOG_INFO "步骤1:检查软件包是否在yum源中"
|
||||
if ! dnf list available python-botocore-help_function_version 2>/dev/null | grep -q python-botocore-help_function_version; then
|
||||
LOG_ERROR "软件包python-botocore-help_function_version不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查当前环境是否已安装软件包
|
||||
LOG_INFO "步骤2:检查当前环境是否已安装软件包"
|
||||
if rpm -q python-botocore-help_function_version >/dev/null 2>&1; then
|
||||
LOG_INFO "软件包已安装,标记为已安装状态"
|
||||
INSTALLED="true"
|
||||
else
|
||||
LOG_INFO "软件包未安装,标记为未安装状态"
|
||||
INSTALLED="false"
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "步骤3:安装软件包"
|
||||
dnf install -y python-botocore-help_function_version
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
fi
|
||||
|
||||
# 测试软件包版本检查
|
||||
LOG_INFO "步骤4:测试软件包版本检查"
|
||||
python-botocore-help_function_version --version
|
||||
CHECK_RESULT $? 0 0 "版本检查失败"
|
||||
|
||||
# 测试帮助功能
|
||||
LOG_INFO "步骤5:测试帮助功能"
|
||||
python-botocore-help_function_version --help
|
||||
CHECK_RESULT $? 0 0 "帮助功能失败"
|
||||
|
||||
# 测试不支持的参数
|
||||
LOG_INFO "步骤6:测试不支持的参数"
|
||||
python-botocore-help_function_version --invalid-parameter 2>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_INFO "不支持的参数正确处理"
|
||||
else
|
||||
LOG_ERROR "不支持的参数未正确处理"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 清理环境
|
||||
LOG_INFO "步骤7:清理环境"
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "卸载软件包"
|
||||
dnf remove -y python-botocore-help_function_version
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
else
|
||||
LOG_INFO "保持软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:python-botocore-help_function_version版本检查通过"
|
||||
}
|
||||
|
||||
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,97 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-23
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用lxml创建新的XML文档
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:测试使用lxml创建新的XML文档"
|
||||
LOG_INFO "步骤1:检查环境中是否已安装python3-lxml包"
|
||||
if rpm -q python3-lxml &>/dev/null; then
|
||||
LOG_INFO "python3-lxml已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "python3-lxml未安装,将在测试过程中安装"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查yum源中是否存在python3-lxml包"
|
||||
if ! dnf list available python3-lxml &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到python3-lxml包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED_BEFORE" = "false" ]; then
|
||||
LOG_INFO "步骤3:安装python3-lxml包"
|
||||
dnf install -y python3-lxml
|
||||
CHECK_RESULT $? 0 0 "安装python3-lxml失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:创建Python脚本以测试lxml创建XML功能"
|
||||
cat > /tmp/test_lxml_create.py << "EOF"
|
||||
from lxml import etree
|
||||
|
||||
def create_xml():
|
||||
root = etree.Element("root")
|
||||
child1 = etree.SubElement(root, "child1")
|
||||
child1.text = "内容1"
|
||||
child2 = etree.SubElement(root, "child2")
|
||||
child2.set("attr", "值")
|
||||
xml_str = etree.tostring(root, pretty_print=True, encoding="unicode")
|
||||
return xml_str
|
||||
|
||||
if __name__ == "__main__":
|
||||
try:
|
||||
result = create_xml()
|
||||
print(result)
|
||||
except Exception as e:
|
||||
print(f"错误: {e}")
|
||||
exit(1)
|
||||
EOF
|
||||
|
||||
LOG_INFO "步骤5:执行Python脚本测试lxml创建XML"
|
||||
python3 /tmp/test_lxml_create.py > /tmp/xml_output.txt
|
||||
CHECK_RESULT $? 0 0 "执行Python脚本失败"
|
||||
|
||||
LOG_INFO "步骤6:检查生成的XML内容是否符合预期"
|
||||
EXPECTED_XML="<root>\n <child1>内容1</child1>\n <child2 attr="值"/>\n</root>"
|
||||
GENERATED_XML=$(cat /tmp/xml_output.txt)
|
||||
if [ "$GENERATED_XML" = "$EXPECTED_XML" ]; then
|
||||
LOG_INFO "生成的XML文档符合预期"
|
||||
else
|
||||
LOG_ERROR "生成的XML文档不符合预期"
|
||||
LOG_ERROR "预期内容: $EXPECTED_XML"
|
||||
LOG_ERROR "实际内容: $GENERATED_XML"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤7:清理临时文件"
|
||||
rm -f /tmp/test_lxml_create.py /tmp/xml_output.txt
|
||||
|
||||
if [ "$INSTALLED_BEFORE" = "false" ]; then
|
||||
LOG_INFO "步骤8:卸载python3-lxml包"
|
||||
dnf remove -y python3-lxml
|
||||
CHECK_RESULT $? 0 0 "卸载python3-lxml失败"
|
||||
else
|
||||
LOG_INFO "步骤8:环境已安装python3-lxml,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:测试使用lxml创建新的XML文档"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,115 +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-23
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用lxml解析HTML文档
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装python3-lxml
|
||||
LOG_INFO "检查是否已安装python3-lxml"
|
||||
rpm -q python3-lxml > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "python3-lxml已安装,记录安装状态"
|
||||
INSTALLED="yes"
|
||||
else
|
||||
LOG_INFO "python3-lxml未安装"
|
||||
INSTALLED="no"
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有python3-lxml软件包
|
||||
LOG_INFO "检查yum源中是否有python3-lxml软件包"
|
||||
dnf list available python3-lxml > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到python3-lxml软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装python3-lxml
|
||||
if [ "$INSTALLED" = "no" ]; then
|
||||
LOG_INFO "安装python3-lxml软件包"
|
||||
dnf install -y python3-lxml
|
||||
CHECK_RESULT $? 0 0 "安装python3-lxml失败"
|
||||
fi
|
||||
|
||||
# 测试使用lxml解析HTML文档
|
||||
LOG_INFO "测试使用lxml解析HTML文档"
|
||||
cat > /tmp/test_html_parse.py << "EOF"
|
||||
from lxml import html
|
||||
|
||||
# 定义一个简单的HTML字符串
|
||||
html_content = """
|
||||
<html>
|
||||
<body>
|
||||
<h1>测试标题</h1>
|
||||
<p>这是一个段落。</p>
|
||||
<ul>
|
||||
<li>项目1</li>
|
||||
<li>项目2</li>
|
||||
<li>项目3</li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
"""
|
||||
|
||||
try:
|
||||
# 解析HTML
|
||||
tree = html.fromstring(html_content)
|
||||
|
||||
# 提取h1标签内容
|
||||
h1_text = tree.xpath("//h1/text()")[0]
|
||||
print("h1标签内容:", h1_text)
|
||||
|
||||
# 提取所有li标签内容
|
||||
li_items = tree.xpath("//li/text()")
|
||||
print("li标签内容:", li_items)
|
||||
|
||||
# 验证提取结果
|
||||
if h1_text != "测试标题":
|
||||
raise ValueError("h1标签内容不匹配")
|
||||
|
||||
if len(li_items) != 3 or li_items[0] != "项目1" or li_items[1] != "项目2" or li_items[2] != "项目3":
|
||||
raise ValueError("li标签内容不匹配")
|
||||
|
||||
print("HTML解析测试成功")
|
||||
|
||||
except Exception as e:
|
||||
print(f"HTML解析测试失败: {e}")
|
||||
exit(1)
|
||||
EOF
|
||||
|
||||
# 执行Python测试脚本
|
||||
python3 /tmp/test_html_parse.py
|
||||
CHECK_RESULT $? 0 0 "使用lxml解析HTML文档失败"
|
||||
|
||||
# 清理临时文件
|
||||
LOG_INFO "清理临时文件"
|
||||
rm -f /tmp/test_html_parse.py
|
||||
|
||||
# 如果之前未安装python3-lxml,则在测试结束后卸载
|
||||
if [ "$INSTALLED" = "no" ]; then
|
||||
LOG_INFO "卸载python3-lxml软件包"
|
||||
dnf remove -y python3-lxml
|
||||
CHECK_RESULT $? 0 0 "卸载python3-lxml失败"
|
||||
else
|
||||
LOG_INFO "保持python3-lxml安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完成"
|
||||
}
|
||||
|
||||
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-23
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试python3-lxml软件包能否正确安装
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 判断是否已安装python3-lxml
|
||||
LOG_INFO "检查python3-lxml是否已安装"
|
||||
rpm -q python3-lxml > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "python3-lxml已安装,标记为已安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "python3-lxml未安装,标记为未安装状态"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有python3-lxml软件包
|
||||
LOG_INFO "检查yum源中是否存在python3-lxml软件包"
|
||||
dnf list available python3-lxml > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "yum源中未找到python3-lxml软件包"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到python3-lxml软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则执行安装测试
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "开始安装python3-lxml软件包"
|
||||
dnf install -y python3-lxml
|
||||
CHECK_RESULT $? 0 0 "安装python3-lxml失败"
|
||||
|
||||
# 验证安装是否成功
|
||||
LOG_INFO "验证python3-lxml是否安装成功"
|
||||
rpm -q python3-lxml > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "python3-lxml安装验证失败"
|
||||
|
||||
LOG_INFO "python3-lxml安装成功"
|
||||
|
||||
# 安装后测试软件包基本功能
|
||||
LOG_INFO "测试python3-lxml基本功能"
|
||||
python3 -c "import lxml.etree; print("lxml模块导入成功")" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "python3-lxml功能测试失败"
|
||||
|
||||
LOG_INFO "python3-lxml功能测试成功"
|
||||
fi
|
||||
|
||||
# 如果脚本开始时未安装,则在脚本结束时卸载
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "清理环境:卸载python3-lxml软件包"
|
||||
dnf remove -y python3-lxml
|
||||
CHECK_RESULT $? 0 0 "卸载python3-lxml失败"
|
||||
|
||||
# 验证卸载是否成功
|
||||
LOG_INFO "验证python3-lxml是否已卸载"
|
||||
rpm -q python3-lxml > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "python3-lxml卸载失败"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "python3-lxml卸载成功"
|
||||
fi
|
||||
else
|
||||
LOG_INFO "脚本开始时python3-lxml已安装,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:python3-lxml软件包安装功能正常"
|
||||
}
|
||||
|
||||
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-23
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用lxml解析XML文件的基本功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:测试使用lxml解析XML文件的基本功能"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE="python3-lxml"
|
||||
|
||||
# 检查软件包是否已在yum源中
|
||||
LOG_INFO "步骤1:检查yum源中是否存在${PACKAGE}软件包"
|
||||
if ! dnf list available "${PACKAGE}" &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到${PACKAGE}软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查当前是否已安装软件包
|
||||
LOG_INFO "步骤2:检查系统是否已安装${PACKAGE}"
|
||||
if rpm -q "${PACKAGE}" &> /dev/null; then
|
||||
LOG_INFO "${PACKAGE}已安装,测试完成后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "${PACKAGE}未安装,将在测试过程中安装并在测试完成后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "${INSTALLED}" = false ]; then
|
||||
LOG_INFO "步骤3:安装${PACKAGE}软件包"
|
||||
dnf install -y "${PACKAGE}"
|
||||
CHECK_RESULT $? 0 0 "安装${PACKAGE}失败"
|
||||
fi
|
||||
|
||||
# 创建测试XML文件
|
||||
LOG_INFO "步骤4:创建测试XML文件"
|
||||
cat > test.xml << EOF
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<root>
|
||||
<element1>value1</element1>
|
||||
<element2>value2</element2>
|
||||
</root>
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "创建XML文件失败"
|
||||
|
||||
# 编写Python脚本解析XML
|
||||
LOG_INFO "步骤5:编写Python脚本解析XML文件"
|
||||
cat > parse_xml.py << EOF
|
||||
from lxml import etree
|
||||
import sys
|
||||
|
||||
try:
|
||||
tree = etree.parse("test.xml")
|
||||
root = tree.getroot()
|
||||
|
||||
elem1 = root.find("element1")
|
||||
elem2 = root.find("element2")
|
||||
|
||||
if elem1 is not None and elem1.text == "value1":
|
||||
print("element1解析成功")
|
||||
else:
|
||||
print("element1解析失败")
|
||||
sys.exit(1)
|
||||
|
||||
if elem2 is not None and elem2.text == "value2":
|
||||
print("element2解析成功")
|
||||
else:
|
||||
print("element2解析失败")
|
||||
sys.exit(1)
|
||||
|
||||
except Exception as e:
|
||||
print(f"解析XML时发生错误: {e}")
|
||||
sys.exit(1)
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "编写Python脚本失败"
|
||||
|
||||
# 执行Python脚本解析XML
|
||||
LOG_INFO "步骤6:执行Python脚本解析XML"
|
||||
python3 parse_xml.py
|
||||
CHECK_RESULT $? 0 0 "解析XML文件失败"
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "步骤7:清理测试文件"
|
||||
rm -f test.xml parse_xml.py
|
||||
CHECK_RESULT $? 0 0 "清理测试文件失败"
|
||||
|
||||
# 如果测试前未安装,则卸载软件包
|
||||
if [ "${INSTALLED}" = false ]; then
|
||||
LOG_INFO "步骤8:卸载${PACKAGE}软件包"
|
||||
dnf remove -y "${PACKAGE}"
|
||||
CHECK_RESULT $? 0 0 "卸载${PACKAGE}失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:使用lxml解析XML文件的基本功能测试成功"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,94 +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-23
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试python3-lxml软件包能否正确卸载
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 设置严格模式
|
||||
set -euo pipefail
|
||||
|
||||
# 定义变量
|
||||
PACKAGE_NAME="python3-lxml"
|
||||
LOG_FILE="/tmp/test_python3-lxml_uninstall.log"
|
||||
|
||||
# 日志函数
|
||||
LOG_INFO() {
|
||||
echo "[INFO] $(date "+%Y-%m-%d %H:%M:%S") - $1" | tee -a "$LOG_FILE"
|
||||
}
|
||||
|
||||
LOG_ERROR() {
|
||||
echo "[ERROR] $(date "+%Y-%m-%d %H:%M:%S") - $1" | tee -a "$LOG_FILE"
|
||||
}
|
||||
|
||||
# 检查dnf源中是否有该软件包
|
||||
LOG_INFO "步骤1:检查dnf源中是否存在$PACKAGE_NAME软件包"
|
||||
if ! dnf list available "$PACKAGE_NAME" &>/dev/null; then
|
||||
LOG_ERROR "dnf源中未找到$PACKAGE_NAME软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "dnf源中存在$PACKAGE_NAME软件包"
|
||||
|
||||
# 检查当前是否已安装
|
||||
LOG_INFO "步骤2:检查$PACKAGE_NAME是否已安装"
|
||||
if rpm -q "$PACKAGE_NAME" &>/dev/null; then
|
||||
LOG_INFO "$PACKAGE_NAME已安装,标记为环境已安装状态"
|
||||
ENV_INSTALLED=true
|
||||
else
|
||||
LOG_INFO "$PACKAGE_NAME未安装,标记为环境未安装状态"
|
||||
ENV_INSTALLED=false
|
||||
fi
|
||||
|
||||
# 如果未安装,则先安装
|
||||
if [ "$ENV_INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤3:安装$PACKAGE_NAME软件包"
|
||||
dnf install -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "安装$PACKAGE_NAME失败"
|
||||
LOG_INFO "成功安装$PACKAGE_NAME"
|
||||
fi
|
||||
|
||||
# 测试卸载功能
|
||||
LOG_INFO "步骤4:测试卸载$PACKAGE_NAME软件包"
|
||||
dnf remove -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "卸载$PACKAGE_NAME失败"
|
||||
LOG_INFO "成功卸载$PACKAGE_NAME"
|
||||
|
||||
# 验证卸载结果
|
||||
LOG_INFO "步骤5:验证$PACKAGE_NAME是否已卸载"
|
||||
if rpm -q "$PACKAGE_NAME" &>/dev/null; then
|
||||
LOG_ERROR "$PACKAGE_NAME卸载后仍然存在"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "$PACKAGE_NAME已成功卸载"
|
||||
fi
|
||||
|
||||
# 环境恢复
|
||||
LOG_INFO "步骤6:恢复测试环境"
|
||||
if [ "$ENV_INSTALLED" = true ]; then
|
||||
LOG_INFO "重新安装$PACKAGE_NAME以恢复到初始状态"
|
||||
dnf install -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "重新安装$PACKAGE_NAME失败"
|
||||
LOG_INFO "已恢复到初始安装状态"
|
||||
else
|
||||
LOG_INFO "初始状态为未安装,无需恢复"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:$PACKAGE_NAME软件包能够正确卸载"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,164 +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-23
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用XPath在XML/HTML中查询元素
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试XPath在XML/HTML中查询元素功能"
|
||||
|
||||
LOG_INFO "检查是否已安装python3-lxml软件包"
|
||||
rpm -q python3-lxml > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "检测到python3-lxml已安装,标记为已存在安装"
|
||||
INSTALLED_BEFORE="yes"
|
||||
else
|
||||
LOG_INFO "检测到python3-lxml未安装,标记为未安装"
|
||||
INSTALLED_BEFORE="no"
|
||||
fi
|
||||
|
||||
LOG_INFO "检查yum源中是否存在python3-lxml软件包"
|
||||
dnf list available python3-lxml > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到python3-lxml软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED_BEFORE" = "no" ]; then
|
||||
LOG_INFO "开始安装python3-lxml软件包"
|
||||
dnf install -y python3-lxml
|
||||
CHECK_RESULT $? 0 0 "安装python3-lxml失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "创建测试XML文件"
|
||||
cat > /tmp/test_xpath.xml << EOF
|
||||
<bookstore>
|
||||
<book category="cooking">
|
||||
<title lang="en">Everyday Italian</title>
|
||||
<author>Giada De Laurentiis</author>
|
||||
<year>2005</year>
|
||||
<price>30.00</price>
|
||||
</book>
|
||||
<book category="children">
|
||||
<title lang="en">Harry Potter</title>
|
||||
<author>J.K. Rowling</author>
|
||||
<year>2005</year>
|
||||
<price>29.99</price>
|
||||
</book>
|
||||
<book category="web">
|
||||
<title lang="en">Learning XML</title>
|
||||
<author>Erik T. Ray</author>
|
||||
<year>2003</year>
|
||||
<price>39.95</price>
|
||||
</book>
|
||||
</bookstore>
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "创建测试XML文件失败"
|
||||
|
||||
LOG_INFO "测试XPath查询 - 获取所有书名"
|
||||
python3 -c "
|
||||
import sys
|
||||
from lxml import etree
|
||||
try:
|
||||
tree = etree.parse("/tmp/test_xpath.xml")
|
||||
titles = tree.xpath("//title/text()")
|
||||
if len(titles) == 3:
|
||||
print("找到3个书名:", titles)
|
||||
sys.exit(0)
|
||||
else:
|
||||
print(f"预期找到3个书名,实际找到{len(titles)}个")
|
||||
sys.exit(1)
|
||||
except Exception as e:
|
||||
print(f"XPath查询失败: {e}")
|
||||
sys.exit(1)
|
||||
"
|
||||
CHECK_RESULT $? 0 0 "XPath查询所有书名失败"
|
||||
|
||||
LOG_INFO "测试XPath查询 - 获取特定类别的书籍"
|
||||
python3 -c "
|
||||
import sys
|
||||
from lxml import etree
|
||||
try:
|
||||
tree = etree.parse("/tmp/test_xpath.xml")
|
||||
web_books = tree.xpath(\"//book[@category="web"]/title/text()\")
|
||||
if len(web_books) == 1 and web_books[0] == "Learning XML":
|
||||
print("成功找到web类书籍:", web_books)
|
||||
sys.exit(0)
|
||||
else:
|
||||
print(f"web类书籍查询结果不符: {web_books}")
|
||||
sys.exit(1)
|
||||
except Exception as e:
|
||||
print(f"XPath查询失败: {e}")
|
||||
sys.exit(1)
|
||||
"
|
||||
CHECK_RESULT $? 0 0 "XPath查询特定类别书籍失败"
|
||||
|
||||
LOG_INFO "测试XPath查询 - 获取价格大于35的书籍"
|
||||
python3 -c "
|
||||
import sys
|
||||
from lxml import etree
|
||||
try:
|
||||
tree = etree.parse("/tmp/test_xpath.xml")
|
||||
expensive_books = tree.xpath(\"//book[price>35]/title/text()\")
|
||||
if len(expensive_books) == 1 and expensive_books[0] == "Learning XML":
|
||||
print("成功找到价格大于35的书籍:", expensive_books)
|
||||
sys.exit(0)
|
||||
else:
|
||||
print(f"价格大于35的书籍查询结果不符: {expensive_books}")
|
||||
sys.exit(1)
|
||||
except Exception as e:
|
||||
print(f"XPath查询失败: {e}")
|
||||
sys.exit(1)
|
||||
"
|
||||
CHECK_RESULT $? 0 0 "XPath查询价格大于35的书籍失败"
|
||||
|
||||
LOG_INFO "测试XPath查询 - 使用不存在的路径参数"
|
||||
python3 -c "
|
||||
import sys
|
||||
from lxml import etree
|
||||
try:
|
||||
tree = etree.parse("/tmp/test_xpath.xml")
|
||||
result = tree.xpath("//nonexistent/text()")
|
||||
if len(result) == 0:
|
||||
print("不存在的路径查询返回空结果,符合预期")
|
||||
sys.exit(0)
|
||||
else:
|
||||
print(f"不存在的路径查询返回非空结果: {result}")
|
||||
sys.exit(1)
|
||||
except Exception as e:
|
||||
print(f"XPath查询失败: {e}")
|
||||
sys.exit(1)
|
||||
"
|
||||
CHECK_RESULT $? 0 0 "XPath查询不存在的路径测试失败"
|
||||
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f /tmp/test_xpath.xml
|
||||
CHECK_RESULT $? 0 0 "删除测试文件失败"
|
||||
|
||||
if [ "$INSTALLED_BEFORE" = "no" ]; then
|
||||
LOG_INFO "卸载测试安装的python3-lxml软件包"
|
||||
dnf remove -y python3-lxml
|
||||
CHECK_RESULT $? 0 0 "卸载python3-lxml失败"
|
||||
else
|
||||
LOG_INFO "测试前已安装python3-lxml,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "XPath查询功能测试完成"
|
||||
}
|
||||
|
||||
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-03-23
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Check if the quartz-javadoc package is installed on the system
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:检查系统是否已安装quartz-javadoc软件包"
|
||||
|
||||
# 检查yum源中是否存在quartz-javadoc软件包
|
||||
LOG_INFO "步骤1:检查yum源中是否存在quartz-javadoc软件包"
|
||||
dnf list available quartz-javadoc 2>/dev/null | grep -q "quartz-javadoc"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到quartz-javadoc软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查系统是否已安装quartz-javadoc
|
||||
LOG_INFO "步骤2:检查系统是否已安装quartz-javadoc"
|
||||
rpm -q quartz-javadoc >/dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "系统已安装quartz-javadoc,标记为已安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "系统未安装quartz-javadoc,将进行安装测试"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装quartz-javadoc
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤3:安装quartz-javadoc软件包"
|
||||
dnf install -y quartz-javadoc
|
||||
CHECK_RESULT $? 0 0 "安装quartz-javadoc失败"
|
||||
LOG_INFO "安装quartz-javadoc成功"
|
||||
fi
|
||||
|
||||
# 验证quartz-javadoc是否安装成功
|
||||
LOG_INFO "步骤4:验证quartz-javadoc是否安装成功"
|
||||
rpm -q quartz-javadoc >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "quartz-javadoc未正确安装"
|
||||
|
||||
# 检查quartz-javadoc文档文件是否存在
|
||||
LOG_INFO "步骤5:检查quartz-javadoc文档文件是否存在"
|
||||
DOC_PATH=$(rpm -ql quartz-javadoc | head -1 2>/dev/null)
|
||||
if [ -n "$DOC_PATH" ]; then
|
||||
LOG_INFO "找到quartz-javadoc文档文件:$DOC_PATH"
|
||||
else
|
||||
LOG_ERROR "未找到quartz-javadoc文档文件"
|
||||
CHECK_RESULT 1 0 0 "quartz-javadoc文档文件不存在"
|
||||
fi
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载quartz-javadoc
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤6:清理环境,卸载测试安装的quartz-javadoc"
|
||||
dnf remove -y quartz-javadoc
|
||||
CHECK_RESULT $? 0 0 "卸载quartz-javadoc失败"
|
||||
LOG_INFO "卸载quartz-javadoc成功"
|
||||
else
|
||||
LOG_INFO "步骤6:保持原有安装状态,不进行卸载"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:quartz-javadoc安装检查测试通过"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-08
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test the deletion in quartz-javadoc
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查quartz-javadoc是否已安装
|
||||
LOG_INFO "检查quartz-javadoc是否已安装"
|
||||
dnf list installed quartz-javadoc &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "quartz-javadoc已安装,脚本结束时保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "quartz-javadoc未安装,将在测试结束后卸载"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在quartz-javadoc软件包
|
||||
LOG_INFO "检查yum源中是否存在quartz-javadoc软件包"
|
||||
dnf list available quartz-javadoc &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到quartz-javadoc软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装quartz-javadoc软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装quartz-javadoc软件包"
|
||||
dnf install -y quartz-javadoc
|
||||
CHECK_RESULT $? 0 0 "安装quartz-javadoc失败"
|
||||
fi
|
||||
|
||||
# 测试删除功能
|
||||
LOG_INFO "测试删除功能"
|
||||
rm -rf /usr/share/doc/quartz-javadoc &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "删除quartz-javadoc文档失败"
|
||||
|
||||
# 检查删除结果
|
||||
LOG_INFO "检查删除结果"
|
||||
if [ ! -d "/usr/share/doc/quartz-javadoc" ]; then
|
||||
LOG_INFO "删除成功,/usr/share/doc/quartz-javadoc目录不存在"
|
||||
else
|
||||
LOG_ERROR "删除失败,/usr/share/doc/quartz-javadoc目录仍然存在"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 恢复环境
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载quartz-javadoc软件包"
|
||||
dnf remove -y quartz-javadoc &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "卸载quartz-javadoc失败"
|
||||
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-12-08
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test the generation of quartz-javadoc
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装quartz-javadoc软件包
|
||||
LOG_INFO "检查是否已安装quartz-javadoc软件包"
|
||||
if dnf list installed quartz-javadoc &>/dev/null; then
|
||||
LOG_INFO "quartz-javadoc已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "quartz-javadoc未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有quartz-javadoc软件包
|
||||
LOG_INFO "检查yum源中是否有quartz-javadoc软件包"
|
||||
if ! dnf list available quartz-javadoc &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到quartz-javadoc软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装quartz-javadoc软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装quartz-javadoc软件包"
|
||||
dnf install -y quartz-javadoc
|
||||
CHECK_RESULT $? 0 0 "安装quartz-javadoc软件包失败"
|
||||
fi
|
||||
|
||||
# 测试生成quartz-javadoc
|
||||
LOG_INFO "测试生成quartz-javadoc"
|
||||
javadoc -d /tmp/quartz-docs -sourcepath /usr/share/quartz/src -subpackages org.quartz
|
||||
CHECK_RESULT $? 0 0 "生成quartz-javadoc失败"
|
||||
|
||||
# 清理环境:如果之前未安装,则卸载quartz-javadoc软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载quartz-javadoc软件包"
|
||||
dnf remove -y quartz-javadoc
|
||||
CHECK_RESULT $? 0 0 "卸载quartz-javadoc软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-08
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test the search in quartz-javadoc
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试脚本:test_quartz-javadoc_function_search
|
||||
|
||||
LOG_INFO "开始测试 quartz-javadoc 的搜索功能"
|
||||
|
||||
# 检查是否已安装 quartz-javadoc
|
||||
LOG_INFO "检查 quartz-javadoc 是否已安装"
|
||||
if dnf list installed quartz-javadoc &>/dev/null; then
|
||||
LOG_INFO "quartz-javadoc 已安装,跳过安装步骤"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "quartz-javadoc 未安装,将进行安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有 quartz-javadoc
|
||||
LOG_INFO "检查 yum 源中是否存在 quartz-javadoc"
|
||||
if ! dnf list available quartz-javadoc &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 quartz-javadoc 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装 quartz-javadoc
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在安装 quartz-javadoc"
|
||||
dnf install -y quartz-javadoc || {
|
||||
LOG_ERROR "安装 quartz-javadoc 失败"
|
||||
exit $?
|
||||
}
|
||||
fi
|
||||
|
||||
# 测试搜索功能
|
||||
LOG_INFO "测试搜索功能"
|
||||
SEARCH_RESULT=$(quartz-javadoc search "test_query") || {
|
||||
LOG_ERROR "搜索命令执行失败"
|
||||
exit $?
|
||||
}
|
||||
|
||||
# 检查搜索结果是否符合预期
|
||||
CHECK_RESULT $? 0 0 "搜索功能测试失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 quartz-javadoc"
|
||||
dnf remove -y quartz-javadoc || {
|
||||
LOG_ERROR "卸载 quartz-javadoc 失败"
|
||||
exit $?
|
||||
}
|
||||
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-12-08
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test the update of quartz-javadoc
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装quartz-javadoc
|
||||
LOG_INFO "检查是否已安装quartz-javadoc"
|
||||
dnf list installed quartz-javadoc > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "quartz-javadoc已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "quartz-javadoc未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在quartz-javadoc
|
||||
LOG_INFO "检查yum源中是否存在quartz-javadoc"
|
||||
dnf list available quartz-javadoc > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在quartz-javadoc,退出"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装quartz-javadoc
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装quartz-javadoc"
|
||||
dnf install -y quartz-javadoc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装quartz-javadoc失败"
|
||||
fi
|
||||
|
||||
# Test the update of quartz-javadoc
|
||||
LOG_INFO "测试quartz-javadoc的更新功能"
|
||||
dnf update -y quartz-javadoc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "更新quartz-javadoc失败"
|
||||
|
||||
# Clean up environment if needed
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载quartz-javadoc"
|
||||
dnf remove -y quartz-javadoc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载quartz-javadoc失败"
|
||||
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-12-08
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test the validation of quartz-javadoc
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试quartz-javadoc功能验证脚本
|
||||
|
||||
LOG_INFO "开始测试quartz-javadoc功能验证"
|
||||
|
||||
# 检查是否已安装quartz-javadoc
|
||||
LOG_INFO "检查quartz-javadoc是否已安装"
|
||||
dnf list installed quartz-javadoc >/dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "quartz-javadoc已安装,跳过安装步骤"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "quartz-javadoc未安装,将进行安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在quartz-javadoc
|
||||
LOG_INFO "检查yum源中是否存在quartz-javadoc"
|
||||
dnf list available quartz-javadoc >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到quartz-javadoc软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装quartz-javadoc
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装quartz-javadoc"
|
||||
dnf install -y quartz-javadoc >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装quartz-javadoc失败"
|
||||
fi
|
||||
|
||||
# 测试命令参数是否存在或不支持
|
||||
LOG_INFO "测试命令参数是否存在或不支持"
|
||||
quartz-javadoc --invalid-arg >/dev/null 2>&1
|
||||
if [ $? -ne 255 ]; then
|
||||
LOG_ERROR "不支持的命令参数未被正确处理"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行验证命令
|
||||
LOG_INFO "执行验证命令"
|
||||
quartz-javadoc --validate >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "验证命令执行失败"
|
||||
|
||||
# 如果之前未安装,则卸载quartz-javadoc以恢复环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载quartz-javadoc以恢复环境"
|
||||
dnf remove -y quartz-javadoc >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载quartz-javadoc失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
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,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-11-29
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test caching functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装springframework-orm-hibernate4
|
||||
LOG_INFO "检查是否已安装springframework-orm-hibernate4"
|
||||
dnf list installed springframework-orm-hibernate4 > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "springframework-orm-hibernate4已安装,脚本结束后保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "springframework-orm-hibernate4未安装,将在测试后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有springframework-orm-hibernate4软件包
|
||||
LOG_INFO "检查yum源中是否有springframework-orm-hibernate4软件包"
|
||||
dnf list available springframework-orm-hibernate4 > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到springframework-orm-hibernate4软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装springframework-orm-hibernate4
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装springframework-orm-hibernate4"
|
||||
dnf install -y springframework-orm-hibernate4
|
||||
CHECK_RESULT $? 0 0 "安装springframework-orm-hibernate4失败"
|
||||
fi
|
||||
|
||||
# 测试缓存功能
|
||||
LOG_INFO "测试缓存功能"
|
||||
hibernate_test_command="hibernate-cache-test --enable-cache" # 假设的命令和参数
|
||||
$hibernate_test_command > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "测试缓存功能失败"
|
||||
|
||||
# 清理环境:如果脚本开始时未安装,则卸载
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载springframework-orm-hibernate4"
|
||||
dnf remove -y springframework-orm-hibernate4
|
||||
CHECK_RESULT $? 0 0 "卸载springframework-orm-hibernate4失败"
|
||||
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-11-29
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test query execution functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查环境是否已安装springframework-orm-hibernate4
|
||||
LOG_INFO "检查环境是否已安装springframework-orm-hibernate4"
|
||||
rpm -q springframework-orm-hibernate4 > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "环境已安装springframework-orm-hibernate4,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "环境未安装springframework-orm-hibernate4,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有springframework-orm-hibernate4软件包
|
||||
LOG_INFO "检查yum源中是否有springframework-orm-hibernate4软件包"
|
||||
dnf list available springframework-orm-hibernate4 > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到springframework-orm-hibernate4软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装springframework-orm-hibernate4软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装springframework-orm-hibernate4软件包"
|
||||
dnf install -y springframework-orm-hibernate4
|
||||
CHECK_RESULT $? 0 0 "安装springframework-orm-hibernate4失败"
|
||||
fi
|
||||
|
||||
# 测试查询执行功能
|
||||
LOG_INFO "测试查询执行功能"
|
||||
TEST_QUERY="SELECT * FROM test_table;"
|
||||
hibernate-query "$TEST_QUERY" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "查询执行失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载springframework-orm-hibernate4软件包"
|
||||
dnf remove -y springframework-orm-hibernate4
|
||||
CHECK_RESULT $? 0 0 "卸载springframework-orm-hibernate4失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-09-24
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package installation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查软件包是否已安装"
|
||||
rpm -q texlive-arabi-add-doc > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "软件包已安装,脚本结束时保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有该软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-arabi-add-doc软件包"
|
||||
dnf list available texlive-arabi-add-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中不存在texlive-arabi-add-doc软件包"
|
||||
|
||||
# 安装软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装texlive-arabi-add-doc软件包"
|
||||
dnf install -y texlive-arabi-add-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 1 "安装texlive-arabi-add-doc软件包失败"
|
||||
fi
|
||||
|
||||
# 测试指定命令的参数是否支持(示例命令)
|
||||
LOG_INFO "测试指定命令的参数是否支持"
|
||||
some_command --invalid-arg > /dev/null 2>&1
|
||||
if [ $? -eq 255 ]; then
|
||||
LOG_ERROR "指定命令的参数不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行其他测试步骤(示例)
|
||||
LOG_INFO "执行其他测试步骤"
|
||||
some_other_command > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 1 "执行其他测试步骤失败"
|
||||
|
||||
# SSH到第二个服务器执行命令(示例)
|
||||
LOG_INFO "在第二个服务器上执行命令"
|
||||
SSH_CMD ls $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 1 "在第二个服务器上执行命令失败"
|
||||
|
||||
# 清理环境,恢复到之前的状态
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载texlive-arabi-add-doc软件包"
|
||||
dnf remove -y texlive-arabi-add-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 1 "卸载texlive-arabi-add-doc软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,88 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-20
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic LaTeX usage
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试:Test basic LaTeX usage"
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
LOG_INFO "检查yum源中是否存在texlive-babel-belarusian-doc软件包"
|
||||
if ! dnf list available texlive-babel-belarusian-doc &>/dev/null; then
|
||||
LOG_ERROR "yum源中不存在texlive-babel-belarusian-doc软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装
|
||||
LOG_INFO "检查texlive-babel-belarusian-doc是否已安装"
|
||||
if rpm -q texlive-babel-belarusian-doc &>/dev/null; then
|
||||
LOG_INFO "texlive-babel-belarusian-doc已安装,测试结束后将保持安装状态"
|
||||
already_installed=true
|
||||
else
|
||||
already_installed=false
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "安装texlive-babel-belarusian-doc软件包"
|
||||
dnf install -y texlive-babel-belarusian-doc
|
||||
CHECK_RESULT $? 0 0 "安装texlive-babel-belarusian-doc失败"
|
||||
fi
|
||||
|
||||
# 测试基本LaTeX使用
|
||||
LOG_INFO "测试基本LaTeX使用"
|
||||
cat > test_latex.tex << "EOF"
|
||||
\documentclass{article}
|
||||
\usepackage[belarusian]{babel}
|
||||
\begin{document}
|
||||
Hello, World!
|
||||
\end{document}
|
||||
EOF
|
||||
|
||||
# 尝试编译LaTeX文档
|
||||
LOG_INFO "尝试编译LaTeX文档"
|
||||
pdflatex test_latex.tex
|
||||
CHECK_RESULT $? 0 0 "LaTeX编译失败"
|
||||
|
||||
# 检查生成的PDF文件
|
||||
LOG_INFO "检查生成的PDF文件"
|
||||
if [ -f test_latex.pdf ]; then
|
||||
LOG_INFO "PDF文件生成成功"
|
||||
else
|
||||
LOG_ERROR "PDF文件未生成"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理生成的临时文件
|
||||
LOG_INFO "清理临时文件"
|
||||
rm -f test_latex.aux test_latex.log test_latex.pdf test_latex.tex
|
||||
|
||||
# 如果之前未安装,则卸载软件包
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "卸载texlive-babel-belarusian-doc软件包"
|
||||
dnf remove -y texlive-babel-belarusian-doc
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-babel-belarusian-doc失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,109 +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-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 gantt 模块的基本语法(如定义任务、时间线)能否在 ConTeXt 文档中正确生成甘特图。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试ConTeXt gantt模块基本语法功能"
|
||||
|
||||
# 检查软件包是否可用
|
||||
LOG_INFO "检查texlive-context-gantt软件包是否在yum源中"
|
||||
if ! dnf list available texlive-context-gantt &>/dev/null; then
|
||||
LOG_ERROR "texlive-context-gantt软件包不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装
|
||||
LOG_INFO "检查texlive-context-gantt是否已安装"
|
||||
if rpm -q texlive-context-gantt &>/dev/null; then
|
||||
LOG_INFO "texlive-context-gantt已安装,测试结束后将保持安装状态"
|
||||
ALREADY_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "texlive-context-gantt未安装,将在测试前安装"
|
||||
ALREADY_INSTALLED=0
|
||||
fi
|
||||
|
||||
# 安装软件包(如果未安装)
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装texlive-context-gantt软件包"
|
||||
dnf install -y texlive-context-gantt
|
||||
CHECK_RESULT $? 0 0 "安装texlive-context-gantt失败"
|
||||
fi
|
||||
|
||||
# 创建测试ConTeXt文档
|
||||
LOG_INFO "创建测试ConTeXt文档"
|
||||
TEST_FILE="test_gantt.tex"
|
||||
cat > $TEST_FILE << "EOF"
|
||||
\usemodule[gantt]
|
||||
|
||||
\starttext
|
||||
\startGantt{18}{8}
|
||||
\Gantttitle{2023}{8} \\
|
||||
\Gantttitlelist{1,...,8}{1} \\
|
||||
\Ganttbar{任务A}{0}{2} \\
|
||||
\Ganttbar{任务B}{2}{3} \\
|
||||
\Ganttbar{任务C}{5}{2} \\
|
||||
\Ganttmilestone{里程碑}{4} \\
|
||||
\stopGantt
|
||||
\stoptext
|
||||
EOF
|
||||
|
||||
CHECK_RESULT $? 0 0 "创建测试文件失败"
|
||||
|
||||
# 测试context命令是否支持gantt模块
|
||||
LOG_INFO "检查context命令是否支持gantt参数"
|
||||
if ! context --help 2>&1 | grep -q "gantt"; then
|
||||
LOG_ERROR "context命令不支持gantt模块或参数不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 编译测试文档
|
||||
LOG_INFO "编译ConTeXt文档生成甘特图"
|
||||
context --batch $TEST_FILE
|
||||
CHECK_RESULT $? 0 0 "编译ConTeXt文档失败"
|
||||
|
||||
# 检查生成的PDF文件
|
||||
LOG_INFO "检查生成的PDF文件"
|
||||
if [ -f "${TEST_FILE%.tex}.pdf" ]; then
|
||||
LOG_INFO "成功生成PDF文件"
|
||||
# 检查PDF文件是否有效
|
||||
file "${TEST_FILE%.tex}.pdf" | grep -q "PDF document"
|
||||
CHECK_RESULT $? 0 0 "生成的PDF文件无效"
|
||||
else
|
||||
LOG_ERROR "未生成PDF文件"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f $TEST_FILE "${TEST_FILE%.tex}.pdf" "${TEST_FILE%.tex}.log" "${TEST_FILE%.tex}.tuc"
|
||||
|
||||
# 卸载软件包(如果是测试期间安装的)
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载texlive-context-gantt软件包"
|
||||
dnf remove -y texlive-context-gantt
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-context-gantt失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,82 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用 context 命令编译一个包含 gantt 模块的简单 TeX 文档,验证核心功能可用。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 context 命令编译包含 gantt 模块的简单 TeX 文档"
|
||||
|
||||
LOG_INFO "1. 检查环境是否已安装 texlive-context 软件包"
|
||||
if dnf list installed texlive-context &>/dev/null; then
|
||||
LOG_INFO "texlive-context 已安装,跳过安装步骤"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-context 未安装,将在测试后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
LOG_INFO "2. 检查 yum 源中是否有 texlive-context 软件包"
|
||||
if ! dnf list texlive-context &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 texlive-context 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "3. 安装 texlive-context 软件包"
|
||||
dnf install -y texlive-context
|
||||
CHECK_RESULT $? 0 0 "安装 texlive-context 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "4. 创建包含 gantt 模块的简单 TeX 文档"
|
||||
cat > test_gantt.tex << "EOF"
|
||||
\usemodule[gantt]
|
||||
\starttext
|
||||
\startGantt{5}{12}
|
||||
\Ganttbar{Task 1}{0}{2}
|
||||
\Ganttbar{Task 2}{2}{4}
|
||||
\stopGantt
|
||||
\stoptext
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "创建 test_gantt.tex 文件失败"
|
||||
|
||||
LOG_INFO "5. 使用 context 命令编译 TeX 文档"
|
||||
context test_gantt.tex
|
||||
CHECK_RESULT $? 0 0 "context 编译失败"
|
||||
|
||||
LOG_INFO "6. 检查生成的 PDF 文件"
|
||||
if [ -f test_gantt.pdf ]; then
|
||||
LOG_INFO "成功生成 test_gantt.pdf 文件"
|
||||
else
|
||||
LOG_ERROR "未生成 test_gantt.pdf 文件"
|
||||
CHECK_RESULT 1 0 0 "PDF 文件生成失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "7. 清理测试文件"
|
||||
rm -f test_gantt.tex test_gantt.pdf test_gantt.log test_gantt.tuc
|
||||
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "8. 卸载 texlive-context 软件包"
|
||||
dnf remove -y texlive-context
|
||||
CHECK_RESULT $? 0 0 "卸载 texlive-context 失败"
|
||||
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-09-19
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package installation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test package installation"
|
||||
|
||||
# 检查是否已安装texlive-formular-doc
|
||||
LOG_INFO "检查是否已安装texlive-formular-doc"
|
||||
rpm -q texlive-formular-doc
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-formular-doc已安装,脚本结束时保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "texlive-formular-doc未安装,将在测试后卸载"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-formular-doc
|
||||
LOG_INFO "检查yum源中是否有texlive-formular-doc"
|
||||
dnf list available texlive-formular-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中不存在texlive-formular-doc"
|
||||
|
||||
# 安装texlive-formular-doc
|
||||
LOG_INFO "安装texlive-formular-doc"
|
||||
dnf install -y texlive-formular-doc
|
||||
CHECK_RESULT $? 0 0 "安装texlive-formular-doc失败"
|
||||
|
||||
# 验证安装是否成功
|
||||
LOG_INFO "验证texlive-formular-doc是否安装成功"
|
||||
rpm -q texlive-formular-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "texlive-formular-doc未正确安装"
|
||||
|
||||
# 如果之前未安装,则在测试后卸载
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载texlive-formular-doc"
|
||||
dnf remove -y texlive-formular-doc
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-formular-doc失败"
|
||||
|
||||
# 验证卸载是否成功
|
||||
LOG_INFO "验证texlive-formular-doc是否卸载成功"
|
||||
rpm -q texlive-formular-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 1 0 "texlive-formular-doc未正确卸载"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test package installation"
|
||||
}
|
||||
|
||||
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 : 2026-04-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test viewing main documentation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已经安装texlive-formular-doc软件包
|
||||
LOG_INFO "检查是否已安装texlive-formular-doc软件包"
|
||||
rpm -q texlive-formular-doc > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-formular-doc已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "texlive-formular-doc未安装,将在测试步骤中安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-formular-doc软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-formular-doc软件包"
|
||||
dnf list available texlive-formular-doc > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-formular-doc软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装texlive-formular-doc软件包"
|
||||
dnf install -y texlive-formular-doc
|
||||
CHECK_RESULT $? 0 0 "安装texlive-formular-doc失败"
|
||||
fi
|
||||
|
||||
# 测试查看主文档功能
|
||||
LOG_INFO "测试查看texlive-formular-doc主文档"
|
||||
texdoc formular > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "查看texlive-formular-doc主文档失败"
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载texlive-formular-doc软件包"
|
||||
dnf remove -y texlive-formular-doc
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-formular-doc失败"
|
||||
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,81 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-07-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试texlive-iwhdp软件包的降级功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试texlive-iwhdp软件包的降级功能
|
||||
|
||||
LOG_INFO "开始测试texlive-iwhdp软件包的降级功能"
|
||||
|
||||
# 检查是否已安装texlive-iwhdp
|
||||
if dnf list installed texlive-iwhdp &>/dev/null; then
|
||||
LOG_INFO "texlive-iwhdp已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-iwhdp未安装,测试结束后将卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-iwhdp软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-iwhdp软件包"
|
||||
if ! dnf list available texlive-iwhdp &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-iwhdp软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 获取当前安装的版本
|
||||
CURRENT_VERSION=$(dnf list installed texlive-iwhdp | awk "{print $2}" | tail -n 1)
|
||||
LOG_INFO "当前安装的texlive-iwhdp版本: $CURRENT_VERSION"
|
||||
|
||||
# 获取可用的旧版本
|
||||
LOG_INFO "获取可用的旧版本"
|
||||
OLD_VERSIONS=$(dnf --showduplicates list texlive-iwhdp | grep -v "$CURRENT_VERSION" | awk "{print $2}" | sort -V | head -n 1)
|
||||
if [ -z "$OLD_VERSIONS" ]; then
|
||||
LOG_ERROR "未找到可用的旧版本"
|
||||
exit 255
|
||||
fi
|
||||
OLD_VERSION=$(echo "$OLD_VERSIONS" | head -n 1)
|
||||
LOG_INFO "选择的旧版本: $OLD_VERSION"
|
||||
|
||||
# 降级到旧版本
|
||||
LOG_INFO "尝试降级到版本: $OLD_VERSION"
|
||||
dnf downgrade -y texlive-iwhdp-$OLD_VERSION &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "降级失败"
|
||||
|
||||
# 验证降级后的版本
|
||||
NEW_VERSION=$(dnf list installed texlive-iwhdp | awk "{print $2}" | tail -n 1)
|
||||
LOG_INFO "降级后的texlive-iwhdp版本: $NEW_VERSION"
|
||||
CHECK_RESULT "$NEW_VERSION" "$OLD_VERSION" 0 "版本未正确降级"
|
||||
|
||||
# 恢复环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载texlive-iwhdp以恢复环境"
|
||||
dnf remove -y texlive-iwhdp &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "卸载失败"
|
||||
else
|
||||
LOG_INFO "恢复原始版本: $CURRENT_VERSION"
|
||||
dnf install -y texlive-iwhpd-$CURRENT_VERSION &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "恢复原始版本失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试texliev-iwdhp软件包的降级功能完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,85 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-07-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试texlive-iwhdp软件包的降级回滚功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装texlive-iwhdp软件包
|
||||
LOG_INFO "检查是否已安装texlive-iwhdp软件包"
|
||||
rpm -q texlive-iwhdp > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-iwhdp已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "texlive-iwhdp未安装,将在测试结束后卸载"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-iwhdp软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-iwhdp软件包"
|
||||
dnf list available texlive-iwhdp > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中未找到texlive-iwhdp软件包"
|
||||
|
||||
# 获取当前texlive-iwhdp版本
|
||||
LOG_INFO "获取当前texlive-iwhdp版本"
|
||||
CURRENT_VERSION=$(rpm -q --queryformat "%{VERSION}-%{RELEASE}" texlive-iwhdp)
|
||||
CHECK_RESULT $? 0 255 "获取texlive-iwhdp版本失败"
|
||||
|
||||
# 获取可用的旧版本
|
||||
LOG_INFO "获取可用的旧版本"
|
||||
OLD_VERSION=$(dnf list --showduplicates texlive-iwhdp | awk "{print $2}" | grep -v "$CURRENT_VERSION" | tail -n 1)
|
||||
if [ -z "$OLD_VERSION" ]; then
|
||||
LOG_ERROR "未找到可用的旧版本"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 降级到旧版本
|
||||
LOG_INFO "降级texlive-iwhdp到版本$OLD_VERSION"
|
||||
dnf downgrade -y texlive-iwhdp-$OLD_VERSION > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 1 "降级texlive-iwhdp失败"
|
||||
|
||||
# 验证降级后的版本
|
||||
LOG_INFO "验证降级后的版本"
|
||||
NEW_VERSION=$(rpm -q --queryformat "%{VERSION}-%{RELEASE}" texlive-iwhdp)
|
||||
if [ "$NEW_VERSION" != "$OLD_VERSION" ]; then
|
||||
LOG_ERROR "降级后版本不匹配"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 回滚到原版本
|
||||
LOG_INFO "回滚texlive-iwhdp到原版本$CURRENT_VERSION"
|
||||
dnf upgrade -y texlive-iwhdp-$CURRENT_VERSION > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 1 "回滚texlive-iwhdp失败"
|
||||
|
||||
# 验证回滚后的版本
|
||||
LOG_INFO "验证回滚后的版本"
|
||||
ROLLBACK_VERSION=$(rpm -q --queryformat "%{VERSION}-%{RELEASE}" texlive-iwhdp)
|
||||
if [ "$ROLLBACK_VERSION" != "$CURRENT_VERSION" ]; then
|
||||
LOG_ERROR "回滚后版本不匹配"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理环境:如果最初未安装,则卸载texlive-iwhdp;否则保持安装状态
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "清理环境:卸载texlive-iwhdp"
|
||||
dnf remove -y texlive-iwhdp > /dev/null 2>&1
|
||||
CHECK_RESULT $?
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,92 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-25
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包安装时的依赖关系是否被正确满足
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试软件包安装时的依赖关系是否被正确满足"
|
||||
|
||||
LOG_INFO "步骤1: 检查是否已安装 texlive-iwhdp 软件包"
|
||||
if dnf list installed texlive-iwhdp &>/dev/null; then
|
||||
LOG_INFO "texlive-iwhdp 已安装,测试后将保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "texlive-iwhdp 未安装,将在测试中安装,并在测试结束后卸载"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2: 检查yum源中是否存在 texlive-iwhdp 软件包"
|
||||
if ! dnf list available texlive-iwhdp &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到 texlive-iwhdp 软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum源中存在 texlive-iwhdp 软件包"
|
||||
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "步骤3: 安装 texlive-iwhdp 软件包"
|
||||
dnf install -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "安装 texlive-iwhdp 失败"
|
||||
LOG_INFO "texlive-iwhdp 软件包安装成功"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4: 验证 texlive-iwhdp 软件包是否正常运行"
|
||||
if command -v tex &>/dev/null; then
|
||||
LOG_INFO "找到 tex 命令,尝试执行基本版本检查"
|
||||
tex --version >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "tex 命令执行失败"
|
||||
LOG_INFO "tex 命令执行成功"
|
||||
else
|
||||
LOG_INFO "未找到 tex 命令,尝试检查软件包安装的文件"
|
||||
rpm -ql texlive-iwhdp | head -5
|
||||
CHECK_RESULT $? 0 0 "texlive-iwhdp 软件包文件列表查询失败"
|
||||
LOG_INFO "texlive-iwhdp 软件包文件检查成功"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤5: 检查 texlive-iwhdp 的依赖关系是否满足"
|
||||
rpm -qR texlive-iwhdp >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "查询 texlive-iwhdp 依赖关系失败"
|
||||
LOG_INFO "texlive-iwhdp 依赖关系查询成功"
|
||||
|
||||
LOG_INFO "步骤6: 验证关键依赖包是否已安装"
|
||||
REQUIRED_DEPS=$(rpm -qR texlive-iwhdp | grep -E "^texlive-" | head -3)
|
||||
for dep in $REQUIRED_DEPS; do
|
||||
if rpm -q "$dep" &>/dev/null; then
|
||||
LOG_INFO "依赖包 $dep 已安装"
|
||||
else
|
||||
LOG_ERROR "依赖包 $dep 未安装,依赖关系可能不满足"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
LOG_INFO "步骤7: 清理测试环境"
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "卸载 texlive-iwhdp 软件包"
|
||||
dnf remove -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "卸载 texlive-iwhdp 失败"
|
||||
LOG_INFO "texlive-iwhdp 软件包卸载成功"
|
||||
else
|
||||
LOG_INFO "测试前已安装 texlive-iwhdp,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:软件包安装时的依赖关系被正确满足"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,120 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-25
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包从新版本降级到旧版本的功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试软件包从新版本降级到旧版本的功能"
|
||||
|
||||
# 检查是否已安装texlive-iwhdp软件包
|
||||
LOG_INFO "检查texlive-iwhdp软件包是否已安装"
|
||||
dnf list installed texlive-iwhdp > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-iwhdp已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED_FLAG=1
|
||||
else
|
||||
LOG_INFO "texlive-iwhdp未安装,将在测试过程中安装,并在脚本结束前卸载"
|
||||
INSTALLED_FLAG=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在texlive-iwhdp软件包
|
||||
LOG_INFO "检查yum源中是否存在texlive-iwhdp软件包"
|
||||
dnf list available texlive-iwhdp > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-iwhdp软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 获取当前可用的软件包版本信息
|
||||
LOG_INFO "获取texlive-iwhdp软件包可用版本"
|
||||
AVAILABLE_VERSIONS=$(dnf list available texlive-iwhdp | grep texlive-iwhdp | awk "{print $2}")
|
||||
if [ -z "$AVAILABLE_VERSIONS" ]; then
|
||||
LOG_ERROR "无法获取texlive-iwhdp的可用版本信息"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 提取版本号,假设有多个版本,选择最新的两个版本进行测试
|
||||
VERSIONS=($(echo "$AVAILABLE_VERSIONS" | sort -Vr))
|
||||
if [ ${#VERSIONS[@]} -lt 2 ]; then
|
||||
LOG_ERROR "可用版本少于2个,无法进行降级测试"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
NEW_VERSION=${VERSIONS[0]}
|
||||
OLD_VERSION=${VERSIONS[1]}
|
||||
|
||||
LOG_INFO "最新版本: $NEW_VERSION"
|
||||
LOG_INFO "旧版本: $OLD_VERSION"
|
||||
|
||||
# 如果未安装,先安装最新版本
|
||||
if [ $INSTALLED_FLAG -eq 0 ]; then
|
||||
LOG_INFO "安装最新版本: $NEW_VERSION"
|
||||
dnf install -y texlive-iwhdp-$NEW_VERSION
|
||||
CHECK_RESULT $? 0 0 "安装最新版本失败"
|
||||
fi
|
||||
|
||||
# 验证当前安装的版本
|
||||
LOG_INFO "验证当前安装的版本"
|
||||
CURRENT_VERSION=$(rpm -q texlive-iwhdp --qf "%{VERSION}-%{RELEASE}")
|
||||
CHECK_RESULT $? 0 0 "获取当前版本失败"
|
||||
LOG_INFO "当前安装版本: $CURRENT_VERSION"
|
||||
|
||||
# 执行降级操作
|
||||
LOG_INFO "执行降级操作到旧版本: $OLD_VERSION"
|
||||
dnf downgrade -y texlive-iwhdp-$OLD_VERSION
|
||||
CHECK_RESULT $? 0 0 "降级操作失败"
|
||||
|
||||
# 验证降级后的版本
|
||||
LOG_INFO "验证降级后的版本"
|
||||
AFTER_VERSION=$(rpm -q texlive-iwhdp --qf "%{VERSION}-%{RELEASE}")
|
||||
CHECK_RESULT $? 0 0 "获取降级后版本失败"
|
||||
LOG_INFO "降级后版本: $AFTER_VERSION"
|
||||
|
||||
# 检查降级是否成功
|
||||
if [ "$AFTER_VERSION" = "$OLD_VERSION" ]; then
|
||||
LOG_INFO "降级成功,当前版本为: $AFTER_VERSION"
|
||||
else
|
||||
LOG_ERROR "降级失败,当前版本为: $AFTER_VERSION,期望版本为: $OLD_VERSION"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 环境恢复
|
||||
LOG_INFO "开始环境恢复"
|
||||
if [ $INSTALLED_FLAG -eq 0 ]; then
|
||||
LOG_INFO "卸载测试安装的texlive-iwhdp软件包"
|
||||
dnf remove -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
else
|
||||
LOG_INFO "恢复原始安装版本: $CURRENT_VERSION"
|
||||
dnf install -y texlive-iwhdp-$CURRENT_VERSION
|
||||
CHECK_RESULT $? 0 0 "恢复原始版本失败"
|
||||
|
||||
FINAL_VERSION=$(rpm -q texlive-iwhdp --qf "%{VERSION}-%{RELEASE}")
|
||||
if [ "$FINAL_VERSION" = "$CURRENT_VERSION" ]; then
|
||||
LOG_INFO "环境恢复成功,当前版本为: $FINAL_VERSION"
|
||||
else
|
||||
LOG_ERROR "环境恢复失败,当前版本为: $FINAL_VERSION,期望版本为: $CURRENT_VERSION"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
LOG_INFO "测试软件包从新版本降级到旧版本的功能完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,97 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-25
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包的基本安装功能,验证安装后命令或文件是否存在
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 设置脚本错误立即退出
|
||||
set -e
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="texlive-iwhdp"
|
||||
|
||||
# 步骤1: 检查环境是否已安装该软件包
|
||||
LOG_INFO "步骤1: 检查环境是否已安装 $PACKAGE_NAME 软件包"
|
||||
if dnf list installed "$PACKAGE_NAME" &>/dev/null; then
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 已安装,脚本结束后将保持安装状态"
|
||||
ALREADY_INSTALLED=true
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 未安装"
|
||||
ALREADY_INSTALLED=false
|
||||
fi
|
||||
|
||||
# 步骤2: 检查yum源中是否有该软件包
|
||||
LOG_INFO "步骤2: 检查yum源中是否有 $PACKAGE_NAME 软件包"
|
||||
if ! dnf list available "$PACKAGE_NAME" &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到 $PACKAGE_NAME 软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum源中找到 $PACKAGE_NAME 软件包"
|
||||
|
||||
# 步骤3: 安装软件包(如果未安装)
|
||||
if [ "$ALREADY_INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤3: 安装 $PACKAGE_NAME 软件包"
|
||||
dnf install -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "安装 $PACKAGE_NAME 失败"
|
||||
LOG_INFO "$PACKAGE_NAME 安装成功"
|
||||
fi
|
||||
|
||||
# 步骤4: 验证安装后命令或文件是否存在
|
||||
LOG_INFO "步骤4: 验证安装后命令或文件是否存在"
|
||||
|
||||
# 检查tex命令是否存在(假设这是texlive-iwhdp提供的命令)
|
||||
if command -v tex &>/dev/null; then
|
||||
LOG_INFO "找到 tex 命令"
|
||||
else
|
||||
LOG_INFO "未找到 tex 命令,检查其他文件"
|
||||
|
||||
# 检查常见的texlive文件
|
||||
if [ -f /usr/share/texlive/texmf-dist/tex/latex/base/article.cls ]; then
|
||||
LOG_INFO "找到 texlive 文件: article.cls"
|
||||
elif [ -d /usr/share/texlive ]; then
|
||||
LOG_INFO "找到 texlive 目录"
|
||||
else
|
||||
LOG_ERROR "未找到 texlive 相关命令或文件"
|
||||
CHECK_RESULT 1 0 0 "安装后验证失败"
|
||||
fi
|
||||
fi
|
||||
|
||||
# 步骤5: 测试tex命令基本功能
|
||||
LOG_INFO "步骤5: 测试tex命令基本功能"
|
||||
if command -v tex &>/dev/null; then
|
||||
tex --version | head -1
|
||||
CHECK_RESULT $? 0 0 "tex命令执行失败"
|
||||
LOG_INFO "tex命令基本功能测试通过"
|
||||
fi
|
||||
|
||||
# 步骤6: 清理环境(如果脚本开始时未安装)
|
||||
LOG_INFO "步骤6: 清理环境"
|
||||
if [ "$ALREADY_INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 $PACKAGE_NAME 软件包"
|
||||
dnf remove -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "卸载 $PACKAGE_NAME 失败"
|
||||
LOG_INFO "$PACKAGE_NAME 卸载成功"
|
||||
else
|
||||
LOG_INFO "保持 $PACKAGE_NAME 安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,69 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-25
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包的重新安装功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试软件包的重新安装功能"
|
||||
LOG_INFO "步骤1: 检查环境是否已安装texlive-iwhdp软件包"
|
||||
if dnf list installed texlive-iwhdp &>/dev/null; then
|
||||
LOG_INFO "环境已安装texlive-iwhdp软件包,脚本结束后将保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "环境未安装texlive-iwhdp软件包,将在测试步骤中安装"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
LOG_INFO "步骤2: 检查yum源中是否有texlive-iwhdp软件包"
|
||||
dnf list available texlive-iwhdp &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "yum源中没有texlive-iwhdp软件包"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在texlive-iwhdp软件包,退出测试"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "步骤3: 卸载已安装的texlive-iwhdp软件包(如果存在)"
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "环境未安装,无需卸载"
|
||||
else
|
||||
dnf remove -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-iwhdp软件包失败"
|
||||
fi
|
||||
LOG_INFO "步骤4: 安装texlive-iwhdp软件包"
|
||||
dnf install -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "安装texlive-iwhdp软件包失败"
|
||||
LOG_INFO "步骤5: 验证texlive-iwhdp软件包安装成功"
|
||||
dnf list installed texlive-iwhdp &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "texlive-iwhdp软件包未成功安装"
|
||||
LOG_INFO "步骤6: 重新安装texlive-iwhdp软件包"
|
||||
dnf reinstall -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "重新安装texlive-iwhdp软件包失败"
|
||||
LOG_INFO "步骤7: 验证重新安装后texlive-iwhdp软件包状态"
|
||||
dnf list installed texlive-iwhdp &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "重新安装后texlive-iwhdp软件包未正确安装"
|
||||
LOG_INFO "步骤8: 清理环境,恢复到之前的状态"
|
||||
if [ "$INSTALLED_BEFORE" = true ]; then
|
||||
LOG_INFO "环境最初已安装,保持安装状态"
|
||||
else
|
||||
LOG_INFO "环境最初未安装,卸载texlive-iwhdp软件包"
|
||||
dnf remove -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-iwhdp软件包失败"
|
||||
fi
|
||||
LOG_INFO "测试软件包的重新安装功能完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,96 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-25
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包的基本卸载功能,验证卸载后相关文件是否被清理
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试软件包的基本卸载功能,验证卸载后相关文件是否被清理"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="texlive-iwhdp"
|
||||
|
||||
# 检查环境是否已安装该软件包
|
||||
LOG_INFO "步骤1:检查环境是否已安装软件包 $PACKAGE_NAME"
|
||||
if dnf list installed "$PACKAGE_NAME" &>/dev/null; then
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 已安装,标记为保持安装状态"
|
||||
KEEP_INSTALLED=true
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 未安装"
|
||||
KEEP_INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在该软件包
|
||||
LOG_INFO "步骤2:检查yum源中是否存在软件包 $PACKAGE_NAME"
|
||||
if ! dnf list available "$PACKAGE_NAME" &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到软件包 $PACKAGE_NAME"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则执行安装作为测试步骤
|
||||
if [ "$KEEP_INSTALLED" = "false" ]; then
|
||||
LOG_INFO "步骤3:安装软件包 $PACKAGE_NAME"
|
||||
dnf install -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
|
||||
fi
|
||||
|
||||
# 验证安装后文件是否存在(示例:检查某个关键文件)
|
||||
LOG_INFO "步骤4:验证安装后相关文件是否存在"
|
||||
INSTALLED_FILE="/usr/share/texlive/texmf-dist/tex/latex/iwhdp/iwhdp.sty"
|
||||
if [ -f "$INSTALLED_FILE" ]; then
|
||||
LOG_INFO "安装后文件 $INSTALLED_FILE 存在"
|
||||
else
|
||||
LOG_ERROR "安装后文件 $INSTALLED_FILE 不存在,安装可能不完整"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 执行卸载操作
|
||||
LOG_INFO "步骤5:卸载软件包 $PACKAGE_NAME"
|
||||
dnf remove -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
|
||||
|
||||
# 验证卸载后文件是否被清理
|
||||
LOG_INFO "步骤6:验证卸载后相关文件是否被清理"
|
||||
if [ -f "$INSTALLED_FILE" ]; then
|
||||
LOG_ERROR "卸载后文件 $INSTALLED_FILE 仍然存在,卸载未清理干净"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "卸载后文件 $INSTALLED_FILE 已被清理"
|
||||
fi
|
||||
|
||||
# 环境恢复:如果测试前未安装,则最终状态应为未安装;如果测试前已安装,则重新安装
|
||||
LOG_INFO "步骤7:恢复测试环境"
|
||||
if [ "$KEEP_INSTALLED" = "true" ]; then
|
||||
LOG_INFO "测试前软件包已安装,重新安装以恢复环境"
|
||||
dnf install -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "恢复安装软件包 $PACKAGE_NAME 失败"
|
||||
else
|
||||
LOG_INFO "测试前软件包未安装,环境已恢复为未安装状态"
|
||||
# 确保软件包确实未安装
|
||||
if dnf list installed "$PACKAGE_NAME" &>/dev/null; then
|
||||
LOG_ERROR "环境恢复失败,软件包 $PACKAGE_NAME 仍被安装"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:软件包 $PACKAGE_NAME 的基本卸载功能验证通过"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,90 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-25
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包从旧版本升级到新版本的功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试软件包从旧版本升级到新版本的功能"
|
||||
|
||||
# 检查是否已安装texlive-iwhdp软件包
|
||||
LOG_INFO "步骤1:检查texlive-iwhdp软件包是否已安装"
|
||||
if dnf list installed texlive-iwhdp &>/dev/null; then
|
||||
LOG_INFO "texlive-iwhdp软件包已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "texlive-iwhdp软件包未安装,将在测试步骤中安装并在结束时卸载"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-iwhdp软件包
|
||||
LOG_INFO "步骤2:检查yum源中是否有texlive-iwhdp软件包"
|
||||
if ! dnf list available texlive-iwhdp &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-iwhdp软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有旧版本和新版本的texlive-iwhdp软件包
|
||||
LOG_INFO "步骤3:检查yum源中是否有旧版本和新版本的texlive-iwhdp软件包"
|
||||
OLD_VERSION=$(dnf list available texlive-iwhdp | awk "NR==2{print $2}")
|
||||
LOG_INFO "yum源中texlive-iwhdp的版本为:$OLD_VERSION"
|
||||
# 假设新版本可以通过指定版本号安装,这里需要根据实际情况调整
|
||||
# 例如:dnf list available texlive-iwhdp-1.0.1
|
||||
# 这里假设新版本为1.0.1,实际应根据yum源中的版本信息调整
|
||||
NEW_VERSION="1.0.1"
|
||||
if ! dnf list available texlive-iwhdp-$NEW_VERSION &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-iwhdp的新版本($NEW_VERSION)"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装旧版本
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "步骤4:安装texlive-iwhdp的旧版本($OLD_VERSION)"
|
||||
dnf install -y texlive-iwhdp-$OLD_VERSION
|
||||
CHECK_RESULT $? 0 0 "安装texlive-iwhdp旧版本失败"
|
||||
fi
|
||||
|
||||
# 升级到新版本
|
||||
LOG_INFO "步骤5:将texlive-iwhdp从旧版本升级到新版本($NEW_VERSION)"
|
||||
dnf upgrade -y texlive-iwhdp-$NEW_VERSION
|
||||
CHECK_RESULT $? 0 0 "升级texlive-iwhdp到新版本失败"
|
||||
|
||||
# 验证升级后的版本
|
||||
LOG_INFO "步骤6:验证升级后的版本"
|
||||
CURRENT_VERSION=$(rpm -q texlive-iwhdp | awk -F"-" "{print $2"-"$3}")
|
||||
if [ "$CURRENT_VERSION" = "$NEW_VERSION" ]; then
|
||||
LOG_INFO "升级成功,当前版本为:$CURRENT_VERSION"
|
||||
else
|
||||
LOG_ERROR "升级失败,当前版本为:$CURRENT_VERSION,期望版本为:$NEW_VERSION"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 环境恢复
|
||||
LOG_INFO "步骤7:恢复环境"
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "卸载texlive-iwhdp软件包"
|
||||
dnf remove -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-iwhdp失败"
|
||||
else
|
||||
LOG_INFO "保持texlive-iwhdp软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,190 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-25
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包提供的核心命令或功能的基本使用,例如调用其工具处理文档
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义颜色输出函数(如果LOG_INFO/LOG_ERROR未定义)
|
||||
if ! command -v LOG_INFO &> /dev/null; then
|
||||
LOG_INFO() {
|
||||
echo -e "\033[32m[INFO]\033[0m $*"
|
||||
}
|
||||
fi
|
||||
|
||||
if ! command -v LOG_ERROR &> /dev/null; then
|
||||
LOG_ERROR() {
|
||||
echo -e "\033[31m[ERROR]\033[0m $*" >&2
|
||||
}
|
||||
fi
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
check_package_in_repo() {
|
||||
local pkg=$1
|
||||
LOG_INFO "检查yum源中是否存在软件包: $pkg"
|
||||
dnf list available "$pkg" &> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 $pkg 不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "软件包 $pkg 存在于yum源中"
|
||||
}
|
||||
|
||||
# 检查命令参数是否支持
|
||||
check_command_param() {
|
||||
local cmd=$1
|
||||
local param=$2
|
||||
LOG_INFO "检查命令 $cmd 是否支持参数: $param"
|
||||
$cmd --help 2>&1 | grep -q -- "$param"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "命令 $cmd 不支持参数 $param"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "命令 $cmd 支持参数 $param"
|
||||
}
|
||||
|
||||
# 主测试函数
|
||||
test_texlive_iwhdp_function_usage() {
|
||||
local pkg_name="texlive-iwhdp"
|
||||
local test_file="test_document.tex"
|
||||
local output_file="test_document.pdf"
|
||||
local need_cleanup=0
|
||||
|
||||
LOG_INFO "=== 开始测试 texlive-iwhdp 功能使用 ==="
|
||||
|
||||
# 步骤1:检查软件包是否已安装
|
||||
LOG_INFO "步骤1:检查 $pkg_name 是否已安装"
|
||||
if rpm -q "$pkg_name" &> /dev/null; then
|
||||
LOG_INFO "$pkg_name 已安装,测试结束后保持安装状态"
|
||||
need_cleanup=0
|
||||
else
|
||||
LOG_INFO "$pkg_name 未安装,将在测试后卸载"
|
||||
need_cleanup=1
|
||||
|
||||
# 步骤2:检查软件包是否在yum源中
|
||||
check_package_in_repo "$pkg_name"
|
||||
|
||||
# 步骤3:安装软件包
|
||||
LOG_INFO "步骤3:安装 $pkg_name"
|
||||
dnf install -y "$pkg_name"
|
||||
CHECK_RESULT $? 0 0 "安装 $pkg_name 失败"
|
||||
fi
|
||||
|
||||
# 步骤4:检查核心命令是否可用
|
||||
LOG_INFO "步骤4:检查核心命令是否可用"
|
||||
command -v pdflatex &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "pdflatex 命令未找到"
|
||||
|
||||
# 步骤5:检查命令参数是否支持
|
||||
check_command_param "pdflatex" "-interaction"
|
||||
|
||||
# 步骤6:创建测试LaTeX文档
|
||||
LOG_INFO "步骤6:创建测试LaTeX文档"
|
||||
cat > "$test_file" << "EOF"
|
||||
\documentclass{article}
|
||||
\begin{document}
|
||||
\title{Test Document}
|
||||
\author{Test Author}
|
||||
\maketitle
|
||||
\section{Introduction}
|
||||
This is a test document for texlive-iwhdp functionality testing.
|
||||
\section{Conclusion}
|
||||
Test completed successfully.
|
||||
\end{document}
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "创建测试文档失败"
|
||||
|
||||
# 步骤7:使用pdflatex处理文档
|
||||
LOG_INFO "步骤7:使用pdflatex处理LaTeX文档"
|
||||
pdflatex -interaction=nonstopmode "$test_file"
|
||||
CHECK_RESULT $? 0 0 "pdflatex处理文档失败"
|
||||
|
||||
# 步骤8:验证输出文件
|
||||
LOG_INFO "步骤8:验证生成的PDF文件"
|
||||
if [ -f "$output_file" ]; then
|
||||
LOG_INFO "PDF文件生成成功: $output_file"
|
||||
file "$output_file" | grep -q "PDF document"
|
||||
CHECK_RESULT $? 0 0 "生成的不是有效的PDF文件"
|
||||
else
|
||||
LOG_ERROR "PDF文件未生成"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 步骤9:测试其他相关命令
|
||||
LOG_INFO "步骤9:测试其他相关命令"
|
||||
command -v latex &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "latex命令未找到"
|
||||
|
||||
command -v bibtex &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "bibtex命令未找到"
|
||||
|
||||
# 步骤10:清理测试文件
|
||||
LOG_INFO "步骤10:清理测试生成的文件"
|
||||
rm -f "$test_file" "$output_file" *.aux *.log *.out *.toc 2>/dev/null
|
||||
CHECK_RESULT $? 0 0 "清理测试文件失败"
|
||||
|
||||
LOG_INFO "所有功能测试完成"
|
||||
}
|
||||
|
||||
# 环境恢复函数
|
||||
cleanup_environment() {
|
||||
LOG_INFO "=== 环境恢复 ==="
|
||||
|
||||
# 如果测试前未安装,则卸载软件包
|
||||
if [ "$need_cleanup" -eq 1 ]; then
|
||||
LOG_INFO "卸载测试安装的软件包"
|
||||
dnf remove -y "$pkg_name"
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "软件包卸载成功"
|
||||
else
|
||||
LOG_ERROR "软件包卸载失败"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
LOG_INFO "保持软件包安装状态"
|
||||
fi
|
||||
|
||||
# 清理可能残留的测试文件
|
||||
rm -f test_document.* *.aux *.log *.out *.toc 2>/dev/null
|
||||
|
||||
LOG_INFO "环境恢复完成"
|
||||
}
|
||||
|
||||
# 异常处理
|
||||
handle_error() {
|
||||
LOG_ERROR "测试过程中发生错误"
|
||||
cleanup_environment
|
||||
exit 1
|
||||
}
|
||||
|
||||
# 设置异常捕获
|
||||
trap handle_error ERR
|
||||
|
||||
# 执行测试
|
||||
main() {
|
||||
test_texlive_iwhdp_function_usage
|
||||
cleanup_environment
|
||||
LOG_INFO "=== 测试脚本执行完成 ==="
|
||||
exit 0
|
||||
}
|
||||
|
||||
# 执行主函数
|
||||
main
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,61 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-07-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试texlive-iwhdp软件包的安装功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查texlive-iwhdp软件包是否已安装
|
||||
LOG_INFO "检查texlive-iwhdp软件包是否已安装"
|
||||
rpm -q texlive-iwhdp > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-iwhdp软件包已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "texlive-iwhdp软件包未安装,脚本结束后将卸载软件包"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在texlive-iwhdp软件包
|
||||
LOG_INFO "检查yum源中是否存在texlive-iwhdp软件包"
|
||||
dnf list available texlive-iwhdp > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中不存在texlive-iwhdp软件包"
|
||||
|
||||
# 安装texlive-iwhdp软件包
|
||||
LOG_INFO "安装texlive-iwhdp软件包"
|
||||
dnf install -y texlive-iwhdp > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装texlive-iwhdp软件包失败"
|
||||
|
||||
# 验证texlive-iwhdp命令是否可用(假设命令为texlive)
|
||||
LOG_INFO "验证texlive命令是否可用"
|
||||
texlive --version > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "texlive命令不存在或不支持"
|
||||
|
||||
# 环境恢复:如果脚本开始时未安装texlive-iwhdp,则卸载
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载texlive-iwhdp软件包"
|
||||
dnf remove -y texlive-iwhdp > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-iwhdp软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完成"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,72 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-07-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试texlive-iwhdp软件包的升级回滚功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已经安装texlive-iwhdp软件包
|
||||
LOG_INFO "检查是否已安装texlive-iwhdp软件包"
|
||||
rpm -q texlive-iwhdp > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-iwhdp已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "texlive-iwhdp未安装,脚本结束前将卸载"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-iwhdp软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-iwhdp软件包"
|
||||
dnf list available texlive-iwhdp > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-iwhdp软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装texlive-iwhdp软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "开始安装texlive-iwhdp软件包"
|
||||
dnf install -y texlive-iwhdp > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装texlive-iwhdp软件包失败"
|
||||
fi
|
||||
|
||||
# 检查升级回滚功能参数支持情况
|
||||
LOG_INFO "检查升级回滚功能参数支持情况"
|
||||
texlive-iwhdp --help | grep -q "\-\-rollback" > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "升级回滚功能参数不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行升级回滚功能测试
|
||||
LOG_INFO "执行升级回滚功能测试"
|
||||
texlive-iwhdp --rollback > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "升级回滚功能测试失败"
|
||||
|
||||
# 清理环境,恢复到之前的状态
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载texlive-iwhdp软件包"
|
||||
dnf remove -y texlive-iwhdp > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-iwhdp软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,64 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-07-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试texlive-iwhdp软件包提供的服务的配置功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查texlive-iwhdp软件包是否已安装
|
||||
LOG_INFO "检查texlive-iwhdp软件包是否已安装"
|
||||
rpm -q texlive-iwhdp
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-iwhdp软件包已安装"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "texlive-iwhdp软件包未安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在texlive-iwhdp软件包
|
||||
LOG_INFO "检查yum源中是否存在texlive-iwhdp软件包"
|
||||
dnf list available texlive-iwhdp
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在texlive-iwhdp软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装texlive-iwhdp软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "开始安装texlive-iwhdp软件包"
|
||||
dnf install -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "安装texlive-iwhdp软件包失败"
|
||||
fi
|
||||
|
||||
# 测试服务配置功能
|
||||
LOG_INFO "测试texlive-iwhdp服务配置功能"
|
||||
systemctl status texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "获取texlive-iwhdp服务状态失败"
|
||||
|
||||
# 如果脚本开始时未安装,则在结束时卸载软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载texlive-iwhdp软件包"
|
||||
dnf remove -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-iwhdp软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,65 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-07-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试texlive-iwhdp软件包提供的服务的日志查看功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试texlive-iwhdp软件包提供的服务的日志查看功能
|
||||
|
||||
LOG_INFO "开始测试texlive-iwhdp软件包提供的服务的日志查看功能"
|
||||
|
||||
# 检查是否已安装texlive-iwhdp软件包
|
||||
LOG_INFO "检查texlive-iwhdp软件包是否已安装"
|
||||
if ! dnf list installed texlive-iwhdp &>/dev/null; then
|
||||
LOG_INFO "texlive-iwhdp未安装,将进行安装"
|
||||
# 检查yum源中是否有texlive-iwhdp软件包
|
||||
if ! dnf list available texlive-iwhdp &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-iwhdp软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装texlive-iwhdp软件包
|
||||
dnf install -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "安装texlive-iwhdp软件包失败"
|
||||
# 标记为需要卸载
|
||||
UNINSTALL_NEEDED=1
|
||||
else
|
||||
LOG_INFO "texlive-iwhdp已安装"
|
||||
UNINSTALL_NEEDED=0
|
||||
fi
|
||||
|
||||
# 检查服务日志查看功能
|
||||
LOG_INFO "测试服务日志查看功能"
|
||||
# 假设服务日志查看命令为texlog,参数为--view
|
||||
if ! texlog --view &>/dev/null; then
|
||||
LOG_ERROR "texlog --view命令执行失败或参数不支持"
|
||||
exit 255
|
||||
fi
|
||||
CHECK_RESULT $? 0 0 "服务日志查看功能测试失败"
|
||||
|
||||
# 清理环境:如果之前未安装则卸载
|
||||
if [ "$UNINSTALL_NEEDED" -eq 1 ]; then
|
||||
LOG_INFO "卸载texlive-iwhdp软件包"
|
||||
dnf remove -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-iwhdp软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,92 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-07-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试texlive-iwhdp软件包提供的服务的重载配置功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试texlive-iwhdp软件包提供的服务的重载配置功能
|
||||
|
||||
LOG_INFO "开始测试texlive-iwhdp软件包的服务重载配置功能"
|
||||
|
||||
# 检查是否已安装texlive-iwhdp软件包
|
||||
LOG_INFO "检查texlive-iwhdp软件包是否已安装"
|
||||
dnf list installed texlive-iwhdp > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-iwhdp软件包已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "texlive-iwhdp软件包未安装,将在测试步骤中安装并在脚本结束前卸载"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-iwhdp软件包
|
||||
LOG_INFO "检查yum源中是否存在texlive-iwhdp软件包"
|
||||
dnf list available texlive-iwhdp > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在texlive-iwhdp软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "开始安装texlive-iwhdp软件包"
|
||||
dnf install -y texlive-iwhdp > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装texlive-iwhdp软件包失败"
|
||||
fi
|
||||
|
||||
# 检查服务是否存在并获取服务名
|
||||
LOG_INFO "检查texlive-iwhdp服务是否存在"
|
||||
SERVICE_NAME=$(systemctl list-unit-files | grep texlive-iwhdp | awk "{print $1}")
|
||||
if [ -z "$SERVICE_NAME" ]; then
|
||||
LOG_ERROR "未找到texlive-iwhdp服务"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查服务是否支持reload操作
|
||||
LOG_INFO "检查服务是否支持reload操作"
|
||||
systemctl show "$SERVICE_NAME" | grep ExecReload > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "服务不支持reload操作"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 启动服务(如果未运行)
|
||||
LOG_INFO "确保服务已启动"
|
||||
systemctl is-active "$SERVICE_NAME" > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
systemctl start "$SERVICE_NAME" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "启动服务失败"
|
||||
fi
|
||||
|
||||
# reload服务配置
|
||||
LOG_INFO "重载服务配置"
|
||||
systemctl reload "$SERVICE_NAME" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "重载服务配置失败"
|
||||
|
||||
# cleanup: restore environment to original state
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载之前安装的texlive-iwhdp软件包"
|
||||
dnf remove -y texlive-iwhdp > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 “卸载texlike-iwdhp失败”
|
||||
fi
|
||||
|
||||
LOG_INFO “测试完成”
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,81 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-07-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试texlive-iwhdp软件包提供的服务的重启功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装texlive-iwhdp软件包
|
||||
LOG_INFO "检查是否已安装texlive-iwhdp软件包"
|
||||
rpm -q texlive-iwhdp > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-iwhdp软件包已安装"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "texlive-iwhdp软件包未安装"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在texlive-iwhdp软件包
|
||||
LOG_INFO "检查yum源中是否存在texlive-iwhdp软件包"
|
||||
dnf list available texlive-iwhdp > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在texlive-iwhdp软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装texlive-iwhdp软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "开始安装texlive-iwhdp软件包"
|
||||
dnf install -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "安装texlive-iwhdp软件包失败"
|
||||
LOG_INFO "texlive-iwhdp软件包安装成功"
|
||||
fi
|
||||
|
||||
# 检查服务是否存在
|
||||
LOG_INFO "检查texlive-iwhdp服务是否存在"
|
||||
systemctl list-unit-files | grep texlive-iwhdp > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "texlive-iwhdp服务不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 重启服务并检查状态
|
||||
LOG_INFO "重启texlive-iwhdp服务"
|
||||
systemctl restart texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "重启texlive-iwhdp服务失败"
|
||||
LOG_INFO "texlive-iwhdp服务重启成功"
|
||||
|
||||
LOG_INFO "检查texlive-iwhdp服务状态"
|
||||
systemctl status texlive-iwhdp | grep "active (running)" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "texlive-iwhdp服务未正常运行"
|
||||
|
||||
# 如果最初未安装,则卸载texlive-iwhdp软件包以恢复环境
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载texlive-iwhdp软件包以恢复环境"
|
||||
dnf remove -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-iwhdppkg软件包失败"
|
||||
LOG_INFO "texlivedpkg-iw软件包卸载成功"
|
||||
fi
|
||||
|
||||
LOG_INFO测试脚本执行完毕,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,82 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-07-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试texlive-iwhdp软件包提供的服务的启动功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试texlive-iwhdp软件包提供的服务的启动功能
|
||||
|
||||
LOG_INFO "开始测试texlive-iwhdp软件包提供的服务的启动功能"
|
||||
|
||||
# 检查是否已安装texlive-iwhdp软件包
|
||||
LOG_INFO "检查texlive-iwhdp软件包是否已安装"
|
||||
dnf list installed texlive-iwhdp > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-iwhdp软件包已安装,测试完成后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-iwhdp软件包未安装,将在测试完成后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-iwhdp软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-iwhdp软件包"
|
||||
dnf list available texlive-iwhdp > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-iwhdp软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装texlive-iwhdp软件包"
|
||||
dnf install -y texlive-iwhdp > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装texlive-iwhdp软件包失败"
|
||||
fi
|
||||
|
||||
# 检查服务是否存在
|
||||
LOG_INFO "检查texlive-iwhdp服务是否存在"
|
||||
systemctl list-unit-files | grep texlive-iwhdp.service > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "texlive-iwhdp服务不存在"
|
||||
|
||||
# 启动服务并检查状态
|
||||
LOG_INFO "启动texlive-iwhdp服务"
|
||||
systemctl start texlive-iwhdp.service > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "启动texlive-iwhdp服务失败"
|
||||
|
||||
LOG_INFO "检查texlive-iwhdp服务状态"
|
||||
systemctl status texlive-iwhdp.service > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "texlive-iwhdp服务未正常运行"
|
||||
|
||||
# 停止服务
|
||||
LOG_INFO "停止texlive-iwhdp服务"
|
||||
systemctl stop texlive-iwhdp.service > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "停止texlive-iwhdp服务失败"
|
||||
|
||||
# 恢复环境:如果测试前未安装,则卸载软件包;否则保持安装状态
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载texlive-iwhdp软件包以恢复环境"
|
||||
dnf remove -y texlive-iwhdp > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-iwhdp软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,66 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-07-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试texlive-iwhdp软件包提供的服务的状态查询功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试texlive-iwhdp软件包提供的服务的状态查询功能
|
||||
|
||||
# 检查是否已经安装texlive-iwhdp软件包
|
||||
LOG_INFO "检查是否已安装texlive-iwhdp软件包"
|
||||
if rpm -q texlive-iwhdp &> /dev/null; then
|
||||
LOG_INFO "texlive-iwhdp已安装"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "texlive-iwhdp未安装"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-iwhdp软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-iwhdp软件包"
|
||||
if ! dnf list available texlive-iwhdp &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-iwhdp软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装texlive-iwhdp软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "开始安装texlive-iwhdp软件包"
|
||||
dnf install -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "安装texlive-iwhdp失败"
|
||||
LOG_INFO "texlive-iwhdp安装成功"
|
||||
fi
|
||||
|
||||
# 测试服务状态查询功能
|
||||
LOG_INFO "测试texlive-iwhdp服务状态查询功能"
|
||||
systemctl status texlive-iwhdp &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "查询texlive-iwhdp服务状态失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载texlive-iwhdp软件包"
|
||||
dnf remove -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-iwhdp失败"
|
||||
LOG_INFO "texlive-iwhdp卸载成功"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,79 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-07-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试texlive-iwhdp软件包提供的服务的停止功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查texlive-iwhdp软件包是否已安装
|
||||
LOG_INFO "检查texlive-iwhdp软件包是否已安装"
|
||||
rpm -q texlive-iwhdp > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-iwhdp软件包已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-iwhdp软件包未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-iwhdp软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-iwhdp软件包"
|
||||
dnf list available texlive-iwhdp > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-iwhdp软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装texlive-iwhdp软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装texlive-iwhdp软件包"
|
||||
dnf install -y texlive-iwhdp > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装texlive-iwhdp软件包失败"
|
||||
fi
|
||||
|
||||
# 检查服务是否存在
|
||||
LOG_INFO "检查texlive-iwhdp服务是否存在"
|
||||
systemctl list-unit-files | grep texlive-iwhdp.service > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "texlive-iwhdp服务不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 停止texlive-iwhdp服务
|
||||
LOG_INFO "停止texlive-iwhdp服务"
|
||||
systemctl stop texlive-iwhdp.service
|
||||
CHECK_RESULT $? 0 0 "停止texlive-iwhdp服务失败"
|
||||
|
||||
# 检查服务状态是否为inactive
|
||||
LOG_INFO "检查texlive-iwhdp服务状态是否为inactive"
|
||||
systemctl is-active texlive-iwhdp.service | grep -q "inactive"
|
||||
CHECK_RESULT $? 0 0 "texlive-iwhdp服务未成功停止"
|
||||
|
||||
# 恢复环境:如果脚本开始时未安装texlive-iwhdp,则卸载
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载texlive-iwhdp软件包以恢复环境"
|
||||
dnf remove -y texlive-iwhdp > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-iwhdp软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,63 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-07-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试texlive-iwhdp软件包的卸载功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查texlive-iwhdp软件包是否已安装
|
||||
LOG_INFO "检查texlive-iwhdp软件包是否已安装"
|
||||
rpm -q texlive-iwhdp > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-iwhdp软件包已安装,脚本结束时保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-iwhdp软件包未安装,将在测试后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在texlive-iwhdp软件包
|
||||
LOG_INFO "检查yum源中是否存在texlive-iwhdp软件包"
|
||||
dnf list available texlive-iwhdp > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中不存在texlive-iwhdp软件包"
|
||||
|
||||
# 安装texlive-iwhdp软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装texlive-iwhdp软件包"
|
||||
dnf install -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 1 "安装texlive-iwhdp软件包失败"
|
||||
fi
|
||||
|
||||
# 测试卸载功能
|
||||
LOG_INFO "测试texlive-iwhdp软件包的卸载功能"
|
||||
dnf remove -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 1 "卸载texlive-iwhdp软件包失败"
|
||||
|
||||
# 如果之前未安装,则重新安装以恢复环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "恢复环境,重新安装texlive-iwhdp软件包"
|
||||
dnf install -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 1 "重新安装texlive-iwhdp软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,62 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-07-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试texlive-iwhdp软件包的升级功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已经安装texlive-iwhdp软件包
|
||||
LOG_INFO "检查是否已经安装texlive-iwhdp软件包"
|
||||
rpm -q texlive-iwhdp
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-iwhdp软件包已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-iwhdp软件包未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在texlive-iwhdp软件包
|
||||
LOG_INFO "检查yum源中是否存在texlive-iwhdp软件包"
|
||||
dnf list available texlive-iwhdp
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在texlive-iwhdp软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装texlive-iwhdp软件包
|
||||
LOG_INFO "开始安装texlive-iwhdp软件包"
|
||||
dnf install -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "安装texlive-iwhdp软件包失败"
|
||||
|
||||
# 测试升级功能
|
||||
LOG_INFO "测试texlive-iwhdp软件包的升级功能"
|
||||
dnf upgrade -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "升级texlive-iwhdp软件包失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载texlive-iwhdp软件包"
|
||||
dnf remove -y texlive-iwhdp
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-iwhdp软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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 : 2025-11-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test drawing lattice diagrams
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test drawing lattice diagrams"
|
||||
|
||||
# 检查是否已安装texlive-tikz-palattice-doc
|
||||
LOG_INFO "检查是否已安装texlive-tikz-palattice-doc"
|
||||
if dnf list installed texlive-tikz-palattice-doc &>/dev/null; then
|
||||
LOG_INFO "texlive-tikz-palattice-doc已安装,测试完成后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-tikz-palattice-doc未安装,将在测试完成后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-tikz-palattice-doc
|
||||
LOG_INFO "检查yum源中是否有texlive-tikz-palattice-doc"
|
||||
if ! dnf list available texlive-tikz-palattice-doc &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-tikz-palattice-doc"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装texlive-tikz-palattice-doc(如果未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在安装texlive-tikz-palattice-doc"
|
||||
dnf install -y texlive-tikz-palattice-doc
|
||||
CHECK_RESULT $? 0 0 "安装texlive-tikz-palattice-doc失败"
|
||||
fi
|
||||
|
||||
# 测试绘制lattice diagrams功能
|
||||
LOG_INFO "测试绘制lattice diagrams功能"
|
||||
if ! command -v pdflatex &>/dev/null; then
|
||||
LOG_ERROR "pdflatex命令不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 创建临时测试文件
|
||||
LOG_INFO "创建临时测试文件"
|
||||
cat <<EOF > test_lattice.tex
|
||||
\documentclass{article}
|
||||
\usepackage{tikz}
|
||||
\usetikzlibrary{lattices}
|
||||
\begin{document}
|
||||
\begin{tikzpicture}
|
||||
\draw[lattice] (0,0) grid (3,3);
|
||||
\end{tikzpicture}
|
||||
\end{document}
|
||||
EOF
|
||||
|
||||
# 编译测试文件
|
||||
LOG_INFO "编译测试文件"
|
||||
pdflatex test_lattice.tex &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "编译测试文件失败"
|
||||
|
||||
# 检查生成的PDF文件
|
||||
LOG_INFO "检查生成的PDF文件"
|
||||
if [ ! -f test_lattice.pdf ]; then
|
||||
LOG_ERROR "未生成PDF文件"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理临时文件
|
||||
LOG_INFO "清理临时文件"
|
||||
rm -f test_lattice.tex test_lattice.pdf test_lattice.log test_lattice.aux
|
||||
|
||||
# 卸载texlive-tikz-palantine-doc(如果之前未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载texlive-tikz-palattice-doc"
|
||||
dnf remove -y texlive-tikz-palantine-doc
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-tikz-palantine-doc失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test drawing lattice diagrams"
|
||||
}
|
||||
|
||||
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-12-13
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包zvbi-help的基础功能,验证其是否能正常启动和运行。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
LOG_INFO "开始测试zvbi-help的基础功能"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
if ! rpm -q zvbi-help &>/dev/null; then
|
||||
LOG_INFO "环境未安装zvbi-help,将进行安装"
|
||||
# 检查yum源中是否有该软件包
|
||||
if ! dnf list available zvbi-help &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到zvbi-help软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装软件包
|
||||
dnf install -y zvbi-help
|
||||
CHECK_RESULT $? 0 0 "安装zvbi-help失败"
|
||||
else
|
||||
LOG_INFO "环境已安装zvbi-help,跳过安装步骤"
|
||||
fi
|
||||
|
||||
# 验证zvbi-help是否能正常启动和运行
|
||||
LOG_INFO "验证zvbi-help是否能正常启动和运行"
|
||||
zvbi-help --help &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "zvbi-help启动失败"
|
||||
|
||||
# 检查参数是否存在或不支持
|
||||
LOG_INFO "检查参数是否存在或不支持"
|
||||
if ! zvbi-help --nonexistent-option &>/dev/null; then
|
||||
LOG_ERROR "zvbi-help不支持或不存在的参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载软件包
|
||||
if ! rpm -q zvbi-help &>/dev/null; then
|
||||
LOG_INFO "测试前未安装zvbi-help,将卸载软件包"
|
||||
dnf remove -y zvbi-help
|
||||
CHECK_RESULT $? 0 0 "卸载zvbi-help失败"
|
||||
else
|
||||
LOG_INFO "测试前已安装zvbi-help,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
Reference in New Issue
Block a user