Merge branch 'pkg' of http://10.30.190.190:54866/redrsoe2100/os-autotest into pkg
This commit is contained in:
@@ -11,26 +11,6 @@
|
||||
"name": "test_auto-javadoc_service_stop",
|
||||
"desc": "测试 auto-javadoc 服务的停止功能,确保服务可以正常停止。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_auto-javadoc_function_install",
|
||||
"desc": "测试 auto-javadoc 软件包的安装功能,确保软件包可以正常安装。"
|
||||
},
|
||||
{
|
||||
"name": "test_auto-javadoc_function_start",
|
||||
"desc": "测试 auto-javadoc 服务的启动功能,确保服务可以正常启动。"
|
||||
},
|
||||
{
|
||||
"name": "test_auto-javadoc_function_config",
|
||||
"desc": "测试 auto-javadoc 的配置功能,确保配置可以正常加载和应用。"
|
||||
},
|
||||
{
|
||||
"name": "test_auto-javadoc_function_generate",
|
||||
"desc": "测试 auto-javadoc 的文档生成功能,确保文档可以正常生成。"
|
||||
},
|
||||
{
|
||||
"name": "test_auto-javadoc_function_validate",
|
||||
"desc": "测试 auto-javadoc 的输入验证功能,确保输入参数可以正确验证。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -7,57 +7,13 @@
|
||||
"desc": "测试guice-parent软件包的安装功能,验证安装过程是否正常完成。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_guice-parent_function_injection",
|
||||
"desc": "测试guice-parent依赖注入功能,验证注入是否正常。"
|
||||
},
|
||||
{
|
||||
"name": "test_guice-parent_function_binding",
|
||||
"desc": "测试guice-parent绑定功能,验证绑定是否正常。"
|
||||
},
|
||||
{
|
||||
"name": "test_guice-parent_function_scope",
|
||||
"desc": "测试guice-parent作用域功能,验证作用域是否正常。"
|
||||
},
|
||||
{
|
||||
"name": "test_guice-parent_function_install",
|
||||
"desc": "测试guice-parent软件包的安装功能,验证是否能成功安装到系统中。"
|
||||
},
|
||||
{
|
||||
"name": "test_guice-parent_function_uninstall",
|
||||
"desc": "测试guice-parent软件包的卸载功能,验证是否能完全移除且不残留文件。"
|
||||
},
|
||||
{
|
||||
"name": "test_guice-parent_function_check_install",
|
||||
"desc": "测试guice-parent软件包的安装状态检查功能,验证检查命令或方法能正确返回安装信息。"
|
||||
},
|
||||
{
|
||||
"name": "test_guice-parent_function_basic_injection",
|
||||
"desc": "测试guice-parent最基本的依赖注入功能,验证简单对象的注入是否成功。"
|
||||
},
|
||||
{
|
||||
"name": "test_guice-parent_function_binding_annotation",
|
||||
"desc": "测试guice-parent使用注解进行绑定的功能,验证基于注解的绑定和注入是否正常。"
|
||||
},
|
||||
{
|
||||
"name": "test_guice-parent_function_scope_singleton",
|
||||
"desc": "测试guice-parent的单例作用域功能,验证同一实例在多次注入时是否为同一个对象。"
|
||||
},
|
||||
{
|
||||
"name": "test_guice-parent_function_provider_binding",
|
||||
"desc": "测试guice-parent使用Provider进行绑定的功能,验证Provider能按需创建和提供实例。"
|
||||
},
|
||||
{
|
||||
"name": "test_guice-parent_function_module_install",
|
||||
"desc": "测试guice-parent模块的安装与配置功能,验证多个Module的配置和组合使用是否正常。"
|
||||
},
|
||||
{
|
||||
"name": "test_guice-parent_function_injector_creation",
|
||||
"desc": "测试guice-parent的Injector创建功能,验证能根据配置成功创建Injector实例。"
|
||||
},
|
||||
{
|
||||
"name": "test_guice-parent_function_optional_injection",
|
||||
"desc": "测试guice-parent的可选注入功能,验证当绑定不存在时,可选注入能优雅地处理。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,69 +2,13 @@
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/linuxptp/linuxptp-help",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_linuxptp-help_function_version",
|
||||
"desc": "Test the version display functionality"
|
||||
},
|
||||
{
|
||||
"name": "test_linuxptp-help_function_config",
|
||||
"desc": "Test configuration file parsing"
|
||||
},
|
||||
{
|
||||
"name": "test_linuxptp-help_function_sync",
|
||||
"desc": "Test time synchronization feature"
|
||||
},
|
||||
{
|
||||
"name": "test_linuxptp-help_function_log",
|
||||
"desc": "Test logging functionality"
|
||||
},
|
||||
{
|
||||
"name": "test_linuxptp-help_function_startup",
|
||||
"desc": "Test service startup functionality"
|
||||
},
|
||||
{
|
||||
"name": "test_linuxptp-help_function_stop",
|
||||
"desc": "Test service stop functionality"
|
||||
},
|
||||
{
|
||||
"name": "test_linuxptp-help_function_restart",
|
||||
"desc": "Test service restart functionality"
|
||||
},
|
||||
{
|
||||
"name": "test_linuxptp-help_function_status",
|
||||
"desc": "Test service status functionality"
|
||||
},
|
||||
{
|
||||
"name": "test_linuxptp-help_function_dep",
|
||||
"desc": "Test dependency check functionality"
|
||||
},
|
||||
{
|
||||
"name": "test_linuxptp-help_function_install",
|
||||
"desc": "Test package installation functionality"
|
||||
},
|
||||
{
|
||||
"name": "test_linuxptp-help_function_uninstall",
|
||||
"desc": "Test package removal functionality"
|
||||
},
|
||||
{
|
||||
"name": "test_linuxptp-help_function_help",
|
||||
"desc": "Test help message display"
|
||||
},
|
||||
{
|
||||
"name": "test_linuxptp-help_function_manpage",
|
||||
"desc": "Test manual page availability"
|
||||
},
|
||||
{
|
||||
"name": "test_linuxptp-help_function_basic_usage",
|
||||
"desc": "Test basic command usage"
|
||||
},
|
||||
{
|
||||
"name": "test_linuxptp-help_function_service_install",
|
||||
"desc": "Test service installation"
|
||||
},
|
||||
{
|
||||
"name": "test_linuxptp-help_function_service_remove",
|
||||
"desc": "Test service removal"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,29 +2,9 @@
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/plexus-pom/plexus-pom",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_plexus-pom_function_install",
|
||||
"desc": "测试通过包管理器安装plexus-pom软件包"
|
||||
},
|
||||
{
|
||||
"name": "test_plexus-pom_function_uninstall",
|
||||
"desc": "测试通过包管理器卸载plexus-pom软件包"
|
||||
},
|
||||
{
|
||||
"name": "test_plexus-pom_function_version",
|
||||
"desc": "测试检查plexus-pom软件包的版本信息"
|
||||
},
|
||||
{
|
||||
"name": "test_plexus-pom_function_help",
|
||||
"desc": "测试运行plexus-pom命令的help选项"
|
||||
},
|
||||
{
|
||||
"name": "test_plexus-pom_function_basic_parse",
|
||||
"desc": "测试plexus-pom解析POM文件的基本功能"
|
||||
},
|
||||
{
|
||||
"name": "test_plexus-pom_function_validate",
|
||||
"desc": "测试plexus-pom对POM文件的验证功能"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/python-jsmin/python-jsmin-help",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_python-jsmin-help_function_basic",
|
||||
"desc": "Test basic functionality of jsmin"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/python-zope-interface/python-zope-interface-help",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_python-zope-interface-help_function_init",
|
||||
"desc": "Test initialization of the package"
|
||||
},
|
||||
{
|
||||
"name": "test_python-zope-interface-help_function_register",
|
||||
"desc": "Test registration of interfaces"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/qt6-qt3d/qt6-qt3d-devel",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_qt6-qt3d-devel_function_render",
|
||||
"desc": "Test rendering functionality of Qt6 Qt3D"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -13,14 +13,6 @@
|
||||
{
|
||||
"name": "test_sssd-winbind-idmap_function_version",
|
||||
"desc": "测试查询软件包sssd-winbind-idmap的版本信息"
|
||||
},
|
||||
{
|
||||
"name": "test_sssd-winbind-idmap_function_config",
|
||||
"desc": "测试软件包sssd-winbind-idmap是否提供了配置文件"
|
||||
},
|
||||
{
|
||||
"name": "test_sssd-winbind-idmap_function_idmap",
|
||||
"desc": "测试winbind idmap功能是否被正确配置和启用"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-b/texlive-attachfile-doc",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-attachfile-doc_function_install",
|
||||
"desc": "Test package installation"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-e/texlive-coloring",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-coloring_function_basic",
|
||||
"desc": "Test basic coloring functionality"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,10 +2,6 @@
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-h/texlive-elsarticle",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-elsarticle_function_install",
|
||||
"desc": "Test package installation"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-elsarticle_function_uninstall",
|
||||
"desc": "Test package removal"
|
||||
|
||||
@@ -9,22 +9,6 @@
|
||||
{
|
||||
"name": "test_texlive-eso-pic_function_remove",
|
||||
"desc": "Test removal of texlive-eso-pic package"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-eso-pic_function_check",
|
||||
"desc": "Test if texlive-eso-pic package is installed"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-eso-pic_function_usage_bg",
|
||||
"desc": "Test basic background image usage"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-eso-pic_function_usage_grid",
|
||||
"desc": "Test grid overlay usage"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-eso-pic_function_usage_abs",
|
||||
"desc": "Test absolute positioning usage"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-y/texlive-scholax",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-scholax_function_install",
|
||||
"desc": "Test package installation"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -5,22 +5,6 @@
|
||||
{
|
||||
"name": "test_texlive-xnewcommand_function_uninstall",
|
||||
"desc": "Test package removal"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-xnewcommand_function_install",
|
||||
"desc": "Test package installation"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-xnewcommand_function_check",
|
||||
"desc": "Test if package is installed"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-xnewcommand_function_usage",
|
||||
"desc": "Test basic newcommand usage"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-xnewcommand_function_help",
|
||||
"desc": "Test documentation access"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,71 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-03
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 auto-javadoc 的配置功能,确保配置可以正常加载和应用。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查yum源中是否存在auto-javadoc软件包
|
||||
LOG_INFO "检查yum源中是否存在auto-javadoc软件包"
|
||||
dnf list available auto-javadoc > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在auto-javadoc软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装auto-javadoc
|
||||
LOG_INFO "检查是否已安装auto-javadoc"
|
||||
rpm -q auto-javadoc > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "auto-javadoc已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "auto-javadoc未安装,将在测试步骤中安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装auto-javadoc
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装auto-javadoc软件包"
|
||||
dnf install -y auto-javadoc
|
||||
CHECK_RESULT $? 0 0 "安装auto-javadoc失败"
|
||||
fi
|
||||
|
||||
# 测试配置加载功能
|
||||
LOG_INFO "测试auto-javadoc的配置加载功能"
|
||||
auto-javadoc --load-config > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "配置加载失败"
|
||||
|
||||
# 测试配置应用功能(假设--apply-config是支持的参数)
|
||||
LOG_INFO "测试auto-javadoc的配置应用功能"
|
||||
auto-javadoc --apply-config > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "配置应用失败"
|
||||
|
||||
# 清理环境:如果脚本开始时未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载auto-javadoc软件包"
|
||||
dnf remove -y auto-javadoc
|
||||
CHECK_RESULT $? 0 0 "卸载auto-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-03
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 auto-javadoc 的文档生成功能,确保文档可以正常生成。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装auto-javadoc
|
||||
LOG_INFO "检查是否已安装auto-javadoc"
|
||||
if dnf list installed auto-javadoc &>/dev/null; then
|
||||
LOG_INFO "auto-javadoc已安装,脚本结束后保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "auto-javadoc未安装,将在测试完成后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在auto-javadoc软件包
|
||||
LOG_INFO "检查yum源中是否存在auto-javadoc软件包"
|
||||
if ! dnf list available auto-javadoc &>/dev/null; then
|
||||
LOG_ERROR "yum源中不存在auto-javadoc软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装auto-javadoc
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装auto-javadoc"
|
||||
dnf install -y auto-javadoc
|
||||
CHECK_RESULT $? 0 0 "安装auto-javadoc失败"
|
||||
fi
|
||||
|
||||
# 测试文档生成功能
|
||||
LOG_INFO "测试auto-javadoc的文档生成功能"
|
||||
auto-javadoc --generate-docs
|
||||
CHECK_RESULT $? 0 0 "文档生成失败"
|
||||
|
||||
# 清理环境(如果之前未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载auto-javadoc"
|
||||
dnf remove -y auto-javadoc
|
||||
CHECK_RESULT $? 0 0 "卸载auto-javadoc失败"
|
||||
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-12-03
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 auto-javadoc 软件包的安装功能,确保软件包可以正常安装。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
LOG_INFO "开始测试 auto-javadoc 软件包的安装功能"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查 auto-javadoc 是否已安装"
|
||||
rpm -q auto-javadoc > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "auto-javadoc 已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "auto-javadoc 未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否存在 auto-javadoc 软件包
|
||||
LOG_INFO "检查 yum 源中是否存在 auto-javadoc 软件包"
|
||||
dnf list available auto-javadoc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum 源中未找到 auto-javadoc 软件包"
|
||||
|
||||
# 安装 auto-javadoc
|
||||
LOG_INFO "安装 auto-javadoc"
|
||||
dnf install -y auto-javadoc
|
||||
CHECK_RESULT $? 0 0 "安装 auto-javadoc 失败"
|
||||
|
||||
# 验证命令参数支持情况(假设命令为 auto-javadoc --help)
|
||||
LOG_INFO "验证命令参数支持情况"
|
||||
auto-javadoc --help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "auto-javadoc 命令参数不支持"
|
||||
|
||||
# 执行测试命令(假设测试命令为生成文档)
|
||||
LOG_INFO "执行测试命令:生成文档"
|
||||
auto-javadoc generate > /dev/null 2>&1
|
||||
CHECK_RESULT $?
|
||||
|
||||
# 环境恢复:如果之前未安装,则卸载
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 auto-javadoc"
|
||||
dnf remove -y auto-javadoc > /dev/null 2>&1
|
||||
CHECK_RESULT $?
|
||||
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 : 2025-12-03
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 auto-javadoc 服务的启动功能,确保服务可以正常启动。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 auto-javadoc 服务的启动功能,确保服务可以正常启动。"
|
||||
|
||||
# 检查是否已安装 auto-javadoc 服务
|
||||
LOG_INFO "检查 auto-javadoc 服务是否已安装"
|
||||
if dnf list installed auto-javadoc &>/dev/null; then
|
||||
LOG_INFO "auto-javadoc 服务已安装"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "auto-javadoc 服务未安装"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有 auto-javadoc 软件包
|
||||
LOG_INFO "检查 yum 源中是否有 auto-javadoc 软件包"
|
||||
if ! dnf list available auto-javadoc &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 auto-javadoc 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装 auto-javadoc 服务
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装 auto-javadoc 服务"
|
||||
dnf install -y auto-javadoc
|
||||
CHECK_RESULT $? 0 0 "安装 auto-javadoc 服务失败"
|
||||
fi
|
||||
|
||||
# 启动 auto-javadoc 服务
|
||||
LOG_INFO "启动 auto-javadoc 服务"
|
||||
systemctl start auto-javadoc
|
||||
CHECK_RESULT $? 0 0 "启动 auto-javadoc 服务失败"
|
||||
|
||||
# 检查服务状态
|
||||
LOG_INFO "检查 auto-javadoc 服务状态"
|
||||
systemctl status auto-javadoc --no-pager
|
||||
CHECK_RESULT $? 0 0 "auto-javadoc 服务未正常运行"
|
||||
|
||||
# 如果脚本开始时未安装,则在结束时卸载 auto-javadoc 服务
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载 auto-javadoc 服务"
|
||||
dnf remove -y auto-javadoc
|
||||
CHECK_RESULT $? 0 0 "卸载 auto-javadoc 服务失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试 auto-javadoc 服务的启动功能完成"
|
||||
}
|
||||
|
||||
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-12-03
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 auto-javadoc 的输入验证功能,确保输入参数可以正确验证。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 auto-javadoc 的输入验证功能,确保输入参数可以正确验证。"
|
||||
|
||||
# 检查是否已安装 auto-javadoc
|
||||
LOG_INFO "检查是否已安装 auto-javadoc"
|
||||
dnf list installed auto-javadoc &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "auto-javadoc 已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "auto-javadoc 未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有 auto-javadoc 软件包
|
||||
LOG_INFO "检查 yum 源中是否有 auto-javadoc 软件包"
|
||||
dnf list available auto-javadoc &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum 源中未找到 auto-javadoc 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装 auto-javadoc
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装 auto-javadoc"
|
||||
dnf install -y auto-javadoc
|
||||
CHECK_RESULT $? 0 0 "安装 auto-javadoc 失败"
|
||||
fi
|
||||
|
||||
# 测试输入参数验证功能
|
||||
LOG_INFO "测试输入参数验证功能"
|
||||
|
||||
# 测试无效参数
|
||||
LOG_INFO "测试无效参数 --invalid-param"
|
||||
auto-javadoc --invalid-param &>/dev/null
|
||||
CHECK_RESULT $? 255 0 "无效参数未正确拒绝"
|
||||
|
||||
# 测试缺少必要参数
|
||||
LOG_INFO "测试缺少必要参数"
|
||||
auto-javadoc &>/dev/null
|
||||
CHECK_RESULT $? 255 0 "缺少必要参数未正确拒绝"
|
||||
|
||||
# 测试有效参数
|
||||
LOG_INFO "测试有效参数 --help"
|
||||
auto-javadoc --help &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "有效参数未正确接受"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 auto-javadoc"
|
||||
dnf remove -y auto-javadoc
|
||||
CHECK_RESULT $? 0 0 "卸载 auto-javadoc 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,136 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-04-04
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试guice-parent最基本的依赖注入功能,验证简单对象的注入是否成功。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义变量
|
||||
PACKAGE_NAME="guice-parent"
|
||||
TEST_COMMAND="java -jar /usr/share/guice-parent/test-injection.jar"
|
||||
TEST_SCRIPT="/tmp/test_guice_injection.sh"
|
||||
|
||||
# 检查yum源中是否有指定软件包
|
||||
LOG_INFO "检查yum源中是否存在${PACKAGE_NAME}软件包"
|
||||
dnf list available ${PACKAGE_NAME} &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在${PACKAGE_NAME}软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装
|
||||
LOG_INFO "检查系统是否已安装${PACKAGE_NAME}"
|
||||
rpm -q ${PACKAGE_NAME} &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
ALREADY_INSTALLED=1
|
||||
LOG_INFO "检测到${PACKAGE_NAME}已安装"
|
||||
else
|
||||
ALREADY_INSTALLED=0
|
||||
LOG_INFO "检测到${PACKAGE_NAME}未安装"
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ ${ALREADY_INSTALLED} -eq 0 ]; then
|
||||
LOG_INFO "开始安装${PACKAGE_NAME}软件包"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}失败"
|
||||
LOG_INFO "${PACKAGE_NAME}安装成功"
|
||||
fi
|
||||
|
||||
# 创建测试脚本
|
||||
LOG_INFO "创建依赖注入功能测试脚本"
|
||||
cat > ${TEST_SCRIPT} << "EOF"
|
||||
|
||||
# 简单的Guice依赖注入测试
|
||||
cat > /tmp/TestModule.java << "JAVAEOF"
|
||||
import com.google.inject.*;
|
||||
public class TestModule extends AbstractModule {
|
||||
@Override
|
||||
protected void configure() {
|
||||
bind(Service.class).to(ServiceImpl.class);
|
||||
}
|
||||
|
||||
interface Service {
|
||||
String execute();
|
||||
}
|
||||
|
||||
static class ServiceImpl implements Service {
|
||||
public String execute() {
|
||||
return "Guice Dependency Injection Test PASSED";
|
||||
}
|
||||
}
|
||||
}
|
||||
JAVAEOF
|
||||
|
||||
cat > /tmp/TestApp.java << "JAVAEOF"
|
||||
import com.google.inject.*;
|
||||
public class TestApp {
|
||||
private final TestModule.Service service;
|
||||
|
||||
@Inject
|
||||
public TestApp(TestModule.Service service) {
|
||||
this.service = service;
|
||||
}
|
||||
|
||||
public String run() {
|
||||
return service.execute();
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
Injector injector = Guice.createInjector(new TestModule());
|
||||
TestApp app = injector.getInstance(TestApp.class);
|
||||
System.out.println(app.run());
|
||||
}
|
||||
}
|
||||
JAVAEOF
|
||||
|
||||
# 编译并运行测试
|
||||
javac -cp "/usr/share/java/guice.jar:/usr/share/java/javax.inject.jar" /tmp/TestModule.java /tmp/TestApp.java
|
||||
CHECK_RESULT $? 0 0 "Java编译失败"
|
||||
|
||||
java -cp "/usr/share/java/guice.jar:/usr/share/java/javax.inject.jar:/tmp" TestApp
|
||||
EOF
|
||||
|
||||
# 为测试脚本添加执行权限
|
||||
chmod +x ${TEST_SCRIPT}
|
||||
|
||||
# 执行测试脚本
|
||||
LOG_INFO "执行guice-parent依赖注入功能测试"
|
||||
${TEST_SCRIPT} | grep -q "Guice Dependency Injection Test PASSED"
|
||||
CHECK_RESULT $? 0 0 "guice-parent依赖注入功能测试失败"
|
||||
|
||||
LOG_INFO "guice-parent最基本的依赖注入功能测试通过"
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f ${TEST_SCRIPT} /tmp/TestModule.java /tmp/TestModule.class /tmp/TestApp.java /tmp/TestApp.class
|
||||
|
||||
# 如果之前未安装,则卸载软件包
|
||||
if [ ${ALREADY_INSTALLED} -eq 0 ]; then
|
||||
LOG_INFO "卸载${PACKAGE_NAME}软件包"
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}失败"
|
||||
LOG_INFO "${PACKAGE_NAME}卸载成功"
|
||||
else
|
||||
LOG_INFO "保持${PACKAGE_NAME}的安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-12-13
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试guice-parent绑定功能,验证绑定是否正常。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试guice-parent绑定功能,验证绑定是否正常。"
|
||||
|
||||
# 检查是否已安装guice-parent软件包
|
||||
LOG_INFO "检查是否已安装guice-parent软件包"
|
||||
dnf list installed guice-parent > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "guice-parent已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "guice-parent未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有guice-parent软件包
|
||||
LOG_INFO "检查yum源中是否有guice-parent软件包"
|
||||
dnf list available guice-parent > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到guice-parent软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装guice-parent软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装guice-parent软件包"
|
||||
dnf install -y guice-parent
|
||||
CHECK_RESULT $? 0 0 "安装guice-parent软件包失败"
|
||||
fi
|
||||
|
||||
# 验证guice-parent绑定功能
|
||||
LOG_INFO "验证guice-parent绑定功能"
|
||||
# 假设验证命令为guice-parent --test-binding
|
||||
guice-parent --test-binding > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "guice-parent绑定功能验证失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载guice-parent软件包"
|
||||
dnf remove -y guice-parent
|
||||
CHECK_RESULT $? 0 0 "卸载guice-parent软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试guice-parent绑定功能完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,130 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-04-04
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试guice-parent使用注解进行绑定的功能,验证基于注解的绑定和注入是否正常。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义颜色输出
|
||||
LOG_INFO() {
|
||||
echo "[INFO] $*"
|
||||
}
|
||||
|
||||
LOG_ERROR() {
|
||||
echo "[ERROR] $*"
|
||||
}
|
||||
|
||||
# 检查dnf源中是否存在软件包
|
||||
check_package_in_repo() {
|
||||
local package_name=$1
|
||||
LOG_INFO "检查yum源中是否存在软件包: $package_name"
|
||||
dnf list available "$package_name" &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 $package_name 在yum源中不存在"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "软件包 $package_name 在yum源中存在"
|
||||
}
|
||||
|
||||
# 检查命令参数是否支持
|
||||
check_command_option() {
|
||||
local command=$1
|
||||
local option=$2
|
||||
LOG_INFO "检查命令 $command 是否支持参数 $option"
|
||||
$command --help 2>&1 | grep -q "$option"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "命令 $command 不支持参数 $option"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "命令 $command 支持参数 $option"
|
||||
}
|
||||
|
||||
# 清理函数
|
||||
cleanup() {
|
||||
LOG_INFO "开始清理环境"
|
||||
if [ "$package_installed" = "true" ]; then
|
||||
LOG_INFO "卸载软件包 guice-parent"
|
||||
dnf remove -y guice-parent &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "卸载guice-parent失败"
|
||||
fi
|
||||
LOG_INFO "环境清理完成"
|
||||
}
|
||||
|
||||
# 主函数
|
||||
main() {
|
||||
# 设置信号捕获,确保脚本退出时执行清理
|
||||
trap cleanup EXIT
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="guice-parent"
|
||||
|
||||
# 检查是否已安装
|
||||
LOG_INFO "检查是否已安装 $PACKAGE_NAME"
|
||||
if rpm -q $PACKAGE_NAME &>/dev/null; then
|
||||
LOG_INFO "$PACKAGE_NAME 已安装,脚本结束后将保持安装状态"
|
||||
package_installed="true"
|
||||
else
|
||||
LOG_INFO "$PACKAGE_NAME 未安装,将在测试过程中安装"
|
||||
package_installed="false"
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在该软件包
|
||||
check_package_in_repo "$PACKAGE_NAME"
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$package_installed" = "false" ]; then
|
||||
LOG_INFO "安装软件包 $PACKAGE_NAME"
|
||||
dnf install -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "安装 $PACKAGE_NAME 失败"
|
||||
LOG_INFO "$PACKAGE_NAME 安装成功"
|
||||
# 标记为已安装,以便清理时卸载
|
||||
package_installed="true"
|
||||
fi
|
||||
|
||||
# 测试guice-parent使用注解进行绑定的功能
|
||||
LOG_INFO "开始测试guice-parent使用注解进行绑定的功能"
|
||||
|
||||
# 模拟基于注解的绑定和注入测试
|
||||
# 这里假设有一个测试命令或脚本来验证注解绑定功能
|
||||
# 例如:运行一个Java测试类或使用特定的测试工具
|
||||
LOG_INFO "执行注解绑定测试"
|
||||
# 假设有一个测试脚本或命令,这里用echo模拟
|
||||
echo "Running annotation binding test..." > /tmp/guice_test.log
|
||||
CHECK_RESULT $? 0 0 "执行注解绑定测试失败"
|
||||
|
||||
# 验证测试结果
|
||||
LOG_INFO "验证基于注解的绑定和注入是否正常"
|
||||
# 假设测试结果输出到文件,检查文件内容或返回码
|
||||
if grep -q "success" /tmp/guice_test.log 2>/dev/null; then
|
||||
LOG_INFO "注解绑定测试成功"
|
||||
else
|
||||
LOG_ERROR "注解绑定测试失败"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理临时文件
|
||||
rm -f /tmp/guice_test.log
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
# 执行主函数
|
||||
main
|
||||
}
|
||||
|
||||
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-04-04
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试guice-parent软件包的安装状态检查功能,验证检查命令或方法能正确返回安装信息。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查guice-parent软件包是否已安装
|
||||
LOG_INFO "开始检查guice-parent软件包安装状态"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="guice-parent"
|
||||
|
||||
# 检查dnf源中是否存在该软件包
|
||||
LOG_INFO "检查dnf源中是否存在${PACKAGE_NAME}软件包"
|
||||
dnf list available ${PACKAGE_NAME} &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "dnf源中未找到${PACKAGE_NAME}软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查当前是否已安装
|
||||
LOG_INFO "检查系统是否已安装${PACKAGE_NAME}"
|
||||
if rpm -q ${PACKAGE_NAME} &>/dev/null; then
|
||||
LOG_INFO "检测到${PACKAGE_NAME}已安装,记录当前状态"
|
||||
WAS_INSTALLED=true
|
||||
else
|
||||
LOG_INFO "检测到${PACKAGE_NAME}未安装"
|
||||
WAS_INSTALLED=false
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包作为测试步骤
|
||||
if [ "${WAS_INSTALLED}" = "false" ]; then
|
||||
LOG_INFO "开始安装${PACKAGE_NAME}软件包"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}失败"
|
||||
LOG_INFO "成功安装${PACKAGE_NAME}"
|
||||
fi
|
||||
|
||||
# 测试检查安装状态的命令或方法
|
||||
LOG_INFO "测试检查${PACKAGE_NAME}安装状态的命令"
|
||||
|
||||
# 方法1:使用rpm命令检查
|
||||
LOG_INFO "方法1:使用rpm -q命令检查"
|
||||
rpm -q ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "rpm检查${PACKAGE_NAME}安装状态失败"
|
||||
|
||||
# 方法2:使用dnf命令检查
|
||||
LOG_INFO "方法2:使用dnf list installed命令检查"
|
||||
dnf list installed ${PACKAGE_NAME} | grep ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "dnf检查${PACKAGE_NAME}安装状态失败"
|
||||
|
||||
# 方法3:验证软件包文件是否存在
|
||||
LOG_INFO "方法3:验证软件包相关文件"
|
||||
rpm -ql ${PACKAGE_NAME} &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "${PACKAGE_NAME}文件检查失败"
|
||||
|
||||
# 验证安装信息内容
|
||||
LOG_INFO "验证安装信息内容"
|
||||
INSTALL_INFO=$(rpm -qi ${PACKAGE_NAME})
|
||||
if echo "${INSTALL_INFO}" | grep -q "Name.*: ${PACKAGE_NAME}"; then
|
||||
LOG_INFO "安装信息中包含正确的软件包名称"
|
||||
else
|
||||
LOG_ERROR "安装信息中未找到正确的软件包名称"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载软件包
|
||||
if [ "${WAS_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 "guice-parent软件包安装状态检查功能测试完成"
|
||||
}
|
||||
|
||||
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 : 2025-12-13
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试guice-parent依赖注入功能,验证注入是否正常。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查软件包是否已安装
|
||||
check_package_installed() {
|
||||
dnf list installed "$1" &>/dev/null
|
||||
return $?
|
||||
}
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
check_package_in_repo() {
|
||||
dnf list available "$1" &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 $1 不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
}
|
||||
|
||||
# 安装软件包
|
||||
install_package() {
|
||||
LOG_INFO "正在安装软件包 $1"
|
||||
dnf install -y "$1"
|
||||
CHECK_RESULT $? 0 0 "安装软件包 $1 失败"
|
||||
}
|
||||
|
||||
# 卸载软件包
|
||||
uninstall_package() {
|
||||
LOG_INFO "正在卸载软件包 $1"
|
||||
dnf remove -y "$1"
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 $1 失败"
|
||||
}
|
||||
|
||||
# 主测试函数
|
||||
test_guice_parent_function_injection() {
|
||||
local package_name="guice-parent"
|
||||
local was_installed=false
|
||||
|
||||
# 检查软件包是否已安装
|
||||
check_package_installed "$package_name"
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "软件包 $package_name 已安装,测试结束后将保持安装状态"
|
||||
was_installed=true
|
||||
else
|
||||
LOG_INFO "软件包 $package_name 未安装,将在测试结束后卸载"
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有该软件包
|
||||
check_package_in_repo "$package_name"
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if ! $was_installed; then
|
||||
install_package "$package_name"
|
||||
fi
|
||||
|
||||
# 验证依赖注入功能(示例命令)
|
||||
LOG_INFO "验证 guice-parent 依赖注入功能"
|
||||
some_command_to_test_injection
|
||||
CHECK_RESULT $? 0 0 "依赖注入功能验证失败"
|
||||
|
||||
# 清理环境:如果之前未安装,则卸载软件包
|
||||
if ! $was_installed; then
|
||||
uninstall_package "$package_name"
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 $package_name 失败"
|
||||
else
|
||||
LOG_INFO "保持软件包 $package_name的安装状态"
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
#执行测试脚本入口函数
|
||||
test_guice_parent_function_injection
|
||||
|
||||
LOG_INFO "测试脚本执行完毕,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
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-04-04
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试guice-parent的Injector创建功能,验证能根据配置成功创建Injector实例。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装guice-parent软件包
|
||||
LOG_INFO "检查guice-parent软件包是否已安装"
|
||||
rpm -q guice-parent > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "guice-parent已安装,标记为已安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "guice-parent未安装,标记为未安装状态"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有guice-parent软件包
|
||||
LOG_INFO "检查yum源中是否存在guice-parent软件包"
|
||||
dnf search guice-parent --quiet > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到guice-parent软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装guice-parent
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "开始安装guice-parent软件包"
|
||||
dnf install -y guice-parent
|
||||
CHECK_RESULT $? 0 0 "安装guice-parent失败"
|
||||
LOG_INFO "guice-parent软件包安装成功"
|
||||
else
|
||||
LOG_INFO "guice-parent已安装,跳过安装步骤"
|
||||
fi
|
||||
|
||||
# 验证guice-parent的Injector创建功能
|
||||
LOG_INFO "验证guice-parent的Injector创建功能"
|
||||
# 假设guice-parent提供了一个名为create-injector的命令用于创建Injector实例
|
||||
# 检查create-injector命令是否存在
|
||||
which create-injector > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "create-injector命令不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行create-injector命令,使用默认配置
|
||||
LOG_INFO "执行create-injector命令创建Injector实例"
|
||||
create-injector --config default
|
||||
CHECK_RESULT $? 0 0 "创建Injector实例失败"
|
||||
LOG_INFO "Injector实例创建成功"
|
||||
|
||||
# 如果需要多个服务器并在第二个服务器上执行命令
|
||||
# 假设需要在第二个服务器上验证Injector创建功能
|
||||
LOG_INFO "在第二个服务器上验证Injector创建功能"
|
||||
SSH_CMD "which create-injector" $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER
|
||||
CHECK_RESULT $? 0 0 "第二个服务器上create-injector命令不存在"
|
||||
SSH_CMD "create-injector --config default" $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER
|
||||
CHECK_RESULT $? 0 0 "第二个服务器上创建Injector实例失败"
|
||||
LOG_INFO "第二个服务器上Injector实例创建成功"
|
||||
|
||||
# 清理环境:如果脚本开始时未安装,则卸载guice-parent
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "清理环境:卸载guice-parent软件包"
|
||||
dnf remove -y guice-parent
|
||||
CHECK_RESULT $? 0 0 "卸载guice-parent失败"
|
||||
LOG_INFO "guice-parent软件包卸载成功"
|
||||
else
|
||||
LOG_INFO "保持guice-parent安装状态,无需卸载"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:guice-parent的Injector创建功能验证成功"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,60 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-04-04
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试guice-parent软件包的安装功能,验证是否能成功安装到系统中。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
PACKAGE_NAME="guice-parent"
|
||||
LOG_INFO "开始测试guice-parent软件包的安装功能"
|
||||
LOG_INFO "步骤1:检查当前环境中是否已安装${PACKAGE_NAME}软件包"
|
||||
rpm -q ${PACKAGE_NAME} > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "环境中已安装${PACKAGE_NAME}软件包,测试结束将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "环境中未安装${PACKAGE_NAME}软件包"
|
||||
INSTALLED=0
|
||||
fi
|
||||
LOG_INFO "步骤2:检查yum源中是否存在${PACKAGE_NAME}软件包"
|
||||
dnf list available ${PACKAGE_NAME} > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到${PACKAGE_NAME}软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum源中存在${PACKAGE_NAME}软件包"
|
||||
if [ ${INSTALLED} -eq 0 ]; then
|
||||
LOG_INFO "步骤3:执行安装${PACKAGE_NAME}软件包"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}软件包失败"
|
||||
LOG_INFO "成功安装${PACKAGE_NAME}软件包"
|
||||
fi
|
||||
LOG_INFO "步骤4:验证${PACKAGE_NAME}软件包是否成功安装到系统中"
|
||||
rpm -q ${PACKAGE_NAME} > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "验证${PACKAGE_NAME}软件包安装状态失败"
|
||||
LOG_INFO "验证成功,${PACKAGE_NAME}软件包已成功安装到系统中"
|
||||
if [ ${INSTALLED} -eq 0 ]; then
|
||||
LOG_INFO "步骤5:清理环境,卸载之前安装的${PACKAGE_NAME}软件包"
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}软件包失败"
|
||||
LOG_INFO "成功卸载${PACKAGE_NAME}软件包,环境已恢复"
|
||||
fi
|
||||
LOG_INFO "guice-parent软件包安装功能测试完成"
|
||||
}
|
||||
|
||||
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-04-04
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试guice-parent的可选注入功能,验证当绑定不存在时,可选注入能优雅地处理。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="guice-parent"
|
||||
|
||||
# 检查软件包是否存在于yum源中
|
||||
LOG_INFO "检查yum源中是否存在${PACKAGE_NAME}软件包"
|
||||
if ! dnf list available "${PACKAGE_NAME}" &>/dev/null; then
|
||||
LOG_ERROR "yum源中不存在${PACKAGE_NAME}软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查当前环境是否已安装该软件包
|
||||
LOG_INFO "检查当前环境是否已安装${PACKAGE_NAME}软件包"
|
||||
if rpm -q "${PACKAGE_NAME}" &>/dev/null; then
|
||||
LOG_INFO "${PACKAGE_NAME}软件包已安装,测试结束后将保持安装状态"
|
||||
INSTALLED_BEFORE_TEST=true
|
||||
else
|
||||
LOG_INFO "${PACKAGE_NAME}软件包未安装,将在测试前安装并在测试后卸载"
|
||||
INSTALLED_BEFORE_TEST=false
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "${INSTALLED_BEFORE_TEST}" = false ]; then
|
||||
LOG_INFO "安装${PACKAGE_NAME}软件包"
|
||||
dnf install -y "${PACKAGE_NAME}"
|
||||
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}软件包失败"
|
||||
fi
|
||||
|
||||
# 测试guice-parent的可选注入功能
|
||||
LOG_INFO "测试guice-parent的可选注入功能"
|
||||
LOG_INFO "验证当绑定不存在时,可选注入能优雅地处理"
|
||||
|
||||
# 假设测试命令为guice-parent-test-optional-injection,如果不存在则退出
|
||||
LOG_INFO "检查测试命令是否存在"
|
||||
if ! command -v guice-parent-test-optional-injection &>/dev/null; then
|
||||
LOG_ERROR "测试命令guice-parent-test-optional-injection不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行测试命令,验证可选注入功能
|
||||
LOG_INFO "执行测试命令,验证可选注入功能"
|
||||
guice-parent-test-optional-injection --test-optional-injection
|
||||
CHECK_RESULT $? 0 0 "guice-parent可选注入功能测试失败"
|
||||
|
||||
# 如果需要多个服务器并在第二个服务器上执行命令,使用SSH_CMD
|
||||
# 例如:SSH_CMD ls $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER
|
||||
# 根据实际需求添加相关步骤
|
||||
|
||||
# 环境恢复:如果测试前未安装,则卸载软件包
|
||||
if [ "${INSTALLED_BEFORE_TEST}" = false ]; then
|
||||
LOG_INFO "卸载${PACKAGE_NAME}软件包"
|
||||
dnf remove -y "${PACKAGE_NAME}"
|
||||
CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}软件包失败"
|
||||
else
|
||||
LOG_INFO "测试前已安装${PACKAGE_NAME}软件包,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,157 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-04-04
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试guice-parent使用Provider进行绑定的功能,验证Provider能按需创建和提供实例。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装guice-parent软件包
|
||||
LOG_INFO "检查guice-parent软件包是否已安装"
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
LOG_INFO "检查yum源中是否存在guice-parent软件包"
|
||||
dnf list available guice-parent 2>/dev/null | grep -q guice-parent
|
||||
CHECK_RESULT $? 0 0 "yum源中未找到guice-parent软件包"
|
||||
|
||||
# 检查当前是否已安装
|
||||
if rpm -q guice-parent >/dev/null 2>&1; then
|
||||
LOG_INFO "guice-parent软件包已安装,测试完成后将保持安装状态"
|
||||
ALREADY_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "guice-parent软件包未安装,将在测试过程中安装"
|
||||
ALREADY_INSTALLED=0
|
||||
fi
|
||||
|
||||
# 安装软件包(如果未安装)
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装guice-parent软件包"
|
||||
dnf install -y guice-parent
|
||||
CHECK_RESULT $? 0 0 "安装guice-parent软件包失败"
|
||||
fi
|
||||
|
||||
# 测试Provider绑定功能
|
||||
LOG_INFO "测试guice-parent的Provider绑定功能"
|
||||
|
||||
# 创建测试Java文件
|
||||
LOG_INFO "创建测试Java文件"
|
||||
cat > TestProviderBinding.java << "EOF"
|
||||
import com.google.inject.*;
|
||||
import javax.inject.Provider;
|
||||
|
||||
interface Service {
|
||||
void serve();
|
||||
}
|
||||
|
||||
class ServiceImpl implements Service {
|
||||
private static int instanceCount = 0;
|
||||
private final int id;
|
||||
|
||||
public ServiceImpl() {
|
||||
this.id = ++instanceCount;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void serve() {
|
||||
System.out.println("ServiceImpl instance " + id + " serving");
|
||||
}
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
}
|
||||
|
||||
class ServiceModule extends AbstractModule {
|
||||
@Override
|
||||
protected void configure() {
|
||||
bind(Service.class).toProvider(ServiceProvider.class);
|
||||
}
|
||||
}
|
||||
|
||||
class ServiceProvider implements Provider<Service> {
|
||||
private static int creationCount = 0;
|
||||
|
||||
@Override
|
||||
public Service get() {
|
||||
creationCount++;
|
||||
System.out.println("Provider creating ServiceImpl instance " + creationCount);
|
||||
return new ServiceImpl();
|
||||
}
|
||||
|
||||
public static int getCreationCount() {
|
||||
return creationCount;
|
||||
}
|
||||
}
|
||||
|
||||
public class TestProviderBinding {
|
||||
public static void main(String[] args) {
|
||||
Injector injector = Guice.createInjector(new ServiceModule());
|
||||
|
||||
// 测试Provider按需创建实例
|
||||
System.out.println("第一次获取Service实例:");
|
||||
Service service1 = injector.getInstance(Service.class);
|
||||
service1.serve();
|
||||
|
||||
System.out.println("\n第二次获取Service实例:");
|
||||
Service service2 = injector.getInstance(Service.class);
|
||||
service2.serve();
|
||||
|
||||
// 验证创建了不同的实例
|
||||
if (ServiceProvider.getCreationCount() == 2) {
|
||||
System.out.println("\n测试通过: Provider成功按需创建了两个不同的实例");
|
||||
System.exit(0);
|
||||
} else {
|
||||
System.out.println("\n测试失败: 期望创建2个实例,实际创建了" + ServiceProvider.getCreationCount() + "个");
|
||||
System.exit(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
EOF
|
||||
|
||||
CHECK_RESULT $? 0 0 "创建测试Java文件失败"
|
||||
|
||||
# 编译测试文件
|
||||
LOG_INFO "编译测试Java文件"
|
||||
javac -cp "$(find /usr/share/java -name "guice*.jar" | head -1)" TestProviderBinding.java
|
||||
CHECK_RESULT $? 0 0 "编译测试Java文件失败"
|
||||
|
||||
# 运行测试
|
||||
LOG_INFO "运行Provider绑定功能测试"
|
||||
java -cp ".:$(find /usr/share/java -name "guice*.jar" | head -1)" TestProviderBinding
|
||||
CHECK_RESULT $? 0 0 "Provider绑定功能测试失败"
|
||||
|
||||
LOG_INFO "Provider绑定功能测试通过"
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f TestProviderBinding.java TestProviderBinding.class Service.class ServiceImpl.class ServiceModule.class ServiceProvider.class
|
||||
CHECK_RESULT $? 0 0 "清理测试文件失败"
|
||||
|
||||
# 恢复环境
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载guice-parent软件包"
|
||||
dnf remove -y guice-parent
|
||||
CHECK_RESULT $? 0 0 "卸载guice-parent软件包失败"
|
||||
LOG_INFO "环境已恢复到测试前状态"
|
||||
else
|
||||
LOG_INFO "保持guice-parent软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,161 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-04-04
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试guice-parent的单例作用域功能,验证同一实例在多次注入时是否为同一个对象。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 判断是否已安装guice-parent软件包
|
||||
LOG_INFO "检查guice-parent软件包是否已安装"
|
||||
rpm -q guice-parent > /dev/null 2>&1
|
||||
is_installed=$?
|
||||
|
||||
# 判断yum源中是否有guice-parent软件包
|
||||
LOG_INFO "检查yum源中是否存在guice-parent软件包"
|
||||
dnf list available guice-parent > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到guice-parent软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装则安装
|
||||
if [ $is_installed -ne 0 ]; then
|
||||
LOG_INFO "安装guice-parent软件包"
|
||||
dnf install -y guice-parent
|
||||
CHECK_RESULT $? 0 0 "guice-parent软件包安装失败"
|
||||
fi
|
||||
|
||||
# 检查guice-parent命令是否支持所需参数
|
||||
LOG_INFO "检查guice-parent命令参数支持"
|
||||
guice-parent --help 2>&1 | grep -q "singleton"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "guice-parent命令不支持singleton参数"
|
||||
# 如果是新安装的则卸载
|
||||
if [ $is_installed -ne 0 ]; then
|
||||
LOG_INFO "清理安装的guice-parent软件包"
|
||||
dnf remove -y guice-parent
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试单例作用域功能
|
||||
LOG_INFO "测试guice-parent的单例作用域功能"
|
||||
LOG_INFO "验证同一实例在多次注入时是否为同一个对象"
|
||||
|
||||
# 创建测试Java文件
|
||||
cat > SingletonTest.java << "EOF"
|
||||
import com.google.inject.*;
|
||||
import javax.inject.Inject;
|
||||
|
||||
interface Service {
|
||||
String getId();
|
||||
}
|
||||
|
||||
class ServiceImpl implements Service {
|
||||
private static int counter = 0;
|
||||
private final int id;
|
||||
|
||||
public ServiceImpl() {
|
||||
id = ++counter;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getId() {
|
||||
return "ServiceImpl-" + id;
|
||||
}
|
||||
}
|
||||
|
||||
class ClientA {
|
||||
private final Service service;
|
||||
|
||||
@Inject
|
||||
public ClientA(Service service) {
|
||||
this.service = service;
|
||||
}
|
||||
|
||||
public Service getService() {
|
||||
return service;
|
||||
}
|
||||
}
|
||||
|
||||
class ClientB {
|
||||
private final Service service;
|
||||
|
||||
@Inject
|
||||
public ClientB(Service service) {
|
||||
this.service = service;
|
||||
}
|
||||
|
||||
public Service getService() {
|
||||
return service;
|
||||
}
|
||||
}
|
||||
|
||||
public class SingletonTest {
|
||||
public static void main(String[] args) {
|
||||
Injector injector = Guice.createInjector(new AbstractModule() {
|
||||
@Override
|
||||
protected void configure() {
|
||||
bind(Service.class).to(ServiceImpl.class).in(Scopes.SINGLETON);
|
||||
}
|
||||
});
|
||||
|
||||
ClientA clientA = injector.getInstance(ClientA.class);
|
||||
ClientB clientB = injector.getInstance(ClientB.class);
|
||||
|
||||
String idA = clientA.getService().getId();
|
||||
String idB = clientB.getService().getId();
|
||||
|
||||
if (idA.equals(idB)) {
|
||||
System.out.println("SUCCESS: Same instance - " + idA);
|
||||
System.exit(0);
|
||||
} else {
|
||||
System.out.println("FAILURE: Different instances - " + idA + " vs " + idB);
|
||||
System.exit(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
EOF
|
||||
|
||||
# 编译测试程序
|
||||
LOG_INFO "编译测试程序"
|
||||
javac -cp "/usr/share/java/guice.jar:/usr/share/java/javax-inject.jar" SingletonTest.java
|
||||
CHECK_RESULT $? 0 0 "测试程序编译失败"
|
||||
|
||||
# 运行测试程序
|
||||
LOG_INFO "运行单例作用域测试"
|
||||
java -cp ".:/usr/share/java/guice.jar:/usr/share/java/javax-inject.jar:/usr/share/java/aopalliance.jar" SingletonTest
|
||||
CHECK_RESULT $? 0 0 "单例作用域测试失败"
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f SingletonTest.java SingletonTest.class ClientA.class ClientB.class Service.class ServiceImpl.class
|
||||
|
||||
# 如果测试开始时未安装,则在测试结束后卸载
|
||||
if [ $is_installed -ne 0 ]; then
|
||||
LOG_INFO "清理安装的guice-parent软件包"
|
||||
dnf remove -y guice-parent
|
||||
CHECK_RESULT $? 0 0 "guice-parent软件包卸载失败"
|
||||
else
|
||||
LOG_INFO "保持原有guice-parent软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "guice-parent单例作用域功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,105 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-04-04
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试guice-parent软件包的卸载功能,验证是否能完全移除且不残留文件。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="guice-parent"
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
LOG_INFO "检查yum源中是否存在软件包: $PACKAGE_NAME"
|
||||
if ! dnf list available "$PACKAGE_NAME" &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到软件包: $PACKAGE_NAME"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查当前环境是否已安装该软件包
|
||||
LOG_INFO "检查当前环境是否已安装软件包: $PACKAGE_NAME"
|
||||
if rpm -q "$PACKAGE_NAME" &> /dev/null; then
|
||||
INSTALLED=true
|
||||
LOG_INFO "软件包已安装,测试结束后保持安装状态"
|
||||
else
|
||||
INSTALLED=false
|
||||
LOG_INFO "软件包未安装,将进行安装测试"
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装软件包: $PACKAGE_NAME"
|
||||
dnf install -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
fi
|
||||
|
||||
# 验证软件包安装成功
|
||||
LOG_INFO "验证软件包安装成功"
|
||||
rpm -q "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "软件包安装后验证失败"
|
||||
|
||||
# 记录安装后的文件列表
|
||||
LOG_INFO "记录软件包安装后的文件列表"
|
||||
INSTALLED_FILES=$(rpm -ql "$PACKAGE_NAME")
|
||||
if [ -z "$INSTALLED_FILES" ]; then
|
||||
LOG_INFO "软件包未安装任何文件"
|
||||
else
|
||||
echo "$INSTALLED_FILES" > /tmp/installed_files.txt
|
||||
LOG_INFO "已记录安装文件列表到 /tmp/installed_files.txt"
|
||||
fi
|
||||
|
||||
# 卸载软件包
|
||||
LOG_INFO "卸载软件包: $PACKAGE_NAME"
|
||||
dnf remove -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
|
||||
# 验证软件包已完全移除
|
||||
LOG_INFO "验证软件包已完全移除"
|
||||
if rpm -q "$PACKAGE_NAME" &> /dev/null; then
|
||||
LOG_ERROR "软件包卸载后仍然存在"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "软件包已成功卸载"
|
||||
fi
|
||||
|
||||
# 检查是否残留文件
|
||||
LOG_INFO "检查是否残留文件"
|
||||
if [ -f /tmp/installed_files.txt ]; then
|
||||
while IFS= read -r file; do
|
||||
if [ -e "$file" ]; then
|
||||
LOG_ERROR "发现残留文件: $file"
|
||||
exit 1
|
||||
fi
|
||||
done < /tmp/installed_files.txt
|
||||
LOG_INFO "未发现残留文件"
|
||||
rm -f /tmp/installed_files.txt
|
||||
fi
|
||||
|
||||
# 如果测试前未安装,则重新安装以恢复环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "恢复环境:重新安装软件包"
|
||||
dnf install -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "恢复环境安装软件包失败"
|
||||
LOG_INFO "环境已恢复"
|
||||
else
|
||||
LOG_INFO "环境保持原安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:guice-parent软件包卸载功能验证通过"
|
||||
}
|
||||
|
||||
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-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic command usage
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "测试开始: Test basic command usage"
|
||||
|
||||
# 检查是否已安装linuxptp
|
||||
LOG_INFO "检查linuxptp是否已安装"
|
||||
rpm -q linuxptp > /dev/null 2>&1
|
||||
INSTALLED=$?
|
||||
|
||||
if [ $INSTALLED -ne 0 ]; then
|
||||
LOG_INFO "linuxptp未安装,将进行安装"
|
||||
|
||||
# 检查yum源中是否有linuxptp软件包
|
||||
LOG_INFO "检查yum源中是否存在linuxptp软件包"
|
||||
dnf list available linuxptp > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到linuxptp软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装linuxptp
|
||||
LOG_INFO "安装linuxptp软件包"
|
||||
dnf install -y linuxptp
|
||||
CHECK_RESULT $? 0 0 "安装linuxptp失败"
|
||||
NEED_UNINSTALL=1
|
||||
else
|
||||
LOG_INFO "linuxptp已安装"
|
||||
NEED_UNINSTALL=0
|
||||
fi
|
||||
|
||||
# 测试--help参数
|
||||
LOG_INFO "测试linuxptp --help命令"
|
||||
linuxptp --help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "linuxptp --help命令执行失败"
|
||||
|
||||
# 测试-h参数
|
||||
LOG_INFO "测试linuxptp -h命令"
|
||||
linuxptp -h > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "linuxptp -h命令执行失败"
|
||||
|
||||
# 测试不支持的参数
|
||||
LOG_INFO "测试不支持的参数--invalid-param"
|
||||
linuxptp --invalid-param > /dev/null 2>&1
|
||||
if [ $? -eq 255 ]; then
|
||||
LOG_INFO "不支持参数--invalid-param,符合预期"
|
||||
else
|
||||
LOG_ERROR "不支持参数--invalid-param,但未返回正确退出码"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 清理环境
|
||||
if [ $NEED_UNINSTALL -eq 1 ]; then
|
||||
LOG_INFO "卸载linuxptp软件包"
|
||||
dnf remove -y linuxptp
|
||||
CHECK_RESULT $? 0 0 "卸载linuxptp失败"
|
||||
else
|
||||
LOG_INFO "保持linuxptp安装状态"
|
||||
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-11-28
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test configuration file parsing
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装linuxptp软件包
|
||||
LOG_INFO "检查是否已安装linuxptp软件包"
|
||||
rpm -q linuxptp > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "linuxptp已安装,脚本结束后保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "linuxptp未安装,脚本结束后将卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有linuxptp软件包
|
||||
LOG_INFO "检查yum源中是否有linuxptp软件包"
|
||||
dnf list available linuxptp > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到linuxptp软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装linuxptp软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装linuxptp软件包"
|
||||
dnf install -y linuxptp
|
||||
CHECK_RESULT $? 0 0 "安装linuxptp失败"
|
||||
fi
|
||||
|
||||
# 测试配置文件解析功能
|
||||
LOG_INFO "测试配置文件解析功能"
|
||||
ptp4l --help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "ptp4l命令不支持--help参数"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载linuxptp软件包"
|
||||
dnf remove -y linuxptp
|
||||
CHECK_RESULT $? 0 0 "卸载linuxptp失败"
|
||||
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-12
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test dependency check functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装linuxptp软件包
|
||||
LOG_INFO "检查是否已安装linuxptp软件包"
|
||||
if ! dnf list installed linuxptp &> /dev/null; then
|
||||
LOG_INFO "未安装linuxptp软件包,开始安装"
|
||||
# 检查yum源中是否有linuxptp软件包
|
||||
if ! dnf list available linuxptp &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到linuxptp软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装linuxptp软件包
|
||||
dnf install -y linuxptp
|
||||
CHECK_RESULT $? 0 0 "安装linuxptp软件包失败"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "linuxptp软件包已安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 测试依赖检查功能
|
||||
LOG_INFO "测试依赖检查功能"
|
||||
# 检查帮助命令是否存在或支持
|
||||
if ! linuxptp --help &> /dev/null; then
|
||||
LOG_ERROR "linuxptp命令不支持--help参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行帮助命令并验证结果
|
||||
LOG_INFO "执行linuxptp --help命令"
|
||||
linuxptp --help
|
||||
CHECK_RESULT $? 0 0 "执行linuxptp --help命令失败"
|
||||
|
||||
# 清理环境,恢复到之前的状态
|
||||
if [ "$INSTALLED" = true ]; then
|
||||
LOG_INFO "卸载linuxptp软件包"
|
||||
dnf remove -y linuxptp
|
||||
CHECK_RESULT $? 0 0 "卸载linuxptp软件包失败"
|
||||
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-03-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test help message display
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试:Test help message display"
|
||||
LOG_INFO "步骤1:检查linuxptp软件包是否在yum源中"
|
||||
if ! dnf list available linuxptp 2>/dev/null | grep -q linuxptp; then
|
||||
LOG_ERROR "linuxptp软件包不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查linuxptp是否已安装"
|
||||
if rpm -q linuxptp &>/dev/null; then
|
||||
LOG_INFO "linuxptp已安装,标记为保持安装状态"
|
||||
KEEP_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "linuxptp未安装,标记为需要卸载"
|
||||
KEEP_INSTALLED=0
|
||||
LOG_INFO "步骤3:安装linuxptp软件包"
|
||||
dnf install -y linuxptp
|
||||
CHECK_RESULT $? 0 0 "安装linuxptp失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:测试ptp4l命令的--help参数"
|
||||
ptp4l --help &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "ptp4l命令不支持--help参数"
|
||||
|
||||
LOG_INFO "步骤5:测试phc2sys命令的--help参数"
|
||||
phc2sys --help &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "phc2sys命令不支持--help参数"
|
||||
|
||||
LOG_INFO "步骤6:测试pmc命令的--help参数"
|
||||
pmc --help &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "pmc命令不支持--help参数"
|
||||
|
||||
LOG_INFO "步骤7:测试hwstamp_ctl命令的--help参数"
|
||||
hwstamp_ctl --help &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "hwstamp_ctl命令不支持--help参数"
|
||||
|
||||
LOG_INFO "步骤8:测试ptp4l命令的无效参数"
|
||||
ptp4l --invalid-param 2>&1 | grep -q "invalid option"
|
||||
CHECK_RESULT $? 0 0 "ptp4l命令未正确处理无效参数"
|
||||
|
||||
LOG_INFO "步骤9:测试phc2sys命令的无效参数"
|
||||
phc2sys --invalid-param 2>&1 | grep -q "invalid option"
|
||||
CHECK_RESULT $? 0 0 "phc2sys命令未正确处理无效参数"
|
||||
|
||||
LOG_INFO "步骤10:测试pmc命令的无效参数"
|
||||
pmc --invalid-param 2>&1 | grep -q "invalid option"
|
||||
CHECK_RESULT $? 0 0 "pmc命令未正确处理无效参数"
|
||||
|
||||
LOG_INFO "步骤11:测试hwstamp_ctl命令的无效参数"
|
||||
hwstamp_ctl --invalid-param 2>&1 | grep -q "invalid option"
|
||||
CHECK_RESULT $? 0 0 "hwstamp_ctl命令未正确处理无效参数"
|
||||
|
||||
LOG_INFO "步骤12:环境清理"
|
||||
if [[ $KEEP_INSTALLED -eq 0 ]]; then
|
||||
LOG_INFO "卸载linuxptp软件包"
|
||||
dnf remove -y linuxptp
|
||||
CHECK_RESULT $? 0 0 "卸载linuxptp失败"
|
||||
else
|
||||
LOG_INFO "保持linuxptp安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test help message display"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,89 +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-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package installation functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试:测试软件包安装功能"
|
||||
|
||||
# 检查环境是否已安装linuxptp-help软件包
|
||||
LOG_INFO "步骤1:检查linuxptp-help软件包是否已安装"
|
||||
if rpm -q linuxptp-help &>/dev/null; then
|
||||
LOG_INFO "linuxptp-help已安装,测试结束后将保持安装状态"
|
||||
INSTALLED_BEFORE=1
|
||||
else
|
||||
LOG_INFO "linuxptp-help未安装,将在测试步骤中安装,并在测试结束后卸载"
|
||||
INSTALLED_BEFORE=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有linuxptp-help软件包
|
||||
LOG_INFO "步骤2:检查yum源中是否有linuxptp-help软件包"
|
||||
if ! dnf list available linuxptp-help &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到linuxptp-help软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum源中存在linuxptp-help软件包"
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ ${INSTALLED_BEFORE} -eq 0 ]; then
|
||||
LOG_INFO "步骤3:安装linuxptp-help软件包"
|
||||
dnf install -y linuxptp-help
|
||||
CHECK_RESULT $? 0 0 "安装linuxptp-help失败"
|
||||
LOG_INFO "linuxptp-help安装成功"
|
||||
fi
|
||||
|
||||
# 验证安装的软件包
|
||||
LOG_INFO "步骤4:验证linuxptp-help软件包是否安装成功"
|
||||
rpm -q linuxptp-help
|
||||
CHECK_RESULT $? 0 0 "验证linuxptp-help安装失败"
|
||||
|
||||
# 测试linuxptp-help命令的基本功能
|
||||
LOG_INFO "步骤5:测试linuxptp-help命令的--help参数"
|
||||
linuxptp-help --help
|
||||
CHECK_RESULT $? 0 0 "执行linuxptp-help --help失败"
|
||||
|
||||
LOG_INFO "步骤6:测试linuxptp-help命令的--version参数"
|
||||
linuxptp-help --version
|
||||
CHECK_RESULT $? 0 0 "执行linuxptp-help --version失败"
|
||||
|
||||
# 测试不支持的参数
|
||||
LOG_INFO "步骤7:测试linuxptp-help命令的不支持参数(预期失败)"
|
||||
linuxptp-help --invalid-parameter 2>/dev/null
|
||||
if [ $? -ne 255 ]; then
|
||||
LOG_ERROR "linuxptp-help命令未正确处理不支持参数"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "linuxptp-help正确处理了不支持参数"
|
||||
|
||||
# 如果测试前未安装,则在测试结束后卸载软件包
|
||||
if [ ${INSTALLED_BEFORE} -eq 0 ]; then
|
||||
LOG_INFO "步骤8:卸载linuxptp-help软件包"
|
||||
dnf remove -y linuxptp-help
|
||||
CHECK_RESULT $? 0 0 "卸载linuxptp-help失败"
|
||||
LOG_INFO "linuxptp-help卸载成功"
|
||||
else
|
||||
LOG_INFO "步骤8:测试前已安装linuxptp-help,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:软件包安装功能测试通过"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,107 +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-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test manual page availability
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装linuxptp
|
||||
LOG_INFO "检查linuxptp是否已安装"
|
||||
rpm -q linuxptp > /dev/null 2>&1
|
||||
is_installed=$?
|
||||
|
||||
# 如果未安装,则检查yum源中是否存在该软件包
|
||||
if [ $is_installed -ne 0 ]; then
|
||||
LOG_INFO "linuxptp未安装,检查yum源中是否存在该软件包"
|
||||
dnf list available linuxptp > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "yum源中未找到linuxptp软件包"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到linuxptp软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "开始安装linuxptp"
|
||||
dnf install -y linuxptp
|
||||
CHECK_RESULT $? 0 0 "安装linuxptp失败"
|
||||
installed_by_script=1
|
||||
else
|
||||
LOG_INFO "linuxptp已安装"
|
||||
installed_by_script=0
|
||||
fi
|
||||
|
||||
# 测试manual page可用性
|
||||
LOG_INFO "测试linuxptp manual page可用性"
|
||||
man -w linuxptp > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "linuxptp manual page不存在"
|
||||
|
||||
LOG_INFO "测试ptp4l命令manual page可用性"
|
||||
man -w ptp4l > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "ptp4l manual page不存在"
|
||||
|
||||
LOG_INFO "测试phc2sys命令manual page可用性"
|
||||
man -w phc2sys > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "phc2sys manual page不存在"
|
||||
|
||||
LOG_INFO "测试pmc命令manual page可用性"
|
||||
man -w pmc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "pmc manual page不存在"
|
||||
|
||||
# 测试帮助参数
|
||||
LOG_INFO "测试linuxptp命令帮助参数"
|
||||
linuxptp --help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "linuxptp --help参数不支持"
|
||||
|
||||
LOG_INFO "测试ptp4l命令帮助参数"
|
||||
ptp4l --help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "ptp4l --help参数不支持"
|
||||
|
||||
LOG_INFO "测试phc2sys命令帮助参数"
|
||||
phc2sys --help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "phc2sys --help参数不支持"
|
||||
|
||||
LOG_INFO "测试pmc命令帮助参数"
|
||||
pmc --help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "pmc --help参数不支持"
|
||||
|
||||
# 测试不支持的参数
|
||||
LOG_INFO "测试linuxptp不支持参数"
|
||||
linuxptp --invalid-param > /dev/null 2>&1
|
||||
if [ $? -ne 255 ] && [ $? -ne 1 ]; then
|
||||
LOG_ERROR "linuxptp不支持参数检查失败"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "测试ptp4l不支持参数"
|
||||
ptp4l --invalid-param > /dev/null 2>&1
|
||||
if [ $? -ne 255 ] && [ $? -ne 1 ]; then
|
||||
LOG_ERROR "ptp4l不支持参数检查失败"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 清理环境:如果脚本安装的,则卸载
|
||||
if [ $installed_by_script -eq 1 ]; then
|
||||
LOG_INFO "清理环境:卸载linuxptp"
|
||||
dnf remove -y linuxptp
|
||||
CHECK_RESULT $? 0 0 "卸载linuxptp失败"
|
||||
else
|
||||
LOG_INFO "保持linuxptp安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
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-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test service installation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test service installation"
|
||||
LOG_INFO "步骤1:检查环境中是否已安装linuxptp软件包"
|
||||
rpm -q linuxptp > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "环境中已安装linuxptp软件包,测试过程中将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "环境中未安装linuxptp软件包,将在测试过程中进行安装,并在测试结束后卸载"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查yum源中是否存在linuxptp软件包"
|
||||
dnf list available linuxptp > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中未找到linuxptp软件包,退出测试"
|
||||
LOG_INFO "yum源中存在linuxptp软件包"
|
||||
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤3:安装linuxptp软件包"
|
||||
dnf install -y linuxptp
|
||||
CHECK_RESULT $? 0 0 "安装linuxptp软件包失败"
|
||||
LOG_INFO "linuxptp软件包安装成功"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:检查linuxptp服务是否已安装并可用"
|
||||
systemctl list-unit-files | grep linuxptp > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "linuxptp服务未安装或不可用"
|
||||
|
||||
LOG_INFO "步骤5:测试linuxptp服务的启动、停止和重启功能"
|
||||
LOG_INFO "启动linuxptp服务"
|
||||
systemctl start linuxptp
|
||||
CHECK_RESULT $? 0 0 "启动linuxptp服务失败"
|
||||
LOG_INFO "linuxptp服务启动成功"
|
||||
|
||||
LOG_INFO "停止linuxptp服务"
|
||||
systemctl stop linuxptp
|
||||
CHECK_RESULT $? 0 0 "停止linuxptp服务失败"
|
||||
LOG_INFO "linuxptp服务停止成功"
|
||||
|
||||
LOG_INFO "重启linuxptp服务"
|
||||
systemctl restart linuxptp
|
||||
CHECK_RESULT $? 0 0 "重启linuxptp服务失败"
|
||||
LOG_INFO "linuxptp服务重启成功"
|
||||
|
||||
LOG_INFO "步骤6:检查linuxptp服务状态"
|
||||
systemctl status linuxptp --no-pager
|
||||
CHECK_RESULT $? 0 0 "linuxptp服务状态异常"
|
||||
|
||||
LOG_INFO "步骤7:测试linuxptp命令的帮助功能"
|
||||
LOG_INFO "检查linuxptp命令是否支持--help参数"
|
||||
ptp4l --help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "linuxptp命令不支持--help参数或执行失败"
|
||||
LOG_INFO "linuxptp命令支持--help参数"
|
||||
|
||||
LOG_INFO "检查linuxptp命令是否支持-h参数"
|
||||
ptp4l -h > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "linuxptp命令不支持-h参数或执行失败"
|
||||
LOG_INFO "linuxptp命令支持-h参数"
|
||||
|
||||
LOG_INFO "步骤8:清理测试环境"
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载在测试过程中安装的linuxptp软件包"
|
||||
dnf remove -y linuxptp
|
||||
CHECK_RESULT $? 0 0 "卸载linuxptp软件包失败"
|
||||
LOG_INFO "linuxptp软件包卸载成功"
|
||||
else
|
||||
LOG_INFO "环境中原本已安装linuxptp软件包,保持安装状态不变"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test service installation"
|
||||
}
|
||||
|
||||
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-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test service removal
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试: Test service removal"
|
||||
|
||||
LOG_INFO "步骤1: 检查yum源中是否存在linuxptp软件包"
|
||||
if ! dnf list available linuxptp &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到linuxptp软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2: 检查当前环境是否已安装linuxptp"
|
||||
if rpm -q linuxptp &>/dev/null; then
|
||||
LOG_INFO "检测到linuxptp已安装,标记为已安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "检测到linuxptp未安装,标记为未安装状态"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤3: 如果未安装,则安装linuxptp软件包"
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
dnf install -y linuxptp
|
||||
CHECK_RESULT $? 0 0 "安装linuxptp失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4: 检查linuxptp服务的--help参数"
|
||||
ptp4l --help &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "ptp4l命令不支持--help参数"
|
||||
|
||||
LOG_INFO "步骤5: 测试移除linuxptp服务"
|
||||
systemctl stop linuxptp.service 2>/dev/null || true
|
||||
systemctl disable linuxptp.service 2>/dev/null || true
|
||||
systemctl status linuxptp.service 2>/dev/null && SERVICE_ACTIVE=true || SERVICE_ACTIVE=false
|
||||
|
||||
if [ "$SERVICE_ACTIVE" = true ]; then
|
||||
LOG_ERROR "linuxptp服务仍处于活动状态"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "linuxptp服务已成功停止并禁用"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤6: 清理环境,恢复原始状态"
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载测试安装的linuxptp软件包"
|
||||
dnf remove -y linuxptp
|
||||
CHECK_RESULT $? 0 0 "卸载linuxptp失败"
|
||||
else
|
||||
LOG_INFO "保持linuxptp已安装状态"
|
||||
if [ "$SERVICE_ACTIVE" = false ]; then
|
||||
LOG_INFO "重新启用并启动linuxptp服务"
|
||||
systemctl enable linuxptp.service
|
||||
systemctl start linuxptp.service
|
||||
CHECK_RESULT $? 0 0 "恢复linuxptp服务失败"
|
||||
fi
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成: Test service removal"
|
||||
}
|
||||
|
||||
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-12-12
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test service startup functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装linuxptp
|
||||
LOG_INFO "检查是否已安装linuxptp..."
|
||||
if ! rpm -q linuxptp &> /dev/null; then
|
||||
LOG_INFO "linuxptp未安装,开始安装..."
|
||||
# 检查yum源中是否有linuxptp软件包
|
||||
if ! dnf list available linuxptp &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到linuxptp软件包"
|
||||
exit 255
|
||||
fi
|
||||
dnf install -y linuxptp
|
||||
CHECK_RESULT $? 0 0 "安装linuxptp失败"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "linuxptp已安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 测试service startup功能
|
||||
LOG_INFO "测试service startup功能..."
|
||||
systemctl start ptp4l
|
||||
CHECK_RESULT $? 0 0 "启动ptp4l服务失败"
|
||||
|
||||
# 检查服务状态
|
||||
LOG_INFO "检查ptp4l服务状态..."
|
||||
systemctl status ptp4l &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "ptp4l服务未正常运行"
|
||||
|
||||
# 停止服务
|
||||
LOG_INFO "停止ptp4l服务..."
|
||||
systemctl stop ptp4l
|
||||
CHECK_RESULT $? 0 0 "停止ptp4l服务失败"
|
||||
|
||||
# 清理环境:如果脚本开始时未安装linuxptp,则卸载
|
||||
if $INSTALLED; then
|
||||
LOG_INFO "卸载linuxptp..."
|
||||
dnf remove -y linuxptp
|
||||
CHECK_RESULT $? 0 0 "卸载linuxptp失败"
|
||||
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 : 2025-12-12
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test service status functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装linuxptp软件包
|
||||
LOG_INFO "检查是否已安装linuxptp软件包"
|
||||
rpm -q linuxptp > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "linuxptp软件包已安装"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "linuxptp软件包未安装"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有linuxptp软件包
|
||||
LOG_INFO "检查yum源中是否有linuxptp软件包"
|
||||
dnf list available linuxptp > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到linuxptp软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装则安装linuxptp软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "开始安装linuxptp软件包"
|
||||
dnf install -y linuxptp > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装linuxptp软件包失败"
|
||||
fi
|
||||
|
||||
# 检查linuxptp服务状态功能
|
||||
LOG_INFO "检查linuxptp服务状态功能"
|
||||
ptp4l --help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "ptp4l命令不支持--help参数"
|
||||
|
||||
phc2sys --help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "phc2sys命令不支持--help参数"
|
||||
|
||||
# 如果脚本开始时未安装则卸载软件包以恢复环境
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载linuxptp软件包以恢复环境"
|
||||
dnf remove -y linuxptp > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载linuxptp软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,87 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-12
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test service stop functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
LOG_INFO "开始测试:Test service stop functionality"
|
||||
|
||||
# 检查是否已安装linuxptp
|
||||
LOG_INFO "检查linuxptp是否已安装"
|
||||
if rpm -q linuxptp &>/dev/null; then
|
||||
LOG_INFO "linuxptp已安装,测试结束后将保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "linuxptp未安装,测试结束后将卸载"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有linuxptp软件包
|
||||
LOG_INFO "检查yum源中是否有linuxptp软件包"
|
||||
if ! dnf list available linuxptp &>/dev/null; then
|
||||
LOG_ERROR "yum源中没有linuxptp软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装linuxptp
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "正在安装linuxptp"
|
||||
dnf install -y linuxptp || {
|
||||
LOG_ERROR "安装linuxptp失败"
|
||||
exit 1
|
||||
}
|
||||
fi
|
||||
|
||||
# 检查服务停止功能
|
||||
LOG_INFO "测试服务停止功能"
|
||||
systemctl stop ptp4l || {
|
||||
LOG_ERROR "停止ptp4l服务失败"
|
||||
if [ "$installed" = false ]; then
|
||||
dnf remove -y linuxptp
|
||||
fi
|
||||
exit 1
|
||||
}
|
||||
CHECK_RESULT $? 0 0 "停止ptp4l服务失败"
|
||||
|
||||
# 检查服务状态是否为inactive
|
||||
LOG_INFO "检查服务状态是否为inactive"
|
||||
systemctl is-active ptp4l | grep -q "inactive" || {
|
||||
LOG_ERROR "ptp4l服务未成功停止"
|
||||
if [ "$installed" = false ]; then
|
||||
dnf remove -y linuxptp
|
||||
fi
|
||||
exit 1
|
||||
}
|
||||
CHECK_RESULT $? 0 0 "ptp4l服务未成功停止"
|
||||
|
||||
# 恢复环境:如果测试前未安装,则卸载软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "正在卸载linuxptp"
|
||||
dnf remove -y linuxptp || {
|
||||
LOG_ERROR "卸载linuxptp失败"
|
||||
exit 1
|
||||
}
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test service stop functionality"
|
||||
|
||||
}
|
||||
|
||||
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-11-28
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test time synchronization feature
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试时间同步功能"
|
||||
|
||||
# 检查是否已安装linuxptp软件包
|
||||
LOG_INFO "检查linuxptp软件包是否已安装"
|
||||
if dnf list installed linuxptp &>/dev/null; then
|
||||
LOG_INFO "linuxptp软件包已安装,脚本结束后将保持安装状态"
|
||||
already_installed=true
|
||||
else
|
||||
LOG_INFO "linuxptp软件包未安装,将在测试步骤中安装并在脚本结束前卸载"
|
||||
already_installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有linuxptp软件包
|
||||
LOG_INFO "检查yum源中是否存在linuxptp软件包"
|
||||
if ! dnf list available linuxptp &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到linuxptp软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装linuxptp
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "正在安装linuxptp软件包"
|
||||
dnf install -y linuxptp &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "安装linuxptp软件包失败"
|
||||
fi
|
||||
|
||||
# 测试帮助命令功能
|
||||
LOG_INFO "测试linuxptp帮助命令功能"
|
||||
if ! ptp4l --help &>/dev/null; then
|
||||
LOG_ERROR "不支持或不存在--help参数"
|
||||
exit 255
|
||||
fi
|
||||
CHECK_RESULT $? 0 0 "执行ptp4l --help命令失败"
|
||||
|
||||
# 测试时间同步功能(假设需要第二个节点)
|
||||
LOG_INFO "测试时间同步功能"
|
||||
SSH_CMD "ptp4l -i eth0 -m" $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "在节点2上执行ptp4l命令失败"
|
||||
|
||||
# 清理环境:如果脚本开始时未安装,则卸载软件包
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "卸载linuxptp软件包"
|
||||
dnf remove -y linuxptp &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "卸载linuxptp软件包失败"
|
||||
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 : 2026-03-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package removal functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试包移除功能
|
||||
|
||||
LOG_INFO "开始测试包移除功能"
|
||||
|
||||
# 检查linuxptp-help软件包是否已在yum源中
|
||||
LOG_INFO "检查linuxptp-help软件包是否在yum源中"
|
||||
dnf list available linuxptp-help 2>/dev/null | grep -q "linuxptp-help"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "linuxptp-help软件包在yum源中不存在"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "linuxptp-help软件包在yum源中存在"
|
||||
|
||||
# 检查当前环境是否已安装linuxptp-help
|
||||
LOG_INFO "检查当前环境是否已安装linuxptp-help"
|
||||
rpm -q linuxptp-help >/dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "linuxptp-help已安装,标记为已存在"
|
||||
already_installed=1
|
||||
else
|
||||
LOG_INFO "linuxptp-help未安装,将在测试中安装"
|
||||
already_installed=0
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $already_installed -eq 0 ]; then
|
||||
LOG_INFO "开始安装linuxptp-help软件包"
|
||||
dnf install -y linuxptp-help
|
||||
CHECK_RESULT $? 0 0 "安装linuxptp-help软件包失败"
|
||||
LOG_INFO "linuxptp-help软件包安装成功"
|
||||
fi
|
||||
|
||||
# 测试卸载功能
|
||||
LOG_INFO "测试linuxptp-help软件包卸载功能"
|
||||
dnf remove -y linuxptp-help
|
||||
CHECK_RESULT $? 0 0 "卸载linuxptp-help软件包失败"
|
||||
LOG_INFO "linuxptp-help软件包卸载成功"
|
||||
|
||||
# 验证软件包是否已卸载
|
||||
LOG_INFO "验证linuxptp-help软件包是否已卸载"
|
||||
rpm -q linuxptp-help >/dev/null 2>&1
|
||||
CHECK_RESULT $? 1 0 "linuxptp-help软件包卸载后仍存在"
|
||||
LOG_INFO "linuxptp-help软件包已成功卸载"
|
||||
|
||||
# 环境恢复
|
||||
LOG_INFO "开始环境恢复"
|
||||
if [ $already_installed -eq 1 ]; then
|
||||
LOG_INFO "重新安装linuxptp-help软件包以恢复到初始状态"
|
||||
dnf install -y linuxptp-help
|
||||
CHECK_RESULT $? 0 0 "重新安装linuxptp-help软件包失败"
|
||||
LOG_INFO "linuxptp-help软件包已重新安装,环境已恢复"
|
||||
else
|
||||
LOG_INFO "初始状态未安装linuxptp-help,无需额外恢复"
|
||||
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-11-28
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test the version display functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装linuxptp
|
||||
LOG_INFO "检查linuxptp是否已安装"
|
||||
rpm -q linuxptp > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "linuxptp已安装,脚本结束后保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "linuxptp未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有linuxptp软件包
|
||||
LOG_INFO "检查yum源中是否有linuxptp软件包"
|
||||
dnf list available linuxptp > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到linuxptp软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装linuxptp软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装linuxptp软件包"
|
||||
dnf install -y linuxptp > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装linuxptp失败"
|
||||
fi
|
||||
|
||||
# 测试version功能
|
||||
LOG_INFO "测试version功能"
|
||||
ptp4l --version > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "执行ptp4l --version失败"
|
||||
|
||||
# 检查--help参数是否支持
|
||||
LOG_INFO "检查--help参数是否支持"
|
||||
ptp4l --help > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "--help参数不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载linuxptp软件包"
|
||||
dnf remove -y linuxptp > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载linuxptp失败"
|
||||
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-04-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试plexus-pom解析POM文件的基本功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试plexus-pom解析POM文件的基本功能"
|
||||
|
||||
# 检查plexus-pom软件包是否在yum源中
|
||||
LOG_INFO "检查plexus-pom软件包是否在yum源中"
|
||||
dnf list available plexus-pom 2>/dev/null | grep -q plexus-pom
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到plexus-pom软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查plexus-pom是否已安装
|
||||
LOG_INFO "检查plexus-pom是否已安装"
|
||||
rpm -q plexus-pom >/dev/null 2>&1
|
||||
installed=$?
|
||||
|
||||
# 如果未安装,则安装plexus-pom
|
||||
if [ $installed -ne 0 ]; then
|
||||
LOG_INFO "安装plexus-pom软件包"
|
||||
dnf install -y plexus-pom
|
||||
CHECK_RESULT $? 0 0 "安装plexus-pom失败"
|
||||
fi
|
||||
|
||||
# 检查plexus-pom命令参数是否支持
|
||||
LOG_INFO "检查plexus-pom命令参数是否支持"
|
||||
plexus-pom --help 2>&1 | grep -q "usage:"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "plexus-pom命令参数不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试plexus-pom解析POM文件的基本功能
|
||||
LOG_INFO "测试plexus-pom解析POM文件的基本功能"
|
||||
# 创建一个简单的POM文件用于测试
|
||||
cat > test_pom.xml << "EOF"
|
||||
<project>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.test</groupId>
|
||||
<artifactId>test-project</artifactId>
|
||||
<version>1.0.0</version>
|
||||
</project>
|
||||
EOF
|
||||
|
||||
# 使用plexus-pom解析POM文件
|
||||
plexus-pom parse test_pom.xml > parse_output.txt 2>&1
|
||||
CHECK_RESULT $? 0 0 "plexus-pom解析POM文件失败"
|
||||
|
||||
# 检查解析输出是否包含预期内容
|
||||
LOG_INFO "检查解析输出是否包含预期内容"
|
||||
grep -q "test-project" parse_output.txt
|
||||
CHECK_RESULT $? 0 0 "解析输出未包含项目名称"
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f test_pom.xml parse_output.txt
|
||||
|
||||
# 如果测试前未安装plexus-pom,则卸载
|
||||
if [ $installed -ne 0 ]; then
|
||||
LOG_INFO "卸载plexus-pom软件包"
|
||||
dnf remove -y plexus-pom
|
||||
CHECK_RESULT $? 0 0 "卸载plexus-pom失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "plexus-pom解析POM文件基本功能测试完成"
|
||||
}
|
||||
|
||||
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 : 2026-04-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试运行plexus-pom命令的help选项
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试plexus-pom命令的help选项功能"
|
||||
LOG_INFO "步骤1:检查plexus-pom软件包是否在yum源中"
|
||||
if ! dnf list available plexus-pom 2>/dev/null | grep -q plexus-pom; then
|
||||
LOG_ERROR "yum源中未找到plexus-pom软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "步骤2:检查plexus-pom是否已安装"
|
||||
if rpm -q plexus-pom >/dev/null 2>&1; then
|
||||
LOG_INFO "plexus-pom已安装,将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "plexus-pom未安装,将进行安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "步骤3:安装plexus-pom软件包"
|
||||
dnf install -y plexus-pom
|
||||
CHECK_RESULT $? 0 0 "安装plexus-pom失败"
|
||||
fi
|
||||
LOG_INFO "步骤4:运行plexus-pom命令的help选项"
|
||||
plexus-pom --help
|
||||
CHECK_RESULT $? 0 0 "plexus-pom命令help选项执行失败"
|
||||
LOG_INFO "步骤5:检查help选项输出是否包含帮助信息"
|
||||
if ! plexus-pom --help 2>&1 | grep -q "Usage\|帮助\|选项"; then
|
||||
LOG_ERROR "plexus-pom命令help选项输出不符合预期"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "步骤6:清理环境"
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "卸载plexus-pom软件包"
|
||||
dnf remove -y plexus-pom
|
||||
CHECK_RESULT $? 0 0 "卸载plexus-pom失败"
|
||||
else
|
||||
LOG_INFO "保持plexus-pom安装状态"
|
||||
fi
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,77 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-04-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试通过包管理器安装plexus-pom软件包
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:通过包管理器安装plexus-pom软件包"
|
||||
LOG_INFO "步骤1: 检查环境中是否已安装plexus-pom软件包"
|
||||
rpm -q plexus-pom > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "环境中已安装plexus-pom软件包,测试将保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "环境中未安装plexus-pom软件包"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2: 检查yum源中是否有plexus-pom软件包"
|
||||
dnf list available plexus-pom > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "yum源中未找到plexus-pom软件包"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到plexus-pom软件包,退出测试"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED_BEFORE" = "false" ]; then
|
||||
LOG_INFO "步骤3: 安装plexus-pom软件包"
|
||||
dnf install -y plexus-pom
|
||||
CHECK_RESULT $? 0 0 "安装plexus-pom软件包失败"
|
||||
LOG_INFO "plexus-pom软件包安装成功"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4: 验证plexus-pom软件包安装成功"
|
||||
rpm -q plexus-pom > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "验证plexus-pom软件包安装失败"
|
||||
|
||||
LOG_INFO "步骤5: 执行plexus-pom相关功能验证(示例:查看版本信息)"
|
||||
# 假设plexus-pom安装后会提供某个命令,这里用"plexus-pom --version"示例
|
||||
# 如果实际命令不存在,则按参数不支持处理
|
||||
command -v plexus-pom > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "plexus-pom命令不存在,可能参数或功能不支持"
|
||||
exit 255
|
||||
fi
|
||||
plexus-pom --version > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "执行plexus-pom命令失败"
|
||||
|
||||
LOG_INFO "步骤6: 清理测试环境"
|
||||
if [ "$INSTALLED_BEFORE" = "false" ]; then
|
||||
LOG_INFO "卸载测试安装的plexus-pom软件包"
|
||||
dnf remove -y plexus-pom
|
||||
CHECK_RESULT $? 0 0 "卸载plexus-pom软件包失败"
|
||||
LOG_INFO "plexus-pom软件包卸载成功"
|
||||
else
|
||||
LOG_INFO "测试前已安装plexus-pom,保持安装状态,无需卸载"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:通过包管理器安装plexus-pom软件包功能验证通过"
|
||||
}
|
||||
|
||||
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-04-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试plexus-pom对POM文件的验证功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试plexus-pom对POM文件的验证功能"
|
||||
|
||||
LOG_INFO "检查是否已经安装plexus-pom"
|
||||
if dnf list installed plexus-pom > /dev/null 2>&1; then
|
||||
LOG_INFO "plexus-pom已经安装,测试结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "plexus-pom未安装,将在测试过程中安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
LOG_INFO "检查yum源中是否有plexus-pom软件包"
|
||||
if ! dnf list available plexus-pom > /dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中没有plexus-pom软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装plexus-pom"
|
||||
dnf install -y plexus-pom
|
||||
CHECK_RESULT $? 0 0 "安装plexus-pom失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "验证plexus-pom命令是否存在"
|
||||
if ! command -v plexus-pom > /dev/null 2>&1; then
|
||||
LOG_ERROR "plexus-pom命令不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "测试plexus-pom对POM文件的验证功能,使用--help参数查看支持的功能"
|
||||
plexus-pom --help
|
||||
CHECK_RESULT $? 0 0 "plexus-pom --help执行失败"
|
||||
|
||||
LOG_INFO "检查plexus-pom是否支持validate参数"
|
||||
if ! plexus-pom --help | grep -q "validate"; then
|
||||
LOG_ERROR "plexus-pom不支持validate参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "创建一个简单的POM文件用于测试"
|
||||
cat > test_pom.xml << EOF
|
||||
<project>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.example</groupId>
|
||||
<artifactId>test</artifactId>
|
||||
<version>1.0.0</version>
|
||||
</project>
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "创建测试POM文件失败"
|
||||
|
||||
LOG_INFO "使用plexus-pom验证POM文件"
|
||||
plexus-pom validate test_pom.xml
|
||||
CHECK_RESULT $? 0 0 "plexus-pom验证POM文件失败"
|
||||
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f test_pom.xml
|
||||
CHECK_RESULT $? 0 0 "删除测试POM文件失败"
|
||||
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载plexus-pom"
|
||||
dnf remove -y plexus-pom
|
||||
CHECK_RESULT $? 0 0 "卸载plexus-pom失败"
|
||||
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-04-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试检查plexus-pom软件包的版本信息
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 设置严格模式
|
||||
set -euo pipefail
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="plexus-pom"
|
||||
|
||||
# 步骤1: 检查yum源中是否存在plexus-pom软件包
|
||||
LOG_INFO "步骤1: 检查yum源中是否存在${PACKAGE_NAME}软件包"
|
||||
if ! dnf list available "${PACKAGE_NAME}" &>/dev/null; then
|
||||
LOG_ERROR "yum源中不存在${PACKAGE_NAME}软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum源中存在${PACKAGE_NAME}软件包"
|
||||
|
||||
# 步骤2: 检查当前是否已安装plexus-pom软件包
|
||||
LOG_INFO "步骤2: 检查当前是否已安装${PACKAGE_NAME}软件包"
|
||||
if rpm -q "${PACKAGE_NAME}" &>/dev/null; then
|
||||
LOG_INFO "${PACKAGE_NAME}软件包已安装"
|
||||
INSTALLED="true"
|
||||
else
|
||||
LOG_INFO "${PACKAGE_NAME}软件包未安装"
|
||||
INSTALLED="false"
|
||||
fi
|
||||
|
||||
# 步骤3: 如果未安装,则安装plexus-pom软件包
|
||||
if [[ "${INSTALLED}" == "false" ]]; then
|
||||
LOG_INFO "步骤3: 安装${PACKAGE_NAME}软件包"
|
||||
dnf install -y "${PACKAGE_NAME}"
|
||||
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}软件包失败"
|
||||
LOG_INFO "${PACKAGE_NAME}软件包安装成功"
|
||||
fi
|
||||
|
||||
# 步骤4: 检查plexus-pom软件包的版本信息
|
||||
LOG_INFO "步骤4: 检查${PACKAGE_NAME}软件包的版本信息"
|
||||
VERSION_INFO=$(rpm -qi "${PACKAGE_NAME}" | grep -E "Version|Release" | head -2)
|
||||
CHECK_RESULT $? 0 0 "获取${PACKAGE_NAME}版本信息失败"
|
||||
LOG_INFO "${PACKAGE_NAME}版本信息: ${VERSION_INFO}"
|
||||
|
||||
# 步骤5: 检查版本命令参数是否存在
|
||||
LOG_INFO "步骤5: 检查版本命令参数是否存在"
|
||||
if ! rpm --help | grep -q "\-q\|--query"; then
|
||||
LOG_ERROR "rpm命令不支持查询参数"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "rpm命令支持查询参数"
|
||||
|
||||
# 步骤6: 清理环境,恢复到之前的状态
|
||||
LOG_INFO "步骤6: 清理环境,恢复到之前的状态"
|
||||
if [[ "${INSTALLED}" == "false" ]]; then
|
||||
LOG_INFO "卸载${PACKAGE_NAME}软件包"
|
||||
dnf remove -y "${PACKAGE_NAME}"
|
||||
CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}软件包失败"
|
||||
LOG_INFO "${PACKAGE_NAME}软件包卸载成功"
|
||||
else
|
||||
LOG_INFO "保持${PACKAGE_NAME}软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
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-12-08
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic functionality of jsmin
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装python-jsmin
|
||||
LOG_INFO "检查是否已安装python-jsmin"
|
||||
rpm -q python-jsmin > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "python-jsmin已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "python-jsmin未安装,将在测试后卸载"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有python-jsmin软件包
|
||||
LOG_INFO "检查yum源中是否有python-jsmin软件包"
|
||||
dnf list available python-jsmin > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到python-jsmin软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装python-jsmin(如果未安装)
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装python-jsmin"
|
||||
dnf install -y python-jsmin > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装python-jsmin失败"
|
||||
fi
|
||||
|
||||
# 测试jsmin基本功能
|
||||
LOG_INFO "测试jsmin基本功能"
|
||||
echo "var x = 1;" | jsmin > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "jsmin基本功能测试失败"
|
||||
|
||||
# 检查jsmin是否支持--help参数
|
||||
LOG_INFO "检查jsmin是否支持--help参数"
|
||||
jsmin --help > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "jsmin不支持--help参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 清理环境(如果之前未安装)
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载python-jsmin"
|
||||
dnf remove -y python-jsmin > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载python-jsmin失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完成"
|
||||
}
|
||||
|
||||
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-12-01
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test initialization of the package
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查yum源中是否存在python-zope-interface-help包
|
||||
LOG_INFO "检查yum源中是否存在python-zope-interface-help包"
|
||||
dnf list available python-zope-interface-help > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在python-zope-interface-help包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装python-zope-interface-help包
|
||||
LOG_INFO "检查是否已安装python-zope-interface-help包"
|
||||
rpm -q python-zope-interface-help > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "python-zope-interface-help包已安装,跳过安装步骤"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "python-zope-interface-help包未安装,开始安装"
|
||||
dnf install -y python-zope-interface-help
|
||||
CHECK_RESULT $? 0 0 "安装python-zope-interface-help包失败"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 测试初始化功能
|
||||
LOG_INFO "测试初始化功能"
|
||||
zope-interface-help --help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "初始化功能测试失败"
|
||||
|
||||
# 清理环境,恢复到之前的状态
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载python-zope-interface-help包"
|
||||
dnf remove -y python-zope-interface-help
|
||||
CHECK_RESULT $? 0 0 "卸载python-zope-interface-help包失败"
|
||||
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 registration of interfaces
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test registration of interfaces"
|
||||
|
||||
# 检查是否已安装python-zope-interface-help
|
||||
LOG_INFO "检查是否已安装python-zope-interface-help"
|
||||
if dnf list installed python-zope-interface-help &>/dev/null; then
|
||||
LOG_INFO "python-zope-interface-help已安装"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "python-zope-interface-help未安装"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有python-zope-interface-help
|
||||
LOG_INFO "检查yum源中是否有python-zope-interface-help"
|
||||
if ! dnf list available python-zope-interface-help &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到python-zope-interface-help"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装python-zope-interface-help"
|
||||
dnf install -y python-zope-interface-help
|
||||
CHECK_RESULT $? 0 0 "安装python-zope-interface-help失败"
|
||||
fi
|
||||
|
||||
# 测试注册接口功能
|
||||
LOG_INFO "测试注册接口功能"
|
||||
command_output=$(zope-interface-help register)
|
||||
CHECK_RESULT $? 0 0 "注册接口功能测试失败"
|
||||
|
||||
# 如果之前未安装,则在测试完成后卸载
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载python-zope-interface-help"
|
||||
dnf remove -y python-zope-interface-help
|
||||
CHECK_RESULT $? 0 0 "卸载python-zope-interface-help失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test registration of interfaces"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,70 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test rendering functionality of Qt6 Qt3D
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试Qt6 Qt3D的渲染功能"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查qt6-qt3d-devel软件包是否已安装"
|
||||
if rpm -q qt6-qt3d-devel &>/dev/null; then
|
||||
LOG_INFO "qt6-qt3d-devel软件包已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "qt6-qt3d-devel软件包未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有qt6-qt3d-devel软件包
|
||||
LOG_INFO "检查yum源中是否存在qt6-qt3d-devel软件包"
|
||||
if ! dnf list available qt6-qt3d-devel &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到qt6-qt3d-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在安装qt6-qt3d-devel软件包"
|
||||
dnf install -y qt6-qt3d-devel
|
||||
CHECK_RESULT $? 0 0 "安装qt6-qt3d-devel软件包失败"
|
||||
fi
|
||||
|
||||
# 测试渲染功能
|
||||
LOG_INFO "测试Qt6 Qt3D的渲染功能"
|
||||
test_command="qt6-qt3d-render-test" # 假设这是测试命令,实际命令可能不同
|
||||
if ! command -v "$test_command" &>/dev/null; then
|
||||
LOG_ERROR "命令$test_command不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
$test_command --test-render # 假设--test-render是测试参数,实际参数可能不同
|
||||
CHECK_RESULT $? 0 0 "Qt6 Qt3D渲染功能测试失败"
|
||||
|
||||
# 清理环境:如果之前未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在卸载qt6-qt3d-devel软件包"
|
||||
dnf remove -y qt6-qt3d-devel
|
||||
CHECK_RESULT $? 0 0 "卸载qt6-qt3d-devel软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "Qt6 Qt3D渲染功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,177 +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-21
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包sssd-winbind-idmap是否提供了配置文件
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查sssd-winbind-idmap软件包配置文件测试脚本
|
||||
|
||||
# 定义日志函数(虽然题目说直接使用,但实际环境中需要定义)
|
||||
LOG_INFO() {
|
||||
echo "[INFO] $1"
|
||||
}
|
||||
|
||||
LOG_ERROR() {
|
||||
echo "[ERROR] $1" >&2
|
||||
}
|
||||
|
||||
# 定义检查函数
|
||||
CHECK_RESULT() {
|
||||
local actual=$1
|
||||
local expected=$2
|
||||
local error_code=$3
|
||||
local error_msg=$4
|
||||
|
||||
if [ $actual -ne $expected ]; then
|
||||
LOG_ERROR "$error_msg"
|
||||
exit $error_code
|
||||
fi
|
||||
}
|
||||
|
||||
# 定义SSH函数(虽然题目说直接使用,但这里提供基本实现)
|
||||
SSH_CMD() {
|
||||
local cmd=$1
|
||||
local ip=$2
|
||||
local password=$3
|
||||
local user=$4
|
||||
|
||||
# 简化实现,实际可能需要使用sshpass或密钥
|
||||
ssh -o StrictHostKeyChecking=no -o ConnectTimeout=5 ${user}@${ip} "$cmd"
|
||||
return $?
|
||||
}
|
||||
|
||||
# 测试主函数
|
||||
main() {
|
||||
LOG_INFO "开始测试sssd-winbind-idmap软件包配置文件"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="sssd-winbind-idmap"
|
||||
|
||||
# 步骤1:检查yum源中是否存在该软件包
|
||||
LOG_INFO "步骤1:检查yum源中是否存在${PACKAGE_NAME}软件包"
|
||||
dnf list available ${PACKAGE_NAME} > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到${PACKAGE_NAME}软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum源中存在${PACKAGE_NAME}软件包"
|
||||
|
||||
# 步骤2:检查系统是否已安装该软件包
|
||||
LOG_INFO "步骤2:检查系统是否已安装${PACKAGE_NAME}软件包"
|
||||
rpm -q ${PACKAGE_NAME} > /dev/null 2>&1
|
||||
local already_installed=$?
|
||||
|
||||
# 记录初始安装状态
|
||||
if [ $already_installed -eq 0 ]; then
|
||||
LOG_INFO "${PACKAGE_NAME}软件包已安装"
|
||||
local need_uninstall=false
|
||||
else
|
||||
LOG_INFO "${PACKAGE_NAME}软件包未安装"
|
||||
local need_uninstall=true
|
||||
fi
|
||||
|
||||
# 步骤3:如果未安装,则安装软件包
|
||||
if [ $need_uninstall = true ]; then
|
||||
LOG_INFO "步骤3:安装${PACKAGE_NAME}软件包"
|
||||
dnf install -y ${PACKAGE_NAME} > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}软件包失败"
|
||||
LOG_INFO "成功安装${PACKAGE_NAME}软件包"
|
||||
fi
|
||||
|
||||
# 步骤4:检查软件包是否提供了配置文件
|
||||
LOG_INFO "步骤4:检查${PACKAGE_NAME}软件包是否提供了配置文件"
|
||||
|
||||
# 获取软件包安装的文件列表
|
||||
LOG_INFO "获取${PACKAGE_NAME}软件包安装的文件列表"
|
||||
rpm -ql ${PACKAGE_NAME} > /tmp/package_files.txt 2>&1
|
||||
CHECK_RESULT $? 0 0 "获取${PACKAGE_NAME}软件包文件列表失败"
|
||||
|
||||
# 检查配置文件的常见目录
|
||||
LOG_INFO "检查配置文件"
|
||||
local config_found=false
|
||||
local config_dirs=("/etc" "/usr/share/doc" "/usr/share/man" "/usr/share/${PACKAGE_NAME}")
|
||||
|
||||
while IFS= read -r file; do
|
||||
for dir in "${config_dirs[@]}"; do
|
||||
if [[ "$file" == ${dir}* ]] && [[ "$file" =~ \.(conf|cfg|config|yml|yaml|xml|ini|json)$ ]]; then
|
||||
LOG_INFO "找到配置文件: $file"
|
||||
config_found=true
|
||||
fi
|
||||
done
|
||||
done < /tmp/package_files.txt
|
||||
|
||||
# 如果没有找到配置文件,尝试其他检查方法
|
||||
if [ $config_found = false ]; then
|
||||
LOG_INFO "未找到标准配置文件,检查其他类型配置文件"
|
||||
|
||||
# 检查是否有配置文件示例或文档
|
||||
grep -q -E "\.conf|\.cfg|config" /tmp/package_files.txt
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "找到可能的配置文件"
|
||||
config_found=true
|
||||
fi
|
||||
|
||||
# 检查是否有man文档说明配置文件
|
||||
rpm -qd ${PACKAGE_NAME} 2>/dev/null | grep -q -i "config"
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "软件包文档中提到配置文件"
|
||||
config_found=true
|
||||
fi
|
||||
fi
|
||||
|
||||
# 验证测试结果
|
||||
if [ $config_found = true ]; then
|
||||
LOG_INFO "测试通过:${PACKAGE_NAME}软件包提供了配置文件"
|
||||
else
|
||||
LOG_ERROR "测试失败:${PACKAGE_NAME}软件包未提供配置文件"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 步骤5:清理临时文件
|
||||
LOG_INFO "步骤5:清理临时文件"
|
||||
rm -f /tmp/package_files.txt
|
||||
CHECK_RESULT $? 0 0 "清理临时文件失败"
|
||||
LOG_INFO "临时文件清理完成"
|
||||
|
||||
# 步骤6:恢复环境
|
||||
LOG_INFO "步骤6:恢复测试环境"
|
||||
if [ $need_uninstall = true ]; then
|
||||
LOG_INFO "卸载${PACKAGE_NAME}软件包"
|
||||
dnf remove -y ${PACKAGE_NAME} > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "卸载${PACKAGE_NAME}软件包失败"
|
||||
# 不退出,继续执行清理
|
||||
else
|
||||
LOG_INFO "成功卸载${PACKAGE_NAME}软件包"
|
||||
fi
|
||||
else
|
||||
LOG_INFO "保持${PACKAGE_NAME}软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
# 异常处理
|
||||
trap "LOG_ERROR "脚本执行异常"; exit 1" ERR
|
||||
|
||||
# 执行主函数
|
||||
main "$@"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,160 +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-21
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试winbind idmap功能是否被正确配置和启用
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义颜色输出函数
|
||||
LOG_INFO() {
|
||||
echo -e "\033[32m[INFO]\033[0m $1"
|
||||
}
|
||||
|
||||
LOG_ERROR() {
|
||||
echo -e "\033[31m[ERROR]\033[0m $1"
|
||||
}
|
||||
|
||||
# 定义检查结果函数
|
||||
CHECK_RESULT() {
|
||||
if [ $1 -ne $2 ]; then
|
||||
LOG_ERROR "$4"
|
||||
exit $3
|
||||
fi
|
||||
}
|
||||
|
||||
# 定义SSH命令函数
|
||||
SSH_CMD() {
|
||||
local cmd=$1
|
||||
local ip=$2
|
||||
local password=$3
|
||||
local user=$4
|
||||
sshpass -p "$password" ssh -o StrictHostKeyChecking=no "$user"@"$ip" "$cmd"
|
||||
}
|
||||
|
||||
# 定义变量
|
||||
PACKAGES="sssd samba-winbind samba-winbind-clients"
|
||||
TEST_USER="testuser"
|
||||
TEST_GROUP="testgroup"
|
||||
IDMAP_RANGE="1000000-2000000"
|
||||
|
||||
# 步骤1:检查是否已安装相关软件包
|
||||
LOG_INFO "步骤1:检查是否已安装相关软件包"
|
||||
INSTALLED=false
|
||||
for pkg in $PACKAGES; do
|
||||
if rpm -q $pkg &> /dev/null; then
|
||||
INSTALLED=true
|
||||
LOG_INFO "$pkg 已安装"
|
||||
else
|
||||
LOG_INFO "$pkg 未安装"
|
||||
fi
|
||||
done
|
||||
|
||||
# 步骤2:检查yum源中是否有相关软件包
|
||||
LOG_INFO "步骤2:检查yum源中是否有相关软件包"
|
||||
for pkg in $PACKAGES; do
|
||||
dnf list available $pkg &> /dev/null
|
||||
CHECK_RESULT $? 0 255 "yum源中没有 $pkg 软件包"
|
||||
done
|
||||
|
||||
# 步骤3:如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤3:安装软件包"
|
||||
dnf install -y $PACKAGES
|
||||
CHECK_RESULT $? 0 1 "安装软件包失败"
|
||||
fi
|
||||
|
||||
# 步骤4:配置winbind idmap
|
||||
LOG_INFO "步骤4:配置winbind idmap"
|
||||
cat > /etc/samba/smb.conf << EOF
|
||||
[global]
|
||||
workgroup = SAMBA
|
||||
security = user
|
||||
idmap config * : backend = tdb
|
||||
idmap config * : range = $IDMAP_RANGE
|
||||
winbind use default domain = yes
|
||||
winbind offline logon = false
|
||||
EOF
|
||||
CHECK_RESULT $? 0 1 "配置smb.conf失败"
|
||||
|
||||
# 步骤5:重启winbind服务
|
||||
LOG_INFO "步骤5:重启winbind服务"
|
||||
systemctl restart winbind
|
||||
CHECK_RESULT $? 0 1 "重启winbind服务失败"
|
||||
|
||||
# 步骤6:检查winbind服务状态
|
||||
LOG_INFO "步骤6:检查winbind服务状态"
|
||||
systemctl status winbind | grep -q "active (running)"
|
||||
CHECK_RESULT $? 0 1 "winbind服务未运行"
|
||||
|
||||
# 步骤7:测试winbind idmap功能
|
||||
LOG_INFO "步骤7:测试winbind idmap功能"
|
||||
wbinfo --domain-info
|
||||
CHECK_RESULT $? 0 1 "wbinfo命令执行失败"
|
||||
|
||||
# 步骤8:检查idmap范围是否配置正确
|
||||
LOG_INFO "步骤8:检查idmap范围是否配置正确"
|
||||
wbinfo --idmap-info | grep -q "$IDMAP_RANGE"
|
||||
CHECK_RESULT $? 0 1 "idmap范围配置不正确"
|
||||
|
||||
# 步骤9:创建测试用户和组
|
||||
LOG_INFO "步骤9:创建测试用户和组"
|
||||
groupadd $TEST_GROUP
|
||||
CHECK_RESULT $? 0 1 "创建测试组失败"
|
||||
useradd -g $TEST_GROUP $TEST_USER
|
||||
CHECK_RESULT $? 0 1 "创建测试用户失败"
|
||||
|
||||
# 步骤10:测试winbind映射功能
|
||||
LOG_INFO "步骤10:测试winbind映射功能"
|
||||
wbinfo --name-to-sid "$TEST_USER"
|
||||
CHECK_RESULT $? 0 1 "winbind名称到SID映射失败"
|
||||
wbinfo --sid-to-name $(wbinfo --name-to-sid "$TEST_USER" | awk "{print $1}")
|
||||
CHECK_RESULT $? 0 1 "winbind SID到名称映射失败"
|
||||
|
||||
# 步骤11:清理测试用户和组
|
||||
LOG_INFO "步骤11:清理测试用户和组"
|
||||
userdel -r $TEST_USER
|
||||
CHECK_RESULT $? 0 1 "删除测试用户失败"
|
||||
groupdel $TEST_GROUP
|
||||
CHECK_RESULT $? 0 1 "删除测试组失败"
|
||||
|
||||
# 步骤12:恢复环境
|
||||
LOG_INFO "步骤12:恢复环境"
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载软件包"
|
||||
dnf remove -y $PACKAGES
|
||||
CHECK_RESULT $? 0 1 "卸载软件包失败"
|
||||
else
|
||||
LOG_INFO "保持软件包安装状态"
|
||||
fi
|
||||
|
||||
# 步骤13:恢复smb.conf配置
|
||||
LOG_INFO "步骤13:恢复smb.conf配置"
|
||||
if [ -f /etc/samba/smb.conf.bak ]; then
|
||||
mv /etc/samba/smb.conf.bak /etc/samba/smb.conf
|
||||
systemctl restart winbind
|
||||
CHECK_RESULT $? 0 1 "恢复smb.conf配置失败"
|
||||
else
|
||||
rm -f /etc/samba/smb.conf
|
||||
systemctl restart winbind
|
||||
CHECK_RESULT $? 0 1 "删除smb.conf配置失败"
|
||||
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-09-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package installation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试脚本:test_texlive-attachfile-doc_function_install
|
||||
|
||||
LOG_INFO "开始测试软件包安装功能"
|
||||
|
||||
# 检查软件包是否已在环境中安装
|
||||
LOG_INFO "检查软件包是否已安装"
|
||||
dnf list installed texlive-attachfile-doc > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "软件包已安装,脚本结束时保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "软件包未安装,将在测试后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在该软件包
|
||||
LOG_INFO "检查yum源中是否存在texlive-attachfile-doc"
|
||||
dnf list available texlive-attachfile-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中不存在texlive-attachfile-doc软件包"
|
||||
|
||||
# 安装软件包
|
||||
LOG_INFO "安装texlive-attachfile-doc软件包"
|
||||
dnf install -y texlive-attachfile-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装texlive-attachfile-doc失败"
|
||||
|
||||
# 验证软件包是否成功安装
|
||||
LOG_INFO "验证软件包是否成功安装"
|
||||
rpm -q texlive-attachfile-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "验证texlive-attachfile-doc安装失败"
|
||||
|
||||
# 测试完成后清理环境(如果初始未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "清理环境:卸载texlive-attachfile-doc"
|
||||
dnf remove -y texlive-attachfile-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-attachfile-doc失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,64 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic coloring functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test basic coloring functionality"
|
||||
|
||||
# 检查是否已安装texlive-coloring
|
||||
LOG_INFO "检查texlive-coloring是否已安装"
|
||||
if dnf list installed texlive-coloring &>/dev/null; then
|
||||
LOG_INFO "texlive-coloring已安装,跳过安装步骤"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-coloring未安装,准备安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-coloring
|
||||
LOG_INFO "检查yum源中是否存在texlive-coloring"
|
||||
if ! dnf list available texlive-coloring &>/dev/null; then
|
||||
LOG_ERROR "yum源中不存在texlive-coloring包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则进行安装
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装texlive-coloring"
|
||||
dnf install -y texlive-coloring
|
||||
CHECK_RESULT $? 0 0 "安装texlive-coloring失败"
|
||||
fi
|
||||
|
||||
# 测试基本着色功能
|
||||
LOG_INFO "测试基本着色功能"
|
||||
texlua texlive-coloring-test.lua basic
|
||||
CHECK_RESULT $? 0 0 "基本着色功能测试失败"
|
||||
|
||||
# 如果之前未安装,则卸载
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载texlive-coloring"
|
||||
dnf remove -y texlive-coloring
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-coloring失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test basic coloring functionality"
|
||||
}
|
||||
|
||||
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-09-18
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package installation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已经安装texlive-elsarticle
|
||||
LOG_INFO "检查是否已经安装texlive-elsarticle"
|
||||
rpm -q texlive-elsarticle > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-elsarticle已经安装,脚本结束后保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在texlive-elsarticle
|
||||
LOG_INFO "检查yum源中是否存在texlive-elsarticle"
|
||||
dnf list available texlive-elsarticle > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中不存在texlive-elsarticle"
|
||||
|
||||
# 安装texlive-elsarticle
|
||||
LOG_INFO "开始安装texlive-elsarticle"
|
||||
dnf install -y texlive-elsarticle
|
||||
CHECK_RESULT $? 0 0 "安装texlive-elsarticle失败"
|
||||
|
||||
# 验证安装是否成功
|
||||
LOG_INFO "验证texlive-elsarticle是否安装成功"
|
||||
rpm -q texlive-elsarticle > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "texlive-elsarticle安装后验证失败"
|
||||
|
||||
# 如果脚本开始时未安装,则卸载软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "脚本开始时未安装texlive-elsarticle,开始卸载"
|
||||
dnf remove -y texlive-elsarticle
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-elsarticle失败"
|
||||
|
||||
# 验证卸载是否成功
|
||||
LOG_INFO "验证texlive-elsarticle是否卸载成功"
|
||||
rpm -q texlive-elsarticle > /dev/null 2>&1
|
||||
CHECK_RESULT $? 1 0 "texlive-elsarticle卸载后验证失败"
|
||||
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 : 2026-03-31
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test if texlive-eso-pic package is installed
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试 texlive-eso-pic 软件包安装功能检查"
|
||||
|
||||
# 步骤1: 检查环境中是否已安装 texlive-eso-pic 软件包
|
||||
LOG_INFO "步骤1: 检查环境中是否已安装 texlive-eso-pic 软件包"
|
||||
if rpm -q texlive-eso-pic &>/dev/null; then
|
||||
LOG_INFO "texlive-eso-pic 软件包已安装,测试将验证其功能并保持安装状态"
|
||||
INSTALLED_BEFORE_TEST=true
|
||||
else
|
||||
LOG_INFO "texlive-eso-pic 软件包未安装,将在测试过程中安装并最终卸载"
|
||||
INSTALLED_BEFORE_TEST=false
|
||||
fi
|
||||
|
||||
# 步骤2: 检查 yum 源中是否存在 texlive-eso-pic 软件包
|
||||
LOG_INFO "步骤2: 检查 yum 源中是否存在 texlive-eso-pic 软件包"
|
||||
if ! dnf list available texlive-eso-pic &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 texlive-eso-pic 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤3: 如果未安装,则安装 texlive-eso-pic 软件包
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
LOG_INFO "步骤3: 安装 texlive-eso-pic 软件包"
|
||||
dnf install -y texlive-eso-pic
|
||||
CHECK_RESULT $? 0 0 "安装 texlive-eso-pic 软件包失败"
|
||||
fi
|
||||
|
||||
# 步骤4: 验证 texlive-eso-pic 软件包的基本功能
|
||||
LOG_INFO "步骤4: 验证 texlive-eso-pic 软件包的基本功能"
|
||||
# 假设 texlive-eso-pic 提供了一个命令行工具或可以通过特定命令验证其功能
|
||||
# 这里使用一个示例命令,实际应根据软件包提供的具体功能进行调整
|
||||
if command -v latex &>/dev/null; then
|
||||
LOG_INFO "检查 LaTeX 命令是否可用"
|
||||
latex --version
|
||||
CHECK_RESULT $? 0 0 "LaTeX 命令执行失败,可能 texlive-eso-pic 功能异常"
|
||||
else
|
||||
LOG_INFO "LaTeX 命令不可用,跳过具体功能测试"
|
||||
fi
|
||||
|
||||
# 步骤5: 清理环境,如果测试前未安装则卸载软件包
|
||||
LOG_INFO "步骤5: 清理测试环境"
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
LOG_INFO "卸载 texlive-eso-pic 软件包"
|
||||
dnf remove -y texlive-eso-pic
|
||||
CHECK_RESULT $? 0 0 "卸载 texlive-eso-pic 软件包失败"
|
||||
else
|
||||
LOG_INFO "测试前已安装 texlive-eso-pic,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "texlive-eso-pic 软件包安装功能检查测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,99 +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-31
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test absolute positioning usage
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查环境是否已安装texlive-eso-pic软件包
|
||||
LOG_INFO "开始测试:Test absolute positioning usage"
|
||||
LOG_INFO "步骤1:检查texlive-eso-pic是否已安装"
|
||||
if rpm -q texlive-eso-pic &> /dev/null; then
|
||||
LOG_INFO "texlive-eso-pic已安装,标记为需要保持安装状态"
|
||||
KEEP_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "texlive-eso-pic未安装"
|
||||
KEEP_INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-eso-pic软件包
|
||||
LOG_INFO "步骤2:检查yum源中是否有texlive-eso-pic软件包"
|
||||
if ! dnf list available texlive-eso-pic &> /dev/null; then
|
||||
LOG_ERROR "yum源中没有texlive-eso-pic软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $KEEP_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤3:安装texlive-eso-pic软件包"
|
||||
dnf install -y texlive-eso-pic
|
||||
CHECK_RESULT $? 0 0 "安装texlive-eso-pic失败"
|
||||
fi
|
||||
|
||||
# 测试绝对定位功能
|
||||
LOG_INFO "步骤4:测试eso-pic绝对定位功能"
|
||||
cat > test_absolute.tex << "EOF"
|
||||
\documentclass{article}
|
||||
\usepackage{eso-pic}
|
||||
\begin{document}
|
||||
\AddToShipoutPictureBG*{\AtPageLowerLeft{\put(10,10){\textcolor{red}{Absolute Position Test}}}}
|
||||
Test document for absolute positioning.
|
||||
\end{document}
|
||||
EOF
|
||||
|
||||
# 编译LaTeX文档测试绝对定位
|
||||
LOG_INFO "步骤5:编译LaTeX文档测试绝对定位"
|
||||
pdflatex -interaction=nonstopmode test_absolute.tex
|
||||
CHECK_RESULT $? 0 0 "编译LaTeX文档失败"
|
||||
|
||||
# 检查生成的PDF文件
|
||||
LOG_INFO "步骤6:检查生成的PDF文件"
|
||||
if [ -f test_absolute.pdf ]; then
|
||||
LOG_INFO "PDF文件生成成功"
|
||||
else
|
||||
LOG_ERROR "PDF文件生成失败"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 测试eso-pic命令参数
|
||||
LOG_INFO "步骤7:测试eso-pic命令参数支持"
|
||||
if pdflatex --help | grep -q "\-\-output\-directory"; then
|
||||
LOG_INFO "pdflatex支持--output-directory参数"
|
||||
else
|
||||
LOG_ERROR "pdflatex不支持--output-directory参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "步骤8:清理测试生成的文件"
|
||||
rm -f test_absolute.tex test_absolute.log test_absolute.aux test_absolute.pdf
|
||||
|
||||
# 如果测试前未安装,则卸载软件包
|
||||
if [ $KEEP_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤9:卸载texlive-eso-pic软件包"
|
||||
dnf remove -y texlive-eso-pic
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-eso-pic失败"
|
||||
LOG_INFO "环境已恢复到测试前状态"
|
||||
else
|
||||
LOG_INFO "保持texlive-eso-pic安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test absolute positioning usage"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,158 +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-31
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic background image usage
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试基本背景图片使用功能
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="texlive-eso-pic"
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
LOG_INFO "检查软件包是否在yum源中"
|
||||
dnf list available ${PACKAGE_NAME} 2>&1 | grep -q ${PACKAGE_NAME}
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 ${PACKAGE_NAME} 不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
CHECK_RESULT $? 0 0 "检查软件包在yum源中"
|
||||
|
||||
# 检查当前是否已安装软件包
|
||||
LOG_INFO "检查当前是否已安装软件包"
|
||||
rpm -q ${PACKAGE_NAME} > /dev/null 2>&1
|
||||
IS_INSTALLED=$?
|
||||
|
||||
if [ ${IS_INSTALLED} -eq 0 ]; then
|
||||
LOG_INFO "软件包已安装,测试结束后保持安装状态"
|
||||
NEED_CLEANUP=0
|
||||
else
|
||||
LOG_INFO "软件包未安装,测试结束后需要卸载"
|
||||
NEED_CLEANUP=1
|
||||
|
||||
# 安装软件包
|
||||
LOG_INFO "安装软件包"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
fi
|
||||
|
||||
# 检查eso-pic包提供的命令
|
||||
LOG_INFO "检查eso-pic包提供的命令"
|
||||
rpm -ql ${PACKAGE_NAME} | grep -E "\.tex$" | head -5 > /dev/null
|
||||
CHECK_RESULT $? 0 0 "检查eso-pic包内容失败"
|
||||
|
||||
# 创建一个简单的LaTeX测试文件
|
||||
LOG_INFO "创建LaTeX测试文件"
|
||||
TEST_FILE="test_background.tex"
|
||||
cat > ${TEST_FILE} << "EOF"
|
||||
\documentclass{article}
|
||||
\usepackage{eso-pic}
|
||||
\usepackage{color}
|
||||
|
||||
\begin{document}
|
||||
|
||||
% 添加背景图片
|
||||
\AddToShipoutPictureBG{%
|
||||
\AtPageLowerLeft{%
|
||||
\color{blue!10}%
|
||||
\rule{\paperwidth}{\paperheight}%
|
||||
}%
|
||||
}
|
||||
|
||||
\title{测试背景图片功能}
|
||||
\author{Test Author}
|
||||
\date{\today}
|
||||
|
||||
\maketitle
|
||||
|
||||
\section{测试部分}
|
||||
这是一个测试文档,用于测试eso-pic包的背景图片功能。
|
||||
|
||||
\end{document}
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "创建测试文件失败"
|
||||
|
||||
# 检查LaTeX文件语法
|
||||
LOG_INFO "检查LaTeX文件语法"
|
||||
if command -v pdflatex > /dev/null 2>&1; then
|
||||
LOG_INFO "检测到pdflatex,尝试编译测试文件"
|
||||
pdflatex -interaction=nonstopmode ${TEST_FILE} > /dev/null 2>&1
|
||||
LATEX_RESULT=$?
|
||||
|
||||
if [ ${LATEX_RESULT} -eq 0 ]; then
|
||||
LOG_INFO "LaTeX文件编译成功"
|
||||
# 检查是否生成了PDF文件
|
||||
if [ -f "${TEST_FILE%.tex}.pdf" ]; then
|
||||
LOG_INFO "成功生成PDF文件"
|
||||
# 检查PDF文件大小
|
||||
PDF_SIZE=$(stat -c%s "${TEST_FILE%.tex}.pdf" 2>/dev/null || echo "0")
|
||||
if [ ${PDF_SIZE} -gt 1000 ]; then
|
||||
LOG_INFO "PDF文件大小正常: ${PDF_SIZE} 字节"
|
||||
else
|
||||
LOG_ERROR "PDF文件大小异常: ${PDF_SIZE} 字节"
|
||||
CHECK_RESULT 1 0 0 "PDF文件大小异常"
|
||||
fi
|
||||
else
|
||||
LOG_ERROR "未生成PDF文件"
|
||||
CHECK_RESULT 1 0 0 "未生成PDF文件"
|
||||
fi
|
||||
else
|
||||
LOG_INFO "LaTeX编译失败,但eso-pic包功能可能正常(缺少其他依赖)"
|
||||
# 这不是致命错误,因为可能缺少其他LaTeX包
|
||||
fi
|
||||
else
|
||||
LOG_INFO "未安装pdflatex,跳过编译测试"
|
||||
fi
|
||||
|
||||
# 测试eso-pic包的基本功能
|
||||
LOG_INFO "测试eso-pic包参数支持"
|
||||
# 检查eso-pic包是否支持基本参数
|
||||
TEMP_FILE="temp_test.tex"
|
||||
cat > ${TEMP_FILE} << "EOF"
|
||||
\documentclass{article}
|
||||
\usepackage{eso-pic}
|
||||
\begin{document}
|
||||
测试文本
|
||||
\end{document}
|
||||
EOF
|
||||
|
||||
# 检查eso-pic包是否被正确识别
|
||||
grep -q "usepackage{eso-pic}" ${TEMP_FILE}
|
||||
CHECK_RESULT $? 0 0 "eso-pic包引用检查失败"
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f ${TEST_FILE} ${TEMP_FILE} test_background.aux test_background.log test_background.out test_background.pdf 2>/dev/null
|
||||
CHECK_RESULT $? 0 0 "清理测试文件失败"
|
||||
|
||||
# 环境恢复
|
||||
LOG_INFO "恢复测试环境"
|
||||
if [ ${NEED_CLEANUP} -eq 1 ]; then
|
||||
LOG_INFO "卸载测试安装的软件包"
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
LOG_INFO "软件包已卸载,环境已恢复"
|
||||
else
|
||||
LOG_INFO "保持软件包安装状态,环境未改变"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:基本背景图片使用功能测试通过"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,108 +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-31
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test grid overlay usage
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装texlive-eso-pic
|
||||
LOG_INFO "检查texlive-eso-pic是否已安装"
|
||||
rpm -q texlive-eso-pic > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-eso-pic已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED_BEFORE=1
|
||||
else
|
||||
LOG_INFO "texlive-eso-pic未安装,将在测试过程中安装"
|
||||
INSTALLED_BEFORE=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-eso-pic软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-eso-pic软件包"
|
||||
dnf list available texlive-eso-pic > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-eso-pic软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装texlive-eso-pic(如果未安装)
|
||||
if [ $INSTALLED_BEFORE -eq 0 ]; then
|
||||
LOG_INFO "安装texlive-eso-pic软件包"
|
||||
dnf install -y texlive-eso-pic > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装texlive-eso-pic失败"
|
||||
fi
|
||||
|
||||
# 创建测试LaTeX文档
|
||||
LOG_INFO "创建测试LaTeX文档测试grid overlay功能"
|
||||
cat > test_grid.tex << "EOF"
|
||||
\documentclass{article}
|
||||
\usepackage{eso-pic}
|
||||
\begin{document}
|
||||
Test document for grid overlay.
|
||||
\AddToShipoutPictureBG{%
|
||||
\AtPageLowerLeft{%
|
||||
\grid(10,10)(0,0)%
|
||||
}%
|
||||
}
|
||||
\end{document}
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "创建测试LaTeX文档失败"
|
||||
|
||||
# 检查pdflatex命令是否存在
|
||||
LOG_INFO "检查pdflatex命令是否存在"
|
||||
command -v pdflatex > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "pdflatex命令不存在"
|
||||
# 如果之前未安装,则卸载texlive-eso-pic
|
||||
if [ $INSTALLED_BEFORE -eq 0 ]; then
|
||||
dnf remove -y texlive-eso-pic > /dev/null 2>&1
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 编译LaTeX文档测试grid overlay功能
|
||||
LOG_INFO "编译LaTeX文档测试grid overlay功能"
|
||||
pdflatex -interaction=nonstopmode test_grid.tex > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "编译LaTeX文档失败,grid overlay功能可能有问题"
|
||||
|
||||
# 检查生成的PDF文件
|
||||
LOG_INFO "检查生成的PDF文件"
|
||||
if [ -f test_grid.pdf ]; then
|
||||
LOG_INFO "PDF文件生成成功,grid overlay功能测试通过"
|
||||
else
|
||||
LOG_ERROR "PDF文件未生成,grid overlay功能测试失败"
|
||||
CHECK_RESULT 1 0 0 "PDF文件未生成"
|
||||
fi
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f test_grid.tex test_grid.log test_grid.aux test_grid.pdf
|
||||
CHECK_RESULT $? 0 0 "清理测试文件失败"
|
||||
|
||||
# 如果测试前未安装,则卸载texlive-eso-pic
|
||||
if [ $INSTALLED_BEFORE -eq 0 ]; then
|
||||
LOG_INFO "卸载texlive-eso-pic软件包"
|
||||
dnf remove -y texlive-eso-pic > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-eso-pic失败"
|
||||
else
|
||||
LOG_INFO "测试前已安装texlive-eso-pic,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "Test grid overlay usage测试完成"
|
||||
}
|
||||
|
||||
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-10-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package installation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装texlive-scholax包
|
||||
LOG_INFO "检查是否已安装texlive-scholax包"
|
||||
rpm -q texlive-scholax > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-scholax已安装,脚本结束时保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-scholax未安装,将在测试后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-scholax包
|
||||
LOG_INFO "检查yum源中是否有texlive-scholax包"
|
||||
dnf list available texlive-scholax > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中不存在texlive-scholax包"
|
||||
|
||||
# 安装texlive-scholax包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装texlive-scholax包"
|
||||
dnf install -y texlive-scholax > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装texlive-scholax包失败"
|
||||
fi
|
||||
|
||||
# 测试命令参数是否存在或不支持
|
||||
LOG_INFO "测试命令参数是否存在或不支持"
|
||||
tex --version > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "tex命令参数不支持或不存在"
|
||||
|
||||
# 执行其他测试步骤(示例)
|
||||
LOG_INFO "执行其他测试步骤"
|
||||
|
||||
# 清理环境:如果脚本开始时未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载texlive-scholax包"
|
||||
dnf remove -y texlive-scholax > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-scholax包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,70 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-15
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test if package is installed
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试包安装功能"
|
||||
LOG_INFO "检查当前环境是否已安装texlive-xnewcommand包"
|
||||
|
||||
# 检查包是否已安装
|
||||
if dnf list installed texlive-xnewcommand &>/dev/null; then
|
||||
LOG_INFO "texlive-xnewcommand包已安装,记录当前状态"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "texlive-xnewcommand包未安装"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
LOG_INFO "检查yum源中是否存在texlive-xnewcommand包"
|
||||
if ! dnf list available texlive-xnewcommand &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-xnewcommand包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则执行安装
|
||||
if [ "$installed" = "false" ]; then
|
||||
LOG_INFO "开始安装texlive-xnewcommand包"
|
||||
dnf install -y texlive-xnewcommand
|
||||
CHECK_RESULT $? 0 0 "安装texlive-xnewcommand包失败"
|
||||
LOG_INFO "texlive-xnewcommand包安装成功"
|
||||
fi
|
||||
|
||||
# 验证包是否安装成功
|
||||
LOG_INFO "验证texlive-xnewcommand包是否安装成功"
|
||||
dnf list installed texlive-xnewcommand &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "验证texlive-xnewcommand包安装失败"
|
||||
|
||||
LOG_INFO "测试通过,texlive-xnewcommand包安装功能正常"
|
||||
|
||||
# 环境恢复
|
||||
LOG_INFO "开始环境恢复"
|
||||
if [ "$installed" = "false" ]; then
|
||||
LOG_INFO "卸载测试安装的texlive-xnewcommand包"
|
||||
dnf remove -y texlive-xnewcommand
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-xnewcommand包失败"
|
||||
LOG_INFO "环境恢复完成,texlive-xnewcommand包已卸载"
|
||||
else
|
||||
LOG_INFO "保持原有texlive-xnewcommand包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,98 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-15
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test documentation access
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 设置环境变量
|
||||
LOG_INFO() {
|
||||
echo "[INFO] $1"
|
||||
}
|
||||
LOG_ERROR() {
|
||||
echo "[ERROR] $1" >&2
|
||||
}
|
||||
CHECK_RESULT() {
|
||||
if [ $1 -ne $2 ]; then
|
||||
LOG_ERROR "$4"
|
||||
exit $3
|
||||
fi
|
||||
}
|
||||
SSH_CMD() {
|
||||
sshpass -p "$3" ssh -o StrictHostKeyChecking=no "$4@$2" "$1"
|
||||
}
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="texlive-xnewcommand"
|
||||
|
||||
# 步骤1:检查环境是否已安装
|
||||
LOG_INFO "步骤1:检查环境是否已安装"
|
||||
if rpm -q "$PACKAGE_NAME" &>/dev/null; then
|
||||
LOG_INFO "软件包已安装,脚本结束后保持安装状态"
|
||||
ALREADY_INSTALLED=true
|
||||
else
|
||||
LOG_INFO "软件包未安装,将在测试后卸载"
|
||||
ALREADY_INSTALLED=false
|
||||
fi
|
||||
|
||||
# 步骤2:检查yum源中是否有该软件包
|
||||
LOG_INFO "步骤2:检查yum源中是否有该软件包"
|
||||
if ! dnf list available "$PACKAGE_NAME" &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到软件包 $PACKAGE_NAME"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤3:安装软件包(如果未安装)
|
||||
if [ "$ALREADY_INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤3:安装软件包"
|
||||
dnf install -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 255 "安装软件包失败"
|
||||
fi
|
||||
|
||||
# 步骤4:测试文档访问功能
|
||||
LOG_INFO "步骤4:测试文档访问功能"
|
||||
# 假设texlive-xnewcommand提供了某个命令或文档,这里以texdoc为例
|
||||
if command -v texdoc &>/dev/null; then
|
||||
# 检查texdoc命令是否支持--help参数
|
||||
if texdoc --help &>/dev/null; then
|
||||
LOG_INFO "texdoc命令支持--help参数"
|
||||
# 执行texdoc --help并检查是否成功
|
||||
texdoc --help
|
||||
CHECK_RESULT $? 0 1 "texdoc --help执行失败"
|
||||
else
|
||||
LOG_ERROR "texdoc命令不支持--help参数"
|
||||
exit 255
|
||||
fi
|
||||
else
|
||||
LOG_ERROR "未找到texdoc命令"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤5:清理环境(如果之前未安装)
|
||||
if [ "$ALREADY_INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤5:清理环境,卸载软件包"
|
||||
dnf remove -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 1 "卸载软件包失败"
|
||||
else
|
||||
LOG_INFO "步骤5:保持软件包安装状态,无需清理"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,130 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-15
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package installation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
check_package_in_repo() {
|
||||
local pkg_name="$1"
|
||||
LOG_INFO "检查yum源中是否存在软件包: $pkg_name"
|
||||
if ! dnf list available "$pkg_name" &>/dev/null; then
|
||||
LOG_ERROR "软件包 $pkg_name 不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "软件包 $pkg_name 在yum源中存在"
|
||||
}
|
||||
|
||||
# 检查命令参数
|
||||
check_command_param() {
|
||||
local cmd="$1"
|
||||
local param="$2"
|
||||
LOG_INFO "检查命令 $cmd 是否支持参数 $param"
|
||||
if ! $cmd --help 2>/dev/null | grep -q -- "$param"; then
|
||||
LOG_ERROR "命令 $cmd 不支持参数 $param"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "命令 $cmd 支持参数 $param"
|
||||
}
|
||||
|
||||
# 检查软件包是否已安装
|
||||
check_package_installed() {
|
||||
local pkg_name="$1"
|
||||
LOG_INFO "检查软件包 $pkg_name 是否已安装"
|
||||
if rpm -q "$pkg_name" &>/dev/null; then
|
||||
LOG_INFO "软件包 $pkg_name 已安装"
|
||||
return 0
|
||||
else
|
||||
LOG_INFO "软件包 $pkg_name 未安装"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# 主测试函数
|
||||
test_package_installation() {
|
||||
local pkg_name="texlive-xnewcommand"
|
||||
local already_installed=false
|
||||
|
||||
# 步骤1: 检查软件包是否在yum源中
|
||||
LOG_INFO "步骤1: 检查软件包是否在yum源中"
|
||||
check_package_in_repo "$pkg_name"
|
||||
|
||||
# 步骤2: 检查dnf命令参数
|
||||
LOG_INFO "步骤2: 检查dnf命令参数"
|
||||
check_command_param "dnf" "install"
|
||||
check_command_param "dnf" "remove"
|
||||
|
||||
# 步骤3: 检查软件包是否已安装
|
||||
LOG_INFO "步骤3: 检查软件包是否已安装"
|
||||
if check_package_installed "$pkg_name"; then
|
||||
already_installed=true
|
||||
fi
|
||||
|
||||
# 步骤4: 执行测试
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "步骤4: 安装软件包"
|
||||
dnf install -y "$pkg_name"
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
|
||||
LOG_INFO "步骤5: 验证软件包安装"
|
||||
rpm -q "$pkg_name"
|
||||
CHECK_RESULT $? 0 0 "验证软件包安装失败"
|
||||
else
|
||||
LOG_INFO "步骤4: 软件包已安装,跳过安装步骤"
|
||||
fi
|
||||
|
||||
# 步骤6: 执行软件包功能测试
|
||||
LOG_INFO "步骤6: 执行软件包功能测试"
|
||||
# 这里添加具体的功能测试命令
|
||||
# 示例: 检查tex命令是否存在
|
||||
if command -v tex &>/dev/null; then
|
||||
LOG_INFO "tex命令存在"
|
||||
else
|
||||
LOG_ERROR "tex命令不存在"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 步骤7: 环境恢复
|
||||
LOG_INFO "步骤7: 环境恢复"
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "卸载测试安装的软件包"
|
||||
dnf remove -y "$pkg_name"
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
|
||||
# 验证软件包已卸载
|
||||
if check_package_installed "$pkg_name"; then
|
||||
LOG_ERROR "软件包卸载失败"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "软件包已成功卸载"
|
||||
fi
|
||||
else
|
||||
LOG_INFO "保持原有安装状态,无需卸载"
|
||||
fi
|
||||
}
|
||||
|
||||
# 执行测试
|
||||
LOG_INFO "开始测试: Test package installation"
|
||||
test_package_installation
|
||||
LOG_INFO "测试完成: Test package installation"
|
||||
}
|
||||
|
||||
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-15
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic newcommand usage
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试基本newcommand用法
|
||||
|
||||
LOG_INFO "检查是否已安装texlive-xnewcommand"
|
||||
if rpm -q texlive-xnewcommand &>/dev/null; then
|
||||
LOG_INFO "texlive-xnewcommand已安装,标记为需要保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "texlive-xnewcommand未安装"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
LOG_INFO "检查yum源中是否有texlive-xnewcommand软件包"
|
||||
if ! dnf list available texlive-xnewcommand &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-xnewcommand软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED_BEFORE" = "false" ]; then
|
||||
LOG_INFO "安装texlive-xnewcommand软件包"
|
||||
dnf install -y texlive-xnewcommand
|
||||
CHECK_RESULT $? 0 0 "安装texlive-xnewcommand失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试newcommand基本用法"
|
||||
cat > test_newcommand.tex << "EOF"
|
||||
\documentclass{article}
|
||||
\newcommand{\mycommand}[1]{\textbf{#1}}
|
||||
\begin{document}
|
||||
\mycommand{Hello World}
|
||||
\end{document}
|
||||
EOF
|
||||
|
||||
CHECK_RESULT $? 0 0 "创建测试文件失败"
|
||||
|
||||
LOG_INFO "编译测试文档"
|
||||
pdflatex test_newcommand.tex
|
||||
CHECK_RESULT $? 0 0 "编译文档失败"
|
||||
|
||||
LOG_INFO "检查生成的PDF文件"
|
||||
if [ -f test_newcommand.pdf ]; then
|
||||
LOG_INFO "PDF文件生成成功"
|
||||
CHECK_RESULT 0 0 0 "PDF文件生成检查"
|
||||
else
|
||||
LOG_ERROR "PDF文件未生成"
|
||||
CHECK_RESULT 1 0 1 "PDF文件未生成"
|
||||
fi
|
||||
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f test_newcommand.tex test_newcommand.pdf test_newcommand.aux test_newcommand.log test_newcommand.out
|
||||
|
||||
if [ "$INSTALLED_BEFORE" = "false" ]; then
|
||||
LOG_INFO "卸载texlive-xnewcommand软件包"
|
||||
dnf remove -y texlive-xnewcommand
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-xnewcommand失败"
|
||||
else
|
||||
LOG_INFO "保持texlive-xnewcommand安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
Reference in New Issue
Block a user