This commit is contained in:
2026-04-21 21:25:23 +08:00
167 changed files with 0 additions and 11825 deletions

View File

@@ -1,26 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/NetworkManager/NetworkManager-help",
"machine num": 1,
"cases": [
{
"name": "test_NetworkManager-help_function_install_package",
"desc": "测试NetworkManager-help软件包是否可以通过包管理器成功安装。"
},
{
"name": "test_NetworkManager-help_function_verify_installed",
"desc": "验证NetworkManager-help软件包在系统中是否已正确安装并检查其版本信息。"
},
{
"name": "test_NetworkManager-help_function_verify_version",
"desc": "验证已安装的NetworkManager-help软件包的版本信息是否正确。"
},
{
"name": "test_NetworkManager-help_function_install",
"desc": "测试通过包管理器如yum/dnf安装NetworkManager-help软件包的功能是否正常。"
},
{
"name": "test_NetworkManager-help_function_help_content",
"desc": "检查NetworkManager-help提供的帮助文档内容是否可正常访问例如使用man命令查看NetworkManager手册页。"
}
]
}

View File

@@ -1,26 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/adobe-mappings-pdf/adobe-mappings-pdf-help",
"machine num": 1,
"cases": [
{
"name": "test_adobe-mappings-pdf-help_function_install",
"desc": "测试软件包 adobe-mappings-pdf-help 能否正常安装。"
},
{
"name": "test_adobe-mappings-pdf-help_function_verify_installed",
"desc": "测试软件包 adobe-mappings-pdf-help 是否已正确安装并存在于系统中。"
},
{
"name": "test_adobe-mappings-pdf-help_function_uninstall",
"desc": "测试软件包 adobe-mappings-pdf-help 能否被正常卸载。"
},
{
"name": "test_adobe-mappings-pdf-help_function_list_files",
"desc": "测试软件包 adobe-mappings-pdf-help 安装后是否包含预期的文件。"
},
{
"name": "test_adobe-mappings-pdf-help_function_check_version",
"desc": "测试软件包 adobe-mappings-pdf-help 的版本信息是否正确。"
}
]
}

View File

@@ -1,14 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/jboss-logmanager/jboss-logmanager-javadoc",
"machine num": 1,
"cases": [
{
"name": "test_jboss-logmanager-javadoc_function_install",
"desc": "Test installation of jboss-logmanager-javadoc package"
},
{
"name": "test_jboss-logmanager-javadoc_function_docs",
"desc": "Test documentation availability"
}
]
}

View File

@@ -1,18 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/libXfixes/libXfixes",
"machine num": 1,
"cases": [
{
"name": "test_libXfixes_function_installation_check",
"desc": "检查libXfixes软件包是否已正确安装在系统上。"
},
{
"name": "test_libXfixes_function_version_query",
"desc": "查询并验证libXfixes库的版本信息。"
},
{
"name": "test_libXfixes_function_headers_exist",
"desc": "确认libXfixes开发头文件如X11/extensions/Xfixes.h存在于标准路径。"
}
]
}

View File

@@ -1,14 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/libappindicator/libappindicator-docs",
"machine num": 1,
"cases": [
{
"name": "test_libappindicator-docs_function_install",
"desc": "Test the installation of libappindicator-docs package"
},
{
"name": "test_libappindicator-docs_function_verify",
"desc": "Verify the basic functionality of libappindicator-docs"
}
]
}

View File

@@ -1,47 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/libnfs/libnfs",
"machine num": 1,
"cases": [
{
"name": "test_libnfs_install_package",
"desc": "测试libnfs软件包的安装功能验证安装过程是否正常完成。",
"machine num": 1
},
{
"name": "test_libnfs_uninstall_package",
"desc": "测试libnfs软件包的卸载功能验证卸载过程是否正常完成。",
"machine num": 1
},
{
"name": "test_libnfs_upgrade_package",
"desc": "测试libnfs软件包的升级功能验证升级过程是否正常完成。",
"machine num": 1
},
{
"name": "test_libnfs_rollback_package",
"desc": "测试libnfs软件包的回滚功能验证回滚过程是否正常完成。",
"machine num": 1
},
{
"name": "test_libnfs_service_log",
"desc": "测试libnfs服务的日志查看功能验证服务日志是否能够正常查看。",
"machine num": 1
},
{
"name": "test_libnfs_function_permission",
"desc": "测试libnfs的权限功能验证权限设置是否生效。"
},
{
"name": "test_libnfs_function_network",
"desc": "测试libnfs的网络功能验证网络连接是否稳定。"
},
{
"name": "test_libnfs_function_install",
"desc": "测试libnfs软件包的安装功能验证安装过程是否正常完成。"
},
{
"name": "test_libnfs_function_check_version",
"desc": "测试libnfs软件包的版本检查功能验证版本信息是否正确。"
}
]
}

View File

@@ -1,34 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/lodash/nodejs-lodash-trunc",
"machine num": 1,
"cases": [
{
"name": "test_nodejs-lodash-trunc_function_install",
"desc": "测试软件包 nodejs-lodash-trunc 能够通过包管理器成功安装"
},
{
"name": "test_nodejs-lodash-trunc_function_require",
"desc": "测试软件包 nodejs-lodash-trunc 能够在 Node.js 环境中被正确引入"
},
{
"name": "test_nodejs-lodash-trunc_function_basic",
"desc": "测试 lodash.truncate 函数的基本字符串截断功能"
},
{
"name": "test_nodejs-lodash-trunc_function_length",
"desc": "测试指定 length 参数时的字符串截断功能"
},
{
"name": "test_nodejs-lodash-trunc_function_omission",
"desc": "测试指定 omission 参数时的字符串截断功能"
},
{
"name": "test_nodejs-lodash-trunc_function_separator",
"desc": "测试指定 separator 参数时的字符串截断功能"
},
{
"name": "test_nodejs-lodash-trunc_function_uninstall",
"desc": "测试软件包 nodejs-lodash-trunc 能够通过包管理器成功卸载"
}
]
}

View File

@@ -34,25 +34,9 @@
"name": "test_lz4-help_function_uninstall",
"desc": "测试卸载lz4-help软件包的功能"
},
{
"name": "test_lz4-help_function_version",
"desc": "测试lz4-help版本查询功能"
},
{
"name": "test_lz4-help_function_stdout_decompress",
"desc": "测试lz4-help标准输出解压功能"
},
{
"name": "test_lz4-help_function_benchmark",
"desc": "测试lz4-help基准测试功能"
},
{
"name": "test_lz4-help_function_help",
"desc": "测试lz4-help帮助信息功能"
},
{
"name": "test_lz4-help_function_list_formats",
"desc": "测试lz4-help列出支持格式"
}
]
}

View File

@@ -1,27 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/lzma-java/lzma-java-javadoc",
"machine num": 1,
"cases": [
{
"name": "test_lzma-java-javadoc_install",
"desc": "测试lzma-java-javadoc软件包的安装功能",
"machine num": 1
},
{
"name": "test_lzma-java-javadoc_function_decompress",
"desc": "测试lzma-java-javadoc软件包的解压功能"
},
{
"name": "test_lzma-java-javadoc_function_install_check",
"desc": "检查lzma-java-javadoc软件包是否已正确安装"
},
{
"name": "test_lzma-java-javadoc_function_uninstall",
"desc": "测试lzma-java-javadoc软件包的卸载功能"
},
{
"name": "test_lzma-java-javadoc_function_verify_doc",
"desc": "验证安装的javadoc文档内容完整性"
}
]
}

View File

@@ -1,14 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/maven/maven-javadoc",
"machine num": 1,
"cases": [
{
"name": "test_maven-javadoc_function_generate",
"desc": "Test the generation of Javadoc documentation"
},
{
"name": "test_maven-javadoc_function_validate",
"desc": "Test the validation of Javadoc configuration"
}
]
}

View File

@@ -6,18 +6,6 @@
"name": "test_openjfx-devel_function_init",
"desc": "Test initialization of openjfx-devel package"
},
{
"name": "test_openjfx-devel_function_ui",
"desc": "Test UI components rendering"
},
{
"name": "test_openjfx-devel_function_event",
"desc": "Test event handling functionality"
},
{
"name": "test_openjfx-devel_function_media",
"desc": "Test media playback support"
},
{
"name": "test_openjfx-devel_function_web",
"desc": "Test web view rendering"

View File

@@ -1,26 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/potrace/potrace-help",
"machine num": 1,
"cases": [
{
"name": "test_potrace-help_function_install",
"desc": "Test package installation"
},
{
"name": "test_potrace-help_function_uninstall",
"desc": "Test package removal"
},
{
"name": "test_potrace-help_function_version",
"desc": "Test version info display"
},
{
"name": "test_potrace-help_function_basic_usage",
"desc": "Test basic command usage"
},
{
"name": "test_potrace-help_function_help_output",
"desc": "Test help info output"
}
]
}

View File

@@ -21,51 +21,6 @@
"name": "test_python3-editables_downgrade",
"desc": "测试python3-editables软件包的降级功能验证降级过程是否成功",
"machine num": 1
},
{
"name": "test_python3-editables_rollback",
"desc": "测试python3-editables软件包的回滚功能验证回滚过程是否成功",
"machine num": 1
},
{
"name": "test_python3-editables_function_import",
"desc": "测试python3-editables软件包的导入功能验证是否能正确导入模块"
},
{
"name": "test_python3-editables_function_install",
"desc": "测试python3-editables软件包的安装功能验证安装过程是否成功"
},
{
"name": "test_python3-editables_function_uninstall",
"desc": "测试python3-editables软件包的卸载功能验证卸载过程是否成功"
},
{
"name": "test_python3-editables_function_upgrade",
"desc": "测试python3-editables软件包的升级功能验证升级过程是否成功"
},
{
"name": "test_python3-editables_function_downgrade",
"desc": "测试python3-editables软件包的降级功能验证降级过程是否成功"
},
{
"name": "test_python3-editables_function_rollback",
"desc": "测试python3-editables软件包的回滚功能验证回滚过程是否成功"
},
{
"name": "test_python3-editables_function_create_project",
"desc": "测试使用editables创建可编辑项目链接"
},
{
"name": "test_python3-editables_function_verify_editable",
"desc": "验证通过editables安装的项目是否处于可编辑模式"
},
{
"name": "test_python3-editables_function_pip_install_editable",
"desc": "测试使用pip通过editables以可编辑模式安装包"
},
{
"name": "test_python3-editables_function_check_version",
"desc": "检查已安装的python3-editables版本信息"
}
]
}

View File

@@ -10,26 +10,6 @@
{
"name": "test_python3-html5lib_function_install",
"desc": "测试python3-html5lib软件包的安装功能验证是否可以通过包管理器成功安装"
},
{
"name": "test_python3-html5lib_function_import",
"desc": "测试python3-html5lib核心模块的导入功能验证导入是否成功且无错误"
},
{
"name": "test_python3-html5lib_function_parse",
"desc": "测试html5lib的HTML解析功能验证其能否正确解析一个简单的HTML片段"
},
{
"name": "test_python3-html5lib_function_treebuild",
"desc": "测试html5lib的树构建功能验证解析后能否生成正确的文档树结构"
},
{
"name": "test_python3-html5lib_function_serialize",
"desc": "测试html5lib的序列化功能验证能否将文档树正确序列化为HTML字符串"
},
{
"name": "test_python3-html5lib_function_uninstall",
"desc": "测试python3-html5lib软件包的卸载功能验证是否可以干净地卸载该软件包"
}
]
}

View File

@@ -1,14 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/qt6-qtscxml/qt6-qtscxml",
"machine num": 1,
"cases": [
{
"name": "test_qt6-qtscxml_function_package_install",
"desc": "测试qt6-qtscxml软件包是否能被正确安装"
},
{
"name": "test_qt6-qtscxml_function_package_remove",
"desc": "测试qt6-qtscxml软件包是否能被正确卸载"
}
]
}

View File

@@ -1,30 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/sane-backends/sane-backends-help",
"machine num": 1,
"cases": [
{
"name": "test_sane-backends-help_function_install",
"desc": "Test the installation of sane-backends-help package"
},
{
"name": "test_sane-backends-help_function_verify_install",
"desc": "Verify sane-backends-help is installed"
},
{
"name": "test_sane-backends-help_function_query_files",
"desc": "Query files provided by the package"
},
{
"name": "test_sane-backends-help_function_check_content",
"desc": "Check help content availability"
},
{
"name": "test_sane-backends-help_function_upgrade",
"desc": "Test package upgrade"
},
{
"name": "test_sane-backends-help_function_remove",
"desc": "Test package removal"
}
]
}

View File

@@ -9,22 +9,6 @@
{
"name": "test_simple-javadoc_function_uninstall",
"desc": "测试simple-javadoc软件包是否能够被成功卸载。"
},
{
"name": "test_simple-javadoc_function_generate",
"desc": "测试simple-javadoc是否能够成功生成Java源代码的文档。"
},
{
"name": "test_simple-javadoc_function_config",
"desc": "测试simple-javadoc能否通过配置文件定制生成的文档格式。"
},
{
"name": "test_simple-javadoc_function_version",
"desc": "测试simple-javadoc能否正确显示其版本信息。"
},
{
"name": "test_simple-javadoc_function_help",
"desc": "测试simple-javadoc能否正确显示命令行帮助信息。"
}
]
}

View File

@@ -10,10 +10,6 @@
"name": "test_systemd-resolved_resolvectl_service",
"desc": "测试 resolvectl service 命令解析服务记录"
},
{
"name": "test_systemd-resolved_resolvectl_status",
"desc": "测试 resolvectl status 命令显示链接和服务器状态"
},
{
"name": "test_systemd-resolved_resolvectl_statistics",
"desc": "测试 resolvectl statistics 命令显示解析器统计信息"
@@ -22,18 +18,6 @@
"name": "test_systemd-resolved_resolvectl_flush-caches",
"desc": "测试 resolvectl flush-caches 命令刷新本地DNS缓存"
},
{
"name": "test_systemd-resolved_resolvectl_show-cache",
"desc": "测试 resolvectl show-cache 命令显示缓存内容"
},
{
"name": "test_systemd-resolved_systemd-resolve_address",
"desc": "解析IPv4或IPv6地址"
},
{
"name": "test_systemd-resolved_systemd-resolve_statistics",
"desc": "显示解析器统计信息"
},
{
"name": "test_systemd-resolved_resolvectl_h",
"desc": "查询 resolvectl 命令的帮助信息"
@@ -42,14 +26,6 @@
"name": "test_systemd-resolved_resolvectl_version",
"desc": "查询 resolvectl 命令的版本信息"
},
{
"name": "test_systemd-resolved_resolvectl_no-pager",
"desc": "使用 --no-pager 选项在输出时不使用分页工具"
},
{
"name": "test_systemd-resolved_resolvectl_4",
"desc": "使用 -4 选项解析 IPv4 地址"
},
{
"name": "test_systemd-resolved_resolvectl_trust-anchor",
"desc": "使用 --trust-anchor 选项控制是否允许来自本地信任锚的响应"

View File

@@ -1,26 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-e/texlive-compactbib",
"machine num": 1,
"cases": [
{
"name": "test_texlive-compactbib_function_bibtex",
"desc": "Test bibtex functionality"
},
{
"name": "test_texlive-compactbib_function_install",
"desc": "Test installation of texlive-compactbib package"
},
{
"name": "test_texlive-compactbib_function_uninstall",
"desc": "Test uninstallation of texlive-compactbib package"
},
{
"name": "test_texlive-compactbib_function_check_installed",
"desc": "Test if texlive-compactbib is installed"
},
{
"name": "test_texlive-compactbib_function_basic_usage",
"desc": "Test basic usage with compact bibliography style"
}
]
}

View File

@@ -15,10 +15,6 @@
"name": "test_texlive-contour_function_remove",
"desc": "测试 texlive-contour 软件包的卸载功能,验证其能否被完全卸载且不残留核心文件。"
},
{
"name": "test_texlive-contour_function_usage",
"desc": "测试 texlive-contour 软件包的基本使用功能,验证其 LaTeX 宏包能否在简单文档中正确加载并生成轮廓文字效果。"
},
{
"name": "test_texlive-contour_function_version",
"desc": "测试 texlive-contour 软件包的版本查询功能,验证系统能正确识别并报告已安装的软件包版本。"

View File

@@ -9,18 +9,6 @@
{
"name": "test_texlive-csquotes-de-doc_function_uninstall",
"desc": "Test package uninstallation"
},
{
"name": "test_texlive-csquotes-de-doc_function_doc_exists",
"desc": "Verify documentation files exist"
},
{
"name": "test_texlive-csquotes-de-doc_function_doc_content",
"desc": "Check documentation for key content"
},
{
"name": "test_texlive-csquotes-de-doc_function_version",
"desc": "Verify package version info"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-h/texlive-ethiop",
"machine num": 1,
"cases": [
{
"name": "test_texlive-ethiop_function_font",
"desc": "Test font rendering in ethiopic script"
}
]
}

View File

@@ -1,22 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-l/texlive-hyphen-spanish-doc",
"machine num": 1,
"cases": [
{
"name": "test_texlive-hyphen-spanish-doc_function_install",
"desc": "Test package installation"
},
{
"name": "test_texlive-hyphen-spanish-doc_function_remove",
"desc": "Test package removal"
},
{
"name": "test_texlive-hyphen-spanish-doc_function_check_version",
"desc": "Test package version check"
},
{
"name": "test_texlive-hyphen-spanish-doc_function_check_files",
"desc": "Test documentation files existence"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-l/texlive-hyphen-ukrainian",
"machine num": 1,
"cases": [
{
"name": "test_texlive-hyphen-ukrainian_function_hyphenation",
"desc": "Test Ukrainian hyphenation rules"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-n/texlive-libertinus-doc",
"machine num": 1,
"cases": [
{
"name": "test_texlive-libertinus-doc_function_install",
"desc": "Test installation of texlive-libertinus-doc"
}
]
}

View File

@@ -1,16 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-n/texlive-listofsymbols-doc",
"machine num": 1,
"cases": [
{
"name": "test_texlive-listofsymbols-doc_install",
"desc": "测试 texlive-listofsymbols-doc 软件包的安装功能,确保能够正确安装到系统中。",
"machine num": 1
},
{
"name": "test_texlive-listofsymbols-doc_uninstall",
"desc": "测试 texlive-listofsymbols-doc 软件包的卸载功能,确保能够正确从系统中卸载。",
"machine num": 1
}
]
}

View File

@@ -1,26 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-p/texlive-newtxtt",
"machine num": 1,
"cases": [
{
"name": "test_texlive-newtxtt_function_install",
"desc": "Test package installation"
},
{
"name": "test_texlive-newtxtt_function_remove",
"desc": "Test package removal"
},
{
"name": "test_texlive-newtxtt_function_font_usage",
"desc": "Test font availability in LaTeX"
},
{
"name": "test_texlive-newtxtt_function_font_list",
"desc": "Test font files existence"
},
{
"name": "test_texlive-newtxtt_function_doc_access",
"desc": "Test documentation accessibility"
}
]
}

View File

@@ -1,26 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-q/texlive-ordinalpt-doc",
"machine num": 1,
"cases": [
{
"name": "test_texlive-ordinalpt-doc_function_install",
"desc": "测试 texlive-ordinalpt-doc 软件包的安装功能是否正常。"
},
{
"name": "test_texlive-ordinalpt-doc_function_check_installed",
"desc": "测试检查 texlive-ordinalpt-doc 软件包是否已正确安装。"
},
{
"name": "test_texlive-ordinalpt-doc_function_uninstall",
"desc": "测试 texlive-ordinalpt-doc 软件包的卸载功能是否正常。"
},
{
"name": "test_texlive-ordinalpt-doc_function_doc_existence",
"desc": "测试 texlive-ordinalpt-doc 软件包的文档文件是否存在。"
},
{
"name": "test_texlive-ordinalpt-doc_function_doc_content",
"desc": "测试 texlive-ordinalpt-doc 文档内容的关键部分是否可访问。"
}
]
}

View File

@@ -1,30 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-r/texlive-placeat",
"machine num": 1,
"cases": [
{
"name": "test_texlive-placeat_function_install",
"desc": "Test package installation"
},
{
"name": "test_texlive-placeat_function_uninstall",
"desc": "Test package removal"
},
{
"name": "test_texlive-placeat_function_basic",
"desc": "Test basic command usage"
},
{
"name": "test_texlive-placeat_function_check_installed",
"desc": "Verify texlive-placeat package is installed"
},
{
"name": "test_texlive-placeat_function_latex_usage",
"desc": "Test basic LaTeX command usage with placeat"
},
{
"name": "test_texlive-placeat_function_doc_available",
"desc": "Check if package documentation is available"
}
]
}

View File

@@ -1,22 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-s/texlive-pst-thick",
"machine num": 1,
"cases": [
{
"name": "test_texlive-pst-thick_function_install",
"desc": "Test installation of texlive-pst-thick package"
},
{
"name": "test_texlive-pst-thick_function_remove",
"desc": "Test removal of texlive-pst-thick package"
},
{
"name": "test_texlive-pst-thick_function_check",
"desc": "Test if texlive-pst-thick package is available"
},
{
"name": "test_texlive-pst-thick_function_basic",
"desc": "Test basic PSTricks thick lines usage"
}
]
}

View File

@@ -1,22 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-t/texlive-rectopma-doc",
"machine num": 1,
"cases": [
{
"name": "test_texlive-rectopma-doc_function_doc",
"desc": "Verify the documentation files are correctly installed"
},
{
"name": "test_texlive-rectopma-doc_function_install",
"desc": "Verify the texlive-rectopma-doc package can be successfully installed via the package manager"
},
{
"name": "test_texlive-rectopma-doc_function_verify_install",
"desc": "Verify that the texlive-rectopma-doc package is correctly installed and its files are present in the system"
},
{
"name": "test_texlive-rectopma-doc_function_remove",
"desc": "Verify the texlive-rectopma-doc package can be completely and cleanly removed via the package manager"
}
]
}

View File

@@ -1,22 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-u/texlive-selnolig-doc",
"machine num": 1,
"cases": [
{
"name": "test_texlive-selnolig-doc_function_install",
"desc": "Verify package installation"
},
{
"name": "test_texlive-selnolig-doc_function_uninstall",
"desc": "Verify package uninstallation"
},
{
"name": "test_texlive-selnolig-doc_function_check_doc",
"desc": "Check documentation files existence"
},
{
"name": "test_texlive-selnolig-doc_function_usage_info",
"desc": "Verify package provides usage info"
}
]
}

View File

@@ -7,21 +7,9 @@
"desc": "测试 texlive-texmate 软件包提供的服务的日志查看功能,验证是否能够正确查看服务的日志信息。",
"machine num": 1
},
{
"name": "test_texlive-texmate_function_install",
"desc": "测试 texlive-texmate 软件包的安装功能,验证是否能够成功安装软件包。"
},
{
"name": "test_texlive-texmate_function_check",
"desc": "测试 texlive-texmate 软件包的安装状态检查功能,验证系统是否已正确安装该软件包。"
},
{
"name": "test_texlive-texmate_function_basic_cmd",
"desc": "测试 texlive-texmate 软件包提供的基本命令功能,验证核心命令是否能正常运行。"
},
{
"name": "test_texlive-texmate_function_uninstall",
"desc": "测试 texlive-texmate 软件包的卸载功能,验证是否能够完全卸载软件包及其相关文件。"
}
]
}

View File

@@ -5,22 +5,6 @@
{
"name": "test_uwsgi-plugin-psgi_function_load",
"desc": "Test loading the PSGI plugin"
},
{
"name": "test_uwsgi-plugin-psgi_function_install",
"desc": "Test installation of the uwsgi-plugin-psgi package"
},
{
"name": "test_uwsgi-plugin-psgi_function_verify",
"desc": "Test verification of the plugin installation"
},
{
"name": "test_uwsgi-plugin-psgi_function_basic",
"desc": "Test basic PSGI application serving"
},
{
"name": "test_uwsgi-plugin-psgi_function_uninstall",
"desc": "Test uninstallation of the uwsgi-plugin-psgi package"
}
]
}

View File

@@ -1,80 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-08
# @License : Mulan PSL v2
# @Desc : 检查NetworkManager-help提供的帮助文档内容是否可正常访问例如使用man命令查看NetworkManager手册页。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试NetworkManager-help的帮助文档内容"
LOG_INFO "检查yum源中是否有NetworkManager-help软件包"
dnf list NetworkManager-help 2>/dev/null | grep -q "NetworkManager-help"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到NetworkManager-help软件包"
exit 255
fi
LOG_INFO "检查系统是否已安装NetworkManager-help"
rpm -q NetworkManager-help > /dev/null 2>&1
INSTALLED=$?
if [ $INSTALLED -ne 0 ]; then
LOG_INFO "未安装NetworkManager-help开始安装"
dnf install -y NetworkManager-help
CHECK_RESULT $? 0 0 "安装NetworkManager-help失败"
INSTALLED=1
else
LOG_INFO "NetworkManager-help已安装"
INSTALLED=0
fi
LOG_INFO "测试使用man命令查看NetworkManager手册页"
man NetworkManager > /dev/null 2>&1
CHECK_RESULT $? 0 0 "使用man命令查看NetworkManager手册页失败"
LOG_INFO "测试使用NetworkManager --help命令"
NetworkManager --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "使用NetworkManager --help命令失败"
LOG_INFO "检查NetworkManager-help提供的其他帮助命令"
LOG_INFO "测试nmcli --help命令"
nmcli --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "使用nmcli --help命令失败"
LOG_INFO "测试nmtui --help命令如果可用"
if command -v nmtui &> /dev/null; then
nmtui --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "使用nmtui --help命令失败"
else
LOG_INFO "nmtui命令不存在跳过测试"
fi
if [ $INSTALLED -eq 1 ]; then
LOG_INFO "清理环境卸载测试安装的NetworkManager-help"
dnf remove -y NetworkManager-help
CHECK_RESULT $? 0 0 "卸载NetworkManager-help失败"
else
LOG_INFO "保持原有安装状态,无需卸载"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,81 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-08
# @License : Mulan PSL v2
# @Desc : 测试通过包管理器如yum/dnf安装NetworkManager-help软件包的功能是否正常。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试NetworkManager-help软件包安装功能"
# 检查是否已安装NetworkManager-help
LOG_INFO "步骤1检查NetworkManager-help是否已安装"
if rpm -q NetworkManager-help &> /dev/null; then
LOG_INFO "NetworkManager-help已安装标记为需要保持安装状态"
already_installed=1
else
LOG_INFO "NetworkManager-help未安装"
already_installed=0
fi
# 检查yum源中是否有NetworkManager-help软件包
LOG_INFO "步骤2检查yum源中是否存在NetworkManager-help软件包"
if ! dnf list available NetworkManager-help &> /dev/null; then
LOG_ERROR "yum源中未找到NetworkManager-help软件包"
exit 255
fi
LOG_INFO "yum源中存在NetworkManager-help软件包"
# 如果未安装,则执行安装
if [ $already_installed -eq 0 ]; then
LOG_INFO "步骤3安装NetworkManager-help软件包"
dnf install -y NetworkManager-help
CHECK_RESULT $? 0 0 "安装NetworkManager-help失败"
LOG_INFO "NetworkManager-help安装成功"
fi
# 验证安装结果
LOG_INFO "步骤4验证NetworkManager-help是否成功安装"
rpm -q NetworkManager-help
CHECK_RESULT $? 0 0 "验证NetworkManager-help安装失败"
LOG_INFO "步骤5测试NetworkManager-help基本功能"
# 这里可以添加一些基本功能测试,例如检查帮助文档是否存在
# 示例:检查是否有帮助手册页
if man -w NetworkManager &> /dev/null; then
LOG_INFO "NetworkManager帮助文档存在"
else
LOG_ERROR "NetworkManager帮助文档不存在"
exit 1
fi
# 环境清理:如果测试前未安装,则卸载软件包
if [ $already_installed -eq 0 ]; then
LOG_INFO "步骤6清理环境卸载NetworkManager-help"
dnf remove -y NetworkManager-help
CHECK_RESULT $? 0 0 "卸载NetworkManager-help失败"
LOG_INFO "NetworkManager-help卸载成功"
else
LOG_INFO "步骤6测试前已安装NetworkManager-help保持安装状态无需卸载"
fi
LOG_INFO "NetworkManager-help软件包安装功能测试完成"
}
main "$@"

View File

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

View File

@@ -1,86 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-01-28
# @License : Mulan PSL v2
# @Desc : 验证NetworkManager-help软件包在系统中是否已正确安装并检查其版本信息。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义软件包名称
PACKAGE_NAME="NetworkManager-help"
# 步骤1检查当前环境是否已安装NetworkManager-help
LOG_INFO "步骤1检查当前环境是否已安装${PACKAGE_NAME}"
rpm -q ${PACKAGE_NAME} > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "当前环境已安装${PACKAGE_NAME},记录当前安装状态"
INSTALLED_BEFORE="yes"
else
LOG_INFO "当前环境未安装${PACKAGE_NAME}"
INSTALLED_BEFORE="no"
fi
# 步骤2检查yum源中是否存在NetworkManager-help软件包
LOG_INFO "步骤2检查yum源中是否存在${PACKAGE_NAME}软件包"
dnf list available ${PACKAGE_NAME} > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在${PACKAGE_NAME}软件包"
exit 255
fi
# 步骤3如果环境未安装则安装NetworkManager-help
if [ "${INSTALLED_BEFORE}" = "no" ]; then
LOG_INFO "步骤3安装${PACKAGE_NAME}软件包"
dnf install -y ${PACKAGE_NAME} > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}失败"
LOG_INFO "成功安装${PACKAGE_NAME}"
fi
# 步骤4验证NetworkManager-help软件包是否已正确安装
LOG_INFO "步骤4验证${PACKAGE_NAME}软件包是否已正确安装"
rpm -q ${PACKAGE_NAME} > /dev/null 2>&1
CHECK_RESULT $? 0 0 "${PACKAGE_NAME}软件包未正确安装"
# 步骤5检查NetworkManager-help的版本信息
LOG_INFO "步骤5检查${PACKAGE_NAME}的版本信息"
VERSION_INFO=$(rpm -q ${PACKAGE_NAME} --qf "%{VERSION}-%{RELEASE}")
if [ -z "${VERSION_INFO}" ]; then
LOG_ERROR "获取${PACKAGE_NAME}版本信息失败"
exit 1
fi
LOG_INFO "${PACKAGE_NAME}版本信息:${VERSION_INFO}"
# 步骤6验证NetworkManager-help提供的帮助文档是否存在
LOG_INFO "步骤6验证${PACKAGE_NAME}提供的帮助文档是否存在"
rpm -ql ${PACKAGE_NAME} | grep -E "\.(html|txt|gz)$" > /dev/null 2>&1
CHECK_RESULT $? 0 0 "${PACKAGE_NAME}未提供有效的帮助文档"
# 步骤7清理环境恢复到之前的状态
LOG_INFO "步骤7清理环境恢复到之前的状态"
if [ "${INSTALLED_BEFORE}" = "no" ]; then
LOG_INFO "卸载测试过程中安装的${PACKAGE_NAME}软件包"
dnf remove -y ${PACKAGE_NAME} > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}失败"
LOG_INFO "成功卸载${PACKAGE_NAME},环境已恢复"
else
LOG_INFO "环境保持原有安装状态,无需清理"
fi
LOG_INFO "测试完成:${PACKAGE_NAME}软件包安装和版本验证成功"
}
main "$@"

View File

@@ -1,62 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-01-31
# @License : Mulan PSL v2
# @Desc : 验证已安装的NetworkManager-help软件包的版本信息是否正确。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试验证已安装的NetworkManager-help软件包的版本信息是否正确。"
# 检查是否已安装NetworkManager-help
LOG_INFO "检查NetworkManager-help是否已安装。"
if rpm -q NetworkManager-help &> /dev/null; then
LOG_INFO "NetworkManager-help已安装标记为已安装状态。"
INSTALLED="true"
else
LOG_INFO "NetworkManager-help未安装标记为未安装状态。"
INSTALLED="false"
fi
# 如果未安装则尝试从yum源安装
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "检查yum源中是否有NetworkManager-help软件包。"
if ! dnf list available NetworkManager-help &> /dev/null; then
LOG_ERROR "yum源中未找到NetworkManager-help软件包退出测试。"
exit 255
fi
LOG_INFO "开始安装NetworkManager-help。"
dnf install -y NetworkManager-help
CHECK_RESULT $? 0 0 "安装NetworkManager-help失败。"
fi
# 验证软件包版本信息
LOG_INFO "验证NetworkManager-help软件包的版本信息。"
rpm -qi NetworkManager-help | grep -E "Version|Release"
CHECK_RESULT $? 0 0 "获取NetworkManager-help版本信息失败。"
# 如果需要,清理安装的软件包
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "清理环境卸载NetworkManager-help。"
dnf remove -y NetworkManager-help
CHECK_RESULT $? 0 0 "卸载NetworkManager-help失败。"
fi
LOG_INFO "测试完成NetworkManager-help软件包的版本信息验证成功。"
}
main "$@"

View File

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

View File

@@ -1,81 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-28
# @License : Mulan PSL v2
# @Desc : 测试软件包 adobe-mappings-pdf-help 安装后是否包含预期的文件。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装adobe-mappings-pdf-help
LOG_INFO "检查是否已安装adobe-mappings-pdf-help软件包"
rpm -q adobe-mappings-pdf-help > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "adobe-mappings-pdf-help已安装保持安装状态"
INSTALLED=true
else
LOG_INFO "adobe-mappings-pdf-help未安装将在测试过程中安装"
INSTALLED=false
fi
# 检查yum源中是否存在该软件包
LOG_INFO "检查yum源中是否存在adobe-mappings-pdf-help软件包"
dnf list available adobe-mappings-pdf-help > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到adobe-mappings-pdf-help软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装adobe-mappings-pdf-help软件包"
dnf install -y adobe-mappings-pdf-help
CHECK_RESULT $? 0 0 "安装adobe-mappings-pdf-help失败"
fi
# 测试步骤:检查软件包安装后是否包含预期的文件
LOG_INFO "测试软件包安装后是否包含预期的文件"
# 这里假设预期的文件列表,实际应根据软件包内容调整
EXPECTED_FILES=(
"/usr/share/adobe-mappings-pdf-help/README"
"/usr/share/adobe-mappings-pdf-help/help.pdf"
)
for file in "${EXPECTED_FILES[@]}"; do
if [ -f "$file" ]; then
LOG_INFO "文件 $file 存在"
else
LOG_ERROR "文件 $file 不存在"
# 如果未安装,则卸载软件包后退出
if [ "$INSTALLED" = false ]; then
LOG_INFO "清理环境卸载adobe-mappings-pdf-help软件包"
dnf remove -y adobe-mappings-pdf-help
fi
exit 1
fi
done
# 如果测试过程中安装了软件包,则在测试结束后卸载
if [ "$INSTALLED" = false ]; then
LOG_INFO "清理环境卸载adobe-mappings-pdf-help软件包"
dnf remove -y adobe-mappings-pdf-help
CHECK_RESULT $? 0 0 "卸载adobe-mappings-pdf-help失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,81 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-28
# @License : Mulan PSL v2
# @Desc : 测试软件包 adobe-mappings-pdf-help 能否被正常卸载。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
# 定义软件包名称
PACKAGE_NAME="adobe-mappings-pdf-help"
# 步骤1检查yum源中是否存在指定的软件包
LOG_INFO "步骤1检查yum源中是否存在软件包 ${PACKAGE_NAME}"
dnf list available ${PACKAGE_NAME} &> /dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在软件包 ${PACKAGE_NAME}"
exit 255
fi
# 步骤2检查当前环境是否已安装该软件包
LOG_INFO "步骤2检查当前环境是否已安装软件包 ${PACKAGE_NAME}"
if rpm -q ${PACKAGE_NAME} &> /dev/null; then
LOG_INFO "软件包 ${PACKAGE_NAME} 已安装,脚本结束后将保持安装状态"
ALREADY_INSTALLED=true
else
LOG_INFO "软件包 ${PACKAGE_NAME} 未安装,将进行安装测试"
ALREADY_INSTALLED=false
fi
# 步骤3如果未安装则安装软件包
if [ "${ALREADY_INSTALLED}" = "false" ]; then
LOG_INFO "步骤3安装软件包 ${PACKAGE_NAME}"
dnf install -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "安装软件包 ${PACKAGE_NAME} 失败"
fi
# 步骤4测试卸载软件包
LOG_INFO "步骤4测试卸载软件包 ${PACKAGE_NAME}"
dnf remove -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "卸载软件包 ${PACKAGE_NAME} 失败"
# 步骤5验证软件包是否已卸载
LOG_INFO "步骤5验证软件包 ${PACKAGE_NAME} 是否已卸载"
if rpm -q ${PACKAGE_NAME} &> /dev/null; then
LOG_ERROR "软件包 ${PACKAGE_NAME} 卸载失败"
exit 1
else
LOG_INFO "软件包 ${PACKAGE_NAME} 已成功卸载"
fi
# 步骤6环境恢复
LOG_INFO "步骤6环境恢复"
if [ "${ALREADY_INSTALLED}" = "false" ]; then
LOG_INFO "测试前未安装软件包,无需恢复"
else
LOG_INFO "重新安装软件包 ${PACKAGE_NAME} 以恢复环境"
dnf install -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "重新安装软件包 ${PACKAGE_NAME} 失败"
LOG_INFO "环境已恢复,软件包 ${PACKAGE_NAME} 已安装"
fi
LOG_INFO "测试脚本执行完成"
}
main "$@"

View File

@@ -1,66 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-09
# @License : Mulan PSL v2
# @Desc : Test documentation availability
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试文档可用性"
# 检查是否已安装jboss-logmanager-javadoc
LOG_INFO "检查jboss-logmanager-javadoc是否已安装"
dnf list installed jboss-logmanager-javadoc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "jboss-logmanager-javadoc已安装测试后将保持安装状态"
INSTALLED=true
else
LOG_INFO "jboss-logmanager-javadoc未安装测试后将卸载"
INSTALLED=false
fi
# 检查yum源中是否有jboss-logmanager-javadoc
LOG_INFO "检查yum源中是否有jboss-logmanager-javadoc"
dnf search jboss-logmanager-javadoc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到jboss-logmanager-javadoc"
exit 255
fi
# 安装jboss-logmanager-javadoc
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装jboss-logmanager-javadoc"
dnf install -y jboss-logmanager-javadoc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装jboss-logmanager-javadoc失败"
fi
# 测试文档可用性
LOG_INFO "测试文档可用性"
man jboss-logmanager-javadoc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "文档不可用"
# 清理环境(如果之前未安装)
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载jboss-logmanager-javadoc"
dnf remove -y jboss-logmanager-javadoc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载jboss-logmanager-javadoc失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

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

View File

@@ -1,72 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-04
# @License : Mulan PSL v2
# @Desc : 确认libXfixes开发头文件如X11/extensions/Xfixes.h存在于标准路径。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试确认libXfixes开发头文件如X11/extensions/Xfixes.h存在于标准路径"
LOG_INFO "步骤1: 检查libXfixes-devel软件包是否在yum源中可用"
dnf list available libXfixes-devel > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到libXfixes-devel软件包"
exit 255
fi
LOG_INFO "步骤2: 检查系统是否已安装libXfixes-devel"
rpm -q libXfixes-devel > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "libXfixes-devel已安装标记为已存在安装状态"
ALREADY_INSTALLED=1
else
LOG_INFO "libXfixes-devel未安装标记为需要测试安装"
ALREADY_INSTALLED=0
fi
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "步骤3: 安装libXfixes-devel软件包"
dnf install -y libXfixes-devel
CHECK_RESULT $? 0 0 "安装libXfixes-devel失败"
fi
LOG_INFO "步骤4: 检查X11/extensions/Xfixes.h头文件是否存在"
find /usr/include -name "Xfixes.h" -type f | grep -q "X11/extensions/Xfixes.h"
CHECK_RESULT $? 0 0 "未找到X11/extensions/Xfixes.h头文件"
LOG_INFO "步骤5: 验证头文件路径"
EXPECTED_PATH="/usr/include/X11/extensions/Xfixes.h"
if [ -f "$EXPECTED_PATH" ]; then
LOG_INFO "找到头文件: $EXPECTED_PATH"
else
LOG_ERROR "未在标准路径找到头文件: $EXPECTED_PATH"
exit 1
fi
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "步骤6: 清理环境卸载libXfixes-devel软件包"
dnf remove -y libXfixes-devel
CHECK_RESULT $? 0 0 "卸载libXfixes-devel失败"
else
LOG_INFO "步骤6: 保持已安装状态,无需卸载"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,77 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-04
# @License : Mulan PSL v2
# @Desc : 检查libXfixes软件包是否已正确安装在系统上。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查libXfixes软件包是否已正确安装在系统上
LOG_INFO "开始测试检查libXfixes软件包是否已正确安装在系统上"
# 步骤1: 检查当前系统是否已安装libXfixes软件包
LOG_INFO "步骤1: 检查当前系统是否已安装libXfixes软件包"
rpm -q libXfixes > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "系统已安装libXfixes软件包"
already_installed=true
else
LOG_INFO "系统未安装libXfixes软件包"
already_installed=false
fi
# 步骤2: 检查yum源中是否存在libXfixes软件包
LOG_INFO "步骤2: 检查yum源中是否存在libXfixes软件包"
dnf list available libXfixes > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在libXfixes软件包"
exit 255
fi
# 步骤3: 如果未安装则安装libXfixes软件包
if [ "$already_installed" = "false" ]; then
LOG_INFO "步骤3: 安装libXfixes软件包"
dnf install -y libXfixes
CHECK_RESULT $? 0 0 "安装libXfixes软件包失败"
LOG_INFO "成功安装libXfixes软件包"
fi
# 步骤4: 验证libXfixes软件包是否已正确安装
LOG_INFO "步骤4: 验证libXfixes软件包是否已正确安装"
rpm -q libXfixes
CHECK_RESULT $? 0 0 "libXfixes软件包未正确安装"
# 步骤5: 测试libXfixes相关功能这里以检查库文件为例
LOG_INFO "步骤5: 检查libXfixes库文件是否存在"
ls /usr/lib*/libXfixes.so* > /dev/null 2>&1
CHECK_RESULT $? 0 0 "libXfixes库文件不存在"
# 步骤6: 清理环境,恢复到之前的状态
LOG_INFO "步骤6: 清理环境,恢复到之前的状态"
if [ "$already_installed" = "false" ]; then
LOG_INFO "卸载测试期间安装的libXfixes软件包"
dnf remove -y libXfixes
CHECK_RESULT $? 0 0 "卸载libXfixes软件包失败"
LOG_INFO "成功卸载libXfixes软件包"
else
LOG_INFO "系统原本已安装libXfixes软件包保持安装状态"
fi
LOG_INFO "测试完成libXfixes软件包已正确安装在系统上"
}
main "$@"

View File

@@ -1,75 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-04
# @License : Mulan PSL v2
# @Desc : 查询并验证libXfixes库的版本信息。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
PACKAGE_NAME="libXfixes"
TEST_CMD="rpm -q $PACKAGE_NAME"
EXPECTED_PATTERN="libXfixes"
LOG_INFO "开始测试查询并验证libXfixes库的版本信息"
LOG_INFO "步骤1检查yum源中是否存在$PACKAGE_NAME软件包"
dnf list available $PACKAGE_NAME > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到软件包: $PACKAGE_NAME"
exit 255
fi
LOG_INFO "yum源中存在软件包: $PACKAGE_NAME"
LOG_INFO "步骤2检查测试环境是否已安装$PACKAGE_NAME"
$TEST_CMD > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "环境中已安装$PACKAGE_NAME,测试后将保持安装状态"
INSTALLED_BEFORE_TEST=true
else
LOG_INFO "环境中未安装$PACKAGE_NAME,将在测试前安装"
INSTALLED_BEFORE_TEST=false
fi
if [ "$INSTALLED_BEFORE_TEST" = "false" ]; then
LOG_INFO "步骤3安装$PACKAGE_NAME软件包"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装$PACKAGE_NAME软件包失败"
LOG_INFO "成功安装$PACKAGE_NAME软件包"
fi
LOG_INFO "步骤4查询$PACKAGE_NAME的版本信息"
VERSION_INFO=$($TEST_CMD 2>&1)
CHECK_RESULT $? 0 0 "执行命令"$TEST_CMD"失败"
LOG_INFO "版本信息查询结果: $VERSION_INFO"
LOG_INFO "步骤5验证版本信息中包含预期内容"
echo "$VERSION_INFO" | grep -q "$EXPECTED_PATTERN"
CHECK_RESULT $? 0 0 "版本信息中未找到预期内容"$EXPECTED_PATTERN""
LOG_INFO "版本信息验证成功"
if [ "$INSTALLED_BEFORE_TEST" = "false" ]; then
LOG_INFO "步骤6清理环境卸载测试安装的$PACKAGE_NAME软件包"
dnf remove -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "卸载$PACKAGE_NAME软件包失败"
LOG_INFO "成功卸载$PACKAGE_NAME软件包"
else
LOG_INFO "步骤6环境清理保持$PACKAGE_NAME的安装状态"
fi
LOG_INFO "测试完成成功查询并验证了libXfixes库的版本信息"
}
main "$@"

View File

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

View File

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

View File

@@ -1,94 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-28
# @License : Mulan PSL v2
# @Desc : 测试libnfs软件包的版本检查功能验证版本信息是否正确。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 设置严格模式,确保脚本安全
set -e
# 定义软件包名称
PACKAGE_NAME="libnfs"
# 步骤1检查yum源中是否存在libnfs软件包
LOG_INFO "检查yum源中是否存在${PACKAGE_NAME}软件包"
if ! dnf list available ${PACKAGE_NAME} &>/dev/null; then
LOG_ERROR "yum源中未找到${PACKAGE_NAME}软件包"
exit 255
fi
# 步骤2检查系统是否已安装libnfs软件包
LOG_INFO "检查系统是否已安装${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如果未安装则安装libnfs软件包
if [ ${ALREADY_INSTALLED} -eq 0 ]; then
LOG_INFO "安装${PACKAGE_NAME}软件包"
dnf install -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}失败"
fi
# 步骤4检查libnfs软件包版本信息
LOG_INFO "检查${PACKAGE_NAME}软件包版本信息"
# 使用rpm命令获取版本信息
VERSION_INFO=$(rpm -q ${PACKAGE_NAME} --queryformat "%{VERSION}-%{RELEASE}\n")
CHECK_RESULT $? 0 0 "获取${PACKAGE_NAME}版本信息失败"
# 步骤5验证版本信息格式
LOG_INFO "验证${PACKAGE_NAME}版本信息格式"
# 检查版本信息是否符合预期格式例如x.y.z-r
if [[ ${VERSION_INFO} =~ ^[0-9]+\.[0-9]+\.[0-9]+-[0-9]+(\.[a-zA-Z0-9_]+)*$ ]]; then
LOG_INFO "${PACKAGE_NAME}版本信息格式正确:${VERSION_INFO}"
else
LOG_ERROR "${PACKAGE_NAME}版本信息格式不正确:${VERSION_INFO}"
exit 1
fi
# 步骤6检查libnfs相关命令是否可用
LOG_INFO "检查libnfs相关命令是否可用"
# 假设libnfs提供了nfs-ls命令根据实际软件包调整
if command -v nfs-ls &>/dev/null; then
LOG_INFO "nfs-ls命令可用"
# 测试命令基本功能
nfs-ls --help &>/dev/null
CHECK_RESULT $? 0 0 "nfs-ls命令执行失败"
else
LOG_INFO "nfs-ls命令不存在跳过命令测试"
fi
# 步骤7清理环境
LOG_INFO "清理测试环境"
if [ ${ALREADY_INSTALLED} -eq 0 ]; then
LOG_INFO "卸载${PACKAGE_NAME}软件包"
dnf remove -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}失败"
else
LOG_INFO "${PACKAGE_NAME}为原有安装,保持安装状态"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,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 : 2025-12-28
# @License : Mulan PSL v2
# @Desc : 测试libnfs软件包的安装功能验证安装过程是否正常完成。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试libnfs软件包的安装功能验证安装过程是否正常完成
LOG_INFO "开始测试libnfs软件包的安装功能"
# 检查环境是否已安装libnfs
LOG_INFO "步骤1检查libnfs软件包是否已安装"
rpm -q libnfs > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "libnfs软件包已安装测试结束后保持安装状态"
already_installed=1
else
LOG_INFO "libnfs软件包未安装将在测试过程中安装"
already_installed=0
fi
# 检查yum源中是否有libnfs软件包
LOG_INFO "步骤2检查yum源中是否有libnfs软件包"
dnf list available libnfs > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中没有libnfs软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中没有libnfs软件包测试失败"
exit 255
fi
# 安装libnfs软件包如果未安装
if [ $already_installed -eq 0 ]; then
LOG_INFO "步骤3安装libnfs软件包"
dnf install -y libnfs > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装libnfs软件包失败"
if [ $? -ne 0 ]; then
LOG_ERROR "安装libnfs软件包失败"
exit $?
fi
LOG_INFO "libnfs软件包安装成功"
fi
# 验证libnfs软件包安装是否成功
LOG_INFO "步骤4验证libnfs软件包安装是否成功"
rpm -q libnfs > /dev/null 2>&1
CHECK_RESULT $? 0 0 "libnfs软件包未正确安装"
if [ $? -ne 0 ]; then
LOG_ERROR "libnfs软件包未正确安装"
# 如果是新安装的,则卸载
if [ $already_installed -eq 0 ]; then
dnf remove -y libnfs > /dev/null 2>&1
fi
exit $?
fi
# 验证libnfs相关命令是否可用
LOG_INFO "步骤5验证libnfs相关命令是否可用"
# 检查nfstrace命令是否存在
which nfstrace > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "nfstrace命令存在尝试执行帮助命令"
nfstrace --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "nfstrace命令参数不支持"
if [ $? -ne 0 ]; then
LOG_ERROR "nfstrace命令参数不支持"
# 如果是新安装的,则卸载
if [ $already_installed -eq 0 ]; then
dnf remove -y libnfs > /dev/null 2>&1
fi
exit 255
fi
else
LOG_INFO "nfstrace命令不存在跳过命令测试"
fi
# 清理环境
LOG_INFO "步骤6清理测试环境"
if [ $already_installed -eq 0 ]; then
LOG_INFO "卸载测试过程中安装的libnfs软件包"
dnf remove -y libnfs > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载libnfs软件包失败"
if [ $? -ne 0 ]; then
LOG_ERROR "卸载libnfs软件包失败"
exit $?
fi
LOG_INFO "libnfs软件包卸载成功"
else
LOG_INFO "保持原有的libnfs软件包安装状态"
fi
# 最终验证环境已恢复
LOG_INFO "步骤7验证环境已恢复"
if [ $already_installed -eq 0 ]; then
rpm -q libnfs > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_ERROR "环境清理失败libnfs软件包仍然存在"
exit 1
else
LOG_INFO "环境已成功恢复libnfs软件包已卸载"
fi
else
rpm -q libnfs > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "环境被破坏原有的libnfs软件包丢失"
exit 1
else
LOG_INFO "环境已保持原有状态libnfs软件包仍然安装"
fi
fi
LOG_INFO "libnfs软件包安装功能测试完成"
}
main "$@"

View File

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

View File

@@ -1,69 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-12
# @License : Mulan PSL v2
# @Desc : 测试libnfs的权限功能验证权限设置是否生效。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试libnfs的权限功能验证权限设置是否生效。"
# 检查是否已安装libnfs
LOG_INFO "检查环境中是否已安装libnfs..."
if ! dnf list installed libnfs &> /dev/null; then
LOG_INFO "libnfs未安装将进行安装..."
# 检查yum源中是否有libnfs
if ! dnf list available libnfs &> /dev/null; then
LOG_ERROR "yum源中未找到libnfs软件包退出测试。"
exit 255
fi
# 安装libnfs
dnf install -y libnfs
CHECK_RESULT $? 0 0 "安装libnfs失败。"
# 标记为测试期间安装,需在结束时卸载
INSTALLED_DURING_TEST=1
else
LOG_INFO "libnfs已安装无需重复安装。"
INSTALLED_DURING_TEST=0
fi
# 测试权限功能
LOG_INFO "测试libnfs的权限功能..."
# 示例:设置权限并验证
mkdir -p /tmp/nfs_test
chmod 700 /tmp/nfs_test
CHECK_RESULT $? 0 0 "设置权限失败。"
# 验证权限是否生效(示例命令)
ls -ld /tmp/nfs_test | grep -q "drwx------"
CHECK_RESULT $? 0 0 "权限设置未生效。"
# 清理环境
LOG_INFO "清理测试环境..."
rm -rf /tmp/nfs_test
# 如果测试期间安装了软件包,则卸载
if [ "$INSTALLED_DURING_TEST" -eq 1 ]; then
LOG_INFO "卸载测试期间安装的libnfs..."
dnf remove -y libnfs
CHECK_RESULT $? 0 0 "卸载libnfs失败。"
fi
LOG_INFO "测试完成,环境已恢复。"
}
main "$@"

View File

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

View File

@@ -1,90 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-06-22
# @License : Mulan PSL v2
# @Desc : 测试libnfs软件包的回滚功能验证回滚过程是否正常完成。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查yum源中是否存在libnfs软件包
LOG_INFO "检查yum源中是否存在libnfs软件包"
dnf list available libnfs > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到libnfs软件包"
exit 255
fi
# 检查当前是否已安装libnfs软件包
LOG_INFO "检查当前是否已安装libnfs软件包"
if rpm -q libnfs > /dev/null 2>&1; then
LOG_INFO "libnfs软件包已安装脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "libnfs软件包未安装将在测试步骤中安装"
INSTALLED=false
fi
# 如果未安装则安装libnfs软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装libnfs软件包"
dnf install -y libnfs
CHECK_RESULT $? 0 0 "安装libnfs软件包失败"
fi
# 测试回滚功能
LOG_INFO "测试libnfs软件包的回滚功能"
dnf history list libnfs > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "无法获取libnfs的安装历史记录"
exit 255
fi
# 获取最近的libnfs事务ID
TRANSACTION_ID=$(dnf history list libnfs | awk 'NR==3 {print $1}')
if [ -z "$TRANSACTION_ID" ]; then
LOG_ERROR "未找到有效的libnfs事务ID"
exit 255
fi
# 执行回滚操作
LOG_INFO "执行回滚操作事务ID: $TRANSACTION_ID"
dnf history undo -y "$TRANSACTION_ID"
CHECK_RESULT $? 0 0 "回滚libnfs软件包失败"
# 验证回滚后是否成功卸载或降级了libnfs软件包
LOG_INFO "验证回滚结果"
if rpm -q libnfs > /dev/null 2>&1; then
LOG_INFO "回滚后libnfs软件包仍存在可能为降级操作"
else
LOG_INFO "回滚后libnfs软件包已卸载"
fi
# 恢复环境如果脚本开始时未安装则卸载libnfs软件包否则保持原状
if [ "$INSTALLED" = false ]; then
LOG_INFO "恢复环境卸载libnfs软件包"
dnf remove -y libnfs > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载libnfs软件包失败"
else
LOG_INFO "恢复环境保持原状不卸载libnfs软件包"
fi
LOG_INFO "测试脚本执行完毕"
}
main "$@"

View File

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

View File

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

View File

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

View File

@@ -1,84 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-21
# @License : Mulan PSL v2
# @Desc : 测试 lodash.truncate 函数的基本字符串截断功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 lodash.truncate 函数的基本字符串截断功能"
# 检查 Node.js 和 lodash 是否已安装
LOG_INFO "检查 Node.js 和 lodash 是否已安装"
if command -v node &> /dev/null && node -e "require("lodash")" &> /dev/null; then
LOG_INFO "Node.js 和 lodash 已安装,脚本结束后将保持安装状态"
NODE_INSTALLED=true
else
LOG_INFO "Node.js 或 lodash 未安装,将在测试中安装"
NODE_INSTALLED=false
fi
# 检查 yum 源中是否有 Node.js 和 npm 包
LOG_INFO "检查 yum 源中是否有 Node.js 和 npm 包"
if ! dnf list available nodejs npm &> /dev/null; then
LOG_ERROR "yum 源中没有找到 Node.js 或 npm 包"
exit 255
fi
# 如果未安装,则安装 Node.js 和 npm
if [ "$NODE_INSTALLED" = false ]; then
LOG_INFO "安装 Node.js 和 npm"
dnf install -y nodejs npm
CHECK_RESULT $? 0 0 "安装 Node.js 和 npm 失败"
fi
# 安装 lodash 包
LOG_INFO "安装 lodash 包"
npm install -g lodash
CHECK_RESULT $? 0 0 "安装 lodash 失败"
# 测试 lodash.truncate 函数的基本功能
LOG_INFO "测试 lodash.truncate 函数的基本功能"
cat > test_truncate.js << "EOF"
const _ = require("lodash");
const str = "Hello, world! This is a long string.";
const truncated = _.truncate(str, { length: 20 });
console.log(truncated);
EOF
node test_truncate.js | grep -q "Hello, world! This..."
CHECK_RESULT $? 0 0 "lodash.truncate 函数截断功能测试失败"
# 清理临时文件
LOG_INFO "清理临时文件"
rm -f test_truncate.js
# 如果脚本开始时未安装 Node.js 和 lodash则在测试结束后卸载
if [ "$NODE_INSTALLED" = false ]; then
LOG_INFO "卸载 lodash 包"
npm uninstall -g lodash
CHECK_RESULT $? 0 0 "卸载 lodash 失败"
LOG_INFO "卸载 Node.js 和 npm"
dnf remove -y nodejs npm
CHECK_RESULT $? 0 0 "卸载 Node.js 和 npm 失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,75 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-21
# @License : Mulan PSL v2
# @Desc : 测试软件包 nodejs-lodash-trunc 能够通过包管理器成功安装
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试验证nodejs-lodash-trunc软件包能够通过包管理器成功安装"
# 检查软件包是否已在yum源中
LOG_INFO "检查yum源中是否存在nodejs-lodash-trunc软件包"
dnf list available nodejs-lodash-trunc &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到nodejs-lodash-trunc软件包"
exit 255
fi
# 检查是否已安装nodejs-lodash-trunc
LOG_INFO "检查nodejs-lodash-trunc是否已安装"
rpm -q nodejs-lodash-trunc &>/dev/null
if [ $? -eq 0 ]; then
LOG_INFO "nodejs-lodash-trunc已安装测试结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "nodejs-lodash-trunc未安装将执行安装测试"
INSTALLED=false
fi
# 如果未安装,则执行安装
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "开始安装nodejs-lodash-trunc软件包"
dnf install -y nodejs-lodash-trunc
CHECK_RESULT $? 0 0 "安装nodejs-lodash-trunc失败"
LOG_INFO "nodejs-lodash-trunc安装成功"
fi
# 验证软件包是否安装成功
LOG_INFO "验证nodejs-lodash-trunc软件包是否安装成功"
rpm -q nodejs-lodash-trunc
CHECK_RESULT $? 0 0 "nodejs-lodash-trunc未正确安装"
# 测试软件包功能(此处以列出文件为例,具体功能根据实际软件包调整)
LOG_INFO "测试nodejs-lodash-trunc基本功能"
rpm -ql nodejs-lodash-trunc | head -5
CHECK_RESULT $? 0 0 "nodejs-lodash-trunc功能测试失败"
# 如果测试开始时未安装,则在测试结束后卸载
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "测试完成开始卸载nodejs-lodash-trunc软件包"
dnf remove -y nodejs-lodash-trunc
CHECK_RESULT $? 0 0 "卸载nodejs-lodash-trunc失败"
LOG_INFO "nodejs-lodash-trunc卸载成功环境已恢复"
else
LOG_INFO "测试完成nodejs-lodash-trunc保持安装状态"
fi
LOG_INFO "测试结束nodejs-lodash-trunc软件包能够通过包管理器成功安装"
}
main "$@"

View File

@@ -1,83 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-21
# @License : Mulan PSL v2
# @Desc : 测试指定 length 参数时的字符串截断功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 判断环境是否已经安装nodejs-lodash包
LOG_INFO "检查nodejs-lodash包是否已安装"
rpm -q nodejs-lodash > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "nodejs-lodash包已安装测试结束后将保持安装状态"
INSTALLED_FLAG=1
else
LOG_INFO "nodejs-lodash包未安装将在测试前安装测试结束后卸载"
INSTALLED_FLAG=0
fi
# 检查yum源中是否有nodejs-lodash包
LOG_INFO "检查yum源中是否有nodejs-lodash包"
dnf list available nodejs-lodash > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中没有找到nodejs-lodash包"
exit 255
fi
# 如果未安装则安装nodejs-lodash包
if [ $INSTALLED_FLAG -eq 0 ]; then
LOG_INFO "安装nodejs-lodash包"
dnf install -y nodejs-lodash > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装nodejs-lodash包失败"
fi
# 测试指定length参数时的字符串截断功能
LOG_INFO "测试指定length参数时的字符串截断功能"
cat > test_trunc.js << "EOF"
const _ = require("lodash");
console.log(_.trunc("hi-diddly-ho there, neighborino", { "length": 20 }));
EOF
node test_trunc.js > actual_result.txt
CHECK_RESULT $? 0 0 "执行Node.js脚本失败"
# 检查实际输出是否符合预期
EXPECTED="hi-diddly-ho there..."
ACTUAL=$(cat actual_result.txt)
if [ "$ACTUAL" == "$EXPECTED" ]; then
LOG_INFO "测试通过:字符串截断功能正常"
else
LOG_ERROR "测试失败:预期输出为"$EXPECTED",实际输出为"$ACTUAL""
exit 1
fi
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f test_trunc.js actual_result.txt
# 如果测试前未安装则在测试结束后卸载nodejs-lodash包
if [ $INSTALLED_FLAG -eq 0 ]; then
LOG_INFO "卸载nodejs-lodash包"
dnf remove -y nodejs-lodash > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载nodejs-lodash包失败"
fi
LOG_INFO "测试脚本执行完毕"
}
main "$@"

View File

@@ -1,78 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-21
# @License : Mulan PSL v2
# @Desc : 测试指定 omission 参数时的字符串截断功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试指定 omission 参数时的字符串截断功能"
# 检查 yum 源中是否存在 nodejs-lodash-trunc 软件包
LOG_INFO "检查 yum 源中是否存在 nodejs-lodash-trunc 软件包"
dnf list nodejs-lodash-trunc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum 源中未找到 nodejs-lodash-trunc 软件包"
exit 255
fi
# 检查环境是否已安装 nodejs-lodash-trunc
LOG_INFO "检查环境是否已安装 nodejs-lodash-trunc"
rpm -q nodejs-lodash-trunc > /dev/null 2>&1
installed=$?
if [ $installed -ne 0 ]; then
LOG_INFO "环境未安装 nodejs-lodash-trunc开始安装"
dnf install -y nodejs-lodash-trunc
CHECK_RESULT $? 0 0 "安装 nodejs-lodash-trunc 失败"
fi
# 测试指定 omission 参数时的字符串截断功能
LOG_INFO "测试指定 omission 参数时的字符串截断功能"
node -e "
const trunc = require("lodash.trunc");
const result = trunc("这是一个测试字符串", {length: 5, omission: "..."});
console.log(result);
" > actual_output.txt 2>&1
CHECK_RESULT $? 0 0 "执行 nodejs-lodash-trunc 命令失败"
# 检查预期输出
expected_output="这是一个..."
actual_output=$(cat actual_output.txt)
if [ "$actual_output" = "$expected_output" ]; then
LOG_INFO "测试通过:字符串截断功能正常"
else
LOG_ERROR "测试失败:预期输出 "$expected_output",实际输出 "$actual_output""
exit 1
fi
# 清理临时文件
LOG_INFO "清理临时文件"
rm -f actual_output.txt
# 如果脚本开始时未安装,则卸载软件包
if [ $installed -ne 0 ]; then
LOG_INFO "卸载 nodejs-lodash-trunc 软件包"
dnf remove -y nodejs-lodash-trunc
CHECK_RESULT $? 0 0 "卸载 nodejs-lodash-trunc 失败"
else
LOG_INFO "保持 nodejs-lodash-trunc 安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,96 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-21
# @License : Mulan PSL v2
# @Desc : 测试软件包 nodejs-lodash-trunc 能够在 Node.js 环境中被正确引入
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查环境是否已安装 nodejs-lodash-trunc
LOG_INFO "检查 nodejs-lodash-trunc 软件包是否已安装..."
dnf list installed nodejs-lodash-trunc &>/dev/null
if [ $? -eq 0 ]; then
LOG_INFO "nodejs-lodash-trunc 已安装,脚本结束后将保持安装状态。"
ALREADY_INSTALLED=1
else
LOG_INFO "nodejs-lodash-trunc 未安装,将在测试中安装。"
ALREADY_INSTALLED=0
fi
# 检查 yum 源中是否有该软件包
LOG_INFO "检查 yum 源中是否存在 nodejs-lodash-trunc 软件包..."
dnf list available nodejs-lodash-trunc &>/dev/null
CHECK_RESULT $? 0 0 "yum 源中未找到 nodejs-lodash-trunc 软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum 源中未找到 nodejs-lodash-trunc 软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "安装 nodejs-lodash-trunc 软件包..."
dnf install -y nodejs-lodash-trunc
CHECK_RESULT $? 0 0 "安装 nodejs-lodash-trunc 失败"
fi
# 测试 nodejs-lodash-trunc 能否在 Node.js 环境中被正确引入
LOG_INFO "测试 nodejs-lodash-trunc 能否在 Node.js 环境中被正确引入..."
cat > /tmp/test_lodash_trunc.js << "EOF"
try {
const trunc = require("lodash.trunc");
console.log("引入 lodash.trunc 成功:", trunc);
if (typeof trunc === "function") {
console.log("trunc 是一个函数");
const result = trunc("Hello World", 5);
console.log("trunc 函数执行结果:", result);
if (result === "Hello...") {
console.log("测试通过");
process.exit(0);
} else {
console.error("测试失败: 函数执行结果不符合预期");
process.exit(1);
}
} else {
console.error("测试失败: trunc 不是一个函数");
process.exit(1);
}
} catch (error) {
console.error("测试失败: 无法引入 lodash.trunc", error);
process.exit(1);
}
EOF
node /tmp/test_lodash_trunc.js
CHECK_RESULT $? 0 0 "Node.js 环境中引入 lodash.trunc 失败"
# 清理临时文件
LOG_INFO "清理临时文件..."
rm -f /tmp/test_lodash_trunc.js
# 如果脚本开始时未安装,则在测试结束后卸载软件包
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "卸载 nodejs-lodash-trunc 软件包..."
dnf remove -y nodejs-lodash-trunc
CHECK_RESULT $? 0 0 "卸载 nodejs-lodash-trunc 失败"
else
LOG_INFO "保持 nodejs-lodash-trunc 软件包安装状态。"
fi
LOG_INFO "测试脚本执行完成。"
}
main "$@"

View File

@@ -1,82 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-21
# @License : Mulan PSL v2
# @Desc : 测试指定 separator 参数时的字符串截断功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试指定 separator 参数时的字符串截断功能
# 检查是否已经安装nodejs-lodash软件包
LOG_INFO "检查是否已安装nodejs-lodash软件包"
rpm -q nodejs-lodash > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "nodejs-lodash已安装标记为已存在"
already_installed=1
else
LOG_INFO "nodejs-lodash未安装标记为未安装"
already_installed=0
fi
# 检查yum源中是否有nodejs-lodash软件包
LOG_INFO "检查yum源中是否有nodejs-lodash软件包"
dnf list available nodejs-lodash > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到nodejs-lodash软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $already_installed -eq 0 ]; then
LOG_INFO "开始安装nodejs-lodash软件包"
dnf install -y nodejs-lodash
CHECK_RESULT $? 0 0 "安装nodejs-lodash软件包失败"
fi
# 测试trunc函数separator参数功能
LOG_INFO "测试trunc函数separator参数功能"
# 创建一个测试脚本
cat > /tmp/test_trunc.js << "EOF"
const _ = require("lodash");
console.log("测试1: trunc("hello-world", {separator: "-"})");
console.log(_.trunc("hello-world", {separator: "-"}));
console.log("测试2: trunc("hello.world.js", {separator: "."})");
console.log(_.trunc("hello.world.js", {separator: "."}));
console.log("测试3: trunc("hello world", {separator: " ", length: 8})");
console.log(_.trunc("hello world", {separator: " ", length: 8}));
EOF
# 执行测试脚本
node /tmp/test_trunc.js
CHECK_RESULT $? 0 0 "执行trunc函数测试失败"
# 清理临时文件
LOG_INFO "清理临时文件"
rm -f /tmp/test_trunc.js
# 如果测试前未安装,则卸载软件包
if [ $already_installed -eq 0 ]; then
LOG_INFO "卸载nodejs-lodash软件包"
dnf remove -y nodejs-lodash
CHECK_RESULT $? 0 0 "卸载nodejs-lodash软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,97 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-21
# @License : Mulan PSL v2
# @Desc : 测试软件包 nodejs-lodash-trunc 能够通过包管理器成功卸载
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 初始化日志打印函数(实际环境中可能已定义)
LOG_INFO() {
echo "[INFO] $*"
}
LOG_ERROR() {
echo "[ERROR] $*"
}
# 定义包名
PACKAGE_NAME="nodejs-lodash-trunc"
# 步骤1检查yum源中是否存在指定软件包
LOG_INFO "步骤1检查yum源中是否存在软件包 $PACKAGE_NAME"
dnf list available $PACKAGE_NAME &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在软件包 $PACKAGE_NAME"
exit 255
fi
# 步骤2检查当前环境是否已安装该软件包
LOG_INFO "步骤2检查当前环境是否已安装软件包 $PACKAGE_NAME"
dnf list installed $PACKAGE_NAME &>/dev/null
if [ $? -eq 0 ]; then
LOG_INFO "软件包 $PACKAGE_NAME 已安装,标记为已存在"
PACKAGE_PRE_INSTALLED=true
else
LOG_INFO "软件包 $PACKAGE_NAME 未安装,标记为未存在"
PACKAGE_PRE_INSTALLED=false
fi
# 步骤3如果未安装则安装软件包作为测试步骤
if [ "$PACKAGE_PRE_INSTALLED" = "false" ]; then
LOG_INFO "步骤3安装软件包 $PACKAGE_NAME"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
LOG_INFO "软件包 $PACKAGE_NAME 安装成功"
else
LOG_INFO "步骤3软件包 $PACKAGE_NAME 已安装,跳过安装步骤"
fi
# 步骤4验证软件包是否成功安装
LOG_INFO "步骤4验证软件包 $PACKAGE_NAME 是否成功安装"
dnf list installed $PACKAGE_NAME &>/dev/null
CHECK_RESULT $? 0 0 "软件包 $PACKAGE_NAME 未正确安装"
# 步骤5测试卸载软件包
LOG_INFO "步骤5测试卸载软件包 $PACKAGE_NAME"
dnf remove -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
LOG_INFO "软件包 $PACKAGE_NAME 卸载成功"
# 步骤6验证软件包是否已卸载
LOG_INFO "步骤6验证软件包 $PACKAGE_NAME 是否已卸载"
dnf list installed $PACKAGE_NAME &>/dev/null
if [ $? -eq 0 ]; then
LOG_ERROR "软件包 $PACKAGE_NAME 卸载后仍存在"
exit 1
else
LOG_INFO "软件包 $PACKAGE_NAME 已成功卸载"
fi
# 步骤7环境恢复如果脚本开始时未安装则保持未安装状态如果已安装则重新安装
if [ "$PACKAGE_PRE_INSTALLED" = "false" ]; then
LOG_INFO "步骤7环境恢复脚本开始时未安装 $PACKAGE_NAME,保持未安装状态"
else
LOG_INFO "步骤7环境恢复重新安装软件包 $PACKAGE_NAME"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "重新安装软件包 $PACKAGE_NAME 失败"
LOG_INFO "软件包 $PACKAGE_NAME 重新安装成功"
fi
LOG_INFO "测试完成:软件包 $PACKAGE_NAME 能够通过包管理器成功卸载"
}
main "$@"

View File

@@ -1,107 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-20
# @License : Mulan PSL v2
# @Desc : 测试lz4-help基准测试功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 判断是否已安装lz4
LOG_INFO "检查系统是否已安装lz4软件包"
rpm -q lz4 > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "lz4软件包已安装测试结束后将保持安装状态"
INSTALLED_BEFORE=1
else
LOG_INFO "lz4软件包未安装将在测试过程中安装并在测试结束后卸载"
INSTALLED_BEFORE=0
fi
# 检查yum源中是否有lz4软件包
LOG_INFO "检查yum源中是否存在lz4软件包"
dnf list available lz4 > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到lz4软件包"
exit 255
fi
# 如果未安装则安装lz4
if [ ${INSTALLED_BEFORE} -eq 0 ]; then
LOG_INFO "安装lz4软件包"
dnf install -y lz4 > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装lz4软件包失败"
fi
# 测试lz4 --help命令
LOG_INFO "测试lz4 --help命令"
lz4 --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "lz4 --help命令执行失败"
# 测试lz4 -h命令
LOG_INFO "测试lz4 -h命令"
lz4 -h > /dev/null 2>&1
CHECK_RESULT $? 0 0 "lz4 -h命令执行失败"
# 测试lz4 --version命令
LOG_INFO "测试lz4 --version命令"
lz4 --version > /dev/null 2>&1
CHECK_RESULT $? 0 0 "lz4 --version命令执行失败"
# 测试lz4 -V命令
LOG_INFO "测试lz4 -V命令"
lz4 -V > /dev/null 2>&1
CHECK_RESULT $? 0 0 "lz4 -V命令执行失败"
# 测试不支持的参数
LOG_INFO "测试lz4不支持的参数"
lz4 --invalid-param > /dev/null 2>&1
if [ $? -ne 255 ] && [ $? -ne 1 ]; then
LOG_ERROR "lz4不支持--invalid-param参数但未按预期退出"
exit 255
fi
# 基准测试:压缩测试
LOG_INFO "执行lz4压缩基准测试"
echo "This is a test file for lz4 benchmark" > test_input.txt
lz4 -z test_input.txt test_compressed.lz4
CHECK_RESULT $? 0 0 "lz4压缩测试失败"
# 基准测试:解压缩测试
LOG_INFO "执行lz4解压缩基准测试"
lz4 -d test_compressed.lz4 test_output.txt
CHECK_RESULT $? 0 0 "lz4解压缩测试失败"
# 验证压缩解压缩结果
LOG_INFO "验证压缩解压缩结果"
diff test_input.txt test_output.txt > /dev/null 2>&1
CHECK_RESULT $? 0 0 "压缩解压缩后文件内容不一致"
# 清理测试文件
LOG_INFO "清理测试生成的文件"
rm -f test_input.txt test_compressed.lz4 test_output.txt
# 如果测试前未安装则卸载lz4
if [ ${INSTALLED_BEFORE} -eq 0 ]; then
LOG_INFO "卸载lz4软件包"
dnf remove -y lz4 > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载lz4软件包失败"
fi
LOG_INFO "lz4-help基准测试功能测试完成"
}
main "$@"

View File

@@ -1,80 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-20
# @License : Mulan PSL v2
# @Desc : 测试lz4-help帮助信息功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试lz4-help帮助信息功能
LOG_INFO "1. 检查系统中是否已安装lz4软件包"
if command -v lz4 &> /dev/null; then
LOG_INFO "lz4已安装脚本结束后将保持安装状态"
already_installed=true
else
LOG_INFO "lz4未安装将在测试过程中安装并在脚本结束前卸载"
already_installed=false
fi
LOG_INFO "2. 检查yum源中是否有lz4软件包"
dnf list available lz4 &> /dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到lz4软件包"
exit 255
fi
LOG_INFO "3. 安装lz4软件包"
if [ "$already_installed" = false ]; then
dnf install -y lz4
CHECK_RESULT $? 0 0 "安装lz4软件包失败"
LOG_INFO "lz4软件包安装成功"
fi
LOG_INFO "4. 测试lz4 -h参数"
lz4 -h &> /dev/null
CHECK_RESULT $? 0 0 "lz4 -h命令执行失败"
LOG_INFO "5. 测试lz4 --help参数"
lz4 --help &> /dev/null
CHECK_RESULT $? 0 0 "lz4 --help命令执行失败"
LOG_INFO "6. 测试不支持的参数"
lz4 --invalid-param 2>&1 | grep -q "unknown option"
CHECK_RESULT $? 0 0 "lz4不支持--invalid-param参数"
LOG_INFO "7. 验证帮助信息包含关键内容"
lz4 -h | grep -q "LZ4 command line interface"
CHECK_RESULT $? 0 0 "帮助信息中未找到"LZ4 command line interface""
lz4 -h | grep -q "Usage:"
CHECK_RESULT $? 0 0 "帮助信息中未找到"Usage:""
LOG_INFO "8. 清理环境"
if [ "$already_installed" = false ]; then
LOG_INFO "卸载lz4软件包"
dnf remove -y lz4
CHECK_RESULT $? 0 0 "卸载lz4软件包失败"
LOG_INFO "lz4软件包卸载成功"
else
LOG_INFO "保持lz4软件包安装状态"
fi
LOG_INFO "9. 测试完成"
}
main "$@"

View File

@@ -1,78 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-20
# @License : Mulan PSL v2
# @Desc : 测试lz4-help列出支持格式
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试测试lz4-help列出支持格式"
LOG_INFO "步骤1检查lz4软件包是否已在yum源中"
if ! dnf list available lz4 2>/dev/null | grep -q lz4; then
LOG_ERROR "yum源中未找到lz4软件包"
exit 255
fi
LOG_INFO "步骤2检查lz4是否已经安装"
if rpm -q lz4 >/dev/null 2>&1; then
LOG_INFO "lz4已经安装记录安装状态"
INSTALLED=true
else
LOG_INFO "lz4未安装将进行安装"
INSTALLED=false
fi
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤3安装lz4软件包"
dnf install -y lz4
CHECK_RESULT $? 0 0 "安装lz4失败"
fi
LOG_INFO "步骤4执行lz4 -h命令测试help功能"
lz4 -h > /dev/null 2>&1
CHECK_RESULT $? 0 0 "lz4 -h命令执行失败"
LOG_INFO "步骤5检查lz4 --help命令是否支持"
if lz4 --help > /dev/null 2>&1; then
LOG_INFO "lz4 --help命令执行成功"
else
LOG_ERROR "lz4不支持--help参数"
exit 255
fi
LOG_INFO "步骤6检查lz4 -help命令是否支持"
if lz4 -help > /dev/null 2>&1; then
LOG_INFO "lz4 -help命令执行成功"
else
LOG_ERROR "lz4不支持-help参数"
exit 255
fi
LOG_INFO "步骤7检查lz4 help命令是否支持"
if lz4 help > /dev/null 2>&1; then
LOG_INFO "lz4 help命令执行成功"
else
LOG_ERROR "lz4不支持help参数"
exit 255
fi
LOG_INFO "步骤8执行lz4 -h并检查是否列出支持格式"
lz4 -h 2>&1 | grep -q "supported"
CHECK_RESULT $? 0 0 "lz4 -h未列出支持格式"
LOG_INFO "步骤9清理环境"
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载lz4软件包"
dnf remove -y lz4
CHECK_RESULT $? 0 0 "卸载lz4失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,75 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-20
# @License : Mulan PSL v2
# @Desc : 测试lz4-help版本查询功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已经安装lz4
LOG_INFO "检查lz4是否已经安装"
if ! rpm -qa | grep -q lz4; then
LOG_INFO "lz4未安装将进行安装测试"
INSTALLED_FOR_TEST=true
else
LOG_INFO "lz4已经安装将保持安装状态"
INSTALLED_FOR_TEST=false
fi
# 检查yum源中是否有lz4软件包
LOG_INFO "检查yum源中是否有lz4软件包"
if ! dnf list available lz4 &>/dev/null; then
LOG_ERROR "yum源中没有lz4软件包"
exit 255
fi
# 如果未安装则安装lz4
if [ "$INSTALLED_FOR_TEST" = true ]; then
LOG_INFO "安装lz4软件包"
dnf install -y lz4
CHECK_RESULT $? 0 0 "安装lz4失败"
fi
# 测试lz4 --help参数
LOG_INFO "测试lz4 --help参数"
lz4 --help
CHECK_RESULT $? 0 0 "lz4 --help执行失败"
# 测试lz4 --version参数
LOG_INFO "测试lz4 --version参数"
lz4 --version
CHECK_RESULT $? 0 0 "lz4 --version执行失败"
# 测试不支持的参数
LOG_INFO "测试lz4不支持的参数例如--nonexistent"
lz4 --nonexistent 2>/dev/null
if [ $? -ne 255 ]; then
LOG_ERROR "不支持的参数未返回正确的退出码"
exit 255
fi
# 环境恢复:如果是为了测试安装的,则卸载
if [ "$INSTALLED_FOR_TEST" = true ]; then
LOG_INFO "卸载lz4软件包"
dnf remove -y lz4
CHECK_RESULT $? 0 0 "卸载lz4失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,74 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-04
# @License : Mulan PSL v2
# @Desc : 测试lzma-java-javadoc软件包的解压功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试lzma-java-javadoc软件包的解压功能"
# 检查软件包是否已安装
LOG_INFO "检查lzma-java-javadoc软件包是否已安装"
if dnf list installed lzma-java-javadoc &>/dev/null; then
LOG_INFO "lzma-java-javadoc软件包已安装脚本结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "lzma-java-javadoc软件包未安装将在测试结束后卸载"
INSTALLED=false
fi
# 检查yum源中是否存在该软件包
LOG_INFO "检查yum源中是否存在lzma-java-javadoc软件包"
if ! dnf list available lzma-java-javadoc &>/dev/null; then
LOG_ERROR "yum源中不存在lzma-java-javadoc软件包"
exit 255
fi
# 若未安装则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装lzma-java-javadoc软件包"
dnf install -y lzma-java-javadoc
CHECK_RESULT $? 0 0 "安装lzma-java-javadoc失败"
fi
# 测试解压功能
LOG_INFO "测试解压功能"
if ! command -v lzmajavadoc &>/dev/null; then
LOG_ERROR "命令lzmajavadoc不存在或不支持"
exit 255
fi
LOG_INFO "执行解压命令"
lzmajavadoc --decompress test.lzma output.txt
CHECK_RESULT $? 0 0 "解压失败"
# 清理测试文件(如果存在)
LOG_INFO "清理测试文件"
rm -f test.lzma output.txt
# 若脚本开始时未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载lzma-java-javadoc软件包"
dnf remove -y lzma-java-javadoc
CHECK_RESULT $? 0 0 "卸载lzma-java-javadoc失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,70 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-26
# @License : Mulan PSL v2
# @Desc : 检查lzma-java-javadoc软件包是否已正确安装
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始检查lzma-java-javadoc软件包是否已正确安装"
LOG_INFO "步骤1: 检查yum源中是否存在lzma-java-javadoc软件包"
dnf list available lzma-java-javadoc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中未找到lzma-java-javadoc软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在lzma-java-javadoc软件包"
exit 255
fi
LOG_INFO "步骤2: 检查当前是否已安装lzma-java-javadoc"
if rpm -q lzma-java-javadoc > /dev/null 2>&1; then
LOG_INFO "lzma-java-javadoc已安装将保持安装状态"
already_installed=true
else
LOG_INFO "lzma-java-javadoc未安装将进行安装测试"
already_installed=false
fi
if [ "$already_installed" = "false" ]; then
LOG_INFO "步骤3: 安装lzma-java-javadoc软件包"
dnf install -y lzma-java-javadoc
CHECK_RESULT $? 0 0 "安装lzma-java-javadoc失败"
fi
LOG_INFO "步骤4: 验证lzma-java-javadoc安装是否正确"
rpm -q lzma-java-javadoc
CHECK_RESULT $? 0 0 "lzma-java-javadoc安装验证失败"
LOG_INFO "步骤5: 检查lzma-java-javadoc相关文件"
rpm -ql lzma-java-javadoc | head -5 > /dev/null
CHECK_RESULT $? 0 0 "lzma-java-javadoc文件检查失败"
if [ "$already_installed" = "false" ]; then
LOG_INFO "步骤6: 清理环境卸载lzma-java-javadoc软件包"
dnf remove -y lzma-java-javadoc
CHECK_RESULT $? 0 0 "卸载lzma-java-javadoc失败"
LOG_INFO "已恢复原始环境状态"
else
LOG_INFO "保持lzma-java-javadoc安装状态无需清理"
fi
LOG_INFO "lzma-java-javadoc软件包安装检查完成"
}
main "$@"

View File

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

View File

@@ -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-02-26
# @License : Mulan PSL v2
# @Desc : 验证安装的javadoc文档内容完整性
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查环境是否已安装lzma-java-javadoc软件包
LOG_INFO "步骤1: 检查lzma-java-javadoc是否已安装"
dnf list installed lzma-java-javadoc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "lzma-java-javadoc已安装标记为保持安装状态"
INSTALLED_FLAG=1
else
LOG_INFO "lzma-java-javadoc未安装标记为需要清理"
INSTALLED_FLAG=0
fi
# 检查yum源中是否存在lzma-java-javadoc软件包
LOG_INFO "步骤2: 检查yum源中是否存在lzma-java-javadoc软件包"
dnf list available lzma-java-javadoc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中未找到lzma-java-javadoc软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在lzma-java-javadoc软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $INSTALLED_FLAG -eq 0 ]; then
LOG_INFO "步骤3: 安装lzma-java-javadoc软件包"
dnf install -y lzma-java-javadoc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装lzma-java-javadoc失败"
if [ $? -ne 0 ]; then
LOG_ERROR "安装lzma-java-javadoc失败"
exit 1
fi
LOG_INFO "lzma-java-javadoc安装成功"
fi
# 验证javadoc文档内容完整性
LOG_INFO "步骤4: 验证javadoc文档内容完整性"
# 假设javadoc文档位于/usr/share/javadoc/lzma-java目录下
JAVADOC_DIR="/usr/share/javadoc/lzma-java"
if [ -d "$JAVADOC_DIR" ]; then
LOG_INFO "找到javadoc文档目录: $JAVADOC_DIR"
# 检查目录是否为空
if [ -z "$(ls -A $JAVADOC_DIR)" ]; then
LOG_ERROR "javadoc文档目录为空"
exit 1
fi
# 检查是否存在index.html文件
if [ ! -f "$JAVADOC_DIR/index.html" ]; then
LOG_ERROR "javadoc文档缺少index.html文件"
exit 1
fi
# 检查index.html文件是否包含javadoc相关标记
if ! grep -q "Generated by javadoc" "$JAVADOC_DIR/index.html"; then
LOG_ERROR "index.html文件不是有效的javadoc文档"
exit 1
fi
LOG_INFO "javadoc文档内容完整性验证通过"
else
LOG_ERROR "未找到javadoc文档目录: $JAVADOC_DIR"
exit 1
fi
# 清理环境:如果之前未安装,则卸载软件包
if [ $INSTALLED_FLAG -eq 0 ]; then
LOG_INFO "步骤5: 清理环境卸载lzma-java-javadoc软件包"
dnf remove -y lzma-java-javadoc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载lzma-java-javadoc失败"
if [ $? -ne 0 ]; then
LOG_ERROR "卸载lzma-java-javadoc失败"
exit 1
fi
LOG_INFO "lzma-java-javadoc卸载成功"
else
LOG_INFO "步骤5: 保持lzma-java-javadoc安装状态无需清理"
fi
LOG_INFO "测试完成,所有步骤执行成功"
}
main "$@"

View File

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

View File

@@ -1,73 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-29
# @License : Mulan PSL v2
# @Desc : Test the generation of Javadoc documentation
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试脚本test_maven-javadoc_function_generate
LOG_INFO "开始测试Test the generation of Javadoc documentation"
# 检查是否已安装maven-javadoc-plugin
LOG_INFO "检查是否已安装maven-javadoc-plugin"
if dnf list installed maven-javadoc-plugin &>/dev/null; then
LOG_INFO "maven-javadoc-plugin已安装测试结束后将保持安装状态"
installed=true
else
LOG_INFO "maven-javadoc-plugin未安装将在测试结束后卸载"
installed=false
fi
# 检查yum源中是否有maven-javadoc-plugin
LOG_INFO "检查yum源中是否有maven-javadoc-plugin"
if ! dnf list available maven-javadoc-plugin &>/dev/null; then
LOG_ERROR "yum源中未找到maven-javadoc-plugin"
exit 255
fi
# 安装maven-javadoc-plugin如果未安装
if [ "$installed" = false ]; then
LOG_INFO "安装maven-javadoc-plugin"
dnf install -y maven-javadoc-plugin
CHECK_RESULT $? 0 0 "安装maven-javadoc-plugin失败"
fi
# 生成Javadoc文档
LOG_INFO "生成Javadoc文档"
mvn javadoc:javadoc
CHECK_RESULT $? 0 0 "生成Javadoc文档失败"
# 检查生成的Javadoc文档是否存在
LOG_INFO "检查生成的Javadoc文档是否存在"
if [ ! -d "target/site/apidocs" ]; then
LOG_ERROR "未找到生成的Javadoc文档"
exit 1
fi
# 清理环境(如果之前未安装)
if [ "$installed" = false ]; then
LOG_INFO "卸载maven-javadoc-plugin"
dnf remove -y maven-javadoc-plugin
CHECK_RESULT $? 0 0 "卸载maven-javadoc-plugin失败"
fi
LOG_INFO "测试完成Test the generation of Javadoc documentation"
}
main "$@"

View File

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

View File

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

View File

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

View File

@@ -1,70 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-12
# @License : Mulan PSL v2
# @Desc : Test UI components rendering
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试脚本test_openjfx-devel_function_ui
# 测试用例描述Test UI components rendering
LOG_INFO "开始测试Test UI components rendering"
# 检查yum源中是否存在openjfx-devel软件包
LOG_INFO "检查yum源中是否存在openjfx-devel软件包"
dnf list available openjfx-devel > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到openjfx-devel软件包"
exit 255
fi
# 检查是否已安装openjfx-devel
LOG_INFO "检查是否已安装openjfx-devel"
rpm -q openjfx-devel > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "openjfx-devel已安装跳过安装步骤"
installed=true
else
LOG_INFO "openjfx-devel未安装开始安装"
dnf install -y openjfx-devel
CHECK_RESULT $? 0 0 "安装openjfx-devel失败"
installed=false
fi
# 测试UI组件渲染功能
LOG_INFO "测试UI组件渲染功能"
java -version > /dev/null 2>&1
CHECK_RESULT $? 0 0 "Java环境未安装或配置错误"
# 模拟UI组件渲染测试命令示例命令需根据实际测试需求调整
LOG_INFO "执行UI组件渲染测试命令"
test_command="java -jar /path/to/ui-test-tool.jar --test-ui"
eval $test_command
CHECK_RESULT $? 0 0 "UI组件渲染测试失败"
# 环境恢复如果脚本开始时未安装openjfx-devel则卸载
if [ "$installed" = false ]; then
LOG_INFO "卸载openjfx-devel"
dnf remove -y openjfx-devel
CHECK_RESULT $? 0 0 "卸载openjfx-devel失败"
fi
LOG_INFO "测试完成Test UI components rendering"
}
main "$@"

View File

@@ -1,71 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : Test basic command usage
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Test basic command usage"
LOG_INFO "步骤1检查yum源中是否存在potrace软件包"
dnf list available potrace > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到potrace软件包退出测试"
exit 255
fi
LOG_INFO "步骤2检查系统是否已安装potrace"
rpm -q potrace > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "系统已安装potrace跳过安装步骤"
INSTALLED=true
else
LOG_INFO "系统未安装potrace执行安装"
dnf install -y potrace
CHECK_RESULT $? 0 0 "安装potrace失败"
INSTALLED=false
fi
LOG_INFO "步骤3测试potrace --help命令基本用法"
potrace --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "potrace --help命令执行失败"
LOG_INFO "步骤4测试不支持的参数"
potrace --invalid-option 2>&1 | grep -q "unrecognized option"
CHECK_RESULT $? 0 0 "potrace未正确识别无效参数退出码应为255"
if [ $? -ne 0 ]; then
LOG_ERROR "potrace不支持指定的参数退出测试"
exit 255
fi
LOG_INFO "步骤5测试基本命令执行"
potrace --version > /dev/null 2>&1
CHECK_RESULT $? 0 0 "potrace --version命令执行失败"
LOG_INFO "步骤6清理测试环境"
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "卸载测试安装的potrace软件包"
dnf remove -y potrace
CHECK_RESULT $? 0 0 "卸载potrace失败"
else
LOG_INFO "系统原本已安装potrace保持安装状态"
fi
LOG_INFO "测试完成Test basic command usage"
}
main "$@"

View File

@@ -1,83 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : Test help info output
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Test help info output"
# 检查yum源中是否存在potrace软件包
LOG_INFO "步骤1检查yum源中是否存在potrace软件包"
dnf list available potrace > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到potrace软件包"
exit 255
fi
# 检查是否已安装potrace
LOG_INFO "步骤2检查当前环境是否已安装potrace"
rpm -q potrace > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "potrace已安装标记为已安装状态"
INSTALLED=1
else
LOG_INFO "potrace未安装标记为未安装状态"
INSTALLED=0
fi
# 如果未安装则安装potrace
if [ $? -eq 0 ] && [ $INSTALLED -eq 0 ]; then
LOG_INFO "步骤3安装potrace软件包"
dnf install -y potrace > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装potrace失败"
fi
# 测试potrace命令的help参数
LOG_INFO "步骤4测试potrace命令的help参数"
potrace --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "potrace --help命令执行失败"
# 测试potrace命令的-h参数
LOG_INFO "步骤5测试potrace命令的-h参数"
potrace -h > /dev/null 2>&1
CHECK_RESULT $? 0 0 "potrace -h命令执行失败"
# 测试不支持的参数,预期失败
LOG_INFO "步骤6测试potrace命令的不支持参数预期失败"
potrace --invalid-param > /dev/null 2>&1
if [ $? -eq 255 ]; then
LOG_INFO "不支持的参数正确处理退出码为255"
else
LOG_ERROR "不支持的参数未正确处理"
exit 255
fi
# 清理环境如果之前未安装则卸载potrace
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "步骤7清理环境卸载potrace软件包"
dnf remove -y potrace > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载potrace失败"
else
LOG_INFO "步骤7保持potrace安装状态无需卸载"
fi
LOG_INFO "测试完成Test help info output"
}
main "$@"

View File

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

View File

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

View File

@@ -1,67 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : Test version info display
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Test version info display"
LOG_INFO "步骤1检查potrace软件包是否在yum源中"
dnf list available potrace &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到potrace软件包"
exit 255
fi
LOG_INFO "步骤2检查potrace命令是否已安装"
if command -v potrace &>/dev/null; then
LOG_INFO "potrace命令已安装标记为已存在"
INSTALLED_BEFORE="true"
else
LOG_INFO "potrace命令未安装标记为未安装"
INSTALLED_BEFORE="false"
fi
if [ "$INSTALLED_BEFORE" = "false" ]; then
LOG_INFO "步骤3安装potrace软件包"
dnf install -y potrace
CHECK_RESULT $? 0 0 "安装potrace软件包失败"
fi
LOG_INFO "步骤4测试potrace --help参数"
potrace --help &>/dev/null
CHECK_RESULT $? 0 0 "potrace --help参数执行失败"
LOG_INFO "步骤5测试potrace --version参数"
potrace --version &>/dev/null
CHECK_RESULT $? 0 0 "potrace --version参数执行失败"
LOG_INFO "步骤6测试potrace不支持的参数例如--nonexistent"
potrace --nonexistent &>/dev/null 2>&1
if [ $? -eq 255 ]; then
LOG_INFO "不支持的参数返回退出码255符合预期"
else
LOG_ERROR "不支持的参数未返回退出码255"
exit 255
fi
if [ "$INSTALLED_BEFORE" = "false" ]; then
LOG_INFO "步骤7清理环境卸载potrace软件包"
dnf remove -y potrace
CHECK_RESULT $? 0 0 "卸载potrace软件包失败"
else
LOG_INFO "步骤7环境已安装potrace保持安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

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

View File

@@ -1,169 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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-25
# @License : Mulan PSL v2
# @Desc : 测试使用editables创建可编辑项目链接
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义颜色和日志函数
LOG_INFO() {
echo "[INFO] $*"
}
LOG_ERROR() {
echo "[ERROR] $*"
}
# 检查yum源中是否存在指定软件包
check_package_in_repo() {
local package_name=$1
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
LOG_INFO "yum源中存在软件包: $package_name"
}
# 检查命令参数是否支持
check_command_option() {
local command=$1
local option=$2
LOG_INFO "检查命令 $command 是否支持参数 $option"
if ! $command --help 2>&1 | grep -q "$option"; then
LOG_ERROR "命令 $command 不支持参数 $option"
exit 255
fi
LOG_INFO "命令 $command 支持参数 $option"
}
# 主测试函数
test_editables_function_create_project() {
LOG_INFO "开始测试: 测试使用editables创建可编辑项目链接"
# 定义需要测试的软件包
local test_package="python3-editables"
local python_package="python3"
local pip_package="python3-pip"
# 步骤1: 检查测试环境是否已安装python3-editables
LOG_INFO "步骤1: 检查测试环境是否已安装python3-editables"
if rpm -q $test_package > /dev/null 2>&1; then
LOG_INFO "检测到 $test_package 已安装,测试结束后将保持安装状态"
local package_installed=true
else
LOG_INFO "$test_package 未安装,将在测试过程中安装"
local package_installed=false
fi
# 步骤2: 检查yum源中是否存在所需软件包
LOG_INFO "步骤2: 检查yum源中是否存在所需软件包"
check_package_in_repo $test_package
check_package_in_repo $python_package
check_package_in_repo $pip_package
# 步骤3: 安装必要的软件包(如果未安装)
if [ "$package_installed" = false ]; then
LOG_INFO "步骤3: 安装必要的软件包"
dnf install -y $python_package $pip_package $test_package
CHECK_RESULT $? 0 0 "安装软件包失败"
LOG_INFO "软件包安装成功"
fi
# 步骤4: 检查pip命令是否支持editable安装
LOG_INFO "步骤4: 检查pip命令是否支持editable安装"
check_command_option "pip3" "editable"
# 步骤5: 创建测试项目目录
LOG_INFO "步骤5: 创建测试项目目录"
local test_dir="/tmp/test_editables_project_$$"
mkdir -p $test_dir
CHECK_RESULT $? 0 0 "创建测试目录失败"
# 步骤6: 创建简单的Python项目结构
LOG_INFO "步骤6: 创建简单的Python项目结构"
cat > $test_dir/setup.py << EOF
from setuptools import setup, find_packages
setup(
name="test_editables_project",
version="0.1.0",
packages=find_packages(),
)
EOF
mkdir -p $test_dir/src/test_editables_project
cat > $test_dir/src/test_editables_project/__init__.py << EOF
"""Test editable package."""
EOF
cat > $test_dir/src/test_editables_project/main.py << EOF
def hello():
return "Hello from editable project!"
EOF
# 步骤7: 使用editables创建可编辑项目链接
LOG_INFO "步骤7: 使用editables创建可编辑项目链接"
cd $test_dir
pip3 install -e .
CHECK_RESULT $? 0 0 "使用editables创建可编辑项目链接失败"
# 步骤8: 验证可编辑项目链接是否创建成功
LOG_INFO "步骤8: 验证可编辑项目链接是否创建成功"
python3 -c "
import test_editables_project
result = test_editables_project.main.hello()
print("导入测试结果:", result)
assert result == "Hello from editable project!", "测试失败: " + result
print("测试成功!")
"
CHECK_RESULT $? 0 0 "验证可编辑项目链接失败"
# 步骤9: 验证pip list中是否显示为可编辑安装
LOG_INFO "步骤9: 验证pip list中是否显示为可编辑安装"
pip3 list | grep -i "test-editables-project" | grep -i "editable"
CHECK_RESULT $? 0 0 "pip list中未显示为可编辑安装"
# 步骤10: 卸载测试项目
LOG_INFO "步骤10: 卸载测试项目"
pip3 uninstall -y test-editables-project
CHECK_RESULT $? 0 0 "卸载测试项目失败"
# 步骤11: 清理测试目录
LOG_INFO "步骤11: 清理测试目录"
cd /
rm -rf $test_dir
CHECK_RESULT $? 0 0 "清理测试目录失败"
# 步骤12: 如果测试前未安装,则卸载软件包
if [ "$package_installed" = false ]; then
LOG_INFO "步骤12: 卸载测试过程中安装的软件包"
dnf remove -y $test_package
CHECK_RESULT $? 0 0 "卸载软件包失败"
LOG_INFO "软件包卸载成功"
fi
LOG_INFO "测试完成: 使用editables创建可编辑项目链接测试成功"
}
# 执行测试
test_editables_function_create_project
}
main "$@"

View File

@@ -1,151 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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-25
# @License : Mulan PSL v2
# @Desc : 测试python3-editables软件包的降级功能验证降级过程是否成功
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试python3-editables软件包的降级功能
LOG_INFO "开始测试python3-editables软件包的降级功能"
# 定义软件包名称和版本变量
PACKAGE_NAME="python3-editables"
CURRENT_VERSION=""
TARGET_VERSION=""
# 检查yum源中是否存在python3-editables软件包
LOG_INFO "步骤1: 检查yum源中是否存在${PACKAGE_NAME}软件包"
dnf list available ${PACKAGE_NAME} > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在${PACKAGE_NAME}软件包"
exit 255
fi
LOG_INFO "yum源中存在${PACKAGE_NAME}软件包"
# 检查当前是否已安装python3-editables
LOG_INFO "步骤2: 检查当前是否已安装${PACKAGE_NAME}软件包"
if rpm -q ${PACKAGE_NAME} > /dev/null 2>&1; then
LOG_INFO "${PACKAGE_NAME}已安装,获取当前版本"
CURRENT_VERSION=$(rpm -q --queryformat="%{VERSION}-%{RELEASE}" ${PACKAGE_NAME})
LOG_INFO "当前安装版本: ${CURRENT_VERSION}"
INSTALLED_FLAG=true
else
LOG_INFO "${PACKAGE_NAME}未安装"
INSTALLED_FLAG=false
fi
# 获取可用的版本列表
LOG_INFO "步骤3: 获取${PACKAGE_NAME}可用的版本列表"
AVAILABLE_VERSIONS=$(dnf list available ${PACKAGE_NAME} --showduplicates | grep ${PACKAGE_NAME} | awk "{print $2}" | sort -V)
if [ -z "${AVAILABLE_VERSIONS}" ]; then
LOG_ERROR "无法获取可用的版本列表"
exit 255
fi
# 检查是否有多个版本可用
VERSION_COUNT=$(echo "${AVAILABLE_VERSIONS}" | wc -l)
if [ ${VERSION_COUNT} -lt 2 ]; then
LOG_ERROR "可用的版本数量不足,无法进行降级测试"
exit 255
fi
LOG_INFO "找到${VERSION_COUNT}个可用版本"
# 选择目标版本进行降级测试
LOG_INFO "步骤4: 选择目标版本进行降级测试"
if [ "${INSTALLED_FLAG}" = "true" ]; then
# 如果已安装,选择比当前版本低的版本
TARGET_VERSION=$(echo "${AVAILABLE_VERSIONS}" | sort -V | grep -B1 "${CURRENT_VERSION}" | head -n1)
if [ -z "${TARGET_VERSION}" ] || [ "${TARGET_VERSION}" = "${CURRENT_VERSION}" ]; then
LOG_INFO "没有比当前版本更低的版本可用,将测试升级到更高版本然后降级"
# 安装更高版本
HIGHER_VERSION=$(echo "${AVAILABLE_VERSIONS}" | sort -V | grep -A1 "${CURRENT_VERSION}" | tail -n1)
if [ -z "${HIGHER_VERSION}" ] || [ "${HIGHER_VERSION}" = "${CURRENT_VERSION}" ]; then
LOG_ERROR "没有可用的更高版本进行测试"
exit 255
fi
LOG_INFO "将升级到更高版本: ${HIGHER_VERSION}"
dnf install -y ${PACKAGE_NAME}-${HIGHER_VERSION}
CHECK_RESULT $? 0 0 "升级到更高版本失败"
CURRENT_VERSION=${HIGHER_VERSION}
# 现在选择降级版本
TARGET_VERSION=$(echo "${AVAILABLE_VERSIONS}" | sort -V | grep -B1 "${CURRENT_VERSION}" | head -n1)
fi
else
# 如果未安装,安装最新版本然后降级到旧版本
LATEST_VERSION=$(echo "${AVAILABLE_VERSIONS}" | sort -V | tail -n1)
LOG_INFO "安装最新版本: ${LATEST_VERSION}"
dnf install -y ${PACKAGE_NAME}-${LATEST_VERSION}
CHECK_RESULT $? 0 0 "安装最新版本失败"
CURRENT_VERSION=${LATEST_VERSION}
# 选择降级版本
TARGET_VERSION=$(echo "${AVAILABLE_VERSIONS}" | sort -V | grep -B1 "${CURRENT_VERSION}" | head -n1)
fi
if [ -z "${TARGET_VERSION}" ] || [ "${TARGET_VERSION}" = "${CURRENT_VERSION}" ]; then
LOG_ERROR "无法找到合适的降级目标版本"
exit 255
fi
LOG_INFO "当前版本: ${CURRENT_VERSION}, 目标降级版本: ${TARGET_VERSION}"
# 执行降级操作
LOG_INFO "步骤5: 执行降级操作到版本${TARGET_VERSION}"
dnf downgrade -y ${PACKAGE_NAME}-${TARGET_VERSION}
CHECK_RESULT $? 0 0 "降级操作失败"
# 验证降级结果
LOG_INFO "步骤6: 验证降级结果"
AFTER_VERSION=$(rpm -q --queryformat="%{VERSION}-%{RELEASE}" ${PACKAGE_NAME})
LOG_INFO "降级后版本: ${AFTER_VERSION}"
if [ "${AFTER_VERSION}" = "${TARGET_VERSION}" ]; then
LOG_INFO "降级成功: 当前版本${AFTER_VERSION}与目标版本${TARGET_VERSION}一致"
else
LOG_ERROR "降级失败: 当前版本${AFTER_VERSION}与目标版本${TARGET_VERSION}不一致"
exit 1
fi
# 环境清理
LOG_INFO "步骤7: 清理测试环境"
if [ "${INSTALLED_FLAG}" = "false" ]; then
# 如果测试前未安装,则卸载软件包
LOG_INFO "测试前未安装${PACKAGE_NAME},卸载软件包"
dnf remove -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "卸载软件包失败"
LOG_INFO "已卸载${PACKAGE_NAME}软件包"
else
# 如果测试前已安装,恢复到原始版本
if [ "${CURRENT_VERSION}" != "${AFTER_VERSION}" ]; then
LOG_INFO "恢复到测试前的版本: ${CURRENT_VERSION}"
dnf install -y ${PACKAGE_NAME}-${CURRENT_VERSION}
CHECK_RESULT $? 0 0 "恢复到原始版本失败"
FINAL_VERSION=$(rpm -q --queryformat="%{VERSION}-%{RELEASE}" ${PACKAGE_NAME})
if [ "${FINAL_VERSION}" = "${CURRENT_VERSION}" ]; then
LOG_INFO "成功恢复到原始版本: ${FINAL_VERSION}"
else
LOG_ERROR "恢复原始版本失败"
exit 1
fi
else
LOG_INFO "当前版本已是原始版本,无需恢复"
fi
fi
LOG_INFO "测试完成: python3-editables软件包降级功能测试通过"
}
main "$@"

View File

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

View File

@@ -1,80 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-25
# @License : Mulan PSL v2
# @Desc : 测试python3-editables软件包的安装功能验证安装过程是否成功
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试python3-editables软件包的安装功能"
# 步骤1检查yum源中是否存在python3-editables软件包
LOG_INFO "步骤1检查yum源中是否存在python3-editables软件包"
if ! dnf list available python3-editables &>/dev/null; then
LOG_ERROR "yum源中未找到python3-editables软件包"
exit 255
fi
LOG_INFO "yum源中存在python3-editables软件包"
# 步骤2检查当前环境中是否已安装python3-editables
LOG_INFO "步骤2检查当前环境中是否已安装python3-editables"
if rpm -q python3-editables &>/dev/null; then
LOG_INFO "环境中已安装python3-editables将保持安装状态"
INSTALLED=true
else
LOG_INFO "环境中未安装python3-editables将进行安装测试"
INSTALLED=false
fi
# 步骤3如果未安装则执行安装操作
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤3安装python3-editables软件包"
dnf install -y python3-editables
CHECK_RESULT $? 0 0 "安装python3-editables软件包失败"
LOG_INFO "python3-editables软件包安装成功"
fi
# 步骤4验证python3-editables是否可正常使用例如检查版本或运行简单命令
LOG_INFO "步骤4验证python3-editables安装是否成功"
# 这里可以添加具体的验证命令,例如检查版本或导入模块
# 示例python3 -c "import editables; print(editables.__version__)" &>/dev/null
# 由于python3-editables的具体使用方式可能因版本而异这里使用一个通用检查
if command -v python3 &>/dev/null; then
python3 -c "import editables" 2>/dev/null
CHECK_RESULT $? 0 0 "python3-editables导入失败安装可能存在问题"
LOG_INFO "python3-editables导入成功安装验证通过"
else
LOG_ERROR "系统中未找到python3命令"
exit 1
fi
# 步骤5环境恢复如果测试前未安装则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤5卸载python3-editables软件包以恢复环境"
dnf remove -y python3-editables
CHECK_RESULT $? 0 0 "卸载python3-editables软件包失败"
LOG_INFO "python3-editables软件包卸载成功环境已恢复"
else
LOG_INFO "步骤5测试前已安装python3-editables保持安装状态无需卸载"
fi
LOG_INFO "python3-editables软件包安装功能测试完成"
}
main "$@"

View File

@@ -1,167 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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-25
# @License : Mulan PSL v2
# @Desc : 测试python3-editables软件包的回滚功能验证回滚过程是否成功
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义日志函数
LOG_INFO() {
echo "[INFO] $1"
}
LOG_ERROR() {
echo "[ERROR] $1"
}
# 检查命令是否存在
check_command() {
if ! command -v $1 &> /dev/null; then
LOG_ERROR "命令 $1 不存在"
exit 255
fi
}
# 检查软件包是否存在
check_package_exist() {
LOG_INFO "检查软件包 $1 是否在 yum 源中"
if ! dnf list available $1 &> /dev/null; then
LOG_ERROR "软件包 $1 不在 yum 源中"
exit 255
fi
}
# 检查参数是否支持
check_param_support() {
LOG_INFO "检查命令 $1 是否支持参数 $2"
if ! $1 $2 --help &> /dev/null; then
LOG_ERROR "命令 $1 不支持参数 $2"
exit 255
fi
}
# 检查是否已安装
check_installed() {
LOG_INFO "检查软件包 $1 是否已安装"
if dnf list installed $1 &> /dev/null; then
LOG_INFO "软件包 $1 已安装"
return 0
else
LOG_INFO "软件包 $1 未安装"
return 1
fi
}
# 安装软件包
install_package() {
LOG_INFO "安装软件包 $1"
dnf install -y $1
CHECK_RESULT $? 0 0 "安装软件包 $1 失败"
}
# 卸载软件包
uninstall_package() {
LOG_INFO "卸载软件包 $1"
dnf remove -y $1
CHECK_RESULT $? 0 0 "卸载软件包 $1 失败"
}
# 回滚软件包
rollback_package() {
LOG_INFO "回滚软件包 $1"
dnf history undo last -y
CHECK_RESULT $? 0 0 "回滚软件包 $1 失败"
}
# 主测试逻辑
main() {
LOG_INFO "开始测试 python3-editables 软件包的回滚功能"
# 检查 dnf 命令是否存在
check_command "dnf"
# 检查软件包是否在 yum 源中
PACKAGE_NAME="python3-editables"
check_package_exist $PACKAGE_NAME
# 检查 dnf 是否支持 history 和 undo 参数
check_param_support "dnf" "history"
check_param_support "dnf history" "undo"
# 记录初始安装状态
check_installed $PACKAGE_NAME
INITIAL_INSTALLED=$?
# 如果未安装,则安装软件包
if [ $INITIAL_INSTALLED -ne 0 ]; then
install_package $PACKAGE_NAME
fi
# 记录安装后的状态
LOG_INFO "验证软件包 $PACKAGE_NAME 安装成功"
check_installed $PACKAGE_NAME
CHECK_RESULT $? 0 0 "软件包 $PACKAGE_NAME 安装后验证失败"
# 执行回滚操作
rollback_package $PACKAGE_NAME
# 验证回滚后的状态
LOG_INFO "验证软件包 $PACKAGE_NAME 回滚成功"
if [ $INITIAL_INSTALLED -eq 0 ]; then
# 初始已安装,回滚后应保持安装状态
check_installed $PACKAGE_NAME
CHECK_RESULT $? 0 0 "软件包 $PACKAGE_NAME 回滚后应保持安装状态"
else
# 初始未安装,回滚后应卸载
check_installed $PACKAGE_NAME
CHECK_RESULT $? 1 0 "软件包 $PACKAGE_NAME 回滚后应卸载"
fi
LOG_INFO "测试 python3-editables 软件包的回滚功能完成"
}
# 环境恢复
cleanup() {
LOG_INFO "开始清理测试环境"
# 根据初始状态恢复环境
if [ $INITIAL_INSTALLED -eq 0 ]; then
# 初始已安装,确保软件包已安装
check_installed $PACKAGE_NAME
if [ $? -ne 0 ]; then
install_package $PACKAGE_NAME
fi
else
# 初始未安装,确保软件包已卸载
check_installed $PACKAGE_NAME
if [ $? -eq 0 ]; then
uninstall_package $PACKAGE_NAME
fi
fi
LOG_INFO "环境清理完成"
}
# 执行主测试
main
# 清理环境
cleanup
}
main "$@"

View File

@@ -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-25
# @License : Mulan PSL v2
# @Desc : 测试python3-editables软件包的卸载功能验证卸载过程是否成功
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试python3-editables软件包的卸载功能
LOG_INFO "开始测试python3-editables软件包的卸载功能"
# 检查yum源中是否存在python3-editables软件包
LOG_INFO "检查yum源中是否存在python3-editables软件包"
dnf list available python3-editables > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在python3-editables软件包"
exit 255
fi
# 检查当前是否已安装python3-editables
LOG_INFO "检查当前是否已安装python3-editables"
rpm -q python3-editables > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "python3-editables已安装标记为需要保持安装状态"
ALREADY_INSTALLED=1
else
LOG_INFO "python3-editables未安装标记为需要测试安装和卸载"
ALREADY_INSTALLED=0
fi
# 如果未安装,则先安装软件包
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "安装python3-editables软件包"
dnf install -y python3-editables
CHECK_RESULT $? 0 0 "安装python3-editables失败"
# 验证安装是否成功
LOG_INFO "验证python3-editables安装是否成功"
rpm -q python3-editables
CHECK_RESULT $? 0 0 "验证python3-editables安装失败"
fi
# 测试卸载功能
LOG_INFO "测试python3-editables卸载功能"
dnf remove -y python3-editables
CHECK_RESULT $? 0 0 "卸载python3-editables失败"
# 验证卸载是否成功
LOG_INFO "验证python3-editables是否已卸载"
rpm -q python3-editables > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_ERROR "python3-editables卸载验证失败软件包仍存在"
exit 1
else
LOG_INFO "python3-editables卸载验证成功"
fi
# 环境恢复:如果最初未安装,则保持未安装状态;如果最初已安装,则重新安装
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "测试完成保持环境未安装python3-editables状态"
else
LOG_INFO "重新安装python3-editables以恢复原始环境"
dnf install -y python3-editables
CHECK_RESULT $? 0 0 "重新安装python3-editables失败"
# 验证重新安装是否成功
LOG_INFO "验证python3-editables重新安装是否成功"
rpm -q python3-editables
CHECK_RESULT $? 0 0 "验证python3-editables重新安装失败"
fi
LOG_INFO "python3-editables卸载功能测试完成"
}
main "$@"

View File

@@ -1,94 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-25
# @License : Mulan PSL v2
# @Desc : 测试python3-editables软件包的升级功能验证升级过程是否成功
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 判断是否已安装python3-editables软件包
LOG_INFO "检查python3-editables软件包是否已安装"
dnf list installed python3-editables > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "python3-editables软件包已安装测试结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "python3-editables软件包未安装测试结束后将卸载"
INSTALLED=false
fi
# 检查yum源中是否存在python3-editables软件包
LOG_INFO "检查yum源中是否存在python3-editables软件包"
dnf list available python3-editables > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在python3-editables软件包"
exit 255
fi
# 检查升级功能参数是否支持
LOG_INFO "检查dnf升级功能参数是否支持"
dnf --help | grep -q "upgrade"
if [ $? -ne 0 ]; then
LOG_ERROR "dnf工具不支持upgrade参数"
exit 255
fi
# 安装python3-editables软件包如果未安装
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装python3-editables软件包"
dnf install -y python3-editables
CHECK_RESULT $? 0 0 "安装python3-editables软件包失败"
fi
# 获取当前python3-editables软件包版本
LOG_INFO "获取当前python3-editables软件包版本"
CURRENT_VERSION=$(dnf list installed python3-editables | grep python3-editables | awk "{print $2}")
LOG_INFO "当前python3-editables版本$CURRENT_VERSION"
# 执行软件包升级
LOG_INFO "执行python3-editables软件包升级"
dnf upgrade -y python3-editables
CHECK_RESULT $? 0 0 "升级python3-editables软件包失败"
# 验证升级后版本
LOG_INFO "获取升级后python3-editables软件包版本"
UPGRADED_VERSION=$(dnf list installed python3-editables | grep python3-editables | awk "{print $2}")
LOG_INFO "升级后python3-editables版本$UPGRADED_VERSION"
# 检查版本是否发生变化
if [ "$CURRENT_VERSION" != "$UPGRADED_VERSION" ]; then
LOG_INFO "python3-editables软件包版本已从 $CURRENT_VERSION 升级到 $UPGRADED_VERSION"
CHECK_RESULT 0 0 0 "版本未发生变化"
else
LOG_INFO "python3-editables软件包版本未发生变化当前已是最新版本"
CHECK_RESULT 0 0 0 "版本未发生变化但非错误"
fi
# 环境清理:如果测试前未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "清理环境卸载python3-editables软件包"
dnf remove -y python3-editables
CHECK_RESULT $? 0 0 "卸载python3-editables软件包失败"
LOG_INFO "环境已恢复到测试前状态"
else
LOG_INFO "保持python3-editables软件包安装状态"
fi
LOG_INFO "python3-editables软件包升级功能测试完成"
}
main "$@"

View File

@@ -1,159 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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-25
# @License : Mulan PSL v2
# @Desc : 验证通过editables安装的项目是否处于可编辑模式
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义颜色变量(可选,用于日志输出)
LOG_INFO() {
echo "[INFO] $1"
}
LOG_ERROR() {
echo "[ERROR] $1"
}
# 检查命令是否存在
check_command() {
if ! command -v $1 &> /dev/null; then
LOG_ERROR "命令 $1 不存在"
exit 255
fi
}
# 检查软件包是否在yum源中
check_package_in_repo() {
LOG_INFO "检查软件包 $1 是否在yum源中"
if ! dnf list available $1 &> /dev/null; then
LOG_ERROR "软件包 $1 不在yum源中"
exit 255
fi
}
# 检查参数是否存在
check_parameter() {
if [ -z "$1" ]; then
LOG_ERROR "参数不存在或不支持"
exit 255
fi
}
# 清理环境函数
cleanup() {
LOG_INFO "开始清理环境"
if [ $ORIGINAL_INSTALLED -eq 0 ]; then
LOG_INFO "卸载软件包 python3-editables"
dnf remove -y python3-editables &> /dev/null
CHECK_RESULT $? 0 0 "卸载软件包失败"
else
LOG_INFO "保持软件包 python3-editables 的安装状态"
fi
}
# 主测试函数
main() {
LOG_INFO "开始测试验证通过editables安装的项目是否处于可编辑模式"
# 检查必要命令是否存在
check_command dnf
check_command python3
check_command pip
# 检查软件包是否在yum源中
check_package_in_repo python3-editables
# 检查当前是否已安装python3-editables
LOG_INFO "检查当前是否已安装 python3-editables"
if dnf list installed python3-editables &> /dev/null; then
ORIGINAL_INSTALLED=1
LOG_INFO "python3-editables 已安装,测试结束后将保持安装状态"
else
ORIGINAL_INSTALLED=0
LOG_INFO "python3-editables 未安装,将作为测试步骤安装"
fi
# 安装软件包(如果未安装)
if [ $ORIGINAL_INSTALLED -eq 0 ]; then
LOG_INFO "安装软件包 python3-editables"
dnf install -y python3-editables &> /dev/null
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 创建一个测试Python项目
LOG_INFO "创建一个测试Python项目"
TEST_PROJECT_DIR="/tmp/test_editable_project"
mkdir -p $TEST_PROJECT_DIR
cd $TEST_PROJECT_DIR
cat > setup.py << EOF
from setuptools import setup, find_packages
setup(
name="test_editable",
version="0.1",
packages=find_packages(),
)
EOF
mkdir -p test_editable
cat > test_editable/__init__.py << EOF
def hello():
return "Hello from editable package"
EOF
# 使用editables模式安装项目
LOG_INFO "使用editables模式安装测试项目"
pip install -e . &> /dev/null
CHECK_RESULT $? 0 0 "使用editables模式安装失败"
# 验证项目是否处于可编辑模式
LOG_INFO "验证项目是否处于可编辑模式"
python3 -c "import test_editable; print(test_editable.hello())" 2>&1 | grep -q "Hello from editable package"
CHECK_RESULT $? 0 0 "项目未处于可编辑模式或功能异常"
# 修改项目文件并验证更改是否生效
LOG_INFO "修改项目文件并验证更改是否生效"
cat > test_editable/__init__.py << EOF
def hello():
return "Hello from modified editable package"
EOF
python3 -c "import test_editable; print(test_editable.hello())" 2>&1 | grep -q "Hello from modified editable package"
CHECK_RESULT $? 0 0 "项目修改后未立即生效,可能未处于可编辑模式"
# 卸载测试项目
LOG_INFO "卸载测试项目"
pip uninstall -y test_editable &> /dev/null
CHECK_RESULT $? 0 0 "卸载测试项目失败"
# 清理测试目录
LOG_INFO "清理测试目录"
cd /
rm -rf $TEST_PROJECT_DIR
LOG_INFO "测试完成验证通过editables安装的项目是否处于可编辑模式"
}
# 设置退出时清理环境
trap cleanup EXIT
# 执行主测试
main
}
main "$@"

View File

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

View File

@@ -1,67 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-31
# @License : Mulan PSL v2
# @Desc : 测试python3-html5lib核心模块的导入功能验证导入是否成功且无错误
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查python3-html5lib是否已安装
LOG_INFO "开始测试python3-html5lib核心模块导入功能"
# 检查是否已安装python3-html5lib
LOG_INFO "检查python3-html5lib是否已安装"
if rpm -q python3-html5lib > /dev/null 2>&1; then
LOG_INFO "python3-html5lib已安装测试后将保持安装状态"
ALREADY_INSTALLED=1
else
LOG_INFO "python3-html5lib未安装将进行安装测试"
ALREADY_INSTALLED=0
fi
# 检查yum源中是否有python3-html5lib软件包
LOG_INFO "检查yum源中是否有python3-html5lib软件包"
if ! dnf list available python3-html5lib > /dev/null 2>&1; then
LOG_ERROR "yum源中未找到python3-html5lib软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "安装python3-html5lib软件包"
dnf install -y python3-html5lib
CHECK_RESULT $? 0 0 "安装python3-html5lib失败"
fi
# 测试python3-html5lib核心模块导入功能
LOG_INFO "测试python3-html5lib核心模块导入功能"
python3 -c "import html5lib; print("html5lib模块导入成功版本" + html5lib.__version__)"
CHECK_RESULT $? 0 0 "python3-html5lib模块导入失败"
# 清理环境:如果之前未安装,则卸载软件包
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "清理环境卸载python3-html5lib软件包"
dnf remove -y python3-html5lib
CHECK_RESULT $? 0 0 "卸载python3-html5lib失败"
else
LOG_INFO "保持python3-html5lib安装状态不进行卸载"
fi
LOG_INFO "python3-html5lib核心模块导入功能测试完成"
}
main "$@"

View File

@@ -1,85 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-31
# @License : Mulan PSL v2
# @Desc : 测试html5lib的HTML解析功能验证其能否正确解析一个简单的HTML片段
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装python3-html5lib
LOG_INFO "检查是否已安装python3-html5lib"
rpm -q python3-html5lib > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "python3-html5lib已安装测试结束后保持安装状态"
already_installed=true
else
LOG_INFO "python3-html5lib未安装将在测试前安装"
already_installed=false
fi
# 检查yum源中是否有python3-html5lib软件包
LOG_INFO "检查yum源中是否有python3-html5lib软件包"
dnf list available python3-html5lib > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到python3-html5lib软件包"
exit 255
fi
# 如果未安装则安装python3-html5lib
if [ "$already_installed" = "false" ]; then
LOG_INFO "安装python3-html5lib"
dnf install -y python3-html5lib
CHECK_RESULT $? 0 0 "安装python3-html5lib失败"
fi
# 测试html5lib的HTML解析功能
LOG_INFO "测试html5lib的HTML解析功能"
cat > /tmp/test_html5lib.py << "EOF"
import html5lib
html_fragment = "<div><p>Hello, World!</p></div>"
try:
parsed = html5lib.parse(html_fragment)
print("HTML解析成功")
# 简单验证解析结果
if parsed.find(".//p") is not None:
print("找到p标签")
else:
print("未找到p标签")
exit(1)
except Exception as e:
print(f"HTML解析失败: {e}")
exit(1)
EOF
python3 /tmp/test_html5lib.py
CHECK_RESULT $? 0 0 "html5lib HTML解析功能测试失败"
# 清理临时文件
LOG_INFO "清理临时文件"
rm -f /tmp/test_html5lib.py
# 如果测试前未安装则卸载python3-html5lib
if [ "$already_installed" = "false" ]; then
LOG_INFO "卸载python3-html5lib"
dnf remove -y python3-html5lib
CHECK_RESULT $? 0 0 "卸载python3-html5lib失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,83 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-31
# @License : Mulan PSL v2
# @Desc : 测试html5lib的序列化功能验证能否将文档树正确序列化为HTML字符串
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试html5lib的序列化功能"
LOG_INFO "步骤1: 检查环境是否已安装python3-html5lib软件包"
if dnf list installed python3-html5lib &>/dev/null; then
LOG_INFO "python3-html5lib已安装测试结束后将保持安装状态"
already_installed=true
else
LOG_INFO "python3-html5lib未安装将在测试步骤中安装测试结束后卸载"
already_installed=false
fi
LOG_INFO "步骤2: 检查yum源中是否存在python3-html5lib软件包"
if ! dnf list available python3-html5lib &>/dev/null; then
LOG_ERROR "yum源中未找到python3-html5lib软件包"
exit 255
fi
if [ "$already_installed" = false ]; then
LOG_INFO "步骤3: 安装python3-html5lib软件包"
dnf install -y python3-html5lib
CHECK_RESULT $? 0 0 "安装python3-html5lib失败"
fi
LOG_INFO "步骤4: 验证html5lib的序列化功能"
cat > test_serialize.py << "EOF"
import html5lib
from html5lib import serialize, treebuilders
html_string = "<html><body><h1>Test</h1><p>Hello World</p></body></html>"
parser = html5lib.HTMLParser(tree=treebuilders.getTreeBuilder("dom"))
dom_tree = parser.parse(html_string)
serialized = serialize(dom_tree, tree="dom")
print(serialized)
EOF
python3 test_serialize.py > serialize_output.txt
CHECK_RESULT $? 0 0 "执行Python序列化测试失败"
LOG_INFO "步骤5: 检查序列化输出是否包含预期内容"
if grep -q "<html><body><h1>Test</h1><p>Hello World</p></body></html>" serialize_output.txt; then
LOG_INFO "序列化功能正常文档树成功转换为HTML字符串"
else
LOG_ERROR "序列化输出不符合预期"
exit 1
fi
LOG_INFO "步骤6: 清理临时文件"
rm -f test_serialize.py serialize_output.txt
if [ "$already_installed" = false ]; then
LOG_INFO "步骤7: 卸载测试安装的python3-html5lib软件包"
dnf remove -y python3-html5lib
CHECK_RESULT $? 0 0 "卸载python3-html5lib失败"
fi
LOG_INFO "html5lib序列化功能测试完成"
}
main "$@"

View File

@@ -1,164 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-31
# @License : Mulan PSL v2
# @Desc : 测试html5lib的树构建功能验证解析后能否生成正确的文档树结构
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 判断是否已安装python3-html5lib
LOG_INFO "检查python3-html5lib是否已安装"
rpm -q python3-html5lib
if [ $? -eq 0 ]; then
LOG_INFO "python3-html5lib已安装测试后保持安装状态"
INSTALLED=1
else
LOG_INFO "python3-html5lib未安装将在测试后卸载"
INSTALLED=0
fi
# 检查yum源中是否有python3-html5lib软件包
LOG_INFO "检查yum源中是否有python3-html5lib软件包"
dnf list available python3-html5lib 2>&1 | grep -q "python3-html5lib"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到python3-html5lib软件包"
exit 255
fi
# 如果未安装则安装python3-html5lib
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装python3-html5lib"
dnf install -y python3-html5lib
CHECK_RESULT $? 0 0 "安装python3-html5lib失败"
fi
# 验证html5lib的树构建功能
LOG_INFO "测试html5lib的树构建功能验证解析后能否生成正确的文档树结构"
# 创建测试HTML文件
LOG_INFO "创建测试HTML文件"
cat > test_html5lib.html << EOF
<!DOCTYPE html>
<html>
<head>
<title>Test Page</title>
</head>
<body>
<h1>Hello, World!</h1>
<p>This is a test paragraph.</p>
<ul>
<li>Item 1</li>
<li>Item 2</li>
</ul>
</body>
</html>
EOF
# 创建Python测试脚本
LOG_INFO "创建Python测试脚本验证html5lib树构建功能"
cat > test_html5lib_treebuild.py << EOF
import html5lib
import sys
# 读取HTML文件
with open("test_html5lib.html", "r", encoding="utf-8") as f:
html_content = f.read()
# 使用html5lib解析HTML
try:
parser = html5lib.HTMLParser(tree=html5lib.getTreeBuilder("dom"))
document = parser.parse(html_content)
# 验证文档结构
# 检查根元素
root = document.documentElement
if root.tagName != "html":
print("错误: 根元素不是html")
sys.exit(1)
# 检查head元素
head_elements = root.getElementsByTagName("head")
if len(head_elements) != 1:
print("错误: head元素数量不正确")
sys.exit(1)
# 检查body元素
body_elements = root.getElementsByTagName("body")
if len(body_elements) != 1:
print("错误: body元素数量不正确")
sys.exit(1)
# 检查h1元素
h1_elements = body_elements[0].getElementsByTagName("h1")
if len(h1_elements) != 1:
print("错误: h1元素数量不正确")
sys.exit(1)
# 检查h1文本内容
h1_text = h1_elements[0].childNodes[0].nodeValue
if h1_text != "Hello, World!":
print(f"错误: h1文本内容不正确: {h1_text}")
sys.exit(1)
# 检查p元素
p_elements = body_elements[0].getElementsByTagName("p")
if len(p_elements) != 1:
print("错误: p元素数量不正确")
sys.exit(1)
# 检查ul和li元素
ul_elements = body_elements[0].getElementsByTagName("ul")
if len(ul_elements) != 1:
print("错误: ul元素数量不正确")
sys.exit(1)
li_elements = ul_elements[0].getElementsByTagName("li")
if len(li_elements) != 2:
print(f"错误: li元素数量不正确: {len(li_elements)}")
sys.exit(1)
print("成功: HTML文档树结构正确")
sys.exit(0)
except Exception as e:
print(f"错误: 解析HTML时发生异常: {str(e)}")
sys.exit(1)
EOF
# 执行Python测试脚本
LOG_INFO "执行Python测试脚本验证树构建功能"
python3 test_html5lib_treebuild.py
CHECK_RESULT $? 0 0 "html5lib树构建功能测试失败"
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f test_html5lib.html test_html5lib_treebuild.py
# 如果测试前未安装则卸载python3-html5lib
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载python3-html5lib"
dnf remove -y python3-html5lib
CHECK_RESULT $? 0 0 "卸载python3-html5lib失败"
LOG_INFO "环境已恢复到测试前状态"
else
LOG_INFO "保持python3-html5lib安装状态"
fi
LOG_INFO "html5lib树构建功能测试完成"
}
main "$@"

View File

@@ -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-31
# @License : Mulan PSL v2
# @Desc : 测试python3-html5lib软件包的卸载功能验证是否可以干净地卸载该软件包
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试python3-html5lib软件包的卸载功能"
LOG_INFO "步骤1检查yum源中是否存在python3-html5lib软件包"
dnf list available python3-html5lib > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到python3-html5lib软件包"
exit 255
fi
LOG_INFO "步骤2检查当前环境是否已安装python3-html5lib"
rpm -q python3-html5lib > /dev/null 2>&1
INSTALLED=$?
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "检测到python3-html5lib已安装测试后将保持安装状态"
ORIGINAL_STATE="installed"
else
LOG_INFO "检测到python3-html5lib未安装将执行安装作为测试步骤"
ORIGINAL_STATE="not_installed"
fi
if [ "$ORIGINAL_STATE" = "not_installed" ]; then
LOG_INFO "步骤3安装python3-html5lib软件包"
dnf install -y python3-html5lib
CHECK_RESULT $? 0 0 "安装python3-html5lib软件包失败"
LOG_INFO "python3-html5lib软件包安装成功"
fi
LOG_INFO "步骤4执行卸载python3-html5lib软件包"
dnf remove -y python3-html5lib
CHECK_RESULT $? 0 0 "卸载python3-html5lib软件包失败"
LOG_INFO "python3-html5lib软件包卸载成功"
LOG_INFO "步骤5验证python3-html5lib软件包是否已卸载"
rpm -q python3-html5lib > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_ERROR "验证失败python3-html5lib软件包未被干净卸载"
CHECK_RESULT 1 0 0 "卸载后软件包仍然存在"
else
LOG_INFO "验证成功python3-html5lib软件包已被干净卸载"
fi
LOG_INFO "步骤6环境恢复"
if [ "$ORIGINAL_STATE" = "installed" ]; then
LOG_INFO "原始状态为已安装重新安装python3-html5lib"
dnf install -y python3-html5lib
CHECK_RESULT $? 0 0 "恢复安装python3-html5lib软件包失败"
LOG_INFO "环境已恢复至安装状态"
elif [ "$ORIGINAL_STATE" = "not_installed" ]; then
LOG_INFO "原始状态为未安装,无需额外操作,环境已恢复"
fi
LOG_INFO "测试python3-html5lib软件包的卸载功能完成"
}
main "$@"

View File

@@ -1,92 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-07
# @License : Mulan PSL v2
# @Desc : 测试qt6-qtscxml软件包是否能被正确安装
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义日志函数
LOG_INFO() {
echo "[INFO] $*"
}
LOG_ERROR() {
echo "[ERROR] $*" >&2
}
# 定义软件包名称
PACKAGE_NAME="qt6-qtscxml"
# 步骤1: 检查yum源中是否存在该软件包
LOG_INFO "步骤1: 检查yum源中是否存在软件包 $PACKAGE_NAME"
dnf list available "$PACKAGE_NAME" &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到软件包 $PACKAGE_NAME"
exit 255
fi
LOG_INFO "软件包 $PACKAGE_NAME 在yum源中存在"
# 步骤2: 检查当前环境中是否已安装该软件包
LOG_INFO "步骤2: 检查当前环境中是否已安装软件包 $PACKAGE_NAME"
if rpm -q "$PACKAGE_NAME" &>/dev/null; then
LOG_INFO "软件包 $PACKAGE_NAME 已安装,脚本结束后将保持安装状态"
ALREADY_INSTALLED=true
else
LOG_INFO "软件包 $PACKAGE_NAME 未安装"
ALREADY_INSTALLED=false
fi
# 步骤3: 如果未安装,则安装软件包作为测试步骤
if [ "$ALREADY_INSTALLED" = false ]; then
LOG_INFO "步骤3: 安装软件包 $PACKAGE_NAME"
dnf install -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
LOG_INFO "软件包 $PACKAGE_NAME 安装成功"
fi
# 步骤4: 验证软件包安装是否成功
LOG_INFO "步骤4: 验证软件包 $PACKAGE_NAME 是否成功安装"
rpm -q "$PACKAGE_NAME" &>/dev/null
CHECK_RESULT $? 0 0 "软件包 $PACKAGE_NAME 未正确安装"
# 步骤5: 测试软件包的基本功能(例如,查看版本信息)
LOG_INFO "步骤5: 测试软件包 $PACKAGE_NAME 的基本功能"
if command -v qscxmlc &>/dev/null; then
LOG_INFO "qscxmlc 命令存在,尝试查看版本信息"
qscxmlc --version &>/dev/null
CHECK_RESULT $? 0 0 "qscxmlc 命令执行失败"
LOG_INFO "qscxmlc 命令执行成功"
else
LOG_INFO "qscxmlc 命令不存在,跳过功能测试"
fi
# 步骤6: 清理环境,恢复到之前的状态
LOG_INFO "步骤6: 清理环境,恢复到之前的状态"
if [ "$ALREADY_INSTALLED" = false ]; then
LOG_INFO "卸载在测试过程中安装的软件包 $PACKAGE_NAME"
dnf remove -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
LOG_INFO "软件包 $PACKAGE_NAME 卸载成功"
else
LOG_INFO "软件包 $PACKAGE_NAME 在测试前已安装,保持安装状态"
fi
LOG_INFO "测试脚本执行完毕"
}
main "$@"

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