Merge branch 'pkg' of http://10.30.190.190:54866/redrsoe2100/os-autotest into pkg
This commit is contained in:
@@ -6,10 +6,6 @@
|
||||
"name": "test_boom-boot-conf_service_log",
|
||||
"desc": "测试查看boom-boot-conf服务日志",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_boom-boot-conf_function_config",
|
||||
"desc": "测试boom-boot-conf配置文件解析功能"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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."
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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 软件包能否通过包管理器干净地卸载"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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": "检查安装/卸载过程中是否存在包冲突"
|
||||
|
||||
@@ -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软件包的文档生成功能,验证文档是否能正常生成"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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相关关键字"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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连接是否成功。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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的集成功能正常。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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": "检查软件包信息(如描述、版本)是否正确且可查询"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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 包的基础依赖库功能,验证依赖库是否满足要求。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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文档"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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软件包是否提供了预期的文档文件"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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 软件包的升级功能",
|
||||
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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
Reference in New Issue
Block a user