This commit is contained in:
2026-04-21 21:24:05 +08:00
167 changed files with 0 additions and 11256 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,11 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/bullet/bullet-devel",
"machine num": 1,
"cases": [
{
"name": "test_bullet-devel_install",
"desc": "测试 bullet-devel 软件包的安装功能,验证安装过程是否正常完成。",
"machine num": 1
}
]
}

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,15 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/jsch-agent-proxy/jsch-agent-proxy-pageant",
"machine num": 1,
"cases": [
{
"name": "test_jsch-agent-proxy-pageant_install",
"desc": "测试软件包的安装功能,验证是否能够正确安装到系统中",
"machine num": 1
},
{
"name": "test_jsch-agent-proxy-pageant_function_connect",
"desc": "测试软件包的连接功能,验证是否能够正确建立连接"
}
]
}

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

@@ -1,26 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/lodash/nodejs-lodash-unescape",
"machine num": 1,
"cases": [
{
"name": "test_nodejs-lodash-unescape_function_install",
"desc": "测试通过包管理器安装软件包 nodejs-lodash-unescape 的功能是否正常"
},
{
"name": "test_nodejs-lodash-unescape_function_uninstall",
"desc": "测试通过包管理器卸载软件包 nodejs-lodash-unescape 的功能是否正常"
},
{
"name": "test_nodejs-lodash-unescape_function_check_installed",
"desc": "测试检查 nodejs-lodash-unescape 软件包是否已正确安装的功能"
},
{
"name": "test_nodejs-lodash-unescape_function_unescape_html",
"desc": "测试 unescape 函数解码 HTML 实体字符的核心功能"
},
{
"name": "test_nodejs-lodash-unescape_function_import_module",
"desc": "测试在 Node.js 代码中能否成功导入 lodash.unescape 模块"
}
]
}

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

@@ -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,22 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/pcp/pcp-libs-devel",
"machine num": 1,
"cases": [
{
"name": "test_pcp-libs-devel_function_install",
"desc": "Test package installation"
},
{
"name": "test_pcp-libs-devel_function_remove",
"desc": "Test package removal"
},
{
"name": "test_pcp-libs-devel_function_version",
"desc": "Test package version query"
},
{
"name": "test_pcp-libs-devel_function_headers",
"desc": "Test presence of header files"
}
]
}

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

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/python-sphinxtesters/python-sphinxtesters-help",
"machine num": 1,
"cases": [
{
"name": "test_python-sphinxtesters-help_function_basic",
"desc": "Test basic functionality of python-sphinxtesters-help"
}
]
}

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

@@ -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

@@ -1,22 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-e/texlive-context-gnuplot-doc",
"machine num": 1,
"cases": [
{
"name": "test_texlive-context-gnuplot-doc_function_install",
"desc": "Test package installation"
},
{
"name": "test_texlive-context-gnuplot-doc_function_check",
"desc": "Test package existence check"
},
{
"name": "test_texlive-context-gnuplot-doc_function_uninstall",
"desc": "Test package uninstallation"
},
{
"name": "test_texlive-context-gnuplot-doc_function_doc_access",
"desc": "Test documentation file access"
}
]
}

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

@@ -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-layaureo",
"machine num": 1,
"cases": [
{
"name": "test_texlive-layaureo_function_install",
"desc": "Test installation of texlive-layaureo package"
}
]
}

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,30 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-s/texlive-pst-pulley-doc",
"machine num": 1,
"cases": [
{
"name": "test_texlive-pst-pulley-doc_function_draw",
"desc": "Test the drawing functionality of the pulley diagram"
},
{
"name": "test_texlive-pst-pulley-doc_function_install",
"desc": "Test the installation of the texlive-pst-pulley-doc package"
},
{
"name": "test_texlive-pst-pulley-doc_function_uninstall",
"desc": "Test the uninstallation of the texlive-pst-pulley-doc package"
},
{
"name": "test_texlive-pst-pulley-doc_function_check_installed",
"desc": "Test if the texlive-pst-pulley-doc package is installed"
},
{
"name": "test_texlive-pst-pulley-doc_function_doc_exist",
"desc": "Test the existence of the documentation files for the package"
},
{
"name": "test_texlive-pst-pulley-doc_function_doc_content",
"desc": "Test the content of the documentation for correctness"
}
]
}

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

@@ -1,11 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-w/texlive-templatetools-doc",
"machine num": 1,
"cases": [
{
"name": "test_texlive-templatetools-doc_install",
"desc": "测试texlive-templatetools-doc软件包的安装功能验证是否能够正确安装到系统中。",
"machine num": 1
}
]
}

View File

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

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,34 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/virt-viewer/virt-viewer-help",
"machine num": 1,
"cases": [
{
"name": "test_virt-viewer-help_function_install",
"desc": "Test package installation"
},
{
"name": "test_virt-viewer-help_function_uninstall",
"desc": "Test package removal"
},
{
"name": "test_virt-viewer-help_function_basic",
"desc": "Test basic commands"
},
{
"name": "test_virt-viewer-help_function_connect",
"desc": "Test remote connection functionality"
},
{
"name": "test_virt-viewer-help_function_version",
"desc": "Test version information"
},
{
"name": "test_virt-viewer-help_function_help",
"desc": "Test help documentation"
},
{
"name": "test_virt-viewer-help_function_config",
"desc": "Test configuration files"
}
]
}

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,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-11
# @License : Mulan PSL v2
# @Desc : 测试 bullet-devel 软件包的安装功能,验证安装过程是否正常完成。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查 bullet-devel 软件包是否已安装
LOG_INFO "检查 bullet-devel 软件包是否已安装"
rpm -q bullet-devel > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "bullet-devel 软件包已安装,脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "bullet-devel 软件包未安装,将在测试完成后卸载"
INSTALLED=false
fi
# 检查 yum 源中是否存在 bullet-devel 软件包
LOG_INFO "检查 yum 源中是否存在 bullet-devel 软件包"
dnf list available bullet-devel > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum 源中未找到 bullet-devel 软件包"
exit 255
fi
# 安装 bullet-devel 软件包
LOG_INFO "开始安装 bullet-devel 软件包"
dnf install -y bullet-devel > /dev/null 2>&1
CHECK_RESULT $? 0 0 "bullet-devel 软件包安装失败"
# 验证 bullet-devel 软件包是否成功安装
LOG_INFO "验证 bullet-devel 软件包是否成功安装"
rpm -q bullet-devel > /dev/null 2>&1
CHECK_RESULT $? 0 0 "bullet-devel 软件包未正确安装"
# 如果测试前未安装,则在测试完成后卸载
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载 bullet-devel 软件包"
dnf remove -y bullet-devel > /dev/null 2>&1
CHECK_RESULT $? 0 0 "bullet-devel 软件包卸载失败"
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,64 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-08
# @License : Mulan PSL v2
# @Desc : 测试软件包的连接功能,验证是否能够正确建立连接
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试jsch-agent-proxy-pageant的连接功能"
# 检查是否已安装jsch-agent-proxy-pageant
LOG_INFO "检查jsch-agent-proxy-pageant是否已安装"
if dnf list installed jsch-agent-proxy-pageant &>/dev/null; then
LOG_INFO "jsch-agent-proxy-pageant已安装脚本结束后将保持安装状态"
installed=true
else
LOG_INFO "jsch-agent-proxy-pageant未安装将在测试结束后卸载"
installed=false
fi
# 检查yum源中是否有jsch-agent-proxy-pageant
LOG_INFO "检查yum源中是否有jsch-agent-proxy-pageant"
if ! dnf list available jsch-agent-proxy-pageant &>/dev/null; then
LOG_ERROR "yum源中未找到jsch-agent-proxy-pageant软件包"
exit 255
fi
# 安装jsch-agent-proxy-pageant
if [ "$installed" = false ]; then
LOG_INFO "安装jsch-agent-proxy-pageant"
dnf install -y jsch-agent-proxy-pageant
CHECK_RESULT $? 0 0 "安装jsch-agent-proxy-pageant失败"
fi
# 测试连接功能
LOG_INFO "测试jsch-agent-proxy-pageant的连接功能"
jsch-agent-proxy-pageant --connect
CHECK_RESULT $? 0 0 "jsch-agent-proxy-pageant连接失败"
# 清理环境
if [ "$installed" = false ]; then
LOG_INFO "卸载jsch-agent-proxy-pageant"
dnf remove -y jsch-agent-proxy-pageant
CHECK_RESULT $? 0 0 "卸载jsch-agent-proxy-pageant失败"
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 : 2025-07-03
# @License : Mulan PSL v2
# @Desc : 测试软件包的安装功能,验证是否能够正确安装到系统中
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查软件包是否存在于yum源中
check_package_existence() {
dnf list available | grep -q "$1"
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 $1 不存在于yum源中"
exit 255
fi
}
# 检查命令是否成功执行
check_command_success() {
if [ $1 -ne 0 ]; then
LOG_ERROR "命令执行失败: $2"
exit $1
fi
}
# 检查环境是否已安装软件包
check_installed() {
rpm -q "$1" > /dev/null 2>&1
return $?
}
# 主函数
main() {
PACKAGE_NAME="jsch-agent-proxy-pageant"
# 步骤1: 检查软件包是否存在于yum源中
LOG_INFO "步骤1: 检查软件包 $PACKAGE_NAME 是否存在于yum源中"
check_package_existence "$PACKAGE_NAME"
# 步骤2: 检查环境是否已安装软件包
LOG_INFO "步骤2: 检查环境是否已安装软件包 $PACKAGE_NAME"
if check_installed "$PACKAGE_NAME"; then
LOG_INFO "软件包 $PACKAGE_NAME 已安装,脚本结束时保持安装状态"
INSTALLED=true
else
LOG_INFO "软件包 $PACKAGE_NAME 未安装,将进行安装测试"
INSTALLED=false
fi
# 步骤3: 安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤3: 安装软件包 $PACKAGE_NAME"
dnf install -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "安装软件包失败"
# 步骤4: 验证软件包是否成功安装
LOG_INFO "步骤4: 验证软件包 $PACKAGE_NAME 是否成功安装"
rpm -q "$PACKAGE_NAME" > /dev/null 2>&1
CHECK_RESULT $? 0 0 "验证软件包安装失败"
# 步骤5: 卸载软件包
LOG_INFO "步骤5: 卸载软件包 $PACKAGE_NAME"
dnf remove -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "卸载软件包失败"
# 步骤6: 验证软件包是否成功卸载
LOG_INFO "步骤6: 验证软件 package 是否成功卸载 "
rpm - q “$P ACKAGE _ NAME” > / dev / null 2 >&1
CHECK _ RESULT $ ? ! =0 ! =0 “验证卸载失败”
fi
# 恢复环境
if [ “$ INSTALLED” = false ]; then
LOG _ INFO “恢复环境:无需操作,因未修改原状态”
else
LOG _ INFO “恢复环境:保持原安装状态”
fi
exit 0
}
main
}
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-03-22
# @License : Mulan PSL v2
# @Desc : 测试在 Node.js 代码中能否成功导入 lodash.unescape 模块
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "1. 检查 yum 源中是否存在 nodejs 和 npm 软件包"
if ! dnf list available nodejs 2>/dev/null | grep -q nodejs; then
LOG_ERROR "yum 源中未找到 nodejs 软件包"
exit 255
fi
if ! dnf list available npm 2>/dev/null | grep -q npm; then
LOG_ERROR "yum 源中未找到 npm 软件包"
exit 255
fi
LOG_INFO "2. 检查当前环境是否已安装 nodejs 和 npm"
NODEJS_INSTALLED=0
NPM_INSTALLED=0
if command -v node >/dev/null 2>&1; then
NODEJS_INSTALLED=1
LOG_INFO "nodejs 已安装"
else
LOG_INFO "nodejs 未安装"
fi
if command -v npm >/dev/null 2>&1; then
NPM_INSTALLED=1
LOG_INFO "npm 已安装"
else
LOG_INFO "npm 未安装"
fi
LOG_INFO "3. 如果 nodejs 或 npm 未安装,则进行安装"
if [[ $NODEJS_INSTALLED -eq 0 ]] || [[ $NPM_INSTALLED -eq 0 ]]; then
dnf install -y nodejs npm
CHECK_RESULT $? 0 0 "安装 nodejs 和 npm 失败"
LOG_INFO "安装 nodejs 和 npm 成功"
INSTALLED_FOR_TEST=1
else
INSTALLED_FOR_TEST=0
fi
LOG_INFO "4. 检查 npm 命令是否支持 install 参数"
npm install --help >/dev/null 2>&1
CHECK_RESULT $? 0 0 "npm 命令不支持 install 参数" 255
LOG_INFO "5. 创建测试目录和测试代码"
TEST_DIR="/tmp/test_nodejs_lodash_unescape_$(date +%s)"
mkdir -p "$TEST_DIR"
cd "$TEST_DIR"
cat > test_unescape.js << "EOF"
const unescape = require("lodash.unescape");
if (typeof unescape === "function") {
console.log("SUCCESS: lodash.unescape 模块导入成功");
process.exit(0);
} else {
console.error("FAIL: lodash.unescape 模块导入失败");
process.exit(1);
}
EOF
LOG_INFO "6. 初始化 npm 项目并安装 lodash.unescape 模块"
npm init -y >/dev/null 2>&1
CHECK_RESULT $? 0 0 "npm init 失败"
npm install lodash.unescape
CHECK_RESULT $? 0 0 "安装 lodash.unescape 模块失败"
LOG_INFO "7. 执行测试代码,验证能否成功导入 lodash.unescape 模块"
node test_unescape.js
CHECK_RESULT $? 0 0 "Node.js 代码中导入 lodash.unescape 模块失败"
LOG_INFO "8. 清理测试目录"
cd /
rm -rf "$TEST_DIR"
LOG_INFO "9. 如果本次测试安装了软件包,则在测试结束后卸载"
if [[ $INSTALLED_FOR_TEST -eq 1 ]]; then
dnf remove -y nodejs npm
CHECK_RESULT $? 0 0 "卸载 nodejs 和 npm 失败"
LOG_INFO "卸载 nodejs 和 npm 成功"
else
LOG_INFO "测试前已安装 nodejs 和 npm保持安装状态"
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-22
# @License : Mulan PSL v2
# @Desc : 测试通过包管理器安装软件包 nodejs-lodash-unescape 的功能是否正常
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试通过包管理器安装软件包 nodejs-lodash-unescape 的功能是否正常"
LOG_INFO "步骤1: 检查 yum 源中是否存在 nodejs-lodash-unescape 软件包"
dnf list available nodejs-lodash-unescape &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum 源中未找到 nodejs-lodash-unescape 软件包"
exit 255
fi
LOG_INFO "步骤2: 检查系统是否已经安装了 nodejs-lodash-unescape"
rpm -q nodejs-lodash-unescape &>/dev/null
if [ $? -eq 0 ]; then
LOG_INFO "nodejs-lodash-unescape 已经安装,标记为已安装状态"
already_installed=1
else
LOG_INFO "nodejs-lodash-unescape 未安装,标记为未安装状态"
already_installed=0
fi
LOG_INFO "步骤3: 如果未安装,则安装 nodejs-lodash-unescape"
if [ $already_installed -eq 0 ]; then
dnf install -y nodejs-lodash-unescape
CHECK_RESULT $? 0 0 "安装 nodejs-lodash-unescape 失败"
LOG_INFO "安装 nodejs-lodash-unescape 成功"
fi
LOG_INFO "步骤4: 验证 nodejs-lodash-unescape 安装是否成功"
rpm -q nodejs-lodash-unescape
CHECK_RESULT $? 0 0 "验证 nodejs-lodash-unescape 安装失败"
LOG_INFO "步骤5: 测试 nodejs-lodash-unescape 功能是否正常"
node -e "const unescape = require("lodash/unescape"); console.log(unescape("fred, barney, &amp; pebbles"));" 2>&1 | grep -q "fred, barney, & pebbles"
CHECK_RESULT $? 0 0 "nodejs-lodash-unescape 功能测试失败"
LOG_INFO "步骤6: 环境恢复,如果之前未安装则卸载 nodejs-lodash-unescape"
if [ $already_installed -eq 0 ]; then
dnf remove -y nodejs-lodash-unescape
CHECK_RESULT $? 0 0 "卸载 nodejs-lodash-unescape 失败"
LOG_INFO "卸载 nodejs-lodash-unescape 成功"
else
LOG_INFO "保持 nodejs-lodash-unescape 安装状态"
fi
LOG_INFO "测试通过包管理器安装软件包 nodejs-lodash-unescape 的功能是否正常 测试完成"
}
main "$@"

View File

@@ -1,203 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-22
# @License : Mulan PSL v2
# @Desc : 测试 unescape 函数解码 HTML 实体字符的核心功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义日志函数
LOG_INFO() {
echo "[INFO] $1"
}
LOG_ERROR() {
echo "[ERROR] $1"
}
# 检查软件包是否在yum源中
check_package_in_repo() {
local package_name=$1
LOG_INFO "检查yum源中是否存在软件包: $package_name"
dnf list available "$package_name" &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 $package_name 不在yum源中"
exit 255
fi
}
# 检查命令参数
check_command_param() {
local command=$1
local param=$2
LOG_INFO "检查命令 $command 是否支持参数 $param"
$command --help 2>&1 | grep -q "$param"
if [ $? -ne 0 ]; then
LOG_ERROR "命令 $command 不支持参数 $param"
exit 255
fi
}
# 安装软件包
install_package() {
local package_name=$1
LOG_INFO "安装软件包: $package_name"
dnf install -y "$package_name"
CHECK_RESULT $? 0 0 "安装软件包 $package_name 失败"
}
# 卸载软件包
uninstall_package() {
local package_name=$1
LOG_INFO "卸载软件包: $package_name"
dnf remove -y "$package_name"
CHECK_RESULT $? 0 0 "卸载软件包 $package_name 失败"
}
# 检查Node.js是否已安装
check_nodejs_installed() {
LOG_INFO "检查Node.js是否已安装"
command -v node &>/dev/null
if [ $? -eq 0 ]; then
LOG_INFO "Node.js 已安装"
return 0
else
LOG_INFO "Node.js 未安装"
return 1
fi
}
# 检查lodash是否已安装
check_lodash_installed() {
LOG_INFO "检查lodash是否已安装"
npm list lodash &>/dev/null
if [ $? -eq 0 ]; then
LOG_INFO "lodash 已安装"
return 0
else
LOG_INFO "lodash 未安装"
return 1
fi
}
# 主测试函数
test_unescape_function() {
LOG_INFO "开始测试 unescape 函数解码 HTML 实体字符的核心功能"
# 创建测试脚本
cat > test_unescape.js << "EOF"
const _ = require("lodash");
// 测试数据
const testCases = [
{ input: "&amp;", expected: "&" },
{ input: "&lt;", expected: "<" },
{ input: "&gt;", expected: ">" },
{ input: "&quot;", expected: """ },
{ input: "&#39;", expected: """ },
{ input: "&amp;&lt;&gt;&quot;&#39;", expected: "&<>"" }
];
console.log("开始测试 lodash unescape 函数...");
let allPassed = true;
testCases.forEach((testCase, index) => {
const result = _.unescape(testCase.input);
if (result === testCase.expected) {
console.log(`测试用例 ${index + 1} 通过: ${testCase.input} -> ${result}`);
} else {
console.log(`测试用例 ${index + 1} 失败: ${testCase.input} -> ${result} (期望: ${testCase.expected})`);
allPassed = false;
}
});
if (allPassed) {
console.log("所有测试用例通过!");
process.exit(0);
} else {
console.log("部分测试用例失败!");
process.exit(1);
}
EOF
LOG_INFO "执行Node.js测试脚本"
node test_unescape.js
CHECK_RESULT $? 0 0 "unescape 函数测试失败"
# 清理测试文件
rm -f test_unescape.js
}
# 主函数
main() {
local nodejs_installed_before=0
local lodash_installed_before=0
# 检查Node.js安装状态
if check_nodejs_installed; then
nodejs_installed_before=1
fi
# 检查lodash安装状态
if check_lodash_installed; then
lodash_installed_before=1
fi
# 如果需要安装Node.js
if [ $nodejs_installed_before -eq 0 ]; then
LOG_INFO "Node.js未安装开始安装Node.js"
check_package_in_repo "nodejs"
install_package "nodejs"
fi
# 如果需要安装lodash
if [ $lodash_installed_before -eq 0 ]; then
LOG_INFO "lodash未安装开始安装lodash"
# 检查npm是否可用
check_command_param "npm" "install"
LOG_INFO "使用npm安装lodash"
npm install lodash
CHECK_RESULT $? 0 0 "安装lodash失败"
fi
# 执行测试
test_unescape_function
# 环境恢复
LOG_INFO "开始环境恢复"
# 如果测试前未安装lodash则卸载
if [ $lodash_installed_before -eq 0 ]; then
LOG_INFO "卸载测试期间安装的lodash"
npm uninstall lodash
CHECK_RESULT $? 0 0 "卸载lodash失败"
fi
# 如果测试前未安装Node.js则卸载
if [ $nodejs_installed_before -eq 0 ]; then
LOG_INFO "卸载测试期间安装的Node.js"
uninstall_package "nodejs"
fi
LOG_INFO "测试完成,环境已恢复"
}
# 执行主函数
main
}
main "$@"

View File

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

View File

@@ -1,107 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-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,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,73 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-01-25
# @License : Mulan PSL v2
# @Desc : Test presence of header files
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试头文件的存在性"
LOG_INFO "步骤1检查是否已安装pcp-libs-devel软件包"
if rpm -q pcp-libs-devel &>/dev/null; then
LOG_INFO "pcp-libs-devel已安装测试结束后保持安装状态"
installed_before_test=true
else
LOG_INFO "pcp-libs-devel未安装将在测试步骤中安装"
installed_before_test=false
fi
LOG_INFO "步骤2检查yum源中是否有pcp-libs-devel软件包"
if ! dnf list available pcp-libs-devel &>/dev/null; then
LOG_ERROR "yum源中未找到pcp-libs-devel软件包"
exit 255
fi
LOG_INFO "步骤3安装pcp-libs-devel软件包"
if [ "$installed_before_test" = false ]; then
dnf install -y pcp-libs-devel
CHECK_RESULT $? 0 0 "安装pcp-libs-devel失败"
fi
LOG_INFO "步骤4检查头文件是否存在"
header_files=(
"/usr/include/pcp/pmapi.h"
"/usr/include/pcp/pmda.h"
"/usr/include/pcp/impl.h"
)
for header in "${header_files[@]}"; do
LOG_INFO "检查头文件: $header"
if [ ! -f "$header" ]; then
LOG_ERROR "头文件 $header 不存在"
exit 1
fi
CHECK_RESULT $? 0 0 "头文件 $header 检查失败"
done
LOG_INFO "步骤5清理测试环境"
if [ "$installed_before_test" = false ]; then
LOG_INFO "卸载pcp-libs-devel软件包"
dnf remove -y pcp-libs-devel
CHECK_RESULT $? 0 0 "卸载pcp-libs-devel失败"
else
LOG_INFO "测试前已安装pcp-libs-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-09-15
# @License : Mulan PSL v2
# @Desc : Test package installation
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试软件包安装功能"
# 检查是否已安装pcp-libs-devel
if rpm -q pcp-libs-devel &>/dev/null; then
LOG_INFO "检测到pcp-libs-devel已安装测试将保持安装状态"
installed=true
else
LOG_INFO "未检测到pcp-libs-devel安装测试将执行安装步骤"
installed=false
fi
# 检查yum源中是否存在pcp-libs-devel
LOG_INFO "检查yum源中是否存在pcp-libs-devel"
if ! dnf list available pcp-libs-devel &>/dev/null; then
LOG_ERROR "yum源中未找到pcp-libs-devel软件包"
exit 255
fi
# 安装pcp-libs-devel如果未安装
if [ "$installed" = false ]; then
LOG_INFO "开始安装pcp-libs-devel"
dnf install -y pcp-libs-devel
CHECK_RESULT $? 0 0 "安装pcp-libs-devel失败"
fi
# 验证软件包是否成功安装
LOG_INFO "验证pcp-libs-devel是否成功安装"
rpm -q pcp-libs-devel &>/dev/null
CHECK_RESULT $? 0 0 "验证pcp-libs-devel安装失败"
# 测试卸载(如果最初未安装)
if [ "$installed" = false ]; then
LOG_INFO "开始卸载pcp-libs-devel"
dnf remove -y pcp-libs-devel
CHECK_RESULT $? 0 0 "卸载pcp-libs-devel失败"
# 验证软件包是否成功卸载
LOG_INFO "验证pcp-libs-devel是否成功卸载"
rpm -q pcp-libs-devel &>/dev/null
CHECK_RESULT $? 1 0 "验证pcp-libs-devel卸载失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
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-25
# @License : Mulan PSL v2
# @Desc : Test package removal
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试包移除功能
LOG_INFO "开始测试包移除功能"
# 定义软件包名称
PACKAGE_NAME="pcp-libs-devel"
# 检查软件包是否已安装
LOG_INFO "检查 $PACKAGE_NAME 是否已安装"
rpm -q $PACKAGE_NAME >/dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "$PACKAGE_NAME 已安装,测试结束后将保持安装状态"
ALREADY_INSTALLED=true
else
LOG_INFO "$PACKAGE_NAME 未安装,将在测试前安装,测试后卸载"
ALREADY_INSTALLED=false
fi
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否有 $PACKAGE_NAME 软件包"
dnf list available $PACKAGE_NAME >/dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到 $PACKAGE_NAME 软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$ALREADY_INSTALLED" = false ]; then
LOG_INFO "安装 $PACKAGE_NAME 软件包"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装 $PACKAGE_NAME 失败"
LOG_INFO "$PACKAGE_NAME 安装成功"
fi
# 验证软件包已正确安装
LOG_INFO "验证 $PACKAGE_NAME 已正确安装"
rpm -q $PACKAGE_NAME >/dev/null 2>&1
CHECK_RESULT $? 0 0 "$PACKAGE_NAME 未正确安装"
# 测试软件包移除功能
LOG_INFO "测试移除 $PACKAGE_NAME 软件包"
dnf remove -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "移除 $PACKAGE_NAME 失败"
LOG_INFO "$PACKAGE_NAME 移除成功"
# 验证软件包已被移除
LOG_INFO "验证 $PACKAGE_NAME 已被移除"
rpm -q $PACKAGE_NAME >/dev/null 2>&1
CHECK_RESULT $? 1 0 "$PACKAGE_NAME 未被正确移除"
# 环境恢复
LOG_INFO "开始环境恢复"
if [ "$ALREADY_INSTALLED" = true ]; then
LOG_INFO "重新安装 $PACKAGE_NAME 以恢复到初始状态"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "重新安装 $PACKAGE_NAME 失败"
LOG_INFO "$PACKAGE_NAME 已重新安装"
else
LOG_INFO "测试前 $PACKAGE_NAME 未安装,无需重新安装"
fi
LOG_INFO "测试完成,环境已恢复到初始状态"
}
main "$@"

View File

@@ -1,115 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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-25
# @License : Mulan PSL v2
# @Desc : Test package version query
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义日志函数(虽然题目说明无需定义,但实际使用时需要定义,这里补充定义以便脚本能正常运行)
LOG_INFO() {
echo "[INFO] $*"
}
LOG_ERROR() {
echo "[ERROR] $*"
}
# 定义检查结果函数
CHECK_RESULT() {
local actual=$1
local expect=$2
local mode=$3
local message=$4
if [ $mode -eq 0 ]; then
if [ $actual -eq $expect ]; then
LOG_INFO "$message: 成功"
else
LOG_ERROR "$message: 失败"
exit 1
fi
else
if [ $actual -ne $expect ]; then
LOG_INFO "$message: 成功"
else
LOG_ERROR "$message: 失败"
exit 1
fi
fi
}
# 定义SSH_CMD函数虽然题目说明无需定义但实际使用时需要定义这里补充定义以便脚本能正常运行
SSH_CMD() {
local cmd=$1
local ip=$2
local password=$3
local user=$4
# 这里仅模拟SSH执行实际应根据环境实现
echo "模拟在 $ip 执行: $cmd"
# 实际应使用sshpass或密钥方式执行例如
# sshpass -p $password ssh $user@$ip "$cmd"
}
# 测试脚本开始
LOG_INFO "开始测试: Test package version query"
# 检查是否已经安装pcp-libs-devel
LOG_INFO "步骤1: 检查pcp-libs-devel是否已安装"
if rpm -q pcp-libs-devel &> /dev/null; then
LOG_INFO "pcp-libs-devel已安装测试结束后将保持安装状态"
already_installed=true
else
LOG_INFO "pcp-libs-devel未安装将在测试过程中安装并最终卸载"
already_installed=false
fi
# 检查yum源中是否有pcp-libs-devel软件包
LOG_INFO "步骤2: 检查yum源中是否有pcp-libs-devel软件包"
if ! dnf list available pcp-libs-devel &> /dev/null; then
LOG_ERROR "yum源中未找到pcp-libs-devel软件包"
exit 255
fi
# 如果未安装则安装pcp-libs-devel
if [ "$already_installed" = false ]; then
LOG_INFO "步骤3: 安装pcp-libs-devel软件包"
dnf install -y pcp-libs-devel
CHECK_RESULT $? 0 0 "安装pcp-libs-devel"
fi
# 测试查询软件包版本
LOG_INFO "步骤4: 查询pcp-libs-devel软件包版本"
if ! rpm -q pcp-libs-devel --queryformat "%{VERSION}-%{RELEASE}\n" &> /dev/null; then
LOG_ERROR "rpm命令不支持--queryformat参数或参数错误"
exit 255
fi
version=$(rpm -q pcp-libs-devel --queryformat "%{VERSION}-%{RELEASE}\n")
CHECK_RESULT $? 0 0 "查询pcp-libs-devel版本"
LOG_INFO "pcp-libs-devel版本: $version"
# 清理环境:如果测试前未安装,则卸载软件包
if [ "$already_installed" = false ]; then
LOG_INFO "步骤5: 卸载pcp-libs-devel软件包"
dnf remove -y pcp-libs-devel
CHECK_RESULT $? 0 0 "卸载pcp-libs-devel"
fi
LOG_INFO "测试完成: Test package version query"
}
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,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-07
# @License : Mulan PSL v2
# @Desc : Test basic functionality of python-sphinxtesters-help
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Test basic functionality of python-sphinxtesters-help"
# 检查软件包是否已安装
LOG_INFO "检查python-sphinxtesters-help是否已安装"
if dnf list installed python-sphinxtesters-help &>/dev/null; then
LOG_INFO "python-sphinxtesters-help已安装测试结束后保持安装状态"
INSTALLED=true
else
LOG_INFO "python-sphinxtesters-help未安装将在测试结束后卸载"
INSTALLED=false
fi
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否存在python-sphinxtesters-help"
if ! dnf list available python-sphinxtesters-help &>/dev/null; then
LOG_ERROR "yum源中未找到python-sphinxtesters-help软件包"
exit 255
fi
# 安装软件包(如果未安装)
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装python-sphinxtesters-help"
dnf install -y python-sphinxtesters-help
CHECK_RESULT $? 0 0 "安装python-sphinxtesters-help失败"
fi
# 测试基本功能
LOG_INFO "测试python-sphinxtesters-help的基本功能"
python-sphinxtesters-help --help
CHECK_RESULT $? 0 0 "python-sphinxtesters-help --help执行失败"
# 检查不支持的参数
LOG_INFO "检查不支持的参数"
python-sphinxtesters-help --invalid-arg &>/dev/null
if [ $? -ne 0 ]; then
LOG_INFO "不支持的参数测试通过"
else
LOG_ERROR "不支持的参数测试失败"
exit 255
fi
# 清理环境(如果测试前未安装)
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载python-sphinxtesters-help"
dnf remove -y python-sphinxtesters-help
CHECK_RESULT $? 0 0 "卸载python-sphinxtesters-help失败"
fi
LOG_INFO "测试完成Test basic functionality of python-sphinxtesters-help"
}
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 "$@"

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-07
# @License : Mulan PSL v2
# @Desc : 测试qt6-qtscxml软件包是否能被正确卸载
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
PACKAGE_NAME="qt6-qtscxml"
LOG_INFO "开始测试测试qt6-qtscxml软件包是否能被正确卸载"
LOG_INFO "步骤1检查dnf工具是否可用"
command -v dnf >/dev/null 2>&1
CHECK_RESULT $? 0 0 "dnf工具未找到"
LOG_INFO "步骤2检查yum源中是否存在软件包 $PACKAGE_NAME"
dnf list available $PACKAGE_NAME >/dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到软件包 $PACKAGE_NAME"
exit 255
fi
LOG_INFO "步骤3检查当前环境中软件包 $PACKAGE_NAME 的安装状态"
rpm -q $PACKAGE_NAME >/dev/null 2>&1
PACKAGE_INSTALLED=$?
if [ $PACKAGE_INSTALLED -eq 0 ]; then
LOG_INFO "软件包 $PACKAGE_NAME 已安装,测试结束后将保持安装状态"
NEED_CLEANUP=0
else
LOG_INFO "软件包 $PACKAGE_NAME 未安装,将执行安装作为测试步骤"
NEED_CLEANUP=1
fi
if [ $NEED_CLEANUP -eq 1 ]; then
LOG_INFO "步骤4安装软件包 $PACKAGE_NAME"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
fi
LOG_INFO "步骤5验证软件包 $PACKAGE_NAME 已成功安装"
rpm -q $PACKAGE_NAME >/dev/null 2>&1
CHECK_RESULT $? 0 0 "软件包 $PACKAGE_NAME 未正确安装"
LOG_INFO "步骤6执行卸载操作"
dnf remove -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
LOG_INFO "步骤7验证软件包 $PACKAGE_NAME 已被卸载"
rpm -q $PACKAGE_NAME >/dev/null 2>&1
CHECK_RESULT $? 1 0 "软件包 $PACKAGE_NAME 卸载后仍可查询到"
LOG_INFO "步骤8环境恢复"
if [ $NEED_CLEANUP -eq 1 ]; then
LOG_INFO "测试前环境未安装,无需恢复安装状态"
else
LOG_INFO "恢复软件包 $PACKAGE_NAME 的安装状态"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "恢复安装软件包 $PACKAGE_NAME 失败"
rpm -q $PACKAGE_NAME >/dev/null 2>&1
CHECK_RESULT $? 0 0 "恢复后软件包 $PACKAGE_NAME 状态异常"
fi
LOG_INFO "测试完成qt6-qtscxml软件包能够被正确卸载"
}
main "$@"

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