Merge branch 'pkg' of http://10.30.190.190:54866/redrsoe2100/os-autotest into pkg
This commit is contained in:
@@ -9,30 +9,6 @@
|
||||
{
|
||||
"name": "test_auto-common_function_install",
|
||||
"desc": "Test installation of auto-common package"
|
||||
},
|
||||
{
|
||||
"name": "test_auto-common_function_uninstall",
|
||||
"desc": "Test uninstallation of auto-common package"
|
||||
},
|
||||
{
|
||||
"name": "test_auto-common_function_version",
|
||||
"desc": "Test checking version of auto-common"
|
||||
},
|
||||
{
|
||||
"name": "test_auto-common_function_config_load",
|
||||
"desc": "Test loading config file"
|
||||
},
|
||||
{
|
||||
"name": "test_auto-common_function_logging",
|
||||
"desc": "Test logging functionality"
|
||||
},
|
||||
{
|
||||
"name": "test_auto-common_function_util_parse",
|
||||
"desc": "Test common utility parsing"
|
||||
},
|
||||
{
|
||||
"name": "test_auto-common_function_cli_basic",
|
||||
"desc": "Test basic CLI command"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6,30 +6,6 @@
|
||||
"name": "test_genwqe-zlib_install",
|
||||
"desc": "测试genwqe-zlib软件包的安装功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_genwqe-zlib_function_compress",
|
||||
"desc": "测试genwqe-zlib的压缩功能"
|
||||
},
|
||||
{
|
||||
"name": "test_genwqe-zlib_function_install",
|
||||
"desc": "测试genwqe-zlib软件包的安装功能,确保其能正确安装到系统中"
|
||||
},
|
||||
{
|
||||
"name": "test_genwqe-zlib_function_decompress",
|
||||
"desc": "测试genwqe-zlib的解压缩功能,验证其是否能正确还原压缩数据"
|
||||
},
|
||||
{
|
||||
"name": "test_genwqe-zlib_function_uninstall",
|
||||
"desc": "测试genwqe-zlib软件包的卸载功能,确保其能被干净地移除"
|
||||
},
|
||||
{
|
||||
"name": "test_genwqe-zlib_function_version",
|
||||
"desc": "测试genwqe-zlib版本查询功能,验证其能正确返回版本信息"
|
||||
},
|
||||
{
|
||||
"name": "test_genwqe-zlib_function_integration",
|
||||
"desc": "测试genwqe-zlib与系统库的集成,确保其作为加速库能被正常调用"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6,10 +6,6 @@
|
||||
"name": "test_kunpengsecl-devel_install",
|
||||
"desc": "测试软件包 kunpengsecl-devel 的安装功能,验证安装过程是否成功。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_kunpengsecl-devel_function_config",
|
||||
"desc": "测试软件包 kunpengsecl-devel 的配置功能,验证配置是否正确加载。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -5,58 +5,6 @@
|
||||
{
|
||||
"name": "test_lucene-demo_function_install",
|
||||
"desc": "Test the installation of lucene-demo package"
|
||||
},
|
||||
{
|
||||
"name": "test_lucene-demo_function_search",
|
||||
"desc": "Test the search functionality of lucene-demo"
|
||||
},
|
||||
{
|
||||
"name": "test_lucene-demo_function_index",
|
||||
"desc": "Test the indexing functionality of lucene-demo"
|
||||
},
|
||||
{
|
||||
"name": "test_lucene-demo_function_query",
|
||||
"desc": "Test the query parsing of lucene-demo"
|
||||
},
|
||||
{
|
||||
"name": "test_lucene-demo_function_score",
|
||||
"desc": "Test the scoring mechanism of lucene-demo"
|
||||
},
|
||||
{
|
||||
"name": "test_lucene-demo_function_uninstall",
|
||||
"desc": "Test uninstallation of lucene-demo package"
|
||||
},
|
||||
{
|
||||
"name": "test_lucene-demo_function_version",
|
||||
"desc": "Test checking package version"
|
||||
},
|
||||
{
|
||||
"name": "test_lucene-demo_function_basic_index",
|
||||
"desc": "Test creating a basic index"
|
||||
},
|
||||
{
|
||||
"name": "test_lucene-demo_function_basic_search",
|
||||
"desc": "Test performing a basic search"
|
||||
},
|
||||
{
|
||||
"name": "test_lucene-demo_function_update_index",
|
||||
"desc": "Test updating an existing index"
|
||||
},
|
||||
{
|
||||
"name": "test_lucene-demo_function_delete_doc",
|
||||
"desc": "Test deleting a document from index"
|
||||
},
|
||||
{
|
||||
"name": "test_lucene-demo_function_analyzer",
|
||||
"desc": "Test text analyzer functionality"
|
||||
},
|
||||
{
|
||||
"name": "test_lucene-demo_function_query_types",
|
||||
"desc": "Test different query types"
|
||||
},
|
||||
{
|
||||
"name": "test_lucene-demo_function_sort_results",
|
||||
"desc": "Test sorting search results"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -9,18 +9,6 @@
|
||||
{
|
||||
"name": "test_perl-Date-Calc-help_function_check",
|
||||
"desc": "测试验证 perl-Date-Calc-help 软件包是否已正确安装"
|
||||
},
|
||||
{
|
||||
"name": "test_perl-Date-Calc-help_function_man",
|
||||
"desc": "测试查看 perl-Date-Calc-help 提供的 man 帮助文档"
|
||||
},
|
||||
{
|
||||
"name": "test_perl-Date-Calc-help_function_info",
|
||||
"desc": "测试查询 perl-Date-Calc-help 软件包的基本信息"
|
||||
},
|
||||
{
|
||||
"name": "test_perl-Date-Calc-help_function_remove",
|
||||
"desc": "测试卸载 perl-Date-Calc-help 软件包"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/python-httmock/python3-httmock",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_python3-httmock_function_mock",
|
||||
"desc": "Test basic HTTP mock functionality"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,38 +2,10 @@
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/python-olefile/python3-olefile",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_python3-olefile_function_install",
|
||||
"desc": "测试python3-olefile软件包能否正常安装"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-olefile_function_import",
|
||||
"desc": "测试安装后能否成功导入olefile模块"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-olefile_function_olefile_exists",
|
||||
"desc": "测试olefile模块的OleFileIO类是否存在"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-olefile_function_open_ole",
|
||||
"desc": "测试能否使用OleFileIO打开一个有效的OLE文件"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-olefile_function_list_streams",
|
||||
"desc": "测试能否列出OLE文件中的流和存储"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-olefile_function_read_stream",
|
||||
"desc": "测试能否从OLE文件的指定流中读取数据"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-olefile_function_get_metadata",
|
||||
"desc": "测试能否获取OLE文件的元数据信息"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-olefile_function_is_olefile",
|
||||
"desc": "测试isOleFile函数能否正确识别OLE文件"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-olefile_function_uninstall",
|
||||
"desc": "测试python3-olefile软件包能否正常卸载"
|
||||
|
||||
@@ -2,11 +2,6 @@
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/python-prometheus-client/python-prometheus-client-help",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_python-prometheus-client-help_command_001",
|
||||
"desc": "测试python-prometheus-client-help包的安装功能,验证软件包能否正常安装。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_python-prometheus-client-help_command_002",
|
||||
"desc": "测试python-prometheus-client-help包的卸载功能,验证软件包能否正常卸载。",
|
||||
@@ -16,26 +11,6 @@
|
||||
"name": "test_python-prometheus-client-help_command_003",
|
||||
"desc": "测试python-prometheus-client-help包的升级功能,验证软件包能否正常升级。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_python-prometheus-client-help_command_004",
|
||||
"desc": "测试python-prometheus-client-help包的降级功能,验证软件包能否正常降级。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_python-prometheus-client-help_command_005",
|
||||
"desc": "测试python-prometheus-client-help包的回退功能,验证软件包能否正常回退到上一个版本。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_python-prometheus-client-help_command_006",
|
||||
"desc": "测试python-prometheus-client-help包的回滚功能,验证软件包能否正常回滚到指定版本。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_python-prometheus-client-help_command_007",
|
||||
"desc": "测试python-prometheus-client-help包的升级回滚功能,验证软件包能否在升级后回滚到升级前的版本。",
|
||||
"machine num": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -11,85 +11,6 @@
|
||||
"name": "test_qt5-qtvirtualkeyboard-examples_uninstall",
|
||||
"desc": "测试qt5-qtvirtualkeyboard-examples包的卸载功能,验证软件包是否能够正常卸载。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_qt5-qtvirtualkeyboard-examples_upgrade",
|
||||
"desc": "测试qt5-qtvirtualkeyboard-examples包的升级功能,验证软件包是否能够正常升级。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_qt5-qtvirtualkeyboard-examples_downgrade",
|
||||
"desc": "测试qt5-qtvirtualkeyboard-examples包的降级功能,验证软件包是否能够正常降级。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_qt5-qtvirtualkeyboard-examples_rollback",
|
||||
"desc": "测试qt5-qtvirtualkeyboard-examples包的回滚功能,验证软件包是否能够正常回滚到之前的版本。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_qt5-qtvirtualkeyboard-examples_reinstall",
|
||||
"desc": "测试qt5-qtvirtualkeyboard-examples包的重新安装功能,验证软件包是否能够正常重新安装。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_qt5-qtvirtualkeyboard-examples_service_start",
|
||||
"desc": "测试qt5-qtvirtualkeyboard-examples包的服务启动功能,验证服务是否能够正常启动。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_qt5-qtvirtualkeyboard-examples_service_stop",
|
||||
"desc": "测试qt5-qtvirtualkeyboard-examples包的服务停止功能,验证服务是否能够正常停止。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_qt5-qtvirtualkeyboard-examples_service_status",
|
||||
"desc": "测试qt5-qtvirtualkeyboard-examples包的服务状态查询功能,验证服务是否能够正常查询状态。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_qt5-qtvirtualkeyboard-examples_service_log",
|
||||
"desc": "测试qt5-qtvirtualkeyboard-examples包的服务日志查看功能,验证服务是否能够正常查看日志。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_qt5-qtvirtualkeyboard-examples_service_config",
|
||||
"desc": "测试qt5-qtvirtualkeyboard-examples包的服务配置功能,验证服务是否能够正常配置。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_qt5-qtvirtualkeyboard-examples_dependency",
|
||||
"desc": "测试qt5-qtvirtualkeyboard-examples包的依赖关系,验证软件包是否能够正确识别和满足所有依赖项。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_qt5-qtvirtualkeyboard-examples_service_reload",
|
||||
"desc": "测试qt5-qtvirtualkeyboard-examples包的服务重载功能,验证服务是否能够正常重载配置。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_qt5-qtvirtualkeyboard-examples_function_keyboard",
|
||||
"desc": "Test the keyboard functionality of qt5-qtvirtualkeyboard-examples, verifying if the virtual keyboard works correctly."
|
||||
},
|
||||
{
|
||||
"name": "test_qt5-qtvirtualkeyboard-examples_function_basic_usage",
|
||||
"desc": "测试qt5-qtvirtualkeyboard-examples基本示例的启动和显示,验证虚拟键盘示例能否正常启动并显示界面。"
|
||||
},
|
||||
{
|
||||
"name": "test_qt5-qtvirtualkeyboard-examples_function_input_methods",
|
||||
"desc": "测试qt5-qtvirtualkeyboard-examples的输入法切换功能,验证虚拟键盘支持不同输入法(如英文、中文)并能正常切换和输入。"
|
||||
},
|
||||
{
|
||||
"name": "test_qt5-qtvirtualkeyboard-examples_function_layouts",
|
||||
"desc": "测试qt5-qtvirtualkeyboard-examples的键盘布局切换功能,验证虚拟键盘支持不同布局(如QWERTY、数字键盘)并能正常切换。"
|
||||
},
|
||||
{
|
||||
"name": "test_qt5-qtvirtualkeyboard-examples_function_theme",
|
||||
"desc": "测试qt5-qtvirtualkeyboard-examples的主题或样式切换功能,验证虚拟键盘的界面主题可以正常更改。"
|
||||
},
|
||||
{
|
||||
"name": "test_qt5-qtvirtualkeyboard-examples_function_event_handling",
|
||||
"desc": "测试qt5-qtvirtualkeyboard-examples的事件处理功能,验证虚拟键盘能正确响应按键点击并生成相应输入事件。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -26,14 +26,6 @@
|
||||
"name": "test_rpm-devel_rpmgraph_nolegacy",
|
||||
"desc": "测试 rpmgraph 命令的 --nolegacy 参数,验证不验证头部和有效载荷签名的功能"
|
||||
},
|
||||
{
|
||||
"name": "test_rpm-devel_rpmgraph_--nolegacy",
|
||||
"desc": "测试使用 --nolegacy 参数,不验证头部和负载签名"
|
||||
},
|
||||
{
|
||||
"name": "test_rpm-devel_rpmgraph_--help",
|
||||
"desc": "测试使用 --help 参数,显示帮助信息"
|
||||
},
|
||||
{
|
||||
"name": "test_rpm-devel_rpmgraph_--usage",
|
||||
"desc": "测试使用 --usage 参数,显示简要用法信息"
|
||||
@@ -42,117 +34,17 @@
|
||||
"name": "test_rpm-devel_rpmgraph_--version",
|
||||
"desc": "测试使用 --version 参数,打印rpm版本"
|
||||
},
|
||||
{
|
||||
"name": "test_rpm-devel_rpmgraph_--querytags",
|
||||
"desc": "测试使用 --querytags 参数,显示已知的查询标签"
|
||||
},
|
||||
{
|
||||
"name": "test_rpm-devel_rpmgraph_--showrc",
|
||||
"desc": "测试使用 --showrc 参数,显示最终的rpmrc和宏配置"
|
||||
},
|
||||
{
|
||||
"name": "test_rpm-devel_rpmgraph_--quiet",
|
||||
"desc": "测试使用 --quiet 参数,提供更少的详细信息输出"
|
||||
},
|
||||
{
|
||||
"name": "test_rpm-devel_rpmgraph__upper_v",
|
||||
"desc": "测试使用 -v 参数,提供更多的详细信息输出"
|
||||
},
|
||||
{
|
||||
"name": "test_rpm-devel_rpmgraph__upper_v_--quiet",
|
||||
"desc": "测试同时使用 -v 和 --quiet 参数,验证参数冲突或优先级"
|
||||
},
|
||||
{
|
||||
"name": "test_rpm-devel_rpmgraph_--nodigest",
|
||||
"desc": "测试使用 --nodigest 参数,不验证软件包摘要"
|
||||
},
|
||||
{
|
||||
"name": "test_rpm-devel_rpmgraph_--nosignature",
|
||||
"desc": "测试使用 --nosignature 参数,不验证软件包签名"
|
||||
},
|
||||
{
|
||||
"name": "test_rpm-devel_rpmgraph_--nolegacy_--nodigest",
|
||||
"desc": "测试同时使用 --nolegacy 和 --nodigest 参数,不验证签名和摘要"
|
||||
},
|
||||
{
|
||||
"name": "test_rpm-devel_rpmgraph__upper_e",
|
||||
"desc": "测试使用 -E 参数打印宏扩展"
|
||||
},
|
||||
{
|
||||
"name": "test_rpm-devel_rpmgraph__upper_d",
|
||||
"desc": "测试使用 -D 参数定义宏"
|
||||
},
|
||||
{
|
||||
"name": "test_rpm-devel_rpmgraph_--undefine",
|
||||
"desc": "测试使用 --undefine 参数取消宏定义"
|
||||
},
|
||||
{
|
||||
"name": "test_rpm-devel_rpmgraph_--target",
|
||||
"desc": "测试使用 --target 参数指定目标平台"
|
||||
},
|
||||
{
|
||||
"name": "test_rpm-devel_rpmgraph_--macros",
|
||||
"desc": "测试使用 --macros 参数指定宏文件"
|
||||
},
|
||||
{
|
||||
"name": "test_rpm-devel_rpmgraph_--load",
|
||||
"desc": "测试使用 --load 参数加载单个宏文件"
|
||||
},
|
||||
{
|
||||
"name": "test_rpm-devel_rpmgraph_--noplugins",
|
||||
"desc": "测试使用 --noplugins 参数,不启用任何插件"
|
||||
},
|
||||
{
|
||||
"name": "test_rpm-devel_rpmgraph_--rcfile",
|
||||
"desc": "测试使用 --rcfile 参数指定配置文件"
|
||||
},
|
||||
{
|
||||
"name": "test_rpm-devel_rpmgraph__r",
|
||||
"desc": "测试使用 -r 参数指定根目录"
|
||||
},
|
||||
{
|
||||
"name": "test_rpm-devel_rpmgraph_--dbpath",
|
||||
"desc": "测试使用 --dbpath 参数指定数据库目录"
|
||||
},
|
||||
{
|
||||
"name": "test_rpm-devel_function_install",
|
||||
"desc": "测试安装rpm-devel软件包"
|
||||
},
|
||||
{
|
||||
"name": "test_rpm-devel_function_remove",
|
||||
"desc": "测试卸载rpm-devel软件包"
|
||||
},
|
||||
{
|
||||
"name": "test_rpm-devel_function_query_all",
|
||||
"desc": "测试查询所有已安装的rpm包"
|
||||
},
|
||||
{
|
||||
"name": "test_rpm-devel_function_query_file",
|
||||
"desc": "测试查询文件所属的rpm包"
|
||||
},
|
||||
{
|
||||
"name": "test_rpm-devel_function_verify",
|
||||
"desc": "测试验证已安装rpm包完整性"
|
||||
},
|
||||
{
|
||||
"name": "test_rpm-devel_function_check_install",
|
||||
"desc": "测试检查rpm-devel是否已安装"
|
||||
},
|
||||
{
|
||||
"name": "test_rpm-devel_function_list_files",
|
||||
"desc": "测试列出rpm-devel包内文件"
|
||||
},
|
||||
{
|
||||
"name": "test_rpm-devel_function_list_info",
|
||||
"desc": "测试显示rpm-devel包详细信息"
|
||||
},
|
||||
{
|
||||
"name": "test_rpm-devel_function_check_deps",
|
||||
"desc": "测试检查rpm-devel包依赖关系"
|
||||
},
|
||||
{
|
||||
"name": "test_rpm-devel_function_whatprovides",
|
||||
"desc": "测试查询提供特定功能的包"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -13,546 +13,6 @@
|
||||
{
|
||||
"name": "test_texinfo-tex_function_basic",
|
||||
"desc": "Test basic command functionality"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_pdftexi2dvi_h",
|
||||
"desc": "测试 pdftexi2dvi 的 --help 选项,用于显示帮助信息"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_pdftexi2dvi_v",
|
||||
"desc": "测试 pdftexi2dvi 的 --version 选项,用于显示版本信息"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_pdftexi2dvi_default",
|
||||
"desc": "测试 pdftexi2dvi 无额外参数运行一个文件,期望生成 PDF"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_pdftexi2dvi_output",
|
||||
"desc": "测试 pdftexi2dvi 的 --output 选项,用于指定输出文件名"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_pdftexi2dvi_q",
|
||||
"desc": "测试 pdftexi2dvi 的 --quiet 选项,用于抑制正常输出"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_pdftexi2dvi_upper_v",
|
||||
"desc": "测试 pdftexi2dvi 的 --verbose 选项,用于显示详细过程"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_pdftexi2dvi_max_iterations",
|
||||
"desc": "测试 pdftexi2dvi 的 --max-iterations 选项,用于限制文件处理的最大迭代次数"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_pdftexi2dvi_mostly_clean",
|
||||
"desc": "测试 pdftexi2dvi 的 --mostly-clean 选项,用于清理以前运行的辅助文件"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_pdftexi2dvi_p",
|
||||
"desc": "测试 pdftexi2dvi 的 --pdf 选项,用于明确指定生成 PDF 输出"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_pdftexi2dvi_language",
|
||||
"desc": "测试 pdftexi2dvi 的 --language 选项,用于指定输入文件的处理语言"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_pdftexi2dvi_expand",
|
||||
"desc": "测试 pdftexi2dvi 的 --expand 选项,用于启用宏扩展"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_pdftexi2dvi_command",
|
||||
"desc": "测试 pdftexi2dvi 的 --command 选项,用于在输入文件中插入额外命令"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_pdftexi2dvi_tidy",
|
||||
"desc": "测试 pdftexi2dvi 的 --tidy 选项,用于在独立目录中进行编译并保留辅助文件"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_pdftexi2dvi_c",
|
||||
"desc": "测试 pdftexi2dvi 的 --clean 选项,用于在独立目录中进行编译并清理辅助文件"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_pdftexi2dvi_build_dir",
|
||||
"desc": "测试 pdftexi2dvi 的 --build-dir 选项,用于指定编译目录(隐含 --tidy)"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_pdftexi2dvi_expand_quiet",
|
||||
"desc": "测试 pdftexi2dvi 同时使用 --expand 和 --quiet 选项,确保宏扩展功能与安静模式不冲突"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_pdftexi2dvi_verbose_tidy",
|
||||
"desc": "测试 pdftexi2dvi 同时使用 --verbose 和 --tidy 选项,用于在整理模式下查看详细过程"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi__h",
|
||||
"desc": "测试 texi2dvi 命令的 -h 参数,显示帮助信息"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi__v",
|
||||
"desc": "测试 texi2dvi 命令的 -v 参数,显示版本信息"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi__upper_v",
|
||||
"desc": "测试 texi2dvi 命令的 -V 参数,详细报告执行过程"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi__q",
|
||||
"desc": "测试 texi2dvi 命令的 -q 参数,安静模式,仅当错误时输出"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi__upper_d",
|
||||
"desc": "测试 texi2dvi 命令的 -D 参数,开启 shell 调试模式"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi__o",
|
||||
"desc": "测试 texi2dvi 命令的 -o 参数,指定输出文件名"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi__p",
|
||||
"desc": "测试 texi2dvi 命令的 -p 参数,使用 pdftex/pdflatex 处理并生成 PDF 输出"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi__pdf",
|
||||
"desc": "测试 texi2dvi 命令的 --pdf 参数,使用 pdftex/pdflatex 处理并生成 PDF 输出"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi__dvi",
|
||||
"desc": "测试 texi2dvi 命令的 --dvi 参数,输出 DVI 文件"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi__dvipdf",
|
||||
"desc": "测试 texi2dvi 命令的 --dvipdf 参数,通过 DVI 输出 PDF 文件"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi__ps",
|
||||
"desc": "测试 texi2dvi 命令的 --ps 参数,通过 DVI 输出 PostScript 文件"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi__html",
|
||||
"desc": "测试 texi2dvi 命令的 --html 参数,使用 HeVeA 从 LaTeX 输出 HTML 文件"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi__info",
|
||||
"desc": "测试 texi2dvi 命令的 --info 参数,使用 HeVeA 从 LaTeX 输出 Info 文件"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi__text",
|
||||
"desc": "测试 texi2dvi 命令的 --text 参数,使用 HeVeA 从 LaTeX 输出纯文本文件"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi__upper_e",
|
||||
"desc": "测试 texi2dvi 命令的 -E 参数,使用 makeinfo 进行宏扩展"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi__l",
|
||||
"desc": "测试 texi2dvi 命令的 -l 参数,指定输入文件的语言"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi__t",
|
||||
"desc": "测试 texi2dvi 命令的 -t 参数,在输入文件副本中插入命令"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi__upper_i",
|
||||
"desc": "测试 texi2dvi 命令的 -I 参数,指定 Texinfo 文件的搜索目录"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi__no_line_error",
|
||||
"desc": "测试 texi2dvi 命令的 --no-line-error 参数,不传递 --file-line-error 给 TeX"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi__shell_escape",
|
||||
"desc": "测试 texi2dvi 命令的 --shell-escape 参数,传递 --shell-escape 给 TeX"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi__src_specials",
|
||||
"desc": "测试 texi2dvi 命令的 --src-specials 参数,传递 --src-specials 给 TeX"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi__translate_file",
|
||||
"desc": "测试 texi2dvi 命令的 --translate-file 参数,为 TeX 使用指定的字符集翻译文件"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi__mostly_clean",
|
||||
"desc": "测试 texi2dvi 命令的 --mostly-clean 参数,移除之前运行的辅助文件或目录"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi__c",
|
||||
"desc": "测试 texi2dvi 命令的 -c 参数,等同于 --build=clean,编译后清理辅助文件"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi__tidy",
|
||||
"desc": "测试 texi2dvi 命令的 --tidy 参数,等同于 --build=tidy,在本地 *.t2d 目录中编译"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi__build",
|
||||
"desc": "测试 texi2dvi 命令的 --build 参数,指定辅助文件的处理模式"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi__build_dir",
|
||||
"desc": "测试 texi2dvi 命令的 --build-dir 参数,指定 tidy 编译的执行目录,并隐含 --tidy"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi__max_iterations",
|
||||
"desc": "测试 texi2dvi 命令的 --max-iterations 参数,限制文件处理的最大迭代次数"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2pdf_p",
|
||||
"desc": "测试使用--pdf选项生成PDF输出"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2pdf_q",
|
||||
"desc": "测试使用--quiet选项在无错误时静默输出"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2pdf_upper_v",
|
||||
"desc": "测试使用--verbose选项报告详细处理过程"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2pdf_max_iterations",
|
||||
"desc": "测试使用--max-iterations选项限制最大处理迭代次数"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2pdf_mostly_clean",
|
||||
"desc": "测试使用--mostly-clean选项清除之前的辅助文件"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2pdf_dvi",
|
||||
"desc": "测试使用--dvi选项指定输出DVI格式"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2pdf_dvipdf",
|
||||
"desc": "测试使用--dvipdf选项通过DVI生成PDF"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2pdf_html",
|
||||
"desc": "测试使用--html选项通过HeVeA生成HTML"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2pdf_info",
|
||||
"desc": "测试使用--info选项通过HeVeA生成Info"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2pdf_ps",
|
||||
"desc": "测试使用--ps选项通过DVI生成PostScript"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2pdf_text",
|
||||
"desc": "测试使用--text选项通过HeVeA生成纯文本"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2pdf_upper_e",
|
||||
"desc": "测试使用--expand选项通过makeinfo进行宏扩展"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2pdf_upper_i",
|
||||
"desc": "测试使用-I选项指定Texinfo文件的搜索目录"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2pdf_l",
|
||||
"desc": "测试使用--language选项指定输入文件的语言"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2pdf_no_line_error",
|
||||
"desc": "测试使用--no-line-error选项禁止传递--file-line-error给TeX"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2pdf_shell_escape",
|
||||
"desc": "测试使用--shell-escape选项传递--shell-escape给TeX"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2pdf_src_specials",
|
||||
"desc": "测试使用--src-specials选项传递--src-specials给TeX"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2pdf_translate_file",
|
||||
"desc": "测试使用--translate-file选项指定字符集转换文件"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2pdf_t",
|
||||
"desc": "测试使用--command选项在输入文件副本中插入命令"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2pdf_build",
|
||||
"desc": "测试使用--build选项指定辅助文件的处理模式"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2pdf_tidy",
|
||||
"desc": "测试使用--tidy选项以整洁模式编译"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2pdf_c",
|
||||
"desc": "测试使用--clean选项以清理模式编译"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2pdf_build_dir",
|
||||
"desc": "测试使用--build-dir选项指定整洁编译的目录"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texindex_no_arg",
|
||||
"desc": "测试不带任何参数直接调用texindex命令"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texindex_help",
|
||||
"desc": "测试使用--help参数显示帮助信息"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texindex_version",
|
||||
"desc": "测试使用--version参数显示版本信息"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texindex_dash_dash",
|
||||
"desc": "测试使用--作为参数,表示选项解析结束"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_function_pdf_generate",
|
||||
"desc": "Test PDF generation from TeX"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_function_dvi_generate",
|
||||
"desc": "Test DVI generation from TeX"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_function_macro_expand",
|
||||
"desc": "Test macro expansion with makeinfo"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_function_index_sort",
|
||||
"desc": "Test sorting index files with texindex"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_function_help",
|
||||
"desc": "Test help option for main commands"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_function_version",
|
||||
"desc": "Test version option for main commands"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_function_output_redirect",
|
||||
"desc": "Test output file redirection"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_function_build_clean",
|
||||
"desc": "Test clean build mode"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_function_build_tidy",
|
||||
"desc": "Test tidy build mode"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_pdftexi2dvi_upper_d",
|
||||
"desc": "测试pdftexi2dvi命令的-D参数,用于开启shell调试模式"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_pdftexi2dvi_o",
|
||||
"desc": "测试pdftexi2dvi命令的-o参数,用于指定输出文件"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_pdftexi2dvi_upper_e",
|
||||
"desc": "测试pdftexi2dvi命令的-E参数,用于使用makeinfo进行宏展开"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_pdftexi2dvi_l",
|
||||
"desc": "测试pdftexi2dvi命令的-l参数,用于指定输入文件的语言"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_pdftexi2dvi_t",
|
||||
"desc": "测试pdftexi2dvi命令的-t参数,用于在输入文件副本中插入指定命令"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_pdftexi2dvi_upper_i",
|
||||
"desc": "测试pdftexi2dvi命令的-I参数,用于指定Texinfo文件的搜索目录"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_pdftexi2dvi_dvi",
|
||||
"desc": "测试pdftexi2dvi命令的--dvi参数,用于生成DVI文件"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_pdftexi2dvi_dvipdf",
|
||||
"desc": "测试pdftexi2dvi命令的--dvipdf参数,用于通过DVI生成PDF文件"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_pdftexi2dvi_ps",
|
||||
"desc": "测试pdftexi2dvi命令的--ps参数,用于通过DVI生成PostScript文件"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_pdftexi2dvi_shell_escape",
|
||||
"desc": "测试pdftexi2dvi命令的--shell-escape参数,用于向TeX传递--shell-escape选项"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_pdftexi2dvi_src_specials",
|
||||
"desc": "测试pdftexi2dvi命令的--src-specials参数,用于向TeX传递--src-specials选项"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_pdftexi2dvi_no_line_error",
|
||||
"desc": "测试pdftexi2dvi命令的--no-line-error参数,用于不向TeX传递--file-line-error选项"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_pdftexi2dvi_translate_file",
|
||||
"desc": "测试pdftexi2dvi命令的--translate-file参数,用于为TeX指定字符集转换文件"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi_h",
|
||||
"desc": "测试显示帮助信息"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi_v",
|
||||
"desc": "测试显示版本信息"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi_q",
|
||||
"desc": "测试静默模式,除非出错否则不输出"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi_upper_v",
|
||||
"desc": "测试详细模式,报告正在执行的操作"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi_d",
|
||||
"desc": "测试开启shell调试模式"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi_o",
|
||||
"desc": "测试指定输出文件名"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi_p",
|
||||
"desc": "测试使用pdftex或pdflatex处理以生成PDF输出"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi_e",
|
||||
"desc": "测试使用makeinfo进行宏展开"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi_l",
|
||||
"desc": "测试指定输入文件的语言"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi_t",
|
||||
"desc": "测试在输入文件副本中插入指定命令"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi_c",
|
||||
"desc": "测试清理模式,编译后移除辅助目录"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi_dvi",
|
||||
"desc": "测试指定输出DVI格式"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi_dvipdf",
|
||||
"desc": "测试通过DVI生成PDF输出"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi_ps",
|
||||
"desc": "测试通过DVI生成PostScript输出"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi_html",
|
||||
"desc": "测试使用HeVeA从LaTeX生成HTML输出"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi_info",
|
||||
"desc": "测试使用HeVeA从LaTeX生成Info输出"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi_text",
|
||||
"desc": "测试使用HeVeA从LaTeX生成纯文本输出"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi_no_line_error",
|
||||
"desc": "测试不向TeX传递--file-line-error选项"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi_shell_escape",
|
||||
"desc": "测试向TeX传递--shell-escape选项"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi_src_specials",
|
||||
"desc": "测试向TeX传递--src-specials选项"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi_translate_file",
|
||||
"desc": "测试为TeX指定字符集翻译文件"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi_build",
|
||||
"desc": "测试指定构建模式"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi_tidy",
|
||||
"desc": "测试整洁构建模式"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi_build_dir",
|
||||
"desc": "测试指定整洁编译的目录"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi_max_iterations",
|
||||
"desc": "测试设置最大处理迭代次数"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi_mostly_clean",
|
||||
"desc": "测试移除之前运行的辅助文件或目录"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2dvi_i",
|
||||
"desc": "测试添加Texinfo文件的搜索目录"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2pdf_help",
|
||||
"desc": "测试texi2pdf命令的--help选项,查看帮助信息"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2pdf_version",
|
||||
"desc": "测试texi2pdf命令的--version选项,查看版本信息"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2pdf_quiet",
|
||||
"desc": "测试texi2pdf命令的--quiet选项,在无错误时抑制输出"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2pdf_verbose",
|
||||
"desc": "测试texi2pdf命令的--verbose选项,报告详细处理过程"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2pdf_output",
|
||||
"desc": "测试texi2pdf命令的--output选项,指定输出文件"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2pdf_pdf",
|
||||
"desc": "测试texi2pdf命令的--pdf选项,生成PDF输出"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2pdf_language",
|
||||
"desc": "测试texi2pdf命令的--language选项,指定输入文件语言"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2pdf_command",
|
||||
"desc": "测试texi2pdf命令的--command选项,在输入文件副本中插入命令"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2pdf_expand",
|
||||
"desc": "测试texi2pdf命令的--expand选项,使用makeinfo进行宏展开"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texi2pdf_clean",
|
||||
"desc": "测试texi2pdf命令的--clean选项,等同于--build=clean"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texindex_h",
|
||||
"desc": "使用-h参数显示帮助信息"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texindex_end_option",
|
||||
"desc": "使用--参数结束选项处理"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texindex_no_option",
|
||||
"desc": "不带任何选项处理一个文件"
|
||||
},
|
||||
{
|
||||
"name": "test_texinfo-tex_texindex_wildcard",
|
||||
"desc": "使用通配符处理多个文件"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,54 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-base/texlive-pst-pdf",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-pst-pdf_ps4pdf__v",
|
||||
"desc": "测试 ps4pdf 命令的 -v 参数"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-pst-pdf_ps4pdf__q",
|
||||
"desc": "测试 ps4pdf 命令的 -q 参数"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-pst-pdf_ps4pdf__crop",
|
||||
"desc": "测试 ps4pdf 命令的 --crop 参数"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-pst-pdf_ps4pdf__version",
|
||||
"desc": "测试 ps4pdf 命令的 --version 参数"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-pst-pdf_ps4pdf__Xps2pdf",
|
||||
"desc": "测试 ps4pdf 命令的 --Xps2pdf OPT 参数"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-pst-pdf_ps4pdf__lualatex",
|
||||
"desc": "测试 ps4pdf 命令的 --lualatex 参数"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-pst-pdf_ps4pdf__xelatex",
|
||||
"desc": "测试 ps4pdf 命令的 --xelatex 参数"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-pst-pdf_function_basic",
|
||||
"desc": "测试基本功能是否正常"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-pst-pdf_function_install",
|
||||
"desc": "测试软件包是否已正确安装"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-pst-pdf_function_usage",
|
||||
"desc": "测试使用pst-pdf宏包生成PDF"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-pst-pdf_function_compile",
|
||||
"desc": "测试带pst-pdf的LaTeX编译流程"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-pst-pdf_function_uninstall",
|
||||
"desc": "测试软件包卸载功能"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-a/texlive-apptools",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-apptools_function_basic",
|
||||
"desc": "Test basic functionality of texlive-apptools"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-apptools_function_install",
|
||||
"desc": "Test installation of texlive-apptools package"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-apptools_function_uninstall",
|
||||
"desc": "Test uninstallation of texlive-apptools package"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-apptools_function_version",
|
||||
"desc": "Test checking version of texlive-apptools"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-apptools_function_help",
|
||||
"desc": "Test displaying help or usage information"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-apptools_function_basic_cmd",
|
||||
"desc": "Test execution of basic provided commands"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -17,10 +17,6 @@
|
||||
{
|
||||
"name": "test_texlive-canoniclayout_function_listfiles",
|
||||
"desc": "Test listing package files"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-canoniclayout_function_usage",
|
||||
"desc": "Test basic package usage in TeX"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-h/texlive-ecclesiastic",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-ecclesiastic_function_install",
|
||||
"desc": "Test package installation"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-n/texlive-ladder",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-ladder_function_install",
|
||||
"desc": "Test package installation"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-ladder_function_basic",
|
||||
"desc": "Test basic command usage"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,25 +2,9 @@
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-o/texlive-mceinleger",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-mceinleger_function_install",
|
||||
"desc": "Test installation of texlive-mceinleger"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-mceinleger_function_check_installed",
|
||||
"desc": "Check if texlive-mceinleger is installed in the system"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-mceinleger_function_verify_content",
|
||||
"desc": "Verify the package provides expected LaTeX files"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-mceinleger_function_basic_usage",
|
||||
"desc": "Test basic LaTeX document compilation using the package"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-mceinleger_function_package_removal",
|
||||
"desc": "Test removal/uninstallation of texlive-mceinleger"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6,21 +6,9 @@
|
||||
"name": "test_texlive-steinmetz-doc_function_install",
|
||||
"desc": "Test package installation"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-steinmetz-doc_function_verify_installed",
|
||||
"desc": "Verify package is correctly installed"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-steinmetz-doc_function_list_files",
|
||||
"desc": "List installed documentation files"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-steinmetz-doc_function_view_doc",
|
||||
"desc": "Check documentation content accessibility"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-steinmetz-doc_function_uninstall",
|
||||
"desc": "Test package removal"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-y/texlive-tetragonos",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-tetragonos_function_basic",
|
||||
"desc": "Test basic functionality of texlive-tetragonos"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -5,18 +5,6 @@
|
||||
{
|
||||
"name": "test_texlive-nanicolle_function_uninstall",
|
||||
"desc": "Test package removal"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-nanicolle_function_install",
|
||||
"desc": "Test package installation"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-nanicolle_function_verify",
|
||||
"desc": "Test package presence and integrity"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-nanicolle_function_usage",
|
||||
"desc": "Test basic package usage in LaTeX"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/xxhash-devel/xxhash-devel",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_xxhash-devel_function_install",
|
||||
"desc": "测试xxhash-devel软件包的安装功能是否正常。"
|
||||
},
|
||||
{
|
||||
"name": "test_xxhash-devel_function_header_exist",
|
||||
"desc": "测试安装后,开发头文件(如xxhash.h)是否已正确安装到系统目录。"
|
||||
},
|
||||
{
|
||||
"name": "test_xxhash-devel_function_uninstall",
|
||||
"desc": "测试xxhash-devel软件包的卸载功能是否正常,确认相关文件被移除。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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 : 2026-03-15
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic CLI command
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试: Test basic CLI command"
|
||||
|
||||
# 检查是否已安装软件包
|
||||
LOG_INFO "检查是否已安装测试软件包"
|
||||
if dnf list installed test-package &>/dev/null; then
|
||||
LOG_INFO "测试软件包已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "测试软件包未安装,将在测试步骤中安装"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有该软件包
|
||||
LOG_INFO "检查yum源中是否有test-package软件包"
|
||||
if ! dnf list available test-package &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到test-package软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装则安装软件包
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "安装test-package软件包"
|
||||
dnf install -y test-package
|
||||
CHECK_RESULT $? 0 0 "安装test-package失败"
|
||||
fi
|
||||
|
||||
# 测试基本CLI命令
|
||||
LOG_INFO "测试基本CLI命令"
|
||||
test-command --help
|
||||
CHECK_RESULT $? 0 0 "test-command --help命令执行失败"
|
||||
|
||||
# 测试带参数的命令
|
||||
LOG_INFO "测试带有效参数的CLI命令"
|
||||
test-command --version
|
||||
CHECK_RESULT $? 0 0 "test-command --version命令执行失败"
|
||||
|
||||
# 测试不支持的参数
|
||||
LOG_INFO "测试不支持的参数"
|
||||
test-command --invalid-param 2>/dev/null
|
||||
if [ $? -eq 255 ]; then
|
||||
LOG_ERROR "不支持的参数导致命令退出码为255"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试多服务器场景(如果需要)
|
||||
if [ -n "$NODE2_IPV4" ] && [ -n "$NODE2_PASSWORD" ] && [ -n "$NODE2_USER" ]; then
|
||||
LOG_INFO "在第二个服务器上执行命令"
|
||||
SSH_CMD "ls /tmp" "$NODE2_IPV4" "$NODE2_PASSWORD" "$NODE2_USER"
|
||||
CHECK_RESULT $? 0 0 "在第二个服务器上执行命令失败"
|
||||
fi
|
||||
|
||||
# 环境清理
|
||||
LOG_INFO "清理测试环境"
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "卸载测试期间安装的软件包"
|
||||
dnf remove -y test-package
|
||||
CHECK_RESULT $? 0 0 "卸载test-package失败"
|
||||
else
|
||||
LOG_INFO "保持软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成: Test basic CLI command"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,150 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-15
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test loading config file
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义变量
|
||||
TEST_PACKAGE="auto-common-function-config-load"
|
||||
CONFIG_FILE="/etc/auto-common-function/config.conf"
|
||||
LOG_FILE="/var/log/test_auto-common-function-config-load.log"
|
||||
|
||||
# 日志函数
|
||||
LOG_INFO() {
|
||||
echo "[INFO] $1" | tee -a $LOG_FILE
|
||||
}
|
||||
|
||||
LOG_ERROR() {
|
||||
echo "[ERROR] $1" | tee -a $LOG_FILE
|
||||
}
|
||||
|
||||
# 检查软件包是否在yum源中存在
|
||||
check_package_in_repo() {
|
||||
LOG_INFO "检查yum源中是否存在软件包 $TEST_PACKAGE"
|
||||
dnf list available $TEST_PACKAGE 2>/dev/null | grep -q $TEST_PACKAGE
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在软件包 $TEST_PACKAGE"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "软件包 $TEST_PACKAGE 存在于yum源中"
|
||||
}
|
||||
|
||||
# 检查命令参数
|
||||
check_command_param() {
|
||||
local cmd=$1
|
||||
local param=$2
|
||||
LOG_INFO "检查命令 $cmd 是否支持参数 $param"
|
||||
$cmd --help 2>&1 | grep -q -- "$param"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "命令 $cmd 不支持参数 $param"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "命令 $cmd 支持参数 $param"
|
||||
}
|
||||
|
||||
# 安装软件包
|
||||
install_package() {
|
||||
LOG_INFO "安装软件包 $TEST_PACKAGE"
|
||||
dnf install -y $TEST_PACKAGE
|
||||
CHECK_RESULT $? 0 0 "安装软件包 $TEST_PACKAGE 失败"
|
||||
LOG_INFO "软件包 $TEST_PACKAGE 安装成功"
|
||||
}
|
||||
|
||||
# 卸载软件包
|
||||
uninstall_package() {
|
||||
LOG_INFO "卸载软件包 $TEST_PACKAGE"
|
||||
dnf remove -y $TEST_PACKAGE
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 $TEST_PACKAGE 失败"
|
||||
LOG_INFO "软件包 $TEST_PACKAGE 卸载成功"
|
||||
}
|
||||
|
||||
# 检查配置文件加载
|
||||
test_config_load() {
|
||||
LOG_INFO "测试配置文件加载功能"
|
||||
if [ -f $CONFIG_FILE ]; then
|
||||
LOG_INFO "配置文件 $CONFIG_FILE 存在,尝试加载"
|
||||
auto-common-function-config-load --config $CONFIG_FILE
|
||||
CHECK_RESULT $? 0 0 "加载配置文件 $CONFIG_FILE 失败"
|
||||
LOG_INFO "配置文件 $CONFIG_FILE 加载成功"
|
||||
else
|
||||
LOG_INFO "配置文件 $CONFIG_FILE 不存在,创建测试配置文件"
|
||||
mkdir -p /etc/auto-common-function
|
||||
echo "test_key=test_value" > $CONFIG_FILE
|
||||
auto-common-function-config-load --config $CONFIG_FILE
|
||||
CHECK_RESULT $? 0 0 "加载新创建的配置文件 $CONFIG_FILE 失败"
|
||||
LOG_INFO "新创建的配置文件 $CONFIG_FILE 加载成功"
|
||||
fi
|
||||
}
|
||||
|
||||
# 主函数
|
||||
main() {
|
||||
LOG_INFO "开始测试: Test loading config file"
|
||||
|
||||
# 检查yum源中是否存在软件包
|
||||
check_package_in_repo
|
||||
|
||||
# 检查命令参数
|
||||
check_command_param "auto-common-function-config-load" "--config"
|
||||
|
||||
# 检查是否已安装软件包
|
||||
LOG_INFO "检查软件包 $TEST_PACKAGE 是否已安装"
|
||||
rpm -q $TEST_PACKAGE > /dev/null 2>&1
|
||||
local installed=$?
|
||||
|
||||
if [ $installed -ne 0 ]; then
|
||||
LOG_INFO "软件包 $TEST_PACKAGE 未安装,将进行安装"
|
||||
install_package
|
||||
local need_uninstall=1
|
||||
else
|
||||
LOG_INFO "软件包 $TEST_PACKAGE 已安装"
|
||||
local need_uninstall=0
|
||||
fi
|
||||
|
||||
# 执行测试
|
||||
test_config_load
|
||||
|
||||
# 清理环境
|
||||
LOG_INFO "清理测试环境"
|
||||
if [ -f $CONFIG_FILE ] && [ $installed -eq 0 ]; then
|
||||
# 如果之前已安装,保留配置文件
|
||||
LOG_INFO "保留配置文件 $CONFIG_FILE"
|
||||
else
|
||||
# 如果之前未安装,删除测试创建的配置文件
|
||||
if [ -f $CONFIG_FILE ]; then
|
||||
rm -f $CONFIG_FILE
|
||||
LOG_INFO "删除测试配置文件 $CONFIG_FILE"
|
||||
fi
|
||||
if [ -d /etc/auto-common-function ]; then
|
||||
rmdir /etc/auto-common-function 2>/dev/null
|
||||
fi
|
||||
fi
|
||||
|
||||
# 如果测试前未安装,测试后卸载软件包
|
||||
if [ $need_uninstall -eq 1 ]; then
|
||||
uninstall_package
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成: Test loading config file"
|
||||
}
|
||||
|
||||
# 执行主函数
|
||||
main
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,186 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-15
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test logging functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试日志功能
|
||||
LOG_INFO "开始测试日志功能"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="auto-common-function-logging"
|
||||
TEST_PACKAGE_NAME="auto-common-function-logging-test"
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
LOG_INFO "检查软件包是否在yum源中"
|
||||
dnf list available $PACKAGE_NAME &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 $PACKAGE_NAME 不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查测试软件包是否在yum源中
|
||||
dnf list available $TEST_PACKAGE_NAME &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 $TEST_PACKAGE_NAME 不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查当前是否已安装软件包
|
||||
LOG_INFO "检查软件包是否已安装"
|
||||
rpm -q $PACKAGE_NAME &>/dev/null
|
||||
PACKAGE_INSTALLED=$?
|
||||
|
||||
rpm -q $TEST_PACKAGE_NAME &>/dev/null
|
||||
TEST_PACKAGE_INSTALLED=$?
|
||||
|
||||
# 记录初始安装状态
|
||||
INITIAL_INSTALL=0
|
||||
if [ $PACKAGE_INSTALLED -eq 0 ] && [ $TEST_PACKAGE_INSTALLED -eq 0 ]; then
|
||||
INITIAL_INSTALL=1
|
||||
LOG_INFO "软件包已安装,测试结束后将保持安装状态"
|
||||
else
|
||||
LOG_INFO "软件包未安装,将进行安装测试"
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $INITIAL_INSTALL -eq 0 ]; then
|
||||
LOG_INFO "安装软件包"
|
||||
dnf install -y $PACKAGE_NAME $TEST_PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
|
||||
# 验证安装
|
||||
rpm -q $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "软件包 $PACKAGE_NAME 未正确安装"
|
||||
|
||||
rpm -q $TEST_PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "软件包 $TEST_PACKAGE_NAME 未正确安装"
|
||||
fi
|
||||
|
||||
# 测试日志功能
|
||||
LOG_INFO "测试基本日志功能"
|
||||
|
||||
# 检查日志命令是否存在
|
||||
LOG_INFO "检查日志命令是否可用"
|
||||
which logtest &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "日志测试命令不存在"
|
||||
if [ $INITIAL_INSTALL -eq 0 ]; then
|
||||
LOG_INFO "清理环境:卸载软件包"
|
||||
dnf remove -y $PACKAGE_NAME $TEST_PACKAGE_NAME
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试日志命令的基本功能
|
||||
LOG_INFO "执行日志测试命令"
|
||||
logtest --help &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "日志测试命令帮助信息获取失败"
|
||||
|
||||
# 测试日志级别参数
|
||||
LOG_INFO "测试日志级别参数"
|
||||
logtest --level info "测试信息日志" &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "信息日志级别测试失败"
|
||||
|
||||
logtest --level error "测试错误日志" &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "错误日志级别测试失败"
|
||||
|
||||
# 测试无效参数
|
||||
LOG_INFO "测试无效参数处理"
|
||||
logtest --invalid-param &>/dev/null
|
||||
if [ $? -ne 255 ] && [ $? -ne 1 ]; then
|
||||
LOG_ERROR "无效参数处理不符合预期"
|
||||
if [ $INITIAL_INSTALL -eq 0 ]; then
|
||||
LOG_INFO "清理环境:卸载软件包"
|
||||
dnf remove -y $PACKAGE_NAME $TEST_PACKAGE_NAME
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试日志文件输出
|
||||
LOG_INFO "测试日志文件输出"
|
||||
TEST_LOG_FILE="/tmp/test_log_$(date +%s).log"
|
||||
logtest --level info --output $TEST_LOG_FILE "测试文件输出" &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "日志文件输出测试失败"
|
||||
|
||||
# 检查日志文件是否存在且包含内容
|
||||
if [ -f "$TEST_LOG_FILE" ]; then
|
||||
LOG_INFO "日志文件创建成功"
|
||||
FILE_SIZE=$(stat -c%s "$TEST_LOG_FILE" 2>/dev/null || stat -f%z "$TEST_LOG_FILE" 2>/dev/null)
|
||||
if [ $FILE_SIZE -gt 0 ]; then
|
||||
LOG_INFO "日志文件包含内容"
|
||||
else
|
||||
LOG_ERROR "日志文件为空"
|
||||
fi
|
||||
# 清理测试日志文件
|
||||
rm -f $TEST_LOG_FILE
|
||||
else
|
||||
LOG_ERROR "日志文件未创建"
|
||||
fi
|
||||
|
||||
# 在多节点环境下测试(如果定义了相关变量)
|
||||
LOG_INFO "测试多节点日志功能"
|
||||
if [ -n "$NODE2_IPV4" ] && [ -n "$NODE2_PASSWORD" ] && [ -n "$NODE2_USER" ]; then
|
||||
SSH_CMD "which logtest" $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "在节点2上测试日志功能"
|
||||
SSH_CMD "logtest --level info "远程节点测试"" $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER
|
||||
CHECK_RESULT $? 0 0 "远程节点日志测试失败"
|
||||
else
|
||||
LOG_INFO "节点2未安装日志测试工具,跳过远程测试"
|
||||
fi
|
||||
else
|
||||
LOG_INFO "未配置多节点环境,跳过远程测试"
|
||||
fi
|
||||
|
||||
# 环境清理
|
||||
LOG_INFO "开始环境清理"
|
||||
|
||||
# 如果测试前未安装,则卸载软件包
|
||||
if [ $INITIAL_INSTALL -eq 0 ]; then
|
||||
LOG_INFO "卸载测试安装的软件包"
|
||||
dnf remove -y $PACKAGE_NAME $TEST_PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
|
||||
# 验证卸载
|
||||
rpm -q $PACKAGE_NAME &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "软件包 $PACKAGE_NAME 卸载失败"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
rpm -q $TEST_PACKAGE_NAME &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "软件包 $TEST_PACKAGE_NAME 卸载失败"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_INFO "软件包卸载成功,环境已恢复"
|
||||
else
|
||||
LOG_INFO "保持软件包安装状态,不进行卸载"
|
||||
fi
|
||||
|
||||
# 清理临时文件
|
||||
LOG_INFO "清理临时文件"
|
||||
rm -f /tmp/test_log_*.log 2>/dev/null
|
||||
|
||||
LOG_INFO "日志功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,81 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-15
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test uninstallation of auto-common package
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:卸载auto-common软件包"
|
||||
|
||||
# 检查yum源中是否存在auto-common软件包
|
||||
LOG_INFO "检查yum源中是否存在auto-common软件包"
|
||||
dnf list available auto-common > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在auto-common软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查当前环境是否已安装auto-common
|
||||
LOG_INFO "检查当前环境是否已安装auto-common"
|
||||
rpm -q auto-common > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "环境已安装auto-common,测试结束后保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "环境未安装auto-common,将进行安装和卸载测试"
|
||||
INSTALLED=0
|
||||
# 安装auto-common软件包
|
||||
LOG_INFO "安装auto-common软件包"
|
||||
dnf install -y auto-common
|
||||
CHECK_RESULT $? 0 0 "安装auto-common失败"
|
||||
fi
|
||||
|
||||
# 模拟测试场景:检查auto-common的某个命令或功能
|
||||
LOG_INFO "测试auto-common的某个功能"
|
||||
# 假设auto-common提供了一个命令auto-common-version,这里检查其是否存在
|
||||
LOG_INFO "检查auto-common-version命令是否存在"
|
||||
auto-common-version --help > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "auto-common-version命令不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行命令并检查结果
|
||||
LOG_INFO "执行auto-common-version命令"
|
||||
auto-common-version
|
||||
CHECK_RESULT $? 0 0 "执行auto-common-version失败"
|
||||
|
||||
# 如果需要第二个服务器操作,示例:
|
||||
# LOG_INFO "在第二个服务器上执行命令"
|
||||
# SSH_CMD "ls" $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER
|
||||
# CHECK_RESULT $? 0 0 "在第二个服务器上执行命令失败"
|
||||
|
||||
# 环境清理:如果测试前未安装,则卸载软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载auto-common软件包"
|
||||
dnf remove -y auto-common
|
||||
CHECK_RESULT $? 0 0 "卸载auto-common失败"
|
||||
LOG_INFO "环境已恢复到未安装auto-common的状态"
|
||||
else
|
||||
LOG_INFO "环境保持已安装auto-common的状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:卸载auto-common软件包"
|
||||
}
|
||||
|
||||
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-15
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test common utility parsing
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test common utility parsing"
|
||||
|
||||
# 检查环境是否已安装
|
||||
LOG_INFO "检查环境是否已安装"
|
||||
rpm -qa | grep -q "auto-common-function-util-parse"
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "环境已安装,测试结束后将保持安装状态"
|
||||
ENV_INSTALLED=true
|
||||
else
|
||||
LOG_INFO "环境未安装,将在测试过程中安装"
|
||||
ENV_INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
LOG_INFO "检查软件包是否在yum源中"
|
||||
dnf list available "auto-common-function-util-parse" &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 auto-common-function-util-parse 不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查命令参数
|
||||
LOG_INFO "检查命令参数"
|
||||
if [ -z "$1" ]; then
|
||||
LOG_ERROR "缺少必要参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行安装(如果环境未安装)
|
||||
if [ "$ENV_INSTALLED" = false ]; then
|
||||
LOG_INFO "安装软件包 auto-common-function-util-parse"
|
||||
dnf install -y "auto-common-function-util-parse"
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
fi
|
||||
|
||||
# 执行测试命令
|
||||
LOG_INFO "执行测试命令"
|
||||
auto-common-function-util-parse "$1"
|
||||
CHECK_RESULT $? 0 0 "执行命令失败"
|
||||
|
||||
# 清理环境(如果测试前未安装)
|
||||
if [ "$ENV_INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载软件包 auto-common-function-util-parse"
|
||||
dnf remove -y "auto-common-function-util-parse"
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test common utility parsing"
|
||||
}
|
||||
|
||||
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 : 2026-03-15
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test checking version of auto-common
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:检查auto-common版本"
|
||||
|
||||
# 检查是否已安装auto-common
|
||||
LOG_INFO "步骤1:检查是否已安装auto-common软件包"
|
||||
if rpm -q auto-common &> /dev/null; then
|
||||
LOG_INFO "auto-common已安装,跳过安装步骤"
|
||||
INSTALLED_BEFORE="true"
|
||||
else
|
||||
LOG_INFO "auto-common未安装,将在测试过程中安装"
|
||||
INSTALLED_BEFORE="false"
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在auto-common软件包
|
||||
LOG_INFO "步骤2:检查yum源中是否存在auto-common软件包"
|
||||
if ! dnf list available auto-common &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到auto-common软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装auto-common
|
||||
if [ "$INSTALLED_BEFORE" = "false" ]; then
|
||||
LOG_INFO "步骤3:安装auto-common软件包"
|
||||
dnf install -y auto-common
|
||||
CHECK_RESULT $? 0 0 "安装auto-common失败"
|
||||
fi
|
||||
|
||||
# 测试检查版本命令
|
||||
LOG_INFO "步骤4:执行auto-common版本检查命令"
|
||||
auto-common --version
|
||||
CHECK_RESULT $? 0 0 "执行auto-common --version命令失败"
|
||||
|
||||
# 测试不支持的参数
|
||||
LOG_INFO "步骤5:测试不支持的参数"
|
||||
auto-common --invalid-param 2>&1 | grep -q "invalid option"
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "参数检查正常:不支持--invalid-param参数"
|
||||
else
|
||||
LOG_ERROR "参数检查失败:--invalid-param参数未被正确识别为无效"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载软件包
|
||||
if [ "$INSTALLED_BEFORE" = "false" ]; then
|
||||
LOG_INFO "步骤6:清理环境,卸载auto-common软件包"
|
||||
dnf remove -y auto-common
|
||||
CHECK_RESULT $? 0 0 "卸载auto-common失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:auto-common版本检查测试通过"
|
||||
}
|
||||
|
||||
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-12-08
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试genwqe-zlib的压缩功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查genwqe-zlib软件包是否已安装
|
||||
LOG_INFO "检查genwqe-zlib软件包是否已安装"
|
||||
if rpm -q genwqe-zlib &>/dev/null; then
|
||||
LOG_INFO "genwqe-zlib软件包已安装"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "genwqe-zlib软件包未安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在genwqe-zlib软件包
|
||||
LOG_INFO "检查yum源中是否存在genwqe-zlib软件包"
|
||||
if ! dnf list available genwqe-zlib &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到genwqe-zlib软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装genwqe-zlib软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装genwqe-zlib软件包"
|
||||
dnf install -y genwqe-zlib
|
||||
CHECK_RESULT $? 0 0 "安装genwqe-zlib软件包失败"
|
||||
LOG_INFO "genwqe-zlib软件包安装成功"
|
||||
fi
|
||||
|
||||
# 测试genwqe-zlib的压缩功能
|
||||
LOG_INFO "测试genwqe-zlib的压缩功能"
|
||||
if ! genzpipe --help &>/dev/null; then
|
||||
LOG_ERROR "genzpipe命令不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 创建一个测试文件
|
||||
LOG_INFO "创建测试文件"
|
||||
echo "This is a test file for genwqe-zlib compression." > testfile.txt
|
||||
|
||||
# 压缩测试文件
|
||||
LOG_INFO "压缩测试文件"
|
||||
genzpipe -c < testfile.txt > testfile.txt.gz 2>/dev/null
|
||||
CHECK_RESULT $? 0 0 "压缩测试文件失败"
|
||||
|
||||
# 解压缩测试文件并验证内容一致性
|
||||
LOG_INFO "解压缩测试文件并验证内容一致性"
|
||||
genzpipe -d < testfile.txt.gz > testfile_decompressed.txt 2>/dev/null
|
||||
CHECK_RESULT $? 0 0 "解压缩测试文件失败"
|
||||
|
||||
cmp testfile.txt testfile_decompressed.txt
|
||||
CHECK_RESULT $? 0 0 "解压缩后的文件内容与原始文件不一致"
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f testfile.txt testfile.txt.gz testfile_decompressed.txt
|
||||
|
||||
# 如果脚本开始时未安装genwqe-zlib,则在结束时卸载
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载genwqe-zlib软件包"
|
||||
dnf remove -y genwqe-zlib &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "卸载genwqe-zlib软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,133 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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 : 测试genwqe-zlib的解压缩功能,验证其是否能正确还原压缩数据
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义日志函数(如果未定义)
|
||||
type LOG_INFO >/dev/null 2>&1 || LOG_INFO() { echo "[INFO] $*"; }
|
||||
type LOG_ERROR >/dev/null 2>&1 || LOG_ERROR() { echo "[ERROR] $*"; }
|
||||
|
||||
# 定义检查结果函数(如果未定义)
|
||||
type CHECK_RESULT >/dev/null 2>&1 || 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
|
||||
fi
|
||||
}
|
||||
|
||||
# 定义SSH命令函数(如果未定义)
|
||||
type SSH_CMD >/dev/null 2>&1 || SSH_CMD() {
|
||||
local cmd=$1
|
||||
local ip=$2
|
||||
local password=$3
|
||||
local user=$4
|
||||
sshpass -p "$password" ssh -o StrictHostKeyChecking=no "$user@$ip" "$cmd"
|
||||
}
|
||||
|
||||
# 测试genwqe-zlib的解压缩功能
|
||||
LOG_INFO "开始测试genwqe-zlib的解压缩功能"
|
||||
|
||||
# 检查是否已安装genwqe-zlib
|
||||
LOG_INFO "检查genwqe-zlib是否已安装"
|
||||
if rpm -q genwqe-zlib >/dev/null 2>&1; then
|
||||
LOG_INFO "genwqe-zlib已安装,测试结束后将保持安装状态"
|
||||
INSTALLED_BEFORE=1
|
||||
else
|
||||
LOG_INFO "genwqe-zlib未安装,将在测试过程中安装"
|
||||
INSTALLED_BEFORE=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有genwqe-zlib软件包
|
||||
LOG_INFO "检查yum源中是否有genwqe-zlib软件包"
|
||||
dnf list available genwqe-zlib >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到genwqe-zlib软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装genwqe-zlib
|
||||
if [ $INSTALLED_BEFORE -eq 0 ]; then
|
||||
LOG_INFO "安装genwqe-zlib软件包"
|
||||
dnf install -y genwqe-zlib >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装genwqe-zlib"
|
||||
fi
|
||||
|
||||
# 创建测试文件
|
||||
LOG_INFO "创建测试文件"
|
||||
echo "This is a test file for genwqe-zlib decompression function testing." > test_input.txt
|
||||
CHECK_RESULT $? 0 0 "创建测试文件"
|
||||
|
||||
# 使用genwqe-zlib压缩测试文件
|
||||
LOG_INFO "使用genwqe-zlib压缩测试文件"
|
||||
genwqe_zlib -c test_input.txt > test_compressed.gz 2>/dev/null
|
||||
CHECK_RESULT $? 0 0 "压缩测试文件"
|
||||
|
||||
# 检查压缩文件是否存在
|
||||
LOG_INFO "检查压缩文件是否存在"
|
||||
if [ -f test_compressed.gz ]; then
|
||||
LOG_INFO "压缩文件创建成功"
|
||||
else
|
||||
LOG_ERROR "压缩文件创建失败"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 使用genwqe-zlib解压缩文件
|
||||
LOG_INFO "使用genwqe-zlib解压缩文件"
|
||||
genwqe_zlib -d test_compressed.gz > test_decompressed.txt 2>/dev/null
|
||||
CHECK_RESULT $? 0 0 "解压缩文件"
|
||||
|
||||
# 检查解压缩文件是否存在
|
||||
LOG_INFO "检查解压缩文件是否存在"
|
||||
if [ -f test_decompressed.txt ]; then
|
||||
LOG_INFO "解压缩文件创建成功"
|
||||
else
|
||||
LOG_ERROR "解压缩文件创建失败"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 比较原始文件和解压缩后的文件
|
||||
LOG_INFO "比较原始文件和解压缩后的文件"
|
||||
cmp test_input.txt test_decompressed.txt >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "比较文件内容"
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f test_input.txt test_compressed.gz test_decompressed.txt
|
||||
CHECK_RESULT $? 0 0 "清理测试文件"
|
||||
|
||||
# 如果测试前未安装,则卸载genwqe-zlib
|
||||
if [ $INSTALLED_BEFORE -eq 0 ]; then
|
||||
LOG_INFO "卸载genwqe-zlib软件包"
|
||||
dnf remove -y genwqe-zlib >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载genwqe-zlib"
|
||||
fi
|
||||
|
||||
LOG_INFO "genwqe-zlib解压缩功能测试完成"
|
||||
}
|
||||
|
||||
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 : 2026-04-01
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试genwqe-zlib软件包的安装功能,确保其能正确安装到系统中
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已经安装了genwqe-zlib软件包
|
||||
LOG_INFO "检查genwqe-zlib软件包是否已经安装"
|
||||
rpm -q genwqe-zlib > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "genwqe-zlib软件包已经安装,脚本结束时将保持安装状态"
|
||||
ALREADY_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "genwqe-zlib软件包未安装,将在测试过程中安装"
|
||||
ALREADY_INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在genwqe-zlib软件包
|
||||
LOG_INFO "检查yum源中是否存在genwqe-zlib软件包"
|
||||
dnf list available genwqe-zlib > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到genwqe-zlib软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "开始安装genwqe-zlib软件包"
|
||||
dnf install -y genwqe-zlib
|
||||
CHECK_RESULT $? 0 0 "安装genwqe-zlib软件包失败"
|
||||
LOG_INFO "genwqe-zlib软件包安装成功"
|
||||
fi
|
||||
|
||||
# 验证软件包是否正确安装
|
||||
LOG_INFO "验证genwqe-zlib软件包是否正确安装"
|
||||
rpm -q genwqe-zlib > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "genwqe-zlib软件包未正确安装"
|
||||
|
||||
# 测试软件包的基本功能
|
||||
LOG_INFO "测试genwqe-zlib软件包的基本功能"
|
||||
# 这里可以根据实际软件包功能添加测试命令,例如检查相关文件是否存在
|
||||
# 示例:检查是否安装了库文件
|
||||
ls /usr/lib*/libz* > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "genwqe-zlib相关文件未找到"
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载软件包
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "清理环境:卸载genwqe-zlib软件包"
|
||||
dnf remove -y genwqe-zlib
|
||||
CHECK_RESULT $? 0 0 "卸载genwqe-zlib软件包失败"
|
||||
LOG_INFO "genwqe-zlib软件包已成功卸载"
|
||||
else
|
||||
LOG_INFO "测试前已安装genwqe-zlib,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "genwqe-zlib软件包安装功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,129 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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 : 测试genwqe-zlib与系统库的集成,确保其作为加速库能被正常调用
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否以root用户运行
|
||||
if [[ $EUID -ne 0 ]]; then
|
||||
LOG_ERROR "此脚本必须以root用户身份运行"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="genwqe-zlib"
|
||||
|
||||
# 步骤1:检查yum源中是否存在genwqe-zlib软件包
|
||||
LOG_INFO "步骤1:检查yum源中是否存在${PACKAGE_NAME}软件包"
|
||||
if ! dnf list available ${PACKAGE_NAME} &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到${PACKAGE_NAME}软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum源中存在${PACKAGE_NAME}软件包"
|
||||
|
||||
# 步骤2:检查系统是否已安装genwqe-zlib
|
||||
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:安装genwqe-zlib(如果未安装)
|
||||
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:检查genwqe-zlib命令是否可用
|
||||
LOG_INFO "步骤4:检查genwqe-zlib命令是否可用"
|
||||
if ! command -v genwqe_memcopy &>/dev/null; then
|
||||
LOG_ERROR "genwqe_memcopy命令不存在"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "genwqe_memcopy命令可用"
|
||||
|
||||
# 步骤5:测试genwqe-zlib与系统库的集成
|
||||
LOG_INFO "步骤5:测试genwqe-zlib与系统库的集成"
|
||||
# 创建一个测试文件
|
||||
TEST_FILE="/tmp/test_genwqe_zlib.txt"
|
||||
echo "This is a test file for genwqe-zlib integration." > ${TEST_FILE}
|
||||
COMPRESSED_FILE="${TEST_FILE}.gz"
|
||||
|
||||
# 使用genwqe加速的gzip压缩
|
||||
LOG_INFO "使用genwqe加速的gzip压缩测试文件"
|
||||
GENWQE_GZIP_CMD="genwqe_gzip"
|
||||
if ! command -v ${GENWQE_GZIP_CMD} &>/dev/null; then
|
||||
LOG_ERROR "${GENWQE_GZIP_CMD}命令不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
${GENWQE_GZIP_CMD} -c ${TEST_FILE} > ${COMPRESSED_FILE}
|
||||
CHECK_RESULT $? 0 0 "genwqe_gzip压缩失败"
|
||||
|
||||
# 检查压缩文件是否存在且非空
|
||||
if [[ -s ${COMPRESSED_FILE} ]]; then
|
||||
LOG_INFO "压缩文件创建成功"
|
||||
else
|
||||
LOG_ERROR "压缩文件创建失败"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 使用genwqe加速的gunzip解压
|
||||
LOG_INFO "使用genwqe加速的gunzip解压测试文件"
|
||||
GENWQE_GUNZIP_CMD="genwqe_gunzip"
|
||||
if ! command -v ${GENWQE_GUNZIP_CMD} &>/dev/null; then
|
||||
LOG_ERROR "${GENWQE_GUNZIP_CMD}命令不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
DECOMPRESSED_FILE="/tmp/test_genwqe_zlib_decompressed.txt"
|
||||
${GENWQE_GUNZIP_CMD} -c ${COMPRESSED_FILE} > ${DECOMPRESSED_FILE}
|
||||
CHECK_RESULT $? 0 0 "genwqe_gunzip解压失败"
|
||||
|
||||
# 检查解压后的文件内容是否一致
|
||||
LOG_INFO "检查解压后的文件内容是否与原始文件一致"
|
||||
if cmp -s ${TEST_FILE} ${DECOMPRESSED_FILE}; then
|
||||
LOG_INFO "文件内容一致,genwqe-zlib与系统库集成正常"
|
||||
else
|
||||
LOG_ERROR "文件内容不一致,genwqe-zlib与系统库集成可能存在问题"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 步骤6:清理测试文件
|
||||
LOG_INFO "步骤6:清理测试文件"
|
||||
rm -f ${TEST_FILE} ${COMPRESSED_FILE} ${DECOMPRESSED_FILE}
|
||||
CHECK_RESULT $? 0 0 "清理测试文件失败"
|
||||
|
||||
# 步骤7:如果测试前未安装,则卸载genwqe-zlib
|
||||
if [[ ${ALREADY_INSTALLED} -eq 0 ]]; then
|
||||
LOG_INFO "步骤7:卸载${PACKAGE_NAME}"
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}失败"
|
||||
LOG_INFO "${PACKAGE_NAME}卸载成功"
|
||||
else
|
||||
LOG_INFO "步骤7:保持${PACKAGE_NAME}安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:genwqe-zlib与系统库的集成测试通过"
|
||||
}
|
||||
|
||||
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-04-01
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试genwqe-zlib软件包的卸载功能,确保其能被干净地移除
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
PACKAGE_NAME="genwqe-zlib"
|
||||
LOG_INFO "开始测试 $PACKAGE_NAME 软件包的卸载功能"
|
||||
LOG_INFO "步骤1: 检查当前系统是否已安装 $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
|
||||
LOG_INFO "步骤2: 检查 yum 源中是否存在 $PACKAGE_NAME 软件包"
|
||||
if ! dnf list available $PACKAGE_NAME &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 $PACKAGE_NAME 软件包"
|
||||
exit 255
|
||||
fi
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤3: 安装 $PACKAGE_NAME 软件包"
|
||||
dnf install -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "安装 $PACKAGE_NAME 失败"
|
||||
fi
|
||||
LOG_INFO "步骤4: 验证 $PACKAGE_NAME 软件包是否安装成功"
|
||||
rpm -q $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "$PACKAGE_NAME 未正确安装"
|
||||
LOG_INFO "步骤5: 卸载 $PACKAGE_NAME 软件包"
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "卸载 $PACKAGE_NAME 失败"
|
||||
LOG_INFO "步骤6: 验证 $PACKAGE_NAME 软件包是否已卸载"
|
||||
if rpm -q $PACKAGE_NAME &>/dev/null; then
|
||||
LOG_ERROR "$PACKAGE_NAME 卸载后仍存在于系统中"
|
||||
CHECK_RESULT 1 0 0 "$PACKAGE_NAME 卸载不干净"
|
||||
else
|
||||
LOG_INFO "$PACKAGE_NAME 已成功卸载"
|
||||
CHECK_RESULT 0 0 0 "$PACKAGE_NAME 卸载验证失败"
|
||||
fi
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤7: 清理环境,恢复原始状态(无需操作,已在步骤5卸载)"
|
||||
else
|
||||
LOG_INFO "步骤7: 恢复环境,重新安装 $PACKAGE_NAME"
|
||||
dnf install -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "重新安装 $PACKAGE_NAME 失败"
|
||||
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 : 2026-04-01
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试genwqe-zlib版本查询功能,验证其能正确返回版本信息
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试genwqe-zlib版本查询功能,验证其能正确返回版本信息
|
||||
LOG_INFO "开始测试genwqe-zlib版本查询功能"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="genwqe-zlib"
|
||||
|
||||
# 步骤1:检查yum源中是否存在genwqe-zlib软件包
|
||||
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:检查系统是否已安装genwqe-zlib
|
||||
LOG_INFO "步骤2:检查系统是否已安装${PACKAGE_NAME}"
|
||||
rpm -q ${PACKAGE_NAME} &>/dev/null
|
||||
IS_INSTALLED=$?
|
||||
NEED_CLEANUP=0
|
||||
|
||||
# 步骤3:如果未安装,则安装软件包
|
||||
if [ $IS_INSTALLED -ne 0 ]; then
|
||||
LOG_INFO "步骤3:安装${PACKAGE_NAME}软件包"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}失败"
|
||||
NEED_CLEANUP=1
|
||||
else
|
||||
LOG_INFO "步骤3:${PACKAGE_NAME}已安装,跳过安装步骤"
|
||||
fi
|
||||
|
||||
# 步骤4:验证genwqe-zlib版本查询功能
|
||||
LOG_INFO "步骤4:验证genwqe-zlib版本查询功能"
|
||||
# 检查genwqe-zlib命令是否支持版本参数
|
||||
genwqe-zlib --help 2>&1 | grep -q -- "--version"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "genwqe-zlib命令不支持--version参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行版本查询命令
|
||||
VERSION_OUTPUT=$(genwqe-zlib --version 2>&1)
|
||||
CHECK_RESULT $? 0 0 "执行genwqe-zlib --version失败"
|
||||
|
||||
# 检查版本输出是否包含有效信息
|
||||
if [ -z "$VERSION_OUTPUT" ]; then
|
||||
LOG_ERROR "genwqe-zlib版本查询返回空结果"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_INFO "genwqe-zlib版本信息:$VERSION_OUTPUT"
|
||||
|
||||
# 步骤5:清理环境
|
||||
LOG_INFO "步骤5:清理环境"
|
||||
if [ $NEED_CLEANUP -eq 1 ]; then
|
||||
LOG_INFO "卸载${PACKAGE_NAME}软件包"
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}失败"
|
||||
else
|
||||
LOG_INFO "${PACKAGE_NAME}为预安装软件包,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试genwqe-zlib版本查询功能完成"
|
||||
}
|
||||
|
||||
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-03
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包 kunpengsecl-devel 的配置功能,验证配置是否正确加载。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装 kunpengsecl-devel 软件包
|
||||
LOG_INFO "检查 kunpengsecl-devel 软件包是否已安装"
|
||||
rpm -q kunpengsecl-devel > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "kunpengsecl-devel 软件包已安装"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "kunpengsecl-devel 软件包未安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否存在 kunpengsecl-devel 软件包
|
||||
LOG_INFO "检查 yum 源中是否存在 kunpengsecl-devel 软件包"
|
||||
dnf list available kunpengsecl-devel > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum 源中不存在 kunpengsecl-devel 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装 kunpengsecl-devel 软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装 kunpengsecl-devel 软件包"
|
||||
dnf install -y kunpengsecl-devel
|
||||
CHECK_RESULT $? 0 0 "安装 kunpengsecl-devel 软件包失败"
|
||||
fi
|
||||
|
||||
# 验证配置是否正确加载
|
||||
LOG_INFO "验证 kunpengsecl-devel 配置是否正确加载"
|
||||
kunpengsecl-config --test > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "kunpengsecl-config 配置加载失败"
|
||||
|
||||
# 如果最初未安装,则在脚本结束前卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 kunpengsecl-devel 软件包"
|
||||
dnf remove -y kunpengsecl-devel
|
||||
CHECK_RESULT $? 0 0 "卸载kun p engs ecl- de vel软 件 失 败 "
|
||||
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 : 2026-02-21
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test text analyzer functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义颜色输出(可选,但通常LOG_INFO/LOG_ERROR会处理)
|
||||
LOG_INFO() {
|
||||
echo "[INFO] $*"
|
||||
}
|
||||
LOG_ERROR() {
|
||||
echo "[ERROR] $*" >&2
|
||||
}
|
||||
|
||||
# 测试用例描述:Test text analyzer functionality
|
||||
LOG_INFO "开始测试:Test text analyzer functionality"
|
||||
|
||||
# 步骤1: 检查环境中是否已安装lucene-demo软件包
|
||||
LOG_INFO "步骤1: 检查lucene-demo软件包是否已安装"
|
||||
if rpm -q lucene-demo &>/dev/null; then
|
||||
LOG_INFO "lucene-demo软件包已安装,测试结束后将保持安装状态"
|
||||
INSTALLED_BEFORE_TEST=true
|
||||
else
|
||||
LOG_INFO "lucene-demo软件包未安装,将在测试中安装"
|
||||
INSTALLED_BEFORE_TEST=false
|
||||
fi
|
||||
|
||||
# 步骤2: 检查yum源中是否有lucene-demo软件包
|
||||
LOG_INFO "步骤2: 检查yum源中是否有lucene-demo软件包"
|
||||
if ! dnf list available lucene-demo &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到lucene-demo软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤3: 如果未安装,则安装lucene-demo软件包
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
LOG_INFO "步骤3: 安装lucene-demo软件包"
|
||||
dnf install -y lucene-demo
|
||||
CHECK_RESULT $? 0 0 "安装lucene-demo软件包失败"
|
||||
fi
|
||||
|
||||
# 步骤4: 测试text analyzer功能
|
||||
LOG_INFO "步骤4: 测试text analyzer功能"
|
||||
# 假设lucene-demo提供了一个命令行工具"analyze-text"来测试analyzer功能
|
||||
# 检查analyze-text命令是否存在
|
||||
if ! command -v analyze-text &>/dev/null; then
|
||||
LOG_ERROR "analyze-text命令不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试analyze-text命令的基本参数
|
||||
LOG_INFO "步骤4.1: 测试analyze-text命令的--help参数"
|
||||
analyze-text --help
|
||||
CHECK_RESULT $? 0 0 "analyze-text --help 执行失败"
|
||||
|
||||
# 测试analyze-text命令的必需参数(假设--input是必需参数)
|
||||
LOG_INFO "步骤4.2: 测试analyze-text命令的--input参数"
|
||||
if analyze-text --input "test text" 2>&1 | grep -q "error"; then
|
||||
LOG_ERROR "analyze-text --input 参数不支持或执行失败"
|
||||
exit 255
|
||||
fi
|
||||
CHECK_RESULT $? 0 0 "analyze-text --input 执行失败"
|
||||
|
||||
# 步骤5: 清理环境,恢复到之前的状态
|
||||
LOG_INFO "步骤5: 清理测试环境"
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
LOG_INFO "卸载lucene-demo软件包"
|
||||
dnf remove -y lucene-demo
|
||||
CHECK_RESULT $? 0 0 "卸载lucene-demo软件包失败"
|
||||
else
|
||||
LOG_INFO "测试前已安装lucene-demo,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test text analyzer functionality"
|
||||
}
|
||||
|
||||
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-02-21
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test creating a basic index
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test creating a basic index"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="lucene-demo"
|
||||
LOG_INFO "检查yum源中是否存在软件包: $PACKAGE_NAME"
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
if ! dnf list available "$PACKAGE_NAME" &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到软件包: $PACKAGE_NAME"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 判断软件包是否已安装
|
||||
if rpm -q "$PACKAGE_NAME" &>/dev/null; then
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 已安装,测试完成后将保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 未安装,将进行安装"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "安装软件包: $PACKAGE_NAME"
|
||||
dnf install -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
fi
|
||||
|
||||
# 测试创建基本索引的功能
|
||||
LOG_INFO "执行创建基本索引的命令"
|
||||
# 假设创建索引的命令为 lucene-demo create-index,这里根据实际情况调整命令和参数
|
||||
COMMAND="lucene-demo"
|
||||
PARAM="create-index"
|
||||
# 检查命令是否存在
|
||||
if ! command -v "$COMMAND" &>/dev/null; then
|
||||
LOG_ERROR "命令 $COMMAND 不存在"
|
||||
exit 255
|
||||
fi
|
||||
# 检查参数是否支持,这里假设通过 --help 检查
|
||||
if ! "$COMMAND" --help 2>&1 | grep -q "$PARAM"; then
|
||||
LOG_ERROR "命令 $COMMAND 不支持参数 $PARAM"
|
||||
exit 255
|
||||
fi
|
||||
# 执行命令
|
||||
"$COMMAND" "$PARAM"
|
||||
CHECK_RESULT $? 0 0 "创建基本索引失败"
|
||||
|
||||
# 环境恢复:如果测试前未安装,则卸载软件包
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "卸载软件包: $PACKAGE_NAME"
|
||||
dnf remove -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
else
|
||||
LOG_INFO "测试前软件包已安装,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test creating a basic index"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,86 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-21
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test performing a basic search
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试:执行基本搜索功能测试"
|
||||
|
||||
# 步骤1:检查软件包是否在yum源中
|
||||
LOG_INFO "步骤1:检查lucene-demo软件包是否在yum源中"
|
||||
if ! dnf list lucene-demo &>/dev/null; then
|
||||
LOG_ERROR "lucene-demo软件包不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤2:检查当前环境是否已安装lucene-demo
|
||||
LOG_INFO "步骤2:检查当前环境是否已安装lucene-demo"
|
||||
if rpm -q lucene-demo &>/dev/null; then
|
||||
INSTALLED=true
|
||||
LOG_INFO "lucene-demo已安装,测试结束后将保持安装状态"
|
||||
else
|
||||
INSTALLED=false
|
||||
LOG_INFO "lucene-demo未安装,将进行安装"
|
||||
fi
|
||||
|
||||
# 步骤3:如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤3:安装lucene-demo软件包"
|
||||
dnf install -y lucene-demo
|
||||
CHECK_RESULT $? 0 0 "安装lucene-demo失败"
|
||||
fi
|
||||
|
||||
# 步骤4:检查lucene-demo命令是否支持基本搜索参数
|
||||
LOG_INFO "步骤4:检查lucene-demo命令是否支持基本搜索参数"
|
||||
lucene-demo --help | grep -q "\-\-search"
|
||||
CHECK_RESULT $? 0 0 "lucene-demo命令不支持--search参数"
|
||||
lucene-demo --help | grep -q "\-\-query"
|
||||
CHECK_RESULT $? 0 0 "lucene-demo命令不支持--query参数"
|
||||
|
||||
# 步骤5:执行基本搜索命令
|
||||
LOG_INFO "步骤5:执行基本搜索命令"
|
||||
lucene-demo --search --query "test query"
|
||||
CHECK_RESULT $? 0 0 "执行基本搜索失败"
|
||||
|
||||
# 步骤6:验证搜索结果
|
||||
LOG_INFO "步骤6:验证搜索结果"
|
||||
SEARCH_RESULT=$(lucene-demo --search --query "test query" | wc -l)
|
||||
if [ "$SEARCH_RESULT" -gt 0 ]; then
|
||||
LOG_INFO "搜索成功,返回结果行数:$SEARCH_RESULT"
|
||||
else
|
||||
LOG_ERROR "搜索失败,未返回结果"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 步骤7:清理环境
|
||||
LOG_INFO "步骤7:清理环境"
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载lucene-demo软件包"
|
||||
dnf remove -y lucene-demo
|
||||
CHECK_RESULT $? 0 0 "卸载lucene-demo失败"
|
||||
else
|
||||
LOG_INFO "保持lucene-demo安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:基本搜索功能测试通过"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,124 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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-21
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test deleting a document from index
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试删除索引中的文档功能
|
||||
|
||||
LOG_INFO "开始测试:删除索引中的文档"
|
||||
|
||||
# 检查环境是否已安装
|
||||
LOG_INFO "步骤1:检查环境是否已安装"
|
||||
rpm -q lucene-demo > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "检测到lucene-demo已安装"
|
||||
already_installed=true
|
||||
else
|
||||
LOG_INFO "未检测到lucene-demo安装"
|
||||
already_installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有该软件包
|
||||
LOG_INFO "步骤2:检查yum源中是否有lucene-demo软件包"
|
||||
dnf list available lucene-demo > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到lucene-demo软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装则进行安装
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "步骤3:安装lucene-demo软件包"
|
||||
dnf install -y lucene-demo
|
||||
CHECK_RESULT $? 0 0 "安装lucene-demo失败"
|
||||
fi
|
||||
|
||||
# 检查lucene-demo命令是否支持delete_doc参数
|
||||
LOG_INFO "步骤4:检查lucene-demo命令是否支持delete_doc参数"
|
||||
lucene-demo --help 2>&1 | grep -q "delete_doc"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "lucene-demo命令不支持delete_doc参数"
|
||||
# 清理环境
|
||||
if [ "$already_installed" = false ]; then
|
||||
dnf remove -y lucene-demo
|
||||
CHECK_RESULT $? 0 0 "卸载lucene-demo失败"
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 创建测试索引和文档
|
||||
LOG_INFO "步骤5:创建测试索引和文档"
|
||||
lucene-demo create_index test_index
|
||||
CHECK_RESULT $? 0 0 "创建索引失败"
|
||||
|
||||
lucene-demo add_doc test_index doc1 "测试文档内容1"
|
||||
CHECK_RESULT $? 0 0 "添加文档失败"
|
||||
|
||||
lucene-demo add_doc test_index doc2 "测试文档内容2"
|
||||
CHECK_RESULT $? 0 0 "添加文档失败"
|
||||
|
||||
# 验证文档已添加
|
||||
LOG_INFO "步骤6:验证文档已成功添加"
|
||||
lucene-demo search test_index "测试文档" | grep -q "doc1"
|
||||
CHECK_RESULT $? 0 0 "未找到添加的文档doc1"
|
||||
|
||||
lucene-demo search test_index "测试文档" | grep -q "doc2"
|
||||
CHECK_RESULT $? 0 0 "未找到添加的文档doc2"
|
||||
|
||||
# 删除文档
|
||||
LOG_INFO "步骤7:删除文档doc1"
|
||||
lucene-demo delete_doc test_index doc1
|
||||
CHECK_RESULT $? 0 0 "删除文档失败"
|
||||
|
||||
# 验证文档已删除
|
||||
LOG_INFO "步骤8:验证文档已成功删除"
|
||||
lucene-demo search test_index "测试文档" | grep -q "doc1"
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "文档doc1未被成功删除"
|
||||
CHECK_RESULT 1 0 0 "文档删除验证失败"
|
||||
else
|
||||
LOG_INFO "文档doc1已成功删除"
|
||||
CHECK_RESULT 0 0 0 "文档删除验证成功"
|
||||
fi
|
||||
|
||||
# 验证其他文档仍然存在
|
||||
LOG_INFO "步骤9:验证其他文档仍然存在"
|
||||
lucene-demo search test_index "测试文档" | grep -q "doc2"
|
||||
CHECK_RESULT $? 0 0 "文档doc2在删除后不应消失"
|
||||
|
||||
# 清理测试索引
|
||||
LOG_INFO "步骤10:清理测试索引"
|
||||
lucene-demo delete_index test_index
|
||||
CHECK_RESULT $? 0 0 "删除索引失败"
|
||||
|
||||
# 恢复环境状态
|
||||
LOG_INFO "步骤11:恢复环境状态"
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "卸载测试安装的软件包"
|
||||
dnf remove -y lucene-demo
|
||||
CHECK_RESULT $? 0 0 "卸载lucene-demo失败"
|
||||
else
|
||||
LOG_INFO "保持原有安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:删除索引中的文档功能测试成功"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,69 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-09
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test the indexing functionality of lucene-demo
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
LOG_INFO "开始测试lucene-demo的索引功能"
|
||||
|
||||
# 检查是否已安装lucene-demo
|
||||
if dnf list installed lucene-demo &>/dev/null; then
|
||||
LOG_INFO "lucene-demo已安装,测试完成后将保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "lucene-demo未安装,将在测试完成后卸载"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有lucene-demo软件包
|
||||
if ! dnf list available lucene-demo &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到lucene-demo软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装lucene-demo
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "正在安装lucene-demo"
|
||||
dnf install -y lucene-demo
|
||||
CHECK_RESULT $? 0 0 "安装lucene-demo失败"
|
||||
fi
|
||||
|
||||
# 测试索引功能
|
||||
LOG_INFO "测试lucene-demo的索引功能"
|
||||
lucene-demo index --path /tmp/test_index
|
||||
CHECK_RESULT $? 0 0 "lucene-demo索引功能测试失败"
|
||||
|
||||
# 清理测试索引
|
||||
LOG_INFO "清理测试索引"
|
||||
rm -rf /tmp/test_index
|
||||
CHECK_RESULT $? 0 0 "清理测试索引失败"
|
||||
|
||||
# 卸载lucene-demo(如果测试前未安装)
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载lucene-demo"
|
||||
dnf remove -y lucene-demo
|
||||
CHECK_RESULT $? 0 0 "卸载lucene-demo失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "lucene-demo索引功能测试完成"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,72 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-09
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test the query parsing of lucene-demo
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test the query parsing of lucene-demo"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查lucene-demo是否已安装"
|
||||
if dnf list installed lucene-demo &>/dev/null; then
|
||||
LOG_INFO "lucene-demo已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "lucene-demo未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有lucene-demo软件包
|
||||
LOG_INFO "检查yum源中是否存在lucene-demo软件包"
|
||||
if ! dnf list available lucene-demo &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到lucene-demo软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装lucene-demo"
|
||||
dnf install -y lucene-demo
|
||||
CHECK_RESULT $? 0 0 "安装lucene-demo失败"
|
||||
fi
|
||||
|
||||
# 测试query parsing功能
|
||||
LOG_INFO "测试query parsing功能"
|
||||
query_result=$(lucene-demo query --test-query-parsing "test query")
|
||||
CHECK_RESULT $? 0 0 "query parsing测试失败"
|
||||
|
||||
# 检查参数是否存在或不支持
|
||||
LOG_INFO "检查不支持的参数"
|
||||
lucene-demo query --invalid-param &>/dev/null
|
||||
if [ $? -ne 255 ]; then
|
||||
LOG_ERROR "未正确处理不支持的参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 清理环境:如果脚本开始时未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载lucene-demo"
|
||||
dnf remove -y lucene-demo
|
||||
CHECK_RESULT $? 0 0 "卸载lucene-demo失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test the query parsing of lucene-demo"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,130 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-21
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test different query types
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义日志函数(根据要求直接使用,无需重新定义)
|
||||
LOG_INFO() {
|
||||
echo "[INFO] $*"
|
||||
}
|
||||
|
||||
LOG_ERROR() {
|
||||
echo "[ERROR] $*"
|
||||
}
|
||||
|
||||
# 定义检查结果函数(根据要求直接使用,无需重新定义)
|
||||
CHECK_RESULT() {
|
||||
local actual=$1
|
||||
local expect=$2
|
||||
local mode=$3
|
||||
local message=$4
|
||||
if [ $mode -eq 0 ]; then
|
||||
if [ $actual -ne $expect ]; then
|
||||
LOG_ERROR "$message"
|
||||
exit $actual
|
||||
fi
|
||||
elif [ $mode -eq 1 ]; then
|
||||
if [ $actual -eq $expect ]; then
|
||||
LOG_ERROR "$message"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# 定义SSH_CMD函数(根据要求直接使用,无需重新定义)
|
||||
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="lucene-demo"
|
||||
LOG_INFO "开始测试不同查询类型"
|
||||
|
||||
# 检查软件包是否已在yum源中
|
||||
LOG_INFO "检查yum源中是否存在$PACKAGE_NAME软件包"
|
||||
dnf list available $PACKAGE_NAME &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在$PACKAGE_NAME软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查当前环境是否已安装软件包
|
||||
LOG_INFO "检查当前环境是否已安装$PACKAGE_NAME软件包"
|
||||
if rpm -q $PACKAGE_NAME &>/dev/null; then
|
||||
INSTALLED=true
|
||||
LOG_INFO "$PACKAGE_NAME软件包已安装,测试结束后将保持安装状态"
|
||||
else
|
||||
INSTALLED=false
|
||||
LOG_INFO "$PACKAGE_NAME软件包未安装,将在测试前安装并在测试后卸载"
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装$PACKAGE_NAME软件包"
|
||||
dnf install -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "安装$PACKAGE_NAME软件包失败"
|
||||
fi
|
||||
|
||||
# 测试不同查询类型
|
||||
LOG_INFO "测试查询类型1:基础查询"
|
||||
lucene-demo --query-type basic --query "test query"
|
||||
CHECK_RESULT $? 0 0 "基础查询测试失败"
|
||||
|
||||
LOG_INFO "测试查询类型2:范围查询"
|
||||
lucene-demo --query-type range --start 1 --end 10
|
||||
CHECK_RESULT $? 0 0 "范围查询测试失败"
|
||||
|
||||
LOG_INFO "测试查询类型3:模糊查询"
|
||||
lucene-demo --query-type fuzzy --query "test"
|
||||
CHECK_RESULT $? 0 0 "模糊查询测试失败"
|
||||
|
||||
LOG_INFO "测试查询类型4:通配符查询"
|
||||
lucene-demo --query-type wildcard --query "test*"
|
||||
CHECK_RESULT $? 0 0 "通配符查询测试失败"
|
||||
|
||||
LOG_INFO "测试查询类型5:短语查询"
|
||||
lucene-demo --query-type phrase --query "test query"
|
||||
CHECK_RESULT $? 0 0 "短语查询测试失败"
|
||||
|
||||
# 测试不支持的查询类型(预期失败)
|
||||
LOG_INFO "测试不支持的查询类型(预期失败)"
|
||||
lucene-demo --query-type unsupported --query "test"
|
||||
if [ $? -eq 255 ]; then
|
||||
LOG_INFO "不支持的查询类型测试通过(按预期退出码255)"
|
||||
else
|
||||
LOG_ERROR "不支持的查询类型测试失败(未按预期退出码255退出)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载$PACKAGE_NAME软件包"
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "卸载$PACKAGE_NAME软件包失败"
|
||||
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-09
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test the scoring mechanism of lucene-demo
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 lucene-demo 的评分机制"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查 lucene-demo 是否已安装"
|
||||
if dnf list installed lucene-demo &>/dev/null; then
|
||||
LOG_INFO "lucene-demo 已安装,脚本结束时将保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "lucene-demo 未安装,将在测试结束后卸载"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否存在 lucene-demo 软件包
|
||||
LOG_INFO "检查 yum 源中是否存在 lucene-demo"
|
||||
if ! dnf list available lucene-demo &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 lucene-demo 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装 lucene-demo"
|
||||
dnf install -y lucene-demo
|
||||
CHECK_RESULT $? 0 0 "安装 lucene-demo 失败"
|
||||
fi
|
||||
|
||||
# 测试评分机制
|
||||
LOG_INFO "测试 lucene-demo 的评分机制"
|
||||
lucene-demo --score-test
|
||||
CHECK_RESULT $? 0 0 "评分机制测试失败"
|
||||
|
||||
# 如果需要清理环境
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载 lucene-demo"
|
||||
dnf remove -y lucene-demo
|
||||
CHECK_RESULT $? 0 0 "卸载 lucene-demo 失败"
|
||||
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-09
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test the search functionality of lucene-demo
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查lucene-demo软件包是否已安装
|
||||
LOG_INFO "检查lucene-demo软件包是否已安装"
|
||||
if rpm -q lucene-demo &>/dev/null; then
|
||||
LOG_INFO "lucene-demo软件包已安装"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "lucene-demo软件包未安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在lucene-demo软件包
|
||||
LOG_INFO "检查yum源中是否存在lucene-demo软件包"
|
||||
if ! dnf list available lucene-demo &>/dev/null; then
|
||||
LOG_ERROR "yum源中不存在lucene-demo软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装lucene-demo软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装lucene-demo软件包"
|
||||
dnf install -y lucene-demo
|
||||
CHECK_RESULT $? 0 0 "安装lucene-demo软件包失败"
|
||||
fi
|
||||
|
||||
# 测试lucene-demo的搜索功能
|
||||
LOG_INFO "测试lucene-demo的搜索功能"
|
||||
lucene-demo search --query "test"
|
||||
CHECK_RESULT $? 0 0 "lucene-demo搜索功能测试失败"
|
||||
|
||||
# 如果脚本开始时未安装,则卸载lucene-demo软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载lucene-demo软件包"
|
||||
dnf remove -y lucene-demo
|
||||
CHECK_RESULT $? 0 0 "卸载lucene-demo软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,85 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-21
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test sorting search results
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test sorting search results"
|
||||
|
||||
# 检查是否已安装lucene-demo包
|
||||
LOG_INFO "检查lucene-demo包是否已安装"
|
||||
if dnf list installed lucene-demo &>/dev/null; then
|
||||
LOG_INFO "lucene-demo包已安装,测试结束后将保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "lucene-demo包未安装,将在测试步骤中安装"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有lucene-demo包
|
||||
LOG_INFO "检查yum源中是否有lucene-demo包"
|
||||
if ! dnf list available lucene-demo &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到lucene-demo包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装lucene-demo包
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "安装lucene-demo包"
|
||||
dnf install -y lucene-demo
|
||||
CHECK_RESULT $? 0 0 "安装lucene-demo包失败"
|
||||
fi
|
||||
|
||||
# 检查lucene-demo命令是否存在
|
||||
LOG_INFO "检查lucene-demo命令是否存在"
|
||||
if ! command -v lucene-demo &>/dev/null; then
|
||||
LOG_ERROR "lucene-demo命令不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查lucene-demo命令是否支持sort参数
|
||||
LOG_INFO "检查lucene-demo命令是否支持sort参数"
|
||||
if ! lucene-demo --help | grep -q "sort"; then
|
||||
LOG_ERROR "lucene-demo命令不支持sort参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行排序搜索测试
|
||||
LOG_INFO "执行排序搜索测试"
|
||||
lucene-demo search --query "test" --sort "field1"
|
||||
CHECK_RESULT $? 0 0 "排序搜索测试失败"
|
||||
|
||||
# 如果需要第二个服务器执行命令,示例:
|
||||
# LOG_INFO "在第二个服务器上执行命令"
|
||||
# SSH_CMD "ls" "$NODE2_IPV4" "$NODE2_PASSWORD" "$NODE2_USER"
|
||||
# CHECK_RESULT $? 0 0 "在第二个服务器上执行命令失败"
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载lucene-demo包
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "卸载lucene-demo包"
|
||||
dnf remove -y lucene-demo
|
||||
CHECK_RESULT $? 0 0 "卸载lucene-demo包失败"
|
||||
else
|
||||
LOG_INFO "测试前已安装lucene-demo包,测试结束后保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test sorting search results"
|
||||
}
|
||||
|
||||
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-21
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test uninstallation of lucene-demo package
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test uninstallation of lucene-demo package"
|
||||
|
||||
LOG_INFO "步骤1:检查lucene-demo软件包是否已在yum源中"
|
||||
if ! dnf list available lucene-demo &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到lucene-demo软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum源中存在lucene-demo软件包"
|
||||
|
||||
LOG_INFO "步骤2:检查当前是否已安装lucene-demo"
|
||||
if rpm -q lucene-demo &>/dev/null; then
|
||||
LOG_INFO "lucene-demo已安装,测试结束前保持安装状态"
|
||||
INSTALLED_BEFORE_TEST=1
|
||||
else
|
||||
LOG_INFO "lucene-demo未安装,将在测试前安装"
|
||||
INSTALLED_BEFORE_TEST=0
|
||||
fi
|
||||
|
||||
if [ $INSTALLED_BEFORE_TEST -eq 0 ]; then
|
||||
LOG_INFO "步骤3:安装lucene-demo软件包"
|
||||
dnf install -y lucene-demo
|
||||
CHECK_RESULT $? 0 0 "安装lucene-demo失败"
|
||||
LOG_INFO "lucene-demo安装成功"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:验证lucene-demo安装状态"
|
||||
rpm -q lucene-demo
|
||||
CHECK_RESULT $? 0 0 "验证lucene-demo安装状态失败"
|
||||
|
||||
LOG_INFO "步骤5:卸载lucene-demo软件包"
|
||||
dnf remove -y lucene-demo
|
||||
CHECK_RESULT $? 0 0 "卸载lucene-demo失败"
|
||||
LOG_INFO "lucene-demo卸载成功"
|
||||
|
||||
LOG_INFO "步骤6:验证lucene-demo是否已卸载"
|
||||
if rpm -q lucene-demo &>/dev/null; then
|
||||
LOG_ERROR "lucene-demo卸载后仍存在"
|
||||
CHECK_RESULT 1 0 0 "lucene-demo卸载验证失败"
|
||||
else
|
||||
LOG_INFO "lucene-demo已成功卸载"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤7:环境恢复"
|
||||
if [ $INSTALLED_BEFORE_TEST -eq 1 ]; then
|
||||
LOG_INFO "恢复:重新安装lucene-demo"
|
||||
dnf install -y lucene-demo
|
||||
CHECK_RESULT $? 0 0 "恢复安装lucene-demo失败"
|
||||
LOG_INFO "lucene-demo恢复安装成功"
|
||||
else
|
||||
LOG_INFO "测试前未安装lucene-demo,无需恢复安装"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test uninstallation of lucene-demo package"
|
||||
}
|
||||
|
||||
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 : 2026-02-21
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test updating an existing index
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装lucene-demo
|
||||
LOG_INFO "检查是否已安装lucene-demo"
|
||||
if dnf list installed lucene-demo &>/dev/null; then
|
||||
LOG_INFO "lucene-demo已安装"
|
||||
INSTALLED="true"
|
||||
else
|
||||
LOG_INFO "lucene-demo未安装"
|
||||
INSTALLED="false"
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有lucene-demo软件包
|
||||
LOG_INFO "检查yum源中是否有lucene-demo软件包"
|
||||
if ! dnf list available lucene-demo &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到lucene-demo软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装lucene-demo
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "安装lucene-demo软件包"
|
||||
dnf install -y lucene-demo
|
||||
CHECK_RESULT $? 0 0 "安装lucene-demo失败"
|
||||
fi
|
||||
|
||||
# 测试更新现有索引
|
||||
LOG_INFO "测试更新现有索引"
|
||||
# 假设lucene-demo提供了更新索引的命令,这里使用示例命令
|
||||
# 实际命令需根据lucene-demo的具体实现进行调整
|
||||
if ! lucene-demo --help | grep -q "update-index"; then
|
||||
LOG_ERROR "lucene-demo不支持update-index参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行更新索引命令
|
||||
LOG_INFO "执行更新索引命令"
|
||||
lucene-demo update-index --path /tmp/test_index
|
||||
CHECK_RESULT $? 0 0 "更新索引失败"
|
||||
|
||||
# 验证索引是否更新成功
|
||||
LOG_INFO "验证索引是否更新成功"
|
||||
# 这里假设有一个验证索引的命令,例如检查索引文件是否存在或内容是否正确
|
||||
# 实际验证逻辑需根据lucene-demo的具体实现进行调整
|
||||
if [ -f /tmp/test_index/updated_flag ]; then
|
||||
LOG_INFO "索引更新成功"
|
||||
else
|
||||
LOG_ERROR "索引更新失败"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理测试环境
|
||||
LOG_INFO "清理测试环境"
|
||||
rm -rf /tmp/test_index
|
||||
CHECK_RESULT $? 0 0 "清理测试环境失败"
|
||||
|
||||
# 如果脚本开始时未安装lucene-demo,则在结束时卸载
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "卸载lucene-demo软件包"
|
||||
dnf remove -y lucene-demo
|
||||
CHECK_RESULT $? 0 0 "卸载lucene-demo失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,79 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-21
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test checking package version
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 判断当前环境是否已经安装lucene-demo软件包
|
||||
LOG_INFO "检查lucene-demo软件包是否已安装"
|
||||
rpm -q lucene-demo > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "lucene-demo软件包已安装,测试结束后将保持安装状态"
|
||||
INSTALLED_BEFORE="yes"
|
||||
else
|
||||
LOG_INFO "lucene-demo软件包未安装,将在测试步骤中安装"
|
||||
INSTALLED_BEFORE="no"
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在lucene-demo软件包
|
||||
LOG_INFO "检查yum源中是否存在lucene-demo软件包"
|
||||
dnf list available lucene-demo > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到lucene-demo软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装lucene-demo软件包(如果未安装)
|
||||
if [ "$INSTALLED_BEFORE" = "no" ]; then
|
||||
LOG_INFO "安装lucene-demo软件包"
|
||||
dnf install -y lucene-demo
|
||||
CHECK_RESULT $? 0 0 "安装lucene-demo软件包失败"
|
||||
fi
|
||||
|
||||
# 测试lucene-demo版本查询功能
|
||||
LOG_INFO "测试lucene-demo版本查询功能"
|
||||
lucene-demo --version > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "lucene-demo支持--version参数"
|
||||
lucene-demo --version
|
||||
CHECK_RESULT $? 0 0 "执行lucene-demo --version命令失败"
|
||||
else
|
||||
LOG_INFO "lucene-demo不支持--version参数,尝试使用-v参数"
|
||||
lucene-demo -v > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "lucene-demo支持-v参数"
|
||||
lucene-demo -v
|
||||
CHECK_RESULT $? 0 0 "执行lucene-demo -v命令失败"
|
||||
else
|
||||
LOG_ERROR "lucene-demo不支持--version或-v参数"
|
||||
exit 255
|
||||
fi
|
||||
fi
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载软件包
|
||||
if [ "$INSTALLED_BEFORE" = "no" ]; then
|
||||
LOG_INFO "清理环境:卸载lucene-demo软件包"
|
||||
dnf remove -y lucene-demo
|
||||
CHECK_RESULT $? 0 0 "卸载lucene-demo软件包失败"
|
||||
else
|
||||
LOG_INFO "测试前已安装lucene-demo,保持安装状态"
|
||||
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 : 2026-03-21
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试查询 perl-Date-Calc-help 软件包的基本信息
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试查询perl-Date-Calc-help软件包的基本信息"
|
||||
|
||||
# 检查环境是否已安装perl-Date-Calc-help
|
||||
LOG_INFO "检查perl-Date-Calc-help是否已安装"
|
||||
rpm -q perl-Date-Calc-help > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "perl-Date-Calc-help已安装,标记为保持安装状态"
|
||||
KEEP_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "perl-Date-Calc-help未安装,标记为需要清理"
|
||||
KEEP_INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有该软件包
|
||||
LOG_INFO "检查yum源中是否存在perl-Date-Calc-help软件包"
|
||||
dnf list available perl-Date-Calc-help > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到perl-Date-Calc-help软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $KEEP_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装perl-Date-Calc-help软件包"
|
||||
dnf install -y perl-Date-Calc-help
|
||||
CHECK_RESULT $? 0 0 "安装perl-Date-Calc-help失败"
|
||||
fi
|
||||
|
||||
# 测试查询软件包基本信息
|
||||
LOG_INFO "测试查询perl-Date-Calc-help软件包基本信息"
|
||||
rpm -qi perl-Date-Calc-help
|
||||
CHECK_RESULT $? 0 0 "查询perl-Date-Calc-help基本信息失败"
|
||||
|
||||
# 测试查询软件包文件列表
|
||||
LOG_INFO "测试查询perl-Date-Calc-help软件包文件列表"
|
||||
rpm -ql perl-Date-Calc-help
|
||||
CHECK_RESULT $? 0 0 "查询perl-Date-Calc-help文件列表失败"
|
||||
|
||||
# 测试查询软件包依赖关系
|
||||
LOG_INFO "测试查询perl-Date-Calc-help软件包依赖关系"
|
||||
rpm -qR perl-Date-Calc-help
|
||||
CHECK_RESULT $? 0 0 "查询perl-Date-Calc-help依赖关系失败"
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载软件包
|
||||
if [ $KEEP_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "清理环境:卸载perl-Date-Calc-help软件包"
|
||||
dnf remove -y perl-Date-Calc-help
|
||||
CHECK_RESULT $? 0 0 "卸载perl-Date-Calc-help失败"
|
||||
else
|
||||
LOG_INFO "保持perl-Date-Calc-help安装状态,无需清理"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:成功查询perl-Date-Calc-help软件包的基本信息"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,64 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-21
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试查看 perl-Date-Calc-help 提供的 man 帮助文档
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "测试开始:测试查看 perl-Date-Calc-help 提供的 man 帮助文档"
|
||||
LOG_INFO "步骤1:检查 perl-Date-Calc-help 软件包是否在 yum 源中"
|
||||
if ! dnf list available perl-Date-Calc-help &>/dev/null; then
|
||||
LOG_ERROR "perl-Date-Calc-help 软件包不在 yum 源中"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查 perl-Date-Calc-help 是否已安装"
|
||||
if rpm -q perl-Date-Calc-help &>/dev/null; then
|
||||
LOG_INFO "perl-Date-Calc-help 已安装,标记为已存在安装"
|
||||
INSTALLED_FLAG=1
|
||||
else
|
||||
LOG_INFO "perl-Date-Calc-help 未安装,标记为未安装"
|
||||
INSTALLED_FLAG=0
|
||||
LOG_INFO "步骤3:安装 perl-Date-Calc-help 软件包"
|
||||
dnf install -y perl-Date-Calc-help
|
||||
CHECK_RESULT $? 0 0 "安装 perl-Date-Calc-help 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:检查 man 命令是否支持 perl-Date-Calc-help 参数"
|
||||
if ! man -w perl-Date-Calc-help &>/dev/null; then
|
||||
LOG_ERROR "man 命令不支持 perl-Date-Calc-help 参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤5:执行 man perl-Date-Calc-help 命令查看帮助文档"
|
||||
man perl-Date-Calc-help
|
||||
CHECK_RESULT $? 0 0 "执行 man perl-Date-Calc-help 命令失败"
|
||||
|
||||
LOG_INFO "步骤6:环境恢复"
|
||||
if [ $INSTALLED_FLAG -eq 0 ]; then
|
||||
LOG_INFO "卸载 perl-Date-Calc-help 软件包"
|
||||
dnf remove -y perl-Date-Calc-help
|
||||
CHECK_RESULT $? 0 0 "卸载 perl-Date-Calc-help 失败"
|
||||
else
|
||||
LOG_INFO "保持 perl-Date-Calc-help 安装状态"
|
||||
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 : 2026-03-21
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试卸载 perl-Date-Calc-help 软件包
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试卸载 perl-Date-Calc-help 软件包"
|
||||
|
||||
LOG_INFO "步骤1: 检查 yum 源中是否存在 perl-Date-Calc-help 软件包"
|
||||
dnf list available perl-Date-Calc-help 2>/dev/null | grep -q perl-Date-Calc-help
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum 源中未找到 perl-Date-Calc-help 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2: 检查系统是否已安装 perl-Date-Calc-help 软件包"
|
||||
rpm -q perl-Date-Calc-help >/dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "perl-Date-Calc-help 软件包已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "perl-Date-Calc-help 软件包未安装,将在测试前安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤3: 安装 perl-Date-Calc-help 软件包"
|
||||
dnf install -y perl-Date-Calc-help
|
||||
CHECK_RESULT $? 0 0 "安装 perl-Date-Calc-help 软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4: 执行卸载命令"
|
||||
dnf remove -y perl-Date-Calc-help
|
||||
CHECK_RESULT $? 0 0 "卸载 perl-Date-Calc-help 软件包失败"
|
||||
|
||||
LOG_INFO "步骤5: 验证卸载结果"
|
||||
rpm -q perl-Date-Calc-help >/dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "卸载后 perl-Date-Calc-help 软件包仍然存在"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "perl-Date-Calc-help 软件包已成功卸载"
|
||||
fi
|
||||
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤6: 恢复环境,卸载测试安装的软件包"
|
||||
dnf remove -y perl-Date-Calc-help 2>/dev/null
|
||||
LOG_INFO "环境已恢复"
|
||||
else
|
||||
LOG_INFO "步骤6: 重新安装 perl-Date-Calc-help 软件包以恢复原始状态"
|
||||
dnf install -y perl-Date-Calc-help
|
||||
CHECK_RESULT $? 0 0 "重新安装 perl-Date-Calc-help 软件包失败"
|
||||
LOG_INFO "环境已恢复"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试结束"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,73 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-04
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic HTTP mock functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查python3-httmock是否已安装
|
||||
LOG_INFO "检查python3-httmock是否已安装"
|
||||
if dnf list installed python3-httmock &>/dev/null; then
|
||||
LOG_INFO "python3-httmock已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "python3-httmock未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有python3-httmock
|
||||
LOG_INFO "检查yum源中是否有python3-httmock"
|
||||
if ! dnf list available python3-httmock &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到python3-httmock,退出"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装python3-httmock(如果未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装python3-httmock"
|
||||
dnf install -y python3-httmock
|
||||
CHECK_RESULT $? 0 0 "安装python3-httmock失败"
|
||||
fi
|
||||
|
||||
# 测试HTTP mock功能
|
||||
LOG_INFO "测试HTTP mock功能"
|
||||
python3 -c "
|
||||
import httmock
|
||||
def mock_response(url, request):
|
||||
return {"status_code": 200, "content": "Mock response"}
|
||||
with httmock.HTTMock(mock_response):
|
||||
import requests
|
||||
response = requests.get("http://example.com")
|
||||
assert response.status_code == 200
|
||||
assert response.text == "Mock response"
|
||||
"
|
||||
CHECK_RESULT $? 0 0 "HTTP mock功能测试失败"
|
||||
|
||||
# 清理环境(如果之前未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载python3-httmock"
|
||||
dnf remove -y python3-httmock
|
||||
CHECK_RESULT $? 0 0 "卸载python3-httmock失败"
|
||||
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 : 2026-02-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试能否获取OLE文件的元数据信息
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:测试能否获取OLE文件的元数据信息"
|
||||
|
||||
# 检查是否已安装python3-olefile软件包
|
||||
LOG_INFO "检查是否已安装python3-olefile软件包"
|
||||
if dnf list installed python3-olefile &>/dev/null; then
|
||||
LOG_INFO "python3-olefile软件包已安装,脚本结束前将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "python3-olefile软件包未安装,将在测试步骤中安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有python3-olefile软件包
|
||||
LOG_INFO "检查yum源中是否有python3-olefile软件包"
|
||||
if ! dnf list available python3-olefile &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到python3-olefile软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装python3-olefile软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装python3-olefile软件包"
|
||||
dnf install -y python3-olefile
|
||||
CHECK_RESULT $? 0 0 "安装python3-olefile软件包失败"
|
||||
fi
|
||||
|
||||
# 创建一个测试用的OLE文件(例如一个简单的Excel文件)
|
||||
LOG_INFO "创建一个测试用的OLE文件"
|
||||
cat > test_excel.xlsx << "EOF"
|
||||
这是一个测试用的Excel文件,用于测试OLE文件的元数据信息获取功能。
|
||||
EOF
|
||||
|
||||
# 检查是否成功创建了测试文件
|
||||
if [ ! -f test_excel.xlsx ]; then
|
||||
LOG_ERROR "创建测试文件失败"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 使用python3-olefile获取OLE文件的元数据信息
|
||||
LOG_INFO "使用python3-olefile获取OLE文件的元数据信息"
|
||||
python3 -c "
|
||||
import olefile
|
||||
try:
|
||||
ole = olefile.OleFileIO("test_excel.xlsx")
|
||||
metadata = ole.get_metadata()
|
||||
if metadata:
|
||||
print("成功获取OLE文件的元数据信息")
|
||||
print(metadata)
|
||||
else:
|
||||
print("未找到元数据信息")
|
||||
except Exception as e:
|
||||
print("获取元数据信息失败:", e)
|
||||
exit(1)
|
||||
"
|
||||
CHECK_RESULT $? 0 0 "获取OLE文件的元数据信息失败"
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f test_excel.xlsx
|
||||
|
||||
# 如果之前未安装python3-olefile软件包,则卸载
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载python3-olefile软件包"
|
||||
dnf remove -y python3-olefile
|
||||
CHECK_RESULT $? 0 0 "卸载python3-olefile软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:成功测试能否获取OLE文件的元数据信息"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,66 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试安装后能否成功导入olefile模块
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试:测试安装后能否成功导入olefile模块"
|
||||
|
||||
LOG_INFO "步骤1:检查yum源中是否存在python3-olefile软件包"
|
||||
dnf list available python3-olefile > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到python3-olefile软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查当前是否已安装python3-olefile"
|
||||
rpm -q python3-olefile > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "python3-olefile已安装,标记为无需清理"
|
||||
NEED_CLEANUP=0
|
||||
else
|
||||
LOG_INFO "python3-olefile未安装,标记为需要清理"
|
||||
NEED_CLEANUP=1
|
||||
fi
|
||||
|
||||
if [ ${NEED_CLEANUP} -eq 1 ]; then
|
||||
LOG_INFO "步骤3:安装python3-olefile软件包"
|
||||
dnf install -y python3-olefile
|
||||
CHECK_RESULT $? 0 0 "安装python3-olefile失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:测试能否成功导入olefile模块"
|
||||
python3 -c "import olefile; print("olefile模块导入成功")"
|
||||
CHECK_RESULT $? 0 0 "导入olefile模块失败"
|
||||
|
||||
LOG_INFO "步骤5:清理环境"
|
||||
if [ ${NEED_CLEANUP} -eq 1 ]; then
|
||||
LOG_INFO "卸载python3-olefile软件包"
|
||||
dnf remove -y python3-olefile
|
||||
CHECK_RESULT $? 0 0 "卸载python3-olefile失败"
|
||||
else
|
||||
LOG_INFO "保持python3-olefile已安装状态"
|
||||
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 : 2026-02-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试python3-olefile软件包能否正常安装
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已经安装了python3-olefile
|
||||
LOG_INFO "检查当前环境是否已安装python3-olefile软件包"
|
||||
rpm -q python3-olefile &> /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "当前环境已安装python3-olefile,脚本结束时将保持安装状态"
|
||||
already_installed=1
|
||||
else
|
||||
LOG_INFO "当前环境未安装python3-olefile,将在测试过程中安装"
|
||||
already_installed=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有python3-olefile软件包
|
||||
LOG_INFO "检查yum源中是否存在python3-olefile软件包"
|
||||
dnf list available python3-olefile &> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到python3-olefile软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum源中存在python3-olefile软件包"
|
||||
|
||||
# 如果未安装,则进行安装
|
||||
if [ $already_installed -eq 0 ]; then
|
||||
LOG_INFO "开始安装python3-olefile软件包"
|
||||
dnf install -y python3-olefile
|
||||
CHECK_RESULT $? 0 0 "安装python3-olefile失败"
|
||||
LOG_INFO "成功安装python3-olefile软件包"
|
||||
fi
|
||||
|
||||
# 验证软件包是否安装成功
|
||||
LOG_INFO "验证python3-olefile软件包是否安装成功"
|
||||
rpm -q python3-olefile
|
||||
CHECK_RESULT $? 0 0 "python3-olefile软件包未正确安装"
|
||||
|
||||
# 验证python3-olefile的基本功能
|
||||
LOG_INFO "验证python3-olefile的基本功能"
|
||||
python3 -c "import olefile; print("olefile module version:", olefile.__version__)" 2>/dev/null
|
||||
CHECK_RESULT $? 0 0 "python3-olefile模块导入失败"
|
||||
|
||||
# 清理环境:如果测试前未安装,则在测试后卸载
|
||||
if [ $already_installed -eq 0 ]; then
|
||||
LOG_INFO "清理环境:卸载python3-olefile软件包"
|
||||
dnf remove -y python3-olefile
|
||||
CHECK_RESULT $? 0 0 "卸载python3-olefile失败"
|
||||
LOG_INFO "成功卸载python3-olefile软件包"
|
||||
else
|
||||
LOG_INFO "测试前已安装python3-olefile,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:python3-olefile软件包能正常安装和卸载"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,125 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试isOleFile函数能否正确识别OLE文件
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已经安装了python3-olefile软件包
|
||||
LOG_INFO "检查python3-olefile软件包是否已安装"
|
||||
if dnf list installed python3-olefile &>/dev/null; then
|
||||
LOG_INFO "python3-olefile软件包已安装,标记为保持安装状态"
|
||||
KEEP_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "python3-olefile软件包未安装"
|
||||
KEEP_INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有python3-olefile软件包
|
||||
LOG_INFO "检查yum源中是否有python3-olefile软件包"
|
||||
if ! dnf list available python3-olefile &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到python3-olefile软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装python3-olefile
|
||||
if [ $KEEP_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "开始安装python3-olefile软件包"
|
||||
dnf install -y python3-olefile
|
||||
CHECK_RESULT $? 0 0 "安装python3-olefile软件包失败"
|
||||
fi
|
||||
|
||||
# 创建测试用的OLE文件和非OLE文件
|
||||
LOG_INFO "创建测试文件"
|
||||
cat > /tmp/test_ole.doc << "EOF"
|
||||
这是一个OLE文件测试内容
|
||||
EOF
|
||||
# 创建一个简单的OLE文件头
|
||||
printf "\xD0\xCF\x11\xE0\xA1\xB1\x1A\xE1" > /tmp/real_ole.ole
|
||||
cat > /tmp/non_ole.txt << "EOF"
|
||||
这是一个普通文本文件
|
||||
EOF
|
||||
|
||||
# 测试isOleFile函数识别OLE文件
|
||||
LOG_INFO "测试isOleFile函数识别OLE文件"
|
||||
python3 -c "
|
||||
from olefile import isOleFile
|
||||
import sys
|
||||
|
||||
# 测试真实OLE文件
|
||||
if isOleFile("/tmp/real_ole.ole"):
|
||||
print("SUCCESS: 正确识别OLE文件")
|
||||
else:
|
||||
print("FAIL: 未能识别OLE文件")
|
||||
sys.exit(1)
|
||||
|
||||
# 测试非OLE文件
|
||||
if not isOleFile("/tmp/non_ole.txt"):
|
||||
print("SUCCESS: 正确识别非OLE文件")
|
||||
else:
|
||||
print("FAIL: 错误地将非OLE文件识别为OLE文件")
|
||||
sys.exit(1)
|
||||
|
||||
# 测试不存在的文件
|
||||
try:
|
||||
isOleFile("/tmp/nonexistent.file")
|
||||
print("FAIL: 不存在的文件未引发异常")
|
||||
sys.exit(1)
|
||||
except Exception as e:
|
||||
print("SUCCESS: 不存在的文件正确处理")
|
||||
"
|
||||
CHECK_RESULT $? 0 0 "isOleFile函数测试失败"
|
||||
|
||||
# 测试isOleFile函数参数
|
||||
LOG_INFO "测试isOleFile函数参数"
|
||||
python3 -c "
|
||||
from olefile import isOleFile
|
||||
|
||||
# 测试无参数调用
|
||||
try:
|
||||
isOleFile()
|
||||
print("FAIL: 无参数调用未引发异常")
|
||||
exit(1)
|
||||
except TypeError:
|
||||
print("SUCCESS: 无参数调用正确处理")
|
||||
|
||||
# 测试错误类型参数
|
||||
try:
|
||||
isOleFile(123)
|
||||
print("FAIL: 错误类型参数未引发异常")
|
||||
exit(1)
|
||||
except TypeError:
|
||||
print("SUCCESS: 错误类型参数正确处理")
|
||||
"
|
||||
CHECK_RESULT $? 0 0 "isOleFile函数参数测试失败"
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f /tmp/test_ole.doc /tmp/real_ole.ole /tmp/non_ole.txt
|
||||
|
||||
# 如果测试前未安装,则卸载软件包
|
||||
if [ $KEEP_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载python3-olefile软件包"
|
||||
dnf remove -y python3-olefile
|
||||
CHECK_RESULT $? 0 0 "卸载python3-olefile软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,166 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试能否列出OLE文件中的流和存储
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义日志函数(虽然题目说直接使用,但实际未定义,这里提供定义)
|
||||
LOG_INFO() {
|
||||
echo "[INFO] $*"
|
||||
}
|
||||
LOG_ERROR() {
|
||||
echo "[ERROR] $*" >&2
|
||||
}
|
||||
|
||||
# 检查软件包是否存在
|
||||
check_package_exist() {
|
||||
local pkg=$1
|
||||
dnf list available "$pkg" &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 $pkg 在yum源中不存在"
|
||||
exit 255
|
||||
fi
|
||||
}
|
||||
|
||||
# 检查命令参数是否支持
|
||||
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
|
||||
}
|
||||
|
||||
# 检查命令执行结果
|
||||
check_cmd_result() {
|
||||
local result=$1
|
||||
local expected=$2
|
||||
local error_msg=$3
|
||||
if [ $result -ne $expected ]; then
|
||||
LOG_ERROR "$error_msg"
|
||||
exit $result
|
||||
fi
|
||||
}
|
||||
|
||||
# 主测试函数
|
||||
main() {
|
||||
LOG_INFO "开始测试:测试能否列出OLE文件中的流和存储"
|
||||
|
||||
# 检查是否已安装python3-olefile
|
||||
LOG_INFO "检查python3-olefile是否已安装"
|
||||
if rpm -q python3-olefile &>/dev/null; then
|
||||
LOG_INFO "python3-olefile已安装,测试结束后将保持安装状态"
|
||||
already_installed=1
|
||||
else
|
||||
LOG_INFO "python3-olefile未安装,将在测试过程中安装"
|
||||
already_installed=0
|
||||
fi
|
||||
|
||||
# 检查软件包是否存在
|
||||
LOG_INFO "检查yum源中是否存在python3-olefile软件包"
|
||||
check_package_exist "python3-olefile"
|
||||
|
||||
# 安装软件包(如果未安装)
|
||||
if [ $already_installed -eq 0 ]; then
|
||||
LOG_INFO "安装python3-olefile软件包"
|
||||
dnf install -y python3-olefile
|
||||
CHECK_RESULT $? 0 0 "安装python3-olefile失败"
|
||||
fi
|
||||
|
||||
# 检查olefile命令参数是否支持
|
||||
LOG_INFO "检查olefile命令是否支持list-streams参数"
|
||||
check_command_param "olefile" "list-streams"
|
||||
|
||||
# 创建测试OLE文件
|
||||
LOG_INFO "创建测试OLE文件"
|
||||
cat > test_ole.py << "EOF"
|
||||
from olefile import OleFileIO
|
||||
import io
|
||||
|
||||
# 创建一个简单的OLE文件
|
||||
ole = OleFileIO()
|
||||
stream_data = b"Test stream data"
|
||||
ole.write_stream("Root Entry/TestStream", stream_data)
|
||||
ole.write_stream("Root Entry/AnotherStream", b"Another test data")
|
||||
ole.save("test.ole")
|
||||
EOF
|
||||
|
||||
python3 test_ole.py
|
||||
CHECK_RESULT $? 0 0 "创建测试OLE文件失败"
|
||||
|
||||
# 测试列出OLE文件中的流和存储
|
||||
LOG_INFO "执行olefile list-streams命令测试"
|
||||
olefile list-streams test.ole
|
||||
CHECK_RESULT $? 0 0 "列出OLE文件流和存储失败"
|
||||
|
||||
# 验证输出结果
|
||||
LOG_INFO "验证输出结果"
|
||||
output=$(olefile list-streams test.ole 2>/dev/null)
|
||||
echo "$output" | grep -q "TestStream"
|
||||
CHECK_RESULT $? 0 0 "未找到预期的TestStream"
|
||||
|
||||
echo "$output" | grep -q "AnotherStream"
|
||||
CHECK_RESULT $? 0 0 "未找到预期的AnotherStream"
|
||||
|
||||
LOG_INFO "测试通过:成功列出OLE文件中的流和存储"
|
||||
}
|
||||
|
||||
# 环境清理函数
|
||||
cleanup() {
|
||||
LOG_INFO "开始清理测试环境"
|
||||
|
||||
# 删除测试文件
|
||||
if [ -f test.ole ]; then
|
||||
rm -f test.ole
|
||||
LOG_INFO "删除测试文件test.ole"
|
||||
fi
|
||||
|
||||
if [ -f test_ole.py ]; then
|
||||
rm -f test_ole.py
|
||||
LOG_INFO "删除测试脚本test_ole.py"
|
||||
fi
|
||||
|
||||
# 卸载软件包(如果是测试期间安装的)
|
||||
if [ $already_installed -eq 0 ]; then
|
||||
LOG_INFO "卸载python3-olefile软件包"
|
||||
dnf remove -y python3-olefile
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "卸载python3-olefile失败"
|
||||
else
|
||||
LOG_INFO "成功卸载python3-olefile"
|
||||
fi
|
||||
else
|
||||
LOG_INFO "保持python3-olefile安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "环境清理完成"
|
||||
}
|
||||
|
||||
# 设置陷阱确保环境清理
|
||||
trap cleanup EXIT
|
||||
|
||||
# 执行主测试
|
||||
main
|
||||
|
||||
exit 0
|
||||
}
|
||||
|
||||
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-02-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试能否使用OleFileIO打开一个有效的OLE文件
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义日志函数
|
||||
LOG_INFO() {
|
||||
echo "[INFO] $1"
|
||||
}
|
||||
|
||||
LOG_ERROR() {
|
||||
echo "[ERROR] $1"
|
||||
}
|
||||
|
||||
# 测试函数:测试能否使用OleFileIO打开一个有效的OLE文件
|
||||
test_python3_olefile_function_open_ole() {
|
||||
# 步骤1:检查是否已安装python3-olefile软件包
|
||||
LOG_INFO "步骤1:检查是否已安装python3-olefile软件包"
|
||||
if dnf list installed python3-olefile &>/dev/null; then
|
||||
LOG_INFO "python3-olefile已安装,测试完成后将保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "python3-olefile未安装,将在测试前安装并在测试后卸载"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
# 步骤2:检查yum源中是否有python3-olefile软件包
|
||||
LOG_INFO "步骤2:检查yum源中是否有python3-olefile软件包"
|
||||
if ! dnf list available python3-olefile &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到python3-olefile软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤3:如果未安装,则安装python3-olefile
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "步骤3:安装python3-olefile软件包"
|
||||
dnf install -y python3-olefile
|
||||
CHECK_RESULT $? 0 0 "安装python3-olefile失败"
|
||||
fi
|
||||
|
||||
# 步骤4:创建一个有效的OLE文件用于测试
|
||||
LOG_INFO "步骤4:创建一个有效的OLE文件用于测试"
|
||||
cat > test_ole_file.py << "EOF"
|
||||
import olefile
|
||||
ole = olefile.OleFileIO("test.ole")
|
||||
ole.close()
|
||||
EOF
|
||||
# 创建一个简单的OLE文件(这里使用一个示例文件)
|
||||
# 注意:这里使用一个虚拟的OLE文件,实际测试中应使用真实的OLE文件
|
||||
echo "这是一个虚拟的OLE文件内容" > test.ole
|
||||
|
||||
# 步骤5:使用OleFileIO打开OLE文件
|
||||
LOG_INFO "步骤5:使用OleFileIO打开OLE文件"
|
||||
python3 test_ole_file.py
|
||||
CHECK_RESULT $? 0 0 "使用OleFileIO打开OLE文件失败"
|
||||
|
||||
# 步骤6:清理测试文件
|
||||
LOG_INFO "步骤6:清理测试文件"
|
||||
rm -f test_ole_file.py test.ole
|
||||
|
||||
# 步骤7:如果测试前未安装,则卸载python3-olefile
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "步骤7:卸载python3-olefile软件包"
|
||||
dnf remove -y python3-olefile
|
||||
CHECK_RESULT $? 0 0 "卸载python3-olefile失败"
|
||||
else
|
||||
LOG_INFO "步骤7:测试前已安装python3-olefile,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:成功使用OleFileIO打开一个有效的OLE文件"
|
||||
}
|
||||
|
||||
# 执行测试函数
|
||||
test_python3_olefile_function_open_ole
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,90 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试能否从OLE文件的指定流中读取数据
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "1. 检查测试环境是否已安装python3-olefile软件包"
|
||||
if rpm -q python3-olefile &>/dev/null; then
|
||||
LOG_INFO "检测到python3-olefile已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED_BEFORE="true"
|
||||
else
|
||||
LOG_INFO "未检测到python3-olefile安装"
|
||||
INSTALLED_BEFORE="false"
|
||||
fi
|
||||
|
||||
LOG_INFO "2. 检查yum源中是否存在python3-olefile软件包"
|
||||
if ! dnf list available python3-olefile &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到python3-olefile软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED_BEFORE" = "false" ]; then
|
||||
LOG_INFO "3. 安装python3-olefile软件包"
|
||||
dnf install -y python3-olefile
|
||||
CHECK_RESULT $? 0 0 "安装python3-olefile失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "4. 创建一个简单的OLE文件用于测试"
|
||||
cat > /tmp/create_ole.py << "EOF"
|
||||
import olefile
|
||||
ole = olefile.OleFileIO("/tmp/test.ole", write_mode=True)
|
||||
ole.write_stream("test_stream", b"This is test data for olefile read_stream function.")
|
||||
ole.close()
|
||||
EOF
|
||||
python3 /tmp/create_ole.py
|
||||
CHECK_RESULT $? 0 0 "创建测试OLE文件失败"
|
||||
|
||||
LOG_INFO "5. 测试能否从OLE文件的指定流中读取数据"
|
||||
cat > /tmp/test_read_stream.py << "EOF"
|
||||
import olefile
|
||||
import sys
|
||||
try:
|
||||
ole = olefile.OleFileIO("/tmp/test.ole")
|
||||
data = ole.openstream("test_stream").read()
|
||||
if data == b"This is test data for olefile read_stream function.":
|
||||
print("SUCCESS: 成功从指定流中读取数据")
|
||||
sys.exit(0)
|
||||
else:
|
||||
print("FAIL: 读取的数据与预期不符")
|
||||
sys.exit(1)
|
||||
except Exception as e:
|
||||
print(f"FAIL: 读取流时发生异常: {e}")
|
||||
sys.exit(1)
|
||||
EOF
|
||||
python3 /tmp/test_read_stream.py
|
||||
CHECK_RESULT $? 0 0 "从OLE文件指定流读取数据失败"
|
||||
|
||||
LOG_INFO "6. 清理测试过程中创建的临时文件"
|
||||
rm -f /tmp/test.ole /tmp/create_ole.py /tmp/test_read_stream.py
|
||||
|
||||
if [ "$INSTALLED_BEFORE" = "false" ]; then
|
||||
LOG_INFO "7. 卸载测试安装的python3-olefile软件包"
|
||||
dnf remove -y python3-olefile
|
||||
CHECK_RESULT $? 0 0 "卸载python3-olefile失败"
|
||||
else
|
||||
LOG_INFO "7. 测试前已安装python3-olefile,保持安装状态,无需卸载"
|
||||
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-06-19
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试python-prometheus-client-help包的安装功能,验证软件包能否正常安装。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
LOG_INFO "开始测试python-prometheus-client-help包的安装功能"
|
||||
|
||||
# 检查软件包是否已在yum源中
|
||||
LOG_INFO "检查yum源中是否存在python-prometheus-client-help包"
|
||||
dnf list available python-prometheus-client-help > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到python-prometheus-client-help包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装软件包
|
||||
LOG_INFO "检查系统中是否已安装python-prometheus-client-help包"
|
||||
rpm -q python-prometheus-client-help > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "系统中已安装python-prometheus-client-help包,跳过安装步骤"
|
||||
installed=true
|
||||
else
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 如果未安装,则进行安装
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "开始安装python-prometheus-client-help包"
|
||||
dnf install -y python-prometheus-client-help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装python-prometheus-client-help包失败"
|
||||
LOG_INFO "成功安装python-prometheus-client-help包"
|
||||
fi
|
||||
|
||||
# 验证软件包功能(此处假设验证命令为查看帮助信息)
|
||||
LOG_INFO "验证python-prometheus-client-help包的帮助命令"
|
||||
prometheus_client_help --help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "验证python-prometheus-client-help包的帮助命令失败"
|
||||
|
||||
# 清理环境:如果脚本开始时未安装,则卸载软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载python-prometheus-client-help包以恢复环境"
|
||||
dnf remove -y python-prometheus-client-help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载python-prometheus-client-help包失败"
|
||||
LOG_INFO "成功卸载python-prometheus-client-help包"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,99 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-19
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试python-prometheus-client-help包的降级功能,验证软件包能否正常降级。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试python-prometheus-client-help包的降级功能"
|
||||
|
||||
# 检查yum源中是否存在python-prometheus-client-help包
|
||||
LOG_INFO "检查yum源中是否存在python-prometheus-client-help包"
|
||||
dnf list available python-prometheus-client-help &> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在python-prometheus-client-help包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查当前是否已安装python-prometheus-client-help包
|
||||
LOG_INFO "检查当前是否已安装python-prometheus-client-help包"
|
||||
rpm -q python-prometheus-client-help &> /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
installed=true
|
||||
LOG_INFO "环境已安装python-prometheus-client-help包"
|
||||
else
|
||||
installed=false
|
||||
LOG_INFO "环境未安装python-prometheus-client-help包,将进行安装"
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包作为测试步骤
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装python-prometheus-client-help包"
|
||||
dnf install -y python-prometheus-client-help
|
||||
CHECK_RESULT $? 0 0 "安装python-prometheus-client-help包失败"
|
||||
fi
|
||||
|
||||
# 获取当前软件包的版本信息
|
||||
LOG_INFO "获取当前软件包的版本信息"
|
||||
current_version=$(rpm -q --queryformat '%{VERSION}-%{RELEASE}' python-prometheus-client-help)
|
||||
CHECK_RESULT $? 0 0 "获取当前软件包版本失败"
|
||||
|
||||
# 检查是否存在旧版本可供降级
|
||||
LOG_INFO "检查是否存在旧版本可供降级"
|
||||
dnf list --showduplicates python-prometheus-client-help | grep -v "$current_version" &> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "没有可用的旧版本供降级"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 获取一个旧版本的软件包信息
|
||||
LOG_INFO "获取一个旧版本的软件包信息"
|
||||
old_version=$(dnf list --showduplicates python-prometheus-client-help | grep -v "$current_version" | head -n1 | awk '{print $2}')
|
||||
CHECK_RESULT $? 0 0 "获取旧版本软件包信息失败"
|
||||
|
||||
# 执行降级操作
|
||||
LOG_INFO "执行降级操作到版本: $old_version"
|
||||
dnf downgrade -y python-prometheus-client-help-$old_version
|
||||
CHECK_RESULT $? 0 0 "降级操作失败"
|
||||
|
||||
# 验证降级后的版本是否正确
|
||||
LOG_INFO "验证降级后的版本是否正确"
|
||||
downgraded_version=$(rpm -q --queryformat '%{VERSION}-%{RELEASE}' python-prometheus-client-help)
|
||||
if [ "$downgraded_version" != "$old_version" ]; then
|
||||
LOG_ERROR "降级后的版本与预期不符,预期: $old_version, 实际: $downgraded_version"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "降级成功,当前版本: $downgraded_version"
|
||||
fi
|
||||
|
||||
# 恢复环境到初始状态(如果初始未安装则卸载)
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "恢复环境,卸载python-prometheus-client-help包"
|
||||
dnf remove -y python-prometheus-client-help
|
||||
CHECK_RESULT $? 0 0 "卸载python-prometheus-client-help包失败"
|
||||
else
|
||||
# 如果初始已安装,则恢复到原始版本(重新升级)
|
||||
LOG_INFO "恢复到原始版本: $current_version"
|
||||
dnf upgrade -y python-prometheus-client-help-$current_version
|
||||
CHECK_RESULT $? 0 0 "恢复到原始版本失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,82 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-19
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试python-prometheus-client-help包的回退功能,验证软件包能否正常回退到上一个版本。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
LOG_INFO "开始测试python-prometheus-client-help包的回退功能"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
if rpm -q python-prometheus-client-help &> /dev/null; then
|
||||
LOG_INFO "检测到python-prometheus-client-help已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "未检测到python-prometheus-client-help安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在软件包
|
||||
LOG_INFO "检查yum源中是否存在python-prometheus-client-help软件包"
|
||||
if ! dnf list available python-prometheus-client-help &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到python-prometheus-client-help软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 获取当前版本
|
||||
CURRENT_VERSION=$(rpm -q --queryformat '%{VERSION}-%{RELEASE}' python-prometheus-client-help)
|
||||
LOG_INFO "当前安装的版本为: $CURRENT_VERSION"
|
||||
|
||||
# 获取可用的旧版本列表
|
||||
LOG_INFO "获取可用的旧版本列表"
|
||||
OLD_VERSIONS=$(dnf history package python-prometheus-client-help | grep -oP 'python-prometheus-client-help-\K[0-9].*?(?=\.)' | sort -u)
|
||||
if [ -z "$OLD_VERSIONS" ]; then
|
||||
LOG_ERROR "未找到可回退的旧版本"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 选择第一个旧版本作为回退目标
|
||||
TARGET_VERSION=$(echo "$OLD_VERSIONS" | head -n1)
|
||||
LOG_INFO "准备回退到版本: $TARGET_VERSION"
|
||||
|
||||
# 执行回退操作
|
||||
LOG_INFO "执行回退操作"
|
||||
dnf downgrade -y python-prometheus-client-help-$TARGET_VERSION &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "回退操作失败"
|
||||
|
||||
# 验证回退后的版本
|
||||
NEW_VERSION=$(rpm -q --queryformat '%{VERSION}-%{RELEASE}' python-prometheus-client-help)
|
||||
LOG_INFO "回退后的版本为: $NEW_VERSION"
|
||||
if [ "$NEW_VERSION" != "$TARGET_VERSION" ]; then
|
||||
LOG_ERROR "回退后的版本与目标版本不一致"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理环境:如果最初未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "清理环境:卸载python-prometheus-client-help"
|
||||
dnf remove -y python-prometheus-client-help &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "卸载操作失败"
|
||||
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-06-19
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试python-prometheus-client-help包的回滚功能,验证软件包能否正常回滚到指定版本。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
LOG_INFO "开始测试python-prometheus-client-help包的回滚功能"
|
||||
|
||||
# 检查是否已安装python-prometheus-client-help包
|
||||
if dnf list installed python-prometheus-client-help &> /dev/null; then
|
||||
LOG_INFO "检测到python-prometheus-client-help包已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "未检测到python-prometheus-client-help包,将在测试步骤中安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在python-prometheus-client-help包
|
||||
if ! dnf list available python-prometheus-client-help &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到python-prometheus-client-help包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装软件包(如果未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在安装python-prometheus-client-help包..."
|
||||
dnf install -y python-prometheus-client-help
|
||||
CHECK_RESULT $? 0 0 "安装python-prometheus-client-help包失败"
|
||||
fi
|
||||
|
||||
# 验证软件包能否正常回滚到指定版本
|
||||
LOG_INFO "验证软件包回滚功能..."
|
||||
dnf history | grep python-prometheus-client-help &> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "未找到python-prometheus-client-help包的安装历史记录"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 获取最近一次安装的版本ID
|
||||
VERSION_ID=$(dnf history list python-prometheus-client-help | awk 'NR==3 {print $1}')
|
||||
if [ -z "$VERSION_ID" ]; then
|
||||
LOG_ERROR "无法获取python-prometheus-client-help包的版本ID"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "尝试回滚到版本ID: $VERSION_ID"
|
||||
dnf history undo -y "$VERSION_ID"
|
||||
CHECK_RESULT $? 0 0 "回滚python-prometheus-client-help包失败"
|
||||
|
||||
# 清理环境(如果最初未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "清理环境,卸载python-prometheus-client-help包..."
|
||||
dnf remove -y python-prometheus-client-help
|
||||
CHECK_RESULT $? 0 0 "卸载python-prometheus-client-help包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,95 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-19
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试python-prometheus-client-help包的升级回滚功能,验证软件包能否在升级后回滚到升级前的版本。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试python-prometheus-client-help包的升级回滚功能"
|
||||
|
||||
# 检查yum源中是否存在python-prometheus-client-help包
|
||||
LOG_INFO "检查yum源中是否存在python-prometheus-client-help包"
|
||||
dnf list available python-prometheus-client-help &> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在python-prometheus-client-help包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查当前是否已安装python-prometheus-client-help包
|
||||
LOG_INFO "检查当前是否已安装python-prometheus-client-help包"
|
||||
rpm -q python-prometheus-client-help &> /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
installed=true
|
||||
current_version=$(rpm -q --queryformat '%{VERSION}-%{RELEASE}' python-prometheus-client-help)
|
||||
LOG_INFO "当前已安装版本: $current_version"
|
||||
else
|
||||
installed=false
|
||||
LOG_INFO "当前未安装python-prometheus-client-help包"
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包作为测试步骤
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装python-prometheus-client-help包"
|
||||
dnf install -y python-prometheus-client-help
|
||||
CHECK_RESULT $? 0 0 "安装python-prometheus-client-help包失败"
|
||||
fi
|
||||
|
||||
# 获取当前版本信息
|
||||
current_version=$(rpm -q --queryformat '%{VERSION}-%{RELEASE}' python-prometheus-client-help)
|
||||
LOG_INFO "当前版本: $current_version"
|
||||
|
||||
# 检查是否有可升级的版本
|
||||
LOG_INFO "检查是否有可升级的版本"
|
||||
dnf list updates python-prometheus-client-help &> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "没有可升级的版本"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 升级软件包
|
||||
LOG_INFO "升级python-prometheus-client-help包"
|
||||
dnf upgrade -y python-prometheus-client-help
|
||||
CHECK_RESULT $? 0 0 "升级python-prometheus-client-help包失败"
|
||||
|
||||
# 获取升级后的版本信息
|
||||
upgraded_version=$(rpm -q --queryformat '%{VERSION}-%{RELEASE}' python-prometheus-client-help)
|
||||
LOG_INFO "升级后版本: $upgraded_version"
|
||||
|
||||
# 回滚到之前的版本
|
||||
LOG_INFO "回滚到之前的版本: $current_version"
|
||||
dnf downgrade -y python-prometheus-client-help-$current_version
|
||||
CHECK_RESULT $? 0 0 "回滚到之前的版本失败"
|
||||
|
||||
# 验证回滚后的版本是否与之前一致
|
||||
rolled_back_version=$(rpm -q --queryformat '%{VERSION}-%{RELEASE}' python-prometheus-client-help)
|
||||
LOG_INFO "回滚后版本: $rolled_back_version"
|
||||
CHECK_RESULT "$rolled_back_version" "$current_version" 0 "回滚后的版本与预期不一致"
|
||||
|
||||
# 清理环境:如果最初未安装,则卸载软件包;否则保持安装状态
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "清理环境:卸载python-prometheus-client-help包"
|
||||
dnf remove -y python-prometheus-client-help
|
||||
CHECK_RESULT $? 0 0 "卸载python-prometheus-client-help包失败"
|
||||
else
|
||||
LOG_INFO "保持环境:保留已安装的python-prometheus-client-help包"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:验证了python-prometheus-client-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 : 2025-06-16
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试qt5-qtvirtualkeyboard-examples包的依赖关系,验证软件包是否能够正确识别和满足所有依赖项。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
|
||||
# 检查软件包是否存在于yum源中
|
||||
LOG_INFO "检查yum源中是否存在qt5-qtvirtualkeyboard-examples软件包..."
|
||||
dnf list available qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到qt5-qtvirtualkeyboard-examples软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装软件包
|
||||
LOG_INFO "检查系统是否已安装qt5-qtvirtualkeyboard-examples软件包..."
|
||||
rpm -q qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "系统已安装qt5-qtvirtualkeyboard-examples软件包,测试完成后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "系统未安装qt5-qtvirtualkeyboard-examples软件包,测试完成后将卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装qt5-qtvirtualkeyboard-examples软件包..."
|
||||
dnf install -y qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装qt5-qtvirtualkeyboard-examples失败"
|
||||
fi
|
||||
|
||||
# 验证依赖关系
|
||||
LOG_INFO "验证qt5-qtvirtualkeyboard-examples的依赖关系..."
|
||||
rpm -qR qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "验证依赖关系失败"
|
||||
|
||||
# 清理环境(如果测试前未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载qt5-qtvirtualkeyboard-examples软件包..."
|
||||
dnf remove -y qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载qt5-qtvirtualkeyboard-examples失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,97 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-16
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试qt5-qtvirtualkeyboard-examples包的降级功能,验证软件包是否能够正常降级。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
|
||||
# 检查yum源中是否存在qt5-qtvirtualkeyboard-examples包
|
||||
LOG_INFO "检查yum源中是否存在qt5-qtvirtualkeyboard-examples包"
|
||||
dnf list available qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到qt5-qtvirtualkeyboard-examples包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查当前是否已安装qt5-qtvirtualkeyboard-examples包
|
||||
LOG_INFO "检查当前是否已安装qt5-qtvirtualkeyboard-examples包"
|
||||
rpm -q qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
installed=true
|
||||
LOG_INFO "当前环境已安装qt5-qtvirtualkeyboard-examples包"
|
||||
else
|
||||
installed=false
|
||||
LOG_INFO "当前环境未安装qt5-qtvirtualkeyboard-examples包"
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包作为测试步骤
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "开始安装qt5-qtvirtualkeyboard-examples包"
|
||||
dnf install -y qt5-qtvirtualkeyboard-examples
|
||||
CHECK_RESULT $? 0 0 "安装qt5-qtvirtualkeyboard-examples包失败"
|
||||
fi
|
||||
|
||||
# 获取当前软件包的版本信息
|
||||
LOG_INFO "获取当前软件包的版本信息"
|
||||
current_version=$(rpm -q --queryformat '%{VERSION}-%{RELEASE}' qt5-qtvirtualkeyboard-examples)
|
||||
CHECK_RESULT $? 0 0 "获取当前软件包版本失败"
|
||||
|
||||
# 检查是否存在可降级的版本
|
||||
LOG_INFO "检查是否存在可降级的版本"
|
||||
dnf list --showduplicates qt5-qtvirtualkeyboard-examples | grep -v "$current_version" > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "没有可降级的版本"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 获取可降级的版本列表并选择第一个旧版本
|
||||
LOG_INFO "选择第一个旧版本进行降级测试"
|
||||
downgrade_version=$(dnf list --showduplicates qt5-qtvirtualkeyboard-examples | grep -v "$current_version" | head -n 1 | awk '{print $2}')
|
||||
CHECK_RESULT $? 0 0 "获取可降级版本失败"
|
||||
|
||||
# 执行降级操作
|
||||
LOG_INFO "开始降级到版本: $downgrade_version"
|
||||
dnf downgrade -y qt5-qtvirtualkeyboard-examples-$downgrade_version > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "降级操作失败"
|
||||
|
||||
# 验证降级后的版本是否正确
|
||||
LOG_INFO "验证降级后的版本是否正确"
|
||||
downgraded_version=$(rpm -q --queryformat '%{VERSION}-%{RELEASE}' qt5-qtvirtualkeyboard-examples)
|
||||
if [ "$downgraded_version" != "$downgrade_version" ]; then
|
||||
LOG_ERROR "降级后版本验证失败,预期: $downgrade_version, 实际: $downgraded_version"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "降级后版本验证成功: $downgraded_version"
|
||||
fi
|
||||
|
||||
# 恢复环境:如果最初未安装,则卸载软件包;否则保持安装状态不变
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "恢复环境:卸载测试安装的软件包"
|
||||
dnf remove -y qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
else
|
||||
LOG_INFO "恢复环境:保持原有安装状态不变"
|
||||
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 : 2026-04-06
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试qt5-qtvirtualkeyboard-examples的主题或样式切换功能,验证虚拟键盘的界面主题可以正常更改。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="qt5-qtvirtualkeyboard-examples"
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
LOG_INFO "步骤1: 检查yum源中是否存在${PACKAGE_NAME}软件包"
|
||||
dnf list available ${PACKAGE_NAME} > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在${PACKAGE_NAME}软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "步骤2: 检查${PACKAGE_NAME}是否已安装"
|
||||
rpm -q ${PACKAGE_NAME} > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "${PACKAGE_NAME}已安装,标记为保持安装状态"
|
||||
KEEP_INSTALLED=true
|
||||
else
|
||||
LOG_INFO "${PACKAGE_NAME}未安装,标记为需要清理"
|
||||
KEEP_INSTALLED=false
|
||||
fi
|
||||
|
||||
# 如果未安装则安装软件包
|
||||
if [ "${KEEP_INSTALLED}" = "false" ]; then
|
||||
LOG_INFO "步骤3: 安装${PACKAGE_NAME}软件包"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}失败"
|
||||
fi
|
||||
|
||||
# 检查虚拟键盘示例程序是否存在
|
||||
LOG_INFO "步骤4: 检查虚拟键盘示例程序是否存在"
|
||||
EXAMPLE_PATH=$(find /usr -name "*virtualkeyboard*example*" -type f -executable | head -1)
|
||||
if [ -z "${EXAMPLE_PATH}" ]; then
|
||||
LOG_ERROR "未找到虚拟键盘示例程序"
|
||||
if [ "${KEEP_INSTALLED}" = "false" ]; then
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查示例程序是否支持主题参数
|
||||
LOG_INFO "步骤5: 检查示例程序是否支持主题参数"
|
||||
${EXAMPLE_PATH} --help 2>&1 | grep -i "theme\|style" > /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "示例程序不支持主题或样式参数"
|
||||
if [ "${KEEP_INSTALLED}" = "false" ]; then
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试默认主题启动
|
||||
LOG_INFO "步骤6: 测试使用默认主题启动虚拟键盘示例"
|
||||
timeout 5s ${EXAMPLE_PATH} &
|
||||
DEFAULT_PID=$!
|
||||
sleep 2
|
||||
if ps -p ${DEFAULT_PID} > /dev/null; then
|
||||
LOG_INFO "默认主题启动成功"
|
||||
kill ${DEFAULT_PID} 2>/dev/null
|
||||
else
|
||||
LOG_ERROR "默认主题启动失败"
|
||||
if [ "${KEEP_INSTALLED}" = "false" ]; then
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 测试指定主题启动
|
||||
LOG_INFO "步骤7: 测试使用指定主题启动虚拟键盘示例"
|
||||
timeout 5s ${EXAMPLE_PATH} --theme "default" &
|
||||
THEME_PID=$!
|
||||
sleep 2
|
||||
if ps -p ${THEME_PID} > /dev/null; then
|
||||
LOG_INFO "指定主题启动成功"
|
||||
kill ${THEME_PID} 2>/dev/null
|
||||
else
|
||||
LOG_ERROR "指定主题启动失败"
|
||||
if [ "${KEEP_INSTALLED}" = "false" ]; then
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理测试环境
|
||||
LOG_INFO "步骤8: 清理测试环境"
|
||||
if [ "${KEEP_INSTALLED}" = "false" ]; then
|
||||
LOG_INFO "卸载${PACKAGE_NAME}软件包"
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}失败"
|
||||
else
|
||||
LOG_INFO "保持${PACKAGE_NAME}软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:虚拟键盘主题切换功能验证成功"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,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-06-16
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试qt5-qtvirtualkeyboard-examples包的重新安装功能,验证软件包是否能够正常重新安装。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
|
||||
# 检查软件包是否存在于yum源中
|
||||
LOG_INFO "检查yum源中是否存在qt5-qtvirtualkeyboard-examples软件包"
|
||||
dnf list available qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到qt5-qtvirtualkeyboard-examples软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查当前环境是否已安装软件包
|
||||
LOG_INFO "检查当前环境是否已安装qt5-qtvirtualkeyboard-examples软件包"
|
||||
rpm -q qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "当前环境已安装qt5-qtvirtualkeyboard-examples软件包,脚本结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "当前环境未安装qt5-qtvirtualkeyboard-examples软件包,脚本结束后将卸载该软件包"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 如果未安装,则执行安装步骤
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装qt5-qtvirtualkeyboard-examples软件包"
|
||||
dnf install -y qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装qt5-qtvirtualkeyboard-examples软件包失败"
|
||||
fi
|
||||
|
||||
# 测试重新安装功能
|
||||
LOG_INFO "测试重新安装qt5-qtvirtualkeyboard-examples软件包"
|
||||
dnf reinstall -y qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "重新安装qt5-qtvirtualkeyboard-examples软件包失败"
|
||||
|
||||
# 清理环境:如果脚本开始时未安装,则卸载软件包;否则保持安装状态
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "清理环境:卸载qt5-qtvirtualkeyboard-examples软件包"
|
||||
dnf remove -y qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载qt5-qtvirtualkeyboard-examples软件包失败"
|
||||
else
|
||||
LOG_INFO "清理环境:保持已安装的qt5-qtvirtualkeyboard-examples软件包状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:验证了qt5-qtvirtualkeyboard-examples包的重新安装功能"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,128 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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-16
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试qt5-qtvirtualkeyboard-examples包的回滚功能,验证软件包是否能够正常回滚到之前的版本。
|
||||
# ############################################
|
||||
|
||||
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_param() {
|
||||
local command=$1
|
||||
local param=$2
|
||||
LOG_INFO "检查命令参数: $command $param"
|
||||
$command --help | grep -q "$param"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "命令参数不支持: $command $param"
|
||||
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 $?
|
||||
}
|
||||
|
||||
# 回滚软件包版本
|
||||
rollback_package() {
|
||||
local package_name=$1
|
||||
LOG_INFO "回滚软件包版本: $package_name"
|
||||
dnf history undo last -y --skip-broken | grep -q "Undo complete."
|
||||
CHECK_RESULT $? 0 0 "回滚软件包失败: $package_name"
|
||||
}
|
||||
|
||||
# 主函数
|
||||
main() {
|
||||
local package="qt5-qtvirtualkeyboard-examples"
|
||||
|
||||
# 步骤1:检查yum源中是否存在目标软件包
|
||||
check_package_in_repo "$package"
|
||||
|
||||
# 步骤2:检查dnf工具的history和undo参数是否支持
|
||||
check_command_param "dnf" "history"
|
||||
check_command_param "dnf" "undo"
|
||||
|
||||
# 步骤3:判断环境是否已安装目标软件包,记录初始状态是否需要卸载
|
||||
local need_uninstall=false
|
||||
if ! is_package_installed "$package"; then
|
||||
need_uninstall=true
|
||||
install_package "$package"
|
||||
CHECK_RESULT $? 0 0 "初始安装软件包失败: $package"
|
||||
LOG_INFO "初始安装完成,标记为需要卸载状态"
|
||||
else
|
||||
LOG_INFO "目标软件包已安装,无需初始安装操作"
|
||||
# 获取当前版本信息,用于后续回滚验证(可选)
|
||||
current_version=$(rpm -q --qf "%{VERSION}-%{RELEASE}" "$package")
|
||||
LOG_INFO "当前版本为: ${current_version}"
|
||||
# TODO:如果需要验证回滚前后的版本差异,可以在此处记录当前版本信息(可选)
|
||||
# echo "${current_version}" > /tmp/${package}_current_version.txt(可选)
|
||||
fi
|
||||
|
||||
# TODO:此处可以添加测试用例的具体逻辑(例如启动应用、验证功能等)(可选)
|
||||
|
||||
#步骤4:执行回滚操作并验证结果(核心测试步骤)
|
||||
rollback_package "$package"
|
||||
|
||||
# TODO:此处可以添加回滚后的验证逻辑(例如对比版本号、验证功能等)(可选)
|
||||
|
||||
#步骤5:恢复环境到初始状态(如果初始未安装则卸载)
|
||||
if [ "$need_uninstall" = true ]; then
|
||||
uninstall_package "$package"
|
||||
CHECK_RESULT \$? \0 \0 \"卸载失败\"
|
||||
LOG_INFO \"环境已恢复到未安装状态\"
|
||||
else
|
||||
LOG_INFO \"环境保持原状\"
|
||||
fi
|
||||
|
||||
exit \0
|
||||
}
|
||||
|
||||
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-06-16
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试qt5-qtvirtualkeyboard-examples包的服务配置功能,验证服务是否能够正常配置。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
|
||||
# 检查yum源中是否存在qt5-qtvirtualkeyboard-examples包
|
||||
LOG_INFO "检查yum源中是否存在qt5-qtvirtualkeyboard-examples包"
|
||||
dnf list available qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到qt5-qtvirtualkeyboard-examples包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装qt5-qtvirtualkeyboard-examples包
|
||||
LOG_INFO "检查是否已安装qt5-qtvirtualkeyboard-examples包"
|
||||
rpm -q qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "qt5-qtvirtualkeyboard-examples包已安装,跳过安装步骤"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "qt5-qtvirtualkeyboard-examples包未安装,开始安装"
|
||||
dnf install -y qt5-qtvirtualkeyboard-examples
|
||||
CHECK_RESULT $? 0 0 "安装qt5-qtvirtualkeyboard-examples包失败"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 测试服务配置功能
|
||||
LOG_INFO "测试服务配置功能"
|
||||
# 假设服务配置命令为configure_service,此处仅为示例,需替换为实际命令
|
||||
configure_service --test > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "服务配置功能测试失败"
|
||||
|
||||
# 清理环境:如果脚本开始时未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载qt5-qtvirtualkeyboard-examples包"
|
||||
dnf remove -y qt5-qtvirtualkeyboard-examples
|
||||
CHECK_RESULT $? 0 0 "卸载qt5-qtvirtualkeyboard-examples包失败"
|
||||
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-06-16
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试qt5-qtvirtualkeyboard-examples包的服务日志查看功能,验证服务是否能够正常查看日志。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
|
||||
# 检查yum源中是否存在qt5-qtvirtualkeyboard-examples包
|
||||
LOG_INFO "检查yum源中是否存在qt5-qtvirtualkeyboard-examples包"
|
||||
dnf list available qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到qt5-qtvirtualkeyboard-examples包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装qt5-qtvirtualkeyboard-examples包
|
||||
LOG_INFO "检查是否已安装qt5-qtvirtualkeyboard-examples包"
|
||||
rpm -q qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
installed=true
|
||||
LOG_INFO "qt5-qtvirtualkeyboard-examples包已安装,测试完成后将保持安装状态"
|
||||
else
|
||||
installed=false
|
||||
LOG_INFO "qt5-qtvirtualkeyboard-examples包未安装,将进行安装测试"
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "开始安装qt5-qtvirtualkeyboard-examples包"
|
||||
dnf install -y qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装qt5-qtvirtualkeyboard-examples包失败"
|
||||
fi
|
||||
|
||||
# 测试服务日志查看功能
|
||||
LOG_INFO "测试服务日志查看功能"
|
||||
journalctl --unit=qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "查看服务日志失败"
|
||||
|
||||
# 如果之前未安装,则卸载软件包以恢复环境
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载qt5-qtvirtualkeyboard-examples包以恢复环境"
|
||||
dnf remove -y qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载qt5-qtvirtualkeyboard-examples包失败"
|
||||
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-06-16
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试qt5-qtvirtualkeyboard-examples包的服务重载功能,验证服务是否能够正常重载配置。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
|
||||
# 检查软件包是否存在于yum源中
|
||||
LOG_INFO "检查yum源中是否存在qt5-qtvirtualkeyboard-examples软件包..."
|
||||
dnf list available qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到qt5-qtvirtualkeyboard-examples软件包,退出测试..."
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查当前环境是否已安装软件包
|
||||
LOG_INFO "检查当前环境是否已安装qt5-qtvirtualkeyboard-examples软件包..."
|
||||
rpm -q qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "当前环境已安装qt5-qtvirtualkeyboard-examples软件包,测试完成后将保持安装状态..."
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "当前环境未安装qt5-qtvirtualkeyboard-examples软件包,测试完成后将卸载..."
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 若未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装qt5-qtvirtualkeyboard-examples软件包..."
|
||||
dnf install -y qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装qt5-qtvirtualkeyboard-examples软件包失败"
|
||||
fi
|
||||
|
||||
# 验证服务重载功能
|
||||
LOG_INFO "验证服务重载功能..."
|
||||
systemctl reload qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "服务重载失败"
|
||||
|
||||
# 清理环境:若测试前未安装,则卸载软件包;否则保持原状
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载qt5-qtvirtualkeyboard-examples软件包..."
|
||||
dnf remove -y qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载qt5-qtvirtualkeyboard-examples软件包失败"
|
||||
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-06-16
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试qt5-qtvirtualkeyboard-examples包的服务启动功能,验证服务是否能够正常启动。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查qt5-qtvirtualkeyboard-examples是否已安装..."
|
||||
rpm -q qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "qt5-qtvirtualkeyboard-examples已安装,跳过安装步骤..."
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "qt5-qtvirtualkeyboard-examples未安装,准备安装..."
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在软件包
|
||||
LOG_INFO "检查yum源中是否存在qt5-qtvirtualkeyboard-examples..."
|
||||
dnf list available qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到qt5-qtvirtualkeyboard-examples,退出测试..."
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "开始安装qt5-qtvirtualkeyboard-examples..."
|
||||
dnf install -y qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装qt5-qtvirtualkeyboard-examples失败"
|
||||
fi
|
||||
|
||||
# 测试服务启动功能
|
||||
LOG_INFO "测试服务启动功能..."
|
||||
systemctl start qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "启动服务失败"
|
||||
|
||||
# 验证服务状态
|
||||
LOG_INFO "验证服务状态..."
|
||||
systemctl status qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "服务状态异常"
|
||||
|
||||
# 清理环境:如果脚本开始时未安装,则卸载软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "清理环境,卸载qt5-qtvirtualkeyboard-examples..."
|
||||
dnf remove -y qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载qt5-qtvirtualkeyboard-examples失败"
|
||||
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-06-16
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试qt5-qtvirtualkeyboard-examples包的服务状态查询功能,验证服务是否能够正常查询状态。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查qt5-qtvirtualkeyboard-examples是否已安装"
|
||||
rpm -q qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "qt5-qtvirtualkeyboard-examples已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "qt5-qtvirtualkeyboard-examples未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在软件包
|
||||
LOG_INFO "检查yum源中是否存在qt5-qtvirtualkeyboard-examples"
|
||||
dnf list available qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到qt5-qtvirtualkeyboard-examples软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装qt5-qtvirtualkeyboard-examples"
|
||||
dnf install -y qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装qt5-qtvirtualkeyboard-examples失败"
|
||||
fi
|
||||
|
||||
# 测试服务状态查询功能
|
||||
LOG_INFO "测试服务状态查询功能"
|
||||
systemctl status qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "服务状态查询失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载qt5-qtvirtualkeyboard-examples"
|
||||
dnf remove -y qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载qt5-qtvirtualkeyboard-examples失败"
|
||||
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-06-16
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试qt5-qtvirtualkeyboard-examples包的服务停止功能,验证服务是否能够正常停止。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装qt5-qtvirtualkeyboard-examples包
|
||||
LOG_INFO "检查qt5-qtvirtualkeyboard-examples包是否已安装"
|
||||
rpm -q qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "qt5-qtvirtualkeyboard-examples包已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "qt5-qtvirtualkeyboard-examples包未安装,将在测试完成后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在qt5-qtvirtualkeyboard-examples包
|
||||
LOG_INFO "检查yum源中是否存在qt5-qtvirtualkeyboard-examples包"
|
||||
dnf list available qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到qt5-qtvirtualkeyboard-examples包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装qt5-qtvirtualkeyboard-examples包(如果未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装qt5-qtvirtualkeyboard-examples包"
|
||||
dnf install -y qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装qt5-qtvirtualkeyboard-examples包失败"
|
||||
fi
|
||||
|
||||
# 验证服务停止功能
|
||||
LOG_INFO "验证服务停止功能"
|
||||
systemctl stop qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "停止服务失败"
|
||||
|
||||
# 清理环境(如果最初未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载qt5-qtvirtualkeyboard-examples包"
|
||||
dnf remove -y qt5-qtvirtualkeyboard-examples > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载qt5-qtvirtualkeyboard-examples包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,72 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-16
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试qt5-qtvirtualkeyboard-examples包的升级功能,验证软件包是否能够正常升级。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
|
||||
# 检查软件包是否存在于yum源中
|
||||
LOG_INFO "检查yum源中是否存在qt5-qtvirtualkeyboard-examples包"
|
||||
dnf list available qt5-qtvirtualkeyboard-examples &> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到qt5-qtvirtualkeyboard-examples包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查当前环境是否已安装软件包
|
||||
LOG_INFO "检查当前环境是否已安装qt5-qtvirtualkeyboard-examples包"
|
||||
rpm -q qt5-qtvirtualkeyboard-examples &> /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "当前环境已安装qt5-qtvirtualkeyboard-examples包,脚本结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "当前环境未安装qt5-qtvirtualkeyboard-examples包,将进行安装测试"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包作为测试步骤
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装qt5-qtvirtualkeyboard-examples包"
|
||||
dnf install -y qt5-qtvirtualkeyboard-examples
|
||||
CHECK_RESULT $? 0 0 "安装qt5-qtvirtualkeyboard-examples包失败"
|
||||
fi
|
||||
|
||||
# 测试升级功能
|
||||
LOG_INFO "测试升级qt5-qtvirtualkeyboard-examples包"
|
||||
dnf upgrade -y qt5-qtvirtualkeyboard-examples
|
||||
CHECK_RESULT $? 0 0 "升级qt5-qtvirtualkeyboard-examples包失败"
|
||||
|
||||
# 验证软件包是否正常升级
|
||||
LOG_INFO "验证软件包是否正常升级"
|
||||
rpm -q qt5-qtvirtualkeyboard-examples &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "验证软件包升级失败"
|
||||
|
||||
# 清理环境:如果最初未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "清理环境:卸载qt5-qtvirtualkeyboard-examples包"
|
||||
dnf remove -y qt5-qtvirtualkeyboard-examples
|
||||
CHECK_RESULT $? 0 0 "卸载qt5-qtvirtualkeyboard-examples包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完成,环境已恢复初始状态"
|
||||
|
||||
}
|
||||
|
||||
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-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试检查rpm-devel包依赖关系
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义日志函数(如果未定义)
|
||||
if ! command -v LOG_INFO > /dev/null 2>&1; then
|
||||
LOG_INFO() {
|
||||
echo "[INFO] $*"
|
||||
}
|
||||
fi
|
||||
if ! command -v LOG_ERROR > /dev/null 2>&1; then
|
||||
LOG_ERROR() {
|
||||
echo "[ERROR] $*" >&2
|
||||
}
|
||||
fi
|
||||
|
||||
# 定义CHECK_RESULT函数(如果未定义)
|
||||
if ! command -v CHECK_RESULT > /dev/null 2>&1; then
|
||||
CHECK_RESULT() {
|
||||
local actual=$1
|
||||
local expect=$2
|
||||
local mode=$3
|
||||
local msg=$4
|
||||
if [ $mode -eq 0 ]; then
|
||||
if [ $actual -eq $expect ]; then
|
||||
LOG_INFO "$msg 成功"
|
||||
else
|
||||
LOG_ERROR "$msg 失败"
|
||||
exit $actual
|
||||
fi
|
||||
fi
|
||||
}
|
||||
fi
|
||||
|
||||
# 定义SSH_CMD函数(如果未定义)
|
||||
if ! command -v SSH_CMD > /dev/null 2>&1; then
|
||||
SSH_CMD() {
|
||||
local cmd=$1
|
||||
local ip=$2
|
||||
local passwd=$3
|
||||
local user=$4
|
||||
LOG_INFO "在节点 $ip 上执行命令: $cmd"
|
||||
sshpass -p "$passwd" ssh -o StrictHostKeyChecking=no "$user@$ip" "$cmd"
|
||||
return $?
|
||||
}
|
||||
fi
|
||||
|
||||
# 测试脚本开始
|
||||
LOG_INFO "开始测试:检查rpm-devel包依赖关系"
|
||||
|
||||
# 步骤1: 检查rpm-devel包是否已在yum源中
|
||||
LOG_INFO "步骤1: 检查rpm-devel包是否在yum源中"
|
||||
if ! dnf list available rpm-devel > /dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中未找到rpm-devel包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum源中存在rpm-devel包"
|
||||
|
||||
# 步骤2: 检查是否已安装rpm-devel包
|
||||
LOG_INFO "步骤2: 检查是否已安装rpm-devel包"
|
||||
if rpm -q rpm-devel > /dev/null 2>&1; then
|
||||
LOG_INFO "rpm-devel包已安装,测试结束后将保持安装状态"
|
||||
already_installed=1
|
||||
else
|
||||
LOG_INFO "rpm-devel包未安装,将在测试步骤中安装"
|
||||
already_installed=0
|
||||
fi
|
||||
|
||||
# 步骤3: 安装rpm-devel包(如果未安装)
|
||||
if [ $already_installed -eq 0 ]; then
|
||||
LOG_INFO "步骤3: 安装rpm-devel包"
|
||||
dnf install -y rpm-devel
|
||||
CHECK_RESULT $? 0 0 "安装rpm-devel包"
|
||||
fi
|
||||
|
||||
# 步骤4: 检查rpm-devel包的依赖关系
|
||||
LOG_INFO "步骤4: 检查rpm-devel包的依赖关系"
|
||||
rpm -qR rpm-devel
|
||||
CHECK_RESULT $? 0 0 "检查rpm-devel包依赖关系"
|
||||
|
||||
# 步骤5: 验证rpm-devel包提供的头文件和库文件
|
||||
LOG_INFO "步骤5: 验证rpm-devel包提供的头文件和库文件"
|
||||
if [ -d /usr/include/rpm ]; then
|
||||
LOG_INFO "rpm头文件目录存在"
|
||||
else
|
||||
LOG_ERROR "rpm头文件目录不存在"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -f /usr/lib/librpm.so ] || [ -f /usr/lib64/librpm.so ]; then
|
||||
LOG_INFO "rpm库文件存在"
|
||||
else
|
||||
LOG_ERROR "rpm库文件不存在"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 步骤6: 清理环境(如果测试前未安装,则卸载rpm-devel包)
|
||||
if [ $already_installed -eq 0 ]; then
|
||||
LOG_INFO "步骤6: 清理环境,卸载rpm-devel包"
|
||||
dnf remove -y rpm-devel
|
||||
CHECK_RESULT $? 0 0 "卸载rpm-devel包"
|
||||
else
|
||||
LOG_INFO "步骤6: 环境已安装rpm-devel包,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:rpm-devel包依赖关系检查成功"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,76 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试检查rpm-devel是否已安装
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试:检查rpm-devel是否已安装"
|
||||
|
||||
# 检查yum源中是否有rpm-devel包
|
||||
LOG_INFO "步骤1:检查yum源中是否有rpm-devel包"
|
||||
if ! dnf list available rpm-devel &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到rpm-devel包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装rpm-devel
|
||||
LOG_INFO "步骤2:检查系统是否已安装rpm-devel"
|
||||
if rpm -q rpm-devel &>/dev/null; then
|
||||
LOG_INFO "rpm-devel已安装,脚本结束时将保持安装状态"
|
||||
already_installed=true
|
||||
else
|
||||
LOG_INFO "rpm-devel未安装,将在测试步骤中安装"
|
||||
already_installed=false
|
||||
fi
|
||||
|
||||
# 如果未安装,则进行安装
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "步骤3:安装rpm-devel包"
|
||||
dnf install -y rpm-devel
|
||||
CHECK_RESULT $? 0 0 "安装rpm-devel失败"
|
||||
LOG_INFO "rpm-devel安装成功"
|
||||
fi
|
||||
|
||||
# 测试rpm-devel功能
|
||||
LOG_INFO "步骤4:测试rpm-devel功能"
|
||||
# 检查rpmbuild命令是否存在(rpm-devel安装后会提供)
|
||||
if command -v rpmbuild &>/dev/null; then
|
||||
LOG_INFO "rpmbuild命令存在,rpm-devel功能正常"
|
||||
else
|
||||
LOG_ERROR "rpmbuild命令不存在,rpm-devel功能异常"
|
||||
CHECK_RESULT 1 0 0 "rpm-devel功能测试失败"
|
||||
fi
|
||||
|
||||
# 环境恢复
|
||||
LOG_INFO "步骤5:环境恢复"
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "卸载测试安装的rpm-devel包"
|
||||
dnf remove -y rpm-devel
|
||||
CHECK_RESULT $? 0 0 "卸载rpm-devel失败"
|
||||
LOG_INFO "rpm-devel卸载成功"
|
||||
else
|
||||
LOG_INFO "系统原本已安装rpm-devel,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:rpm-devel功能检查完毕"
|
||||
}
|
||||
|
||||
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-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试安装rpm-devel软件包
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试安装rpm-devel软件包"
|
||||
|
||||
# 检查是否已安装rpm-devel软件包
|
||||
LOG_INFO "检查是否已安装rpm-devel软件包"
|
||||
if dnf list installed rpm-devel &>/dev/null; then
|
||||
LOG_INFO "rpm-devel软件包已安装,脚本结束时将保持安装状态"
|
||||
already_installed=1
|
||||
else
|
||||
LOG_INFO "rpm-devel软件包未安装"
|
||||
already_installed=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有rpm-devel软件包
|
||||
LOG_INFO "检查yum源中是否有rpm-devel软件包"
|
||||
if ! dnf list available rpm-devel &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到rpm-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装rpm-devel软件包
|
||||
if [ $already_installed -eq 0 ]; then
|
||||
LOG_INFO "安装rpm-devel软件包"
|
||||
dnf install -y rpm-devel
|
||||
CHECK_RESULT $? 0 0 "安装rpm-devel软件包失败"
|
||||
fi
|
||||
|
||||
# 验证rpm-devel软件包安装后的功能(例如检查rpmbuild命令是否存在)
|
||||
LOG_INFO "验证rpm-devel软件包安装后的功能"
|
||||
command -v rpmbuild &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "rpmbuild命令未找到,rpm-devel软件包可能未正确安装"
|
||||
|
||||
# 如果脚本开始时未安装rpm-devel,则在测试结束后卸载
|
||||
if [ $already_installed -eq 0 ]; then
|
||||
LOG_INFO "卸载rpm-devel软件包"
|
||||
dnf remove -y rpm-devel
|
||||
CHECK_RESULT $? 0 0 "卸载rpm-devel软件包失败"
|
||||
LOG_INFO "环境已恢复到未安装rpm-devel软件包的状态"
|
||||
else
|
||||
LOG_INFO "环境保持已安装rpm-devel软件包的状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试安装rpm-devel软件包完成"
|
||||
}
|
||||
|
||||
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-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试列出rpm-devel包内文件
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:列出rpm-devel包内文件"
|
||||
|
||||
# 检查是否已安装rpm-devel包
|
||||
if rpm -q rpm-devel > /dev/null 2>&1; then
|
||||
LOG_INFO "rpm-devel包已安装,测试后保持安装状态"
|
||||
already_installed=true
|
||||
else
|
||||
LOG_INFO "rpm-devel包未安装,将在测试前安装"
|
||||
already_installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有rpm-devel包
|
||||
LOG_INFO "检查yum源中是否存在rpm-devel包"
|
||||
dnf list available rpm-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "yum源中未找到rpm-devel包"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在rpm-devel包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装rpm-devel包
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "安装rpm-devel包"
|
||||
dnf install -y rpm-devel
|
||||
CHECK_RESULT $? 0 0 "安装rpm-devel包失败"
|
||||
fi
|
||||
|
||||
# 测试列出rpm-devel包内文件
|
||||
LOG_INFO "执行rpm -ql rpm-devel列出包内文件"
|
||||
rpm -ql rpm-devel
|
||||
CHECK_RESULT $? 0 0 "列出rpm-devel包内文件失败"
|
||||
|
||||
# 环境恢复:如果测试前未安装,则卸载rpm-devel包
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "卸载rpm-devel包"
|
||||
dnf remove -y rpm-devel
|
||||
CHECK_RESULT $? 0 0 "卸载rpm-devel包失败"
|
||||
else
|
||||
LOG_INFO "测试前已安装rpm-devel包,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:成功列出rpm-devel包内文件"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,53 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试显示rpm-devel包详细信息
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试显示rpm-devel包详细信息"
|
||||
LOG_INFO "检查环境中是否已安装rpm-devel软件包"
|
||||
if rpm -q rpm-devel >/dev/null 2>&1; then
|
||||
LOG_INFO "rpm-devel软件包已安装"
|
||||
INSTALLED="true"
|
||||
else
|
||||
LOG_INFO "rpm-devel软件包未安装"
|
||||
INSTALLED="false"
|
||||
fi
|
||||
LOG_INFO "检查yum源中是否存在rpm-devel软件包"
|
||||
if ! dnf list available rpm-devel >/dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中未找到rpm-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "安装rpm-devel软件包"
|
||||
dnf install -y rpm-devel
|
||||
CHECK_RESULT $? 0 0 "安装rpm-devel软件包失败"
|
||||
fi
|
||||
LOG_INFO "显示rpm-devel包详细信息"
|
||||
rpm -qi rpm-devel
|
||||
CHECK_RESULT $? 0 0 "显示rpm-devel包详细信息失败"
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "卸载rpm-devel软件包"
|
||||
dnf remove -y rpm-devel
|
||||
CHECK_RESULT $? 0 0 "卸载rpm-devel软件包失败"
|
||||
fi
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,89 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试查询所有已安装的rpm包
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试:查询所有已安装的rpm包"
|
||||
|
||||
# 检查是否已安装rpm包管理器
|
||||
LOG_INFO "检查rpm命令是否可用"
|
||||
command -v rpm >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "rpm命令不存在"
|
||||
|
||||
# 检查是否已安装rpm-devel包
|
||||
LOG_INFO "检查rpm-devel包是否已安装"
|
||||
if rpm -q rpm-devel >/dev/null 2>&1; then
|
||||
LOG_INFO "rpm-devel包已安装,测试结束后保持安装状态"
|
||||
already_installed=true
|
||||
else
|
||||
LOG_INFO "rpm-devel包未安装,将在测试中安装"
|
||||
already_installed=false
|
||||
fi
|
||||
|
||||
# 如果需要安装rpm-devel包
|
||||
if [ "$already_installed" = false ]; then
|
||||
# 检查yum源中是否有rpm-devel包
|
||||
LOG_INFO "检查yum源中是否有rpm-devel包"
|
||||
dnf list available rpm-devel >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中没有rpm-devel包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装rpm-devel包
|
||||
LOG_INFO "安装rpm-devel包"
|
||||
dnf install -y rpm-devel
|
||||
CHECK_RESULT $? 0 0 "安装rpm-devel包失败"
|
||||
fi
|
||||
|
||||
# 测试查询所有已安装的rpm包
|
||||
LOG_INFO "测试查询所有已安装的rpm包"
|
||||
rpm -qa
|
||||
CHECK_RESULT $? 0 0 "查询所有已安装的rpm包失败"
|
||||
|
||||
# 检查查询结果是否包含rpm-devel包
|
||||
LOG_INFO "检查查询结果是否包含rpm-devel包"
|
||||
rpm -qa | grep -q "^rpm-devel-"
|
||||
CHECK_RESULT $? 0 0 "查询结果中未找到rpm-devel包"
|
||||
|
||||
# 环境恢复
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "卸载rpm-devel包"
|
||||
dnf remove -y rpm-devel
|
||||
CHECK_RESULT $? 0 0 "卸载rpm-devel包失败"
|
||||
|
||||
# 验证卸载是否成功
|
||||
LOG_INFO "验证rpm-devel包是否已卸载"
|
||||
rpm -q rpm-devel >/dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "rpm-devel包卸载失败"
|
||||
exit 1
|
||||
fi
|
||||
LOG_INFO "rpm-devel包已成功卸载"
|
||||
else
|
||||
LOG_INFO "保持rpm-devel包的安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:查询所有已安装的rpm包"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,79 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试查询文件所属的rpm包
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义测试软件包名称
|
||||
TEST_PKG="rpm-devel"
|
||||
# 定义测试文件(通常rpm-devel包含rpmbuild等,这里使用一个已知的文件进行测试)
|
||||
TEST_FILE="/usr/bin/rpmbuild"
|
||||
|
||||
# 步骤1:检查yum源中是否存在指定软件包
|
||||
LOG_INFO "步骤1:检查yum源中是否存在软件包 $TEST_PKG"
|
||||
dnf list available $TEST_PKG 2>&1 | grep -q "^$TEST_PKG"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 $TEST_PKG 在yum源中不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤2:检查测试文件是否存在,如果不存在则尝试安装软件包
|
||||
LOG_INFO "步骤2:检查测试文件 $TEST_FILE 是否存在"
|
||||
if [ -f "$TEST_FILE" ]; then
|
||||
LOG_INFO "测试文件已存在,无需安装软件包"
|
||||
INSTALLED="false"
|
||||
else
|
||||
LOG_INFO "测试文件不存在,开始安装软件包 $TEST_PKG"
|
||||
dnf install -y $TEST_PKG
|
||||
CHECK_RESULT $? 0 0 "安装软件包 $TEST_PKG 失败"
|
||||
INSTALLED="true"
|
||||
fi
|
||||
|
||||
# 步骤3:测试查询文件所属的rpm包功能
|
||||
LOG_INFO "步骤3:测试查询文件 $TEST_FILE 所属的rpm包"
|
||||
rpm -qf "$TEST_FILE"
|
||||
CHECK_RESULT $? 0 0 "查询文件所属rpm包失败"
|
||||
|
||||
# 步骤4:测试无效参数(例如不存在的参数)
|
||||
LOG_INFO "步骤4:测试无效参数"
|
||||
rpm -qf --invalid-option "$TEST_FILE" 2>/dev/null
|
||||
if [ $? -ne 255 ] && [ $? -ne 1 ]; then
|
||||
LOG_ERROR "无效参数未被正确处理"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤5:测试不存在的文件
|
||||
LOG_INFO "步骤5:测试查询不存在的文件"
|
||||
rpm -qf /path/to/nonexistent/file 2>&1 | grep -q "没有那个文件或目录\|No such file or directory"
|
||||
CHECK_RESULT $? 0 0 "查询不存在的文件时未返回预期错误"
|
||||
|
||||
# 步骤6:环境恢复
|
||||
LOG_INFO "步骤6:环境恢复"
|
||||
if [ "$INSTALLED" = "true" ]; then
|
||||
LOG_INFO "卸载测试安装的软件包 $TEST_PKG"
|
||||
dnf remove -y $TEST_PKG
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 $TEST_PKG 失败"
|
||||
else
|
||||
LOG_INFO "测试前已安装软件包,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,98 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试验证已安装rpm包完整性
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试:验证已安装rpm包完整性"
|
||||
|
||||
# 检查是否已安装rpm包
|
||||
LOG_INFO "检查rpm包是否已安装"
|
||||
rpm -q rpm > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "rpm包已安装,测试后保持安装状态"
|
||||
ALREADY_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "rpm包未安装,将进行安装测试"
|
||||
ALREADY_INSTALLED=0
|
||||
|
||||
LOG_INFO "检查yum源中是否有rpm包"
|
||||
dnf list available rpm 2>/dev/null | grep -q "^rpm\."
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到rpm包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "安装rpm包"
|
||||
dnf install -y rpm
|
||||
CHECK_RESULT $? 0 0 "安装rpm包失败"
|
||||
fi
|
||||
|
||||
# 验证rpm命令的基本功能
|
||||
LOG_INFO "验证rpm命令版本查询"
|
||||
rpm --version
|
||||
CHECK_RESULT $? 0 0 "rpm命令版本查询失败"
|
||||
|
||||
LOG_INFO "验证rpm命令帮助信息"
|
||||
rpm --help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "rpm命令帮助信息查询失败"
|
||||
|
||||
# 验证rpm包查询功能
|
||||
LOG_INFO "验证已安装rpm包查询"
|
||||
rpm -qa | grep -q "^rpm-"
|
||||
CHECK_RESULT $? 0 0 "查询已安装rpm包失败"
|
||||
|
||||
# 验证rpm包信息查询
|
||||
LOG_INFO "验证rpm包详细信息查询"
|
||||
rpm -qi rpm > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "查询rpm包详细信息失败"
|
||||
|
||||
# 验证rpm包文件列表
|
||||
LOG_INFO "验证rpm包文件列表查询"
|
||||
rpm -ql rpm > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "查询rpm包文件列表失败"
|
||||
|
||||
# 验证rpm包校验功能
|
||||
LOG_INFO "验证rpm包文件完整性校验"
|
||||
rpm -V rpm
|
||||
CHECK_RESULT $? 0 0 "rpm包文件完整性校验失败"
|
||||
|
||||
# 验证不支持的参数
|
||||
LOG_INFO "验证不支持的参数处理"
|
||||
rpm --invalid-parameter > /dev/null 2>&1
|
||||
if [ $? -ne 255 ]; then
|
||||
LOG_ERROR "不支持的参数处理异常"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 清理环境
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载测试安装的rpm包"
|
||||
dnf remove -y rpm
|
||||
CHECK_RESULT $? 0 0 "卸载rpm包失败"
|
||||
else
|
||||
LOG_INFO "保持rpm包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:rpm包完整性验证成功"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,99 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试查询提供特定功能的包
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试查询提供特定功能的包功能"
|
||||
LOG_INFO "步骤1: 检查dnf工具是否可用"
|
||||
command -v dnf >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "dnf工具未安装,测试无法继续"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "dnf工具检查通过"
|
||||
|
||||
LOG_INFO "步骤2: 判断测试所需的rpm-devel包在yum源中是否存在"
|
||||
dnf list available rpm-devel >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到rpm-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "rpm-devel软件包在yum源中存在"
|
||||
|
||||
LOG_INFO "步骤3: 检查当前环境中是否已经安装了rpm-devel包"
|
||||
rpm -q rpm-devel >/dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "检测到rpm-devel已安装,标记为已安装状态"
|
||||
INSTALLED_FLAG=1
|
||||
else
|
||||
LOG_INFO "检测到rpm-devel未安装,标记为未安装状态"
|
||||
INSTALLED_FLAG=0
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4: 如果未安装,则执行安装操作"
|
||||
if [ $INSTALLED_FLAG -eq 0 ]; then
|
||||
LOG_INFO "开始安装rpm-devel软件包"
|
||||
dnf install -y rpm-devel
|
||||
CHECK_RESULT $? 0 0 "安装rpm-devel软件包失败"
|
||||
LOG_INFO "rpm-devel软件包安装成功"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤5: 测试dnf provides命令的基本功能"
|
||||
LOG_INFO "执行命令: dnf provides "*/rpmbuild""
|
||||
dnf provides "*/rpmbuild"
|
||||
CHECK_RESULT $? 0 0 "dnf provides命令执行失败"
|
||||
LOG_INFO "dnf provides命令基本功能测试通过"
|
||||
|
||||
LOG_INFO "步骤6: 测试dnf provides命令查询提供特定文件的功能"
|
||||
LOG_INFO "执行命令: dnf provides /usr/bin/rpmbuild"
|
||||
dnf provides /usr/bin/rpmbuild
|
||||
CHECK_RESULT $? 0 0 "查询提供/usr/bin/rpmbuild文件的功能失败"
|
||||
LOG_INFO "查询提供特定文件功能测试通过"
|
||||
|
||||
LOG_INFO "步骤7: 测试dnf provides命令查询提供特定能力的功能"
|
||||
LOG_INFO "执行命令: dnf provides "rpmlib(VersionedDependencies)""
|
||||
dnf provides "rpmlib(VersionedDependencies)"
|
||||
CHECK_RESULT $? 0 0 "查询提供rpmlib能力的功能失败"
|
||||
LOG_INFO "查询提供特定能力功能测试通过"
|
||||
|
||||
LOG_INFO "步骤8: 测试dnf provides命令不支持的参数"
|
||||
LOG_INFO "执行命令: dnf provides --invalid-option"
|
||||
dnf provides --invalid-option >/dev/null 2>&1
|
||||
if [ $? -eq 255 ]; then
|
||||
LOG_INFO "不支持的参数处理正确,返回退出码255"
|
||||
else
|
||||
LOG_ERROR "不支持的参数处理异常"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤9: 环境清理,如果脚本开始时未安装,则卸载软件包"
|
||||
if [ $INSTALLED_FLAG -eq 0 ]; then
|
||||
LOG_INFO "开始卸载rpm-devel软件包"
|
||||
dnf remove -y rpm-devel
|
||||
CHECK_RESULT $? 0 0 "卸载rpm-devel软件包失败"
|
||||
LOG_INFO "rpm-devel软件包卸载成功,环境已恢复"
|
||||
else
|
||||
LOG_INFO "脚本开始时rpm-devel已安装,保持安装状态,无需卸载"
|
||||
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 : 2026-03-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用 --dbpath 参数指定数据库目录
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装rpm-devel和rpmgraph软件包
|
||||
LOG_INFO "检查是否已安装rpm-devel和rpmgraph软件包"
|
||||
rpm -q rpm-devel > /dev/null 2>&1
|
||||
rpm_devel_installed=$?
|
||||
rpm -q rpmgraph > /dev/null 2>&1
|
||||
rpmgraph_installed=$?
|
||||
|
||||
# 定义安装和卸载函数
|
||||
install_packages() {
|
||||
LOG_INFO "开始安装rpm-devel和rpmgraph软件包"
|
||||
dnf install -y rpm-devel rpmgraph
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
}
|
||||
|
||||
uninstall_packages() {
|
||||
LOG_INFO "开始卸载rpm-devel和rpmgraph软件包"
|
||||
dnf remove -y rpm-devel rpmgraph
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
}
|
||||
|
||||
# 检查yum源中是否有软件包
|
||||
LOG_INFO "检查yum源中是否有rpm-devel软件包"
|
||||
dnf list available rpm-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中没有rpm-devel软件包"
|
||||
|
||||
LOG_INFO "检查yum源中是否有rpmgraph软件包"
|
||||
dnf list available rpmgraph > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中没有rpmgraph软件包"
|
||||
|
||||
# 记录初始安装状态
|
||||
initial_installed=0
|
||||
if [ $rpm_devel_installed -eq 0 ] && [ $rpmgraph_installed -eq 0 ]; then
|
||||
LOG_INFO "环境已安装rpm-devel和rpmgraph软件包"
|
||||
initial_installed=1
|
||||
else
|
||||
LOG_INFO "环境未安装rpm-devel和rpmgraph软件包,将进行安装"
|
||||
install_packages
|
||||
fi
|
||||
|
||||
# 测试rpmgraph命令的--dbpath参数
|
||||
LOG_INFO "测试rpmgraph命令是否支持--dbpath参数"
|
||||
rpmgraph --help | grep -q "\-\-dbpath"
|
||||
CHECK_RESULT $? 0 255 "rpmgraph命令不支持--dbpath参数"
|
||||
|
||||
# 创建测试用的数据库目录
|
||||
LOG_INFO "创建测试用的数据库目录"
|
||||
test_db_dir=$(mktemp -d)
|
||||
CHECK_RESULT $? 0 0 "创建测试数据库目录失败"
|
||||
|
||||
# 使用--dbpath参数执行rpmgraph命令
|
||||
LOG_INFO "使用--dbpath参数执行rpmgraph命令"
|
||||
rpmgraph --dbpath $test_db_dir --help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "使用--dbpath参数执行rpmgraph命令失败"
|
||||
|
||||
# 清理测试数据库目录
|
||||
LOG_INFO "清理测试数据库目录"
|
||||
rm -rf $test_db_dir
|
||||
CHECK_RESULT $? 0 0 "清理测试数据库目录失败"
|
||||
|
||||
# 环境恢复
|
||||
if [ $initial_installed -eq 0 ]; then
|
||||
LOG_INFO "恢复环境:卸载测试安装的软件包"
|
||||
uninstall_packages
|
||||
else
|
||||
LOG_INFO "环境已安装,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,79 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用 --help 参数,显示帮助信息
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试rpm-devel和rpmgraph命令的--help参数功能"
|
||||
LOG_INFO "步骤1:检查yum源中是否存在rpm-devel和rpmgraph软件包"
|
||||
if ! dnf list available rpm-devel &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到rpm-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
if ! dnf list available rpmgraph &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到rpmgraph软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查系统是否已安装rpm-devel和rpmgraph软件包"
|
||||
installed=0
|
||||
if rpm -q rpm-devel &> /dev/null && rpm -q rpmgraph &> /dev/null; then
|
||||
LOG_INFO "软件包已安装,测试后将保持安装状态"
|
||||
installed=1
|
||||
else
|
||||
LOG_INFO "软件包未安装,将进行安装并在测试后卸载"
|
||||
dnf install -y rpm-devel rpmgraph
|
||||
CHECK_RESULT $? 0 0 "安装rpm-devel和rpmgraph软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤3:测试rpm-devel命令的--help参数"
|
||||
if rpm-devel --help &> /dev/null; then
|
||||
LOG_INFO "rpm-devel --help 执行成功"
|
||||
else
|
||||
LOG_ERROR "rpm-devel --help 参数不存在或不支持"
|
||||
if [ $installed -eq 0 ]; then
|
||||
dnf remove -y rpm-devel rpmgraph
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:测试rpmgraph命令的--help参数"
|
||||
if rpmgraph --help &> /dev/null; then
|
||||
LOG_INFO "rpmgraph --help 执行成功"
|
||||
else
|
||||
LOG_ERROR "rpmgraph --help 参数不存在或不支持"
|
||||
if [ $installed -eq 0 ]; then
|
||||
dnf remove -y rpm-devel rpmgraph
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤5:清理测试环境"
|
||||
if [ $installed -eq 0 ]; then
|
||||
LOG_INFO "卸载测试安装的软件包"
|
||||
dnf remove -y rpm-devel rpmgraph
|
||||
CHECK_RESULT $? 0 0 "卸载rpm-devel和rpmgraph软件包失败"
|
||||
else
|
||||
LOG_INFO "保持软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,121 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用 --load 参数加载单个宏文件
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义函数:检查软件包是否在yum源中
|
||||
check_package_in_repo() {
|
||||
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_option() {
|
||||
local command_name=$1
|
||||
local option=$2
|
||||
if ! $command_name --help 2>&1 | grep -q -- "$option"; then
|
||||
LOG_ERROR "命令 $command_name 不支持参数 $option"
|
||||
exit 255
|
||||
fi
|
||||
}
|
||||
|
||||
# 定义函数:检查软件包是否已安装
|
||||
check_package_installed() {
|
||||
local package_name=$1
|
||||
rpm -q "$package_name" &>/dev/null
|
||||
return $?
|
||||
}
|
||||
|
||||
# 定义函数:清理环境
|
||||
cleanup_environment() {
|
||||
if [[ $installed_by_script -eq 1 ]]; then
|
||||
LOG_INFO "清理环境:卸载由脚本安装的软件包"
|
||||
dnf remove -y rpm-devel rpmgraph &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
fi
|
||||
}
|
||||
|
||||
# 主函数
|
||||
main() {
|
||||
# 初始化变量
|
||||
local installed_by_script=0
|
||||
local macro_file="/tmp/test_macro.mac"
|
||||
|
||||
# 步骤1:检查yum源中是否存在rpm-devel和rpmgraph软件包
|
||||
LOG_INFO "步骤1:检查yum源中是否存在rpm-devel和rpmgraph软件包"
|
||||
check_package_in_repo "rpm-devel"
|
||||
check_package_in_repo "rpmgraph"
|
||||
|
||||
# 步骤2:检查rpmgraph命令是否支持--load参数
|
||||
LOG_INFO "步骤2:检查rpmgraph命令是否支持--load参数"
|
||||
check_command_option "rpmgraph" "--load"
|
||||
|
||||
# 步骤3:检查rpm-devel和rpmgraph是否已安装
|
||||
LOG_INFO "步骤3:检查rpm-devel和rpmgraph是否已安装"
|
||||
local need_install=0
|
||||
if ! check_package_installed "rpm-devel"; then
|
||||
need_install=1
|
||||
fi
|
||||
if ! check_package_installed "rpmgraph"; then
|
||||
need_install=1
|
||||
fi
|
||||
|
||||
# 步骤4:如果需要则安装软件包
|
||||
if [[ $need_install -eq 1 ]]; then
|
||||
LOG_INFO "步骤4:安装rpm-devel和rpmgraph软件包"
|
||||
dnf install -y rpm-devel rpmgraph &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
installed_by_script=1
|
||||
else
|
||||
LOG_INFO "步骤4:软件包已安装,无需重复安装"
|
||||
fi
|
||||
|
||||
# 步骤5:创建测试用的宏文件
|
||||
LOG_INFO "步骤5:创建测试用的宏文件"
|
||||
echo "%_topdir /usr/src/rpm" > "$macro_file"
|
||||
CHECK_RESULT $? 0 0 "创建宏文件失败"
|
||||
|
||||
# 步骤6:使用rpmgraph --load加载单个宏文件
|
||||
LOG_INFO "步骤6:使用rpmgraph --load加载单个宏文件"
|
||||
rpmgraph --load "$macro_file" &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "rpmgraph --load命令执行失败"
|
||||
|
||||
# 步骤7:清理临时文件
|
||||
LOG_INFO "步骤7:清理临时文件"
|
||||
rm -f "$macro_file"
|
||||
CHECK_RESULT $? 0 0 "删除临时文件失败"
|
||||
|
||||
# 步骤8:清理环境
|
||||
LOG_INFO "步骤8:清理环境"
|
||||
cleanup_environment
|
||||
}
|
||||
|
||||
# 设置异常处理
|
||||
trap cleanup_environment EXIT
|
||||
|
||||
# 执行主函数
|
||||
main
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,89 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用 --macros 参数指定宏文件
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已经安装了rpm-devel和rpmgraph包
|
||||
LOG_INFO "检查是否已经安装了rpm-devel和rpmgraph软件包"
|
||||
if rpm -q rpm-devel rpmgraph >/dev/null 2>&1; then
|
||||
LOG_INFO "rpm-devel和rpmgraph已经安装,脚本结束时将保持安装状态"
|
||||
already_installed=true
|
||||
else
|
||||
LOG_INFO "rpm-devel和rpmgraph未安装,将在测试过程中安装"
|
||||
already_installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在rpm-devel和rpmgraph包
|
||||
LOG_INFO "检查yum源中是否存在rpm-devel和rpmgraph软件包"
|
||||
if ! dnf list available rpm-devel rpmgraph >/dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中不存在rpm-devel或rpmgraph软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "安装rpm-devel和rpmgraph软件包"
|
||||
dnf install -y rpm-devel rpmgraph
|
||||
CHECK_RESULT $? 0 0 "安装rpm-devel和rpmgraph失败"
|
||||
fi
|
||||
|
||||
# 测试使用--macros参数指定宏文件
|
||||
LOG_INFO "测试使用--macros参数指定宏文件"
|
||||
# 创建一个临时宏文件用于测试
|
||||
temp_macro_file=$(mktemp)
|
||||
echo "%_topdir /tmp/rpmbuild" > "$temp_macro_file"
|
||||
|
||||
# 测试rpmgraph命令是否支持--macros参数
|
||||
LOG_INFO "检查rpmgraph命令是否支持--macros参数"
|
||||
if ! rpmgraph --help 2>&1 | grep -q "\-\-macros"; then
|
||||
LOG_ERROR "rpmgraph命令不支持--macros参数"
|
||||
# 清理临时文件
|
||||
rm -f "$temp_macro_file"
|
||||
# 如果测试过程中安装了软件包,需要卸载
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "卸载测试过程中安装的软件包"
|
||||
dnf remove -y rpm-devel rpmgraph
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 使用--macros参数执行rpmgraph命令
|
||||
LOG_INFO "使用--macros参数执行rpmgraph命令"
|
||||
rpmgraph --macros "$temp_macro_file" --help >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "使用--macros参数执行rpmgraph命令失败"
|
||||
|
||||
# 清理临时文件
|
||||
LOG_INFO "清理临时文件"
|
||||
rm -f "$temp_macro_file"
|
||||
|
||||
# 环境恢复
|
||||
LOG_INFO "恢复测试环境"
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "卸载测试过程中安装的软件包"
|
||||
dnf remove -y rpm-devel rpmgraph
|
||||
CHECK_RESULT $? 0 0 "卸载rpm-devel和rpmgraph失败"
|
||||
else
|
||||
LOG_INFO "保持rpm-devel和rpmgraph的安装状态"
|
||||
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 : 2026-03-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用 --nodigest 参数,不验证软件包摘要
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装rpm-devel和rpmgraph包
|
||||
LOG_INFO "检查rpm-devel和rpmgraph包是否已安装"
|
||||
rpm -q rpm-devel rpmgraph >/dev/null 2>&1
|
||||
PACKAGES_INSTALLED=$?
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $PACKAGES_INSTALLED -ne 0 ]; then
|
||||
LOG_INFO "rpm-devel和rpmgraph包未安装,开始安装"
|
||||
|
||||
# 检查yum源中是否有rpm-devel包
|
||||
LOG_INFO "检查yum源中是否有rpm-devel包"
|
||||
dnf list available rpm-devel >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "yum源中没有rpm-devel包"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中没有rpm-devel包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有rpmgraph包
|
||||
LOG_INFO "检查yum源中是否有rpmgraph包"
|
||||
dnf list available rpmgraph >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "yum源中没有rpmgraph包"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中没有rpmgraph包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装rpm-devel和rpmgraph包
|
||||
LOG_INFO "开始安装rpm-devel和rpmgraph包"
|
||||
dnf install -y rpm-devel rpmgraph
|
||||
CHECK_RESULT $? 0 0 "安装rpm-devel和rpmgraph包失败"
|
||||
|
||||
# 设置安装标志
|
||||
NEED_CLEANUP=1
|
||||
else
|
||||
LOG_INFO "rpm-devel和rpmgraph包已安装"
|
||||
NEED_CLEANUP=0
|
||||
fi
|
||||
|
||||
# 测试rpmgraph命令的--nodigest参数是否存在
|
||||
LOG_INFO "测试rpmgraph命令的--nodigest参数是否存在"
|
||||
rpmgraph --help 2>&1 | grep -q -- "--nodigest"
|
||||
CHECK_RESULT $? 0 0 "rpmgraph命令不支持--nodigest参数"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "rpmgraph命令不支持--nodigest参数"
|
||||
# 如果之前安装了软件包,需要清理
|
||||
if [ $NEED_CLEANUP -eq 1 ]; then
|
||||
LOG_INFO "清理安装的软件包"
|
||||
dnf remove -y rpm-devel rpmgraph
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试使用--nodigest参数,不验证软件包摘要
|
||||
LOG_INFO "测试使用--nodigest参数,不验证软件包摘要"
|
||||
# 使用一个已安装的包进行测试
|
||||
TEST_PACKAGE="rpm"
|
||||
rpmgraph --nodigest $TEST_PACKAGE >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "使用--nodigest参数执行rpmgraph命令失败"
|
||||
|
||||
# 清理环境
|
||||
if [ $NEED_CLEANUP -eq 1 ]; then
|
||||
LOG_INFO "清理安装的软件包"
|
||||
dnf remove -y rpm-devel rpmgraph
|
||||
CHECK_RESULT $? 0 0 "卸载rpm-devel和rpmgraph包失败"
|
||||
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 : 2026-03-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用 --nolegacy 参数,不验证头部和负载签名
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义变量
|
||||
PKG_NAME="rpm-devel"
|
||||
CMD_NAME="rpmgraph"
|
||||
CMD_OPTION="--nolegacy"
|
||||
|
||||
# 步骤1: 检查yum源中是否存在rpm-devel软件包
|
||||
LOG_INFO "检查yum源中是否存在${PKG_NAME}软件包"
|
||||
if ! dnf list available ${PKG_NAME} &>/dev/null; then
|
||||
LOG_ERROR "yum源中不存在${PKG_NAME}软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤2: 检查rpmgraph命令是否支持--nolegacy参数
|
||||
LOG_INFO "检查${CMD_NAME}命令是否支持${CMD_OPTION}参数"
|
||||
if ! ${CMD_NAME} --help 2>&1 | grep -q "${CMD_OPTION}"; then
|
||||
LOG_ERROR "${CMD_NAME}命令不支持${CMD_OPTION}参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤3: 检查环境是否已安装rpm-devel软件包
|
||||
LOG_INFO "检查环境是否已安装${PKG_NAME}软件包"
|
||||
if rpm -q ${PKG_NAME} &>/dev/null; then
|
||||
LOG_INFO "${PKG_NAME}软件包已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "${PKG_NAME}软件包未安装,将在测试过程中安装"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
# 步骤4: 如果未安装,则安装rpm-devel软件包
|
||||
if [ "${INSTALLED_BEFORE}" = "false" ]; then
|
||||
LOG_INFO "安装${PKG_NAME}软件包"
|
||||
dnf install -y ${PKG_NAME}
|
||||
CHECK_RESULT $? 0 0 "安装${PKG_NAME}软件包失败"
|
||||
fi
|
||||
|
||||
# 步骤5: 执行rpmgraph --nolegacy命令测试
|
||||
LOG_INFO "执行${CMD_NAME} ${CMD_OPTION}命令测试"
|
||||
${CMD_NAME} ${CMD_OPTION}
|
||||
CHECK_RESULT $? 0 0 "执行${CMD_NAME} ${CMD_OPTION}命令失败"
|
||||
|
||||
# 步骤6: 如果之前未安装,则在测试结束后卸载rpm-devel软件包
|
||||
if [ "${INSTALLED_BEFORE}" = "false" ]; then
|
||||
LOG_INFO "卸载${PKG_NAME}软件包"
|
||||
dnf remove -y ${PKG_NAME}
|
||||
CHECK_RESULT $? 0 0 "卸载${PKG_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-03-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试同时使用 --nolegacy 和 --nodigest 参数,不验证签名和摘要
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装rpm-devel和rpmgraph
|
||||
LOG_INFO "检查是否已安装rpm-devel和rpmgraph"
|
||||
if rpm -q rpm-devel &>/dev/null && rpm -q rpmgraph &>/dev/null; then
|
||||
LOG_INFO "rpm-devel和rpmgraph已安装"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "rpm-devel和rpmgraph未安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在rpm-devel和rpmgraph
|
||||
LOG_INFO "检查yum源中是否存在rpm-devel和rpmgraph"
|
||||
if ! dnf list available rpm-devel &>/dev/null; then
|
||||
LOG_ERROR "yum源中不存在rpm-devel"
|
||||
exit 255
|
||||
fi
|
||||
if ! dnf list available rpmgraph &>/dev/null; then
|
||||
LOG_ERROR "yum源中不存在rpmgraph"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum源中存在rpm-devel和rpmgraph"
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "开始安装rpm-devel和rpmgraph"
|
||||
dnf install -y rpm-devel rpmgraph
|
||||
CHECK_RESULT $? 0 0 "安装rpm-devel和rpmgraph失败"
|
||||
LOG_INFO "安装rpm-devel和rpmgraph成功"
|
||||
fi
|
||||
|
||||
# 检查rpmgraph命令是否支持--nolegacy和--nodigest参数
|
||||
LOG_INFO "检查rpmgraph命令是否支持--nolegacy和--nodigest参数"
|
||||
if ! rpmgraph --help 2>&1 | grep -q -- "--nolegacy"; then
|
||||
LOG_ERROR "rpmgraph不支持--nolegacy参数"
|
||||
exit 255
|
||||
fi
|
||||
if ! rpmgraph --help 2>&1 | grep -q -- "--nodigest"; then
|
||||
LOG_ERROR "rpmgraph不支持--nodigest参数"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "rpmgraph支持--nolegacy和--nodigest参数"
|
||||
|
||||
# 测试同时使用--nolegacy和--nodigest参数
|
||||
LOG_INFO "测试同时使用--nolegacy和--nodigest参数,不验证签名和摘要"
|
||||
rpmgraph --nolegacy --nodigest
|
||||
CHECK_RESULT $? 0 0 "rpmgraph --nolegacy --nodigest执行失败"
|
||||
LOG_INFO "rpmgraph --nolegacy --nodigest执行成功"
|
||||
|
||||
# 清理环境:如果之前未安装,则卸载软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "清理环境:卸载rpm-devel和rpmgraph"
|
||||
dnf remove -y rpm-devel rpmgraph
|
||||
CHECK_RESULT $? 0 0 "卸载rpm-devel和rpmgraph失败"
|
||||
LOG_INFO "卸载rpm-devel和rpmgraph成功"
|
||||
else
|
||||
LOG_INFO "环境已安装rpm-devel和rpmgraph,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,162 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用 --nosignature 参数,不验证软件包签名
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试使用 --nosignature 参数,不验证软件包签名
|
||||
|
||||
LOG_INFO "开始测试rpmgraph命令的--nosignature参数"
|
||||
|
||||
# 定义需要测试的软件包
|
||||
PACKAGE_NAME="rpm-devel"
|
||||
COMMAND="rpmgraph"
|
||||
PARAM="--nosignature"
|
||||
|
||||
# 步骤1:检查yum源中是否存在需要测试的软件包
|
||||
LOG_INFO "步骤1:检查yum源中是否存在${PACKAGE_NAME}软件包"
|
||||
dnf list available ${PACKAGE_NAME} 2>/dev/null | grep -q ${PACKAGE_NAME}
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在${PACKAGE_NAME}软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum源中存在${PACKAGE_NAME}软件包"
|
||||
|
||||
# 步骤2:检查rpmgraph命令是否支持--nosignature参数
|
||||
LOG_INFO "步骤2:检查${COMMAND}命令是否支持${PARAM}参数"
|
||||
${COMMAND} --help 2>&1 | grep -q "${PARAM}"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "${COMMAND}命令不支持${PARAM}参数"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "${COMMAND}命令支持${PARAM}参数"
|
||||
|
||||
# 步骤3:检查测试环境是否已安装rpm-devel软件包
|
||||
LOG_INFO "步骤3:检查测试环境是否已安装${PACKAGE_NAME}软件包"
|
||||
rpm -q ${PACKAGE_NAME} >/dev/null 2>&1
|
||||
PACKAGE_INSTALLED=$?
|
||||
|
||||
# 记录初始安装状态
|
||||
if [ ${PACKAGE_INSTALLED} -eq 0 ]; then
|
||||
LOG_INFO "${PACKAGE_NAME}软件包已安装,测试结束后将保持安装状态"
|
||||
NEED_CLEANUP=0
|
||||
else
|
||||
LOG_INFO "${PACKAGE_NAME}软件包未安装,测试结束后将卸载"
|
||||
NEED_CLEANUP=1
|
||||
fi
|
||||
|
||||
# 步骤4:如果未安装,则安装rpm-devel软件包
|
||||
if [ ${PACKAGE_INSTALLED} -ne 0 ]; then
|
||||
LOG_INFO "步骤4:安装${PACKAGE_NAME}软件包"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}软件包失败"
|
||||
LOG_INFO "成功安装${PACKAGE_NAME}软件包"
|
||||
fi
|
||||
|
||||
# 步骤5:测试rpmgraph命令的--nosignature参数
|
||||
LOG_INFO "步骤5:测试${COMMAND}命令的${PARAM}参数"
|
||||
|
||||
# 创建一个临时的rpm包用于测试
|
||||
TEST_RPM="/tmp/test-package.rpm"
|
||||
LOG_INFO "创建测试用的rpm包"
|
||||
rpmbuild -bb --quiet --define "_topdir /tmp/rpmbuild" \
|
||||
--define "name test-package" \
|
||||
--define "version 1.0" \
|
||||
--define "release 1" \
|
||||
--define "summary Test package" /dev/null 2>/dev/null || true
|
||||
|
||||
# 查找生成的rpm包
|
||||
find /tmp/rpmbuild/RPMS -name "*.rpm" -type f 2>/dev/null | head -1 > ${TEST_RPM}
|
||||
if [ -s ${TEST_RPM} ]; then
|
||||
RPM_FILE=$(cat ${TEST_RPM})
|
||||
|
||||
# 测试不带--nosignature参数
|
||||
LOG_INFO "测试不带${PARAM}参数的rpmgraph命令"
|
||||
${COMMAND} ${RPM_FILE} >/dev/null 2>&1
|
||||
RESULT_WITHOUT=$?
|
||||
|
||||
# 测试带--nosignature参数
|
||||
LOG_INFO "测试带${PARAM}参数的rpmgraph命令"
|
||||
${COMMAND} ${PARAM} ${RPM_FILE} >/dev/null 2>&1
|
||||
RESULT_WITH=$?
|
||||
|
||||
# 清理临时rpm包
|
||||
if [ -f "${RPM_FILE}" ]; then
|
||||
rm -f "${RPM_FILE}"
|
||||
fi
|
||||
rm -rf /tmp/rpmbuild ${TEST_RPM} 2>/dev/null || true
|
||||
|
||||
# 检查两个命令的执行结果
|
||||
LOG_INFO "检查rpmgraph命令执行结果"
|
||||
if [ ${RESULT_WITHOUT} -eq 0 ] || [ ${RESULT_WITH} -eq 0 ]; then
|
||||
LOG_INFO "rpmgraph命令执行成功"
|
||||
CHECK_RESULT 0 0 0 "rpmgraph命令执行失败"
|
||||
else
|
||||
LOG_ERROR "rpmgraph命令执行失败"
|
||||
CHECK_RESULT 1 0 0 "rpmgraph命令执行失败"
|
||||
fi
|
||||
else
|
||||
LOG_INFO "使用已安装的rpm包测试rpmgraph命令"
|
||||
|
||||
# 获取一个已安装的rpm包进行测试
|
||||
INSTALLED_RPM=$(rpm -qa | head -1)
|
||||
if [ -n "${INSTALLED_RPM}" ]; then
|
||||
# 测试不带--nosignature参数
|
||||
${COMMAND} ${INSTALLED_RPM} >/dev/null 2>&1
|
||||
RESULT_WITHOUT=$?
|
||||
|
||||
# 测试带--nosignature参数
|
||||
${COMMAND} ${PARAM} ${INSTALLED_RPM} >/dev/null 2>&1
|
||||
RESULT_WITH=$?
|
||||
|
||||
LOG_INFO "检查rpmgraph命令执行结果"
|
||||
if [ ${RESULT_WITHOUT} -eq 0 ] || [ ${RESULT_WITH} -eq 0 ]; then
|
||||
LOG_INFO "rpmgraph命令执行成功"
|
||||
CHECK_RESULT 0 0 0 "rpmgraph命令执行失败"
|
||||
else
|
||||
LOG_ERROR "rpmgraph命令执行失败"
|
||||
CHECK_RESULT 1 0 0 "rpmgraph命令执行失败"
|
||||
fi
|
||||
else
|
||||
LOG_ERROR "没有找到可用于测试的rpm包"
|
||||
CHECK_RESULT 1 0 0 "没有找到可用于测试的rpm包"
|
||||
fi
|
||||
fi
|
||||
|
||||
# 步骤6:清理测试环境
|
||||
LOG_INFO "步骤6:清理测试环境"
|
||||
if [ ${NEED_CLEANUP} -eq 1 ]; then
|
||||
LOG_INFO "卸载${PACKAGE_NAME}软件包"
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "成功卸载${PACKAGE_NAME}软件包"
|
||||
else
|
||||
LOG_ERROR "卸载${PACKAGE_NAME}软件包失败"
|
||||
fi
|
||||
else
|
||||
LOG_INFO "保持${PACKAGE_NAME}软件包安装状态"
|
||||
fi
|
||||
|
||||
# 清理临时文件
|
||||
rm -rf /tmp/rpmbuild /tmp/test-package.rpm 2>/dev/null || true
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,72 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用 --querytags 参数,显示已知的查询标签
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装rpm-devel和rpmgraph软件包
|
||||
LOG_INFO "检查是否已安装rpm-devel和rpmgraph软件包"
|
||||
rpm -q rpm-devel rpmgraph > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "软件包已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "软件包未安装,将在测试过程中安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在rpm-devel和rpmgraph软件包
|
||||
LOG_INFO "检查yum源中是否存在rpm-devel和rpmgraph软件包"
|
||||
dnf list available rpm-devel rpmgraph > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中缺少rpm-devel或rpmgraph软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装rpm-devel和rpmgraph软件包"
|
||||
dnf install -y rpm-devel rpmgraph
|
||||
CHECK_RESULT $? 0 0 "安装rpm-devel和rpmgraph软件包失败"
|
||||
fi
|
||||
|
||||
# 检查rpmgraph命令是否支持--querytags参数
|
||||
LOG_INFO "检查rpmgraph命令是否支持--querytags参数"
|
||||
rpmgraph --help 2>&1 | grep -q "\-\-querytags"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "rpmgraph命令不支持--querytags参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试使用--querytags参数显示已知的查询标签
|
||||
LOG_INFO "测试使用--querytags参数显示已知的查询标签"
|
||||
rpmgraph --querytags
|
||||
CHECK_RESULT $? 0 0 "执行rpmgraph --querytags命令失败"
|
||||
|
||||
# 清理环境:如果测试前未安装软件包,则卸载
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载rpm-devel和rpmgraph软件包"
|
||||
dnf remove -y rpm-devel rpmgraph
|
||||
CHECK_RESULT $? 0 0 "卸载rpm-devel和rpmgraph软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,79 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用 --quiet 参数,提供更少的详细信息输出
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 rpm-devel 包的 rpmgraph --quiet 参数功能"
|
||||
LOG_INFO "检查系统中是否已安装 rpm-devel 包"
|
||||
if rpm -q rpm-devel > /dev/null 2>&1; then
|
||||
LOG_INFO "rpm-devel 包已安装,测试结束后将保持安装状态"
|
||||
ALREADY_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "rpm-devel 包未安装,将在测试过程中安装"
|
||||
ALREADY_INSTALLED=0
|
||||
fi
|
||||
|
||||
LOG_INFO "检查 yum 源中是否存在 rpm-devel 包"
|
||||
if ! dnf list available rpm-devel > /dev/null 2>&1; then
|
||||
LOG_ERROR "yum 源中未找到 rpm-devel 包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装 rpm-devel 包"
|
||||
dnf install -y rpm-devel
|
||||
CHECK_RESULT $? 0 0 "安装 rpm-devel 包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "检查 rpmgraph 命令是否支持 --quiet 参数"
|
||||
rpmgraph --help 2>&1 | grep -q -- "--quiet"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "rpmgraph 命令不支持 --quiet 参数"
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "清理环境:卸载 rpm-devel 包"
|
||||
dnf remove -y rpm-devel
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "测试 rpmgraph --quiet 参数功能"
|
||||
rpmgraph --quiet > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "rpmgraph --quiet 命令执行失败"
|
||||
|
||||
LOG_INFO "验证 --quiet 参数是否减少了输出信息"
|
||||
NORMAL_OUTPUT=$(rpmgraph 2>&1 | wc -l)
|
||||
QUIET_OUTPUT=$(rpmgraph --quiet 2>&1 | wc -l)
|
||||
if [ $QUIET_OUTPUT -ge $NORMAL_OUTPUT ]; then
|
||||
LOG_ERROR "--quiet 参数未减少输出信息"
|
||||
CHECK_RESULT 1 0 0 "--quiet 参数验证失败"
|
||||
else
|
||||
LOG_INFO "--quiet 参数成功减少了输出信息"
|
||||
fi
|
||||
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "清理环境:卸载 rpm-devel 包"
|
||||
dnf remove -y rpm-devel
|
||||
CHECK_RESULT $? 0 0 "卸载 rpm-devel 包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,84 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用 --rcfile 参数指定配置文件
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "测试开始:测试使用 --rcfile 参数指定配置文件"
|
||||
|
||||
LOG_INFO "步骤1:检查软件包 rpm-devel 和 rpmgraph 是否在 yum 源中"
|
||||
if ! dnf list available rpm-devel &> /dev/null; then
|
||||
LOG_ERROR "软件包 rpm-devel 不在 yum 源中"
|
||||
exit 255
|
||||
fi
|
||||
if ! dnf list available rpmgraph &> /dev/null; then
|
||||
LOG_ERROR "软件包 rpmgraph 不在 yum 源中"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "软件包 rpm-devel 和 rpmgraph 在 yum 源中"
|
||||
|
||||
LOG_INFO "步骤2:检查环境中是否已安装 rpm-devel 和 rpmgraph"
|
||||
INSTALLED=false
|
||||
if rpm -q rpm-devel &> /dev/null && rpm -q rpmgraph &> /dev/null; then
|
||||
LOG_INFO "软件包 rpm-devel 和 rpmgraph 已安装"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "软件包 rpm-devel 和 rpmgraph 未安装,开始安装"
|
||||
dnf install -y rpm-devel rpmgraph
|
||||
CHECK_RESULT $? 0 0 "安装 rpm-devel 和 rpmgraph 失败"
|
||||
LOG_INFO "安装 rpm-devel 和 rpmgraph 成功"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤3:检查 rpmgraph 命令是否支持 --rcfile 参数"
|
||||
if ! rpmgraph --help 2>&1 | grep -q -- "--rcfile"; then
|
||||
LOG_ERROR "rpmgraph 命令不支持 --rcfile 参数"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "rpmgraph 命令支持 --rcfile 参数"
|
||||
|
||||
LOG_INFO "步骤4:创建测试配置文件"
|
||||
TEST_RCFILE="/tmp/test_rpmgraph_rcfile"
|
||||
cat > "$TEST_RCFILE" << EOF
|
||||
# 测试配置文件
|
||||
# 这里可以添加配置内容
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "创建测试配置文件失败"
|
||||
|
||||
LOG_INFO "步骤5:使用 --rcfile 参数执行 rpmgraph 命令"
|
||||
rpmgraph --rcfile "$TEST_RCFILE" --help
|
||||
CHECK_RESULT $? 0 0 "使用 --rcfile 参数执行 rpmgraph 命令失败"
|
||||
|
||||
LOG_INFO "步骤6:清理测试配置文件"
|
||||
rm -f "$TEST_RCFILE"
|
||||
CHECK_RESULT $? 0 0 "删除测试配置文件失败"
|
||||
|
||||
LOG_INFO "步骤7:根据初始状态决定是否卸载软件包"
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "初始状态未安装,卸载软件包 rpm-devel 和 rpmgraph"
|
||||
dnf remove -y rpm-devel rpmgraph
|
||||
CHECK_RESULT $? 0 0 "卸载 rpm-devel 和 rpmgraph 失败"
|
||||
LOG_INFO "卸载 rpm-devel 和 rpmgraph 成功"
|
||||
else
|
||||
LOG_INFO "初始状态已安装,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试结束:测试使用 --rcfile 参数指定配置文件完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,84 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用 --showrc 参数,显示最终的rpmrc和宏配置
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试使用 --showrc 参数,显示最终的rpmrc和宏配置
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="rpm-devel"
|
||||
COMMAND_NAME="rpmgraph"
|
||||
PARAMETER="--showrc"
|
||||
|
||||
# 步骤1:检查yum源中是否有rpm-devel软件包
|
||||
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
|
||||
|
||||
# 步骤2:检查是否已经安装了rpm-devel软件包
|
||||
LOG_INFO "检查是否已经安装了${PACKAGE_NAME}软件包"
|
||||
rpm -q ${PACKAGE_NAME} > /dev/null 2>&1
|
||||
PACKAGE_INSTALLED=$?
|
||||
|
||||
# 步骤3:如果未安装,则安装软件包
|
||||
if [ ${PACKAGE_INSTALLED} -ne 0 ]; then
|
||||
LOG_INFO "安装${PACKAGE_NAME}软件包"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}失败"
|
||||
fi
|
||||
|
||||
# 步骤4:检查rpmgraph命令是否支持--showrc参数
|
||||
LOG_INFO "检查${COMMAND_NAME}命令是否支持${PARAMETER}参数"
|
||||
${COMMAND_NAME} ${PARAMETER} 2>&1 | grep -q "unknown option"
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "${COMMAND_NAME}命令不支持${PARAMETER}参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤5:执行rpmgraph --showrc命令
|
||||
LOG_INFO "执行${COMMAND_NAME} ${PARAMETER}命令"
|
||||
${COMMAND_NAME} ${PARAMETER} > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "执行${COMMAND_NAME} ${PARAMETER}命令失败"
|
||||
|
||||
# 步骤6:验证输出内容包含rpmrc和宏配置信息
|
||||
LOG_INFO "验证输出内容包含rpmrc和宏配置信息"
|
||||
${COMMAND_NAME} ${PARAMETER} | grep -q "rpmrc"
|
||||
CHECK_RESULT $? 0 0 "输出内容不包含rpmrc配置信息"
|
||||
|
||||
${COMMAND_NAME} ${PARAMETER} | grep -q "macros"
|
||||
CHECK_RESULT $? 0 0 "输出内容不包含宏配置信息"
|
||||
|
||||
# 步骤7:清理环境
|
||||
LOG_INFO "清理测试环境"
|
||||
if [ ${PACKAGE_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,76 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用 --undefine 参数取消宏定义
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试rpmgraph --undefine参数功能"
|
||||
LOG_INFO "步骤1: 检查系统是否已安装rpm-devel和rpmgraph软件包"
|
||||
if rpm -q rpm-devel rpmgraph >/dev/null 2>&1; then
|
||||
LOG_INFO "rpm-devel和rpmgraph已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "rpm-devel和rpmgraph未安装,将在测试过程中安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2: 检查yum源中是否存在rpm-devel和rpmgraph软件包"
|
||||
if ! dnf list available rpm-devel rpmgraph >/dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中不存在rpm-devel或rpmgraph软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤3: 安装rpm-devel和rpmgraph软件包"
|
||||
dnf install -y rpm-devel rpmgraph
|
||||
CHECK_RESULT $? 0 0 "安装rpm-devel和rpmgraph失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4: 检查rpmgraph命令是否支持--undefine参数"
|
||||
rpmgraph --help | grep -q "\-\-undefine"
|
||||
CHECK_RESULT $? 0 0 "rpmgraph命令不支持--undefine参数"
|
||||
if [ $? -ne 0 ]; then
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤5: 测试使用--undefine参数取消宏定义"
|
||||
TEST_RPM="/tmp/test_package.rpm"
|
||||
rpmbuild -bb --define "_topdir /tmp/rpmbuild" --define "test_macro test_value" /dev/null 2>/dev/null || true
|
||||
find /tmp/rpmbuild -name "*.rpm" -exec cp {} $TEST_RPM \; 2>/dev/null || true
|
||||
|
||||
if [ -f $TEST_RPM ]; then
|
||||
rpmgraph --undefine "test_macro" $TEST_RPM >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "使用--undefine参数执行rpmgraph失败"
|
||||
else
|
||||
LOG_INFO "未生成测试rpm包,跳过具体参数测试"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤6: 清理测试环境"
|
||||
rm -rf /tmp/rpmbuild $TEST_RPM 2>/dev/null
|
||||
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤7: 卸载测试安装的软件包"
|
||||
dnf remove -y rpm-devel rpmgraph
|
||||
CHECK_RESULT $? 0 0 "卸载rpm-devel和rpmgraph失败"
|
||||
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 : 2026-03-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用 -r 参数指定根目录
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 rpmgraph 命令的 -r 参数功能"
|
||||
|
||||
LOG_INFO "步骤1:检查系统中是否已安装 rpm-devel 和 rpmgraph 软件包"
|
||||
if rpm -q rpm-devel > /dev/null 2>&1 && rpm -q rpmgraph > /dev/null 2>&1; then
|
||||
LOG_INFO "软件包已安装,测试后保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "软件包未安装,将在测试过程中安装"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查 yum 源中是否存在 rpm-devel 和 rpmgraph 软件包"
|
||||
if ! dnf list available rpm-devel > /dev/null 2>&1; then
|
||||
LOG_ERROR "yum 源中未找到 rpm-devel 软件包"
|
||||
exit 255
|
||||
fi
|
||||
if ! dnf list available rpmgraph > /dev/null 2>&1; then
|
||||
LOG_ERROR "yum 源中未找到 rpmgraph 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "步骤3:安装 rpm-devel 和 rpmgraph 软件包"
|
||||
dnf install -y rpm-devel rpmgraph
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:检查 rpmgraph 命令是否支持 -r 参数"
|
||||
if ! rpmgraph --help 2>&1 | grep -q -- "-r"; then
|
||||
LOG_ERROR "rpmgraph 命令不支持 -r 参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤5:测试使用 -r 参数指定根目录"
|
||||
test_root="/tmp/test_rpmgraph_root"
|
||||
mkdir -p "$test_root"
|
||||
rpmgraph -r "$test_root" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "使用 -r 参数执行 rpmgraph 失败"
|
||||
|
||||
LOG_INFO "步骤6:清理测试环境"
|
||||
rm -rf "$test_root"
|
||||
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "步骤7:卸载测试安装的软件包"
|
||||
dnf remove -y rpm-devel rpmgraph
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
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 : 2026-03-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用 -D 参数定义宏
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:测试使用 -D 参数定义宏"
|
||||
LOG_INFO "步骤1:检查软件包 rpm-devel 和 rpmgraph 是否在 yum 源中"
|
||||
if ! dnf list available rpm-devel &>/dev/null; then
|
||||
LOG_ERROR "软件包 rpm-devel 不在 yum 源中"
|
||||
exit 255
|
||||
fi
|
||||
if ! dnf list available rpmgraph &>/dev/null; then
|
||||
LOG_ERROR "软件包 rpmgraph 不在 yum 源中"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "步骤2:检查当前环境是否已安装 rpm-devel 和 rpmgraph"
|
||||
if rpm -q rpm-devel &>/dev/null && rpm -q rpmgraph &>/dev/null; then
|
||||
LOG_INFO "软件包已安装,测试结束后保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "软件包未安装,开始安装"
|
||||
dnf install -y rpm-devel rpmgraph
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
INSTALLED=0
|
||||
fi
|
||||
LOG_INFO "步骤3:测试 rpmgraph 命令是否支持 -D 参数"
|
||||
if ! rpmgraph --help 2>&1 | grep -q -- "-D"; then
|
||||
LOG_ERROR "rpmgraph 命令不支持 -D 参数"
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "清理环境:卸载安装的软件包"
|
||||
dnf remove -y rpm-devel rpmgraph
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "步骤4:使用 -D 参数定义宏并执行 rpmgraph 命令"
|
||||
rpmgraph -D "_topdir /tmp/test" --spec /path/to/test.spec 2>&1
|
||||
CHECK_RESULT $? 0 0 "使用 -D 参数执行 rpmgraph 失败"
|
||||
LOG_INFO "步骤5:清理测试环境"
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载安装的软件包"
|
||||
dnf remove -y rpm-devel rpmgraph
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
else
|
||||
LOG_INFO "保持软件包安装状态"
|
||||
fi
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,67 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用 -E 参数打印宏扩展
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试rpmgraph命令的-E参数功能"
|
||||
|
||||
# 检查yum源中是否存在rpm-devel和rpmgraph软件包
|
||||
LOG_INFO "检查yum源中是否存在rpm-devel和rpmgraph软件包"
|
||||
dnf list available rpm-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中不存在rpm-devel软件包"
|
||||
|
||||
dnf list available rpmgraph > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中不存在rpmgraph软件包"
|
||||
|
||||
# 判断环境是否已经安装rpm-devel和rpmgraph
|
||||
LOG_INFO "判断环境是否已经安装rpm-devel和rpmgraph"
|
||||
if rpm -q rpm-devel > /dev/null 2>&1 && rpm -q rpmgraph > /dev/null 2>&1; then
|
||||
LOG_INFO "环境已安装rpm-devel和rpmgraph,测试结束后保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "环境未安装rpm-devel和rpmgraph,开始安装软件包"
|
||||
dnf install -y rpm-devel rpmgraph > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装rpm-devel和rpmgraph失败"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 测试rpmgraph命令的-E参数是否存在
|
||||
LOG_INFO "测试rpmgraph命令的-E参数是否存在"
|
||||
rpmgraph --help 2>&1 | grep -q "\-E"
|
||||
CHECK_RESULT $? 0 255 "rpmgraph命令不支持-E参数"
|
||||
|
||||
# 使用rpmgraph命令的-E参数打印宏扩展
|
||||
LOG_INFO "使用rpmgraph命令的-E参数打印宏扩展"
|
||||
rpmgraph -E > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "使用-E参数打印宏扩展失败"
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "清理环境:卸载测试安装的软件包"
|
||||
dnf remove -y rpm-devel rpmgraph > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载rpm-devel和rpmgraph失败"
|
||||
else
|
||||
LOG_INFO "环境保持原状,不卸载软件包"
|
||||
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