Merge branch 'pkg' of http://10.30.190.190:54866/redrsoe2100/os-autotest into pkg
This commit is contained in:
@@ -1,14 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/chrpath/chrpath-help",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_chrpath-help_function_remove_pkg",
|
||||
"desc": "测试卸载 chrpath-help 软件包的基本功能"
|
||||
},
|
||||
{
|
||||
"name": "test_chrpath-help_function_show_version",
|
||||
"desc": "测试查询 chrpath-help 软件包的版本信息"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/felix-osgi-foundation/felix-osgi-foundation-javadoc",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_felix-osgi-foundation-javadoc_function_basic",
|
||||
"desc": "Basic functionality test for felix-osgi-foundation-javadoc"
|
||||
},
|
||||
{
|
||||
"name": "test_felix-osgi-foundation-javadoc_function_docgen",
|
||||
"desc": "Test javadoc generation functionality"
|
||||
},
|
||||
{
|
||||
"name": "test_felix-osgi-foundation-javadoc_function_install",
|
||||
"desc": "Test installation of felix-osgi-foundation-javadoc package"
|
||||
},
|
||||
{
|
||||
"name": "test_felix-osgi-foundation-javadoc_function_verify",
|
||||
"desc": "Test verification of package installation and contents"
|
||||
},
|
||||
{
|
||||
"name": "test_felix-osgi-foundation-javadoc_function_uninstall",
|
||||
"desc": "Test uninstallation of felix-osgi-foundation-javadoc package"
|
||||
},
|
||||
{
|
||||
"name": "test_felix-osgi-foundation-javadoc_function_usage",
|
||||
"desc": "Test basic usage of javadoc tool with package"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -14,10 +14,6 @@
|
||||
{
|
||||
"name": "test_libubsan-static_version",
|
||||
"desc": "测试查询libubsan-static软件包的版本信息。"
|
||||
},
|
||||
{
|
||||
"name": "test_libubsan-static_basic_link",
|
||||
"desc": "测试libubsan-static作为静态库的基本链接功能,验证能否编译并运行一个使用了ubsan功能的简单程序。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/hibernate3/hibernate3-testing",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_hibernate3-testing_function_session",
|
||||
"desc": "Test session creation and management"
|
||||
},
|
||||
{
|
||||
"name": "test_hibernate3-testing_function_query",
|
||||
"desc": "Test query execution"
|
||||
},
|
||||
{
|
||||
"name": "test_hibernate3-testing_function_transaction",
|
||||
"desc": "Test transaction handling"
|
||||
},
|
||||
{
|
||||
"name": "test_hibernate3-testing_function_mapping",
|
||||
"desc": "Test entity mapping"
|
||||
},
|
||||
{
|
||||
"name": "test_hibernate3-testing_function_cache",
|
||||
"desc": "Test caching mechanism"
|
||||
},
|
||||
{
|
||||
"name": "test_hibernate3-testing_function_connection",
|
||||
"desc": "Test database connection setup"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -5,22 +5,6 @@
|
||||
{
|
||||
"name": "test_libev-devel_function_install",
|
||||
"desc": "Test package installation"
|
||||
},
|
||||
{
|
||||
"name": "test_libev-devel_function_check",
|
||||
"desc": "Check if libev-devel package is installed"
|
||||
},
|
||||
{
|
||||
"name": "test_libev-devel_function_remove",
|
||||
"desc": "Test package removal"
|
||||
},
|
||||
{
|
||||
"name": "test_libev-devel_function_headers",
|
||||
"desc": "Test availability of development headers"
|
||||
},
|
||||
{
|
||||
"name": "test_libev-devel_function_linking",
|
||||
"desc": "Test linking against libev library"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,34 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/libglib-testing/libglib-testing-devel",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_libglib-testing-devel_function_init",
|
||||
"desc": "Test initialization of libglib-testing-devel"
|
||||
},
|
||||
{
|
||||
"name": "test_libglib-testing-devel_function_install",
|
||||
"desc": "Test installation of libglib-testing-devel package"
|
||||
},
|
||||
{
|
||||
"name": "test_libglib-testing-devel_function_uninstall",
|
||||
"desc": "Test uninstallation of libglib-testing-devel package"
|
||||
},
|
||||
{
|
||||
"name": "test_libglib-testing-devel_function_check_installed",
|
||||
"desc": "Test if libglib-testing-devel is installed"
|
||||
},
|
||||
{
|
||||
"name": "test_libglib-testing-devel_function_verify_files",
|
||||
"desc": "Test presence of key header/library files"
|
||||
},
|
||||
{
|
||||
"name": "test_libglib-testing-devel_function_pkgconfig",
|
||||
"desc": "Test pkg-config provides correct info"
|
||||
},
|
||||
{
|
||||
"name": "test_libglib-testing-devel_function_compile_test",
|
||||
"desc": "Test basic compilation with library"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -18,22 +18,10 @@
|
||||
"name": "test_librsvg2-devel_function_check_install",
|
||||
"desc": "Test if the package is installed"
|
||||
},
|
||||
{
|
||||
"name": "test_librsvg2-devel_function_compile_svg",
|
||||
"desc": "Test compiling a simple SVG file with librsvg"
|
||||
},
|
||||
{
|
||||
"name": "test_librsvg2-devel_function_rsvg_convert",
|
||||
"desc": "Test converting SVG to PNG using rsvg-convert"
|
||||
},
|
||||
{
|
||||
"name": "test_librsvg2-devel_function_headers",
|
||||
"desc": "Test presence of development header files"
|
||||
},
|
||||
{
|
||||
"name": "test_librsvg2-devel_function_pkgconfig",
|
||||
"desc": "Test pkg-config information for linking"
|
||||
},
|
||||
{
|
||||
"name": "test_librsvg2-devel_function_library_path",
|
||||
"desc": "Test library file installation path"
|
||||
|
||||
@@ -9,14 +9,6 @@
|
||||
{
|
||||
"name": "test_libyami-devel_function_decode",
|
||||
"desc": "Test the decoding functionality of libyami-devel"
|
||||
},
|
||||
{
|
||||
"name": "test_libyami-devel_function_encode",
|
||||
"desc": "Test the encoding functionality of libyami-devel"
|
||||
},
|
||||
{
|
||||
"name": "test_libyami-devel_function_config",
|
||||
"desc": "Test the configuration loading of libyami-devel"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/lucene/lucene-parent",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_lucene-parent_install",
|
||||
"desc": "测试 lucene-parent 软件包的安装功能,验证安装过程是否正常完成。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_lucene-parent_function_search",
|
||||
"desc": "测试 lucene-parent 软件包的搜索功能,验证搜索结果的准确性。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6,17 +6,9 @@
|
||||
"name": "test_perl-Dist-CheckConflicts_function_install",
|
||||
"desc": "测试软件包可以通过包管理器(如yum/dnf)成功安装"
|
||||
},
|
||||
{
|
||||
"name": "test_perl-Dist-CheckConflicts_function_check_installed",
|
||||
"desc": "验证软件包已正确安装并能查询到其版本信息"
|
||||
},
|
||||
{
|
||||
"name": "test_perl-Dist-CheckConflicts_function_basic_usage",
|
||||
"desc": "测试使用perl -MDist::CheckConflicts -e1命令检查模块无报错,验证基础功能"
|
||||
},
|
||||
{
|
||||
"name": "test_perl-Dist-CheckConflicts_function_uninstall",
|
||||
"desc": "测试软件包可以通过包管理器成功卸载"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6,41 +6,9 @@
|
||||
"name": "test_poco-crypto_function_encrypt",
|
||||
"desc": "Test encryption functionality"
|
||||
},
|
||||
{
|
||||
"name": "test_poco-crypto_function_decrypt",
|
||||
"desc": "Test decryption functionality"
|
||||
},
|
||||
{
|
||||
"name": "test_poco-crypto_function_hash",
|
||||
"desc": "Test hashing functionality"
|
||||
},
|
||||
{
|
||||
"name": "test_poco-crypto_function_sign",
|
||||
"desc": "Test digital signature functionality"
|
||||
},
|
||||
{
|
||||
"name": "test_poco-crypto_function_verify",
|
||||
"desc": "Test signature verification functionality"
|
||||
},
|
||||
{
|
||||
"name": "test_poco-crypto_function_keygen",
|
||||
"desc": "Test key generation functionality"
|
||||
},
|
||||
{
|
||||
"name": "test_poco-crypto_function_random",
|
||||
"desc": "Test random number generation"
|
||||
},
|
||||
{
|
||||
"name": "test_poco-crypto_function_pbkdf2",
|
||||
"desc": "Test PBKDF2 key derivation"
|
||||
},
|
||||
{
|
||||
"name": "test_poco-crypto_function_hmac",
|
||||
"desc": "Test HMAC generation"
|
||||
},
|
||||
{
|
||||
"name": "test_poco-crypto_function_aes",
|
||||
"desc": "Test AES encryption/decryption"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,25 +2,9 @@
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/python-lhsmdu/python-lhsmdu-help",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_python-lhsmdu-help_function_install",
|
||||
"desc": "Test package installation"
|
||||
},
|
||||
{
|
||||
"name": "test_python-lhsmdu-help_function_uninstall",
|
||||
"desc": "Test package removal"
|
||||
},
|
||||
{
|
||||
"name": "test_python-lhsmdu-help_function_import",
|
||||
"desc": "Test module import"
|
||||
},
|
||||
{
|
||||
"name": "test_python-lhsmdu-help_function_help",
|
||||
"desc": "Test help documentation"
|
||||
},
|
||||
{
|
||||
"name": "test_python-lhsmdu-help_function_basic_usage",
|
||||
"desc": "Test basic package usage"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -5,22 +5,6 @@
|
||||
{
|
||||
"name": "test_python3-pillow-help_function_basic",
|
||||
"desc": "Test basic functionality of python3-pillow-help"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-pillow-help_function_image_open",
|
||||
"desc": "Test image opening functionality"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-pillow-help_function_image_save",
|
||||
"desc": "Test image saving functionality"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-pillow-help_function_image_resize",
|
||||
"desc": "Test image resizing functionality"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-pillow-help_function_image_filter",
|
||||
"desc": "Test image filtering functionality"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/saxon/saxon-manual",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_saxon-manual_function_basic",
|
||||
"desc": "Test basic functionality of saxon-manual"
|
||||
},
|
||||
{
|
||||
"name": "test_saxon-manual_function_xslt",
|
||||
"desc": "Test XSLT transformation functionality"
|
||||
},
|
||||
{
|
||||
"name": "test_saxon-manual_function_xquery",
|
||||
"desc": "Test XQuery execution functionality"
|
||||
},
|
||||
{
|
||||
"name": "test_saxon-manual_function_schema",
|
||||
"desc": "Test schema validation functionality"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -9,18 +9,6 @@
|
||||
{
|
||||
"name": "test_subunit-static_function_remove",
|
||||
"desc": "Test the removal of subunit-static package"
|
||||
},
|
||||
{
|
||||
"name": "test_subunit-static_function_query",
|
||||
"desc": "Test querying the version of subunit-static"
|
||||
},
|
||||
{
|
||||
"name": "test_subunit-static_function_usage",
|
||||
"desc": "Test basic usage of subunit-static tool"
|
||||
},
|
||||
{
|
||||
"name": "test_subunit-static_function_convert",
|
||||
"desc": "Test converting test streams with subunit-static"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-b/texlive-bashful",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-bashful_function_basic",
|
||||
"desc": "Test basic functionality of texlive-bashful"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-i/texlive-fgruler",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-fgruler_function_draw",
|
||||
"desc": "Test drawing ruler functionality"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -18,10 +18,6 @@
|
||||
{
|
||||
"name": "test_texlive-pst-knot-doc_function_doc_exist",
|
||||
"desc": "验证 texlive-pst-knot-doc 软件包文档文件的存在性"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-pst-knot-doc_function_doc_content",
|
||||
"desc": "验证 texlive-pst-knot-doc 文档内容包含关键信息"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-u/texlive-russ",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-russ_function_basic",
|
||||
"desc": "Test basic functionality of texlive-russ package"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-u/texlive-scale-doc",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-scale-doc_function_scale",
|
||||
"desc": "Test the scale functionality of texlive-scale-doc"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -11,16 +11,6 @@
|
||||
"name": "test_texlive-silence-doc_uninstall",
|
||||
"desc": "测试 texlive-silence-doc 包的卸载功能,验证软件包是否能正常卸载。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-silence-doc_upgrade",
|
||||
"desc": "测试 texlive-silence-doc 包的升级功能,验证软件包是否能正常升级。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-silence-doc_downgrade",
|
||||
"desc": "测试 texlive-silence-doc 包的降级功能,验证软件包是否能正常降级。",
|
||||
"machine num": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -12,84 +12,9 @@
|
||||
"desc": "测试 texlive-textopo-doc 软件包的卸载功能,验证是否能够成功从系统中卸载。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-textopo-doc_upgrade",
|
||||
"desc": "测试 texlive-textopo-doc 软件包的升级功能,验证是否能够成功升级到新版本。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-textopo-doc_downgrade",
|
||||
"desc": "测试 texlive-textopo-doc 软件包的降级功能,验证是否能够成功降级到旧版本。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-textopo-doc_rollback",
|
||||
"desc": "测试 texlive-textopo-doc 软件包的回滚功能,验证是否能够成功回滚到之前的版本。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-textopo-doc_service_start",
|
||||
"desc": "测试 texlive-textopo-doc 软件包提供的服务启动功能,验证服务是否能够正常启动。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-textopo-doc_service_stop",
|
||||
"desc": "测试 texlive-textopo-doc 软件包提供的服务停止功能,验证服务是否能够正常停止。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-textopo-doc_service_restart",
|
||||
"desc": "测试 texlive-textopo-doc 软件包提供的服务重启功能,验证服务是否能够正常重启。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-textopo-doc_service_status",
|
||||
"desc": "测试 texlive-textopo-doc 软件包提供的服务状态查询功能,验证是否能够正常查询服务状态。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-textopo-doc_service_config",
|
||||
"desc": "测试 texlive-textopo-doc 软件包提供的服务配置功能,验证是否能够正常修改服务配置。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-textopo-doc_service_log",
|
||||
"desc": "测试 texlive-textopo-doc 软件包提供的服务日志查看功能,验证是否能够正常查看服务日志。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-textopo-doc_downgrade_rollback",
|
||||
"desc": "测试 texlive-textopo-doc 软件包的降级回滚功能,验证是否能够成功从降级版本回滚到之前的版本。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-textopo-doc_upgrade_rollback",
|
||||
"desc": "测试 texlive-textopo-doc 软件包的升级回滚功能,验证是否能够成功从升级版本回滚到之前的版本。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-textopo-doc_verify_install",
|
||||
"desc": "验证 texlive-textopo-doc 软件包是否已正确安装,通过检查其文档文件(如 .pdf, .tex 文件)是否存在于标准文档目录。"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-textopo-doc_list_files",
|
||||
"desc": "验证能否列出 texlive-textopo-doc 软件包安装的所有文件,确保文档内容完整无缺失。"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-textopo-doc_remove",
|
||||
"desc": "验证 texlive-textopo-doc 软件包能否通过系统包管理器成功卸载,并清理相关文档文件。"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-textopo-doc_version_check",
|
||||
"desc": "验证 texlive-textopo-doc 软件包的版本信息能否被正确查询和显示。"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-textopo-doc_doc_access",
|
||||
"desc": "验证用户能否访问 texlive-textopo-doc 提供的核心文档(如 textopo 宏包的手册),确认文件可读。"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-textopo-doc_integration",
|
||||
"desc": "验证 texlive-textopo-doc 作为 TeX Live 文档组件,其安装路径是否被 texdoc 等工具正确识别和索引。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-y/texlive-pinoutikz",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-pinoutikz_function_draw",
|
||||
"desc": "Test drawing functionality"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,25 +2,9 @@
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-z/texlive-zlmtt",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-zlmtt_function_basic",
|
||||
"desc": "Test basic functionality of texlive-zlmtt"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-zlmtt_function_install",
|
||||
"desc": "Test installation of texlive-zlmtt package"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-zlmtt_function_uninstall",
|
||||
"desc": "Test removal of texlive-zlmtt package"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-zlmtt_function_check_install",
|
||||
"desc": "Test if texlive-zlmtt is installed correctly"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-zlmtt_function_use_font",
|
||||
"desc": "Test basic usage of zlmtt font in LaTeX"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -7,17 +7,9 @@
|
||||
"desc": "测试xmlpull-parent软件包的安装功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_xmlpull-parent_function_parse",
|
||||
"desc": "测试xmlpull-parent软件包的XML解析功能"
|
||||
},
|
||||
{
|
||||
"name": "test_xmlpull-parent_function_generate",
|
||||
"desc": "测试xmlpull-parent软件包的XML生成功能"
|
||||
},
|
||||
{
|
||||
"name": "test_xmlpull-parent_function_validate",
|
||||
"desc": "测试xmlpull-parent软件包的XML验证功能"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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-01-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试卸载 chrpath-help 软件包的基本功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 初始化变量
|
||||
PKG_NAME="chrpath-help"
|
||||
|
||||
# 步骤1:检查测试环境是否已经安装chrpath-help软件包
|
||||
LOG_INFO "开始执行测试:测试卸载chrpath-help软件包的基本功能"
|
||||
LOG_INFO "步骤1:检查当前环境是否已安装$PKG_NAME软件包"
|
||||
dnf list installed $PKG_NAME &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "当前环境已安装$PKG_NAME,标记为已安装状态"
|
||||
INSTALLED_BEFORE_TEST=true
|
||||
else
|
||||
LOG_INFO "当前环境未安装$PKG_NAME,将在测试过程中安装并卸载"
|
||||
INSTALLED_BEFORE_TEST=false
|
||||
fi
|
||||
|
||||
# 步骤2:检查软件包是否在yum源中可用
|
||||
LOG_INFO "步骤2:检查yum源中是否存在$PKG_NAME软件包"
|
||||
dnf search $PKG_NAME 2>/dev/null | grep -q "^$PKG_NAME\."
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到$PKG_NAME软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤3:如果环境未安装软件包,则安装它作为测试步骤的一部分
|
||||
if [ "$INSTALLED_BEFORE_TEST" = "false" ]; then
|
||||
LOG_INFO "步骤3:安装$PKG_NAME软件包以进行测试"
|
||||
dnf install -y $PKG_NAME 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装$PKG_NAME软件包失败"
|
||||
LOG_INFO "成功安装$PKG_NAME软件包"
|
||||
fi
|
||||
|
||||
# 步骤4:验证软件包的卸载功能
|
||||
LOG_INFO "步骤4:测试卸载$PKG_NAME软件包的基本功能"
|
||||
dnf remove -y $PKG_NAME 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载$PKG_NAME软件包失败"
|
||||
LOG_INFO "$PKG_NAME软件包卸载成功"
|
||||
|
||||
# 步骤5:验证软件包是否已成功卸载
|
||||
LOG_INFO "步骤5:验证$PKG_NAME软件包是否已从系统中移除"
|
||||
dnf list installed $PKG_NAME &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "$PKG_NAME软件包未能完全卸载,测试失败"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "$PKG_NAME软件包已成功从系统中移除"
|
||||
fi
|
||||
|
||||
# 步骤6:恢复环境 - 如果测试前未安装则保持未安装状态,如果测试前已安装则重新安装
|
||||
LOG_INFO "步骤6:恢复测试环境"
|
||||
if [ "$INSTALLED_BEFORE_TEST" = "true" ]; then
|
||||
LOG_INFO "测试前已安装$PKG_NAME,重新安装以恢复环境"
|
||||
dnf install -y $PKG_NAME 2>&1
|
||||
CHECK_RESULT $? 0 0 "重新安装$PKG_NAME软件包失败"
|
||||
LOG_INFO "成功恢复$PKG_NAME软件包到安装状态"
|
||||
else
|
||||
LOG_INFO "测试前未安装$PKG_NAME,无需恢复"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:卸载$PKG_NAME软件包的基本功能测试通过"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,57 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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-12
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试查询 chrpath-help 软件包的版本信息
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试查询 chrpath-help 软件包的版本信息"
|
||||
LOG_INFO "检查当前环境中是否已安装 chrpath 软件包"
|
||||
if dnf list installed chrpath &> /dev/null; then
|
||||
LOG_INFO "环境中已安装 chrpath 软件包,测试结束后将保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "环境中未安装 chrpath 软件包,将在测试步骤中安装,并在测试结束后卸载"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
LOG_INFO "检查 yum 源中是否有 chrpath 软件包"
|
||||
if ! dnf list available chrpath &> /dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 chrpath 软件包"
|
||||
exit 255
|
||||
fi
|
||||
if [ "$INSTALLED_BEFORE" = "false" ]; then
|
||||
LOG_INFO "安装 chrpath 软件包"
|
||||
dnf install -y chrpath
|
||||
CHECK_RESULT $? 0 0 "安装 chrpath 软件包失败"
|
||||
fi
|
||||
LOG_INFO "测试 chrpath 命令的 --help 参数"
|
||||
chrpath --help
|
||||
CHECK_RESULT $? 0 0 "chrpath 命令的 --help 参数执行失败"
|
||||
LOG_INFO "测试 chrpath 命令的 --version 参数"
|
||||
chrpath --version
|
||||
CHECK_RESULT $? 0 0 "chrpath 命令的 --version 参数执行失败"
|
||||
LOG_INFO "测试查询 chrpath-help 软件包的版本信息步骤完成"
|
||||
if [ "$INSTALLED_BEFORE" = "false" ]; then
|
||||
LOG_INFO "清理环境:卸载 chrpath 软件包"
|
||||
dnf remove -y chrpath
|
||||
CHECK_RESULT $? 0 0 "卸载 chrpath 软件包失败"
|
||||
fi
|
||||
LOG_INFO "测试结束,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,66 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-29
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Basic functionality test for felix-osgi-foundation-javadoc
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装felix-osgi-foundation-javadoc
|
||||
LOG_INFO "检查是否已安装felix-osgi-foundation-javadoc"
|
||||
if dnf list installed felix-osgi-foundation-javadoc &>/dev/null; then
|
||||
LOG_INFO "felix-osgi-foundation-javadoc已安装"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "felix-osgi-foundation-javadoc未安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在felix-osgi-foundation-javadoc
|
||||
LOG_INFO "检查yum源中是否存在felix-osgi-foundation-javadoc"
|
||||
if ! dnf list available felix-osgi-foundation-javadoc &>/dev/null; then
|
||||
LOG_ERROR "yum源中不存在felix-osgi-foundation-javadoc"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装felix-osgi-foundation-javadoc"
|
||||
dnf install -y felix-osgi-foundation-javadoc
|
||||
CHECK_RESULT $? 0 0 "安装felix-osgi-foundation-javadoc失败"
|
||||
LOG_INFO "felix-osgi-foundation-javadoc安装成功"
|
||||
fi
|
||||
|
||||
# 测试基本功能
|
||||
LOG_INFO "测试felix-osgi-foundation-javadoc基本功能"
|
||||
java -jar /usr/share/felix-osgi-foundation-javadoc/felix.jar --version
|
||||
CHECK_RESULT $? 0 0 "执行felix-osgi-foundation-javadoc基本功能测试失败"
|
||||
|
||||
# 如果脚本开始时未安装,则在结束时卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载felix-osgi-foundation-javadoc"
|
||||
dnf remove -y felix-osgi-foundation-javadoc
|
||||
CHECK_RESULT $? 0 0 "卸载felix-osgi-foundation-javadoc失败"
|
||||
LOG_INFO "felix-osgi-foundation-javadoc卸载成功"
|
||||
fi
|
||||
|
||||
LOG_INFO "Basic functionality test for felix-osgi-foundation-javadoc完成"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,77 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-09
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test javadoc generation functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 javadoc 生成功能"
|
||||
|
||||
# 检查是否已安装软件包
|
||||
LOG_INFO "检查是否已安装 felix-osgi-foundation-javadoc 软件包"
|
||||
if rpm -q felix-osgi-foundation-javadoc &>/dev/null; then
|
||||
LOG_INFO "felix-osgi-foundation-javadoc 已安装"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "felix-osgi-foundation-javadoc 未安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否存在软件包
|
||||
LOG_INFO "检查 yum 源中是否存在 felix-osgi-foundation-javadoc 软件包"
|
||||
if ! dnf list available felix-osgi-foundation-javadoc &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 felix-osgi-foundation-javadoc 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装 felix-osgi-foundation-javadoc"
|
||||
dnf install -y felix-osgi-foundation-javadoc
|
||||
CHECK_RESULT $? 0 0 "安装 felix-osgi-foundation-javadoc 失败"
|
||||
LOG_INFO "felix-osgi-foundation-javadoc 安装成功"
|
||||
fi
|
||||
|
||||
# 测试 javadoc 生成功能
|
||||
LOG_INFO "测试 javadoc 生成功能"
|
||||
javadoc -d /tmp/javadoc_output -sourcepath /usr/share/felix-osgi-foundation-javadoc -subpackages org.apache.felix
|
||||
CHECK_RESULT $? 0 0 "javadoc 生成失败"
|
||||
|
||||
# 检查生成的 javadoc
|
||||
LOG_INFO "检查生成的 javadoc 文件"
|
||||
if [ ! -d "/tmp/javadoc_output" ]; then
|
||||
LOG_ERROR "未生成 javadoc 文件"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_INFO "javadoc 生成功能测试通过"
|
||||
|
||||
# 清理环境,恢复到之前的状态
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 felix-osgi-foundation-javadoc 软件包"
|
||||
dnf remove -y felix-osgi-foundation-javadoc
|
||||
CHECK_RESULT $? 0 0 "卸载 felix-osgi-foundation-javadoc失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "清理临时文件"
|
||||
rm -rf /tmp/javadoc_output
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,146 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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-14
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic usage of javadoc tool with package
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试 javadoc 工具的基本使用
|
||||
LOG_INFO "开始测试 javadoc 工具的基本使用功能"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="felix-osgi-foundation-javadoc"
|
||||
|
||||
# 步骤1: 检查软件包是否在yum源中
|
||||
LOG_INFO "步骤1: 检查软件包是否在yum源中"
|
||||
if ! dnf list available "${PACKAGE_NAME}" &>/dev/null; then
|
||||
LOG_ERROR "软件包 ${PACKAGE_NAME} 不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤2: 检查是否已经安装
|
||||
LOG_INFO "步骤2: 检查软件包是否已经安装"
|
||||
if rpm -q "${PACKAGE_NAME}" &>/dev/null; then
|
||||
LOG_INFO "软件包已经安装,测试结束后将保持安装状态"
|
||||
ALREADY_INSTALLED=true
|
||||
else
|
||||
LOG_INFO "软件包未安装,将在测试过程中安装"
|
||||
ALREADY_INSTALLED=false
|
||||
fi
|
||||
|
||||
# 步骤3: 安装软件包(如果未安装)
|
||||
if [ "${ALREADY_INSTALLED}" = false ]; then
|
||||
LOG_INFO "步骤3: 安装软件包 ${PACKAGE_NAME}"
|
||||
dnf install -y "${PACKAGE_NAME}"
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
fi
|
||||
|
||||
# 步骤4: 检查javadoc命令是否可用
|
||||
LOG_INFO "步骤4: 检查javadoc命令是否可用"
|
||||
if ! command -v javadoc &>/dev/null; then
|
||||
LOG_ERROR "javadoc命令未找到"
|
||||
if [ "${ALREADY_INSTALLED}" = false ]; then
|
||||
LOG_INFO "清理环境:卸载软件包"
|
||||
dnf remove -y "${PACKAGE_NAME}"
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 步骤5: 测试javadoc基本用法
|
||||
LOG_INFO "步骤5: 测试javadoc基本用法"
|
||||
# 创建测试Java文件
|
||||
TEST_DIR="/tmp/javadoc_test_$$"
|
||||
mkdir -p "${TEST_DIR}"
|
||||
|
||||
cat > "${TEST_DIR}/TestClass.java" << "EOF"
|
||||
/**
|
||||
* 测试类示例
|
||||
*/
|
||||
public class TestClass {
|
||||
/**
|
||||
* 测试方法
|
||||
* @param args 参数
|
||||
*/
|
||||
public static void main(String[] args) {
|
||||
System.out.println("Hello Javadoc");
|
||||
}
|
||||
}
|
||||
EOF
|
||||
|
||||
# 编译Java文件
|
||||
LOG_INFO "编译测试Java文件"
|
||||
javac "${TEST_DIR}/TestClass.java"
|
||||
CHECK_RESULT $? 0 0 "编译Java文件失败"
|
||||
|
||||
# 测试javadoc生成文档
|
||||
LOG_INFO "使用javadoc生成API文档"
|
||||
javadoc -d "${TEST_DIR}/docs" "${TEST_DIR}/TestClass.java"
|
||||
CHECK_RESULT $? 0 0 "生成javadoc文档失败"
|
||||
|
||||
# 步骤6: 验证生成的文档
|
||||
LOG_INFO "步骤6: 验证生成的文档"
|
||||
if [ -f "${TEST_DIR}/docs/index.html" ]; then
|
||||
LOG_INFO "成功生成javadoc文档"
|
||||
else
|
||||
LOG_ERROR "未找到生成的文档文件"
|
||||
# 清理测试目录
|
||||
rm -rf "${TEST_DIR}"
|
||||
if [ "${ALREADY_INSTALLED}" = false ]; then
|
||||
LOG_INFO "清理环境:卸载软件包"
|
||||
dnf remove -y "${PACKAGE_NAME}"
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 步骤7: 测试javadoc参数验证
|
||||
LOG_INFO "步骤7: 测试javadoc参数验证"
|
||||
# 测试不支持的参数
|
||||
LOG_INFO "测试不支持的参数"
|
||||
javadoc --non-existent-param &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_INFO "不支持的参数被正确拒绝"
|
||||
else
|
||||
LOG_ERROR "不支持的参数未被正确拒绝"
|
||||
# 清理测试目录
|
||||
rm -rf "${TEST_DIR}"
|
||||
if [ "${ALREADY_INSTALLED}" = false ]; then
|
||||
LOG_INFO "清理环境:卸载软件包"
|
||||
dnf remove -y "${PACKAGE_NAME}"
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤8: 清理测试文件
|
||||
LOG_INFO "步骤8: 清理测试文件"
|
||||
rm -rf "${TEST_DIR}"
|
||||
CHECK_RESULT $? 0 0 "清理测试文件失败"
|
||||
|
||||
# 步骤9: 环境恢复
|
||||
LOG_INFO "步骤9: 环境恢复"
|
||||
if [ "${ALREADY_INSTALLED}" = false ]; then
|
||||
LOG_INFO "卸载测试安装的软件包"
|
||||
dnf remove -y "${PACKAGE_NAME}"
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
else
|
||||
LOG_INFO "保持软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "javadoc工具基本使用测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,79 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-14
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test verification of package installation and contents
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装目标软件包
|
||||
LOG_INFO "检查是否已安装目标软件包"
|
||||
if rpm -q felix-osgi-foundation-javadoc &> /dev/null; then
|
||||
LOG_INFO "目标软件包已安装,标记为已安装状态"
|
||||
INSTALLED="yes"
|
||||
else
|
||||
LOG_INFO "目标软件包未安装,标记为未安装状态"
|
||||
INSTALLED="no"
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在目标软件包
|
||||
LOG_INFO "检查yum源中是否存在目标软件包"
|
||||
if ! dnf list available felix-osgi-foundation-javadoc &> /dev/null; then
|
||||
LOG_ERROR "yum源中不存在目标软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = "no" ]; then
|
||||
LOG_INFO "开始安装目标软件包"
|
||||
dnf install -y felix-osgi-foundation-javadoc
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
LOG_INFO "目标软件包安装成功"
|
||||
fi
|
||||
|
||||
# 验证软件包内容
|
||||
LOG_INFO "验证软件包内容"
|
||||
rpm -ql felix-osgi-foundation-javadoc > /tmp/package_contents.txt
|
||||
CHECK_RESULT $? 0 0 "获取软件包内容失败"
|
||||
|
||||
# 检查软件包内容是否包含javadoc文件
|
||||
LOG_INFO "检查软件包内容是否包含javadoc文件"
|
||||
if grep -q "\.html$" /tmp/package_contents.txt; then
|
||||
LOG_INFO "软件包包含javadoc文件"
|
||||
else
|
||||
LOG_ERROR "软件包不包含javadoc文件"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理临时文件
|
||||
LOG_INFO "清理临时文件"
|
||||
rm -f /tmp/package_contents.txt
|
||||
|
||||
# 如果脚本开始时未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = "no" ]; then
|
||||
LOG_INFO "卸载目标软件包"
|
||||
dnf remove -y felix-osgi-foundation-javadoc
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
LOG_INFO "目标软件包卸载成功"
|
||||
else
|
||||
LOG_INFO "保持目标软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,88 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-01-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试libubsan-static作为静态库的基本链接功能,验证能否编译并运行一个使用了ubsan功能的简单程序。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试libubsan-static作为静态库的基本链接功能"
|
||||
|
||||
# 检查环境是否已安装libubsan-static
|
||||
LOG_INFO "检查libubsan-static是否已安装"
|
||||
if dnf list installed libubsan-static &>/dev/null; then
|
||||
LOG_INFO "libubsan-static已安装,测试后保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "libubsan-static未安装,将在测试中安装"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在libubsan-static软件包
|
||||
LOG_INFO "检查yum源中是否存在libubsan-static"
|
||||
if ! dnf list available libubsan-static &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到libubsan-static软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装libubsan-static
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装libubsan-static"
|
||||
dnf install -y libubsan-static
|
||||
CHECK_RESULT $? 0 0 "安装libubsan-static失败"
|
||||
fi
|
||||
|
||||
# 创建测试程序源码
|
||||
LOG_INFO "创建测试程序源码"
|
||||
cat << "EOF" > test_ubsan.c
|
||||
#include <stdio.h>
|
||||
int main() {
|
||||
int a[5] = {1, 2, 3, 4, 5};
|
||||
int index = 10;
|
||||
// 故意访问越界,触发ubsan
|
||||
printf("Value: %d\n", a[index]);
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
|
||||
# 编译测试程序,链接libubsan-static
|
||||
LOG_INFO "编译测试程序,链接libubsan-static"
|
||||
gcc -fsanitize=undefined -static-libubsan test_ubsan.c -o test_ubsan
|
||||
CHECK_RESULT $? 0 0 "编译测试程序失败"
|
||||
|
||||
# 运行测试程序,预期触发ubsan错误
|
||||
LOG_INFO "运行测试程序,预期触发ubsan错误"
|
||||
./test_ubsan 2>&1 | grep -q "runtime error"
|
||||
CHECK_RESULT $? 0 0 "未检测到ubsan错误,链接可能失败"
|
||||
|
||||
LOG_INFO "测试通过,libubsan-static基本链接功能正常"
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f test_ubsan.c test_ubsan
|
||||
|
||||
# 如果测试前未安装,则卸载libubsan-static
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载libubsan-static"
|
||||
dnf remove -y libubsan-static
|
||||
CHECK_RESULT $? 0 0 "卸载libubsan-static失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,66 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-29
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test caching mechanism
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试脚本:test_hibernate3-testing_function_cache
|
||||
|
||||
LOG_INFO "开始测试缓存机制"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查软件包是否已安装"
|
||||
if dnf list installed | grep -q "hibernate3"; then
|
||||
LOG_INFO "软件包已安装,测试完成后将保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "软件包未安装,将在测试完成后卸载"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有该软件包
|
||||
LOG_INFO "检查yum源中是否有hibernate3软件包"
|
||||
if ! dnf list available | grep -q "hibernate3"; then
|
||||
LOG_ERROR "yum源中未找到hibernate3软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "正在安装hibernate3软件包"
|
||||
dnf install -y hibernate3
|
||||
CHECK_RESULT $? 0 0 "安装hibernate3失败"
|
||||
fi
|
||||
|
||||
# 测试缓存机制
|
||||
LOG_INFO "测试缓存机制功能"
|
||||
hibernate3 --test-cache
|
||||
CHECK_RESULT $? 0 0 "缓存机制测试失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载hibernate3软件包"
|
||||
dnf remove -y hibernate3
|
||||
CHECK_RESULT $? 0 0 "卸载hibernate3失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "缓存机制测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,67 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-04
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test database connection setup
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试数据库连接设置"
|
||||
|
||||
# 检查是否已安装所需软件包
|
||||
LOG_INFO "检查软件包是否已安装"
|
||||
dnf list installed test_hibernate3 > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "软件包已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "软件包未安装,将在测试结束后卸载"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有该软件包
|
||||
LOG_INFO "检查yum源中是否有test_hibernate3软件包"
|
||||
dnf list available test_hibernate3 > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到test_hibernate3软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装test_hibernate3软件包"
|
||||
dnf install -y test_hibernate3
|
||||
CHECK_RESULT $? 0 0 "安装test_hibernate3软件包失败"
|
||||
fi
|
||||
|
||||
# 测试数据库连接
|
||||
LOG_INFO "测试数据库连接"
|
||||
TEST_COMMAND="test_hibernate3 --connect"
|
||||
$TEST_COMMAND
|
||||
CHECK_RESULT $? 0 0 "数据库连接测试失败"
|
||||
|
||||
# 清理环境
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载test_hibernate3软件包"
|
||||
dnf remove -y test_hibernate3
|
||||
CHECK_RESULT $? 0 0 "卸载test_hibernate3软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "数据库连接设置测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,118 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-29
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test entity mapping
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查软件包是否存在于yum源中
|
||||
check_package_existence() {
|
||||
local package_name=$1
|
||||
dnf list available "$package_name" &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 $package_name 不存在于yum源中"
|
||||
exit 255
|
||||
fi
|
||||
}
|
||||
|
||||
# 检查命令参数是否支持
|
||||
check_command_option() {
|
||||
local command=$1
|
||||
local option=$2
|
||||
$command --help | grep -q "$option"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "命令 $command 不支持参数 $option"
|
||||
exit 255
|
||||
fi
|
||||
}
|
||||
|
||||
# 检查软件包是否已安装
|
||||
is_package_installed() {
|
||||
local package_name=$1
|
||||
rpm -q "$package_name" &>/dev/null
|
||||
return $?
|
||||
}
|
||||
|
||||
# 安装软件包
|
||||
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 失败"
|
||||
}
|
||||
|
||||
# 主测试函数
|
||||
test_hibernate3_testing_function_mapping() {
|
||||
# Test entity mapping
|
||||
LOG_INFO "开始测试实体映射功能"
|
||||
|
||||
# Step 1: Check if the required package is installed
|
||||
local package_name="hibernate3-testing"
|
||||
|
||||
# Check if the package exists in the yum repo before proceeding
|
||||
check_package_existence "$package_name"
|
||||
|
||||
# Determine if the package is already installed to decide whether to uninstall at the end.
|
||||
local was_installed=false
|
||||
if is_package_installed "$package_name"; then
|
||||
LOG_INFO "软件包 $package_name 已经安装"
|
||||
was_installed=true
|
||||
else
|
||||
install_package "$package_name"
|
||||
fi
|
||||
|
||||
# Step2: Test command with specific options (example command)
|
||||
local test_command="hibernate3-testing-tool"
|
||||
local test_option="--mapping"
|
||||
|
||||
check_command_option "$test_command" "$test_option"
|
||||
|
||||
LOG_INFO "执行命令 $test_command $test_option"
|
||||
$test_command "$test_option"
|
||||
CHECK_RESULT $? 0 0 "执行 $test_command with option failed."
|
||||
|
||||
# Clean up: Uninstall only if it was not previously installed.
|
||||
if ! ${was_installed}; then
|
||||
uninstall_package "${package_name}"
|
||||
else
|
||||
LOG_INFO "${package-name} was pre-installed; leaving it installed."
|
||||
fi
|
||||
|
||||
return ${result}
|
||||
}
|
||||
|
||||
# Execute the main test function
|
||||
main() {
|
||||
test_hibernate3_testing_function_mapping
|
||||
exit $?
|
||||
}
|
||||
|
||||
main
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,69 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-29
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test query execution
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 测试脚本:test_hibernate3-testing_function_query
|
||||
|
||||
# 步骤1:检查是否已安装目标软件包
|
||||
LOG_INFO "检查是否已安装目标软件包"
|
||||
if ! dnf list installed target_package &>/dev/null; then
|
||||
LOG_INFO "目标软件包未安装,开始安装"
|
||||
# 步骤2:检查yum源中是否有该软件包
|
||||
LOG_INFO "检查yum源中是否有目标软件包"
|
||||
if ! dnf list available target_package &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到目标软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 步骤3:安装软件包
|
||||
LOG_INFO "安装目标软件包"
|
||||
dnf install -y target_package
|
||||
CHECK_RESULT $? 0 0 "安装目标软件包失败"
|
||||
else
|
||||
LOG_INFO "目标软件包已安装,跳过安装步骤"
|
||||
fi
|
||||
|
||||
# 步骤4:执行测试查询命令
|
||||
LOG_INFO "执行测试查询命令"
|
||||
query_command --param valid_param
|
||||
CHECK_RESULT $? 0 0 "测试查询命令执行失败"
|
||||
|
||||
# 步骤5:检查命令参数是否支持(示例)
|
||||
LOG_INFO "检查命令参数是否支持"
|
||||
if ! query_command --invalid-param &>/dev/null; then
|
||||
LOG_ERROR "命令参数不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤6:清理环境(如果之前未安装)
|
||||
if ! dnf list installed target_package &>/dev/null; then
|
||||
LOG_INFO "清理环境,卸载目标软件包"
|
||||
dnf remove -y target_package
|
||||
CHECK_RESULT $? 0 0 "卸载目标软件包失败"
|
||||
else
|
||||
LOG_INFO "保持目标软件包安装状态,无需卸载"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,64 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-29
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test session creation and management
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查软件包是否已安装
|
||||
if ! rpm -q hibernate3 >/dev/null 2>&1; then
|
||||
LOG_INFO "环境未安装hibernate3,开始安装..."
|
||||
# 检查yum源中是否有hibernate3软件包
|
||||
if ! dnf list available hibernate3 >/dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中未找到hibernate3软件包"
|
||||
exit 255
|
||||
fi
|
||||
dnf install -y hibernate3
|
||||
CHECK_RESULT $? 0 0 "安装hibernate3失败"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "环境已安装hibernate3"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 测试session创建和管理功能
|
||||
LOG_INFO "测试session创建功能..."
|
||||
hibernate3 create_session test_session
|
||||
CHECK_RESULT $? 0 0 "创建session失败"
|
||||
|
||||
LOG_INFO "测试session列表功能..."
|
||||
hibernate3 list_sessions | grep -q test_session
|
||||
CHECK_RESULT $? 0 0 "session列表未显示test_session"
|
||||
|
||||
LOG_INFO "测试session删除功能..."
|
||||
hibernate3 delete_session test_session
|
||||
CHECK_RESULT $? 0 0 "删除session失败"
|
||||
|
||||
# 清理环境
|
||||
if [ $INSTALLED -eq 1 ]; then
|
||||
LOG_INFO "卸载hibernate3..."
|
||||
dnf remove -y hibernate3
|
||||
CHECK_RESULT $? 0 0 "卸载hibernate3失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,72 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-29
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test transaction handling
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查软件包是否已安装
|
||||
if ! rpm -q hibernate3 >/dev/null 2>&1; then
|
||||
LOG_INFO "环境未安装hibernate3,将进行安装"
|
||||
# 检查yum源中是否有hibernate3软件包
|
||||
if ! dnf list available hibernate3 >/dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中未找到hibernate3软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装软件包
|
||||
dnf install -y hibernate3
|
||||
CHECK_RESULT $? 0 0 "安装hibernate3失败"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "环境已安装hibernate3,无需安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 测试事务处理功能
|
||||
LOG_INFO "开始测试事务处理功能"
|
||||
# 模拟事务操作(示例命令,需根据实际功能调整)
|
||||
transaction_cmd="hibernate3 --transaction-test"
|
||||
if ! $transaction_cmd >/dev/null 2>&1; then
|
||||
LOG_ERROR "事务处理测试失败"
|
||||
# 检查是否为参数不支持的情况
|
||||
if [[ $? -eq 255 ]]; then
|
||||
exit 255
|
||||
else
|
||||
exit $?
|
||||
fi
|
||||
fi
|
||||
|
||||
# 检查事务处理结果(示例检查,需根据实际功能调整)
|
||||
expected_result="success"
|
||||
actual_result=$(hibernate3 --get-transaction-result)
|
||||
CHECK_RESULT "$actual_result" "$expected_result" 0 "事务处理结果不符合预期"
|
||||
|
||||
# 清理环境:如果脚本安装了软件包,则卸载
|
||||
if [[ $INSTALLED -eq 1 ]]; then
|
||||
LOG_INFO "卸载hibernate3以恢复环境"
|
||||
dnf remove -y hibernate3
|
||||
CHECK_RESULT $? 0 0 "卸载hibernate3失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完成,环境已恢复"
|
||||
exit 0
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,126 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-23
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Check if libev-devel package is installed
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义日志函数(如果未定义)
|
||||
type LOG_INFO >/dev/null 2>&1 || LOG_INFO() { echo "[INFO] $*"; }
|
||||
type LOG_ERROR >/dev/null 2>&1 || LOG_ERROR() { echo "[ERROR] $*"; }
|
||||
|
||||
# 定义检查结果函数(如果未定义)
|
||||
type CHECK_RESULT >/dev/null 2>&1 || CHECK_RESULT() {
|
||||
local actual=$1
|
||||
local expect=$2
|
||||
local mode=$3
|
||||
local message=$4
|
||||
if [ "$mode" -eq 0 ]; then
|
||||
if [ "$actual" -eq "$expect" ]; then
|
||||
LOG_INFO "$message 成功"
|
||||
return 0
|
||||
else
|
||||
LOG_ERROR "$message 失败 (实际: $actual, 期望: $expect)"
|
||||
exit "$actual"
|
||||
fi
|
||||
else
|
||||
if [ "$actual" -ne "$expect" ]; then
|
||||
LOG_INFO "$message 成功"
|
||||
return 0
|
||||
else
|
||||
LOG_ERROR "$message 失败 (实际: $actual, 期望: 非 $expect)"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# 定义SSH_CMD函数(如果未定义)
|
||||
type SSH_CMD >/dev/null 2>&1 || SSH_CMD() {
|
||||
local cmd=$1
|
||||
local ip=$2
|
||||
local password=$3
|
||||
local user=${4:-root}
|
||||
sshpass -p "$password" ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null "$user@$ip" "$cmd"
|
||||
}
|
||||
|
||||
# 测试用例:检查libev-devel软件包是否安装
|
||||
LOG_INFO "开始测试:检查libev-devel软件包是否安装"
|
||||
|
||||
# 步骤1:检查yum源中是否存在libev-devel软件包
|
||||
LOG_INFO "步骤1:检查yum源中是否存在libev-devel软件包"
|
||||
dnf list available libev-devel >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到libev-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum源中存在libev-devel软件包"
|
||||
|
||||
# 步骤2:检查当前是否已安装libev-devel
|
||||
LOG_INFO "步骤2:检查当前是否已安装libev-devel"
|
||||
if rpm -q libev-devel >/dev/null 2>&1; then
|
||||
LOG_INFO "libev-devel已安装,标记为无需清理"
|
||||
NEED_CLEANUP=0
|
||||
else
|
||||
LOG_INFO "libev-devel未安装,标记为需要清理"
|
||||
NEED_CLEANUP=1
|
||||
fi
|
||||
|
||||
# 步骤3:如果未安装,则安装libev-devel
|
||||
if [ "$NEED_CLEANUP" -eq 1 ]; then
|
||||
LOG_INFO "步骤3:安装libev-devel软件包"
|
||||
dnf install -y libev-devel
|
||||
CHECK_RESULT $? 0 0 "安装libev-devel"
|
||||
fi
|
||||
|
||||
# 步骤4:验证libev-devel安装是否成功
|
||||
LOG_INFO "步骤4:验证libev-devel安装是否成功"
|
||||
rpm -q libev-devel >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "验证libev-devel安装"
|
||||
|
||||
# 步骤5:检查libev-devel提供的头文件
|
||||
LOG_INFO "步骤5:检查libev-devel提供的头文件"
|
||||
if [ -f /usr/include/ev.h ]; then
|
||||
LOG_INFO "找到头文件:/usr/include/ev.h"
|
||||
else
|
||||
LOG_ERROR "未找到头文件:/usr/include/ev.h"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 步骤6:检查libev-devel提供的库文件
|
||||
LOG_INFO "步骤6:检查libev-devel提供的库文件"
|
||||
if [ -f /usr/lib64/libev.so ] || [ -f /usr/lib/libev.so ]; then
|
||||
LOG_INFO "找到库文件:libev.so"
|
||||
else
|
||||
LOG_ERROR "未找到库文件:libev.so"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 步骤7:清理环境(如果之前未安装)
|
||||
LOG_INFO "步骤7:清理环境"
|
||||
if [ "$NEED_CLEANUP" -eq 1 ]; then
|
||||
LOG_INFO "卸载libev-devel软件包"
|
||||
dnf remove -y libev-devel
|
||||
CHECK_RESULT $? 0 0 "卸载libev-devel"
|
||||
else
|
||||
LOG_INFO "保持libev-devel安装状态,无需清理"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:libev-devel软件包安装检查成功"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,77 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-23
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test availability of development headers
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试开发头文件的可用性"
|
||||
|
||||
# 检查是否已经安装了libev-devel包
|
||||
LOG_INFO "步骤1:检查libev-devel是否已经安装"
|
||||
rpm -q libev-devel > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "libev-devel已经安装,将保持安装状态"
|
||||
already_installed=1
|
||||
else
|
||||
LOG_INFO "libev-devel未安装,将在测试过程中安装"
|
||||
already_installed=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有libev-devel包
|
||||
LOG_INFO "步骤2:检查yum源中是否有libev-devel包"
|
||||
dnf list available libev-devel > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中没有找到libev-devel包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装libev-devel包
|
||||
if [ $already_installed -eq 0 ]; then
|
||||
LOG_INFO "步骤3:安装libev-devel包"
|
||||
dnf install -y libev-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装libev-devel包失败"
|
||||
fi
|
||||
|
||||
# 检查头文件是否可用
|
||||
LOG_INFO "步骤4:检查libev头文件是否可用"
|
||||
cat > test_libev.c << "EOF"
|
||||
#include <ev.h>
|
||||
int main() {
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
|
||||
gcc -o test_libev test_libev.c -lev > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "编译测试程序失败,头文件不可用"
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "步骤5:清理测试文件"
|
||||
rm -f test_libev.c test_libev
|
||||
|
||||
# 如果测试前未安装,则在测试后卸载libev-devel包
|
||||
if [ $already_installed -eq 0 ]; then
|
||||
LOG_INFO "步骤6:卸载libev-devel包"
|
||||
dnf remove -y libev-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载libev-devel包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,开发头文件可用性测试通过"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,89 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-23
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test linking against libev library
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查环境是否已安装libev-devel
|
||||
LOG_INFO "检查环境是否已安装libev-devel软件包"
|
||||
if rpm -q libev-devel > /dev/null 2>&1; then
|
||||
LOG_INFO "libev-devel已安装,测试结束后将保持安装状态"
|
||||
INSTALLED_BEFORE=1
|
||||
else
|
||||
LOG_INFO "libev-devel未安装,测试结束后将卸载软件包"
|
||||
INSTALLED_BEFORE=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有libev-devel软件包
|
||||
LOG_INFO "检查yum源中是否有libev-devel软件包"
|
||||
dnf list available libev-devel > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到libev-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装libev-devel
|
||||
if [ $INSTALLED_BEFORE -eq 0 ]; then
|
||||
LOG_INFO "安装libev-devel软件包"
|
||||
dnf install -y libev-devel
|
||||
CHECK_RESULT $? 0 0 "安装libev-devel失败"
|
||||
fi
|
||||
|
||||
# 测试链接libev库
|
||||
LOG_INFO "测试链接libev库"
|
||||
cat > test_libev.c << "EOF"
|
||||
#include <ev.h>
|
||||
#include <stdio.h>
|
||||
|
||||
int main() {
|
||||
struct ev_loop *loop = ev_default_loop(0);
|
||||
if (!loop) {
|
||||
printf("Failed to get default event loop\n");
|
||||
return 1;
|
||||
}
|
||||
printf("Successfully created event loop\n");
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
|
||||
# 编译测试程序
|
||||
LOG_INFO "编译测试程序"
|
||||
gcc -o test_libev test_libev.c -lev
|
||||
CHECK_RESULT $? 0 0 "编译测试程序失败"
|
||||
|
||||
# 运行测试程序
|
||||
LOG_INFO "运行测试程序"
|
||||
./test_libev
|
||||
CHECK_RESULT $? 0 0 "运行测试程序失败"
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f test_libev test_libev.c
|
||||
|
||||
# 如果测试前未安装,则卸载libev-devel
|
||||
if [ $INSTALLED_BEFORE -eq 0 ]; then
|
||||
LOG_INFO "卸载libev-devel软件包"
|
||||
dnf remove -y libev-devel
|
||||
CHECK_RESULT $? 0 0 "卸载libev-devel失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,94 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-23
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package removal
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试libev-devel软件包移除功能
|
||||
|
||||
LOG_INFO "开始测试libev-devel软件包移除功能"
|
||||
|
||||
# 检查yum源中是否存在libev-devel软件包
|
||||
LOG_INFO "检查yum源中是否存在libev-devel软件包"
|
||||
dnf list available libev-devel > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到libev-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查当前是否已安装libev-devel
|
||||
LOG_INFO "检查当前是否已安装libev-devel软件包"
|
||||
dnf list installed libev-devel > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "libev-devel软件包已安装,测试将保持安装状态"
|
||||
already_installed=1
|
||||
else
|
||||
LOG_INFO "libev-devel软件包未安装,将在测试中安装并测试移除功能"
|
||||
already_installed=0
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $already_installed -eq 0 ]; then
|
||||
LOG_INFO "安装libev-devel软件包"
|
||||
dnf install -y libev-devel
|
||||
CHECK_RESULT $? 0 0 "安装libev-devel软件包失败"
|
||||
|
||||
# 验证安装是否成功
|
||||
LOG_INFO "验证libev-devel软件包是否安装成功"
|
||||
dnf list installed libev-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "libev-devel软件包安装后验证失败"
|
||||
fi
|
||||
|
||||
# 测试软件包移除功能
|
||||
LOG_INFO "测试移除libev-devel软件包"
|
||||
dnf remove -y libev-devel
|
||||
CHECK_RESULT $? 0 0 "移除libev-devel软件包失败"
|
||||
|
||||
# 验证软件包是否已移除
|
||||
LOG_INFO "验证libev-devel软件包是否已移除"
|
||||
dnf list installed libev-devel > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "libev-devel软件包移除后仍然存在"
|
||||
CHECK_RESULT 1 0 0 "软件包移除验证失败"
|
||||
else
|
||||
LOG_INFO "libev-devel软件包已成功移除"
|
||||
CHECK_RESULT 0 0 0 "软件包移除验证成功"
|
||||
fi
|
||||
|
||||
# 环境恢复
|
||||
LOG_INFO "开始环境恢复"
|
||||
if [ $already_installed -eq 1 ]; then
|
||||
# 如果测试前已安装,重新安装软件包
|
||||
LOG_INFO "重新安装libev-devel软件包以恢复到原始状态"
|
||||
dnf install -y libev-devel
|
||||
CHECK_RESULT $? 0 0 "重新安装libev-devel软件包失败"
|
||||
|
||||
# 验证恢复是否成功
|
||||
LOG_INFO "验证环境恢复是否成功"
|
||||
dnf list installed libev-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "环境恢复验证失败"
|
||||
LOG_INFO "环境已成功恢复到原始安装状态"
|
||||
else
|
||||
LOG_INFO "测试前未安装libev-devel,无需额外恢复操作"
|
||||
fi
|
||||
|
||||
LOG_INFO "libev-devel软件包移除功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,121 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-04-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic compilation with library
|
||||
# ############################################
|
||||
|
||||
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 expected=$2
|
||||
local exit_code=$3
|
||||
local error_msg=$4
|
||||
if [ "$actual" -ne "$expected" ]; then
|
||||
LOG_ERROR "$error_msg"
|
||||
exit $exit_code
|
||||
fi
|
||||
}
|
||||
|
||||
# 定义SSH命令函数(根据要求直接使用,无需重新定义)
|
||||
SSH_CMD() {
|
||||
local cmd=$1
|
||||
local ip=$2
|
||||
local password=$3
|
||||
local user=$4
|
||||
sshpass -p "$password" ssh -o StrictHostKeyChecking=no "$user@$ip" "$cmd"
|
||||
}
|
||||
|
||||
# 测试脚本开始
|
||||
LOG_INFO "开始测试:Test basic compilation with library"
|
||||
|
||||
# 检查yum源中是否有libglib-testing-devel软件包
|
||||
LOG_INFO "步骤1:检查yum源中是否有libglib-testing-devel软件包"
|
||||
dnf list available libglib-testing-devel 2>/dev/null | grep -q libglib-testing-devel
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到libglib-testing-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已经安装libglib-testing-devel软件包
|
||||
LOG_INFO "步骤2:检查是否已经安装libglib-testing-devel软件包"
|
||||
rpm -q libglib-testing-devel >/dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "libglib-testing-devel软件包已经安装,跳过安装步骤"
|
||||
already_installed=true
|
||||
else
|
||||
LOG_INFO "libglib-testing-devel软件包未安装,开始安装"
|
||||
already_installed=false
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "步骤3:安装libglib-testing-devel软件包"
|
||||
dnf install -y libglib-testing-devel
|
||||
CHECK_RESULT $? 0 0 "安装libglib-testing-devel软件包失败"
|
||||
fi
|
||||
|
||||
# 测试基本编译功能
|
||||
LOG_INFO "步骤4:测试基本编译功能"
|
||||
# 创建一个简单的测试程序
|
||||
cat > test_compile.c << "EOF"
|
||||
#include <glib.h>
|
||||
#include <glib-testing.h>
|
||||
|
||||
int main() {
|
||||
g_test_init(NULL, NULL, NULL);
|
||||
g_test_message("Basic compilation test passed");
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
|
||||
# 编译测试程序
|
||||
LOG_INFO "步骤5:编译测试程序"
|
||||
gcc test_compile.c -o test_compile $(pkg-config --cflags --libs glib-testing-2.0)
|
||||
CHECK_RESULT $? 0 0 "编译测试程序失败"
|
||||
|
||||
# 运行测试程序
|
||||
LOG_INFO "步骤6:运行测试程序"
|
||||
./test_compile
|
||||
CHECK_RESULT $? 0 0 "运行测试程序失败"
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "步骤7:清理测试文件"
|
||||
rm -f test_compile.c test_compile
|
||||
CHECK_RESULT $? 0 0 "清理测试文件失败"
|
||||
|
||||
# 如果之前未安装,则卸载软件包
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "步骤8:卸载libglib-testing-devel软件包"
|
||||
dnf remove -y libglib-testing-devel
|
||||
CHECK_RESULT $? 0 0 "卸载libglib-testing-devel软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test basic compilation with library"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,71 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test initialization of libglib-testing-devel
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查libglib-testing-devel是否已安装
|
||||
LOG_INFO "检查libglib-testing-devel是否已安装"
|
||||
rpm -q libglib-testing-devel > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "libglib-testing-devel已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "libglib-testing-devel未安装,将在测试结束后卸载"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在libglib-testing-devel
|
||||
LOG_INFO "检查yum源中是否存在libglib-testing-devel"
|
||||
dnf list available libglib-testing-devel > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到libglib-testing-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装libglib-testing-devel
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "开始安装libglib-testing-devel"
|
||||
dnf install -y libglib-testing-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装libglib-testing-devel失败"
|
||||
fi
|
||||
|
||||
# 测试初始化功能
|
||||
LOG_INFO "测试初始化功能"
|
||||
test_init_output=$(glib-testing-init --help 2>&1)
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "glib-testing-init命令不支持或参数错误"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
CHECK_RESULT $? 0 0 "初始化功能测试失败"
|
||||
|
||||
# 清理环境(如果之前未安装)
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载libglib-testing-devel"
|
||||
dnf remove -y libglib-testing-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载libglib-testing-devel失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,72 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-04-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test installation of libglib-testing-devel package
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "测试开始:测试 libglib-testing-devel 软件包安装功能"
|
||||
|
||||
LOG_INFO "步骤1:检查当前环境是否已安装 libglib-testing-devel 软件包"
|
||||
rpm -q libglib-testing-devel > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "当前环境已安装 libglib-testing-devel,测试结束后将保持安装状态"
|
||||
already_installed=1
|
||||
else
|
||||
LOG_INFO "当前环境未安装 libglib-testing-devel,将在测试过程中安装,并在测试结束后卸载"
|
||||
already_installed=0
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查 yum 源中是否存在 libglib-testing-devel 软件包"
|
||||
dnf list available libglib-testing-devel > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum 源中未找到 libglib-testing-devel 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ $already_installed -eq 0 ]; then
|
||||
LOG_INFO "步骤3:安装 libglib-testing-devel 软件包"
|
||||
dnf install -y libglib-testing-devel
|
||||
CHECK_RESULT $? 0 0 "安装 libglib-testing-devel 软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:验证 libglib-testing-devel 软件包安装成功"
|
||||
rpm -q libglib-testing-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "验证 libglib-testing-devel 软件包安装状态失败"
|
||||
|
||||
LOG_INFO "步骤5:测试 libglib-testing-devel 提供的命令或功能(示例:检查头文件是否存在)"
|
||||
ls /usr/include/glib-testing-1.0/glib-testing.h > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "未找到 libglib-testing-devel 头文件"
|
||||
|
||||
LOG_INFO "步骤6:测试 libglib-testing-devel 提供的 pkg-config 支持"
|
||||
pkg-config --exists glib-testing-1.0
|
||||
CHECK_RESULT $? 0 0 "pkg-config 未找到 glib-testing-1.0"
|
||||
|
||||
LOG_INFO "步骤7:清理环境,恢复到测试前状态"
|
||||
if [ $already_installed -eq 0 ]; then
|
||||
LOG_INFO "卸载测试过程中安装的 libglib-testing-devel 软件包"
|
||||
dnf remove -y libglib-testing-devel
|
||||
CHECK_RESULT $? 0 0 "卸载 libglib-testing-devel 软件包失败"
|
||||
else
|
||||
LOG_INFO "测试前已安装 libglib-testing-devel,保持安装状态,无需卸载"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试结束:libglib-testing-devel 软件包安装功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,107 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-04-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test pkg-config provides correct info
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test pkg-config provides correct info"
|
||||
|
||||
LOG_INFO "步骤1: 检查libglib-testing-devel软件包是否存在于yum源中"
|
||||
dnf list available libglib-testing-devel &> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包libglib-testing-devel在yum源中不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2: 检查pkg-config命令是否存在"
|
||||
which pkg-config &> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "命令pkg-config不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤3: 检查pkg-config是否支持--libs参数"
|
||||
pkg-config --help | grep -q -- "--libs"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "pkg-config不支持--libs参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4: 检查pkg-config是否支持--cflags参数"
|
||||
pkg-config --help | grep -q -- "--cflags"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "pkg-config不支持--cflags参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤5: 检查libglib-testing-devel是否已安装"
|
||||
rpm -q libglib-testing-devel &> /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "软件包已安装,测试后保持安装状态"
|
||||
PKG_INSTALLED=true
|
||||
else
|
||||
LOG_INFO "软件包未安装,将执行安装作为测试步骤"
|
||||
PKG_INSTALLED=false
|
||||
fi
|
||||
|
||||
if [ "$PKG_INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤6: 安装libglib-testing-devel软件包"
|
||||
dnf install -y libglib-testing-devel
|
||||
CHECK_RESULT $? 0 0 "安装libglib-testing-devel软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤7: 测试pkg-config是否能正确提供libglib-testing的库信息"
|
||||
pkg-config --libs glib-testing-2.0
|
||||
CHECK_RESULT $? 0 0 "pkg-config --libs glib-testing-2.0命令执行失败"
|
||||
|
||||
LOG_INFO "步骤8: 测试pkg-config是否能正确提供libglib-testing的编译标志信息"
|
||||
pkg-config --cflags glib-testing-2.0
|
||||
CHECK_RESULT $? 0 0 "pkg-config --cflags glib-testing-2.0命令执行失败"
|
||||
|
||||
LOG_INFO "步骤9: 验证pkg-config输出的库信息是否有效"
|
||||
libs=$(pkg-config --libs glib-testing-2.0 2>/dev/null)
|
||||
if [ -n "$libs" ]; then
|
||||
LOG_INFO "pkg-config返回库信息: $libs"
|
||||
else
|
||||
LOG_ERROR "pkg-config未返回有效的库信息"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤10: 验证pkg-config输出的编译标志信息是否有效"
|
||||
cflags=$(pkg-config --cflags glib-testing-2.0 2>/dev/null)
|
||||
if [ -n "$cflags" ]; then
|
||||
LOG_INFO "pkg-config返回编译标志: $cflags"
|
||||
else
|
||||
LOG_ERROR "pkg-config未返回有效的编译标志信息"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤11: 清理测试环境"
|
||||
if [ "$PKG_INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载测试安装的libglib-testing-devel软件包"
|
||||
dnf remove -y libglib-testing-devel
|
||||
CHECK_RESULT $? 0 0 "卸载libglib-testing-devel软件包失败"
|
||||
else
|
||||
LOG_INFO "保持libglib-testing-devel软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test pkg-config provides correct info"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,87 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-04-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test uninstallation of libglib-testing-devel package
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试卸载libglib-testing-devel软件包的功能
|
||||
|
||||
LOG_INFO "1. 检查当前环境是否已安装libglib-testing-devel软件包"
|
||||
rpm -q libglib-testing-devel
|
||||
INSTALLED=$?
|
||||
|
||||
LOG_INFO "2. 检查yum源中是否存在libglib-testing-devel软件包"
|
||||
dnf list available libglib-testing-devel
|
||||
CHECK_RESULT $? 0 0 "yum源中不存在libglib-testing-devel软件包"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在libglib-testing-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "3. 环境已安装libglib-testing-devel,记录当前状态"
|
||||
ORIGINAL_STATE="installed"
|
||||
LOG_INFO "当前环境已安装libglib-testing-devel,测试结束后将保持安装状态"
|
||||
else
|
||||
LOG_INFO "3. 环境未安装libglib-testing-devel,开始安装软件包"
|
||||
dnf install -y libglib-testing-devel
|
||||
CHECK_RESULT $? 0 0 "安装libglib-testing-devel软件包失败"
|
||||
ORIGINAL_STATE="uninstalled"
|
||||
fi
|
||||
|
||||
LOG_INFO "4. 验证libglib-testing-devel软件包已正确安装"
|
||||
rpm -q libglib-testing-devel
|
||||
CHECK_RESULT $? 0 0 "libglib-testing-devel软件包未正确安装"
|
||||
|
||||
LOG_INFO "5. 执行卸载libglib-testing-devel软件包操作"
|
||||
dnf remove -y libglib-testing-devel
|
||||
CHECK_RESULT $? 0 0 "卸载libglib-testing-devel软件包失败"
|
||||
|
||||
LOG_INFO "6. 验证libglib-testing-devel软件包已成功卸载"
|
||||
rpm -q libglib-testing-devel
|
||||
CHECK_RESULT $? 1 0 "libglib-testing-devel软件包未成功卸载"
|
||||
|
||||
LOG_INFO "7. 恢复测试环境到原始状态"
|
||||
if [ "$ORIGINAL_STATE" = "installed" ]; then
|
||||
LOG_INFO "重新安装libglib-testing-devel软件包以恢复到原始状态"
|
||||
dnf install -y libglib-testing-devel
|
||||
CHECK_RESULT $? 0 0 "重新安装libglib-testing-devel软件包失败"
|
||||
|
||||
LOG_INFO "验证libglib-testing-devel软件包已重新安装"
|
||||
rpm -q libglib-testing-devel
|
||||
CHECK_RESULT $? 0 0 "libglib-testing-devel软件包重新安装后验证失败"
|
||||
else
|
||||
LOG_INFO "原始状态为未安装,无需额外操作"
|
||||
fi
|
||||
|
||||
LOG_INFO "8. 最终环境验证"
|
||||
if [ "$ORIGINAL_STATE" = "installed" ]; then
|
||||
rpm -q libglib-testing-devel
|
||||
CHECK_RESULT $? 0 0 "测试完成后环境状态与原始状态不一致"
|
||||
LOG_INFO "测试完成,环境已恢复到原始安装状态"
|
||||
else
|
||||
rpm -q libglib-testing-devel
|
||||
CHECK_RESULT $? 1 0 "测试完成后环境状态与原始状态不一致"
|
||||
LOG_INFO "测试完成,环境已恢复到原始未安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试用例执行完成:Test uninstallation of libglib-testing-devel package"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,85 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-04-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test presence of key header/library files
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:检查关键头文件和库文件的存在性"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="libglib-testing-devel"
|
||||
|
||||
# 检查是否已安装
|
||||
if rpm -q $PACKAGE_NAME > /dev/null 2>&1; then
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 已安装"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 未安装"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
LOG_INFO "检查yum源中是否存在软件包 $PACKAGE_NAME"
|
||||
if ! dnf list available $PACKAGE_NAME > /dev/null 2>&1; then
|
||||
LOG_ERROR "软件包 $PACKAGE_NAME 不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "安装软件包 $PACKAGE_NAME"
|
||||
dnf install -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
|
||||
fi
|
||||
|
||||
# 检查关键头文件是否存在
|
||||
LOG_INFO "检查关键头文件是否存在"
|
||||
HEADER_FILES="/usr/include/glib-testing/glib-testing.h"
|
||||
for file in $HEADER_FILES; do
|
||||
if [ -f "$file" ]; then
|
||||
LOG_INFO "头文件 $file 存在"
|
||||
else
|
||||
LOG_ERROR "头文件 $file 不存在"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
# 检查关键库文件是否存在
|
||||
LOG_INFO "检查关键库文件是否存在"
|
||||
LIBRARY_FILES="/usr/lib64/libglib-testing.so"
|
||||
for file in $LIBRARY_FILES; do
|
||||
if [ -f "$file" ]; then
|
||||
LOG_INFO "库文件 $file 存在"
|
||||
else
|
||||
LOG_ERROR "库文件 $file 不存在"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
# 清理环境:如果之前未安装,则卸载软件包
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "卸载软件包 $PACKAGE_NAME"
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:关键头文件和库文件检查通过"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,90 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-04-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test compiling a simple SVG file with librsvg
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "测试开始:Test compiling a simple SVG file with librsvg"
|
||||
|
||||
LOG_INFO "步骤1:检查yum源中是否存在librsvg2-devel软件包"
|
||||
dnf list available librsvg2-devel 2>/dev/null | grep -q librsvg2-devel
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到librsvg2-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查系统是否已安装librsvg2-devel"
|
||||
rpm -q librsvg2-devel > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "librsvg2-devel已安装,标记为已安装状态"
|
||||
ALREADY_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "librsvg2-devel未安装,标记为未安装状态"
|
||||
ALREADY_INSTALLED=0
|
||||
fi
|
||||
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤3:安装librsvg2-devel软件包"
|
||||
dnf install -y librsvg2-devel
|
||||
CHECK_RESULT $? 0 0 "安装librsvg2-devel失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:创建一个简单的SVG文件用于测试"
|
||||
cat > test_simple.svg << "EOF"
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect width="100" height="100" fill="blue"/>
|
||||
<circle cx="50" cy="50" r="40" fill="red"/>
|
||||
</svg>
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "创建SVG文件失败"
|
||||
|
||||
LOG_INFO "步骤5:使用rsvg-convert命令编译SVG文件为PNG"
|
||||
if ! command -v rsvg-convert &> /dev/null; then
|
||||
LOG_ERROR "rsvg-convert命令不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
rsvg-convert -o test_output.png test_simple.svg
|
||||
CHECK_RESULT $? 0 0 "编译SVG文件失败"
|
||||
|
||||
LOG_INFO "步骤6:检查生成的PNG文件是否存在"
|
||||
if [ -f test_output.png ]; then
|
||||
LOG_INFO "成功生成PNG文件:test_output.png"
|
||||
else
|
||||
LOG_ERROR "未找到生成的PNG文件"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤7:清理测试文件"
|
||||
rm -f test_simple.svg test_output.png
|
||||
CHECK_RESULT $? 0 0 "清理测试文件失败"
|
||||
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤8:卸载librsvg2-devel软件包"
|
||||
dnf remove -y librsvg2-devel
|
||||
CHECK_RESULT $? 0 0 "卸载librsvg2-devel失败"
|
||||
else
|
||||
LOG_INFO "步骤8:系统原本已安装librsvg2-devel,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test compiling a simple SVG file with librsvg"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,69 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-04-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test pkg-config information for linking
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已经安装了librsvg2-devel软件包
|
||||
LOG_INFO "检查当前环境是否已安装librsvg2-devel软件包"
|
||||
if dnf list installed "librsvg2-devel" &>/dev/null; then
|
||||
LOG_INFO "librsvg2-devel软件包已安装,脚本结束后将保持安装状态"
|
||||
already_installed=true
|
||||
else
|
||||
LOG_INFO "librsvg2-devel软件包未安装,将在测试过程中安装"
|
||||
already_installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在librsvg2-devel软件包
|
||||
LOG_INFO "检查yum源中是否存在librsvg2-devel软件包"
|
||||
if ! dnf list available "librsvg2-devel" &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到librsvg2-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装librsvg2-devel软件包
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "开始安装librsvg2-devel软件包"
|
||||
dnf install -y "librsvg2-devel"
|
||||
CHECK_RESULT $? 0 0 "安装librsvg2-devel软件包失败"
|
||||
fi
|
||||
|
||||
# 测试pkg-config信息是否正确
|
||||
LOG_INFO "测试pkg-config信息是否正确"
|
||||
pkg-config --modversion librsvg-2.0
|
||||
CHECK_RESULT $? 0 0 "获取librsvg-2.0版本信息失败"
|
||||
|
||||
# 检查pkg-config是否包含正确的链接信息
|
||||
LOG_INFO "检查pkg-config是否包含正确的链接信息"
|
||||
pkg-config --libs librsvg-2.0 | grep -q "librsvg"
|
||||
CHECK_RESULT $? 0 0 "pkg-config未包含正确的链接信息"
|
||||
|
||||
# 如果脚本开始时未安装,则在测试结束后卸载软件包
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "测试完成,卸载librsvg2-devel软件包"
|
||||
dnf remove -y "librsvg2-devel"
|
||||
CHECK_RESULT $? 0 0 "卸载librsvg2-devel软件包失败"
|
||||
else
|
||||
LOG_INFO "测试完成,保持librsvg2-devel软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,99 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-04-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test converting SVG to PNG using rsvg-convert
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已经安装rsvg-convert
|
||||
LOG_INFO "检查是否已安装rsvg-convert命令"
|
||||
if command -v rsvg-convert &> /dev/null; then
|
||||
LOG_INFO "rsvg-convert已安装,测试完成后将保持安装状态"
|
||||
already_installed=true
|
||||
else
|
||||
LOG_INFO "rsvg-convert未安装,将在测试前安装"
|
||||
already_installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在librsvg2-devel软件包
|
||||
LOG_INFO "检查yum源中是否存在librsvg2-devel软件包"
|
||||
if ! dnf list available librsvg2-devel &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到librsvg2-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装librsvg2-devel软件包
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "安装librsvg2-devel软件包"
|
||||
dnf install -y librsvg2-devel
|
||||
CHECK_RESULT $? 0 0 "安装librsvg2-devel失败"
|
||||
fi
|
||||
|
||||
# 验证rsvg-convert命令是否可用
|
||||
LOG_INFO "验证rsvg-convert命令是否可用"
|
||||
if ! command -v rsvg-convert &> /dev/null; then
|
||||
LOG_ERROR "rsvg-convert命令未找到,安装可能失败"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查rsvg-convert是否支持--help参数
|
||||
LOG_INFO "检查rsvg-convert是否支持--help参数"
|
||||
if ! rsvg-convert --help &> /dev/null; then
|
||||
LOG_ERROR "rsvg-convert不支持--help参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 创建测试用的SVG文件
|
||||
LOG_INFO "创建测试用的SVG文件"
|
||||
cat > test.svg << "EOF"
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100">
|
||||
<rect width="100" height="100" fill="green"/>
|
||||
</svg>
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "创建SVG文件失败"
|
||||
|
||||
# 使用rsvg-convert将SVG转换为PNG
|
||||
LOG_INFO "使用rsvg-convert将SVG转换为PNG"
|
||||
rsvg-convert -o test.png test.svg
|
||||
CHECK_RESULT $? 0 0 "SVG转换为PNG失败"
|
||||
|
||||
# 检查生成的PNG文件是否存在
|
||||
LOG_INFO "检查生成的PNG文件是否存在"
|
||||
if [ -f test.png ]; then
|
||||
LOG_INFO "PNG文件生成成功"
|
||||
else
|
||||
LOG_ERROR "PNG文件未生成"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f test.svg test.png
|
||||
CHECK_RESULT $? 0 0 "清理测试文件失败"
|
||||
|
||||
# 如果测试前未安装,则卸载软件包
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "卸载librsvg2-devel软件包"
|
||||
dnf remove -y librsvg2-devel
|
||||
CHECK_RESULT $? 0 0 "卸载librsvg2-devel失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,66 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test the configuration loading of libyami-devel
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试脚本:test_libyami-devel_function_config
|
||||
|
||||
LOG_INFO "开始测试 libyami-devel 的配置加载功能"
|
||||
|
||||
# 检查环境是否已安装 libyami-devel
|
||||
LOG_INFO "检查 libyami-devel 是否已安装"
|
||||
if dnf list installed libyami-devel &>/dev/null; then
|
||||
LOG_INFO "libyami-devel 已安装,跳过安装步骤"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "libyami-devel 未安装,将在测试后卸载"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否存在 libyami-devel
|
||||
LOG_INFO "检查 yum 源中是否存在 libyami-devel"
|
||||
if ! dnf list available libyami-devel &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 libyami-devel 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装 libyami-devel
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装 libyami-devel"
|
||||
dnf install -y libyami-devel
|
||||
CHECK_RESULT $? 0 0 "安装 libyami-devel 失败"
|
||||
fi
|
||||
|
||||
# 测试 libyami-devel 的配置加载功能
|
||||
LOG_INFO "测试 libyami-devel 的配置加载功能"
|
||||
yami-info --version
|
||||
CHECK_RESULT $? 0 0 "libyami-devel 配置加载失败"
|
||||
|
||||
# 如果之前未安装,则在测试后卸载 libyami-devel
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载 libyami-devel"
|
||||
dnf remove -y libyami-devel
|
||||
CHECK_RESULT $? 0 0 "卸载 libyami-devel 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,74 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test the encoding functionality of libyami-devel
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 libyami-devel 的编码功能"
|
||||
|
||||
# 检查环境是否已安装 libyami-devel
|
||||
LOG_INFO "检查 libyami-devel 是否已安装"
|
||||
if dnf list installed libyami-devel &>/dev/null; then
|
||||
LOG_INFO "libyami-devel 已安装,脚本结束后将保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "libyami-devel 未安装,将在测试完成后卸载"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有 libyami-devel 软件包
|
||||
LOG_INFO "检查 yum 源中是否存在 libyami-devel"
|
||||
if ! dnf list available libyami-devel &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 libyami-devel 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装 libyami-devel
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "正在安装 libyami-devel"
|
||||
dnf install -y libyami-devel
|
||||
CHECK_RESULT $? 0 0 "安装 libyami-devel 失败"
|
||||
fi
|
||||
|
||||
# 测试编码功能
|
||||
LOG_INFO "测试编码功能"
|
||||
command_to_test="libyamitest encode --input test_input --output test_output"
|
||||
if ! $command_to_test &>/dev/null; then
|
||||
if [[ $? -eq 255 ]]; then
|
||||
LOG_ERROR "命令参数不支持或不存在"
|
||||
exit 255
|
||||
else
|
||||
LOG_ERROR "编码功能测试失败"
|
||||
exit $?
|
||||
fi
|
||||
fi
|
||||
|
||||
CHECK_RESULT $? 0 0 "编码功能测试失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载 libyami-devel"
|
||||
dnf remove -y libyami-devel
|
||||
CHECK_RESULT $? 0 0 "卸载 libyami-devel 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,81 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 lucene-parent 软件包的搜索功能,验证搜索结果的准确性。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
LOG_INFO "开始测试 lucene-parent 软件包的搜索功能,验证搜索结果的准确性。"
|
||||
|
||||
# 检查是否已安装 lucene-parent 软件包
|
||||
LOG_INFO "检查 lucene-parent 软件包是否已安装..."
|
||||
dnf list installed lucene-parent > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "lucene-parent 软件包已安装,脚本结束后将保持安装状态。"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "lucene-parent 软件包未安装,将在测试步骤中安装并在脚本结束前卸载。"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否存在 lucene-parent 软件包
|
||||
LOG_INFO "检查 yum 源中是否存在 lucene-parent 软件包..."
|
||||
dnf list available lucene-parent > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum 源中未找到 lucene-parent 软件包,退出测试。"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装 lucene-parent
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在安装 lucene-parent 软件包..."
|
||||
dnf install -y lucene-parent
|
||||
CHECK_RESULT $? 0 0 "安装 lucene-parent 软件包失败"
|
||||
fi
|
||||
|
||||
# 测试搜索功能
|
||||
LOG_INFO "测试 lucene-parent 的搜索功能..."
|
||||
search_output=$(lucene-search --query "test query")
|
||||
CHECK_RESULT $? 0 0 "执行搜索命令失败"
|
||||
|
||||
# 验证搜索结果是否符合预期
|
||||
LOG_INFO "验证搜索结果是否符合预期..."
|
||||
expected_result="expected result"
|
||||
if [[ "$search_output" != *"$expected_result"* ]]; then
|
||||
LOG_ERROR "搜索结果不符合预期,实际输出: $search_output"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "搜索结果验证通过。"
|
||||
fi
|
||||
|
||||
# SSH_CMD示例(如果需要)
|
||||
# LOG_INFO "在第二个节点上执行命令..."
|
||||
# SSH_CMD ls $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER
|
||||
|
||||
#清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 lucene-parent 软件包..."
|
||||
dnf remove -y lucene-parent
|
||||
CHECK_RESULT $? 0 0 "卸载 luceneparent 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复。"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,61 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-20
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 lucene-parent 软件包的安装功能,验证安装过程是否正常完成。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 lucene-parent 软件包的安装功能"
|
||||
|
||||
# 检查环境是否已安装 lucene-parent
|
||||
LOG_INFO "检查 lucene-parent 软件包是否已安装"
|
||||
dnf list installed lucene-parent > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "lucene-parent 软件包已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "lucene-parent 软件包未安装,将在测试完成后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否存在 lucene-parent 软件包
|
||||
LOG_INFO "检查 yum 源中是否存在 lucene-parent 软件包"
|
||||
dnf list available lucene-parent > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum 源中不存在 lucene-parent 软件包"
|
||||
|
||||
# 安装 lucene-parent 软件包
|
||||
LOG_INFO "开始安装 lucene-parent 软件包"
|
||||
dnf install -y lucene-parent > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "lucene-parent 软件包安装失败"
|
||||
|
||||
# 验证安装是否成功
|
||||
LOG_INFO "验证 lucene-parent 软件包是否安装成功"
|
||||
dnf list installed lucene-parent > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "lucene-parent 软件包未正确安装"
|
||||
|
||||
# 如果测试前未安装,则卸载软件包以恢复环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 lucene-parent 软件包以恢复环境"
|
||||
dnf remove -y lucene-parent > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "lucene-parent 软件包卸载失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,106 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-04-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包可以通过包管理器成功卸载
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
check_package_in_repo() {
|
||||
LOG_INFO "检查yum源中是否存在软件包perl-Dist-CheckConflicts"
|
||||
dnf list available perl-Dist-CheckConflicts > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包perl-Dist-CheckConflicts不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "软件包perl-Dist-CheckConflicts在yum源中存在"
|
||||
}
|
||||
|
||||
# 检查软件包是否已安装
|
||||
check_package_installed() {
|
||||
LOG_INFO "检查软件包perl-Dist-CheckConflicts是否已安装"
|
||||
rpm -q perl-Dist-CheckConflicts > /dev/null 2>&1
|
||||
return $?
|
||||
}
|
||||
|
||||
# 安装软件包
|
||||
install_package() {
|
||||
LOG_INFO "安装软件包perl-Dist-CheckConflicts"
|
||||
dnf install -y perl-Dist-CheckConflicts
|
||||
CHECK_RESULT $? 0 0 "安装软件包perl-Dist-CheckConflicts失败"
|
||||
LOG_INFO "软件包perl-Dist-CheckConflicts安装成功"
|
||||
}
|
||||
|
||||
# 卸载软件包
|
||||
uninstall_package() {
|
||||
LOG_INFO "卸载软件包perl-Dist-CheckConflicts"
|
||||
dnf remove -y perl-Dist-CheckConflicts
|
||||
CHECK_RESULT $? 0 0 "卸载软件包perl-Dist-CheckConflicts失败"
|
||||
LOG_INFO "软件包perl-Dist-CheckConflicts卸载成功"
|
||||
}
|
||||
|
||||
# 测试卸载功能
|
||||
test_uninstall_function() {
|
||||
LOG_INFO "开始测试软件包卸载功能"
|
||||
uninstall_package
|
||||
LOG_INFO "验证软件包是否已卸载"
|
||||
rpm -q perl-Dist-CheckConflicts > /dev/null 2>&1
|
||||
CHECK_RESULT $? 1 0 "软件包卸载后仍然存在"
|
||||
LOG_INFO "软件包卸载验证成功"
|
||||
}
|
||||
|
||||
# 主函数
|
||||
main() {
|
||||
LOG_INFO "开始执行测试脚本:测试软件包可以通过包管理器成功卸载"
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
check_package_in_repo
|
||||
|
||||
# 检查软件包是否已安装
|
||||
if check_package_installed; then
|
||||
LOG_INFO "软件包perl-Dist-CheckConflicts已安装,测试结束后保持安装状态"
|
||||
already_installed=true
|
||||
else
|
||||
LOG_INFO "软件包perl-Dist-CheckConflicts未安装,将在测试前安装"
|
||||
already_installed=false
|
||||
install_package
|
||||
fi
|
||||
|
||||
# 执行卸载测试
|
||||
test_uninstall_function
|
||||
|
||||
# 环境恢复
|
||||
LOG_INFO "开始环境恢复"
|
||||
if [ "$already_installed" = "true" ]; then
|
||||
LOG_INFO "恢复软件包perl-Dist-CheckConflicts的安装状态"
|
||||
install_package
|
||||
else
|
||||
LOG_INFO "清理测试环境,保持软件包未安装状态"
|
||||
# 由于测试中已经卸载,无需额外操作
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完成"
|
||||
}
|
||||
|
||||
# 执行主函数
|
||||
main
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,73 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-04
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test AES encryption/decryption
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装poco-crypto软件包
|
||||
LOG_INFO "检查是否已安装poco-crypto软件包"
|
||||
if dnf list installed poco-crypto >/dev/null 2>&1; then
|
||||
LOG_INFO "poco-crypto已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "poco-crypto未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在poco-crypto软件包
|
||||
LOG_INFO "检查yum源中是否存在poco-crypto软件包"
|
||||
if ! dnf list available poco-crypto >/dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中不存在poco-crypto软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装poco-crypto软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装poco-crypto软件包"
|
||||
dnf install -y poco-crypto
|
||||
CHECK_RESULT $? 0 0 "安装poco-crypto软件包失败"
|
||||
fi
|
||||
|
||||
# 测试AES加密功能
|
||||
LOG_INFO "测试AES加密功能"
|
||||
openssl enc -aes-256-cbc -e -in /dev/zero -out /tmp/aes_encrypted -k testkey -pbkdf2
|
||||
CHECK_RESULT $? 0 0 "AES加密失败"
|
||||
|
||||
# 测试AES解密功能
|
||||
LOG_INFO "测试AES解密功能"
|
||||
openssl enc -aes-256-cbc -d -in /tmp/aes_encrypted -out /tmp/aes_decrypted -k testkey -pbkdf2
|
||||
CHECK_RESULT $? 0 0 "AES解密失败"
|
||||
|
||||
# 清理临时文件
|
||||
LOG_INFO "清理临时文件"
|
||||
rm -f /tmp/aes_encrypted /tmp/aes_decrypted
|
||||
|
||||
# 如果脚本开始时未安装poco-crypto,则在测试结束后卸载
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载poco-crypto软件包"
|
||||
dnf remove -y poco-crypto
|
||||
CHECK_RESULT $? 0 0 "卸载poco-crypto软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,73 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-28
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test decryption functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装poco-crypto软件包
|
||||
LOG_INFO "检查是否已安装poco-crypto软件包"
|
||||
if dnf list installed poco-crypto &>/dev/null; then
|
||||
LOG_INFO "poco-crypto已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "poco-crypto未安装,脚本结束后将卸载软件包"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在poco-crypto软件包
|
||||
LOG_INFO "检查yum源中是否存在poco-crypto软件包"
|
||||
if ! dnf list available poco-crypto &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到poco-crypto软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装poco-crypto软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装poco-crypto软件包"
|
||||
dnf install -y poco-crypto
|
||||
CHECK_RESULT $? 0 0 "安装poco-crypto软件包失败"
|
||||
fi
|
||||
|
||||
# 测试解密功能
|
||||
LOG_INFO "测试解密功能"
|
||||
decrypt_output=$(poco-crypto-function-decrypt --input test_encrypted.txt --output test_decrypted.txt)
|
||||
CHECK_RESULT $? 0 0 "解密功能测试失败"
|
||||
|
||||
# 验证解密结果
|
||||
LOG_INFO "验证解密结果"
|
||||
if [ -f test_decrypted.txt ]; then
|
||||
LOG_INFO "解密文件生成成功"
|
||||
else
|
||||
LOG_ERROR "解密文件未生成"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理环境(如果脚本开始时未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载poco-crypto软件包"
|
||||
dnf remove -y poco-crypto
|
||||
CHECK_RESULT $? 0 0 "卸载poco-crypto软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,65 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-28
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test hashing functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装poco-crypto软件包
|
||||
LOG_INFO "检查是否已安装poco-crypto软件包"
|
||||
if dnf list installed poco-crypto &>/dev/null; then
|
||||
LOG_INFO "poco-crypto已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "poco-crypto未安装,脚本结束时将卸载软件包"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在poco-crypto软件包
|
||||
LOG_INFO "检查yum源中是否存在poco-crypto软件包"
|
||||
if ! dnf list available poco-crypto &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到poco-crypto软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装poco-crypto软件包(如果未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在安装poco-crypto软件包"
|
||||
dnf install -y poco-crypto
|
||||
CHECK_RESULT $? 0 0 "安装poco-crypto失败"
|
||||
fi
|
||||
|
||||
# 测试哈希功能
|
||||
LOG_INFO "测试哈希功能"
|
||||
hash_output=$(echo "test" | openssl dgst -sha256)
|
||||
CHECK_RESULT $? 0 0 "哈希计算失败"
|
||||
LOG_INFO "哈希计算结果: $hash_output"
|
||||
|
||||
# 清理环境(如果最初未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载poco-crypto软件包"
|
||||
dnf remove -y poco-crypto
|
||||
CHECK_RESULT $? 0 0 "卸载poco-crypto失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完成"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,76 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-04
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test key generation functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试脚本:test_poco-crypto_function_keygen
|
||||
|
||||
LOG_INFO "开始测试密钥生成功能"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查 poco-crypto 软件包是否已安装"
|
||||
if rpm -q poco-crypto > /dev/null 2>&1; then
|
||||
LOG_INFO "poco-crypto 已安装,测试完成后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "poco-crypto 未安装,测试完成后将卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有 poco-crypto 软件包
|
||||
LOG_INFO "检查 yum 源中是否有 poco-crypto 软件包"
|
||||
if ! dnf list available poco-crypto > /dev/null 2>&1; then
|
||||
LOG_ERROR "yum 源中未找到 poco-crypto 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在安装 poco-crypto 软件包"
|
||||
dnf install -y poco-crypto
|
||||
CHECK_RESULT $? 0 0 "安装 poco-crypto 失败"
|
||||
fi
|
||||
|
||||
# 测试密钥生成功能
|
||||
LOG_INFO "测试密钥生成功能:执行 keygen 命令"
|
||||
keygen_output=$(poco-crypto-keygen --generate)
|
||||
CHECK_RESULT $? 0 0 "密钥生成失败"
|
||||
|
||||
# 检查生成的密钥是否符合预期
|
||||
LOG_INFO "检查生成的密钥是否符合预期"
|
||||
if [[ "$keygen_output" == *"successfully generated"* ]]; then
|
||||
LOG_INFO "密钥生成成功"
|
||||
else
|
||||
LOG_ERROR "生成的密钥不符合预期"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# SSH_CMD示例(如需在第二个服务器上执行命令)
|
||||
# LOG_INFO "在第二个服务器上执行命令"
|
||||
# SSH_CMD ls $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 poco-crypto 软件包"
|
||||
dnf remove -y poco-crypto
|
||||
CHECK_RESULT $?
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,80 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-04
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test PBKDF2 key derivation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 测试PBKDF2密钥派生功能
|
||||
LOG_INFO "开始测试PBKDF2密钥派生功能"
|
||||
|
||||
# 检查是否已安装poco-crypto软件包
|
||||
LOG_INFO "检查是否已安装poco-crypto软件包"
|
||||
if rpm -q poco-crypto; then
|
||||
LOG_INFO "poco-crypto已安装,测试完成后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "poco-crypto未安装,将在测试完成后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在poco-crypto软件包
|
||||
LOG_INFO "检查yum源中是否存在poco-crypto软件包"
|
||||
if ! dnf list available poco-crypto &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到poco-crypto软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装poco-crypto软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装poco-crypto软件包"
|
||||
dnf install -y poco-crypto
|
||||
CHECK_RESULT $? 0 0 "安装poco-crypto失败"
|
||||
fi
|
||||
|
||||
# 测试PBKDF2密钥派生功能
|
||||
LOG_INFO "测试PBKDF2密钥派生功能"
|
||||
openssl kdf -keylen 32 -kdfopt pass:password -kdfopt salt:salt -kdfopt iter:10000 -binary PBKDF2 > /tmp/pbkdf2_output.bin
|
||||
CHECK_RESULT $? 0 0 "PBKDF2密钥派生失败"
|
||||
|
||||
# 验证输出文件是否存在且非空
|
||||
LOG_INFO "验证PBKDF2输出文件"
|
||||
if [ -s /tmp/pbkdf2_output.bin ]; then
|
||||
LOG_INFO "PBKDF2密钥派生成功,输出文件有效"
|
||||
else
|
||||
LOG_ERROR "PBKDF2密钥派生失败,输出文件无效"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理临时文件
|
||||
LOG_INFO "清理临时文件"
|
||||
rm -f /tmp/pbkdf2_output.bin
|
||||
|
||||
# 如果测试前未安装,则卸载poco-crypto软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载poco-crypto软件包"
|
||||
dnf remove -y poco-crypto
|
||||
CHECK_RESULT $? 0 0 "卸载poco-crypto失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "PBKDF2密钥派生功能测试完成"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,69 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-04
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test random number generation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试随机数生成功能
|
||||
LOG_INFO "开始测试随机数生成功能"
|
||||
|
||||
# 检查是否已安装poco-crypto软件包
|
||||
LOG_INFO "检查poco-crypto是否已安装"
|
||||
if ! dnf list installed poco-crypto &>/dev/null; then
|
||||
LOG_INFO "poco-crypto未安装,准备安装"
|
||||
# 检查yum源中是否有poco-crypto软件包
|
||||
LOG_INFO "检查yum源中是否有poco-crypto软件包"
|
||||
if ! dnf list available poco-crypto &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到poco-crypto软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装poco-crypto
|
||||
LOG_INFO "安装poco-crypto软件包"
|
||||
dnf install -y poco-crypto
|
||||
CHECK_RESULT $? 0 0 "安装poco-crypto失败"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "poco-crypto已安装,跳过安装步骤"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 测试随机数生成功能
|
||||
LOG_INFO "测试随机数生成功能"
|
||||
random_output=$(/usr/bin/poco-crypto-random)
|
||||
CHECK_RESULT $? 0 0 "随机数生成失败"
|
||||
|
||||
# 检查生成的随机数是否有效(非空)
|
||||
LOG_INFO "检查生成的随机数是否有效"
|
||||
if [ -z "$random_output" ]; then
|
||||
LOG_ERROR "生成的随机数为空"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" -eq 1 ]; then
|
||||
LOG_INFO "卸载poco-crypto软件包"
|
||||
dnf remove -y poco-crypto
|
||||
CHECK_RESULT $? 0 0 "卸载poco-crypto失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试随机数生成功能完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,76 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-28
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test digital signature functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装poco-crypto软件包
|
||||
LOG_INFO "检查是否已安装poco-crypto软件包"
|
||||
if rpm -q poco-crypto >/dev/null 2>&1; then
|
||||
LOG_INFO "poco-crypto已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "poco-crypto未安装,将在测试完成后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在poco-crypto软件包
|
||||
LOG_INFO "检查yum源中是否存在poco-crypto软件包"
|
||||
if ! dnf list available poco-crypto >/dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中不存在poco-crypto软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装poco-crypto软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装poco-crypto软件包"
|
||||
dnf install -y poco-crypto
|
||||
CHECK_RESULT $? 0 0 "安装poco-crypto软件包失败"
|
||||
fi
|
||||
|
||||
# 测试数字签名功能
|
||||
LOG_INFO "测试数字签名功能"
|
||||
openssl genrsa -out private.key 2048
|
||||
CHECK_RESULT $? 0 0 "生成私钥失败"
|
||||
|
||||
openssl rsa -in private.key -pubout -out public.key
|
||||
CHECK_RESULT $? 0 0 "生成公钥失败"
|
||||
|
||||
echo "test data" > test.txt
|
||||
openssl dgst -sha256 -sign private.key -out signature.bin test.txt
|
||||
CHECK_RESULT $? 0 0 "签名失败"
|
||||
|
||||
openssl dgst -sha256 -verify public.key -signature signature.bin test.txt
|
||||
CHECK_RESULT $? 0 0 "验证签名失败"
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f private.key public.key test.txt signature.bin
|
||||
|
||||
# 如果脚本开始时未安装poco-crypto,则卸载
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载poco-crypto软件包"
|
||||
dnf remove -y poco-crypto
|
||||
CHECK_RESULT $? 0 0 "卸载poco-crypto软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,75 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-28
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test signature verification functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装poco-crypto软件包
|
||||
LOG_INFO "检查是否已安装poco-crypto软件包"
|
||||
if rpm -q poco-crypto &>/dev/null; then
|
||||
LOG_INFO "poco-crypto已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "poco-crypto未安装,脚本结束后将卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在poco-crypto软件包
|
||||
LOG_INFO "检查yum源中是否存在poco-crypto软件包"
|
||||
if ! dnf list available poco-crypto &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到poco-crypto软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装poco-crypto软件包
|
||||
LOG_INFO "安装poco-crypto软件包"
|
||||
dnf install -y poco-crypto
|
||||
CHECK_RESULT $? 0 0 "安装poco-crypto失败"
|
||||
|
||||
# 测试签名验证功能
|
||||
LOG_INFO "测试签名验证功能"
|
||||
openssl genrsa -out private.key 2048
|
||||
CHECK_RESULT $? 0 0 "生成私钥失败"
|
||||
openssl rsa -in private.key -pubout -out public.key
|
||||
CHECK_RESULT $? 0 0 "生成公钥失败"
|
||||
|
||||
echo "Test data" > testfile.txt
|
||||
openssl dgst -sha256 -sign private.key -out signature.bin testfile.txt
|
||||
CHECK_RESULT $? 0 0 "签名文件失败"
|
||||
|
||||
openssl dgst -sha256 -verify public.key -signature signature.bin testfile.txt
|
||||
CHECK_RESULT $? 0 0 "验证签名失败"
|
||||
|
||||
# 清理临时文件
|
||||
LOG_INFO "清理临时文件"
|
||||
rm -f private.key public.key testfile.txt signature.bin
|
||||
|
||||
# 如果脚本开始时未安装poco-crypto,则在结束时卸载
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载poco-crypto软件包"
|
||||
dnf remove -y poco-crypto
|
||||
CHECK_RESULT $? 0 0 "卸载poco-crypto失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完成"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,76 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-09
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic package usage
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test basic package usage"
|
||||
|
||||
# 检查yum源中是否存在python3-lhsmdu软件包
|
||||
LOG_INFO "检查yum源中是否存在python3-lhsmdu软件包"
|
||||
if ! dnf list available python3-lhsmdu 2>/dev/null | grep -q python3-lhsmdu; then
|
||||
LOG_ERROR "yum源中未找到python3-lhsmdu软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装python3-lhsmdu
|
||||
LOG_INFO "检查是否已安装python3-lhsmdu"
|
||||
if rpm -q python3-lhsmdu >/dev/null 2>&1; then
|
||||
LOG_INFO "python3-lhsmdu已安装,标记为保持安装状态"
|
||||
KEEP_INSTALLED=true
|
||||
else
|
||||
LOG_INFO "python3-lhsmdu未安装,将在测试后卸载"
|
||||
KEEP_INSTALLED=false
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$KEEP_INSTALLED" = "false" ]; then
|
||||
LOG_INFO "安装python3-lhsmdu软件包"
|
||||
dnf install -y python3-lhsmdu
|
||||
CHECK_RESULT $? 0 0 "安装python3-lhsmdu失败"
|
||||
fi
|
||||
|
||||
# 测试python3-lhsmdu基本命令帮助功能
|
||||
LOG_INFO "测试python3-lhsmdu --help命令"
|
||||
python3-lhsmdu --help
|
||||
CHECK_RESULT $? 0 0 "python3-lhsmdu --help命令执行失败"
|
||||
|
||||
# 测试python3-lhsmdu的特定参数(示例:--version)
|
||||
LOG_INFO "测试python3-lhsmdu --version命令"
|
||||
if python3-lhsmdu --help 2>&1 | grep -q -- "--version"; then
|
||||
python3-lhsmdu --version
|
||||
CHECK_RESULT $? 0 0 "python3-lhsmdu --version命令执行失败"
|
||||
else
|
||||
LOG_ERROR "python3-lhsmdu不支持--version参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载软件包
|
||||
if [ "$KEEP_INSTALLED" = "false" ]; then
|
||||
LOG_INFO "卸载python3-lhsmdu软件包"
|
||||
dnf remove -y python3-lhsmdu
|
||||
CHECK_RESULT $? 0 0 "卸载python3-lhsmdu失败"
|
||||
else
|
||||
LOG_INFO "保持python3-lhsmdu安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test basic package usage"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,93 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-09
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test help documentation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试help文档功能
|
||||
|
||||
LOG_INFO "开始测试python3-lhsmdu软件包的help功能"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="python3-lhsmdu"
|
||||
|
||||
# 检查环境是否已安装该软件包
|
||||
LOG_INFO "检查环境是否已安装 $PACKAGE_NAME"
|
||||
if dnf list installed "$PACKAGE_NAME" &>/dev/null; then
|
||||
LOG_INFO "$PACKAGE_NAME 已安装,测试后将保持安装状态"
|
||||
ALREADY_INSTALLED=true
|
||||
else
|
||||
LOG_INFO "$PACKAGE_NAME 未安装,将在测试后卸载"
|
||||
ALREADY_INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有该软件包
|
||||
LOG_INFO "检查yum源中是否有 $PACKAGE_NAME 软件包"
|
||||
if ! dnf list available "$PACKAGE_NAME" &>/dev/null; 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 失败"
|
||||
fi
|
||||
|
||||
# 测试help文档功能
|
||||
LOG_INFO "测试python3-lhsmdu的help功能"
|
||||
|
||||
# 检查python3-lhsmdu命令是否存在
|
||||
if ! command -v python3-lhsmdu &>/dev/null; then
|
||||
LOG_ERROR "python3-lhsmdu命令不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试help参数
|
||||
LOG_INFO "执行python3-lhsmdu --help命令"
|
||||
python3-lhsmdu --help
|
||||
CHECK_RESULT $? 0 0 "python3-lhsmdu --help命令执行失败"
|
||||
|
||||
# 测试-h参数
|
||||
LOG_INFO "执行python3-lhsmdu -h命令"
|
||||
python3-lhsmdu -h
|
||||
CHECK_RESULT $? 0 0 "python3-lhsmdu -h命令执行失败"
|
||||
|
||||
# 测试不支持的参数
|
||||
LOG_INFO "测试不支持的参数"
|
||||
python3-lhsmdu --invalid-param 2>&1 | grep -q "unrecognized arguments"
|
||||
CHECK_RESULT $? 0 0 "不支持的参数检查失败"
|
||||
|
||||
LOG_INFO "python3-lhsmdu help功能测试完成"
|
||||
|
||||
# 清理环境
|
||||
if [ "$ALREADY_INSTALLED" = 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 "测试脚本执行完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,73 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package installation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
LOG_INFO "开始测试:Test package installation"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查python3-lhsmdu软件包是否已安装"
|
||||
rpm -q python3-lhsmdu > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "python3-lhsmdu已安装,跳过安装步骤"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "python3-lhsmdu未安装,将进行安装测试"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在python3-lhsmdu软件包
|
||||
LOG_INFO "检查yum源中是否存在python3-lhsmdu软件包"
|
||||
dnf list available python3-lhsmdu > /dev/null 2>&1
|
||||
if [ $? -ne ]; then
|
||||
LOG_ERROR "yum源中未找到python3-lhsmdu软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
#安装软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "开始安装python3-lhsmdu软件包"
|
||||
dnf install -y python3-lhsmdu > /dev/null 2>&1
|
||||
CHECK_RESULT $? "安装python3-lhsmdu失败"
|
||||
fi
|
||||
|
||||
#测试命令帮助功能是否存在或支持
|
||||
LOG_INFO "测试python3-lhsmdu帮助命令功能"
|
||||
lhsmdu --help > /dev/null 2>&1
|
||||
CHECK_RESULT $? "lhsmdu帮助命令不支持或不存在"
|
||||
|
||||
#执行测试命令
|
||||
LOG_INFO "执行lhsmdu命令测试"
|
||||
lhsmdu --version > /dev/null 2>&1
|
||||
CHECK_RESULT $? "lhsmdu命令执行失败"
|
||||
|
||||
#清理环境
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载python3-lhsmdu软件包"
|
||||
dnf remove -y python3-lhsmdu > /dev/null 2>&1
|
||||
CHECK_RESULT $? "卸载python3-lhsmdu失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test package installation"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-09
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package removal
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义变量
|
||||
PACKAGE_NAME="python3-lhsmdu"
|
||||
TEST_COMMAND="python3 -m lhsmdu --help"
|
||||
|
||||
# 步骤1: 检查yum源中是否存在软件包
|
||||
LOG_INFO "步骤1: 检查yum源中是否存在软件包 ${PACKAGE_NAME}"
|
||||
if ! dnf list available ${PACKAGE_NAME} &>/dev/null; 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} 已安装,测试结束后保持安装状态"
|
||||
INSTALLED_BEFORE_TEST=true
|
||||
else
|
||||
LOG_INFO "软件包 ${PACKAGE_NAME} 未安装,测试前将进行安装"
|
||||
INSTALLED_BEFORE_TEST=false
|
||||
fi
|
||||
|
||||
# 步骤3: 如果未安装,则安装软件包
|
||||
if [ "${INSTALLED_BEFORE_TEST}" = "false" ]; then
|
||||
LOG_INFO "步骤3: 安装软件包 ${PACKAGE_NAME}"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
fi
|
||||
|
||||
# 步骤4: 测试软件包功能
|
||||
LOG_INFO "步骤4: 测试软件包功能,执行命令: ${TEST_COMMAND}"
|
||||
${TEST_COMMAND}
|
||||
CHECK_RESULT $? 0 0 "执行命令失败"
|
||||
|
||||
# 步骤5: 测试卸载软件包
|
||||
LOG_INFO "步骤5: 测试卸载软件包 ${PACKAGE_NAME}"
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
|
||||
# 步骤6: 验证软件包已卸载
|
||||
LOG_INFO "步骤6: 验证软件包 ${PACKAGE_NAME} 已卸载"
|
||||
if rpm -q ${PACKAGE_NAME} &>/dev/null; then
|
||||
LOG_ERROR "软件包 ${PACKAGE_NAME} 卸载失败"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "软件包 ${PACKAGE_NAME} 已成功卸载"
|
||||
fi
|
||||
|
||||
# 步骤7: 环境恢复
|
||||
LOG_INFO "步骤7: 环境恢复"
|
||||
if [ "${INSTALLED_BEFORE_TEST}" = "true" ]; then
|
||||
LOG_INFO "恢复软件包 ${PACKAGE_NAME} 的安装状态"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "恢复软件包安装失败"
|
||||
else
|
||||
LOG_INFO "测试前未安装软件包,无需恢复"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,71 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-08
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test image filtering functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试Python3 Pillow的图像过滤功能"
|
||||
|
||||
# 检查是否已安装python3-pillow
|
||||
if ! dnf list installed python3-pillow &>/dev/null; then
|
||||
LOG_INFO "python3-pillow未安装,将进行安装"
|
||||
INSTALLED=false
|
||||
else
|
||||
LOG_INFO "python3-pillow已安装"
|
||||
INSTALLED=true
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有python3-pillow
|
||||
if ! dnf list available python3-pillow &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到python3-pillow软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装python3-pillow
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在安装python3-pillow"
|
||||
dnf install -y python3-pillow
|
||||
CHECK_RESULT $? 0 0 "安装python3-pillow失败"
|
||||
fi
|
||||
|
||||
# 测试图像过滤功能
|
||||
LOG_INFO "测试图像过滤功能"
|
||||
python3 -c "
|
||||
from PIL import Image, ImageFilter
|
||||
img = Image.new("RGB", (100, 100), color="red")
|
||||
img = img.filter(ImageFilter.BLUR)
|
||||
img.save("test_blur.png")
|
||||
"
|
||||
CHECK_RESULT $? 0 0 "图像过滤功能测试失败"
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f test_blur.png
|
||||
|
||||
# 如果脚本开始时未安装python3-pillow,则在结束时卸载
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载python3-pillow"
|
||||
dnf remove -y python3-pillow
|
||||
CHECK_RESULT $? 0 0 "卸载python3-pillow失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,84 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-08
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test image opening functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装python3-pillow
|
||||
LOG_INFO "检查是否已安装python3-pillow"
|
||||
rpm -q python3-pillow > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "python3-pillow已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "python3-pillow未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有python3-pillow软件包
|
||||
LOG_INFO "检查yum源中是否有python3-pillow软件包"
|
||||
dnf list available python3-pillow > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到python3-pillow软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装python3-pillow
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在安装python3-pillow"
|
||||
dnf install -y python3-pillow > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装python3-pillow失败"
|
||||
fi
|
||||
|
||||
# 测试image opening功能
|
||||
LOG_INFO "测试image opening功能"
|
||||
python3 -c "
|
||||
from PIL import Image, ImageDraw, ImageFont
|
||||
|
||||
try:
|
||||
# 创建一个测试图像并保存
|
||||
img = Image.new("RGB", (100, 100), color="red")
|
||||
img.save("test_image.png")
|
||||
|
||||
# 尝试打开图像文件并检查是否成功
|
||||
img = Image.open("test_image.png")
|
||||
LOG_INFO("成功打开图像文件")
|
||||
except Exception as e:
|
||||
LOG_ERROR(f"打开图像文件失败: {e}")
|
||||
" > /dev/null 2>&1
|
||||
|
||||
CHECK_RESULT $? 0 0 "测试image opening功能失败"
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f test_image.png > /dev/null 2>&1
|
||||
|
||||
# 卸载python3-pillow(如果脚本开始时未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在卸载python3-pillow"
|
||||
dnf remove -y python3-pillow > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载python3-pillow失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,88 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-08
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test image resizing functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试Python3 Pillow库的图像缩放功能"
|
||||
|
||||
# 检查是否已安装python3-pillow
|
||||
LOG_INFO "检查python3-pillow是否已安装"
|
||||
if ! dnf list installed python3-pillow &>/dev/null; then
|
||||
LOG_INFO "python3-pillow未安装,准备安装"
|
||||
# 检查yum源中是否有python3-pillow
|
||||
if ! dnf list available python3-pillow &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到python3-pillow,退出测试"
|
||||
exit 255
|
||||
fi
|
||||
# 安装python3-pillow
|
||||
dnf install -y python3-pillow
|
||||
CHECK_RESULT $? 0 0 "安装python3-pillow失败"
|
||||
# 标记为需要卸载
|
||||
NEED_UNINSTALL=1
|
||||
else
|
||||
LOG_INFO "python3-pillow已安装,无需重新安装"
|
||||
fi
|
||||
|
||||
# 测试图像缩放功能
|
||||
LOG_INFO "测试图像缩放功能"
|
||||
cat <<EOF > test_resize.py
|
||||
from PIL import Image
|
||||
import sys
|
||||
|
||||
try:
|
||||
img = Image.open(sys.argv[1])
|
||||
resized_img = img.resize((100, 100))
|
||||
resized_img.save(sys.argv[2])
|
||||
except Exception as e:
|
||||
print(f"Error: {e}")
|
||||
sys.exit(1)
|
||||
EOF
|
||||
|
||||
# 创建测试图片
|
||||
LOG_INFO "创建测试图片"
|
||||
echo "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z/C/HgAGgwJ/lK3Q6wAAAABJRU5ErkJggg==" | base64 -d > test_input.png
|
||||
|
||||
# 执行测试脚本
|
||||
LOG_INFO "执行图像缩放测试脚本"
|
||||
python3 test_resize.py test_input.png test_output.png
|
||||
CHECK_RESULT $? 0 0 "图像缩放功能测试失败"
|
||||
|
||||
# 检查输出文件是否存在
|
||||
LOG_INFO "检查输出文件是否存在"
|
||||
if [ ! -f test_output.png ]; then
|
||||
LOG_ERROR "输出文件未生成,图像缩放功能异常"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理临时文件
|
||||
LOG_INFO "清理临时文件"
|
||||
rm -f test_input.png test_output.png test_resize.py
|
||||
|
||||
# 如果之前未安装,则卸载python3-pillow
|
||||
if [ "$NEED_UNINSTALL" -eq 1 ]; then
|
||||
LOG_INFO "卸载python3-pillow以恢复环境"
|
||||
dnf remove -y python3-pillow
|
||||
CHECK_RESULT $? 0 0 "卸载python3-pillow失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,84 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-08
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test image saving functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test image saving functionality"
|
||||
|
||||
# 检查是否已安装python3-pillow
|
||||
LOG_INFO "检查是否已安装python3-pillow"
|
||||
if dnf list installed python3-pillow &>/dev/null; then
|
||||
LOG_INFO "python3-pillow已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "python3-pillow未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有python3-pillow
|
||||
LOG_INFO "检查yum源中是否有python3-pillow"
|
||||
if ! dnf list available python3-pillow &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到python3-pillow软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 若未安装则安装python3-pillow
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装python3-pillow"
|
||||
dnf install -y python3-pillow
|
||||
CHECK_RESULT $? 0 0 "安装python3-pillow失败"
|
||||
fi
|
||||
|
||||
# 测试image保存功能
|
||||
LOG_INFO "测试image保存功能"
|
||||
python3 -c "
|
||||
from PIL import Image, ImageDraw
|
||||
|
||||
img = Image.new("RGB", (100, 100), color="red")
|
||||
draw = ImageDraw.Draw(img)
|
||||
draw.text((10,10), "Test", fill="white")
|
||||
img.save("test_image.png")
|
||||
"
|
||||
CHECK_RESULT $? 0 0 "保存image失败"
|
||||
|
||||
# 验证文件是否存在
|
||||
LOG_INFO "验证test_image.png文件是否存在"
|
||||
if [ -f "test_image.png" ]; then
|
||||
LOG_INFO "文件test_image.png创建成功"
|
||||
else
|
||||
LOG_ERROR "文件test_image.png未创建"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f test_image.png
|
||||
|
||||
# 若测试前未安装则卸载python3-pillow
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载python3-pillow"
|
||||
dnf remove -y python3-pillow
|
||||
CHECK_RESULT $? 0 0 "卸载python3-pillow失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test image saving functionality"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,64 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-29
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic functionality of saxon-manual
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试saxon-manual的基本功能"
|
||||
|
||||
# 检查是否已安装saxon-manual
|
||||
LOG_INFO "检查saxon-manual是否已安装"
|
||||
if dnf list installed saxon-manual &>/dev/null; then
|
||||
LOG_INFO "saxon-manual已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "saxon-manual未安装,将在测试完成后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有saxon-manual软件包
|
||||
LOG_INFO "检查yum源中是否存在saxon-manual软件包"
|
||||
if ! dnf list available saxon-manual &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到saxon-manual软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装saxon-manual(如果未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装saxon-manual"
|
||||
dnf install -y saxon-manual
|
||||
CHECK_RESULT $? 0 0 "安装saxon-manual失败"
|
||||
fi
|
||||
|
||||
# 测试基本功能
|
||||
LOG_INFO "测试saxon-manual的基本功能"
|
||||
saxon-manual --version
|
||||
CHECK_RESULT $? 0 0 "获取saxon-manual版本失败"
|
||||
|
||||
# 清理环境(如果之前未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载saxon-manual"
|
||||
dnf remove -y saxon-manual
|
||||
CHECK_RESULT $? 0 0 "卸载saxon-manual失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,64 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test schema validation functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 schema 验证功能"
|
||||
|
||||
# 检查是否已安装 saxon-manual 软件包
|
||||
LOG_INFO "检查 saxon-manual 软件包是否已安装"
|
||||
if dnf list installed saxon-manual &>/dev/null; then
|
||||
LOG_INFO "saxon-manual 软件包已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "saxon-manual 软件包未安装,测试结束后将卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否存在 saxon-manual 软件包
|
||||
LOG_INFO "检查 yum 源中是否存在 saxon-manual 软件包"
|
||||
if ! dnf list available saxon-manual &>/dev/null; then
|
||||
LOG_ERROR "yum 源中不存在 saxon-manual 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装 saxon-manual 软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装 saxon-manual 软件包"
|
||||
dnf install -y saxon-manual
|
||||
CHECK_RESULT $? 0 0 "安装 saxon-manual 失败"
|
||||
fi
|
||||
|
||||
# 测试 schema validation 功能
|
||||
LOG_INFO "测试 schema validation functionality"
|
||||
saxon-manual --validate-schema test_schema.xsd test_data.xml
|
||||
CHECK_RESULT $? 0 0 "schema validation 功能测试失败"
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载 saxon-manual
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 saxon-manual 软件包"
|
||||
dnf remove -y saxon-manual
|
||||
CHECK_RESULT $? 0 0 "卸载 saxon-manual 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "schema 验证功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,63 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test XQuery execution functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装saxon-manual软件包
|
||||
LOG_INFO "检查是否已安装saxon-manual软件包"
|
||||
if dnf list installed saxon-manual &>/dev/null; then
|
||||
LOG_INFO "saxon-manual已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "saxon-manual未安装,脚本结束时将卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有saxon-manual软件包
|
||||
LOG_INFO "检查yum源中是否有saxon-manual软件包"
|
||||
if ! dnf list available saxon-manual &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到saxon-manual软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装saxon-manual软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装saxon-manual软件包"
|
||||
dnf install -y saxon-manual
|
||||
CHECK_RESULT $? 0 0 "安装saxon-manual失败"
|
||||
fi
|
||||
|
||||
# 测试XQuery执行功能
|
||||
LOG_INFO "测试XQuery执行功能"
|
||||
xquery_test_command="saxon-manual --xquery "1 + 1""
|
||||
eval $xquery_test_command
|
||||
CHECK_RESULT $? 0 0 "XQuery执行失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载saxon-manual软件包"
|
||||
dnf remove -y saxon-manual
|
||||
CHECK_RESULT $? 0 0 "卸载saxon-manual失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,71 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test XSLT transformation functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试XSLT转换功能"
|
||||
|
||||
# 检查是否已安装saxon-manual软件包
|
||||
LOG_INFO "检查saxon-manual软件包是否已安装"
|
||||
if dnf list installed saxon-manual &>/dev/null; then
|
||||
LOG_INFO "saxon-manual软件包已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "saxon-manual软件包未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有saxon-manual软件包
|
||||
LOG_INFO "检查yum源中是否有saxon-manual软件包"
|
||||
if ! dnf list available saxon-manual &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到saxon-manual软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装saxon-manual软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装saxon-manual软件包"
|
||||
dnf install -y saxon-manual
|
||||
CHECK_RESULT $? 0 0 "安装saxon-manual软件包失败"
|
||||
fi
|
||||
|
||||
# 测试XSLT转换功能
|
||||
LOG_INFO "测试XSLT转换功能"
|
||||
xslt_output=$(echo "<test>Hello</test>" | saxon -xsl:- -s:- -o:- <<<"<?xml version="1.0"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:template match="/"><output><xsl:value-of select="test"/></output></xsl:template></xsl:stylesheet>")
|
||||
CHECK_RESULT $? 0 0 "XSLT转换失败"
|
||||
|
||||
# 验证输出结果
|
||||
expected_output="<output>Hello</output>"
|
||||
if [ "$xslt_output" != "$expected_output" ]; then
|
||||
LOG_ERROR "XSLT转换输出不符合预期"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载saxon-manual软件包"
|
||||
dnf remove -y saxon-manual
|
||||
CHECK_RESULT $? 0 0 "卸载saxon-manual软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试XSLT转换功能完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,78 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-04
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test converting test streams with subunit-static
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test converting test streams with subunit-static"
|
||||
|
||||
LOG_INFO "步骤1: 检查是否已安装subunit-static软件包"
|
||||
if dnf list installed subunit-static &> /dev/null; then
|
||||
LOG_INFO "subunit-static已安装,测试完成后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "subunit-static未安装,将在测试过程中安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2: 检查yum源中是否有subunit-static软件包"
|
||||
if ! dnf list available subunit-static &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到subunit-static软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤3: 检查subunit-static命令是否支持convert参数"
|
||||
if ! subunit-static --help | grep -q "convert"; then
|
||||
LOG_ERROR "subunit-static命令不支持convert参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤4: 安装subunit-static软件包"
|
||||
dnf install -y subunit-static
|
||||
CHECK_RESULT $? 0 0 "安装subunit-static软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤5: 测试subunit-static convert功能"
|
||||
echo "Test: test1" > test_input.txt
|
||||
subunit-static convert test_input.txt test_output.xml
|
||||
CHECK_RESULT $? 0 0 "subunit-static convert命令执行失败"
|
||||
|
||||
LOG_INFO "步骤6: 验证转换后的输出文件"
|
||||
if [ -f test_output.xml ]; then
|
||||
LOG_INFO "输出文件test_output.xml已生成"
|
||||
else
|
||||
LOG_ERROR "输出文件test_output.xml未生成"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤7: 清理测试文件"
|
||||
rm -f test_input.txt test_output.xml
|
||||
CHECK_RESULT $? 0 0 "清理测试文件失败"
|
||||
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤8: 卸载subunit-static软件包"
|
||||
dnf remove -y subunit-static
|
||||
CHECK_RESULT $? 0 0 "卸载subunit-static软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test converting test streams with subunit-static"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,68 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-04
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test querying the version of subunit-static
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test querying the version of subunit-static"
|
||||
|
||||
PACKAGE_NAME="subunit-static"
|
||||
LOG_INFO "步骤1:检查yum源中是否存在软件包 $PACKAGE_NAME"
|
||||
dnf list available $PACKAGE_NAME > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到软件包 $PACKAGE_NAME"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查系统是否已安装 $PACKAGE_NAME"
|
||||
if rpm -q $PACKAGE_NAME > /dev/null 2>&1; then
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 已安装,测试结束后将保持安装状态"
|
||||
PRE_INSTALLED=true
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 未安装,将作为测试步骤进行安装"
|
||||
PRE_INSTALLED=false
|
||||
fi
|
||||
|
||||
if [ "$PRE_INSTALLED" = "false" ]; then
|
||||
LOG_INFO "步骤3:安装软件包 $PACKAGE_NAME"
|
||||
dnf install -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:检查 subunit-static 命令是否支持 version 参数"
|
||||
subunit-static --help 2>&1 | grep -q "\-\-version"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "subunit-static 命令不支持 --version 参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤5:执行 subunit-static --version 命令"
|
||||
subunit-static --version
|
||||
CHECK_RESULT $? 0 0 "执行 subunit-static --version 失败"
|
||||
|
||||
if [ "$PRE_INSTALLED" = "false" ]; then
|
||||
LOG_INFO "步骤6:卸载软件包 $PACKAGE_NAME"
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test querying the version of subunit-static"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,78 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-04
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic usage of subunit-static tool
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试subunit-static工具的基本用法"
|
||||
|
||||
# 环境检查:检查是否已安装subunit-static软件包
|
||||
LOG_INFO "检查环境是否已安装subunit-static软件包"
|
||||
if dnf list installed subunit-static &>/dev/null; then
|
||||
LOG_INFO "环境已安装subunit-static,测试结束后将保持安装状态"
|
||||
INSTALLED_BEFORE_TEST=1
|
||||
else
|
||||
LOG_INFO "环境未安装subunit-static,测试前将进行安装"
|
||||
INSTALLED_BEFORE_TEST=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在subunit-static软件包
|
||||
LOG_INFO "检查yum源中是否存在subunit-static软件包"
|
||||
if ! dnf list available subunit-static &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到subunit-static软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $INSTALLED_BEFORE_TEST -eq 0 ]; then
|
||||
LOG_INFO "安装subunit-static软件包"
|
||||
dnf install -y subunit-static
|
||||
CHECK_RESULT $? 0 0 "安装subunit-static软件包失败"
|
||||
fi
|
||||
|
||||
# 测试subunit-static命令的基本用法
|
||||
LOG_INFO "测试subunit-static命令的版本查询"
|
||||
subunit-static --version
|
||||
CHECK_RESULT $? 0 0 "subunit-static --version命令执行失败"
|
||||
|
||||
LOG_INFO "测试subunit-static命令的帮助信息"
|
||||
subunit-static --help
|
||||
CHECK_RESULT $? 0 0 "subunit-static --help命令执行失败"
|
||||
|
||||
# 测试一个不支持的参数,预期失败
|
||||
LOG_INFO "测试subunit-static命令的不支持参数(预期失败)"
|
||||
subunit-static --invalid-parameter 2>/dev/null
|
||||
if [ $? -eq 255 ]; then
|
||||
LOG_INFO "检测到不支持参数,按预期退出"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载软件包
|
||||
if [ $INSTALLED_BEFORE_TEST -eq 0 ]; then
|
||||
LOG_INFO "卸载subunit-static软件包"
|
||||
dnf remove -y subunit-static
|
||||
CHECK_RESULT $? 0 0 "卸载subunit-static软件包失败"
|
||||
else
|
||||
LOG_INFO "测试前已安装subunit-static,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,64 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-25
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic functionality of texlive-bashful
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查texlive-bashful是否已安装
|
||||
LOG_INFO "检查texlive-bashful是否已安装"
|
||||
if dnf list installed texlive-bashful &> /dev/null; then
|
||||
LOG_INFO "texlive-bashful已安装"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-bashful未安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-bashful软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-bashful软件包"
|
||||
if ! dnf list available texlive-bashful &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-bashful软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装texlive-bashful(如果未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装texlive-bashful"
|
||||
dnf install -y texlive-bashful
|
||||
CHECK_RESULT $? 0 0 "安装texlive-bashful失败"
|
||||
fi
|
||||
|
||||
# 测试texlive-bashful基本功能
|
||||
LOG_INFO "测试texlive-bashful基本功能"
|
||||
texlive-bashful --version
|
||||
CHECK_RESULT $? 0 0 "texlive-bashful基本功能测试失败"
|
||||
|
||||
# 卸载texlive-bashful(如果最初未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载texlive-bashful"
|
||||
dnf remove -y texlive-bashful
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-bashful失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,62 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test drawing ruler functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装texlive-fgruler
|
||||
LOG_INFO "检查是否已安装texlive-fgruler"
|
||||
if rpm -q texlive-fgruler &>/dev/null; then
|
||||
LOG_INFO "texlive-fgruler已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-fgruler未安装,脚本结束后将卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-fgruler软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-fgruler软件包"
|
||||
if ! dnf list available texlive-fgruler &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-fgruler软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装texlive-fgruler(如果未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在安装texlive-fgruler"
|
||||
dnf install -y texlive-fgruler
|
||||
CHECK_RESULT $? 0 0 "安装texlive-fgruler失败"
|
||||
fi
|
||||
|
||||
# 测试绘制标尺功能
|
||||
LOG_INFO "测试绘制标尺功能"
|
||||
fgruler --help &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "fgruler命令不支持或参数错误"
|
||||
|
||||
# 清理环境(如果脚本开始时未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在卸载texlive-fgruler"
|
||||
dnf remove -y texlive-fgruler
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-fgruler失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,74 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 验证 texlive-pst-knot-doc 文档内容包含关键信息
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试 texlive-pst-knot-doc 文档内容包含关键信息"
|
||||
|
||||
LOG_INFO "步骤1:检查 yum 源中是否存在 texlive-pst-knot-doc 软件包"
|
||||
if ! dnf list available texlive-pst-knot-doc 2>/dev/null | grep -q "texlive-pst-knot-doc"; then
|
||||
LOG_ERROR "yum 源中不存在 texlive-pst-knot-doc 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查系统是否已安装 texlive-pst-knot-doc"
|
||||
if rpm -q texlive-pst-knot-doc >/dev/null 2>&1; then
|
||||
LOG_INFO "texlive-pst-knot-doc 已安装,测试结束后将保持安装状态"
|
||||
INSTALLED="true"
|
||||
else
|
||||
LOG_INFO "texlive-pst-knot-doc 未安装,将在测试过程中安装并最终卸载"
|
||||
INSTALLED="false"
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "步骤3:安装 texlive-pst-knot-doc 软件包"
|
||||
dnf install -y texlive-pst-knot-doc
|
||||
CHECK_RESULT $? 0 0 "安装 texlive-pst-knot-doc 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:验证 texlive-pst-knot-doc 文档内容包含关键信息"
|
||||
DOC_FILE="/usr/share/texlive/texmf-dist/doc/latex/pst-knot/pst-knot-doc.pdf"
|
||||
if [ ! -f "$DOC_FILE" ]; then
|
||||
LOG_ERROR "文档文件 $DOC_FILE 不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤5:使用 pdfgrep 检查文档中是否包含关键信息 "knot""
|
||||
if ! command -v pdfgrep >/dev/null 2>&1; then
|
||||
LOG_ERROR "pdfgrep 命令不存在,无法检查文档内容"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
pdfgrep -i "knot" "$DOC_FILE" >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "文档中未找到关键信息 "knot""
|
||||
|
||||
LOG_INFO "步骤6:清理测试环境"
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "卸载 texlive-pst-knot-doc 软件包"
|
||||
dnf remove -y texlive-pst-knot-doc
|
||||
CHECK_RESULT $? 0 0 "卸载 texlive-pst-knot-doc 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,70 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic functionality of texlive-russ package
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 texlive-russ 软件包的基本功能"
|
||||
|
||||
# 检查是否已安装 texlive-russ
|
||||
LOG_INFO "检查 texlive-russ 是否已安装"
|
||||
if dnf list installed texlive-russ &> /dev/null; then
|
||||
LOG_INFO "texlive-russ 已安装,测试结束后将保持安装状态"
|
||||
already_installed=true
|
||||
else
|
||||
LOG_INFO "texlive-russ 未安装,将在测试结束后卸载"
|
||||
already_installed=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否存在 texlive-russ
|
||||
LOG_INFO "检查 yum 源中是否存在 texlive-russ"
|
||||
if ! dnf list available texlive-russ &> /dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 texlive-russ 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装 texlive-russ
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "安装 texlive-russ"
|
||||
dnf install -y texlive-russ
|
||||
CHECK_RESULT $? 0 0 "安装 texlive-russ 失败"
|
||||
fi
|
||||
|
||||
# 测试基本功能
|
||||
LOG_INFO "测试 texlive-russ 的基本功能"
|
||||
texlive_command="tex --version"
|
||||
if ! command -v tex &> /dev/null; then
|
||||
LOG_ERROR "tex 命令不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
eval $texlive_command
|
||||
CHECK_RESULT $? 0 0 "执行 tex --version 失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "卸载 texlive-russ"
|
||||
dnf remove -y texlive-russ
|
||||
CHECK_RESULT $? 0 0 "卸载 texlive-russ 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,68 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test the scale functionality of texlive-scale-doc
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
LOG_INFO "开始测试 texlive-scale-doc 的 scale 功能"
|
||||
|
||||
# 检查是否已安装 texlive-scale-doc
|
||||
LOG_INFO "检查 texlive-scale-doc 是否已安装"
|
||||
dnf list installed texlive-scale-doc > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-scale-doc 已安装,测试完成后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-scale-doc 未安装,将在测试完成后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有 texlive-scale-doc
|
||||
LOG_INFO "检查 yum 源中是否有 texlive-scale-doc"
|
||||
dnf list available texlive-scale-doc > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum 源中未找到 texlive-scale-doc,退出测试"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装 texlive-scale-doc
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装 texlive-scale-doc"
|
||||
dnf install -y texlive-scale-doc
|
||||
CHECK_RESULT $? 0 0 "安装 texlive-scale-doc 失败"
|
||||
fi
|
||||
|
||||
# 测试 scale 功能
|
||||
LOG_INFO "测试 scale 功能"
|
||||
texdoc scale > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "执行 scale 功能失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 texlive-scale-doc"
|
||||
dnf remove -y texlive-scale-doc
|
||||
CHECK_RESULT $? 0 0 "卸载 texlive-scale-doc 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,85 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-20
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 texlive-silence-doc 包的降级功能,验证软件包是否能正常降级。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 texlive-silence-doc 包的降级功能"
|
||||
|
||||
# 检查是否已安装 texlive-silence-doc
|
||||
LOG_INFO "检查 texlive-silence-doc 是否已安装"
|
||||
if dnf list installed texlive-silence-doc &> /dev/null; then
|
||||
LOG_INFO "texlive-silence-doc 已安装,记录当前版本"
|
||||
current_version=$(dnf list installed texlive-silence-doc | awk '{print $2}')
|
||||
LOG_INFO "当前版本: $current_version"
|
||||
else
|
||||
LOG_INFO "texlive-silence-doc 未安装,准备安装"
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有 texlive-silence-doc
|
||||
LOG_INFO "检查 yum 源中是否有 texlive-silence-doc"
|
||||
if ! dnf list available texlive-silence-doc &> /dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 texlive-silence-doc"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 获取可用的低版本
|
||||
LOG_INFO "获取可用的低版本"
|
||||
lower_version=$(dnf list available texlive-silence-doc | awk '{print $2}' | sort -V | head -n1)
|
||||
if [ -z "$lower_version" ]; then
|
||||
LOG_ERROR "未找到可用的低版本"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "可用低版本: $lower_version"
|
||||
|
||||
# 如果未安装,则先安装当前版本
|
||||
if ! dnf list installed texlive-silence-doc &> /dev/null; then
|
||||
LOG_INFO "安装当前版本的 texlive-silence-doc"
|
||||
dnf install -y texlive-silence-doc
|
||||
CHECK_RESULT $? 0 0 "安装 texlive-silence-doc 失败"
|
||||
fi
|
||||
|
||||
# 降级到低版本
|
||||
LOG_INFO "降级到低版本 $lower_version"
|
||||
dnf downgrade -y texlive-silence-doc-$lower_version
|
||||
CHECK_RESULT $? 0 0 "降级 texlive-silence-doc 失败"
|
||||
|
||||
# 验证降级后的版本
|
||||
LOG_INFO "验证降级后的版本"
|
||||
downgraded_version=$(dnf list installed texlive-silence-doc | awk '{print $2}')
|
||||
if [ "$downgraded_version" != "$lower_version" ]; then
|
||||
LOG_ERROR "降级失败,当前版本: $downgraded_version, 预期版本: $lower_version"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 恢复环境:如果最初未安装,则卸载;否则恢复到最初版本
|
||||
if [ -z "$current_version" ]; then
|
||||
LOG_INFO "最初未安装,卸载 texlive-silence-doc"
|
||||
dnf remove -y texlive-silence-doc
|
||||
CHECK_RESULT $? 0 0 "卸载 texlive-silence-doc 失败"
|
||||
else
|
||||
LOG_INFO "恢复到最初版本 $current_version"
|
||||
dnf upgrade -y texlive-silence-doc-$current_version
|
||||
CHECK_RESULT $? 0 0 "恢复到最初版本失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,64 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-20
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 texlive-silence-doc 包的升级功能,验证软件包是否能正常升级。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 texlive-silence-doc 包的升级功能"
|
||||
|
||||
# 检查是否已安装 texlive-silence-doc
|
||||
LOG_INFO "检查 texlive-silence-doc 是否已安装"
|
||||
if dnf list installed texlive-silence-doc &> /dev/null; then
|
||||
LOG_INFO "texlive-silence-doc 已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-silence-doc 未安装,将在测试后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有 texlive-silence-doc 包
|
||||
LOG_INFO "检查 yum 源中是否有 texlive-silence-doc 包"
|
||||
if ! dnf list available texlive-silence-doc &> /dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 texlive-silence-doc 包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装 texlive-silence-doc(如果未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装 texlive-silence-doc"
|
||||
dnf install -y texlive-silence-doc
|
||||
CHECK_RESULT $? 0 0 "安装 texlive-silence-doc 失败"
|
||||
fi
|
||||
|
||||
# 检查升级功能
|
||||
LOG_INFO "测试升级 texlive-silence-doc"
|
||||
dnf upgrade -y texlive-silense-doc
|
||||
CHECK_RESULT $? 0 0 "升级 texlive-silense-doc 失败"
|
||||
|
||||
# 清理环境(如果最初未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 texlive-silense-doc"
|
||||
dnf remove -y texlive-silense-doc
|
||||
CHECK_RESULT $? 0 0 "卸载 texlive-silense-doc 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,89 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 texlive-textopo-doc 软件包的降级功能,验证是否能够成功降级到旧版本。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
|
||||
# 步骤1:检查texlive-textopo-doc软件包是否在yum源中
|
||||
LOG_INFO "检查texlive-textopo-doc软件包是否在yum源中"
|
||||
dnf list available texlive-textopo-doc > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-textopo-doc软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤2:检查当前是否已安装texlive-textopo-doc软件包
|
||||
LOG_INFO "检查当前是否已安装texlive-textopo-doc软件包"
|
||||
rpm -q texlive-textopo-doc > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
INSTALLED=true
|
||||
LOG_INFO "当前已安装texlive-textopo-doc软件包,脚本结束后将保持安装状态"
|
||||
else
|
||||
INSTALLED=false
|
||||
LOG_INFO "当前未安装texlive-textopo-doc软件包,脚本结束后将卸载"
|
||||
fi
|
||||
|
||||
# 步骤3:获取texlive-textopo-doc的可用版本列表
|
||||
LOG_INFO "获取texlive-textopo-doc的可用版本列表"
|
||||
VERSIONS=$(dnf list --showduplicates texlive-textopo-doc | awk '{print $2}' | sort -u)
|
||||
if [ -z "$VERSIONS" ]; then
|
||||
LOG_ERROR "无法获取texlive-textopo-doc的可用版本列表"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤4:选择旧版本进行降级测试(假设第二个版本为旧版本)
|
||||
OLD_VERSION=$(echo "$VERSIONS" | head -n 2 | tail -n 1)
|
||||
if [ -z "$OLD_VERSION" ]; then
|
||||
LOG_ERROR "无法找到可用的旧版本"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "准备降级到旧版本: $OLD_VERSION"
|
||||
|
||||
# 步骤5:执行降级操作
|
||||
LOG_INFO "执行降级操作"
|
||||
dnf downgrade -y texlive-textopo-doc-$OLD_VERSION > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "降级操作失败"
|
||||
|
||||
# 步骤6:验证降级后的版本是否为指定的旧版本
|
||||
CURRENT_VERSION=$(rpm -q --queryformat '%{VERSION}' texlive-textopo-doc)
|
||||
LOG_INFO "当前版本: $CURRENT_VERSION, 预期版本: $OLD_VERSION"
|
||||
if [ "$CURRENT_VERSION" != "$OLD_VERSION" ]; then
|
||||
LOG_ERROR "降级后版本与预期不符"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "降级成功,当前版本为$OLD_VERSION"
|
||||
fi
|
||||
|
||||
# 步骤7:恢复环境(如果最初未安装,则卸载)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "清理环境,卸载texlive-textopo-doc软件包"
|
||||
dnf remove -y texlive-textopo-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载操作失败"
|
||||
else
|
||||
LOG_INFO "保持当前安装状态,不进行卸载操作"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,96 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 texlive-textopo-doc 软件包的降级回滚功能,验证是否能够成功从降级版本回滚到之前的版本。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
|
||||
# 步骤1:检查环境是否已安装texlive-textopo-doc
|
||||
LOG_INFO "检查是否已安装texlive-textopo-doc..."
|
||||
dnf list installed texlive-textopo-doc > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-textopo-doc已安装,脚本结束时将保持安装状态。"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-textopo-doc未安装,将在测试结束后卸载。"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 步骤2:检查yum源中是否存在texlive-textopo-doc软件包
|
||||
LOG_INFO "检查yum源中是否存在texlive-textopo-doc软件包..."
|
||||
dnf list available texlive-textopo-doc > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在texlive-textopo-doc软件包,退出测试。"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤3:获取当前texlive-textopo-doc的版本
|
||||
LOG_INFO "获取当前texlive-textopo-doc的版本..."
|
||||
CURRENT_VERSION=$(dnf list installed texlive-textopo-doc | awk 'NR==2 {print $2}')
|
||||
if [ -z "$CURRENT_VERSION" ]; then
|
||||
LOG_INFO "未安装texlive-textopo-doc,将进行安装。"
|
||||
else
|
||||
LOG_INFO "当前版本为: $CURRENT_VERSION"
|
||||
fi
|
||||
|
||||
# 步骤4:安装指定版本的texlive-textopo-doc(降级)
|
||||
LOG_INFO "尝试降级安装texlive-textopo-doc..."
|
||||
dnf downgrade -y texlive-textopo-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "降级安装失败"
|
||||
|
||||
# 步骤5:验证降级后的版本是否与预期一致
|
||||
LOG_INFO "验证降级后的版本..."
|
||||
DOWNGRADED_VERSION=$(dnf list installed texlive-textopo-doc | awk 'NR==2 {print $2}')
|
||||
if [ "$DOWNGRADED_VERSION" == "$CURRENT_VERSION" ]; then
|
||||
LOG_ERROR "降级失败,版本未变化。"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "降级成功,当前版本为: $DOWNGRADED_VERSION"
|
||||
fi
|
||||
|
||||
# 步骤6:回滚到之前的版本(升级)
|
||||
LOG_INFO "尝试回滚到之前的版本..."
|
||||
dnf upgrade -y texlive-textopo-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "回滚失败"
|
||||
|
||||
# 步骤7:验证回滚后的版本是否与最初一致
|
||||
LOG_INFO "验证回滚后的版本..."
|
||||
ROLLBACK_VERSION=$(dnf list installed texlive-textopo-doc | awk 'NR==2 {print $2}')
|
||||
if [ "$ROLLBACK_VERSION" != "$CURRENT_VERSION" ]; then
|
||||
LOG_ERROR "回滚失败,版本不一致。"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "回滚成功,当前版本为: $ROLLBACK_VERSION"
|
||||
fi
|
||||
|
||||
# 步骤8:清理环境(如果最初未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "清理环境,卸载texlive-textopo-doc..."
|
||||
dnf remove -y texlive-textopo-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载失败"
|
||||
else
|
||||
LOG_INFO "保持环境不变,不卸载texlive-textopo-doc。"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成!"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,104 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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-22
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 验证 texlive-textopo-doc 作为 TeX Live 文档组件,其安装路径是否被 texdoc 等工具正确识别和索引。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已经安装texlive-textopo-doc
|
||||
LOG_INFO "检查是否已经安装texlive-textopo-doc"
|
||||
rpm -q texlive-textopo-doc > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-textopo-doc已经安装,测试结束后将保持安装状态"
|
||||
already_installed=1
|
||||
else
|
||||
LOG_INFO "texlive-textopo-doc未安装,将在测试过程中安装"
|
||||
already_installed=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-textopo-doc软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-textopo-doc软件包"
|
||||
dnf list available texlive-textopo-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "yum源中没有texlive-textopo-doc软件包"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中没有texlive-textopo-doc软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装texlive-textopo-doc
|
||||
if [ $already_installed -eq 0 ]; then
|
||||
LOG_INFO "安装texlive-textopo-doc"
|
||||
dnf install -y texlive-textopo-doc
|
||||
CHECK_RESULT $? 0 0 "安装texlive-textopo-doc失败"
|
||||
fi
|
||||
|
||||
# 检查texdoc命令是否存在
|
||||
LOG_INFO "检查texdoc命令是否存在"
|
||||
which texdoc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "texdoc命令不存在"
|
||||
|
||||
# 使用texdoc查找textopo文档
|
||||
LOG_INFO "使用texdoc查找textopo文档"
|
||||
texdoc -l textopo > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "texdoc无法找到textopo文档"
|
||||
|
||||
# 验证textopo文档的具体路径
|
||||
LOG_INFO "验证textopo文档的具体路径"
|
||||
doc_path=$(texdoc -l textopo 2>/dev/null | head -1 | awk "{print $2}")
|
||||
if [ -n "$doc_path" ]; then
|
||||
LOG_INFO "找到textopo文档路径: $doc_path"
|
||||
# 检查文档路径是否在texlive目录下
|
||||
echo "$doc_path" | grep -q "/usr/share/texlive/"
|
||||
CHECK_RESULT $? 0 0 "textopo文档路径不在texlive目录下"
|
||||
|
||||
# 检查文档文件是否存在
|
||||
if [ -f "$doc_path" ]; then
|
||||
LOG_INFO "textopo文档文件存在"
|
||||
else
|
||||
LOG_ERROR "textopo文档文件不存在"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
LOG_ERROR "无法获取textopo文档路径"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 检查texlive-textopo-doc的安装路径
|
||||
LOG_INFO "检查texlive-textopo-doc的安装路径"
|
||||
rpm -ql texlive-textopo-doc | grep -q "\.pdf$"
|
||||
CHECK_RESULT $? 0 0 "texlive-textopo-doc未安装PDF文档"
|
||||
|
||||
# 验证texdoc索引
|
||||
LOG_INFO "验证texdoc索引"
|
||||
texdoc -s textopo | grep -q "textopo"
|
||||
CHECK_RESULT $? 0 0 "texdoc索引中未找到textopo"
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载软件包
|
||||
if [ $already_installed -eq 0 ]; then
|
||||
LOG_INFO "卸载texlive-textopo-doc"
|
||||
dnf remove -y texlive-textopo-doc
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-textopo-doc失败"
|
||||
LOG_INFO "环境已恢复到测试前状态"
|
||||
else
|
||||
LOG_INFO "保持texlive-textopo-doc安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:texlive-textopo-doc文档被texdoc正确识别和索引"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,155 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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-22
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 验证能否列出 texlive-textopo-doc 软件包安装的所有文件,确保文档内容完整无缺失。
|
||||
# ############################################
|
||||
|
||||
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 "yum源中不存在软件包: $package_name"
|
||||
exit 255
|
||||
fi
|
||||
}
|
||||
|
||||
# 检查命令参数是否支持
|
||||
check_command_option() {
|
||||
local command=$1
|
||||
local option=$2
|
||||
LOG_INFO "检查命令 $command 是否支持参数: $option"
|
||||
if ! $command --help 2>/dev/null | grep -q -- "$option"; then
|
||||
LOG_ERROR "命令 $command 不支持参数: $option"
|
||||
exit 255
|
||||
fi
|
||||
}
|
||||
|
||||
# 检查软件包是否已安装
|
||||
check_package_installed() {
|
||||
local package_name=$1
|
||||
rpm -q "$package_name" &>/dev/null
|
||||
return $?
|
||||
}
|
||||
|
||||
# 安装软件包
|
||||
install_package() {
|
||||
local package_name=$1
|
||||
LOG_INFO "安装软件包: $package_name"
|
||||
dnf install -y "$package_name"
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
}
|
||||
|
||||
# 卸载软件包
|
||||
uninstall_package() {
|
||||
local package_name=$1
|
||||
LOG_INFO "卸载软件包: $package_name"
|
||||
dnf remove -y "$package_name"
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
}
|
||||
|
||||
# 主测试函数
|
||||
main() {
|
||||
local package_name="texlive-textopo-doc"
|
||||
local was_installed=false
|
||||
|
||||
# 步骤1: 检查软件包是否在yum源中
|
||||
LOG_INFO "步骤1: 检查yum源中是否存在软件包 $package_name"
|
||||
check_package_in_repo "$package_name"
|
||||
|
||||
# 步骤2: 检查软件包是否已安装
|
||||
LOG_INFO "步骤2: 检查软件包 $package_name 是否已安装"
|
||||
if check_package_installed "$package_name"; then
|
||||
LOG_INFO "软件包 $package_name 已安装"
|
||||
was_installed=true
|
||||
else
|
||||
LOG_INFO "软件包 $package_name 未安装"
|
||||
was_installed=false
|
||||
fi
|
||||
|
||||
# 步骤3: 如果未安装,则安装软件包
|
||||
if [ "$was_installed" = false ]; then
|
||||
LOG_INFO "步骤3: 安装软件包 $package_name"
|
||||
install_package "$package_name"
|
||||
fi
|
||||
|
||||
# 步骤4: 检查rpm命令是否支持-ql参数
|
||||
LOG_INFO "步骤4: 检查rpm命令是否支持-ql参数"
|
||||
check_command_option "rpm" "-ql"
|
||||
|
||||
# 步骤5: 列出软件包安装的所有文件
|
||||
LOG_INFO "步骤5: 列出软件包 $package_name 安装的所有文件"
|
||||
rpm -ql "$package_name" > /tmp/texlive_files_list.txt
|
||||
CHECK_RESULT $? 0 0 "列出软件包文件失败"
|
||||
|
||||
# 步骤6: 验证文件列表是否非空
|
||||
LOG_INFO "步骤6: 验证文件列表是否非空"
|
||||
if [ -s /tmp/texlive_files_list.txt ]; then
|
||||
LOG_INFO "软件包 $package_name 安装了 $(wc -l < /tmp/texlive_files_list.txt) 个文件"
|
||||
CHECK_RESULT $? 0 0 "文件列表为空"
|
||||
else
|
||||
LOG_ERROR "软件包 $package_name 未安装任何文件"
|
||||
CHECK_RESULT 1 0 0 "文件列表为空"
|
||||
fi
|
||||
|
||||
# 步骤7: 验证文件是否存在且可访问
|
||||
LOG_INFO "步骤7: 验证部分文件是否存在且可访问"
|
||||
local sample_file=$(head -5 /tmp/texlive_files_list.txt | tail -1)
|
||||
if [ -n "$sample_file" ]; then
|
||||
if [ -f "$sample_file" ]; then
|
||||
LOG_INFO "文件 $sample_file 存在且可访问"
|
||||
CHECK_RESULT $? 0 0 "文件不存在或不可访问"
|
||||
else
|
||||
LOG_ERROR "文件 $sample_file 不存在"
|
||||
CHECK_RESULT 1 0 0 "文件不存在"
|
||||
fi
|
||||
fi
|
||||
|
||||
# 步骤8: 清理临时文件
|
||||
LOG_INFO "步骤8: 清理临时文件"
|
||||
rm -f /tmp/texlive_files_list.txt
|
||||
CHECK_RESULT $? 0 0 "清理临时文件失败"
|
||||
|
||||
# 步骤9: 环境恢复
|
||||
LOG_INFO "步骤9: 环境恢复"
|
||||
if [ "$was_installed" = false ]; then
|
||||
LOG_INFO "卸载测试安装的软件包 $package_name"
|
||||
uninstall_package "$package_name"
|
||||
else
|
||||
LOG_INFO "保持软件包 $package_name 的安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成: 成功验证了 texlive-textopo-doc 软件包安装的所有文件"
|
||||
}
|
||||
|
||||
# 执行主测试函数
|
||||
main
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,91 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-22
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 验证 texlive-textopo-doc 软件包能否通过系统包管理器成功卸载,并清理相关文档文件。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
PACKAGE_NAME="texlive-textopo-doc"
|
||||
LOG_INFO "开始测试:验证 texlive-textopo-doc 软件包能否通过系统包管理器成功卸载,并清理相关文档文件。"
|
||||
|
||||
LOG_INFO "步骤1:检查软件包是否存在于yum源中"
|
||||
dnf list available "$PACKAGE_NAME" &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 $PACKAGE_NAME 在yum源中不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查当前环境是否已安装 $PACKAGE_NAME"
|
||||
rpm -q "$PACKAGE_NAME" &>/dev/null
|
||||
INSTALLED=$?
|
||||
if [ $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 "步骤3:安装软件包 $PACKAGE_NAME"
|
||||
dnf install -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:验证软件包是否安装成功"
|
||||
rpm -q "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "软件包 $PACKAGE_NAME 未正确安装"
|
||||
|
||||
LOG_INFO "步骤5:卸载软件包 $PACKAGE_NAME"
|
||||
dnf remove -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
|
||||
|
||||
LOG_INFO "步骤6:验证软件包是否已卸载"
|
||||
rpm -q "$PACKAGE_NAME" &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "软件包 $PACKAGE_NAME 卸载后仍然存在"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 已成功卸载"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤7:检查相关文档文件是否已清理"
|
||||
find /usr/share/doc -name "*textopo*" 2>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "软件包 $PACKAGE_NAME 的相关文档文件未完全清理"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 的相关文档文件已清理"
|
||||
fi
|
||||
|
||||
if [ $NEED_CLEANUP -eq 1 ]; then
|
||||
LOG_INFO "步骤8:恢复测试环境,重新安装软件包"
|
||||
dnf install -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "重新安装软件包 $PACKAGE_NAME 失败"
|
||||
LOG_INFO "环境已恢复,软件包 $PACKAGE_NAME 已重新安装"
|
||||
else
|
||||
LOG_INFO "步骤8:恢复测试环境,重新安装软件包"
|
||||
dnf install -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "重新安装软件包 $PACKAGE_NAME 失败"
|
||||
LOG_INFO "环境已恢复,软件包 $PACKAGE_NAME 已重新安装"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:验证 texlive-textopo-doc 软件包能否通过系统包管理器成功卸载,并清理相关文档文件。"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,84 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 texlive-textopo-doc 软件包的回滚功能,验证是否能够成功回滚到之前的版本。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
|
||||
# 检查 yum 源中是否存在 texlive-textopo-doc 软件包
|
||||
LOG_INFO "检查 yum 源中是否存在 texlive-textopo-doc 软件包..."
|
||||
dnf list available texlive-textopo-doc &> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum 源中未找到 texlive-textopo-doc 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查当前是否已安装 texlive-textopo-doc
|
||||
LOG_INFO "检查当前是否已安装 texlive-textopo-doc..."
|
||||
dnf list installed texlive-textopo-doc &> /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-textopo-doc 已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-textopo-doc 未安装,将在测试完成后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包作为测试步骤
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装 texlive-textopo-doc..."
|
||||
dnf install -y texlive-textopo-doc
|
||||
CHECK_RESULT $? 0 0 "安装 texlive-textopo-doc 失败"
|
||||
fi
|
||||
|
||||
# 获取当前版本信息
|
||||
LOG_INFO "获取当前 texlive-textopo-doc 版本信息..."
|
||||
CURRENT_VERSION=$(rpm -q texlive-textopo-doc)
|
||||
CHECK_RESULT $? 0 0 "获取当前版本失败"
|
||||
|
||||
# 回滚到上一个版本(假设通过 dnf history undo)
|
||||
LOG_INFO "尝试回滚到上一个版本..."
|
||||
dnf history undo last -y --skip-broken
|
||||
CHECK_RESULT $? 0 0 "回滚操作失败"
|
||||
|
||||
# 验证回滚后的版本是否与之前不同
|
||||
LOG_INFO "验证回滚后的版本是否与之前不同..."
|
||||
NEW_VERSION=$(rpm -q texlive-textopo-doc)
|
||||
if [ "$CURRENT_VERSION" = "$NEW_VERSION" ]; then
|
||||
LOG_ERROR "回滚后版本未发生变化"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "回滚成功,当前版本为 $NEW_VERSION"
|
||||
fi
|
||||
|
||||
# 如果初始未安装,则在测试完成后卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "清理环境,卸载 texlive-textopo-doc..."
|
||||
dnf remove -y texlive-textopo-doc
|
||||
CHECK_RESULT $? 0 0 "卸载 texlive-textopo-doc 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
|
||||
### 脚本说明:
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,80 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 texlive-textopo-doc 软件包提供的服务配置功能,验证是否能够正常修改服务配置。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
|
||||
# 检查texlive-textopo-doc软件包是否已安装
|
||||
LOG_INFO "检查texlive-textopo-doc软件包是否已安装"
|
||||
rpm -q texlive-textopo-doc > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-textopo-doc软件包已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-textopo-doc软件包未安装,将在测试完成后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在texlive-textopo-doc软件包
|
||||
LOG_INFO "检查yum源中是否存在texlive-textopo-doc软件包"
|
||||
dnf list available texlive-textopo-doc > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-textopo-doc软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装texlive-textopo-doc软件包(如果未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装texlive-textopo-doc软件包"
|
||||
dnf install -y texlive-textopo-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装texlive-textopo-doc软件包失败"
|
||||
fi
|
||||
|
||||
# 验证服务配置功能
|
||||
LOG_INFO "验证texlive-textopo-doc提供的服务配置功能"
|
||||
# 假设服务配置命令为textopo-config,此处仅为示例,需替换为实际命令
|
||||
command -v textopo-config > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "textopo-config命令不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试修改服务配置(示例)
|
||||
LOG_INFO "尝试修改服务配置"
|
||||
textopo-config --set-option example_option=value > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "修改服务配置失败"
|
||||
|
||||
# 清理环境(如果之前未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载texlive-textopo-doc软件包以恢复环境"
|
||||
dnf remove -y texlive-textopo-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-textopo-doc软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
|
||||
1. `textopo-config`为示例命令,需替换为实际的服务配置命令。
|
||||
2. `example_option=value`为示例参数,需替换为实际的配置参数。
|
||||
3. `CHECK_RESULT`和日志函数直接使用,无需定义。
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,67 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 texlive-textopo-doc 软件包提供的服务日志查看功能,验证是否能够正常查看服务日志。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
|
||||
# 检查texlive-textopo-doc软件包是否已安装
|
||||
LOG_INFO "检查texlive-textopo-doc软件包是否已安装"
|
||||
rpm -q texlive-textopo-doc > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-textopo-doc软件包已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-textopo-doc软件包未安装,脚本结束后将卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-textopo-doc软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-textopo-doc软件包"
|
||||
dnf list available texlive-textopo-doc > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-textopo-doc软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if ! $INSTALLED; then
|
||||
LOG_INFO "开始安装texlive-textopo-doc软件包"
|
||||
dnf install -y texlive-textopo-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装texlive-textopo-doc软件包失败"
|
||||
fi
|
||||
|
||||
# 测试服务日志查看功能
|
||||
LOG_INFO "测试服务日志查看功能"
|
||||
journalctl -u texlive-textopo-doc.service > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "查看texlive-textopo-doc服务日志失败"
|
||||
|
||||
# 恢复环境:如果脚本开始时未安装,则卸载软件包
|
||||
if ! $INSTALLED; then
|
||||
LOG_INFO "卸载texlive-textopo-doc软件包以恢复环境"
|
||||
dnf remove -y texlive-textopo-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-textopo-doc软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,76 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 texlive-textopo-doc 软件包提供的服务重启功能,验证服务是否能够正常重启。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装texlive-textopo-doc软件包
|
||||
LOG_INFO "检查是否已安装texlive-textopo-doc软件包"
|
||||
dnf list installed texlive-textopo-doc &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-textopo-doc已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-textopo-doc未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-textopo-doc软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-textopo-doc软件包"
|
||||
dnf list available texlive-textopo-doc &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-textopo-doc软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装texlive-textopo-doc软件包"
|
||||
dnf install -y texlive-textopo-doc
|
||||
CHECK_RESULT $? 0 0 "安装texlive-textopo-doc失败"
|
||||
fi
|
||||
|
||||
# 检查服务是否存在
|
||||
LOG_INFO "检查texlive-textopo-doc服务是否存在"
|
||||
systemctl list-unit-files | grep texlive-textopo-doc &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "texlive-textopo-doc服务不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 重启服务并验证状态
|
||||
LOG_INFO "重启texlive-textopo-doc服务"
|
||||
systemctl restart texlive-textopo-doc
|
||||
CHECK_RESULT $? 0 0 "重启texlive-textopo-doc服务失败"
|
||||
|
||||
LOG_INFO "验证服务状态是否正常"
|
||||
systemctl status texlive-textopo-doc | grep "active (running)" &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "服务状态异常"
|
||||
|
||||
# 清理环境:如果脚本开始时未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载texlive-textopo-doc软件包"
|
||||
dnf remove -y texlive-textopo-doc
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-textopo-doc失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,77 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 texlive-textopo-doc 软件包提供的服务启动功能,验证服务是否能够正常启动。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
|
||||
# 检查texlive-textopo-doc软件包是否已安装
|
||||
LOG_INFO "检查texlive-textopo-doc软件包是否已安装"
|
||||
rpm -q texlive-textopo-doc > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-textopo-doc软件包已安装,跳过安装步骤"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-textopo-doc软件包未安装,准备安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在texlive-textopo-doc软件包
|
||||
LOG_INFO "检查yum源中是否存在texlive-textopo-doc软件包"
|
||||
dnf list available texlive-textopo-doc > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在texlive-textopo-doc软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装texlive-textopo-doc软件包"
|
||||
dnf install -y texlive-textopo-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装texlive-textopo-doc软件包失败"
|
||||
fi
|
||||
|
||||
# 验证服务启动功能
|
||||
LOG_INFO "验证texlive-textopo-doc服务启动功能"
|
||||
systemctl start texlive-textopo-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "启动texlive-textopo-doc服务失败"
|
||||
|
||||
# 检查服务状态是否正常运行
|
||||
LOG_INFO "检查texlive-textopo-doc服务状态"
|
||||
systemctl status texlive-textopo-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "texlive-textopo-doc服务未正常运行"
|
||||
|
||||
# 停止服务以清理环境
|
||||
LOG_INFO "停止texlive-textopo-doc服务"
|
||||
systemctl stop texlive-textopo-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "停止texlive-textopo-doc服务失败"
|
||||
|
||||
# 如果脚本开始时未安装,则卸载软件包以恢复环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载texlive-textopo-doc软件包以恢复环境"
|
||||
dnf remove -y texlive-textopo-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-textopo-doc软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,76 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 texlive-textopo-doc 软件包提供的服务状态查询功能,验证是否能够正常查询服务状态。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
|
||||
# 检查texlive-textopo-doc软件包是否在yum源中
|
||||
LOG_INFO "检查texlive-textopo-doc软件包是否在yum源中"
|
||||
dnf list available texlive-textopo-doc &> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "texlive-textopo-doc软件包不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装texlive-textopo-doc
|
||||
LOG_INFO "检查是否已安装texlive-textopo-doc"
|
||||
rpm -q texlive-textopo-doc &> /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
installed=true
|
||||
LOG_INFO "texlive-textopo-doc已安装,脚本结束后将保持安装状态"
|
||||
else
|
||||
installed=false
|
||||
LOG_INFO "texlive-textopo-doc未安装,将在测试完成后卸载"
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if ! $installed; then
|
||||
LOG_INFO "正在安装texlive-textopo-doc软件包"
|
||||
dnf install -y texlive-textopo-doc &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "安装texlive-textopo-doc失败"
|
||||
fi
|
||||
|
||||
# 测试服务状态查询功能
|
||||
LOG_INFO "测试服务状态查询功能"
|
||||
service_status=$(systemctl status texlive-textopo-doc.service 2>&1)
|
||||
CHECK_RESULT $? 0 0 "查询服务状态失败"
|
||||
|
||||
# 验证服务状态输出是否包含有效信息
|
||||
LOG_INFO "验证服务状态输出是否包含有效信息"
|
||||
if [[ "$service_status" == *"active (running)"* ]]; then
|
||||
LOG_INFO "服务状态正常:active (running)"
|
||||
else
|
||||
LOG_ERROR "服务状态异常:$service_status"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理环境:如果脚本开始时未安装,则卸载软件包
|
||||
if ! $installed; then
|
||||
LOG_INFO "正在卸载texlive-textopo-doc软件包"
|
||||
dnf remove -y texlive-textopo-doc &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-textopo-doc失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,79 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 texlive-textopo-doc 软件包提供的服务停止功能,验证服务是否能够正常停止。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
|
||||
# 检查texlive-textopo-doc软件包是否已安装
|
||||
LOG_INFO "检查texlive-textopo-doc软件包是否已安装"
|
||||
rpm -q texlive-textopo-doc > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-textopo-doc软件包已安装,跳过安装步骤"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-textopo-doc软件包未安装,准备安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在texlive-textopo-doc软件包
|
||||
LOG_INFO "检查yum源中是否存在texlive-textopo-doc软件包"
|
||||
dnf list available texlive-textopo-doc > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-textopo-doc软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装texlive-textopo-doc软件包"
|
||||
dnf install -y texlive-textopo-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装texlive-textopo-doc软件包失败"
|
||||
fi
|
||||
|
||||
# 检查服务是否存在
|
||||
LOG_INFO "检查服务是否存在"
|
||||
systemctl list-unit-files | grep texlive-textopo-doc.service > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "服务texlive-textopo-doc.service不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 停止服务并验证是否成功停止
|
||||
LOG_INFO "停止texlive-textopo-doc.service服务"
|
||||
systemctl stop texlive-textopo-doc.service > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "停止texlive-textopo-doc.service服务失败"
|
||||
|
||||
LOG_INFO "验证服务是否已停止"
|
||||
systemctl is-active texlive-textopo-doc.service > /dev/null 2>&1
|
||||
CHECK_RESULT $? 3 0 "服务未成功停止"
|
||||
|
||||
# 恢复环境:如果脚本开始时未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载texlive-textopo-doc软件包"
|
||||
dnf remove -y texlive-textopo-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-textopo-doc软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,94 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 texlive-textopo-doc 软件包的升级功能,验证是否能够成功升级到新版本。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
|
||||
# 检查是否已经安装 texlive-textopo-doc
|
||||
LOG_INFO "检查 texlive-textopo-doc 是否已安装..."
|
||||
dnf list installed texlive-textopo-doc > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-textopo-doc 已安装,脚本结束后将保持安装状态。"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-textopo-doc 未安装,将在测试完成后卸载。"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否存在 texlive-textopo-doc 软件包
|
||||
LOG_INFO "检查 yum 源中是否存在 texlive-textopo-doc 软件包..."
|
||||
dnf list available texlive-textopo-doc > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum 源中未找到 texlive-textopo-doc 软件包。"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装 texlive-textopo-doc
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装 texlive-textopo-doc..."
|
||||
dnf install -y texlive-textopo-doc
|
||||
CHECK_RESULT $? 0 0 "安装 texlive-textopo-doc 失败。"
|
||||
fi
|
||||
|
||||
# 获取当前版本信息
|
||||
LOG_INFO "获取当前 texlive-textopo-doc 版本信息..."
|
||||
CURRENT_VERSION=$(rpm -q --queryformat '%{VERSION}-%{RELEASE}' texlive-textopo-doc)
|
||||
LOG_INFO "当前版本: $CURRENT_VERSION"
|
||||
|
||||
# 检查是否有新版本可用
|
||||
LOG_INFO "检查是否有新版本的 texlive-textopo-doc..."
|
||||
dnf check-update texlive-textopo-doc > /dev/null 2>&1
|
||||
if [ $? -eq 100 ]; then
|
||||
LOG_INFO "检测到新版本的 texlive-textopo-doc,准备升级..."
|
||||
else
|
||||
LOG_ERROR "未检测到新版本的 texlive-textopo-doc。"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 升级软件包
|
||||
LOG_INFO "开始升级 texlive-textopo-doc..."
|
||||
dnf upgrade -y texlive-textopo-doc
|
||||
CHECK_RESULT $? 0 0 "升级 texlive-textopo-doc 失败。"
|
||||
|
||||
# 验证升级后的版本信息
|
||||
LOG_INFO "验证升级后的版本信息..."
|
||||
NEW_VERSION=$(rpm -q --queryformat '%{VERSION}-%{RELEASE}' texlive-textopo-doc)
|
||||
LOG_INFO "升级后版本: $NEW_VERSION"
|
||||
|
||||
if [ "$CURRENT_VERSION" != "$NEW_VERSION" ]; then
|
||||
LOG_INFO "版本已成功从 $CURRENT_VERSION 升级到 $NEW_VERSION。"
|
||||
else
|
||||
LOG_ERROR "版本未发生变化,升级失败。"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理环境:如果最初未安装,则卸载软件包;否则保持安装状态。
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "清理环境:卸载 texlive-textopo-doc..."
|
||||
dnf remove -y texlive-textopo-doc
|
||||
CHECK_RESULT $? 0 0 "卸载 texlive-textopo-doc 失败。"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复。"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,117 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 texlive-textopo-doc 软件包的升级回滚功能,验证是否能够成功从升级版本回滚到之前的版本。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查软件包是否存在于yum源中
|
||||
check_package_existence() {
|
||||
local package_name=$1
|
||||
LOG_INFO "检查yum源中是否存在软件包: $package_name"
|
||||
dnf list available "$package_name" &> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在软件包: $package_name"
|
||||
exit 255
|
||||
fi
|
||||
}
|
||||
|
||||
# 检查命令参数是否有效
|
||||
check_command_args() {
|
||||
local command=$1
|
||||
local arg=$2
|
||||
LOG_INFO "检查命令参数: $command $arg"
|
||||
$command --help | grep -q "$arg"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "命令参数不支持: $command $arg"
|
||||
exit 255
|
||||
fi
|
||||
}
|
||||
|
||||
# 安装软件包
|
||||
install_package() {
|
||||
local package_name=$1
|
||||
LOG_INFO "安装软件包: $package_name"
|
||||
dnf install -y "$package_name"
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败: $package_name"
|
||||
}
|
||||
|
||||
# 卸载软件包
|
||||
uninstall_package() {
|
||||
local package_name=$1
|
||||
LOG_INFO "卸载软件包: $package_name"
|
||||
dnf remove -y "$package_name"
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败: $package_name"
|
||||
}
|
||||
|
||||
# 检查软件包是否已安装
|
||||
is_package_installed() {
|
||||
local package_name=$1
|
||||
rpm -q "$package_name" &> /dev/null
|
||||
return $?
|
||||
}
|
||||
|
||||
# 主函数
|
||||
main() {
|
||||
local package="texlive-textopo-doc"
|
||||
|
||||
# 步骤1:检查yum源中是否存在目标软件包
|
||||
check_package_existence "$package"
|
||||
|
||||
# 步骤2:检查当前环境是否已安装目标软件包
|
||||
if is_package_installed "$package"; then
|
||||
LOG_INFO "当前环境已安装软件包: $package,脚本结束后将保持安装状态。"
|
||||
local already_installed=true
|
||||
else
|
||||
LOG_INFO "当前环境未安装软件包: $package,将在测试完成后卸载。"
|
||||
local already_installed=false
|
||||
install_package "$package"
|
||||
fi
|
||||
|
||||
# 步骤3:获取当前版本号并记录为回滚目标版本号(假设通过rpm -q获取)
|
||||
current_version=$(rpm -q --queryformat '%{VERSION}-%{RELEASE}' "$package")
|
||||
CHECK_RESULT $? 0 0 "获取当前版本号失败: $package"
|
||||
|
||||
# 步骤4:升级到最新版本(假设通过dnf upgrade)
|
||||
LOG_INFO "升级软件包到最新版本: $package"
|
||||
dnf upgrade -y "$package"
|
||||
CHECK_RESULT $? 0 0 "升级软件包失败: $package"
|
||||
|
||||
# 步骤5:验证升级后的版本是否为最新版本(假设通过rpm -q获取)
|
||||
upgraded_version=$(rpm -q --queryformat '%{VERSION}-%{RELEASE}' "$package")
|
||||
CHECK_RESULT $(test "$upgraded_version" != "$current_version") 1 "" "升级后版本未变化"
|
||||
|
||||
# 步骤6:回滚到之前记录的版本(假设通过dnf downgrade)
|
||||
LOG_INFO "回滚到之前记录的版本: ${current_version}"
|
||||
dnf downgrade -y "${package}-${current_version}"
|
||||
CHECK_RESULT $(test $(rpm -q --queryformat '%{VERSION}-%{RELEASE}' "$package") == "${current_version}") "" "" "回滚失败"
|
||||
|
||||
# 步骤7:清理环境(如果最初未安装则卸载)
|
||||
if ! ${already_installed}; then
|
||||
uninstall_package "${PACKAGE}"
|
||||
CHECK_RESULT ${?} '' '' '卸载失败'
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
main
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user