This commit is contained in:
2026-04-19 09:47:36 +08:00
125 changed files with 0 additions and 8912 deletions

View File

@@ -6,10 +6,6 @@
"name": "test_boom-boot-conf_service_log",
"desc": "测试查看boom-boot-conf服务日志",
"machine num": 1
},
{
"name": "test_boom-boot-conf_function_config",
"desc": "测试boom-boot-conf配置文件解析功能"
}
]
}

View File

@@ -2,14 +2,6 @@
"path": "$OET_PATH/testcases/function_test/pkg_test/cxf-build-utils/cxf-build-utils-javadoc",
"machine num": 1,
"cases": [
{
"name": "test_cxf-build-utils-javadoc_function_docgen",
"desc": "Test the Javadoc generation functionality of the package."
},
{
"name": "test_cxf-build-utils-javadoc_function_config",
"desc": "Test the configuration loading functionality."
},
{
"name": "test_cxf-build-utils-javadoc_function_install",
"desc": "Test the installation of the cxf-build-utils-javadoc package."
@@ -17,14 +9,6 @@
{
"name": "test_cxf-build-utils-javadoc_function_uninstall",
"desc": "Test the uninstallation of the cxf-build-utils-javadoc package."
},
{
"name": "test_cxf-build-utils-javadoc_function_basic_usage",
"desc": "Test the basic command line usage of the package."
},
{
"name": "test_cxf-build-utils-javadoc_function_check_version",
"desc": "Test the command to check the installed package version."
}
]
}

View File

@@ -9,26 +9,6 @@
{
"name": "test_erlang-jinterface_function_check_version",
"desc": "测试安装后能正确查询 erlang-jinterface 的版本信息"
},
{
"name": "test_erlang-jinterface_function_java_jar_exists",
"desc": "测试核心 Java JAR 文件 (如 jinterface.jar) 是否存在于标准路径中"
},
{
"name": "test_erlang-jinterface_function_java_import",
"desc": "测试 Java 项目能否成功导入并编译使用 OtpNode 或 OtpMbox 等核心类"
},
{
"name": "test_erlang-jinterface_function_basic_connection",
"desc": "测试 Java 客户端能否与 Erlang 节点建立基本的 TCP 连接"
},
{
"name": "test_erlang-jinterface_function_message_exchange",
"desc": "测试 Java 客户端与 Erlang 节点之间能够发送和接收简单的 Erlang 消息"
},
{
"name": "test_erlang-jinterface_function_uninstall",
"desc": "测试 erlang-jinterface 软件包能否通过包管理器干净地卸载"
}
]
}

View File

@@ -1,18 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/glassfish-hk2/glassfish-hk2-locator",
"machine num": 1,
"cases": [
{
"name": "test_glassfish-hk2-locator_function_install",
"desc": "Test package installation"
},
{
"name": "test_glassfish-hk2-locator_function_integration",
"desc": "Test integration features"
},
{
"name": "test_glassfish-hk2-locator_function_dependency",
"desc": "Test dependency resolution"
}
]
}

View File

@@ -1,14 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/glusterfs/glusterfs-cloudsync-plugins",
"machine num": 1,
"cases": [
{
"name": "test_glusterfs-cloudsync-plugins_function_install",
"desc": "Test the installation of glusterfs-cloudsync-plugins package"
},
{
"name": "test_glusterfs-cloudsync-plugins_function_config",
"desc": "Test the configuration of glusterfs-cloudsync-plugins"
}
]
}

View File

@@ -34,26 +34,6 @@
"name": "test_libgfapi0_function_basic_remove",
"desc": "测试libgfapi0软件包的基本卸载功能"
},
{
"name": "test_libgfapi0_function_verify_install",
"desc": "验证libgfapi0软件包是否成功安装"
},
{
"name": "test_libgfapi0_function_check_files",
"desc": "检查libgfapi0安装后的关键文件"
},
{
"name": "test_libgfapi0_function_library_load",
"desc": "测试libgfapi共享库能否被正常加载"
},
{
"name": "test_libgfapi0_function_symlink_check",
"desc": "检查libgfapi库的符号链接是否正确"
},
{
"name": "test_libgfapi0_function_dev_pkg",
"desc": "检查libgfapi开发包如头文件的安装"
},
{
"name": "test_libgfapi0_function_conflict_check",
"desc": "检查安装/卸载过程中是否存在包冲突"

View File

@@ -2,11 +2,6 @@
"path": "$OET_PATH/testcases/function_test/pkg_test/gmetric4j/gmetric4j-javadoc",
"machine num": 1,
"cases": [
{
"name": "test_gmetric4j-javadoc_install",
"desc": "测试gmetric4j-javadoc软件包的安装功能验证安装过程是否正常完成",
"machine num": 1
},
{
"name": "test_gmetric4j-javadoc_uninstall",
"desc": "测试gmetric4j-javadoc软件包的卸载功能验证卸载过程是否正常完成",
@@ -17,184 +12,10 @@
"desc": "测试gmetric4j-javadoc软件包的升级功能验证升级过程是否正常完成",
"machine num": 1
},
{
"name": "test_gmetric4j-javadoc_downgrade",
"desc": "测试gmetric4j-javadoc软件包的降级功能验证降级过程是否正常完成",
"machine num": 1
},
{
"name": "test_gmetric4j-javadoc_rollback",
"desc": "测试gmetric4j-javadoc软件包的回滚功能验证回滚过程是否正常完成",
"machine num": 1
},
{
"name": "test_gmetric4j-javadoc_rollback_upgrade",
"desc": "测试gmetric4j-javadoc软件包的升级回滚功能验证升级回滚过程是否正常完成",
"machine num": 1
},
{
"name": "test_gmetric4j-javadoc_service_start",
"desc": "测试gmetric4j-javadoc软件包服务的启动功能验证服务是否能正常启动",
"machine num": 1
},
{
"name": "test_gmetric4j-javadoc_service_stop",
"desc": "测试gmetric4j-javadoc软件包服务的停止功能验证服务是否能正常停止",
"machine num": 1
},
{
"name": "test_gmetric4j-javadoc_service_restart",
"desc": "测试gmetric4j-javadoc软件包服务的重启功能验证服务是否能正常重启",
"machine num": 1
},
{
"name": "test_gmetric4j-javadoc_service_status",
"desc": "测试gmetric4j-javadoc软件包服务的状态查询功能验证服务状态是否能正常查询",
"machine num": 1
},
{
"name": "test_gmetric4j-javadoc_service_config",
"desc": "测试gmetric4j-javadoc软件包服务的配置功能验证服务配置是否能正常修改并生效",
"machine num": 1
},
{
"name": "test_gmetric4j-javadoc_service_log",
"desc": "测试gmetric4j-javadoc软件包服务的日志查看功能验证服务日志是否能正常查看",
"machine num": 1
},
{
"name": "test_gmetric4j-javadoc_service_reload",
"desc": "测试gmetric4j-javadoc软件包服务的重载功能验证服务配置重载是否能正常生效",
"machine num": 1
},
{
"name": "test_gmetric4j-javadoc_downgrade_rollback",
"desc": "测试gmetric4j-javadoc软件包的降级回滚功能验证降级回滚过程是否正常完成",
"machine num": 1
},
{
"name": "test_gmetric4j-javadoc_service_enable",
"desc": "测试gmetric4j-javadoc软件包服务的开机自启功能验证服务是否能正常设置为开机自启",
"machine num": 1
},
{
"name": "test_gmetric4j-javadoc_service_disable",
"desc": "测试gmetric4j-javadoc软件包服务的开机自启禁用功能验证服务是否能正常禁用开机自启",
"machine num": 1
},
{
"name": "test_gmetric4j-javadoc_service_log_level",
"desc": "测试gmetric4j-javadoc软件包服务的日志级别设置功能验证日志级别是否能正常修改并生效",
"machine num": 1
},
{
"name": "test_gmetric4j-javadoc_service_log_rotate",
"desc": "测试gmetric4j-javadoc软件包服务的日志轮转功能验证日志轮转是否能正常执行并生效",
"machine num": 1
},
{
"name": "test_gmetric4j-javadoc_service_metrics",
"desc": "测试gmetric4j-javadoc软件包服务的指标查询功能验证服务指标是否能正常查询",
"machine num": 1
},
{
"name": "test_gmetric4j-javadoc_service_metrics_query",
"desc": "测试gmetric4j-javadoc软件包服务的指标查询功能验证服务指标是否能正常查询并返回预期结果",
"machine num": 1
},
{
"name": "test_gmetric4j-javadoc_service_metrics_history",
"desc": "测试gmetric4j-javadoc软件包服务的历史指标查询功能验证服务历史指标是否能正常查询",
"machine num": 1
},
{
"name": "test_gmetric4j-javadoc_service_metrics_export",
"desc": "测试gmetric4j-javadoc软件包服务的指标导出功能验证服务指标是否能正常导出",
"machine num": 1
},
{
"name": "test_gmetric4j-javadoc_service_metrics_clear",
"desc": "测试gmetric4j-javadoc软件包服务的指标清除功能验证服务指标是否能正常清除",
"machine num": 1
},
{
"name": "test_gmetric4j-javadoc_service_metrics_filter",
"desc": "测试gmetric4j-javadoc软件包服务的指标过滤功能验证服务指标是否能正常按条件过滤",
"machine num": 1
},
{
"name": "test_gmetric4j-javadoc_service_metrics_aggregate",
"desc": "测试gmetric4j-javadoc软件包服务的指标聚合功能验证服务指标是否能正常聚合并返回预期结果",
"machine num": 1
},
{
"name": "test_gmetric4j-javadoc_service_metrics_threshold",
"desc": "测试gmetric4j-javadoc软件包服务的指标阈值设置功能验证服务指标阈值是否能正常设置并生效",
"machine num": 1
},
{
"name": "test_gmetric4j-javadoc_service_metrics_alert",
"desc": "测试gmetric4j-javadoc软件包服务的指标告警功能验证服务指标告警是否能正常设置并生效",
"machine num": 1
},
{
"name": "test_gmetric4j-javadoc_service_metrics_summary",
"desc": "测试gmetric4j-javadoc软件包服务的指标汇总功能验证服务指标是否能正常汇总并返回预期结果",
"machine num": 1
},
{
"name": "test_gmetric4j-javadoc_service_metrics_export_path",
"desc": "测试gmetric4j-javadoc软件包服务的指标导出路径功能验证服务指标是否能按指定路径正常导出",
"machine num": 1
},
{
"name": "test_gmetric4j-javadoc_service_metrics_export_size",
"desc": "测试gmetric4j-javadoc软件包服务的指标导出大小功能验证服务指标是否能按指定大小正常导出",
"machine num": 1
},
{
"name": "test_gmetric4j-javadoc_service_metrics_export_time",
"desc": "测试gmetric4j-javadoc软件包服务的指标导出时间功能验证服务指标是否能按指定时间正常导出",
"machine num": 1
},
{
"name": "test_gmetric4j-javadoc_service_metrics_export_csv",
"desc": "测试gmetric4j-javadoc软件包服务的指标导出为csv格式功能验证服务指标是否能按csv格式正常导出",
"machine num": 1
},
{
"name": "test_gmetric4j-javadoc_service_metrics_export_xml",
"desc": "测试gmetric4j-javadoc软件包服务的指标导出为xml格式功能验证服务指标是否能按xml格式正常导出",
"machine num": 1
},
{
"name": "test_gmetric4j-javadoc_service_metrics_export_yaml",
"desc": "测试gmetric4j-javadoc软件包服务的指标导出为yaml格式功能验证服务指标是否能按yaml格式正常导出",
"machine num": 1
},
{
"name": "test_gmetric4j-javadoc_service_metrics_export_pdf",
"desc": "测试gmetric4j-javadoc软件包服务的指标导出为pdf格式功能验证服务指标是否能按pdf格式正常导出",
"machine num": 1
},
{
"name": "test_gmetric4j-javadoc_service_metrics_export_html",
"desc": "测试gmetric4j-javadoc软件包服务的指标导出为html格式功能验证服务指标是否能按html格式正常导出",
"machine num": 1
},
{
"name": "test_gmetric4j-javadoc_service_metrics_export_txt",
"desc": "测试gmetric4j-javadoc软件包服务的指标导出为txt格式功能验证服务指标是否能按txt格式正常导出",
"machine num": 1
},
{
"name": "test_gmetric4j-javadoc_service_metrics_export_sql",
"desc": "测试gmetric4j-javadoc软件包服务的指标导出为sql格式功能验证服务指标是否能按sql格式正常导出",
"machine num": 1
},
{
"name": "test_gmetric4j-javadoc_function_docgen",
"desc": "测试gmetric4j-javadoc软件包的文档生成功能验证文档是否能正常生成"
}
]
}

View File

@@ -2,25 +2,9 @@
"path": "$OET_PATH/testcases/function_test/pkg_test/hunspell-en/hunspell-en-help",
"machine num": 1,
"cases": [
{
"name": "test_hunspell-en-help_function_install",
"desc": "测试hunspell-en-help软件包能否正常安装"
},
{
"name": "test_hunspell-en-help_function_remove",
"desc": "测试hunspell-en-help软件包能否正常卸载"
},
{
"name": "test_hunspell-en-help_function_check_installed",
"desc": "测试hunspell-en-help软件包是否正确安装并可被系统识别"
},
{
"name": "test_hunspell-en-help_function_help_file_exists",
"desc": "测试hunspell-en-help软件包的主要帮助文档文件是否存在"
},
{
"name": "test_hunspell-en-help_function_help_content",
"desc": "测试hunspell-en-help软件包的帮助文档内容是否包含hunspell相关关键字"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/python-cfgv/python-cfgv-help",
"machine num": 1,
"cases": [
{
"name": "test_python-cfgv-help_function_load",
"desc": "Test loading configuration"
}
]
}

View File

@@ -6,23 +6,6 @@
"name": "test_python3-httpcore_uninstall",
"desc": "测试python3-httpcore软件包的卸载功能验证卸载是否成功。",
"machine num": 1
},
{
"name": "test_python3-httpcore_rollback",
"desc": "测试python3-httpcore软件包的回滚功能验证回滚是否成功。",
"machine num": 1
},
{
"name": "test_python3-httpcore_function_install",
"desc": "测试python3-httpcore软件包的安装功能验证安装是否成功。"
},
{
"name": "test_python3-httpcore_function_request",
"desc": "测试python3-httpcore软件包的HTTP请求功能验证请求是否成功。"
},
{
"name": "test_python3-httpcore_function_ssl",
"desc": "测试python3-httpcore软件包的SSL功能验证SSL连接是否成功。"
}
]
}

View File

@@ -1,26 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/rubygem-msgpack/rubygem-msgpack-help",
"machine num": 1,
"cases": [
{
"name": "test_rubygem-msgpack-help_function_pack",
"desc": "Test packing functionality"
},
{
"name": "test_rubygem-msgpack-help_function_install",
"desc": "Test gem installation"
},
{
"name": "test_rubygem-msgpack-help_function_unpack",
"desc": "Test unpacking data"
},
{
"name": "test_rubygem-msgpack-help_function_version",
"desc": "Test version checking"
},
{
"name": "test_rubygem-msgpack-help_function_require",
"desc": "Test library loading"
}
]
}

View File

@@ -6,30 +6,6 @@
"name": "test_scsi-target-utils-gluster_install",
"desc": "测试scsi-target-utils-gluster软件包的安装功能验证安装过程是否正常完成",
"machine num": 1
},
{
"name": "test_scsi-target-utils-gluster_function_install",
"desc": "测试scsi-target-utils-gluster软件包的正确安装验证软件包及其依赖项能被成功安装到系统中。"
},
{
"name": "test_scsi-target-utils-gluster_function_uninstall",
"desc": "测试scsi-target-utils-gluster软件包的完全卸载验证软件包能被干净地移除不留残余文件或配置。"
},
{
"name": "test_scsi-target-utils-gluster_function_service_start",
"desc": "测试tgtd服务由scsi-target-utils提供的启动功能验证服务能够正常启动并进入运行状态。"
},
{
"name": "test_scsi-target-utils-gluster_function_service_enable",
"desc": "测试tgtd服务由scsi-target-utils提供的开机自启功能验证服务能正确设置为开机自动启动。"
},
{
"name": "test_scsi-target-utils-gluster_function_config_basic",
"desc": "测试使用tgtadm命令进行基本的SCSI Target配置如创建target、添加LUN、设置访问控制等验证核心管理功能正常。"
},
{
"name": "test_scsi-target-utils-gluster_function_gluster_backend",
"desc": "测试使用tgtadm配置GlusterFS卷作为SCSI Target的后端存储验证与GlusterFS的集成功能正常。"
}
]
}

View File

@@ -13,14 +13,6 @@
{
"name": "test_texlive-abraces-doc_function_version",
"desc": "Test package version check"
},
{
"name": "test_texlive-abraces-doc_function_doc_exist",
"desc": "Test documentation files existence"
},
{
"name": "test_texlive-abraces-doc_function_usage_info",
"desc": "Test documentation content sanity"
}
]
}

View File

@@ -9,18 +9,6 @@
{
"name": "test_texlive-components-of-TeX-doc_installed",
"desc": "测试软件包是否已正确安装在系统中"
},
{
"name": "test_texlive-components-of-TeX-doc_remove",
"desc": "测试软件包能够通过包管理器成功卸载"
},
{
"name": "test_texlive-components-of-TeX-doc_doc_files",
"desc": "验证安装后文档文件存在于指定路径下"
},
{
"name": "test_texlive-components-of-TeX-doc_info_content",
"desc": "检查软件包信息(如描述、版本)是否正确且可查询"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-f/texlive-datatool",
"machine num": 1,
"cases": [
{
"name": "test_texlive-datatool_function_install",
"desc": "Test package installation"
}
]
}

View File

@@ -11,72 +11,6 @@
"name": "test_texlive-dhua-doc_uninstall",
"desc": "测试 texlive-dhua-doc 包的卸载功能,验证软件包能否正确从系统中卸载。",
"machine num": 1
},
{
"name": "test_texlive-dhua-doc_upgrade",
"desc": "测试 texlive-dhua-doc 包的升级功能,验证软件包能否正确升级到新版本。",
"machine num": 1
},
{
"name": "test_texlive-dhua-doc_downgrade",
"desc": "测试 texlive-dhua-doc 包的降级功能,验证软件包能否正确降级到旧版本。",
"machine num": 1
},
{
"name": "test_texlive-dhua-doc_rollback",
"desc": "测试 texlive-dhua-doc 包的回滚功能,验证软件包能否正确回滚到之前的版本。",
"machine num": 1
},
{
"name": "test_texlive-dhua-doc_service_start",
"desc": "测试 texlive-dhua-doc 包中服务的启动功能,验证服务能否正常启动。",
"machine num": 1
},
{
"name": "test_texlive-dhua-doc_service_stop",
"desc": "测试 texlive-dhua-doc 包中服务的停止功能,验证服务能否正常停止。",
"machine num": 1
},
{
"name": "test_texlive-dhua-doc_service_restart",
"desc": "测试 texlive-dhua-doc 包中服务的重启功能,验证服务能否正常重启。",
"machine num": 1
},
{
"name": "test_texlive-dhua-doc_service_status",
"desc": "测试 texlive-dhua-doc 包中服务的状态查询功能,验证服务状态能否正确查询。",
"machine num": 1
},
{
"name": "test_texlive-dhua-doc_service_config",
"desc": "测试 texlive-dhua-doc 包中服务的配置功能,验证服务配置能否正确修改并生效。",
"machine num": 1
},
{
"name": "test_texlive-dhua-doc_service_log",
"desc": "测试 texlive-dhua-doc 包中服务的日志查看功能,验证服务日志能否正确查看。",
"machine num": 1
},
{
"name": "test_texlive-dhua-doc_dependency_check",
"desc": "测试 texlive-dhua-doc 包的依赖关系,验证软件包安装时是否满足所有依赖条件。",
"machine num": 1
},
{
"name": "test_texlive-dhua-doc_function_render",
"desc": "测试 texlive-dhua-doc 包的文档渲染功能,验证文档能否正确渲染。"
},
{
"name": "test_texlive-dhua-doc_function_search",
"desc": "测试 texlive-dhua-doc 包的文档搜索功能,验证能否正确搜索文档内容。"
},
{
"name": "test_texlive-dhua-doc_function_export",
"desc": "测试 texlive-dhua-doc 包的文档导出功能,验证能否正确导出文档为指定格式。"
},
{
"name": "test_texlive-dhua-doc_function_libcheck",
"desc": "测试 texlive-dhua-doc 包的基础依赖库功能,验证依赖库是否满足要求。"
}
]
}

View File

@@ -22,39 +22,10 @@
"desc": "测试texlive-numberedblock软件包的降级功能",
"machine num": 1
},
{
"name": "test_texlive-numberedblock_rollback",
"desc": "测试texlive-numberedblock软件包的回滚功能",
"machine num": 1
},
{
"name": "test_texlive-numberedblock_reinstall",
"desc": "测试texlive-numberedblock软件包的重新安装功能",
"machine num": 1
},
{
"name": "test_texlive-numberedblock_function_render",
"desc": "测试texlive-numberedblock软件包的渲染功能"
},
{
"name": "test_texlive-numberedblock_function_install_check",
"desc": "测试检查texlive-numberedblock软件包是否已安装"
},
{
"name": "test_texlive-numberedblock_function_basic_usage",
"desc": "测试texlive-numberedblock的基本用法生成带编号的区块"
},
{
"name": "test_texlive-numberedblock_function_custom_label",
"desc": "测试texlive-numberedblock自定义区块标签的功能"
},
{
"name": "test_texlive-numberedblock_function_nested_blocks",
"desc": "测试texlive-numberedblock嵌套编号区块的功能"
},
{
"name": "test_texlive-numberedblock_function_pdf_output",
"desc": "测试使用texlive-numberedblock生成包含编号区块的PDF文档"
}
]
}

View File

@@ -1,22 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-v/texlive-swebib-doc",
"machine num": 1,
"cases": [
{
"name": "test_texlive-swebib-doc_function_install",
"desc": "测试软件包texlive-swebib-doc能否被正确安装"
},
{
"name": "test_texlive-swebib-doc_function_uninstall",
"desc": "测试软件包texlive-swebib-doc能否被正确卸载"
},
{
"name": "test_texlive-swebib-doc_function_check_installed",
"desc": "测试检查texlive-swebib-doc软件包是否已正确安装"
},
{
"name": "test_texlive-swebib-doc_function_doc_files",
"desc": "测试texlive-swebib-doc软件包是否提供了预期的文档文件"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-y/texlive-mleftright",
"machine num": 1,
"cases": [
{
"name": "test_texlive-mleftright_function_basic",
"desc": "Test basic functionality of texlive-mleftright"
}
]
}

View File

@@ -7,11 +7,6 @@
"desc": "测试 trousers-devel 软件包的安装功能",
"machine num": 1
},
{
"name": "test_trousers-devel_uninstall",
"desc": "测试 trousers-devel 软件包的卸载功能",
"machine num": 1
},
{
"name": "test_trousers-devel_upgrade",
"desc": "测试 trousers-devel 软件包的升级功能",

View File

@@ -1,74 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-11
# @License : Mulan PSL v2
# @Desc : 测试boom-boot-conf配置文件解析功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查boom-boot-conf是否已安装
LOG_INFO "检查boom-boot-conf是否已安装"
if rpm -q boom-boot-conf >/dev/null 2>&1; then
LOG_INFO "boom-boot-conf已安装脚本结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "boom-boot-conf未安装将在测试步骤中安装并在脚本结束前卸载"
INSTALLED=false
fi
# 检查yum源中是否存在boom-boot-conf包
LOG_INFO "检查yum源中是否存在boom-boot-conf包"
if ! dnf list available boom-boot-conf >/dev/null 2>&1; then
LOG_ERROR "yum源中不存在boom-boot-conf包退出"
exit 255
fi
# 如果未安装则安装boom-boot-conf
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装boom-boot-conf"
dnf install -y boom-boot-conf
CHECK_RESULT $? 0 0 "安装boom-boot-conf失败"
fi
# 测试配置文件解析功能
LOG_INFO "测试boom-boot-conf配置文件解析功能"
# 检查命令参数是否支持
LOG_INFO "检查boom-boot-conf命令参数是否支持"
if ! boom-boot-conf --help | grep -q "config"; then
LOG_ERROR "boom-boot-conf不支持config参数退出"
exit 255
fi
# 执行配置文件解析命令并检查结果
LOG_INFO "执行配置文件解析命令"
boom-boot-conf config /etc/boom-boot-conf/default.conf
CHECK_RESULT $? 0 0 "配置文件解析失败"
# 如果需要清理环境(即脚本开始时未安装)
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载boom-boot-conf"
dnf remove -y boom-boot-conf
CHECK_RESULT $? 0 0 "卸载boom-boot-conf失败"
fi
LOG_INFO "测试完成,环境已恢复至初始状态"
}
main "$@"

View File

@@ -1,113 +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-22
# @License : Mulan PSL v2
# @Desc : Test the basic command line usage of the package.
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试cxf-build-utils-javadoc软件包基本命令使用
LOG_INFO "开始测试cxf-build-utils-javadoc软件包基本命令使用"
# 定义软件包名称
PACKAGE_NAME="cxf-build-utils-javadoc"
LOG_INFO "测试软件包: ${PACKAGE_NAME}"
# 检查软件包是否已在yum源中
LOG_INFO "检查软件包是否在yum源中"
dnf list available ${PACKAGE_NAME} 2>/dev/null | grep -q ${PACKAGE_NAME}
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 ${PACKAGE_NAME} 不在yum源中"
exit 255
fi
LOG_INFO "软件包 ${PACKAGE_NAME} 在yum源中可用"
# 检查软件包是否已安装
LOG_INFO "检查软件包是否已安装"
rpm -q ${PACKAGE_NAME} >/dev/null 2>&1
PACKAGE_INSTALLED=$?
# 记录初始安装状态
if [ ${PACKAGE_INSTALLED} -eq 0 ]; then
LOG_INFO "软件包已安装,测试后保持安装状态"
NEED_CLEANUP=0
else
LOG_INFO "软件包未安装,将在测试后清理"
NEED_CLEANUP=1
fi
# 如果未安装,则安装软件包
if [ ${PACKAGE_INSTALLED} -ne 0 ]; then
LOG_INFO "安装软件包 ${PACKAGE_NAME}"
dnf install -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "安装软件包失败"
LOG_INFO "软件包安装成功"
fi
# 验证软件包已正确安装
LOG_INFO "验证软件包安装"
rpm -q ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "软件包未正确安装"
# 测试基本命令 - 检查javadoc命令是否存在
LOG_INFO "测试javadoc命令是否存在"
which javadoc >/dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "javadoc命令不存在"
if [ ${NEED_CLEANUP} -eq 1 ]; then
LOG_INFO "清理环境:卸载软件包"
dnf remove -y ${PACKAGE_NAME}
fi
exit 255
fi
LOG_INFO "javadoc命令存在"
# 测试javadoc基本用法 - 显示帮助信息
LOG_INFO "测试javadoc命令基本用法"
javadoc -help >/dev/null 2>&1
CHECK_RESULT $? 0 0 "javadoc命令无法显示帮助信息"
# 测试javadoc版本信息
LOG_INFO "测试javadoc版本信息"
javadoc -version >/dev/null 2>&1
CHECK_RESULT $? 0 0 "javadoc命令无法显示版本信息"
# 测试软件包提供的文档文件
LOG_INFO "检查软件包文档文件"
rpm -ql ${PACKAGE_NAME} | grep -q "\.html$\|\.txt$\|README"
CHECK_RESULT $? 0 0 "软件包未包含文档文件"
# 测试软件包信息查询
LOG_INFO "测试软件包信息查询"
rpm -qi ${PACKAGE_NAME} | grep -q "Name.*${PACKAGE_NAME}"
CHECK_RESULT $? 0 0 "无法查询软件包信息"
# 清理环境
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 "cxf-build-utils-javadoc软件包基本命令使用测试完成"
}
main "$@"

View File

@@ -1,69 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-06
# @License : Mulan PSL v2
# @Desc : Test the configuration loading functionality.
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试配置加载功能..."
# 检查是否已安装软件包
LOG_INFO "检查软件包是否已安装..."
dnf list installed cxf-build-utils-javadoc &> /dev/null
if [ $? -eq 0 ]; then
LOG_INFO "软件包已安装,测试结束后将保持安装状态。"
INSTALLED=true
else
LOG_INFO "软件包未安装,测试结束后将卸载软件包。"
INSTALLED=false
fi
# 检查yum源中是否存在软件包
LOG_INFO "检查yum源中是否存在软件包cxf-build-utils-javadoc..."
dnf list available cxf-build-utils-javadoc &> /dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到软件包cxf-build-utils-javadoc。"
exit 255
fi
# 安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "正在安装软件包cxf-build-utils-javadoc..."
dnf install -y cxf-build-utils-javadoc &> /dev/null
CHECK_RESULT $? 0 0 "安装软件包失败。"
fi
# 测试配置加载功能
LOG_INFO "测试配置加载功能..."
command_to_test="cxf-build-utils-javadoc --config"
$command_to_test &> /dev/null
CHECK_RESULT $? 0 0 "配置加载功能测试失败。"
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "正在卸载软件包cxf-build-utils-javadoc..."
dnf remove -y cxf-build-utils-javadoc &> /dev/null
CHECK_RESULT $? 0 0 "卸载软件包失败。"
fi
LOG_INFO "测试配置加载功能完成。"
}
main "$@"

View File

@@ -1,67 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-29
# @License : Mulan PSL v2
# @Desc : Test the Javadoc generation functionality of the package.
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Javadoc生成功能"
# 检查是否已安装软件包
LOG_INFO "检查是否已安装cxf-build-utils-javadoc"
dnf list installed cxf-build-utils-javadoc >/dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "cxf-build-utils-javadoc已安装测试完成后将保持安装状态"
INSTALLED=true
else
LOG_INFO "cxf-build-utils-javadoc未安装将在测试完成后卸载"
INSTALLED=false
fi
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否有cxf-build-utils-javadoc"
dnf list available cxf-build-utils-javadoc >/dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中未找到cxf-build-utils-javadoc软件包"
# 安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装cxf-build-utils-javadoc"
dnf install -y cxf-build-utils-javadoc
CHECK_RESULT $? 0 1 "安装cxf-build-utils-javadoc失败"
fi
# 测试Javadoc生成功能
LOG_INFO "测试Javadoc生成功能"
cxf-build-utils-javadoc --help >/dev/null 2>&1
CHECK_RESULT $? 0 255 "不支持或无效的参数"
LOG_INFO "执行Javadoc生成命令"
cxf-build-utils-javadoc --generate-docs
CHECK_RESULT $? 0 1 "Javadoc生成失败"
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载cxf-build-utils-javadoc"
dnf remove -y cxf-build-utils-javadoc
CHECK_RESULT $? 0 1 "卸载cxf-build-utils-javadoc失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -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-04-06
# @License : Mulan PSL v2
# @Desc : 测试 Java 客户端能否与 Erlang 节点建立基本的 TCP 连接
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 环境检查判断是否已安装erlang-jinterface软件包
LOG_INFO "检查是否已安装erlang-jinterface软件包"
rpm -q erlang-jinterface > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "检测到erlang-jinterface已安装脚本结束后将保持安装状态"
INSTALLED_FLAG=1
else
LOG_INFO "未安装erlang-jinterface将在测试过程中安装"
INSTALLED_FLAG=0
fi
# 检查yum源中是否存在erlang-jinterface软件包
LOG_INFO "检查yum源中是否存在erlang-jinterface软件包"
dnf list available erlang-jinterface > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中未找到erlang-jinterface软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在erlang-jinterface软件包退出测试"
exit 255
fi
# 如果未安装则安装erlang-jinterface软件包
if [ ${INSTALLED_FLAG} -eq 0 ]; then
LOG_INFO "安装erlang-jinterface软件包"
dnf install -y erlang-jinterface > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装erlang-jinterface软件包失败"
fi
# 启动Erlang节点模拟服务端
LOG_INFO "启动Erlang节点作为服务端"
erl -noshell -sname test_node@localhost -setcookie testcookie -eval "io:format(\"Erlang node started~n\"), receive stop -> ok end." &
ERL_PID=$!
sleep 3
# 检查Erlang节点是否成功启动
ps -p ${ERL_PID} > /dev/null 2>&1
CHECK_RESULT $? 0 0 "Erlang节点启动失败"
# 编译并运行Java客户端测试连接
LOG_INFO "编译Java客户端代码"
cat > TestConnection.java << "EOF"
import com.ericsson.otp.erlang.*;
public class TestConnection {
public static void main(String[] args) throws Exception {
OtpSelf self = new OtpSelf("javaclient", "testcookie");
OtpPeer peer = new OtpPeer("test_node@localhost");
OtpConnection conn = self.connect(peer);
System.out.println("Connected to Erlang node: " + conn.name());
conn.close();
System.out.println("Connection closed.");
}
}
EOF
javac -cp /usr/lib64/erlang/lib/jinterface-*/priv/OtpErlang.jar TestConnection.java
CHECK_RESULT $? 0 0 "Java客户端编译失败"
LOG_INFO "运行Java客户端测试TCP连接"
java -cp .:/usr/lib64/erlang/lib/jinterface-*/priv/OtpErlang.jar TestConnection > /tmp/java_output.txt 2>&1
CHECK_RESULT $? 0 0 "Java客户端连接Erlang节点失败"
# 检查连接是否成功建立
grep -q "Connected to Erlang node" /tmp/java_output.txt
CHECK_RESULT $? 0 0 "Java客户端未能成功建立TCP连接"
LOG_INFO "Java客户端与Erlang节点TCP连接测试成功"
# 停止Erlang节点
LOG_INFO "停止Erlang节点"
kill ${ERL_PID} > /dev/null 2>&1
wait ${ERL_PID} 2>/dev/null
# 清理临时文件
LOG_INFO "清理临时文件"
rm -f TestConnection.java TestConnection.class /tmp/java_output.txt
# 环境恢复如果测试前未安装erlang-jinterface则卸载
if [ ${INSTALLED_FLAG} -eq 0 ]; then
LOG_INFO "卸载erlang-jinterface软件包"
dnf remove -y erlang-jinterface > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载erlang-jinterface软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -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-04-06
# @License : Mulan PSL v2
# @Desc : 测试 Java 项目能否成功导入并编译使用 OtpNode 或 OtpMbox 等核心类
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Java项目能否成功导入并编译使用OtpNode或OtpMbox等核心类"
LOG_INFO "检查erlang-jinterface软件包是否在yum源中"
if ! dnf list available erlang-jinterface &>/dev/null; then
LOG_ERROR "yum源中未找到erlang-jinterface软件包"
exit 255
fi
LOG_INFO "检查当前环境是否已安装erlang-jinterface"
if rpm -q erlang-jinterface &>/dev/null; then
LOG_INFO "检测到erlang-jinterface已安装标记为已安装状态"
INSTALLED=true
else
LOG_INFO "检测到erlang-jinterface未安装标记为未安装状态"
INSTALLED=false
fi
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装erlang-jinterface软件包"
dnf install -y erlang-jinterface
CHECK_RESULT $? 0 0 "安装erlang-jinterface失败"
fi
LOG_INFO "创建测试Java文件TestErlangImport.java"
cat > TestErlangImport.java << "EOF"
import com.ericsson.otp.erlang.*;
public class TestErlangImport {
public static void main(String[] args) {
try {
// 测试导入OtpNode类
OtpNode node = new OtpNode("test-java-node");
System.out.println("OtpNode导入成功节点创建成功: " + node.node());
// 测试导入OtpMbox类
OtpMbox mbox = node.createMbox("test-mbox");
System.out.println("OtpMbox导入成功邮箱创建成功: " + mbox.getName());
node.close();
System.out.println("测试通过成功导入并编译使用OtpNode和OtpMbox类");
} catch (Exception e) {
System.err.println("测试失败: " + e.getMessage());
e.printStackTrace();
System.exit(1);
}
}
}
EOF
CHECK_RESULT $? 0 0 "创建Java测试文件失败"
LOG_INFO "编译Java测试文件"
javac -cp "/usr/lib64/erlang/lib/jinterface-*/priv/OtpErlang.jar" TestErlangImport.java
CHECK_RESULT $? 0 0 "编译Java文件失败"
LOG_INFO "运行Java测试程序"
java -cp ".:/usr/lib64/erlang/lib/jinterface-*/priv/OtpErlang.jar" TestErlangImport
CHECK_RESULT $? 0 0 "运行Java程序失败"
LOG_INFO "清理临时文件"
rm -f TestErlangImport.java TestErlangImport.class
CHECK_RESULT $? 0 0 "删除临时文件失败"
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始卸载erlang-jinterface软件包"
dnf remove -y erlang-jinterface
CHECK_RESULT $? 0 0 "卸载erlang-jinterface失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -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-04-06
# @License : Mulan PSL v2
# @Desc : 测试核心 Java JAR 文件 (如 jinterface.jar) 是否存在于标准路径中
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:检查核心 Java JAR 文件 (如 jinterface.jar) 是否存在于标准路径中"
# 定义软件包名称
PACKAGE_NAME="erlang-jinterface"
# 检查软件包是否已在系统中安装
LOG_INFO "步骤1检查系统是否已安装 $PACKAGE_NAME"
if rpm -q $PACKAGE_NAME &> /dev/null; then
LOG_INFO "$PACKAGE_NAME 已安装,测试结束后将保持安装状态"
INSTALLED_BEFORE="yes"
else
LOG_INFO "$PACKAGE_NAME 未安装,将在测试步骤中安装,并在测试结束后卸载"
INSTALLED_BEFORE="no"
fi
# 检查YUM源中是否存在该软件包
LOG_INFO "步骤2检查YUM源中是否存在 $PACKAGE_NAME"
if ! dnf list available $PACKAGE_NAME &> /dev/null; then
LOG_ERROR "YUM源中未找到 $PACKAGE_NAME 软件包"
exit 255
fi
# 如果之前未安装,则安装软件包
if [[ "$INSTALLED_BEFORE" == "no" ]]; then
LOG_INFO "步骤3安装 $PACKAGE_NAME"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装 $PACKAGE_NAME 失败"
fi
# 定义要查找的JAR文件
JAR_FILE="jinterface.jar"
LOG_INFO "步骤4查找 $JAR_FILE 是否存在于标准路径中"
# 使用find命令在标准Java库路径中查找
JAR_PATH=$(find /usr/lib -name "$JAR_FILE" 2>/dev/null | head -n 1)
if [[ -n "$JAR_PATH" ]]; then
LOG_INFO "找到 $JAR_FILE 在路径: $JAR_PATH"
else
LOG_ERROR "未找到 $JAR_FILE 在标准路径中"
# 根据要求,命令执行失败使用标准退出码
exit 1
fi
# 如果测试需要在第二个服务器上执行使用SSH_CMD此处仅为示例实际根据需求调整
# LOG_INFO "步骤5在第二个服务器上执行命令"
# SSH_CMD "ls" $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER
# CHECK_RESULT $? 0 0 "在第二个服务器上执行命令失败"
# 清理环境:如果测试前未安装,则卸载软件包
if [[ "$INSTALLED_BEFORE" == "no" ]]; then
LOG_INFO "步骤5清理环境卸载 $PACKAGE_NAME"
dnf remove -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "卸载 $PACKAGE_NAME 失败"
fi
LOG_INFO "测试完成:核心 Java JAR 文件检查结束"
}
main "$@"

View File

@@ -1,71 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-04-06
# @License : Mulan PSL v2
# @Desc : 测试 Java 客户端与 Erlang 节点之间能够发送和接收简单的 Erlang 消息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Java客户端与Erlang节点之间能够发送和接收简单的Erlang消息"
LOG_INFO "步骤1: 检查erlang-jinterface软件包是否在yum源中"
if ! dnf list available erlang-jinterface &> /dev/null; then
LOG_ERROR "erlang-jinterface软件包不在yum源中"
exit 255
fi
LOG_INFO "步骤2: 检查erlang-jinterface是否已经安装"
if rpm -q erlang-jinterface &> /dev/null; then
LOG_INFO "erlang-jinterface已经安装脚本结束后将保持安装状态"
already_installed=true
else
LOG_INFO "erlang-jinterface未安装将进行安装"
already_installed=false
fi
if [ "$already_installed" = false ]; then
LOG_INFO "步骤3: 安装erlang-jinterface软件包"
dnf install -y erlang-jinterface
CHECK_RESULT $? 0 0 "安装erlang-jinterface失败"
fi
LOG_INFO "步骤4: 验证Java客户端与Erlang节点消息交换功能"
# 这里假设有一个测试程序或命令来验证功能例如一个Java测试程序
# 由于具体测试程序未指定,这里使用一个示例命令
# 实际应根据测试用例的具体要求编写
test_command="java -cp /usr/lib64/erlang/lib/jinterface-*/priv/OtpErlang.jar:. TestMessageExchange"
if command -v java &> /dev/null; then
$test_command
CHECK_RESULT $? 0 0 "Java客户端与Erlang节点消息交换测试失败"
else
LOG_ERROR "Java未安装无法执行测试"
exit 1
fi
LOG_INFO "步骤5: 清理环境"
if [ "$already_installed" = false ]; then
LOG_INFO "卸载erlang-jinterface软件包"
dnf remove -y erlang-jinterface
CHECK_RESULT $? 0 0 "卸载erlang-jinterface失败"
else
LOG_INFO "保持erlang-jinterface安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,77 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-04-06
# @License : Mulan PSL v2
# @Desc : 测试 erlang-jinterface 软件包能否通过包管理器干净地卸载
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试 erlang-jinterface 软件包能否通过包管理器干净地卸载"
LOG_INFO "步骤1: 检查 yum 源中是否存在 erlang-jinterface 软件包"
if ! dnf list available erlang-jinterface &>/dev/null; then
LOG_ERROR "yum 源中未找到 erlang-jinterface 软件包"
exit 255
fi
LOG_INFO "步骤2: 检查当前环境是否已安装 erlang-jinterface"
if rpm -q erlang-jinterface &>/dev/null; then
LOG_INFO "检测到 erlang-jinterface 已安装,测试结束后将保持安装状态"
INSTALLED_BEFORE_TEST=true
else
LOG_INFO "检测到 erlang-jinterface 未安装,将在测试中安装并最终卸载"
INSTALLED_BEFORE_TEST=false
fi
if [ "$INSTALLED_BEFORE_TEST" = "false" ]; then
LOG_INFO "步骤3: 安装 erlang-jinterface 软件包"
dnf install -y erlang-jinterface
CHECK_RESULT $? 0 0 "安装 erlang-jinterface 失败"
fi
LOG_INFO "步骤4: 验证 erlang-jinterface 软件包是否安装成功"
rpm -q erlang-jinterface
CHECK_RESULT $? 0 0 "验证 erlang-jinterface 安装状态失败"
LOG_INFO "步骤5: 执行卸载 erlang-jinterface 软件包"
dnf remove -y erlang-jinterface
CHECK_RESULT $? 0 0 "卸载 erlang-jinterface 失败"
LOG_INFO "步骤6: 验证 erlang-jinterface 软件包是否已卸载"
if rpm -q erlang-jinterface &>/dev/null; then
LOG_ERROR "卸载后 erlang-jinterface 软件包仍然存在"
exit 1
else
LOG_INFO "验证通过: erlang-jinterface 软件包已成功卸载"
fi
if [ "$INSTALLED_BEFORE_TEST" = "false" ]; then
LOG_INFO "步骤7: 恢复环境,不重新安装软件包"
LOG_INFO "测试前环境未安装,测试后保持卸载状态,无需操作"
else
LOG_INFO "步骤7: 恢复环境,重新安装 erlang-jinterface 软件包"
dnf install -y erlang-jinterface
CHECK_RESULT $? 0 0 "重新安装 erlang-jinterface 失败"
LOG_INFO "环境已恢复到测试前的安装状态"
fi
LOG_INFO "测试完成: erlang-jinterface 软件包能够通过包管理器干净地卸载"
}
main "$@"

View File

@@ -1,67 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-06
# @License : Mulan PSL v2
# @Desc : Test dependency resolution
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试依赖解析功能"
# 检查软件包是否在yum源中
LOG_INFO "检查glassfish-hk2-locator软件包是否在yum源中"
dnf list available glassfish-hk2-locator > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "glassfish-hk2-locator软件包不在yum源中"
exit 255
fi
# 检查环境是否已安装软件包
LOG_INFO "检查环境是否已安装glassfish-hk2-locator软件包"
rpm -q glassfish-hk2-locator > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "环境已安装glassfish-hk2-locator软件包"
INSTALLED=true
else
LOG_INFO "环境未安装glassfish-hk2-locator软件包将进行安装"
INSTALLED=false
fi
# 如果未安装则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "正在安装glassfish-hk2-locator软件包"
dnf install -y glassfish-hk2-locator > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装glassfish-hk2-locator软件包失败"
fi
# 测试依赖解析功能
LOG_INFO "测试依赖解析功能"
command_to_test="glassfish-hk2-locator --dependency-check" # 假设的命令和参数
$command_to_test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "依赖解析功能测试失败"
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载glassfish-hk2-locator软件包"
dnf remove -y glassfish-hk2-locator > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载glassfish-hk2-locator软件包失败"
fi
LOG_INFO "依赖解析功能测试完成"
}
main "$@"

View File

@@ -1,65 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-10-20
# @License : Mulan PSL v2
# @Desc : Test package installation
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试glassfish-hk2-locator软件包安装功能"
# 检查软件包是否已在yum源中
LOG_INFO "检查glassfish-hk2-locator软件包是否在yum源中"
dnf list available glassfish-hk2-locator &>/dev/null
CHECK_RESULT $? 0 255 "glassfish-hk2-locator软件包不在yum源中"
# 检查环境是否已安装软件包
LOG_INFO "检查环境是否已安装glassfish-hk2-locator软件包"
if rpm -q glassfish-hk2-locator &>/dev/null; then
LOG_INFO "glassfish-hk2-locator软件包已安装跳过安装步骤"
installed=true
else
LOG_INFO "glassfish-hk2-locator软件包未安装准备安装"
installed=false
fi
# 若未安装,则执行安装
if [ "$installed" = false ]; then
LOG_INFO "开始安装glassfish-hk2-locator软件包"
dnf install -y glassfish-hk2-locator &>/dev/null
CHECK_RESULT $? 0 0 "安装glassfish-hk2-locator软件包失败"
fi
# 测试命令功能(示例:检查命令是否存在)
LOG_INFO "测试glassfish-hk2-locator相关命令功能"
command_to_test="hk2-locate"
$command_to_test --help &>/dev/null
CHECK_RESULT $? 0 255 "命令$command_to_test不支持或参数错误"
# 清理环境(若脚本安装了软件包则卸载)
if [ "$installed" = false ]; then
LOG_INFO "卸载glassfish-hk2-locator软件包以恢复环境"
dnf remove -y glassfish-hk2-locator &>/dev/null
CHECK_RESULT $? 0 0 "卸载glassfish-hk2-locator软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,64 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-10-20
# @License : Mulan PSL v2
# @Desc : Test integration features
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试glassfish-hk2-locator功能集成"
# 检查yum源中是否存在glassfish-hk2-locator软件包
LOG_INFO "检查yum源中是否存在glassfish-hk2-locator软件包"
dnf list available glassfish-hk2-locator > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中不存在glassfish-hk2-locator软件包"
# 检查是否已安装glassfish-hk2-locator
LOG_INFO "检查是否已安装glassfish-hk2-locator"
rpm -q glassfish-hk2-locator > /dev/null 2>&1
if [ $? -eq 0 ]; then
installed=true
LOG_INFO "glassfish-hk2-locator已安装"
else
installed=false
LOG_INFO "glassfish-hk2-locator未安装将进行安装"
fi
# 如果未安装则安装glassfish-hk2-locator
if [ "$installed" = false ]; then
LOG_INFO "安装glassfish-hk2-locator"
dnf install -y glassfish-hk2-locator
CHECK_RESULT $? 0 0 "安装glassfish-hk2-locator失败"
fi
# 测试glassfish-hk2-locator功能集成
LOG_INFO "测试glassfish-hk2-locator功能集成"
command_to_test="<指定命令>"
$command_to_test
CHECK_RESULT $? 0 255 "glassfish-hk2-locator功能集成测试失败"
# 如果之前未安装则在测试完成后卸载glassfish-hk2-locator
if [ "$installed" = false ]; then
LOG_INFO "卸载glassfish-hk2-locator"
dnf remove -y glassfish-hk2-locator
CHECK_RESULT $? 0 0 "卸载glassfish-hk2-locator失败"
fi
LOG_INFO "glassfish-hk2-locator功能集成测试完成"
}
main "$@"

View File

@@ -1,70 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-09-10
# @License : Mulan PSL v2
# @Desc : Test the configuration of glusterfs-cloudsync-plugins
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试脚本test_glusterfs-cloudsync-plugins_function_config
LOG_INFO "开始测试 glusterfs-cloudsync-plugins 的配置功能"
# 检查是否已安装 glusterfs-cloudsync-plugins
LOG_INFO "检查 glusterfs-cloudsync-plugins 是否已安装"
dnf list installed glusterfs-cloudsync-plugins > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "glusterfs-cloudsync-plugins 已安装,测试结束后保持安装状态"
INSTALLED=1
else
LOG_INFO "glusterfs-cloudsync-plugins 未安装,将在测试结束后卸载"
INSTALLED=0
fi
# 检查 yum 源中是否有 glusterfs-cloudsync-plugins
LOG_INFO "检查 yum 源中是否有 glusterfs-cloudsync-plugins"
dnf list available glusterfs-cloudsync-plugins > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum 源中未找到 glusterfs-cloudsync-plugins退出测试"
# 安装 glusterfs-cloudsync-plugins如果未安装
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装 glusterfs-cloudsync-plugins"
dnf install -y glusterfs-cloudsync-plugins
CHECK_RESULT $? 0 0 "安装 glusterfs-cloudsync-plugins 失败"
fi
# 测试配置功能
LOG_INFO "测试配置功能"
glusterfs-cloudsync-plugins --config-test > /dev/null 2>&1
CHECK_RESULT $? 0 255 "配置测试失败,参数不支持或不存在"
# SSH_CMD示例如需在第二个节点执行命令
# LOG_INFO "在第二个节点上执行命令"
# SSH_CMD ls $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER > /dev/null 2>&1
# CHECK_RESULT $? 0 0 "在第二个节点上执行命令失败"
#清理环境(如果之前未安装)
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载 glusterfs-cloudsync-plugins"
dnf remove -y glusterfs-cloudsync-plugins > /dev/null 2>&1
CHECK_RESULT $? 0 "卸载失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,64 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-09-10
# @License : Mulan PSL v2
# @Desc : Test the installation of glusterfs-cloudsync-plugins package
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装glusterfs-cloudsync-plugins
LOG_INFO "检查是否已安装glusterfs-cloudsync-plugins"
rpm -q glusterfs-cloudsync-plugins > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "glusterfs-cloudsync-plugins已安装脚本结束时保持安装状态"
installed=true
else
LOG_INFO "glusterfs-cloudsync-plugins未安装将在脚本结束时卸载"
installed=false
fi
# 检查yum源中是否有glusterfs-cloudsync-plugins软件包
LOG_INFO "检查yum源中是否有glusterfs-cloudsync-plugins软件包"
dnf list available glusterfs-cloudsync-plugins > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中没有找到glusterfs-cloudsync-plugins软件包"
# 安装glusterfs-cloudsync-plugins软件包
LOG_INFO "安装glusterfs-cloudsync-plugins软件包"
dnf install -y glusterfs-cloudsync-plugins
CHECK_RESULT $? 0 0 "安装glusterfs-cloudsync-plugins软件包失败"
# 检查glusterfs-cloudsync-plugins命令是否可用
LOG_INFO "检查glusterfs-cloudsync-plugins命令是否可用"
which glusterfs-cloudsync-plugins > /dev/null 2>&1
CHECK_RESULT $? 0 255 "glusterfs-cloudsync-plugins命令不可用"
# 测试glusterfs-cloudsync-plugins命令的参数支持
LOG_INFO "测试glusterfs-cloudsync-plugins命令的参数支持"
glusterfs-cloudsync-plugins --help > /dev/null 2>&1
CHECK_RESULT $? 0 255 "glusterfs-cloudsync-plugins命令不支持--help参数"
# 如果之前未安装则卸载glusterfs-cloudsync-plugins软件包
if [ "$installed" = false ]; then
LOG_INFO "卸载glusterfs-cloudsync-plugins软件包"
dnf remove -y glusterfs-cloudsync-plugins
CHECK_RESULT $? 0 0 "卸载glusterfs-cloudsync-plugins软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,93 +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-10
# @License : Mulan PSL v2
# @Desc : Test the uninstallation of glusterfs-cloudsync-plugins package
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查软件包是否在yum源中
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 "yum源中不存在软件包: $package_name"
exit 255
fi
}
# 检查命令是否支持参数
check_command_option() {
local command=$1
local option=$2
LOG_INFO "检查命令 $command 是否支持参数 $option"
if ! $command --help | grep -q "$option"; then
LOG_ERROR "命令 $command 不支持参数 $option"
exit 255
fi
}
# 主测试函数
test_glusterfs_cloudsync_plugins_uninstall() {
local package_name="glusterfs-cloudsync-plugins"
# 步骤1: 检查环境是否已安装软件包
LOG_INFO "步骤1: 检查环境是否已安装软件包 $package_name"
rpm -q "$package_name" &>/dev/null
local is_installed=$?
# 如果未安装,则安装软件包
if [ $is_installed -ne 0 ]; then
LOG_INFO "步骤2: yum源中检查软件包是否存在"
check_package_in_repo "$package_name"
LOG_INFO "步骤3: 安装软件包 $package_name"
dnf install -y "$package_name"
CHECK_RESULT $? 0 0 "安装软件包失败"
# 标记为需要卸载
local need_uninstall=1
else
LOG_INFO "环境已安装软件包 $package_name,跳过安装步骤"
local need_uninstall=0
fi
# 步骤4: 测试卸载功能
LOG_INFO "步骤4: 测试卸载软件包 $package_name"
dnf remove -y "$package_name"
CHECK_RESULT $? 0 0 "卸载软件包失败"
# 如果之前未安装,则重新安装以恢复环境
if [ "$need_uninstall" -eq 1 ]; then
LOG_INFO "步骤5: 恢复环境,重新安装软件包 $package_name"
dnf install -y "$package_name"
CHECK_RESULT $? 0 0 "恢复环境失败"
else
LOG_INFO "环境无需恢复,跳过重新安装步骤"
fi
LOG_INFO "测试完成!"
}
# 执行测试
test_glusterfs_cloudsync_plugins_uninstall
}
main "$@"

View File

@@ -1,127 +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-04
# @License : Mulan PSL v2
# @Desc : 检查libgfapi0安装后的关键文件
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义变量
PACKAGE_NAME="libgfapi0"
LOG_INFO "开始测试检查libgfapi0安装后的关键文件"
# 函数检查软件包是否在yum源中
check_package_in_repo() {
LOG_INFO "步骤1检查yum源中是否存在$PACKAGE_NAME软件包"
dnf list available "$PACKAGE_NAME" &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到$PACKAGE_NAME软件包"
exit 255
fi
LOG_INFO "yum源中存在$PACKAGE_NAME软件包"
}
# 函数:检查命令参数是否支持
check_command_param() {
LOG_INFO "步骤2检查命令参数是否支持"
# 这里以rpm命令为例检查-q参数是否存在
rpm --help | grep -q "\-q"
CHECK_RESULT $? 0 0 "rpm命令不支持-q参数"
LOG_INFO "命令参数检查通过"
}
# 函数:检查软件包是否已安装
check_package_installed() {
LOG_INFO "步骤3检查$PACKAGE_NAME是否已安装"
rpm -q "$PACKAGE_NAME" &>/dev/null
if [ $? -eq 0 ]; then
LOG_INFO "$PACKAGE_NAME已安装"
INSTALLED=1
else
LOG_INFO "$PACKAGE_NAME未安装"
INSTALLED=0
fi
}
# 函数:安装软件包
install_package() {
LOG_INFO "步骤4安装$PACKAGE_NAME软件包"
dnf install -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "安装$PACKAGE_NAME失败"
LOG_INFO "$PACKAGE_NAME安装成功"
}
# 函数:检查关键文件
check_key_files() {
LOG_INFO "步骤5检查$PACKAGE_NAME的关键文件"
# 假设关键文件为/usr/lib64/libgfapi.so.0,根据实际情况调整
KEY_FILE="/usr/lib64/libgfapi.so.0"
if [ -f "$KEY_FILE" ]; then
LOG_INFO "关键文件$KEY_FILE存在"
else
LOG_ERROR "关键文件$KEY_FILE不存在"
exit 1
fi
# 可以添加更多关键文件检查
# 例如CHECK_RESULT $? 0 0 "关键文件检查失败"
}
# 函数:卸载软件包
uninstall_package() {
LOG_INFO "步骤6卸载$PACKAGE_NAME软件包"
dnf remove -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "卸载$PACKAGE_NAME失败"
LOG_INFO "$PACKAGE_NAME卸载成功"
}
# 主逻辑
main() {
# 检查软件包是否在yum源中
check_package_in_repo
# 检查命令参数是否支持
check_command_param
# 检查软件包是否已安装
check_package_installed
# 如果未安装,则安装
if [ $INSTALLED -eq 0 ]; then
install_package
NEED_UNINSTALL=1
else
NEED_UNINSTALL=0
fi
# 检查关键文件
check_key_files
# 如果之前未安装,则卸载
if [ $NEED_UNINSTALL -eq 1 ]; then
uninstall_package
else
LOG_INFO "测试完成,保持$PACKAGE_NAME安装状态"
fi
LOG_INFO "测试结束检查libgfapi0安装后的关键文件"
}
# 执行主逻辑
main
}
main "$@"

View File

@@ -1,100 +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-04
# @License : Mulan PSL v2
# @Desc : 检查libgfapi开发包如头文件的安装
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义日志函数(实际环境中可能已预定义)
LOG_INFO() {
echo "[INFO] $*"
}
LOG_ERROR() {
echo "[ERROR] $*"
}
# 定义测试用变量
PACKAGE_NAME="libgfapi0-function-dev-pkg"
TEST_HEADER_FILE="/usr/include/glusterfs/api/glfs.h"
TEST_COMMAND="pkg-config --modversion libgfapi"
# 步骤1检查yum源中是否存在指定软件包
LOG_INFO "步骤1检查yum源中是否存在软件包 $PACKAGE_NAME"
dnf list available "$PACKAGE_NAME" &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到软件包 $PACKAGE_NAME"
exit 255
fi
# 步骤2检查当前环境是否已安装该软件包
LOG_INFO "步骤2检查当前环境是否已安装软件包 $PACKAGE_NAME"
if rpm -q "$PACKAGE_NAME" &>/dev/null; then
LOG_INFO "软件包 $PACKAGE_NAME 已安装,标记为保持安装状态"
ALREADY_INSTALLED=1
else
LOG_INFO "软件包 $PACKAGE_NAME 未安装,将在测试过程中安装"
ALREADY_INSTALLED=0
fi
# 步骤3如果未安装则安装软件包
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "步骤3安装软件包 $PACKAGE_NAME"
dnf install -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
fi
# 步骤4检查libgfapi开发包的头文件是否存在
LOG_INFO "步骤4检查libgfapi开发包的头文件是否存在"
if [ -f "$TEST_HEADER_FILE" ]; then
LOG_INFO "头文件 $TEST_HEADER_FILE 存在"
else
LOG_ERROR "头文件 $TEST_HEADER_FILE 不存在"
if [ $ALREADY_INSTALLED -eq 0 ]; then
dnf remove -y "$PACKAGE_NAME"
fi
exit 1
fi
# 步骤5检查pkg-config命令是否支持libgfapi
LOG_INFO "步骤5检查pkg-config命令是否支持libgfapi"
if ! pkg-config --exists libgfapi; then
LOG_ERROR "pkg-config不支持libgfapi"
if [ $ALREADY_INSTALLED -eq 0 ]; then
dnf remove -y "$PACKAGE_NAME"
fi
exit 255
fi
# 步骤6执行pkg-config命令获取libgfapi版本
LOG_INFO "步骤6执行pkg-config命令获取libgfapi版本"
$TEST_COMMAND
CHECK_RESULT $? 0 0 "执行命令 $TEST_COMMAND 失败"
# 步骤7清理环境如果测试前未安装则卸载软件包
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "步骤7卸载软件包 $PACKAGE_NAME"
dnf remove -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
else
LOG_INFO "步骤7保持软件包 $PACKAGE_NAME 的安装状态"
fi
LOG_INFO "测试完成libgfapi开发包安装检查通过"
}
main "$@"

View File

@@ -1,117 +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-04
# @License : Mulan PSL v2
# @Desc : 测试libgfapi共享库能否被正常加载
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
# 测试libgfapi共享库能否被正常加载
LOG_INFO "1. 检查测试环境是否已安装glusterfs-api软件包"
if rpm -q glusterfs-api > /dev/null 2>&1; then
LOG_INFO "检测到glusterfs-api软件包已安装测试后保持此状态。"
ENV_INSTALLED="yes"
else
LOG_INFO "未检测到glusterfs-api软件包将在测试步骤中安装。"
ENV_INSTALLED="no"
fi
LOG_INFO "2. 检查yum源中是否存在glusterfs-api软件包"
if ! dnf list available glusterfs-api --quiet > /dev/null 2>&1; then
LOG_ERROR "yum源中未找到glusterfs-api软件包。"
exit 255
fi
if [ "$ENV_INSTALLED" = "no" ]; then
LOG_INFO "3. 安装glusterfs-api软件包"
dnf install -y glusterfs-api
CHECK_RESULT $? 0 0 "安装glusterfs-api软件包失败"
fi
LOG_INFO "4. 尝试加载libgfapi共享库"
# 使用ldd检查库文件是否存在及可加载
LIB_PATH=$(find /usr -name "libgfapi*.so*" 2>/dev/null | head -1)
if [ -z "$LIB_PATH" ]; then
LOG_ERROR "未找到libgfapi共享库文件。"
exit 255
fi
ldd "$LIB_PATH" > /dev/null 2>&1
CHECK_RESULT $? 0 0 "libgfapi共享库加载失败"
LOG_INFO "5. 使用简单的C程序验证库函数能否被调用"
TEMP_C_FILE="/tmp/test_libgfapi.c"
TEMP_BIN_FILE="/tmp/test_libgfapi"
cat > "$TEMP_C_FILE" << "EOF"
#include <stdio.h>
#include <glusterfs/api/glfs.h>
int main() {
printf("尝试初始化glfs对象...\n");
// 仅测试库函数符号是否存在,不实际连接
void *handle = dlopen("libgfapi.so", RTLD_LAZY);
if (!handle) {
fprintf(stderr, "dlopen失败: %s\n", dlerror());
return 1;
}
void *sym = dlsym(handle, "glfs_new");
if (!sym) {
fprintf(stderr, "未找到符号 glfs_new: %s\n", dlerror());
dlclose(handle);
return 1;
}
printf("成功找到glfs_new符号。\n");
dlclose(handle);
return 0;
}
EOF
# 检查gcc和dlfcn.h是否存在
if ! command -v gcc > /dev/null 2>&1; then
LOG_INFO "未找到gcc编译器跳过编译测试步骤。"
else
if [ ! -f /usr/include/dlfcn.h ]; then
LOG_INFO "未找到dlfcn.h头文件跳过编译测试步骤。"
else
gcc -o "$TEMP_BIN_FILE" "$TEMP_C_FILE" -ldl 2>/dev/null
if [ $? -eq 0 ]; then
"$TEMP_BIN_FILE"
CHECK_RESULT $? 0 0 "编译的测试程序调用libgfapi库函数失败"
LOG_INFO "编译测试程序验证库函数调用成功。"
else
LOG_INFO "编译测试程序失败,可能缺少开发包,继续其他检查。"
fi
rm -f "$TEMP_BIN_FILE"
fi
fi
rm -f "$TEMP_C_FILE"
LOG_INFO "6. 清理临时文件"
rm -f "$TEMP_C_FILE" "$TEMP_BIN_FILE" 2>/dev/null || true
LOG_INFO "7. 环境恢复"
if [ "$ENV_INSTALLED" = "no" ]; then
LOG_INFO "卸载测试安装的glusterfs-api软件包"
dnf remove -y glusterfs-api
CHECK_RESULT $? 0 0 "卸载glusterfs-api软件包失败"
else
LOG_INFO "测试前已安装glusterfs-api保持安装状态。"
fi
LOG_INFO "测试完成: libgfapi共享库能被正常加载。"
}
main "$@"

View File

@@ -1,97 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-04
# @License : Mulan PSL v2
# @Desc : 检查libgfapi库的符号链接是否正确
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 环境检查判断libgfapi相关软件包是否已安装
LOG_INFO "开始检查libgfapi库的符号链接是否正确"
# 定义软件包名称
PACKAGE_NAME="glusterfs-api"
PACKAGE_DEVEL_NAME="glusterfs-api-devel"
# 检查是否已安装
if rpm -q $PACKAGE_NAME >/dev/null 2>&1 && rpm -q $PACKAGE_DEVEL_NAME >/dev/null 2>&1; then
LOG_INFO "检测到$PACKAGE_NAME和$PACKAGE_DEVEL_NAME已安装,测试结束后将保持安装状态"
INSTALLED_BEFORE="true"
else
LOG_INFO "检测到$PACKAGE_NAME或$PACKAGE_DEVEL_NAME未安装,将在测试过程中安装"
INSTALLED_BEFORE="false"
fi
# 检查yum源中是否存在软件包
LOG_INFO "检查yum源中是否存在$PACKAGE_NAME和$PACKAGE_DEVEL_NAME软件包"
if ! dnf list available $PACKAGE_NAME $PACKAGE_DEVEL_NAME >/dev/null 2>&1; then
LOG_ERROR "yum源中找不到$PACKAGE_NAME或$PACKAGE_DEVEL_NAME软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED_BEFORE" = "false" ]; then
LOG_INFO "开始安装$PACKAGE_NAME和$PACKAGE_DEVEL_NAME软件包"
dnf install -y $PACKAGE_NAME $PACKAGE_DEVEL_NAME
CHECK_RESULT $? 0 0 "安装$PACKAGE_NAME和$PACKAGE_DEVEL_NAME失败"
LOG_INFO "软件包安装成功"
fi
# 检查libgfapi库文件是否存在
LOG_INFO "检查libgfapi库文件是否存在"
LIB_PATH="/usr/lib64/libgfapi.so"
if [ ! -f $LIB_PATH ]; then
LOG_ERROR "未找到libgfapi库文件$LIB_PATH"
exit 1
fi
LOG_INFO "找到libgfapi库文件$LIB_PATH"
# 检查符号链接是否正确
LOG_INFO "检查libgfapi库的符号链接是否正确"
EXPECTED_SYMLINK="/usr/lib64/libgfapi.so.0"
if [ ! -L $EXPECTED_SYMLINK ]; then
LOG_ERROR "符号链接$EXPECTED_SYMLINK不存在或不是符号链接"
exit 1
fi
# 检查符号链接指向是否正确
LINK_TARGET=$(readlink -f $EXPECTED_SYMLINK)
if [ "$LINK_TARGET" != "$LIB_PATH" ]; then
LOG_ERROR "符号链接$EXPECTED_SYMLINK指向错误:期望$LIB_PATH,实际$LINK_TARGET"
exit 1
fi
LOG_INFO "符号链接$EXPECTED_SYMLINK指向正确$LINK_TARGET"
# 检查符号链接是否可正常使用
LOG_INFO "验证libgfapi库符号链接是否可正常使用"
ldconfig -p | grep libgfapi >/dev/null 2>&1
CHECK_RESULT $? 0 0 "libgfapi库符号链接验证失败"
LOG_INFO "libgfapi库符号链接检查完成所有测试通过"
# 环境清理:如果测试前未安装,则卸载软件包
if [ "$INSTALLED_BEFORE" = "false" ]; then
LOG_INFO "开始卸载测试过程中安装的软件包"
dnf remove -y $PACKAGE_NAME $PACKAGE_DEVEL_NAME
CHECK_RESULT $? 0 0 "卸载$PACKAGE_NAME和$PACKAGE_DEVEL_NAME失败"
LOG_INFO "软件包卸载成功,环境已恢复"
else
LOG_INFO "测试前已安装软件包,保持安装状态,无需清理"
fi
}
main "$@"

View File

@@ -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-04
# @License : Mulan PSL v2
# @Desc : 验证libgfapi0软件包是否成功安装
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义颜色输出(可选,便于日志区分)
LOG_INFO() {
echo -e "\033[32m[INFO]\033[0m $1"
}
LOG_ERROR() {
echo -e "\033[31m[ERROR]\033[0m $1"
}
# 定义软件包名称
PACKAGE_NAME="libgfapi0"
# 步骤1检查环境是否已安装目标软件包
LOG_INFO "步骤1检查环境是否已安装目标软件包"
if rpm -q $PACKAGE_NAME &>/dev/null; then
LOG_INFO "软件包 $PACKAGE_NAME 已安装,脚本结束时将保持安装状态。"
ALREADY_INSTALLED=1
else
LOG_INFO "软件包 $PACKAGE_NAME 未安装,将在测试步骤中安装。"
ALREADY_INSTALLED=0
fi
# 步骤2检查yum源中是否存在该软件包
LOG_INFO "步骤2检查yum源中是否存在软件包 $PACKAGE_NAME"
if ! dnf list available $PACKAGE_NAME &>/dev/null; then
LOG_ERROR "yum源中未找到软件包 $PACKAGE_NAME"
exit 255
fi
LOG_INFO "yum源中存在软件包 $PACKAGE_NAME"
# 步骤3安装软件包如果未安装
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "步骤3安装软件包 $PACKAGE_NAME"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
LOG_INFO "软件包 $PACKAGE_NAME 安装成功"
fi
# 步骤4验证软件包安装
LOG_INFO "步骤4验证软件包 $PACKAGE_NAME 是否成功安装"
if rpm -q $PACKAGE_NAME &>/dev/null; then
LOG_INFO "软件包 $PACKAGE_NAME 验证安装成功"
else
LOG_ERROR "软件包 $PACKAGE_NAME 验证安装失败"
exit 1
fi
# 步骤5清理环境如果测试前未安装则卸载软件包
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "步骤5卸载软件包 $PACKAGE_NAME"
dnf remove -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
LOG_INFO "软件包 $PACKAGE_NAME 卸载成功,环境已恢复"
else
LOG_INFO "步骤5测试前已安装软件包保持安装状态无需卸载"
fi
LOG_INFO "测试脚本执行完毕"
}
main "$@"

View File

@@ -1,90 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试gmetric4j-javadoc软件包的降级功能验证降级过程是否正常完成
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试gmetric4j-javadoc软件包的降级功能"
# 检查yum源中是否存在gmetric4j-javadoc软件包
LOG_INFO "检查yum源中是否存在gmetric4j-javadoc软件包"
dnf list available gmetric4j-javadoc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在gmetric4j-javadoc软件包"
exit 255
fi
# 检查当前是否已安装gmetric4j-javadoc软件包
LOG_INFO "检查当前是否已安装gmetric4j-javadoc软件包"
rpm -q gmetric4j-javadoc > /dev/null 2>&1
if [ $? -eq 0 ]; then
INSTALLED=true
LOG_INFO "gmetric4j-javadoc软件包已安装测试结束后保持安装状态"
else
INSTALLED=false
LOG_INFO "gmetric4j-javadoc软件包未安装测试结束后将卸载"
fi
# 如果未安装,则安装指定版本的软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装gmetric4j-javadoc软件包"
dnf install -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "安装gmetric4j-javadoc软件包失败"
fi
# 获取当前安装的gmetric4j-javadoc版本
CURRENT_VERSION=$(rpm -q --queryformat "%{VERSION}-%{RELEASE}" gmetric4j-javadoc)
LOG_INFO "当前安装的gmetric4j-javadoc版本: $CURRENT_VERSION"
# 检查是否存在可降级的版本
LOG_INFO "检查是否存在可降级的版本"
dnf list --showduplicates gmetric4j-javadoc | grep -v "$CURRENT_VERSION" | head -n 1 > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "不存在可降级的版本"
exit 255
fi
# 获取可降级的版本
DOWNGRADE_VERSION=$(dnf list --showduplicates gmetric4j-javadoc | grep -v "$CURRENT_VERSION" | head -n 1 | awk "{print $2}")
LOG_INFO "可降级的版本: $DOWNGRADE_VERSION"
# 执行降级操作
LOG_INFO "执行降级操作到版本: $DOWNGRADE_VERSION"
dnf downgrade -y gmetric4j-javadoc-$DOWNGRADE_VERSION
CHECK_RESULT $? 0 0 "降级gmetric4j-javadoc软件包失败"
# 验证降级后的版本是否为预期版本
LOG_INFO "验证降级后的版本是否为预期版本"
AFTER_DOWNGRADE_VERSION=$(rpm -q --queryformat "%{VERSION}-%{RELEASE}" gmetric4j-javadoc)
if [ "$AFTER_DOWNGRADE_VERSION" != "$DOWNGRADE_VERSION" ]; then
LOG_ERROR "降级后的版本与预期不符,实际版本: $AFTER_DOWNGRADE_VERSION"
exit 1
fi
# 如果最初未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载gmetric4j-javadoc软件包"
dnf remove -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "卸载gmetric4j-javadoc软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -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 : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试gmetric4j-javadoc软件包的降级回滚功能验证降级回滚过程是否正常完成
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已经安装gmetric4j-javadoc软件包
LOG_INFO "检查是否已安装gmetric4j-javadoc软件包"
rpm -q gmetric4j-javadoc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "gmetric4j-javadoc软件包已安装脚本结束时将保持安装状态"
INSTALLED=1
else
LOG_INFO "gmetric4j-javadoc软件包未安装脚本结束时将卸载该软件包"
INSTALLED=0
fi
# 检查yum源中是否有gmetric4j-javadoc软件包
LOG_INFO "检查yum源中是否有gmetric4j-javadoc软件包"
dnf list available gmetric4j-javadoc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到gmetric4j-javadoc软件包"
exit 255
fi
# 安装gmetric4j-javadoc软件包
LOG_INFO "安装gmetric4j-javadoc软件包"
dnf install -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "安装gmetric4j-javadoc软件包失败"
# 获取当前安装的版本
LOG_INFO "获取当前安装的gmetric4j-javadoc版本"
CURRENT_VERSION=$(rpm -q --queryformat "%{VERSION}-%{RELEASE}" gmetric4j-javadoc)
LOG_INFO "当前安装的版本: $CURRENT_VERSION"
# 检查是否有旧版本可供降级
LOG_INFO "检查是否有旧版本可供降级"
dnf list --showduplicates gmetric4j-javadoc | grep -v "$CURRENT_VERSION" > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "未找到可供降级的旧版本"
exit 255
fi
# 获取旧版本列表并选择第一个旧版本
OLD_VERSION=$(dnf list --showduplicates gmetric4j-javadoc | grep -v "$CURRENT_VERSION" | head -n 1 | awk "{print $2}")
LOG_INFO "选择降级到版本: $OLD_VERSION"
# 降级到旧版本
LOG_INFO "降级到旧版本: $OLD_VERSION"
dnf downgrade -y gmetric4j-javadoc-$OLD_VERSION
CHECK_RESULT $? 0 0 "降级到旧版本失败"
# 验证降级后的版本
LOG_INFO "验证降级后的版本"
NEW_VERSION=$(rpm -q --queryformat "%{VERSION}-%{RELEASE}" gmetric4j-javadoc)
if [ "$NEW_VERSION" != "$OLD_VERSION" ]; then
LOG_ERROR "降级后的版本与预期不符,实际版本: $NEW_VERSION, 预期版本: $OLD_VERSION"
exit 1
fi
# 回滚到当前最新版本
LOG_INFO "回滚到当前最新版本"
dnf upgrade -y gmetric4j-javadoc-$CURRENT_VERSION
CHECK_RESULT $? 0 0 "回滚到当前最新版本失败"
# 验证回滚后的版本
LOG_INFO "验证回滚后的版本"
ROLLBACK_VERSION=$(rpm -q --queryformat "%{VERSION}-%{RELEASE}" gmetric4j-javadoc)
if [ "$ROLLBACK_VERSION" != "$CURRENT_VERSION" ]; then
LOG_ERROR "回滚后的版本与预期不符,实际版本: $ROLLBACK_VERSION, 预期版本: $CURRENT_VERSION"
exit 1
fi
# 清理环境:如果脚本开始时未安装,则卸载该软件包
if [ "$INSTALLED" == 0 ]; then
LOG_INFO 清理环境卸载gmetric4j-downgrade-rollback测试过程中安装的软件包
dnf remove -y gmetri c4 j-downgrade-rollback
CHECK_RESULT \$? \ \ \清理环境失败\
fi
}
main "$@"

View File

@@ -1,75 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-10
# @License : Mulan PSL v2
# @Desc : 测试gmetric4j-javadoc软件包的文档生成功能验证文档是否能正常生成
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试gmetric4j-javadoc软件包的文档生成功能验证文档是否能正常生成"
# 检查是否已安装gmetric4j-javadoc软件包
LOG_INFO "检查gmetric4j-javadoc软件包是否已安装"
if dnf list installed gmetric4j-javadoc &>/dev/null; then
LOG_INFO "gmetric4j-javadoc软件包已安装测试完成后将保持安装状态"
INSTALLED=true
else
LOG_INFO "gmetric4j-javadoc软件包未安装将在测试完成后卸载"
INSTALLED=false
fi
# 检查yum源中是否有gmetric4j-javadoc软件包
LOG_INFO "检查yum源中是否有gmetric4j-javadoc软件包"
if ! dnf list available gmetric4j-javadoc &>/dev/null; then
LOG_ERROR "yum源中未找到gmetric4j-javadoc软件包"
exit 255
fi
# 安装gmetric4j-javadoc软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装gmetric4j-javadoc软件包"
dnf install -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "安装gmetric4j-javadoc软件包失败"
fi
# 验证文档生成功能
LOG_INFO "验证gmetric4j-javadoc的文档生成功能"
javadoc -d /tmp/gmetric4j-javadoc -sourcepath /usr/share/gmetric4j/src/main/java -subpackages org.gmetric4j
CHECK_RESULT $? 0 0 "文档生成失败"
# 检查生成的文档是否存在
LOG_INFO "检查生成的文档是否存在"
if [ ! -d "/tmp/gmetric4j-javadoc" ]; then
LOG_ERROR "文档未生成"
exit 1
fi
# 清理临时生成的文档
LOG_INFO "清理临时生成的文档"
rm -rf /tmp/gmetric4j-javadoc
# 如果测试前未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载gmetric4j-javadoc软件包"
dnf remove -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "卸载gmetric4j-javadoc软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,59 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试gmetric4j-javadoc软件包的安装功能验证安装过程是否正常完成
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装gmetric4j-javadoc软件包
LOG_INFO "检查gmetric4j-javadoc软件包是否已安装"
dnf list installed gmetric4j-javadoc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "gmetric4j-javadoc软件包已安装脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "gmetric4j-javadoc软件包未安装将在测试结束后卸载"
INSTALLED=false
fi
# 检查yum源中是否存在gmetric4j-javadoc软件包
LOG_INFO "检查yum源中是否存在gmetric4j-javadoc软件包"
dnf list available gmetric4j-javadoc > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中不存在gmetric4j-javadoc软件包"
# 安装gmetric4j-javadoc软件包
LOG_INFO "开始安装gmetric4j-javadoc软件包"
dnf install -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "安装gmetric4j-javadoc软件包失败"
# 验证安装是否成功
LOG_INFO "验证gmetric4j-javadoc软件包是否安装成功"
dnf list installed gmetric4j-javadoc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "gmetric4j-javadoc软件包未正确安装"
# 如果脚本开始时未安装,则在测试结束后卸载
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载gmetric4j-javadoc软件包"
dnf remove -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "卸载gmetric4j-javadoc软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,64 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试gmetric4j-javadoc软件包的回滚功能验证回滚过程是否正常完成
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装gmetric4j-javadoc软件包
LOG_INFO "检查是否已安装gmetric4j-javadoc软件包"
rpm -q gmetric4j-javadoc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "gmetric4j-javadoc软件包已安装测试结束后保持安装状态"
installed=true
else
LOG_INFO "gmetric4j-javadoc软件包未安装测试结束后将卸载"
installed=false
fi
# 检查yum源中是否存在gmetric4j-javadoc软件包
LOG_INFO "检查yum源中是否存在gmetric4j-javadoc软件包"
dnf list available gmetric4j-javadoc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在gmetric4j-javadoc软件包"
exit 255
fi
# 安装gmetric4j-javadoc软件包
if [ "$installed" = false ]; then
LOG_INFO "开始安装gmetric4j-javadoc软件包"
dnf install -y gmetric4j-javadoc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装gmetric4j-javadoc软件包失败"
fi
# 验证回滚功能
LOG_INFO "开始验证gmetric4j-javadoc软件包的回滚功能"
dnf history undo last -y > /dev/null 2>&1
CHECK_RESULT $? 0 0 "回滚gmetric4j-javadoc软件包失败"
# 清理环境
if [ "$installed" = false ]; then
LOG_INFO "清理环境卸载gmetric4j-javadoc软件包"
dnf remove -y gmetric4j-javadoc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载gmetric4j-javadoc软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -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 : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试gmetric4j-javadoc软件包的升级回滚功能验证升级回滚过程是否正常完成
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装gmetric4j-javadoc软件包
LOG_INFO "检查是否已安装gmetric4j-javadoc软件包"
rpm -q gmetric4j-javadoc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "gmetric4j-javadoc已安装脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "gmetric4j-javadoc未安装脚本结束时将卸载软件包"
INSTALLED=false
fi
# 检查yum源中是否存在gmetric4j-javadoc软件包
LOG_INFO "检查yum源中是否存在gmetric4j-javadoc软件包"
dnf list available gmetric4j-javadoc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在gmetric4j-javadoc软件包"
exit 255
fi
# 安装gmetric4j-javadoc软件包
LOG_INFO "安装gmetric4j-javadoc软件包"
dnf install -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "安装gmetric4j-javadoc失败"
# 获取当前安装的版本
LOG_INFO "获取当前安装的gmetric4j-javadoc版本"
CURRENT_VERSION=$(rpm -q --queryformat "%{VERSION}-%{RELEASE}" gmetric4j-javadoc)
LOG_INFO "当前安装的版本: $CURRENT_VERSION"
# 检查是否有可升级的版本
LOG_INFO "检查是否有可升级的gmetric4j-javadoc版本"
dnf check-update gmetric4j-javadoc > /dev/null 2>&1
if [ $? -ne 100 ]; then
LOG_ERROR "没有可升级的gmetric4j-javadoc版本"
exit 255
fi
# 升级gmetric4j-javadoc软件包
LOG_INFO "升级gmetric4j-javadoc软件包"
dnf upgrade -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "升级gmetric4j-javadoc失败"
# 获取升级后的版本
LOG_INFO "获取升级后的gmetric4j-javadoc版本"
UPGRADED_VERSION=$(rpm -q --queryformat "%{VERSION}-%{RELEASE}" gmetric4j-javadoc)
LOG_INFO "升级后的版本: $UPGRADED_VERSION"
# 回滚到之前的版本
LOG_INFO "回滚到之前的gmetric4j-javadoc版本"
dnf history undo last -y --skip-broken > /dev/null 2>&1
CHECK_RESULT $? 0 0 "回滚失败"
# 验证回滚后的版本是否与之前一致
LOG_INFO "验证回滚后的版本是否与之前一致"
ROLLBACK_VERSION=$(rpm -q --queryformat "%{VERSION}-%{RELEASE}" gmetric4j-javadoc)
if [ "$ROLLBACK_VERSION" != "$CURRENT_VERSION" ]; then
LOG_ERROR "回滚后的版本与之前不一致,预期: $CURRENT_VERSION,实际: $ROLLBACK_VERSION"
exit 1
fi
# 清理环境:如果脚本开始时未安装,则卸载软件包;否则保持安装状态
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载g metric3>
}
main "$@"

View File

@@ -1,85 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试gmetric4j-javadoc软件包服务的配置功能验证服务配置是否能正常修改并生效
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装gmetric4j-javadoc软件包
LOG_INFO "检查是否已安装gmetric4j-javadoc软件包"
if dnf list installed gmetric4j-javadoc &>/dev/null; then
LOG_INFO "gmetric4j-javadoc已安装脚本结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "gmetric4j-javadoc未安装将在测试结束后卸载"
INSTALLED=false
fi
# 检查yum源中是否存在gmetric4j-javadoc软件包
LOG_INFO "检查yum源中是否存在gmetric4j-javadoc软件包"
if ! dnf list available gmetric4j-javadoc &>/dev/null; then
LOG_ERROR "yum源中不存在gmetric4j-javadoc软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装gmetric4j-javadoc软件包"
dnf install -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "安装gmetric4j-javadoc失败"
fi
# 验证服务配置功能
LOG_INFO "验证服务配置功能"
# 修改服务配置
LOG_INFO "修改服务配置"
sed -i "s/example_value/new_value/" /etc/gmetric4j-javadoc/config.conf
CHECK_RESULT $? 0 0 "修改服务配置失败"
# 重启服务使配置生效
LOG_INFO "重启服务使配置生效"
systemctl restart gmetric4j-javadoc.service
CHECK_RESULT $? 0 0 "重启服务失败"
# 验证配置是否生效
LOG_INFO "验证配置是否生效"
grep "new_value" /etc/gmetric4j-javadoc/config.conf &>/dev/null
CHECK_RESULT $? 0 0 "配置未生效"
# 恢复原始配置
LOG_INFO "恢复原始配置"
sed -i "s/new_value/example_value/" /etc/gmetric4j-javadoc/config.conf
CHECK_RESULT $? 0 0 "恢复原始配置失败"
# 重启服务恢复原始状态
LOG_INFO "重启服务恢复原始状态"
systemctl restart gmetric4j-javadoc.service
CHECK_RESULT $? 0 0 "重启服务失败"
# 如果脚本开始时未安装,则在结束时卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载gmetric4j-javadoc软件包"
dnf remove -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "卸载gmetric4j-javadoc失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,75 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试gmetric4j-javadoc软件包服务的开机自启禁用功能验证服务是否能正常禁用开机自启
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装gmetric4j-javadoc软件包
LOG_INFO "检查gmetric4j-javadoc软件包是否已安装"
rpm -q gmetric4j-javadoc
if [ $? -eq 0 ]; then
LOG_INFO "gmetric4j-javadoc软件包已安装"
installed=true
else
LOG_INFO "gmetric4j-javadoc软件包未安装"
installed=false
fi
# 检查yum源中是否存在gmetric4j-javadoc软件包
LOG_INFO "检查yum源中是否存在gmetric4j-javadoc软件包"
dnf list available gmetric4j-javadoc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在gmetric4j-javadoc软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$installed" = false ]; then
LOG_INFO "安装gmetric4j-javadoc软件包"
dnf install -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "安装gmetric4j-javadoc软件包失败"
fi
# 检查服务是否存在
LOG_INFO "检查gmetric4j-javadoc服务是否存在"
systemctl list-unit-files | grep gmetric4j-javadoc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "gmetric4j-javadoc服务不存在"
exit 255
fi
# 禁用服务开机自启
LOG_INFO "禁用gmetric4j-javadoc服务开机自启"
systemctl disable gmetric4j-javadoc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "禁用gmetric4j-javadoc服务开机自启失败"
# 验证服务是否已禁用开机自启
LOG_INFO "验证gmetric4j-javadoc服务是否已禁用开机自启"
systemctl is-enabled gmetric4j-javadoc | grep disabled > /dev/null 2>&1
CHECK_RESULT $? 0 0 "gmetric4j-javadoc服务未成功禁用开机自启"
# 恢复环境
if [ "$installed" = false ]; then
LOG_INFO "卸载gmetric4j-javadoc软件包"
dnf remove -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "卸载gmetric4j-javadoc软件包失败"
fi
}
main "$@"

View File

@@ -1,78 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试gmetric4j-javadoc软件包服务的开机自启功能验证服务是否能正常设置为开机自启
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试gmetric4j-javadoc软件包服务的开机自启功能"
# 检查yum源中是否存在gmetric4j-javadoc软件包
LOG_INFO "检查yum源中是否存在gmetric4j-javadoc软件包"
dnf list available gmetric4j-javadoc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在gmetric4j-javadoc软件包"
exit 255
fi
# 检查是否已安装gmetric4j-javadoc软件包
LOG_INFO "检查是否已安装gmetric4j-javadoc软件包"
rpm -q gmetric4j-javadoc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "gmetric4j-javadoc软件包已安装"
INSTALLED=1
else
LOG_INFO "gmetric4j-javadoc软件包未安装开始安装"
dnf install -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "安装gmetric4j-javadoc软件包失败"
INSTALLED=0
fi
# 检查服务是否存在
LOG_INFO "检查gmetric4j-javadoc服务是否存在"
systemctl list-unit-files | grep gmetric4j-javadoc.service > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "gmetric4j-javadoc服务不存在"
if [ $INSTALLED -eq 0 ]; then
dnf remove -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "卸载gmetric4j-javadoc软件包失败"
fi
exit 255
fi
# 测试设置开机自启
LOG_INFO "测试设置gmetric4j-javadoc服务开机自启"
systemctl enable gmetric4j-javadoc.service > /dev/null 2>&1
CHECK_RESULT $? 0 0 "设置gmetric4j-javadoc服务开机自启失败"
# 验证服务是否已设置为开机自启
LOG_INFO "验证gmetric4j-javadoc服务是否已设置为开机自启"
systemctl is-enabled gmetric4j-javadoc.service | grep enabled > /dev/null 2>&1
CHECK_RESULT $? 0 0 "gmetric4j-javadoc服务未设置为开机自启"
# 恢复环境
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "恢复环境卸载gmetric4j-javadoc软件包"
dnf remove -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "卸载gmetric4j-javadoc软件包失败"
fi
LOG_INFO "测试g metric4j javadoc软件包服务的开机自启功能完成"
}
main "$@"

View File

@@ -1,64 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试gmetric4j-javadoc软件包服务的日志查看功能验证服务日志是否能正常查看
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试gmetric4j-javadoc软件包服务的日志查看功能"
# 检查软件包是否已安装
LOG_INFO "检查gmetric4j-javadoc软件包是否已安装"
if dnf list installed gmetric4j-javadoc &>/dev/null; then
LOG_INFO "gmetric4j-javadoc软件包已安装跳过安装步骤"
installed=true
else
LOG_INFO "gmetric4j-javadoc软件包未安装准备安装"
installed=false
fi
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否有gmetric4j-javadoc软件包"
if ! dnf list available gmetric4j-javadoc &>/dev/null; then
LOG_ERROR "yum源中未找到gmetric4j-javadoc软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$installed" = false ]; then
LOG_INFO "安装gmetric4j-javadoc软件包"
dnf install -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "安装gmetric4j-javadoc软件包失败"
fi
# 验证服务日志查看功能
LOG_INFO "验证服务日志查看功能"
journalctl -u gmetric4j-javadoc.service --no-pager
CHECK_RESULT $? 0 0 "查看gmetric4j-javadoc服务日志失败"
# 如果脚本开始时未安装,则卸载软件包以恢复环境
if [ "$installed" = false ]; then
LOG_INFO "卸载gmetric4j-javadoc软件包以恢复环境"
dnf remove -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "卸载gmetric4j-javadoc软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,77 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试gmetric4j-javadoc软件包服务的日志轮转功能验证日志轮转是否能正常执行并生效
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试gmetric4j-javadoc软件包服务的日志轮转功能"
# 检查软件包是否已安装
if dnf list installed gmetric4j-javadoc &>/dev/null; then
LOG_INFO "gmetric4j-javadoc软件包已安装"
INSTALLED=true
else
LOG_INFO "gmetric4j-javadoc软件包未安装将进行安装"
INSTALLED=false
fi
# 检查yum源中是否有该软件包
if ! dnf list available gmetric4j-javadoc &>/dev/null; then
LOG_ERROR "yum源中未找到gmetric4j-javadoc软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "正在安装gmetric4j-javadoc软件包"
dnf install -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "安装gmetric4j-javadoc软件包失败"
fi
# 检查日志轮转功能是否支持
LOG_INFO "检查日志轮转功能是否支持"
if ! logrotate --help | grep -q "gmetric4j"; then
LOG_ERROR "日志轮转功能不支持gmetric4j-javadoc服务"
exit 255
fi
# 执行日志轮转测试
LOG_INFO "执行日志轮转测试"
logrotate /etc/logrotate.d/gmetric4j-javadoc
CHECK_RESULT $? 0 0 "日志轮转执行失败"
# 验证日志轮转是否生效
LOG_INFO "验证日志轮转是否生效"
if [ -f /var/log/gmetric4j-javadoc.log.1 ]; then
LOG_INFO "日志轮转已生效"
else
LOG_ERROR "日志轮转未生效"
exit 1
fi
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载gmetric4j-javadoc软件包"
dnf remove -y gmetric4j-javadoc &>/dev/null
else
LOG_INFO "保持gmetric4j-javadoc软件包的安装状态"
fi
}
main "$@"

View File

@@ -1,73 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试gmetric4j-javadoc软件包服务的指标查询功能验证服务指标是否能正常查询
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装gmetric4j-javadoc软件包
LOG_INFO "检查是否已安装gmetric4j-javadoc软件包"
rpm -q gmetric4j-javadoc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "gmetric4j-javadoc软件包已安装"
installed=true
else
LOG_INFO "gmetric4j-javadoc软件包未安装"
installed=false
fi
# 检查yum源中是否存在gmetric4j-javadoc软件包
LOG_INFO "检查yum源中是否存在gmetric4j-javadoc软件包"
dnf list available gmetric4j-javadoc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在gmetric4j-javadoc软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$installed" = false ]; then
LOG_INFO "开始安装gmetric4j-javadoc软件包"
dnf install -y gmetric4j-javadoc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装gmetric4j-javadoc软件包失败"
fi
# 验证服务指标查询功能
LOG_INFO "验证服务指标查询功能"
command_output=$(java -jar /usr/share/gmetric4j/gmetric4j.jar --metrics)
if [ $? -ne 0 ]; then
LOG_ERROR "服务指标查询失败"
exit 255
fi
CHECK_RESULT $? 0 0 "服务指标查询失败"
# 打印查询结果
LOG_INFO "服务指标查询结果: $command_output"
# 如果脚本开始时未安装,则在结束时卸载软件包以恢复环境
if [ "$installed" = false ]; then
LOG_INFO "卸载gmetric4j-javadoc软件包以恢复环境"
dnf remove -y gmetric4j-javadoc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载gmetric4j-javadoc软件包失败"
fi
LOG_INFO "测试脚本执行完成,环境已恢复"
}
main "$@"

View File

@@ -1,119 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试gmetric4j-javadoc软件包服务的指标聚合功能验证服务指标是否能正常聚合并返回预期结果
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查yum源中是否存在指定软件包
check_package_existence() {
local package_name=$1
dnf list available "$package_name" &> /dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 $package_name 在yum源中不存在"
exit 255
fi
}
# 检查命令参数是否有效
check_command_parameter() {
local command=$1
local parameter=$2
# 模拟参数检查逻辑,实际应根据具体命令调整
if [[ "$parameter" != "valid_parameter" ]]; then
LOG_ERROR "命令 $command 不支持参数 $parameter"
exit 255
fi
}
# 安装软件包
install_package() {
local package_name=$1
LOG_INFO "正在安装软件包 $package_name"
dnf install -y "$package_name"
CHECK_RESULT $? 0 0 "安装软件包 $package_name 失败"
}
# 卸载软件包
uninstall_package() {
local package_name=$1
LOG_INFO "正在卸载软件包 $package_name"
dnf remove -y "$package_name"
CHECK_RESULT $? 0 0 "卸载软件包 $package_name 失败"
}
# 检查软件包是否已安装
is_package_installed() {
local package_name=$1
rpm -q "$package_name" &> /dev/null
return $?
}
# 主测试函数测试gmetric4j-javadoc服务的指标聚合功能
test_gmetric4j_javadoc_service_metrics_aggregate() {
local package_name="gmetric4j-javadoc"
local was_installed=false
# 步骤1检查环境是否已安装软件包
LOG_INFO "步骤1检查环境是否已安装软件包 $package_name"
if is_package_installed "$package_name"; then
LOG_INFO "软件包 $package_name 已安装"
was_installed=true
else
LOG_INFO "软件包 $package_name 未安装,将进行安装"
check_package_existence "$package_name"
install_package "$package_name"
fi
# 步骤2验证服务指标聚合功能示例命令
LOG_INFO "步骤2验证服务指标聚合功能"
# 示例命令:调用服务并验证结果(假设使用 "gmetric4j-javadoc --aggregate" 命令)
local command="gmetric4j-javadoc"
local parameter="--aggregate"
check_command_parameter "$command" "$parameter"
$command "$parameter"
CHECK_RESULT $? 0 0 "服务指标聚合功能验证失败"
# SSH到其他节点执行命令的示例假设需要
# SSH_CMD "$command $parameter" "$NODE2_IPV4" "$NODE2_PASSWORD" "$NODE2_USER"
# 步骤3清理环境
LOG_INFO "步骤3清理环境"
if [ "$was_installed" = false ]; then
uninstall_package \""$package_nam"\e"
fi
return 0
}
main() {
test_gmetric4j_javado\c_service_\metrics_aggrega\te || exit $?
exit \0
}
main "$@"
}
main "$@"

View File

@@ -1,80 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试gmetric4j-javadoc软件包服务的指标告警功能验证服务指标告警是否能正常设置并生效
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查软件包是否已安装
if rpm -q gmetric4j-javadoc &>/dev/null; then
LOG_INFO "gmetric4j-javadoc 已安装,测试完成后将保持安装状态"
INSTALLED=true
else
LOG_INFO "gmetric4j-javadoc 未安装,测试完成后将卸载"
INSTALLED=false
fi
# 检查yum源中是否存在gmetric4j-javadoc软件包
LOG_INFO "检查yum源中是否存在gmetric4j-javadoc软件包"
if ! dnf list available gmetric4j-javadoc &>/dev/null; then
LOG_ERROR "yum源中未找到gmetric4j-javadoc软件包"
exit 255
fi
# 安装gmetric4j-javadoc软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装gmetric4j-javadoc软件包"
dnf install -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "安装gmetric4j-javadoc软件包失败"
fi
# 验证服务指标告警功能
LOG_INFO "验证服务指标告警功能"
# 假设有一个命令可以设置和验证告警功能,这里用假想的命令代替
ALERT_COMMAND="gmetric4j-alert --set --type=javadoc --threshold=90"
# 检查命令是否存在且参数支持
if ! command -v gmetric4j-alert &>/dev/null; then
LOG_ERROR "gmetric4j-alert 命令不存在或不支持"
exit 255
fi
# 执行告警设置命令
$ALERT_COMMAND
CHECK_RESULT $? 0 0 "设置服务指标告警失败"
# 验证告警是否生效(假设有一个命令可以验证告警是否生效)
LOG_INFO "验证告警是否生效"
VERIFY_COMMAND="gmetric4j-alert --verify --type=javadoc"
$VERIFY_COMMAND
CHECK_RESULT $? 0 0 "验证服务指标告警失败"
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载gmetric4j-javadoc软件包"
dnf remove -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "卸载gmetric4j-javadoc软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,65 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试gmetric4j-javadoc软件包服务的指标清除功能验证服务指标是否能正常清除
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查gmetric4j-javadoc软件包是否已安装
LOG_INFO "检查gmetric4j-javadoc软件包是否已安装"
rpm -q gmetric4j-javadoc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "gmetric4j-javadoc软件包已安装"
INSTALLED=true
else
LOG_INFO "gmetric4j-javadoc软件包未安装"
INSTALLED=false
fi
# 检查yum源中是否有gmetric4j-javadoc软件包
LOG_INFO "检查yum源中是否有gmetric4j-javadoc软件包"
dnf list available gmetric4j-javadoc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到gmetric4j-javadoc软件包"
exit 255
fi
# 如果未安装则安装gmetric4j-javadoc软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装gmetric4j-javadoc软件包"
dnf install -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "安装gmetric4j-javadoc软件包失败"
fi
# 验证服务指标清除功能
LOG_INFO "验证服务指标清除功能"
# 假设清除指标的命令为clear_metrics实际命令需根据实际情况调整
clear_metrics > /dev/null 2>&1
CHECK_RESULT $? 0 0 "清除服务指标失败"
# 如果脚本开始时未安装则卸载gmetric4j-javadoc软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载gmetric4j-javadoc软件包"
dnf remove -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "卸载gmetric4j-javadoc软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,71 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试gmetric4j-javadoc软件包服务的指标导出功能验证服务指标是否能正常导出
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试gmetric4j-javadoc软件包服务的指标导出功能验证服务指标是否能正常导出"
# 检查是否已安装gmetric4j-javadoc软件包
LOG_INFO "检查是否已安装gmetric4j-javadoc软件包"
if dnf list installed gmetric4j-javadoc &>/dev/null; then
LOG_INFO "gmetric4j-javadoc软件包已安装"
installed=true
else
LOG_INFO "gmetric4j-javadoc软件包未安装"
installed=false
fi
# 检查yum源中是否有gmetric4j-javadoc软件包
LOG_INFO "检查yum源中是否有gmetric4j-javadoc软件包"
if ! dnf list available gmetric4j-javadoc &>/dev/null; then
LOG_ERROR "yum源中未找到gmetric4j-javadoc软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$installed" = false ]; then
LOG_INFO "开始安装gmetric4j-javadoc软件包"
dnf install -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "安装gmetric4j-javadoc软件包失败"
fi
# 验证服务指标导出功能
LOG_INFO "验证服务指标导出功能"
output=$(gmetric4j-javadoc --export)
CHECK_RESULT $? 0 0 "服务指标导出失败"
# 检查输出是否包含预期内容(假设预期内容为"metrics"
LOG_INFO "检查导出的指标内容是否符合预期"
if [[ "$output" != *"metrics"* ]]; then
LOG_ERROR "导出的指标内容不符合预期"
exit 1
fi
# 如果脚本开始时未安装,则在结束时卸载软件包以恢复环境
if [ "$installed" = false ]; then
LOG_INFO "卸载gmetric4j-javadoc软件包以恢复环境"
dnf remove -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "卸载gmetric4j-javadoc软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,77 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试gmetric4j-javadoc软件包服务的指标导出为csv格式功能验证服务指标是否能按csv格式正常导出
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装gmetric4j-javadoc软件包
LOG_INFO "检查是否已安装gmetric4j-javadoc软件包"
rpm -q gmetric4j-javadoc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "gmetric4j-javadoc已安装脚本结束时保持安装状态"
INSTALLED=true
else
LOG_INFO "gmetric4j-javadoc未安装将在测试后卸载"
INSTALLED=false
fi
# 检查yum源中是否存在gmetric4j-javadoc软件包
LOG_INFO "检查yum源中是否存在gmetric4j-javadoc软件包"
dnf list available gmetric4j-javadoc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在gmetric4j-javadoc软件包"
exit 255
fi
# 安装gmetric4j-javadoc软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装gmetric4j-javadoc软件包"
dnf install -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "安装gmetric4j-javadoc软件包失败"
fi
# 检查服务指标导出为csv格式功能
LOG_INFO "测试服务指标导出为csv格式功能"
gmetric4j-javadoc --export-csv metrics.csv
CHECK_RESULT $? 0 0 "服务指标导出为csv格式失败"
# 检查导出的csv文件是否存在且内容有效
LOG_INFO "检查导出的csv文件是否存在且内容有效"
if [ -f "metrics.csv" ]; then
LOG_INFO "csv文件已生成检查文件内容"
head -n 1 metrics.csv | grep -q "timestamp,metric_name,value"
CHECK_RESULT $? 0 0 "csv文件内容不符合预期"
else
LOG_ERROR "未生成csv文件"
exit 1
fi
# 清理环境:如果脚本开始时未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载gmetric4j-javadoc软件包"
dnf remove -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "卸载gmetric4j-javadoc软件包失败"
fi
# 清理临时文件
LOG_INFO "清理临时文件"
rm -f metrics.csv
}
main "$@"

View File

@@ -1,86 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试gmetric4j-javadoc软件包服务的指标导出为html格式功能验证服务指标是否能按html格式正常导出
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试gmetric4j-javadoc软件包服务的指标导出为html格式功能"
# 检查软件包是否已安装
LOG_INFO "检查gmetric4j-javadoc软件包是否已安装"
if rpm -q gmetric4j-javadoc &>/dev/null; then
LOG_INFO "gmetric4j-javadoc软件包已安装跳过安装步骤"
INSTALLED=true
else
LOG_INFO "gmetric4j-javadoc软件包未安装准备安装"
INSTALLED=false
fi
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否有gmetric4j-javadoc软件包"
if ! dnf list available gmetric4j-javadoc &>/dev/null; then
LOG_ERROR "yum源中未找到gmetric4j-javadoc软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "正在安装gmetric4j-javadoc软件包"
dnf install -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "安装gmetric4j-javadoc软件包失败"
fi
# 检查命令参数是否支持
LOG_INFO "检查命令参数是否支持"
if ! gmetric4j-javadoc --help | grep -q "export-html"; then
LOG_ERROR "命令不支持export-html参数"
exit 255
fi
# 执行指标导出为html格式的命令
LOG_INFO "执行指标导出为html格式的命令"
gmetric4j-javadoc --export-html /tmp/gmetric4j_metrics.html
CHECK_RESULT $? 0 0 "指标导出为html格式失败"
# 验证导出的html文件是否存在且非空
LOG_INFO "验证导出的html文件是否存在且非空"
if [ -s "/tmp/gmetric4j_metrics.html" ]; then
LOG_INFO "成功导出指标为html格式"
else
LOG_ERROR "导出的html文件为空或不存在"
exit 1
fi
# 清理环境:如果脚本开始时未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "清理环境卸载gmetric4j-javadoc软件包"
dnf remove -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "卸载gmetric4j-javadoc软件包失败"
fi
# 清理临时文件(如果有)
LOG_INFO "清理临时文件"
rm -f /tmp/gmetric4j_metrics.html
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,76 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试gmetric4j-javadoc软件包服务的指标导出路径功能验证服务指标是否能按指定路径正常导出
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试gmetric4j-javadoc软件包服务的指标导出路径功能"
# 检查是否已安装gmetric4j-javadoc软件包
LOG_INFO "检查gmetric4j-javadoc软件包是否已安装"
dnf list installed gmetric4j-javadoc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "gmetric4j-javadoc软件包已安装脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "gmetric4j-javadoc软件包未安装将在测试步骤中安装"
INSTALLED=false
fi
# 检查yum源中是否有gmetric4j-javadoc软件包
LOG_INFO "检查yum源中是否有gmetric4j-javadoc软件包"
dnf list available gmetric4j-javadoc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到gmetric4j-javadoc软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装gmetric4j-javadoc软件包"
dnf install -y gmetric4j-javadoc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装gmetric4j-javadoc软件包失败"
fi
# 验证服务指标导出路径功能
LOG_INFO "验证服务指标导出路径功能"
gmetric4j-javadoc --export-path /tmp/gmetrics > /dev/null 2>&1
CHECK_RESULT $? 0 0 "服务指标导出路径功能验证失败"
# 检查导出文件是否存在
LOG_INFO "检查导出文件是否存在"
ls /tmp/gmetrics > /dev/null 2>&1
CHECK_RESULT $? 0 0 "未找到导出的指标文件"
# 清理导出文件
LOG_INFO "清理导出的指标文件"
rm -f /tmp/gmetrics > /dev/null 2>&1
CHECK_RESULT $? 0 0 "清理导出文件失败"
# 如果脚本开始时未安装软件包,则在结束时卸载
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载gmetric4j-javadoc软件包"
dnf remove -y gmetric4j-javadoc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载gmetric4j-javadoc软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,73 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试gmetric4j-javadoc软件包服务的指标导出为pdf格式功能验证服务指标是否能按pdf格式正常导出
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装gmetric4j-javadoc软件包
LOG_INFO "检查是否已安装gmetric4j-javadoc软件包"
rpm -q gmetric4j-javadoc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "gmetric4j-javadoc软件包已安装保持安装状态"
installed=true
else
LOG_INFO "gmetric4j-javadoc软件包未安装将在测试后卸载"
installed=false
fi
# 检查yum源中是否有gmetric4j-javadoc软件包
LOG_INFO "检查yum源中是否有gmetric4j-javadoc软件包"
dnf list available gmetric4j-javadoc > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中未找到gmetric4j-javadoc软件包"
# 安装gmetric4j-javadoc软件包
if [ "$installed" = false ]; then
LOG_INFO "安装gmetric4j-javadoc软件包"
dnf install -y gmetric4j-javadoc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装gmetric4j-javadoc软件包失败"
fi
# 检查gmetric4j-javadoc服务是否支持导出pdf格式功能
LOG_INFO "检查gmetric4j-javadoc服务是否支持导出pdf格式功能"
command -v gmetric4j-export-pdf > /dev/null 2>&1
CHECK_RESULT $? 0 255 "gmetric4j-export-pdf命令不存在或不支持"
# 执行导出pdf格式功能测试
LOG_INFO "执行gmetric4j-javadoc服务指标导出为pdf格式功能测试"
gmetric4j-export-pdf --output test_metrics.pdf > /dev/null 2>&1
CHECK_RESULT $? 0 0 "导出pdf格式功能测试失败"
# 验证导出的pdf文件是否存在且非空
LOG_INFO "验证导出的pdf文件是否存在且非空"
[ -s test_metrics.pdf ]
CHECK_RESULT $? 0 0 "导出的pdf文件不存在或为空"
# 清理导出的pdf文件
LOG_INFO "清理导出的pdf文件"
rm -f test_metrics.pdf
# 如果测试前未安装则卸载gmetric4j-javadoc软件包
if [ "$installed" = false ]; then
LOG_INFO "卸载gmetric4j-javadoc软件包"
dnf remove -y gmetric4j-javadoc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载gmetric4j-javadoc软件包失败"
fi
}
main "$@"

View File

@@ -1,74 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试gmetric4j-javadoc软件包服务的指标导出大小功能验证服务指标是否能按指定大小正常导出
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试gmetric4j-javadoc软件包服务的指标导出大小功能验证服务指标是否能按指定大小正常导出"
# 检查软件包是否已安装
LOG_INFO "检查gmetric4j-javadoc软件包是否已安装"
if dnf list installed gmetric4j-javadoc &>/dev/null; then
LOG_INFO "gmetric4j-javadoc软件包已安装脚本结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "gmetric4j-javadoc软件包未安装将在测试结束后卸载"
INSTALLED=false
fi
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否有gmetric4j-javadoc软件包"
if ! dnf list available gmetric4j-javadoc &>/dev/null; then
LOG_ERROR "yum源中未找到gmetric4j-javadoc软件包"
exit 255
fi
# 安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装gmetric4j-javadoc软件包"
dnf install -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "安装gmetric4j-javadoc软件包失败"
fi
# 测试服务指标导出功能
LOG_INFO "测试服务指标导出功能"
export_size=1024 # 假设指定大小为1024
output=$(gmetric4j-javadoc --export-size $export_size)
CHECK_RESULT $? 0 0 "服务指标导出失败"
# 检查导出大小是否符合预期
actual_size=$(echo "$output" | wc -c)
if [ "$actual_size" -ne "$export_size" ]; then
LOG_ERROR "导出的指标大小不符合预期,预期: $export_size, 实际: $actual_size"
exit 1
else
LOG_INFO "导出的指标大小符合预期: $export_size"
fi
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO卸载gmetric4j-javadoc软件包"
dnf remove -y gmetric4j-javadoc
CHECK_RESULT $? 0 0卸载gmetric4j-javadoc软件包失败"
fi
LOG_INFO测试完成环境已恢复"
}
main "$@"

View File

@@ -1,75 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试gmetric4j-javadoc软件包服务的指标导出为sql格式功能验证服务指标是否能按sql格式正常导出
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装gmetric4j-javadoc软件包
LOG_INFO "检查是否已安装gmetric4j-javadoc软件包"
rpm -q gmetric4j-javadoc
if [ $? -eq 0 ]; then
LOG_INFO "gmetric4j-javadoc已安装脚本结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "gmetric4j-javadoc未安装将在测试完成后卸载"
INSTALLED=false
fi
# 检查yum源中是否有gmetric4j-javadoc软件包
LOG_INFO "检查yum源中是否有gmetric4j-javadoc软件包"
dnf list available gmetric4j-javadoc
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到gmetric4j-javadoc软件包"
exit 255
fi
# 安装gmetric4j-javadoc软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装gmetric4j-javadoc软件包"
dnf install -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "安装gmetric4j-javadoc失败"
fi
# 测试服务指标导出为sql格式功能
LOG_INFO "测试服务指标导出为sql格式功能"
gmetric4j-javadoc --export-sql > /tmp/gmetric_export.sql
CHECK_RESULT $? 0 0 "导出服务指标为sql格式失败"
# 验证导出的sql文件是否有效
LOG_INFO "验证导出的sql文件是否有效"
if [ -s /tmp/gmetric_export.sql ]; then
LOG_INFO "sql文件导出成功且内容非空"
else
LOG_ERROR "导出的sql文件为空或不存在"
exit 1
fi
# 清理临时文件
LOG_INFO "清理临时文件"
rm -f /tmp/gmetric_export.sql
# 如果测试前未安装,则卸载软件包以恢复环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载gmetric4j-javadoc软件包以恢复环境"
dnf remove -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "卸载gmetric4j-javadoc失败"
fi
}
main "$@"

View File

@@ -1,81 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试gmetric4j-javadoc软件包服务的指标导出时间功能验证服务指标是否能按指定时间正常导出
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试gmetric4j-javadoc软件包服务的指标导出时间功能验证服务指标是否能按指定时间正常导出"
# 检查软件包是否已安装
LOG_INFO "检查gmetric4j-javadoc软件包是否已安装"
if rpm -q gmetric4j-javadoc >/dev/null 2>&1; then
LOG_INFO "gmetric4j-javadoc软件包已安装脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "gmetric4j-javadoc软件包未安装将在测试结束后卸载"
INSTALLED=false
fi
# 检查yum源中是否有gmetric4j-javadoc软件包
LOG_INFO "检查yum源中是否有gmetric4j-javadoc软件包"
if ! dnf list available gmetric4j-javadoc >/dev/null 2>&1; then
LOG_ERROR "yum源中未找到gmetric4j-javadoc软件包"
exit 255
fi
# 安装gmetric4j-javadoc软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装gmetric4j-javadoc软件包"
dnf install -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "安装gmetric4j-javadoc软件包失败"
fi
# 验证服务指标导出时间功能
LOG_INFO "验证服务指标导出时间功能"
# 假设命令为gmetric4j-javadoc --export-time 10其中10为导出时间间隔
if ! gmetric4j-javadoc --help | grep -q "\-\-export-time"; then
LOG_ERROR "gmetric4j-javadoc命令不支持--export-time参数"
exit 255
fi
LOG_INFO "执行命令gmetric4j-javadoc --export-time 10"
gmetric4j-javadoc --export-time 10 >/dev/null 2>&1 &
PID=$!
sleep 15 # 等待足够时间以确保指标导出
# 检查进程是否仍在运行以确认导出功能正常
if ps -p $PID >/dev/null; then
LOG_INFO "服务指标导出功能正常"
kill $PID
else
LOG_ERROR "服务指标导出功能异常"
CHECK_RESULT $? 0 1 "服务指标导出失败"
fi
# 清理环境:如果脚本开始时未安装软件包,则卸载
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载gmetric4j-javadoc软件包"
dnf remove -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "卸载gmetric4j-javadoc软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,87 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试gmetric4j-javadoc软件包服务的指标导出为txt格式功能验证服务指标是否能按txt格式正常导出
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装gmetric4j-javadoc软件包
LOG_INFO "检查是否已安装gmetric4j-javadoc软件包"
if rpm -q gmetric4j-javadoc &>/dev/null; then
LOG_INFO "gmetric4j-javadoc已安装"
installed=true
else
LOG_INFO "gmetric4j-javadoc未安装"
installed=false
fi
# 检查yum源中是否存在gmetric4j-javadoc软件包
LOG_INFO "检查yum源中是否存在gmetric4j-javadoc软件包"
if ! dnf list available gmetric4j-javadoc &>/dev/null; then
LOG_ERROR "yum源中不存在gmetric4j-javadoc软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$installed" = false ]; then
LOG_INFO "开始安装gmetric4j-javadoc软件包"
dnf install -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "安装gmetric4j-javadoc失败"
fi
# 测试服务指标导出为txt格式功能
LOG_INFO "测试服务指标导出为txt格式功能"
output_file="metrics_export.txt"
gmetric4j-javadoc --export-txt "$output_file"
CHECK_RESULT $? 0 0 "导出服务指标为txt格式失败"
# 检查导出的文件是否存在
LOG_INFO "检查导出的文件是否存在"
if [ ! -f "$output_file" ]; then
LOG_ERROR "导出的文件不存在: $output_file"
exit 1
fi
# 检查文件内容是否符合预期
LOG_INFO "检查导出的文件内容是否符合预期"
if [ -s "$output_file" ]; then
LOG_INFO "文件内容非空,符合预期"
else
LOG_ERROR "文件内容为空,不符合预期"
exit 1
fi
# 清理环境
LOG_INFO "清理环境"
if [ "$installed" = false ]; then
LOG_INFO "卸载gmetric4j-javadoc软件包"
dnf remove -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "卸载gmetric4j-javadoc失败"
fi
# 删除临时文件
LOG_INFO "删除临时文件"
rm -f "$output_file"
CHECK_RESULT $? 0 0 "删除临时文件失败"
LOG_INFO "测试脚本执行完毕,环境已恢复"
}
main "$@"

View File

@@ -1,68 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试gmetric4j-javadoc软件包服务的指标导出为xml格式功能验证服务指标是否能按xml格式正常导出
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装gmetric4j-javadoc软件包
LOG_INFO "检查是否已安装gmetric4j-javadoc软件包"
rpm -q gmetric4j-javadoc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "gmetric4j-javadoc已安装"
installed=true
else
LOG_INFO "gmetric4j-javadoc未安装"
installed=false
fi
# 检查yum源中是否存在gmetric4j-javadoc软件包
LOG_INFO "检查yum源中是否存在gmetric4j-javadoc软件包"
dnf list available gmetric4j-javadoc > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中不存在gmetric4j-javadoc软件包"
# 如果未安装,则安装软件包
if [ "$installed" = false ]; then
LOG_INFO "安装gmetric4j-javadoc软件包"
dnf install -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "安装gmetric4j-javadoc软件包失败"
fi
# 验证服务指标是否能按xml格式正常导出
LOG_INFO "验证服务指标是否能按xml格式正常导出"
gmetric4j-javadoc --export-xml > /tmp/gmetrics.xml 2>&1
CHECK_RESULT $? 0 0 "导出服务指标为xml格式失败"
# 检查导出的xml文件是否存在且非空
LOG_INFO "检查导出的xml文件是否存在且非空"
[ -s /tmp/gmetrics.xml ]
CHECK_RESULT $? 0 0 "导出的xml文件不存在或为空"
# 如果脚本开始时未安装,则在结束时卸载软件包以恢复环境
if [ "$installed" = false ]; then
LOG_INFO "卸载gmetric4j-javadoc软件包以恢复环境"
dnf remove -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "卸载gmetric4j-javadoc软件包失败"
fi
# 清理临时文件
LOG_INFO "清理临时文件"
rm -f /tmp/gmetrics.xml
}
main "$@"

View File

@@ -1,68 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试gmetric4j-javadoc软件包服务的指标导出为yaml格式功能验证服务指标是否能按yaml格式正常导出
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试gmetric4j-javadoc软件包服务的指标导出为yaml格式功能"
# 检查是否已安装gmetric4j-javadoc软件包
LOG_INFO "检查是否已安装gmetric4j-javadoc软件包"
dnf list installed gmetric4j-javadoc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "gmetric4j-javadoc软件包已安装测试结束后保持安装状态"
INSTALLED=true
else
LOG_INFO "gmetric4j-javadoc软件包未安装将在测试结束后卸载"
INSTALLED=false
fi
# 检查yum源中是否有gmetric4j-javadoc软件包
LOG_INFO "检查yum源中是否有gmetric4j-javadoc软件包"
dnf list available gmetric4j-javadoc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到gmetric4j-javadoc软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装gmetric4j-javadoc软件包"
dnf install -y gmetric4j-javadoc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装gmetric4j-javadoc软件包失败"
fi
# 测试服务指标导出为yaml格式功能
LOG_INFO "测试服务指标导出为yaml格式功能"
command_output=$(gmetric4j-javadoc --export-yaml 2>&1)
CHECK_RESULT $? 0 0 "服务指标导出为yaml格式失败"
echo "$command_output" | grep -q "metrics:"
CHECK_RESULT $? 0 0 "导出的yaml格式不符合预期"
# 清理环境:如果测试前未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载gmetric4j-javadoc软件包"
dnf remove -y gmetric4j-javadoc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载gmetric4j-javadoc软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,74 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试gmetric4j-javadoc软件包服务的指标过滤功能验证服务指标是否能正常按条件过滤
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装gmetric4j-javadoc软件包
LOG_INFO "检查是否已安装gmetric4j-javadoc软件包"
rpm -q gmetric4j-javadoc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "gmetric4j-javadoc软件包已安装脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "gmetric4j-javadoc软件包未安装脚本结束时将卸载安装的软件包"
INSTALLED=false
fi
# 检查yum源中是否有gmetric4j-javadoc软件包
LOG_INFO "检查yum源中是否有gmetric4j-javadoc软件包"
dnf list available gmetric4j-javadoc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到gmetric4j-javadoc软件包"
exit 255
fi
# 安装gmetric4j-javadoc软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装gmetric4j-javadoc软件包"
dnf install -y gmetric4j-javadoc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装gmetric4j-javadoc软件包失败"
fi
# 验证服务指标过滤功能
LOG_INFO "验证服务指标过滤功能"
gmetric4j-javadoc --filter test_metric > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "参数--filter不支持或不存在"
exit 255
fi
# 执行过滤命令并验证结果
LOG_INFO "执行过滤命令并验证结果"
gmetric4j-javadoc --filter test_metric | grep test_metric > /dev/null 2>&1
CHECK_RESULT $? 0 0 "服务指标未能按条件过滤"
# 清理环境,恢复到之前的状态
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载gmetric4j-javadoc软件包"
dnf remove -y gmetric4j-javadoc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载gmetric4j-javadoc软件包失败"
fi
LOG_INFO "测试脚本执行完毕,环境已恢复"
exit
}
main "$@"

View File

@@ -1,64 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试gmetric4j-javadoc软件包服务的历史指标查询功能验证服务历史指标是否能正常查询
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装gmetric4j-javadoc软件包
LOG_INFO "检查是否已安装gmetric4j-javadoc软件包"
rpm -q gmetric4j-javadoc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "gmetric4j-javadoc软件包已安装"
INSTALLED=1
else
LOG_INFO "gmetric4j-javadoc软件包未安装"
INSTALLED=0
fi
# 检查yum源中是否有gmetric4j-javadoc软件包
LOG_INFO "检查yum源中是否有gmetric4j-javadoc软件包"
dnf list available gmetric4j-javadoc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到gmetric4j-javadoc软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装gmetric4j-javadoc软件包"
dnf install -y gmetric4j-javadoc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装gmetric4j-javadoc软件包失败"
fi
# 验证服务历史指标查询功能
LOG_INFO "验证服务历史指标查询功能"
command_output=$(gmetric4j-javadoc --query-history 2>&1)
CHECK_RESULT $? 0 0 "查询服务历史指标失败"
# 清理环境
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "清理环境卸载gmetric4j-javadoc软件包"
dnf remove -y gmetric4j-javadoc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载gmetric4j-javadoc软件包失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,75 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试gmetric4j-javadoc软件包服务的指标查询功能验证服务指标是否能正常查询并返回预期结果
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装gmetric4j-javadoc软件包
LOG_INFO "检查是否已安装gmetric4j-javadoc软件包"
rpm -q gmetric4j-javadoc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "gmetric4j-javadoc软件包已安装测试完成后将保持安装状态"
INSTALLED=1
else
LOG_INFO "gmetric4j-javadoc软件包未安装将在测试完成后卸载"
INSTALLED=0
fi
# 检查yum源中是否有gmetric4j-javadoc软件包
LOG_INFO "检查yum源中是否有gmetric4j-javadoc软件包"
dnf list available gmetric4j-javadoc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到gmetric4j-javadoc软件包"
exit 255
fi
# 安装gmetric4j-javadoc软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装gmetric4j-javadoc软件包"
dnf install -y gmetric4j-javadoc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装gmetric4j-javadoc软件包失败"
fi
# 验证服务指标查询功能
LOG_INFO "验证服务指标查询功能"
QUERY_RESULT=$(command_to_query_metrics 2>&1)
CHECK_RESULT $? 0 0 "服务指标查询失败"
# 检查查询结果是否符合预期
LOG_INFO "检查查询结果是否符合预期"
if [[ "$QUERY_RESULT" == *"expected_result"* ]]; then
LOG_INFO "服务指标查询结果符合预期"
else
LOG_ERROR "服务指标查询结果不符合预期"
exit 1
fi
# 清理环境
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始卸载gmetric4j-javadoc软件包"
dnf remove -y gmetric4j-javadoc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载gmetric4j-javadoc软件包失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,109 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试gmetric4j-javadoc软件包服务的指标汇总功能验证服务指标是否能正常汇总并返回预期结果
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查软件包是否存在于yum源中
check_package_existence() {
local package_name=$1
if ! dnf list available "$package_name" &>/dev/null; then
LOG_ERROR "软件包 $package_name 不存在于yum源中"
exit 255
fi
}
# 检查命令参数是否有效
check_command_arguments() {
local command=$1
shift
if ! "$command" --help | grep -q "$1"; then
LOG_ERROR "命令 $command 不支持参数 $1"
exit 255
fi
}
# 检查环境是否已安装软件包
check_installed() {
if rpm -q gmetric4j-javadoc &>/dev/null; then
LOG_INFO "环境已安装 gmetric4j-javadoc 软件包"
return 0
else
LOG_INFO "环境未安装 gmetric4j-javadoc 软件包"
return 1
fi
}
# 安装软件包
install_package() {
LOG_INFO "开始安装 gmetric4j-javadoc 软件包"
dnf install -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "安装 gmetric4j-javadoc 失败"
}
# 卸载软件包
uninstall_package() {
LOG_INFO "开始卸载 gmetric4j-javadoc 软件包"
dnf remove -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "卸载 gmetric4j-javadoc 失败"
}
# 测试服务指标汇总功能
test_service_metrics_summary() {
LOG_INFO "开始测试 gmetric4j-javadoc 服务指标汇总功能"
# TODO: 根据实际需求添加测试步骤,验证服务指标是否能正常汇总并返回预期结果
CHECK_RESULT $? 0 0 "测试 gmetric4j-javadoc 服务指标汇总功能失败"
}
# Main函数
main() {
# 检查软件包是否存在yum源中
check_package_existence "gmetric4j-javadoc"
# 判断环境是否已安装软件包
local installed=false
if check_installed; then
installed=true
fi
#如果未安装,则安装并标记需要卸载
if ! $installed; then
install_package
fi
#执行测试步骤
test_service_metrics_summary
#如果之前未安装,则卸载
if ! $installed; then
uninstall_package
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"
}
main "$@"

View File

@@ -1,65 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试gmetric4j-javadoc软件包服务的指标阈值设置功能验证服务指标阈值是否能正常设置并生效
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查yum源中是否存在gmetric4j-javadoc软件包
LOG_INFO "检查yum源中是否存在gmetric4j-javadoc软件包"
dnf list available gmetric4j-javadoc > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中不存在gmetric4j-javadoc软件包"
# 检查是否已安装gmetric4j-javadoc
LOG_INFO "检查是否已安装gmetric4j-javadoc"
rpm -q gmetric4j-javadoc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_INFO "未安装gmetric4j-javadoc开始安装"
dnf install -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "安装gmetric4j-javadoc失败"
INSTALLED=1
else
LOG_INFO "gmetric4j-javadoc已安装"
INSTALLED=0
fi
# 测试服务指标阈值设置功能
LOG_INFO "测试gmetric4j-javadoc服务指标阈值设置功能"
# 假设设置阈值的命令为gmetric4j-javadoc --set-threshold此处仅为示例
gmetric4j-javadoc --set-threshold > /dev/null 2>&1
CHECK_RESULT $? 0 255 "gmetric4j-javadoc不支持--set-threshold参数"
# 验证服务指标阈值是否生效
LOG_INFO "验证服务指标阈值是否生效"
# 假设验证命令为gmetric4j-javadoc --check-threshold此处仅为示例
gmetric4j-javadoc --check-threshold > /dev/null 2>&1
CHECK_RESULT $? 0 0 "服务指标阈值未生效"
# 清理环境
if [ $INSTALLED -eq 1 ]; then
LOG_INFO "卸载gmetric4j-javadoc"
dnf remove -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "卸载gmetric4j-javadoc失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,78 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试gmetric4j-javadoc软件包服务的重载功能验证服务配置重载是否能正常生效
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试gmetric4j-javadoc软件包服务的重载功能"
# 检查是否已安装gmetric4j-javadoc
LOG_INFO "检查gmetric4j-javadoc是否已安装"
dnf list installed gmetric4j-javadoc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "gmetric4j-javadoc已安装测试结束后保持安装状态"
INSTALLED=true
else
LOG_INFO "gmetric4j-javadoc未安装将在测试结束后卸载"
INSTALLED=false
fi
# 检查yum源中是否有gmetric4j-javadoc软件包
LOG_INFO "检查yum源中是否有gmetric4j-javadoc软件包"
dnf list available gmetric4j-javadoc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到gmetric4j-javadoc软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装gmetric4j-javadoc软件包"
dnf install -y gmetric4j-javadoc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装gmetric4j-javadoc失败"
fi
# 检查服务是否存在并获取服务名
LOG_INFO "检查gmetric4j-javadoc服务是否存在"
SERVICE_NAME=$(systemctl list-unit-files | grep gmetric4j | awk "{print $1}")
if [ -z "$SERVICE_NAME" ]; then
LOG_ERROR "未找到gmetric4j-javadoc服务"
exit 255
fi
# 重载服务配置并验证
LOG_INFO "重载gmetric4j-javadoc服务配置"
systemctl daemon-reload
CHECK_RESULT $? 0 0 "重载服务配置失败"
LOG_INFO "验证服务配置重载是否生效"
systemctl status $SERVICE_NAME > /dev/null 2>&1
CHECK_RESULT $? 0 0 "服务配置重载后状态异常"
# 清理环境:如果测试前未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载gmetric4j-javadoc软件包"
dnf remove -y gmetric4j-javadoc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载gmetric4j-javadoc失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,77 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试gmetric4j-javadoc软件包服务的重启功能验证服务是否能正常重启
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试gmetric4j-javadoc软件包服务的重启功能验证服务是否能正常重启
LOG_INFO "开始测试gmetric4j-javadoc软件包服务的重启功能"
# 检查是否已安装gmetric4j-javadoc
if dnf list installed gmetric4j-javadoc &>/dev/null; then
LOG_INFO "gmetric4j-javadoc已安装测试结束后保持安装状态"
INSTALLED=true
else
LOG_INFO "gmetric4j-javadoc未安装测试结束后将卸载"
INSTALLED=false
fi
# 检查yum源中是否有gmetric4j-javadoc软件包
LOG_INFO "检查yum源中是否有gmetric4j-javadoc软件包"
if ! dnf list available gmetric4j-javadoc &>/dev/null; then
LOG_ERROR "yum源中未找到gmetric4j-javadoc软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装gmetric4j-javadoc软件包"
dnf install -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "安装gmetric4j-javadoc失败"
fi
# 检查服务是否存在
LOG_INFO "检查gmetric4j-javadoc服务是否存在"
if ! systemctl list-unit-files | grep -q gmetric4j-javadoc.service; then
LOG_ERROR "gmetric4j-javadoc服务不存在"
exit 255
fi
# 重启服务
LOG_INFO "重启gmetric4j-javadoc服务"
systemctl restart gmetric4j-javadoc.service
CHECK_RESULT $? 0 0 "重启gmetric4j-javadoc服务失败"
# 检查服务状态
LOG_INFO "检查gmetric4j-javadoc服务状态"
systemctl status gmetric4j-javadoc.service
CHECK_RESULT $? 0 0 "gmetric4j-javadoc服务状态异常"
# 如果最初未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载gmetric4j-javadoc软件包"
dnf remove -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "卸载gmetric4j-javadoc失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,69 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试gmetric4j-javadoc软件包服务的启动功能验证服务是否能正常启动
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查gmetric4j-javadoc软件包是否已安装
LOG_INFO "检查gmetric4j-javadoc软件包是否已安装"
rpm -q gmetric4j-javadoc
if [ $? -eq 0 ]; then
LOG_INFO "gmetric4j-javadoc软件包已安装"
INSTALLED=1
else
LOG_INFO "gmetric4j-javadoc软件包未安装"
INSTALLED=0
fi
# 检查yum源中是否存在gmetric4j-javadoc软件包
LOG_INFO "检查yum源中是否存在gmetric4j-javadoc软件包"
dnf list available gmetric4j-javadoc > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中不存在gmetric4j-javadoc软件包"
# 如果未安装,则安装软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装gmetric4j-javadoc软件包"
dnf install -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "安装gmetric4j-javadoc软件包失败"
fi
# 启动服务并验证服务状态
LOG_INFO "启动gmetric4j-javadoc服务并验证状态"
systemctl start gmetric4j-javadoc
CHECK_RESULT $? 0 0 "启动gmetric4j-javadoc服务失败"
systemctl status gmetric4j-javadoc | grep "active (running)"
CHECK_RESULT $? 0 0 "gmetric4j-javadoc服务未正常运行"
# 停止服务
LOG_INFO "停止gmetric4j-javadoc服务"
systemctl stop gmetric4j-javadoc
CHECK_RESULT $? 0 0 "停止gmetric4j-javadoc服务失败"
# 如果最初未安装,则卸载软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载gmetric4j-javadoc软件包"
dnf remove -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "卸载gmetric4j-javadoc软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,66 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试gmetric4j-javadoc软件包服务的状态查询功能验证服务状态是否能正常查询
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查gmetric4j-javadoc软件包是否已安装
LOG_INFO "检查gmetric4j-javadoc软件包是否已安装"
rpm -q gmetric4j-javadoc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "gmetric4j-javadoc软件包已安装"
INSTALLED=true
else
LOG_INFO "gmetric4j-javadoc软件包未安装"
INSTALLED=false
fi
# 检查yum源中是否存在gmetric4j-javadoc软件包
LOG_INFO "检查yum源中是否存在gmetric4j-javadoc软件包"
dnf list available gmetric4j-javadoc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在gmetric4j-javadoc软件包"
exit 255
fi
# 如果未安装则安装gmetric4j-javadoc软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装gmetric4j-javadoc软件包"
dnf install -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "安装gmetric4j-javadoc软件包失败"
fi
# 查询gmetric4j-javadoc服务状态
LOG_INFO "查询gmetric4j-javadoc服务状态"
systemctl status gmetric4j-javadoc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "查询gmetric4j-javadoc服务状态失败"
# 如果脚本开始时未安装则在结束时卸载gmetric4j-javadoc软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载gmetric4j-javadoc软件包"
dnf remove -y gmetric4j-javadoc
CHECK_RESULT $? 0 0 "卸载gmetric4j-javadoc软件包失败"
fi
LOG_INFO "测试脚本执行完成,环境已恢复"
}
main "$@"

View File

@@ -1,74 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试gmetric4j-javadoc软件包服务的停止功能验证服务是否能正常停止
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查gmetric4j-javadoc软件包是否已安装
LOG_INFO "检查gmetric4j-javadoc软件包是否已安装"
rpm -q gmetric4j-javadoc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "gmetric4j-javadoc软件包已安装"
INSTALLED=1
else
LOG_INFO "gmetric4j-javadoc软件包未安装"
INSTALLED=0
fi
# 检查yum源中是否存在gmetric4j-javadoc软件包
LOG_INFO "检查yum源中是否存在gmetric4j-javadoc软件包"
dnf list available gmetric4j-javadoc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在gmetric4j-javadoc软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装gmetric4j-javadoc软件包"
dnf install -y gmetric4j-javadoc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装gmetric4j-javadoc软件包失败"
fi
# 检查服务是否存在
LOG_INFO "检查gmetric4j-javadoc服务是否存在"
systemctl list-unit-files | grep gmetric4j-javadoc.service > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "gmetric4j-javadoc服务不存在"
exit 255
fi
# 停止服务并验证
LOG_INFO "停止gmetric4j-javadoc服务"
systemctl stop gmetric4j-javadoc.service > /dev/null 2>&1
CHECK_RESULT $? 0 0 "停止gmetric4j-javadoc服务失败"
LOG_INFO "验证gmetric4j-javadoc服务是否已停止"
systemctl status gmetric4j-javadoc.service | grep inactive > /dev/null 2>&1
CHECK_RESULT $? 0 0 "gmetric4j-javadoc服务未停止"
# 恢复环境:如果脚本开始时未安装,则卸载软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载gmetric4j-javadoc软件包"
dnf remove -y gmetric4j-javadoc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载gmetric4j-javadoc软件包失败"
fi
}
main "$@"

View File

@@ -1,73 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-28
# @License : Mulan PSL v2
# @Desc : 测试hunspell-en-help软件包是否正确安装并可被系统识别
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试hunspell-en-help软件包是否正确安装并可被系统识别"
LOG_INFO "检查yum源中是否存在hunspell-en-help软件包"
dnf list available hunspell-en-help 2>&1 | grep -q "hunspell-en-help"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到hunspell-en-help软件包"
exit 255
fi
LOG_INFO "检查系统是否已安装hunspell-en-help软件包"
rpm -q hunspell-en-help > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "hunspell-en-help软件包已安装测试结束后保持安装状态"
already_installed=true
else
LOG_INFO "hunspell-en-help软件包未安装将在测试过程中安装"
already_installed=false
fi
if [ "$already_installed" = "false" ]; then
LOG_INFO "安装hunspell-en-help软件包"
dnf install -y hunspell-en-help
CHECK_RESULT $? 0 0 "安装hunspell-en-help软件包失败"
fi
LOG_INFO "验证hunspell-en-help软件包是否正确安装"
rpm -q hunspell-en-help
CHECK_RESULT $? 0 0 "hunspell-en-help软件包未正确安装"
LOG_INFO "测试hunspell-en-help软件包是否可被系统识别"
hunspell --help 2>&1 | grep -q "Usage:"
CHECK_RESULT $? 0 0 "hunspell命令无法识别"
LOG_INFO "测试hunspell-en-help软件包的具体功能"
hunspell -d en_US -l /dev/null 2>&1 | head -5
CHECK_RESULT $? 0 0 "hunspell-en-help软件包功能测试失败"
if [ "$already_installed" = "false" ]; then
LOG_INFO "卸载hunspell-en-help软件包"
dnf remove -y hunspell-en-help
CHECK_RESULT $? 0 0 "卸载hunspell-en-help软件包失败"
LOG_INFO "验证hunspell-en-help软件包已卸载"
rpm -q hunspell-en-help
CHECK_RESULT $? 1 0 "hunspell-en-help软件包卸载失败"
fi
LOG_INFO "hunspell-en-help软件包安装与功能测试完成"
}
main "$@"

View File

@@ -1,67 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-28
# @License : Mulan PSL v2
# @Desc : 测试hunspell-en-help软件包的帮助文档内容是否包含hunspell相关关键字
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查hunspell-en-help软件包是否已安装
LOG_INFO "检查hunspell-en-help软件包是否已安装"
rpm -q hunspell-en-help
is_installed=$?
# 如果软件包未安装,则尝试安装
if [ $is_installed -ne 0 ]; then
LOG_INFO "软件包未安装开始安装hunspell-en-help"
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否有hunspell-en-help软件包"
dnf list available hunspell-en-help 2>/dev/null | grep -q hunspell-en-help
CHECK_RESULT $? 0 255 "yum源中未找到hunspell-en-help软件包"
# 安装软件包
LOG_INFO "安装hunspell-en-help软件包"
dnf install -y hunspell-en-help
CHECK_RESULT $? 0 0 "安装hunspell-en-help软件包失败"
else
LOG_INFO "hunspell-en-help软件包已安装"
fi
# 测试hunspell-en-help软件包的帮助文档内容是否包含hunspell相关关键字
LOG_INFO "测试hunspell-en-help软件包的帮助文档内容是否包含hunspell相关关键字"
rpm -qd hunspell-en-help | while read doc_file; do
if [ -f "$doc_file" ]; then
LOG_INFO "检查文档文件: $doc_file"
grep -i "hunspell" "$doc_file" >/dev/null 2>&1
CHECK_RESULT $? 0 0 "文档文件 $doc_file 中未找到hunspell相关关键字"
fi
done
# 清理环境:如果测试前未安装,则卸载软件包
if [ $is_installed -ne 0 ]; then
LOG_INFO "清理环境卸载hunspell-en-help软件包"
dnf remove -y hunspell-en-help
CHECK_RESULT $? 0 0 "卸载hunspell-en-help软件包失败"
else
LOG_INFO "保持软件包安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,70 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-28
# @License : Mulan PSL v2
# @Desc : 测试hunspell-en-help软件包能否正常安装
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试hunspell-en-help软件包安装功能"
# 检查软件包是否已在yum源中
LOG_INFO "检查hunspell-en-help软件包是否在yum源中"
dnf list available hunspell-en-help > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到hunspell-en-help软件包"
exit 255
fi
# 检查系统是否已安装该软件包
LOG_INFO "检查系统是否已安装hunspell-en-help软件包"
rpm -q hunspell-en-help > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "hunspell-en-help软件包已安装标记为保持安装状态"
ALREADY_INSTALLED=1
else
LOG_INFO "hunspell-en-help软件包未安装将进行安装测试"
ALREADY_INSTALLED=0
fi
# 如果未安装,则执行安装测试
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "开始安装hunspell-en-help软件包"
dnf install -y hunspell-en-help
CHECK_RESULT $? 0 0 "安装hunspell-en-help软件包失败"
LOG_INFO "hunspell-en-help软件包安装成功"
fi
# 验证软件包基本功能(例如查看帮助信息)
LOG_INFO "验证hunspell-en-help软件包基本功能"
hunspell --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "hunspell命令执行失败"
# 环境恢复:如果测试前未安装,则卸载软件包
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "测试完成,清理测试环境"
dnf remove -y hunspell-en-help
CHECK_RESULT $? 0 0 "卸载hunspell-en-help软件包失败"
LOG_INFO "hunspell-en-help软件包已卸载环境已恢复"
else
LOG_INFO "测试完成保持hunspell-en-help软件包安装状态"
fi
LOG_INFO "hunspell-en-help软件包安装功能测试完成"
}
main "$@"

View File

@@ -1,84 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-28
# @License : Mulan PSL v2
# @Desc : 测试hunspell-en-help软件包能否正常卸载
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试hunspell-en-help软件包能否正常卸载"
LOG_INFO "步骤1检查yum源中是否有hunspell-en-help软件包"
dnf list available hunspell-en-help 2>/dev/null | grep -q hunspell-en-help
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到hunspell-en-help软件包"
exit 255
fi
LOG_INFO "hunspell-en-help软件包在yum源中存在"
LOG_INFO "步骤2检查hunspell-en-help软件包是否已安装"
rpm -q hunspell-en-help >/dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "hunspell-en-help软件包已安装测试结束后将保持安装状态"
INSTALLED_BEFORE=1
else
LOG_INFO "hunspell-en-help软件包未安装将进行安装和卸载测试"
INSTALLED_BEFORE=0
fi
if [ $INSTALLED_BEFORE -eq 0 ]; then
LOG_INFO "步骤3安装hunspell-en-help软件包"
dnf install -y hunspell-en-help
CHECK_RESULT $? 0 0 "安装hunspell-en-help软件包失败"
LOG_INFO "hunspell-en-help软件包安装成功"
fi
LOG_INFO "步骤4验证hunspell-en-help软件包是否安装成功"
rpm -q hunspell-en-help >/dev/null 2>&1
CHECK_RESULT $? 0 0 "hunspell-en-help软件包未正确安装"
LOG_INFO "步骤5执行hunspell-en-help命令测试"
hunspell-en-help --help 2>&1 | grep -q "Usage:"
CHECK_RESULT $? 0 0 "hunspell-en-help命令参数不支持或不存在"
LOG_INFO "步骤6卸载hunspell-en-help软件包"
if [ $INSTALLED_BEFORE -eq 0 ]; then
dnf remove -y hunspell-en-help
CHECK_RESULT $? 0 0 "卸载hunspell-en-help软件包失败"
LOG_INFO "hunspell-en-help软件包卸载成功"
else
LOG_INFO "测试前已安装hunspell-en-help软件包跳过卸载步骤"
fi
LOG_INFO "步骤7验证hunspell-en-help软件包是否已卸载"
if [ $INSTALLED_BEFORE -eq 0 ]; then
rpm -q hunspell-en-help >/dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_ERROR "hunspell-en-help软件包卸载后仍存在"
exit 1
else
LOG_INFO "hunspell-en-help软件包已成功卸载"
fi
else
rpm -q hunspell-en-help >/dev/null 2>&1
CHECK_RESULT $? 0 0 "hunspell-en-help软件包意外丢失"
LOG_INFO "hunspell-en-help软件包仍保持安装状态"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,62 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-03
# @License : Mulan PSL v2
# @Desc : Test loading configuration
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装python-cfgv-help包
LOG_INFO "检查是否已安装python-cfgv-help包"
if rpm -q python-cfgv-help &>/dev/null; then
LOG_INFO "python-cfgv-help包已安装脚本结束时将保持安装状态"
installed=true
else
LOG_INFO "python-cfgv-help包未安装将在测试结束后卸载"
installed=false
fi
# 检查yum源中是否有python-cfgv-help包
LOG_INFO "检查yum源中是否有python-cfgv-help包"
if ! dnf list available python-cfgv-help &>/dev/null; then
LOG_ERROR "yum源中未找到python-cfgv-help包"
exit 255
fi
# 安装python-cfgv-help包
LOG_INFO "安装python-cfgv-help包"
dnf install -y python-cfgv-help
CHECK_RESULT $? 0 0 "安装python-cfgv-help包失败"
# 测试加载配置功能
LOG_INFO "测试加载配置功能"
python -c "import cfgv; cfgv.load_config()"
CHECK_RESULT $? 0 0 "加载配置功能测试失败"
# 如果脚本开始时未安装,则在结束时卸载
if [ "$installed" = false ]; then
LOG_INFO "卸载python-cfgv-help包"
dnf remove -y python-cfgv-help
CHECK_RESULT $? 0 0 "卸载python-cfgv-help包失败"
fi
LOG_INFO "测试脚本执行完毕,环境已恢复"
}
main "$@"

View File

@@ -1,64 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-13
# @License : Mulan PSL v2
# @Desc : 测试python3-httpcore软件包的安装功能验证安装是否成功。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装python3-httpcore
LOG_INFO "检查是否已安装python3-httpcore"
if dnf list installed python3-httpcore &>/dev/null; then
LOG_INFO "python3-httpcore已安装脚本结束后保持安装状态"
installed=true
else
LOG_INFO "python3-httpcore未安装脚本结束后将卸载"
installed=false
fi
# 检查yum源中是否有python3-httpcore软件包
LOG_INFO "检查yum源中是否有python3-httpcore软件包"
if ! dnf list available python3-httpcore &>/dev/null; then
LOG_ERROR "yum源中未找到python3-httpcore软件包"
exit 255
fi
# 安装python3-httpcore软件包
LOG_INFO "开始安装python3-httpcore软件包"
dnf install -y python3-httpcore
CHECK_RESULT $? 0 0 "安装python3-httpcore失败"
# 验证安装是否成功
LOG_INFO "验证python3-httpcore是否安装成功"
if ! dnf list installed python3-httpcore &>/dev/null; then
LOG_ERROR "验证失败python3-httpcore未正确安装"
exit 1
fi
# 如果脚本开始时未安装,则在结束前卸载软件包
if [ "$installed" = false ]; then
LOG_INFO "脚本开始时未安装,执行卸载操作"
dnf remove -y python3-httpcore
CHECK_RESULT $? 0 0 "卸载python3-httpcore失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,75 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-13
# @License : Mulan PSL v2
# @Desc : 测试python3-httpcore软件包的HTTP请求功能验证请求是否成功。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查yum源中是否存在python3-httpcore软件包
LOG_INFO "检查yum源中是否存在python3-httpcore软件包"
dnf list available python3-httpcore > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在python3-httpcore软件包"
exit 255
fi
# 检查是否已安装python3-httpcore
LOG_INFO "检查是否已安装python3-httpcore"
rpm -q python3-httpcore > /dev/null 2>&1
if [ $? -eq 0 ]; then
installed=true
LOG_INFO "python3-httpcore已安装"
else
installed=false
LOG_INFO "python3-httpcore未安装将进行安装"
fi
# 如果未安装则安装python3-httpcore
if [ "$installed" = false ]; then
LOG_INFO "安装python3-httpcore"
dnf install -y python3-httpcore > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装python3-httpcore失败"
fi
# 测试HTTP请求功能
LOG_INFO "测试python3-httpcore的HTTP请求功能"
response=$(python3 -c "import http.client; conn = http.client.HTTPConnection("example.com"); conn.request("GET", "/"); res = conn.getresponse(); print(res.status)")
CHECK_RESULT $? 0 0 "HTTP请求失败"
# 验证请求是否成功
LOG_INFO "验证HTTP请求是否成功"
if [ "$response" -eq 200 ]; then
LOG_INFO "HTTP请求成功状态码为200"
else
LOG_ERROR "HTTP请求失败状态码为$response"
exit $?
fi
# 如果脚本开始时未安装python3-httpcore则在结束时卸载它
if [ "$installed" = false ]; then
LOG_INFO "卸载python3-httpcore"
dnf remove -y python3-httpcore > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载python3-httpcore失败"
fi
LOG_INFO "测试脚本执行完毕,环境已恢复"
}
main "$@"

View File

@@ -1,66 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-13
# @License : Mulan PSL v2
# @Desc : 测试python3-httpcore软件包的SSL功能验证SSL连接是否成功。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试python3-httpcore软件包的SSL功能验证SSL连接是否成功。"
# 检查yum源中是否存在python3-httpcore软件包
LOG_INFO "检查yum源中是否存在python3-httpcore软件包"
dnf list available python3-httpcore &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在python3-httpcore软件包"
exit 255
fi
# 检查是否已安装python3-httpcore
LOG_INFO "检查是否已安装python3-httpcore"
rpm -q python3-httpcore &>/dev/null
if [ $? -eq 0 ]; then
installed=true
LOG_INFO "python3-httpcore已安装"
else
installed=false
LOG_INFO "python3-httpcore未安装将进行安装"
fi
# 如果未安装则安装python3-httpcore
if [ "$installed" = false ]; then
LOG_INFO "安装python3-httpcore"
dnf install -y python3-httpcore
CHECK_RESULT $? 0 0 "安装python3-httpcore失败"
fi
# 测试SSL连接功能
LOG_INFO "测试SSL连接功能"
response=$(curl -s https://www.example.com)
CHECK_RESULT $? 0 0 "SSL连接测试失败"
# 清理环境如果脚本开始时未安装则卸载python3-httpcore
if [ "$installed" = false ]; then
LOG_INFO "卸载python3-httpcore"
dnf remove -y python3-httpcore
CHECK_RESULT $? 0 0 "卸载python3-httpcore失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,77 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-06-20
# @License : Mulan PSL v2
# @Desc : 测试python3-httpcore软件包的回滚功能验证回滚是否成功。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试python3-httpcore软件包的回滚功能"
# 检查是否已安装python3-httpcore
LOG_INFO "检查是否已安装python3-httpcore"
if dnf list installed python3-httpcore &>/dev/null; then
LOG_INFO "python3-httpcore已安装脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "python3-httpcore未安装将在测试结束后卸载"
INSTALLED=false
fi
# 检查yum源中是否有python3-httpcore软件包
LOG_INFO "检查yum源中是否有python3-httpcore软件包"
if ! dnf list available python3-httpcore &>/dev/null; then
LOG_ERROR "yum源中未找到python3-httpcore软件包"
exit 255
fi
# 安装python3-httpcore软件包
LOG_INFO "安装python3-httpcore软件包"
dnf install -y python3-httpcore
CHECK_RESULT $? 0 0 "安装python3-httpcore失败"
# 获取当前版本号
LOG_INFO "获取当前版本号"
CURRENT_VERSION=$(rpm -q --queryformat '%{VERSION}' python3-httpcore)
CHECK_RESULT $? 0 0 "获取当前版本号失败"
# 回滚到上一个版本
LOG_INFO "回滚到上一个版本"
dnf history undo last -y --skip-broken
CHECK_RESULT $? 0 0 "回滚操作失败"
# 验证回滚是否成功
LOG_INFO "验证回滚是否成功"
ROLLBACK_VERSION=$(rpm -q --queryformat '%{VERSION}' python3-httpcore)
if [ "$ROLLBACK_VERSION" != "$CURRENT_VERSION" ]; then
LOG_INFO "回滚成功,当前版本: $ROLLBACK_VERSION,原版本: $CURRENT_VERSION"
else
LOG_ERROR "回滚失败,版本未发生变化"
exit 1
fi
# 清理环境:如果初始未安装则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "清理环境卸载python3-httpcore软件包"
dnf remove -y python3-httpcore
CHECK_RESULT $? 0 0 "卸载python3-httpcore失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -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-04
# @License : Mulan PSL v2
# @Desc : Test gem installation
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试Test gem installation"
LOG_INFO "步骤1检查yum源中是否有rubygem-msgpack-help软件包"
if ! dnf list available rubygem-msgpack-help &>/dev/null; then
LOG_ERROR "yum源中未找到rubygem-msgpack-help软件包"
exit 255
fi
LOG_INFO "步骤2检查当前环境是否已安装rubygem-msgpack-help"
if rpm -q rubygem-msgpack-help &>/dev/null; then
LOG_INFO "环境已安装rubygem-msgpack-help脚本结束时将保持安装状态"
INSTALLED_BEFORE=true
else
LOG_INFO "环境未安装rubygem-msgpack-help将进行安装测试"
INSTALLED_BEFORE=false
fi
if [ "$INSTALLED_BEFORE" = "false" ]; then
LOG_INFO "步骤3安装rubygem-msgpack-help软件包"
dnf install -y rubygem-msgpack-help
CHECK_RESULT $? 0 0 "安装rubygem-msgpack-help失败"
fi
LOG_INFO "步骤4验证rubygem-msgpack-help命令是否可用"
if ! command -v msgpack-help &>/dev/null; then
LOG_ERROR "msgpack-help命令未找到"
if [ "$INSTALLED_BEFORE" = "false" ]; then
dnf remove -y rubygem-msgpack-help
fi
exit 1
fi
LOG_INFO "步骤5测试msgpack-help命令基本功能"
msgpack-help --version
CHECK_RESULT $? 0 0 "msgpack-help --version 执行失败"
LOG_INFO "步骤6检查不支持的参数"
if msgpack-help --invalid-option &>/dev/null; then
LOG_ERROR "msgpack-help接受了无效参数"
if [ "$INSTALLED_BEFORE" = "false" ]; then
dnf remove -y rubygem-msgpack-help
fi
exit 255
fi
LOG_INFO "步骤7清理测试环境"
if [ "$INSTALLED_BEFORE" = "false" ]; then
LOG_INFO "卸载测试安装的rubygem-msgpack-help软件包"
dnf remove -y rubygem-msgpack-help
CHECK_RESULT $? 0 0 "卸载rubygem-msgpack-help失败"
else
LOG_INFO "保持原有安装状态,不进行卸载"
fi
LOG_INFO "测试完成Test gem installation"
}
main "$@"

View File

@@ -1,71 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-11
# @License : Mulan PSL v2
# @Desc : Test packing functionality
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查yum源中是否存在rubygem-msgpack软件包
LOG_INFO "检查yum源中是否存在rubygem-msgpack软件包"
dnf list available rubygem-msgpack &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到rubygem-msgpack软件包"
exit 255
fi
# 检查是否已安装rubygem-msgpack
LOG_INFO "检查是否已安装rubygem-msgpack"
rpm -q rubygem-msgpack &>/dev/null
if [ $? -eq 0 ]; then
installed=true
LOG_INFO "rubygem-msgpack已安装"
else
installed=false
LOG_INFO "rubygem-msgpack未安装将进行安装"
fi
# 如果未安装则安装rubygem-msgpack
if [ "$installed" = false ]; then
LOG_INFO "安装rubygem-msgpack"
dnf install -y rubygem-msgpack
CHECK_RESULT $? 0 0 "安装rubygem-msgpack失败"
fi
# 测试pack功能
LOG_INFO "测试pack功能"
echo "require "msgpack"; puts MessagePack.pack({"test" => "data"})" > test_pack.rb
ruby test_pack.rb
CHECK_RESULT $? 0 0 "pack功能测试失败"
# 清理临时文件
LOG_INFO "清理临时文件"
rm -f test_pack.rb
# 如果之前未安装则卸载rubygem-msgpack
if [ "$installed" = false ]; then
LOG_INFO "卸载rubygem-msgpack"
dnf remove -y rubygem-msgpack
CHECK_RESULT $? 0 0 "卸载rubygem-msgpack失败"
fi
LOG_INFO "测试脚本执行完毕"
}
main "$@"

View File

@@ -1,59 +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-04
# @License : Mulan PSL v2
# @Desc : Test library loading
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试: Test library loading"
LOG_INFO "步骤1: 检查环境是否已安装rubygem-msgpack软件包"
rpm -q rubygem-msgpack > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "环境已安装rubygem-msgpack脚本结束后保持安装状态"
INSTALLED_BEFORE=true
else
LOG_INFO "环境未安装rubygem-msgpack将在测试过程中安装并在结束时卸载"
INSTALLED_BEFORE=false
fi
LOG_INFO "步骤2: 检查yum源中是否有rubygem-msgpack软件包"
dnf list available rubygem-msgpack > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到rubygem-msgpack软件包"
exit 255
fi
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "步骤3: 安装rubygem-msgpack软件包"
dnf install -y rubygem-msgpack > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装rubygem-msgpack失败"
fi
LOG_INFO "步骤4: 测试require "msgpack"库加载"
ruby -e "require "msgpack"" 2>&1
CHECK_RESULT $? 0 0 "require "msgpack"库加载失败"
LOG_INFO "步骤5: 测试require "msgpack"库加载后功能"
ruby -e "require "msgpack"; puts MessagePack.pack([1,2,3]).class" 2>&1 | grep -q "String"
CHECK_RESULT $? 0 0 "msgpack库功能测试失败"
LOG_INFO "步骤6: 清理环境"
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "卸载测试过程中安装的rubygem-msgpack软件包"
dnf remove -y rubygem-msgpack > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载rubygem-msgpack失败"
fi
LOG_INFO "测试完成: Test library loading"
}
main "$@"

View File

@@ -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-04
# @License : Mulan PSL v2
# @Desc : Test unpacking data
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Test unpacking data"
# 检查是否已安装 rubygem-msgpack 软件包
LOG_INFO "步骤1检查 rubygem-msgpack 是否已安装"
if dnf list installed rubygem-msgpack &>/dev/null; then
LOG_INFO "rubygem-msgpack 已安装,测试后保持安装状态"
INSTALLED=true
else
LOG_INFO "rubygem-msgpack 未安装,将在测试过程中安装"
INSTALLED=false
fi
# 检查 yum 源中是否有 rubygem-msgpack 软件包
LOG_INFO "步骤2检查 yum 源中是否有 rubygem-msgpack"
if ! dnf list available rubygem-msgpack &>/dev/null; then
LOG_ERROR "yum 源中未找到 rubygem-msgpack 软件包"
exit 255
fi
# 如果未安装,则安装 rubygem-msgpack
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤3安装 rubygem-msgpack"
dnf install -y rubygem-msgpack
CHECK_RESULT $? 0 0 "安装 rubygem-msgpack 失败"
fi
# 测试 unpack 命令是否存在
LOG_INFO "步骤4检查 msgpack 的 unpack 命令是否存在"
if ! ruby -r msgpack -e "puts MsgPack::VERSION" &>/dev/null; then
LOG_ERROR "msgpack 的 unpack 命令不存在或不支持"
exit 255
fi
# 测试 unpack 功能
LOG_INFO "步骤5测试 unpack 功能"
cat > test_unpack.rb << "EOF"
require "msgpack"
data = { "key" => "value" }
packed = MessagePack.pack(data)
unpacked = MessagePack.unpack(packed)
if unpacked == data
puts "SUCCESS"
else
puts "FAILURE"
exit 1
end
EOF
ruby test_unpack.rb
CHECK_RESULT $? 0 0 "unpack 功能测试失败"
# 清理测试文件
LOG_INFO "步骤6清理测试文件"
rm -f test_unpack.rb
# 如果之前未安装,则卸载 rubygem-msgpack
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤7卸载 rubygem-msgpack"
dnf remove -y rubygem-msgpack
CHECK_RESULT $? 0 0 "卸载 rubygem-msgpack 失败"
fi
LOG_INFO "测试完成Test unpacking data"
}
main "$@"

View File

@@ -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 : 2026-03-04
# @License : Mulan PSL v2
# @Desc : Test version checking
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试: Test version checking"
# 检查是否已安装rubygem-msgpack-help
LOG_INFO "检查rubygem-msgpack-help是否已安装"
if dnf list installed rubygem-msgpack-help &>/dev/null; then
LOG_INFO "rubygem-msgpack-help已安装脚本结束后将保持安装状态"
already_installed=true
else
LOG_INFO "rubygem-msgpack-help未安装将在测试中安装并在结束后卸载"
already_installed=false
fi
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否有rubygem-msgpack-help软件包"
if ! dnf list available rubygem-msgpack-help &>/dev/null; then
LOG_ERROR "yum源中未找到rubygem-msgpack-help软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$already_installed" = false ]; then
LOG_INFO "安装rubygem-msgpack-help软件包"
dnf install -y rubygem-msgpack-help
CHECK_RESULT $? 0 0 "安装rubygem-msgpack-help失败"
fi
# 测试version参数
LOG_INFO "测试rubygem-msgpack-help的version参数"
rubygem-msgpack-help --version
CHECK_RESULT $? 0 0 "执行rubygem-msgpack-help --version失败"
# 测试不支持的参数
LOG_INFO "测试不支持的参数(例如--invalid-param"
rubygem-msgpack-help --invalid-param 2>/dev/null
if [ $? -ne 255 ]; then
LOG_ERROR "不支持的参数未按预期退出"
exit 255
fi
# 清理环境:如果之前未安装,则卸载软件包
if [ "$already_installed" = false ]; then
LOG_INFO "卸载rubygem-msgpack-help软件包"
dnf remove -y rubygem-msgpack-help
CHECK_RESULT $? 0 0 "卸载rubygem-msgpack-help失败"
fi
LOG_INFO "测试完成: Test version checking"
}
main "$@"

View File

@@ -1,149 +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-01
# @License : Mulan PSL v2
# @Desc : 测试scsi-target-utils-gluster软件包的正确安装验证软件包及其依赖项能被成功安装到系统中。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查软件包是否已在yum源中
check_package_in_repo() {
local pkg=$1
dnf list available "$pkg" &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 $pkg 在yum源中不存在"
exit 255
fi
LOG_INFO "软件包 $pkg 在yum源中存在"
}
# 检查命令参数是否支持
check_command_param() {
local cmd=$1
local param=$2
$cmd --help 2>&1 | grep -q "$param"
if [ $? -ne 0 ]; then
LOG_ERROR "命令 $cmd 不支持参数 $param"
exit 255
fi
LOG_INFO "命令 $cmd 支持参数 $param"
}
# 检查软件包是否已安装
check_package_installed() {
local pkg=$1
rpm -q "$pkg" &>/dev/null
return $?
}
# 安装软件包
install_package() {
local pkg=$1
LOG_INFO "开始安装软件包 $pkg"
dnf install -y "$pkg"
CHECK_RESULT $? 0 0 "安装软件包 $pkg 失败"
LOG_INFO "软件包 $pkg 安装成功"
}
# 卸载软件包
uninstall_package() {
local pkg=$1
LOG_INFO "开始卸载软件包 $pkg"
dnf remove -y "$pkg"
CHECK_RESULT $? 0 0 "卸载软件包 $pkg 失败"
LOG_INFO "软件包 $pkg 卸载成功"
}
# 验证软件包安装
verify_package_installation() {
local pkg=$1
LOG_INFO "验证软件包 $pkg 是否已正确安装"
rpm -q "$pkg" &>/dev/null
CHECK_RESULT $? 0 0 "软件包 $pkg 未正确安装"
LOG_INFO "软件包 $pkg 已正确安装"
}
# 验证软件包依赖项
verify_package_dependencies() {
local pkg=$1
LOG_INFO "验证软件包 $pkg 的依赖项"
rpm -qR "$pkg" &>/dev/null
CHECK_RESULT $? 0 0 "获取软件包 $pkg 的依赖项失败"
LOG_INFO "软件包 $pkg 的依赖项验证成功"
}
# 主测试函数
main_test() {
local pkg="scsi-target-utils-gluster"
local originally_installed=false
LOG_INFO "=== 开始测试 scsi-target-utils-gluster 软件包安装 ==="
# 检查软件包是否在yum源中
LOG_INFO "步骤1: 检查软件包是否在yum源中"
check_package_in_repo "$pkg"
# 检查dnf命令参数
LOG_INFO "步骤2: 检查dnf命令参数支持"
check_command_param "dnf" "install"
check_command_param "dnf" "remove"
# 检查是否已安装
LOG_INFO "步骤3: 检查软件包是否已安装"
if check_package_installed "$pkg"; then
LOG_INFO "软件包 $pkg 已安装"
originally_installed=true
else
LOG_INFO "软件包 $pkg 未安装"
fi
# 如果未安装,则执行安装测试
if [ "$originally_installed" = false ]; then
LOG_INFO "步骤4: 执行软件包安装"
install_package "$pkg"
LOG_INFO "步骤5: 验证软件包安装"
verify_package_installation "$pkg"
LOG_INFO "步骤6: 验证软件包依赖项"
verify_package_dependencies "$pkg"
LOG_INFO "步骤7: 清理测试环境,卸载软件包"
uninstall_package "$pkg"
else
LOG_INFO "步骤4: 软件包已安装,验证现有安装"
verify_package_installation "$pkg"
LOG_INFO "步骤5: 验证现有安装的依赖项"
verify_package_dependencies "$pkg"
LOG_INFO "步骤6: 保持现有安装状态,不执行卸载"
fi
LOG_INFO "=== 测试 scsi-target-utils-gluster 软件包安装完成 ==="
}
# 执行主测试
main_test
# 环境恢复检查
LOG_INFO "环境恢复检查:验证系统状态"
dnf check-update &>/dev/null
CHECK_RESULT $? 0 0 "环境恢复后dnf状态异常"
}
main "$@"

View File

@@ -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-04-01
# @License : Mulan PSL v2
# @Desc : 测试scsi-target-utils-gluster软件包的完全卸载验证软件包能被干净地移除不留残余文件或配置。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试scsi-target-utils-gluster软件包的完全卸载功能"
LOG_INFO "步骤1: 检查当前环境中是否已安装scsi-target-utils-gluster软件包"
if rpm -q scsi-target-utils-gluster &> /dev/null; then
LOG_INFO "当前环境已安装scsi-target-utils-gluster脚本将保持安装状态"
INITIAL_INSTALLED=true
else
LOG_INFO "当前环境未安装scsi-target-utils-gluster将进行安装测试"
INITIAL_INSTALLED=false
fi
LOG_INFO "步骤2: 检查yum源中是否存在scsi-target-utils-gluster软件包"
if ! dnf list available scsi-target-utils-gluster &> /dev/null; then
LOG_ERROR "yum源中未找到scsi-target-utils-gluster软件包"
exit 255
fi
if [ "$INITIAL_INSTALLED" = false ]; then
LOG_INFO "步骤3: 安装scsi-target-utils-gluster软件包"
dnf install -y scsi-target-utils-gluster
CHECK_RESULT $? 0 0 "安装scsi-target-utils-gluster软件包失败"
fi
LOG_INFO "步骤4: 验证软件包已正确安装"
rpm -q scsi-target-utils-gluster
CHECK_RESULT $? 0 0 "验证软件包安装状态失败"
LOG_INFO "步骤5: 执行软件包卸载"
dnf remove -y scsi-target-utils-gluster
CHECK_RESULT $? 0 0 "卸载scsi-target-utils-gluster软件包失败"
LOG_INFO "步骤6: 验证软件包已被完全移除"
if rpm -q scsi-target-utils-gluster &> /dev/null; then
LOG_ERROR "软件包卸载后仍可查询到,卸载不完整"
exit 1
fi
LOG_INFO "软件包已从rpm数据库中移除"
LOG_INFO "步骤7: 检查残留配置文件和目录"
RESIDUAL_FILES=$(find /etc -name "*scsi*" -o -name "*gluster*" 2>/dev/null | grep -v "/etc/dnf" | head -5)
if [ -n "$RESIDUAL_FILES" ]; then
LOG_ERROR "发现残留配置文件或目录:"
echo "$RESIDUAL_FILES"
exit 1
fi
LOG_INFO "步骤8: 检查残留数据文件"
RESIDUAL_DATA=$(find /var -name "*scsi*" -o -name "*gluster*" 2>/dev/null | grep -v "/var/cache" | grep -v "/var/log" | head -5)
if [ -n "$RESIDUAL_DATA" ]; then
LOG_ERROR "发现残留数据文件:"
echo "$RESIDUAL_DATA"
exit 1
fi
LOG_INFO "步骤9: 检查相关服务是否残留"
if systemctl list-unit-files | grep -i scsi | grep -v grep; then
LOG_ERROR "发现残留的systemd服务"
exit 1
fi
if [ "$INITIAL_INSTALLED" = false ]; then
LOG_INFO "步骤10: 环境恢复 - 由于初始未安装,保持未安装状态"
LOG_INFO "环境已恢复初始状态"
else
LOG_INFO "步骤10: 环境恢复 - 重新安装初始已存在的软件包"
dnf install -y scsi-target-utils-gluster
CHECK_RESULT $? 0 0 "重新安装scsi-target-utils-gluster软件包失败"
LOG_INFO "环境已恢复初始安装状态"
fi
LOG_INFO "测试完成scsi-target-utils-gluster软件包能够被完全卸载无残留文件或配置"
}
main "$@"

View File

@@ -1,78 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-23
# @License : Mulan PSL v2
# @Desc : Test documentation files existence
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试文档文件的存在性"
# 检查是否已经安装texlive-abraces-doc
if dnf list installed texlive-abraces-doc &>/dev/null; then
LOG_INFO "texlive-abraces-doc已经安装测试完成后将保持安装状态"
INSTALLED_BEFORE_TEST=true
else
LOG_INFO "texlive-abraces-doc未安装将在测试过程中安装并最后卸载"
INSTALLED_BEFORE_TEST=false
fi
# 检查yum源中是否有texlive-abraces-doc软件包
LOG_INFO "检查yum源中是否存在texlive-abraces-doc软件包"
dnf list available texlive-abraces-doc &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在texlive-abraces-doc软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
LOG_INFO "安装texlive-abraces-doc软件包"
dnf install -y texlive-abraces-doc
CHECK_RESULT $? 0 0 "安装texlive-abraces-doc失败"
fi
# 测试文档文件是否存在
LOG_INFO "检查texlive-abraces-doc的文档文件是否存在"
# 假设文档文件位于/usr/share/doc/texlive-abraces-doc/目录下
DOC_DIR="/usr/share/doc/texlive-abraces-doc/"
if [ -d "$DOC_DIR" ]; then
LOG_INFO "文档目录存在:$DOC_DIR"
# 检查目录中是否有文件
if [ "$(ls -A $DOC_DIR)" ]; then
LOG_INFO "文档目录中包含文件"
CHECK_RESULT $? 0 0 "文档目录为空"
else
LOG_ERROR "文档目录为空"
CHECK_RESULT $? 0 1 "文档目录应包含文件"
fi
else
LOG_ERROR "文档目录不存在:$DOC_DIR"
CHECK_RESULT $? 0 1 "文档目录应存在"
fi
# 清理环境:如果测试前未安装,则卸载软件包
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
LOG_INFO "卸载texlive-abraces-doc软件包"
dnf remove -y texlive-abraces-doc
CHECK_RESULT $? 0 0 "卸载texlive-abraces-doc失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,91 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-23
# @License : Mulan PSL v2
# @Desc : Test documentation content sanity
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装texlive-abraces-doc
LOG_INFO "检查是否已安装texlive-abraces-doc"
rpm -q texlive-abraces-doc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-abraces-doc已安装标记为保持安装状态"
KEEP_INSTALLED=1
else
LOG_INFO "texlive-abraces-doc未安装标记为需要清理"
KEEP_INSTALLED=0
fi
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否有texlive-abraces-doc软件包"
dnf list available texlive-abraces-doc > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中不存在texlive-abraces-doc软件包"
# 如果未安装,则安装软件包
if [ $KEEP_INSTALLED -eq 0 ]; then
LOG_INFO "安装texlive-abraces-doc软件包"
dnf install -y texlive-abraces-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装texlive-abraces-doc失败"
fi
# 测试文档内容完整性
LOG_INFO "测试texlive-abraces-doc文档内容完整性"
# 检查文档文件是否存在
DOC_FILE="/usr/share/texlive/texmf-dist/doc/latex/abraces/README"
if [ -f "$DOC_FILE" ]; then
LOG_INFO "文档文件存在: $DOC_FILE"
# 检查文档文件是否非空
if [ -s "$DOC_FILE" ]; then
LOG_INFO "文档文件非空,内容有效"
else
LOG_ERROR "文档文件为空,内容无效"
exit 255
fi
else
LOG_ERROR "文档文件不存在: $DOC_FILE"
exit 255
fi
# 检查文档目录是否存在
DOC_DIR="/usr/share/texlive/texmf-dist/doc/latex/abraces/"
if [ -d "$DOC_DIR" ]; then
LOG_INFO "文档目录存在: $DOC_DIR"
# 检查目录中是否有文件
FILE_COUNT=$(find "$DOC_DIR" -type f | wc -l)
if [ $FILE_COUNT -gt 0 ]; then
LOG_INFO "文档目录中包含 $FILE_COUNT 个文件"
else
LOG_ERROR "文档目录为空"
exit 255
fi
else
LOG_ERROR "文档目录不存在: $DOC_DIR"
exit 255
fi
# 清理环境:如果之前未安装,则卸载软件包
if [ $KEEP_INSTALLED -eq 0 ]; then
LOG_INFO "卸载texlive-abraces-doc软件包"
dnf remove -y texlive-abraces-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载texlive-abraces-doc失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,76 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-27
# @License : Mulan PSL v2
# @Desc : 验证安装后文档文件存在于指定路径下
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 判断是否已经安装texlive-components-of-TeX-doc-doc_files
LOG_INFO "检查texlive-components-of-TeX-doc-doc_files是否已安装"
rpm -q texlive-components-of-TeX-doc-doc_files > /dev/null 2>&1
is_installed=$?
# 定义软件包名称
PACKAGE_NAME="texlive-components-of-TeX-doc-doc_files"
# 检查yum源中是否存在该软件包
LOG_INFO "检查yum源中是否存在${PACKAGE_NAME}"
dnf list available ${PACKAGE_NAME} > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在${PACKAGE_NAME}"
exit 255
fi
# 如果未安装,则安装
if [ ${is_installed} -ne 0 ]; then
LOG_INFO "安装${PACKAGE_NAME}"
dnf install -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}失败"
fi
# 验证安装后文档文件存在于指定路径下
LOG_INFO "验证安装后文档文件存在于指定路径下"
# 获取软件包安装的文件列表
rpm -ql ${PACKAGE_NAME} > /dev/null 2>&1
CHECK_RESULT $? 0 0 "获取${PACKAGE_NAME}文件列表失败"
# 检查是否存在文档文件
doc_files=$(rpm -ql ${PACKAGE_NAME} | grep -E "\.pdf$|\.html$|\.txt$|\.md$" | head -5)
if [ -z "${doc_files}" ]; then
LOG_ERROR "未找到文档文件"
CHECK_RESULT 1 0 0 "文档文件不存在"
else
LOG_INFO "找到文档文件:"
echo "${doc_files}"
CHECK_RESULT $? 0 0 "文档文件检查失败"
fi
# 环境恢复
LOG_INFO "恢复测试环境"
if [ ${is_installed} -ne 0 ]; 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 "$@"

View File

@@ -1,116 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-27
# @License : Mulan PSL v2
# @Desc : 检查软件包信息(如描述、版本)是否正确且可查询
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义日志函数(虽然题目说不需要定义,但实际使用需要定义,这里提供简单实现)
LOG_INFO() {
echo "[INFO] $*"
}
LOG_ERROR() {
echo "[ERROR] $*" >&2
}
# 定义检查结果函数
CHECK_RESULT() {
local actual=$1
local expect=$2
local mode=$3
local message=$4
if [ "$mode" -eq 0 ]; then
if [ "$actual" -eq "$expect" ]; then
LOG_INFO "$message 成功"
else
LOG_ERROR "$message 失败"
exit "$actual"
fi
else
if [ "$actual" -ne "$expect" ]; then
LOG_INFO "$message 成功"
else
LOG_ERROR "$message 失败"
exit 1
fi
fi
}
# 定义远程执行函数(虽然题目说不需要定义,但提供简单实现)
SSH_CMD() {
local cmd=$1
local ip=$2
local password=$3
local user=$4
sshpass -p "$password" ssh -o StrictHostKeyChecking=no "$user"@"$ip" "$cmd"
}
# 定义软件包名称
PACKAGE_NAME="texlive-components-of-TeX-doc_info_content"
# 步骤1检查软件包是否存在于yum源
LOG_INFO "步骤1检查软件包是否存在于yum源"
dnf list available "$PACKAGE_NAME" &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 $PACKAGE_NAME 不存在于yum源中"
exit 255
fi
LOG_INFO "软件包 $PACKAGE_NAME 存在于yum源中"
# 步骤2检查软件包是否已安装
LOG_INFO "步骤2检查软件包是否已安装"
if rpm -q "$PACKAGE_NAME" &>/dev/null; then
LOG_INFO "软件包 $PACKAGE_NAME 已安装"
INSTALLED=true
else
LOG_INFO "软件包 $PACKAGE_NAME 未安装"
INSTALLED=false
fi
# 步骤3如果未安装则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤3安装软件包 $PACKAGE_NAME"
dnf install -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME"
fi
# 步骤4检查软件包信息描述、版本是否正确且可查询
LOG_INFO "步骤4检查软件包信息描述、版本是否正确且可查询"
# 检查软件包描述
LOG_INFO "检查软件包描述"
rpm -qi "$PACKAGE_NAME" | grep -q "Description"
CHECK_RESULT $? 0 0 "检查软件包描述是否存在"
# 检查软件包版本
LOG_INFO "检查软件包版本"
rpm -qi "$PACKAGE_NAME" | grep -q "Version"
CHECK_RESULT $? 0 0 "检查软件包版本是否存在"
# 步骤5如果之前未安装则在测试结束后卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤5卸载软件包 $PACKAGE_NAME"
dnf remove -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,84 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-27
# @License : Mulan PSL v2
# @Desc : 测试软件包能够通过包管理器成功卸载
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 设置脚本错误处理
set -e
# 环境变量设置(示例,实际应根据测试环境配置)
NODE2_IPV4=${NODE2_IPV4:-""}
NODE2_PASSWORD=${NODE2_PASSWORD:-""}
NODE2_USER=${NODE2_USER:-""}
# 定义软件包名称
PACKAGE_NAME="texlive-components-of-TeX-doc"
# 检查软件包是否在yum源中
LOG_INFO "步骤1检查软件包是否在yum源中"
dnf list available "$PACKAGE_NAME" > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 $PACKAGE_NAME 不在yum源中"
exit 255
fi
CHECK_RESULT $? 0 0 "检查软件包在yum源中失败"
# 检查当前是否已安装
LOG_INFO "步骤2检查软件包是否已安装"
if dnf list installed "$PACKAGE_NAME" > /dev/null 2>&1; then
LOG_INFO "软件包 $PACKAGE_NAME 已安装"
INSTALLED_BEFORE=true
else
LOG_INFO "软件包 $PACKAGE_NAME 未安装"
INSTALLED_BEFORE=false
fi
# 如果未安装,先安装软件包
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "步骤3安装软件包 $PACKAGE_NAME"
dnf install -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 测试卸载功能
LOG_INFO "步骤4测试软件包卸载功能"
dnf remove -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "卸载软件包失败"
# 验证软件包是否已卸载
LOG_INFO "步骤5验证软件包已卸载"
dnf list installed "$PACKAGE_NAME" > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_ERROR "软件包 $PACKAGE_NAME 卸载失败"
exit 1
fi
CHECK_RESULT $? 1 0 "软件包卸载验证失败"
# 如果测试前已安装,重新安装以恢复环境
if [ "$INSTALLED_BEFORE" = true ]; then
LOG_INFO "步骤6恢复原始安装状态"
dnf install -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "恢复软件包安装失败"
fi
LOG_INFO "测试完成:软件包能够通过包管理器成功卸载"
}
main "$@"

View File

@@ -1,68 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-09-18
# @License : Mulan PSL v2
# @Desc : Test package installation
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试软件包安装功能..."
# 检查是否已安装texlive-datatool
LOG_INFO "检查是否已安装texlive-datatool..."
dnf list installed texlive-datatool > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-datatool已安装跳过安装步骤..."
INSTALLED=true
else
LOG_INFO "texlive-datatool未安装准备安装..."
INSTALLED=false
fi
# 检查yum源中是否有texlive-datatool软件包
LOG_INFO "检查yum源中是否有texlive-datatool软件包..."
dnf list available texlive-datatool > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中未找到texlive-datatool软件包"
# 安装texlive-datatool
if [ "$INSTALLED" = false ]; then
LOG_INFO "正在安装texlive-datatool..."
dnf install -y texlive-datatool > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装texlive-datatool失败"
fi
# 验证安装是否成功
LOG_INFO "验证texlive-datatool是否安装成功..."
dnf list installed texlive-datatool > /dev/null 2>&1
CHECK_RESULT $? 0 0 "texlive-datatool未正确安装"
# 执行测试命令
LOG_INFO "执行测试命令..."
texdoc datatool > /dev/null 2>&1
CHECK_RESULT $? 0 255 "texdoc datatool命令执行失败"
# 清理环境(如果之前未安装)
if [ "$INSTALLED" = false ]; then
LOG_INFO "清理环境卸载texlive-datatool..."
dnf remove -y texlive-datatool > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载texlive-datatool失败"
fi
LOG_INFO "测试完成,环境已恢复..."
}
main "$@"

View File

@@ -1,65 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-06-17
# @License : Mulan PSL v2
# @Desc : 测试 texlive-dhua-doc 包的依赖关系,验证软件包安装时是否满足所有依赖条件。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已经安装 texlive-dhua-doc
LOG_INFO "检查是否已安装 texlive-dhua-doc..."
rpm -q texlive-dhua-doc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-dhua-doc 已安装,脚本结束后将保持安装状态。"
INSTALLED=true
else
LOG_INFO "texlive-dhua-doc 未安装,脚本结束后将卸载。"
INSTALLED=false
fi
# 检查 yum 源中是否存在 texlive-dhua-doc
LOG_INFO "检查 yum 源中是否存在 texlive-dhua-doc..."
dnf list available texlive-dhua-doc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum 源中未找到 texlive-dhua-doc退出。"
exit 255
fi
# 安装 texlive-dhua-doc
LOG_INFO "开始安装 texlive-dhua-doc..."
dnf install -y texlive-dhua-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装 texlive-dhua-doc 失败。"
# 验证依赖关系是否满足
LOG_INFO "验证依赖关系是否满足..."
rpm -qR texlive-dhua-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "依赖关系验证失败。"
# 清理环境(如果之前未安装)
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载 texlive-dhua-doc..."
dnf remove -y texlive-dhua-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载 texlive-dhua-doc 失败。"
fi
LOG_INFO "测试完成。"
}
main "$@"

View File

@@ -1,96 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-06-17
# @License : Mulan PSL v2
# @Desc : 测试 texlive-dhua-doc 包的降级功能,验证软件包能否正确降级到旧版本。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 步骤1检查是否已安装 texlive-dhua-doc 包
LOG_INFO "检查是否已安装 texlive-dhua-doc 包"
dnf list installed texlive-dhua-doc &> /dev/null
if [ $? -eq 0 ]; then
LOG_INFO "texlive-dhua-doc 已安装,脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-dhua-doc 未安装,脚本结束时将卸载"
INSTALLED=false
fi
# 步骤2检查 yum 源中是否存在 texlive-dhua-doc 包
LOG_INFO "检查 yum 源中是否存在 texlive-dhua-doc 包"
dnf list available texlive-dhua-doc &> /dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum 源中不存在 texlive-dhua-doc 包"
exit 255
fi
# 步骤3获取当前 texlive-dhua-doc 的版本信息(如果已安装)
if $INSTALLED; then
LOG_INFO "获取当前 texlive-dhua-doc 的版本信息"
CURRENT_VERSION=$(dnf list installed texlive-dhua-doc | awk '{print $2}')
LOG_INFO "当前版本: $CURRENT_VERSION"
fi
# 步骤4获取可用的旧版本列表
LOG_INFO "获取可用的旧版本列表"
OLD_VERSIONS=$(dnf --showduplicates list texlive-dhua-doc | grep -v installed | awk '{print $2}' | sort -V)
if [ -z "$OLD_VERSIONS" ]; then
LOG_ERROR "没有可用的旧版本"
exit 255
fi
# 步骤5选择第一个旧版本进行降级测试
TARGET_VERSION=$(echo "$OLD_VERSIONS" | head -n1)
LOG_INFO "尝试降级到版本: $TARGET_VERSION"
# 步骤6执行降级操作
LOG_INFO "执行降级操作"
dnf downgrade -y texlive-dhua-doc-$TARGET_VERSION &> /dev/null
CHECK_RESULT $? 0 0 "降级失败"
# 步骤7验证降级后的版本是否正确
LOG_INFO "验证降级后的版本是否正确"
NEW_VERSION=$(dnf list installed texlive-dhua-doc | awk '{print $2}')
if [ "$NEW_VERSION" != "$TARGET_VERSION" ]; then
LOG_ERROR "降级后版本不正确,预期: $TARGET_VERSION, 实际: $NEW_VERSION"
exit 1
else
LOG_INFO "降级成功,当前版本: $NEW_VERSION"
fi
# 步骤8恢复环境如果最初未安装
if ! $INSTALLED; then
LOG_INFO "卸载 texlive-dhua-doc 包以恢复环境"
dnf remove -y texlive-dhua-doc &> /dev/null
CHECK_RESULT $? 0 0 "卸载失败"
else
# 如果最初已安装,恢复到原始版本(如果需要)
if [ "$CURRENT_VERSION" != "$NEW_VERSION" ]; then
LOG_INFO "恢复到原始版本: $CURRENT_VERSION"
dnf install -y texlive-dhua-doc-$CURRENT_VERSION &> /dev/null
CHECK_RESULT $? 0 0 "恢复原始版本失败"
fi
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

Some files were not shown because too many files have changed in this diff Show More