Merge branch 'pkg' of http://10.30.190.190:54866/redrsoe2100/os-autotest into pkg
This commit is contained in:
@@ -5,42 +5,6 @@
|
||||
{
|
||||
"name": "test_apache-commons-jci-janino_function_install",
|
||||
"desc": "Test package installation"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-commons-jci-janino_function_compile",
|
||||
"desc": "Test code compilation"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-commons-jci-janino_function_execute",
|
||||
"desc": "Test script execution"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-commons-jci-janino_function_load",
|
||||
"desc": "Test class loading"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-commons-jci-janino_function_uninstall",
|
||||
"desc": "Test package uninstallation"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-commons-jci-janino_function_version",
|
||||
"desc": "Test checking package version"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-commons-jci-janino_function_dependency",
|
||||
"desc": "Test package dependencies"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-commons-jci-janino_function_syntax",
|
||||
"desc": "Test compilation syntax error"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-commons-jci-janino_function_eval",
|
||||
"desc": "Test expression evaluation"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-commons-jci-janino_function_integration",
|
||||
"desc": "Test integration with JCI"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6,10 +6,6 @@
|
||||
"name": "test_gssntlmssp-devel_install",
|
||||
"desc": "测试gssntlmssp-devel软件包的安装功能,验证安装过程是否正常完成。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_gssntlmssp-devel_function_auth",
|
||||
"desc": "测试gssntlmssp-devel的认证功能,验证其是否能正确处理认证请求。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/libdbusmenu/libdbusmenu-jsonloader-devel",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_libdbusmenu-jsonloader-devel_function_load",
|
||||
"desc": "Test the loading functionality of libdbusmenu-jsonloader"
|
||||
},
|
||||
{
|
||||
"name": "test_libdbusmenu-jsonloader-devel_function_parse",
|
||||
"desc": "Test the parsing functionality of libdbusmenu-jsonloader"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6,113 +6,9 @@
|
||||
"name": "test_metis64_cmpfillin64_default",
|
||||
"desc": "测试 cmpfillin64 命令的默认参数"
|
||||
},
|
||||
{
|
||||
"name": "test_metis64_gpmetis64_rb",
|
||||
"desc": "使用递归二分法进行图分割"
|
||||
},
|
||||
{
|
||||
"name": "test_metis64_gpmetis64_kway",
|
||||
"desc": "使用直接k-way分割法进行图分割"
|
||||
},
|
||||
{
|
||||
"name": "test_metis64_gpmetis64_rm",
|
||||
"desc": "使用随机匹配进行图的粗化"
|
||||
},
|
||||
{
|
||||
"name": "test_metis64_gpmetis64_shem",
|
||||
"desc": "使用排序重边匹配进行图的粗化"
|
||||
},
|
||||
{
|
||||
"name": "test_metis64_gpmetis64_grow",
|
||||
"desc": "使用贪婪增长法进行初始分割"
|
||||
},
|
||||
{
|
||||
"name": "test_metis64_gpmetis64_random",
|
||||
"desc": "使用随机法进行初始分割"
|
||||
},
|
||||
{
|
||||
"name": "test_metis64_gpmetis64_cut",
|
||||
"desc": "优化目标为最小化边割"
|
||||
},
|
||||
{
|
||||
"name": "test_metis64_gpmetis64_vol",
|
||||
"desc": "优化目标为最小化总通信量"
|
||||
},
|
||||
{
|
||||
"name": "test_metis64_gpmetis64_no2hop",
|
||||
"desc": "禁用2-hop匹配进行图的粗化"
|
||||
},
|
||||
{
|
||||
"name": "test_metis64_gpmetis64_contig",
|
||||
"desc": "尝试生成连续的分割区域"
|
||||
},
|
||||
{
|
||||
"name": "test_metis64_graphchk64__v",
|
||||
"desc": "测试 graphchk64 命令的 -v 参数"
|
||||
},
|
||||
{
|
||||
"name": "test_metis64_m2gmetis64_default",
|
||||
"desc": "使用默认参数生成双图"
|
||||
},
|
||||
{
|
||||
"name": "test_metis64_m2gmetis64_gtype_dual",
|
||||
"desc": "显式指定生成双图"
|
||||
},
|
||||
{
|
||||
"name": "test_metis64_m2gmetis64_gtype_nodal",
|
||||
"desc": "生成节点图"
|
||||
},
|
||||
{
|
||||
"name": "test_metis64_m2gmetis64_ncommon_num_2",
|
||||
"desc": "指定双图中两个元素的共同节点数为2"
|
||||
},
|
||||
{
|
||||
"name": "test_metis64_m2gmetis64_dbglvl_num_1",
|
||||
"desc": "设置调试级别为1"
|
||||
},
|
||||
{
|
||||
"name": "test_metis64_mpmetis64_default",
|
||||
"desc": "使用默认参数对网格文件进行分区"
|
||||
},
|
||||
{
|
||||
"name": "test_metis64_mpmetis64_gtype_nodal",
|
||||
"desc": "使用nodal图类型对网格文件进行分区"
|
||||
},
|
||||
{
|
||||
"name": "test_metis64_mpmetis64_ptype_rb",
|
||||
"desc": "使用递归二分法对网格文件进行分区"
|
||||
},
|
||||
{
|
||||
"name": "test_metis64_mpmetis64_ctype_rm",
|
||||
"desc": "使用随机匹配策略对网格文件进行分区"
|
||||
},
|
||||
{
|
||||
"name": "test_metis64_mpmetis64_iptype_random",
|
||||
"desc": "使用随机初始分区策略对网格文件进行分区"
|
||||
},
|
||||
{
|
||||
"name": "test_metis64_mpmetis64_objtype_vol",
|
||||
"desc": "优化总通信量对网格文件进行分区"
|
||||
},
|
||||
{
|
||||
"name": "test_metis64_mpmetis64_contig",
|
||||
"desc": "尝试生成连续的分区对网格文件进行分区"
|
||||
},
|
||||
{
|
||||
"name": "test_metis64_mpmetis64_minconn",
|
||||
"desc": "尝试最小化子域图的最大度数对网格文件进行分区"
|
||||
},
|
||||
{
|
||||
"name": "test_metis64_mpmetis64_tpwgts",
|
||||
"desc": "使用目标权重文件对网格文件进行分区"
|
||||
},
|
||||
{
|
||||
"name": "test_metis64_mpmetis64_num_ncommon_2",
|
||||
"desc": "设置两个元素的共同节点数为2对网格文件进行分区"
|
||||
},
|
||||
{
|
||||
"name": "test_metis64_function_graphchk64_f",
|
||||
"desc": "测试 graphchk64 命令的 -f 参数"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,23 +2,6 @@
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/nghttp2/libnghttp2-devel",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_libnghttp2-devel_install",
|
||||
"desc": "测试libnghttp2-devel软件包的安装功能,验证安装过程是否成功完成。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_libnghttp2-devel_function_install",
|
||||
"desc": "Test the installation of libnghttp2-devel package."
|
||||
},
|
||||
{
|
||||
"name": "test_libnghttp2-devel_function_config",
|
||||
"desc": "Test the configuration of libnghttp2-devel package."
|
||||
},
|
||||
{
|
||||
"name": "test_libnghttp2-devel_function_headers",
|
||||
"desc": "验证安装后是否正确提供了nghttp2/nghttp2.h等主要的C语言开发头文件。"
|
||||
},
|
||||
{
|
||||
"name": "test_libnghttp2-devel_function_libraries",
|
||||
"desc": "验证安装后是否正确链接了libnghttp2.so等核心库文件。"
|
||||
@@ -31,33 +14,9 @@
|
||||
"name": "test_libnghttp2-devel_function_uninstall",
|
||||
"desc": "测试完整卸载libnghttp2-devel软件包及其所有依赖,并验证文件是否移除干净。"
|
||||
},
|
||||
{
|
||||
"name": "test_libnghttp2-devel_function_simple_build",
|
||||
"desc": "通过编译一个使用nghttp2 API的简单C程序来验证开发环境功能是否完整有效。"
|
||||
},
|
||||
{
|
||||
"name": "test_libnghttp2-devel_function_install_check",
|
||||
"desc": "检查libnghttp2-devel软件包是否已在系统中正确安装。"
|
||||
},
|
||||
{
|
||||
"name": "test_libnghttp2-devel_function_header_files",
|
||||
"desc": "验证nghttp2/nghttp2.h等核心开发头文件的存在和可访问性。"
|
||||
},
|
||||
{
|
||||
"name": "test_libnghttp2-devel_function_library_files",
|
||||
"desc": "验证libnghttp2.so等共享库文件的存在和版本正确性。"
|
||||
},
|
||||
{
|
||||
"name": "test_libnghttp2-devel_function_pkgconfig",
|
||||
"desc": "测试pkg-config是否能正确提供libnghttp2的编译和链接标志。"
|
||||
},
|
||||
{
|
||||
"name": "test_libnghttp2-devel_function_build_example",
|
||||
"desc": "编译并运行一个简单的C示例程序,验证开发环境完整可用。"
|
||||
},
|
||||
{
|
||||
"name": "test_libnghttp2-devel_function_build",
|
||||
"desc": "通过编译并运行一个使用nghttp2 API的简单C程序来验证开发环境功能是否完整有效。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6,10 +6,6 @@
|
||||
"name": "test_java-21-openjdk-src_install",
|
||||
"desc": "测试软件包 java-21-openjdk-src 的安装功能,验证是否能够成功安装到系统中。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_java-21-openjdk-src_function_compile",
|
||||
"desc": "测试软件包 java-21-openjdk-src 的编译功能,验证是否能够成功编译Java源代码。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,26 +2,10 @@
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/perl-Date-ISO8601/perl-Date-ISO8601-help",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_perl-Date-ISO8601-help_function_install",
|
||||
"desc": "测试软件包安装是否成功"
|
||||
},
|
||||
{
|
||||
"name": "test_perl-Date-ISO8601-help_function_check_version",
|
||||
"desc": "测试检查软件包版本"
|
||||
},
|
||||
{
|
||||
"name": "test_perl-Date-ISO8601-help_function_basic_usage",
|
||||
"desc": "测试模块基本功能调用"
|
||||
},
|
||||
{
|
||||
"name": "test_perl-Date-ISO8601-help_function_parse_date",
|
||||
"desc": "测试ISO8601日期解析"
|
||||
},
|
||||
{
|
||||
"name": "test_perl-Date-ISO8601-help_function_format_date",
|
||||
"desc": "测试ISO8601日期格式化"
|
||||
},
|
||||
{
|
||||
"name": "test_perl-Date-ISO8601-help_function_uninstall",
|
||||
"desc": "测试软件包卸载是否成功"
|
||||
|
||||
@@ -6,10 +6,6 @@
|
||||
"name": "test_python3-terminado_install",
|
||||
"desc": "测试python3-terminado软件包的安装功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_python3-terminado_function_start",
|
||||
"desc": "测试python3-terminado的启动功能"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,10 +2,6 @@
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-c/texlive-belleek",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-belleek_function_font",
|
||||
"desc": "Test font rendering functionality"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-belleek_function_install",
|
||||
"desc": "Test installation of the texlive-belleek package"
|
||||
@@ -13,18 +9,6 @@
|
||||
{
|
||||
"name": "test_texlive-belleek_function_uninstall",
|
||||
"desc": "Test uninstallation of the texlive-belleek package"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-belleek_function_font_usage",
|
||||
"desc": "Test using Belleek font in a LaTeX document"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-belleek_function_font_list",
|
||||
"desc": "Test listing available Belleek font files"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-belleek_function_doc_exist",
|
||||
"desc": "Test existence of package documentation"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,10 +2,6 @@
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-d/texlive-carlisle",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-carlisle_function_base",
|
||||
"desc": "Test basic functionality of texlive-carlisle"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-carlisle_function_install",
|
||||
"desc": "Test installation of texlive-carlisle package"
|
||||
@@ -13,14 +9,6 @@
|
||||
{
|
||||
"name": "test_texlive-carlisle_function_remove",
|
||||
"desc": "Test removal of texlive-carlisle package"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-carlisle_function_file_exist",
|
||||
"desc": "Test if key LaTeX files exist"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-carlisle_function_usage",
|
||||
"desc": "Test basic usage in a LaTeX document"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-h/texlive-emisa",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-emisa_function_install",
|
||||
"desc": "Test package installation"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-j/texlive-guitarchordschemes-doc",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-guitarchordschemes-doc_function_basic",
|
||||
"desc": "Verify basic documentation rendering"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-guitarchordschemes-doc_function_install",
|
||||
"desc": "Verify that the texlive-guitarchordschemes-doc package can be successfully installed via the system package manager."
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-guitarchordschemes-doc_function_presence",
|
||||
"desc": "Check if the documentation files for the guitar chord schemes package exist in the expected TeX Live documentation directory."
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-guitarchordschemes-doc_function_content",
|
||||
"desc": "Verify that the main documentation file (e.g., guitar.pdf) contains expected content, such as chord scheme examples and package usage instructions."
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-guitarchordschemes-doc_function_uninstall",
|
||||
"desc": "Verify that the texlive-guitarchordschemes-doc package can be cleanly uninstalled via the system package manager."
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-l/texlive-index",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-index_function_basic",
|
||||
"desc": "Test basic functionality of texlive-index"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-index_function_install",
|
||||
"desc": "Test installation of texlive-index package"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-index_function_uninstall",
|
||||
"desc": "Test uninstallation of texlive-index package"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-index_function_usage_basic",
|
||||
"desc": "Test basic usage of makeindex command"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-index_function_verify_install",
|
||||
"desc": "Verify texlive-index is installed and available"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-n/texlive-luaindex-doc",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-luaindex-doc_function_doc",
|
||||
"desc": "Verify the documentation files are correctly installed"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,34 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-o/texlive-metauml",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-metauml_function_diagram",
|
||||
"desc": "Test UML diagram generation"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-metauml_function_install",
|
||||
"desc": "Test installation of the texlive-metauml package"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-metauml_function_check_installed",
|
||||
"desc": "Test if texlive-metauml is installed on the system"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-metauml_function_uninstall",
|
||||
"desc": "Test removal of the texlive-metauml package"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-metauml_function_basic_uml",
|
||||
"desc": "Test basic UML diagram generation with MetaUML"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-metauml_function_class_diagram",
|
||||
"desc": "Test UML class diagram generation"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-metauml_function_compile_tex",
|
||||
"desc": "Test compiling a LaTeX document using MetaUML"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -5,10 +5,6 @@
|
||||
{
|
||||
"name": "test_texlive-mparhack-doc_function_install",
|
||||
"desc": "Test package installation"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-mparhack-doc_function_check_installed",
|
||||
"desc": "Test if the texlive-mparhack-doc package is installed"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-r/texlive-pkuthss",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-pkuthss_function_compile",
|
||||
"desc": "Test compilation of the template"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-r/texlive-polynomial",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-polynomial_function_parse",
|
||||
"desc": "Test polynomial parsing functionality"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -13,14 +13,6 @@
|
||||
{
|
||||
"name": "test_texlive-sageep-doc_function_uninstall",
|
||||
"desc": "Test package uninstallation"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-sageep-doc_function_list_files",
|
||||
"desc": "List package documentation files"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-sageep-doc_function_view_doc",
|
||||
"desc": "Verify documentation content accessibility"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-w/texlive-textpos",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-textpos_function_position",
|
||||
"desc": "Test the positioning functionality of textpos"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-y/texlive-bearwear",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-bearwear_function_basic",
|
||||
"desc": "Basic functionality test for texlive-bearwear"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-z/texlive-glosmathtools",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-glosmathtools_function_math",
|
||||
"desc": "Test basic math functionality"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test code compilation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test code compilation"
|
||||
|
||||
# 检查是否已安装apache-commons-jci-janino
|
||||
LOG_INFO "检查是否已安装apache-commons-jci-janino"
|
||||
if dnf list installed apache-commons-jci-janino &>/dev/null; then
|
||||
LOG_INFO "apache-commons-jci-janino已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "apache-commons-jci-janino未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有apache-commons-jci-janino软件包
|
||||
LOG_INFO "检查yum源中是否有apache-commons-jci-janino软件包"
|
||||
if ! dnf list available apache-commons-jci-janino &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到apache-commons-jci-janino软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装apache-commons-jci-janino
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装apache-commons-jci-janino"
|
||||
dnf install -y apache-commons-jci-janino
|
||||
CHECK_RESULT $? 0 0 "安装apache-commons-jci-janino失败"
|
||||
fi
|
||||
|
||||
# 测试代码编译功能
|
||||
LOG_INFO "测试代码编译功能"
|
||||
janino -version
|
||||
CHECK_RESULT $? 0 0 "janino命令执行失败"
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "清理环境:卸载apache-commons-jci-janino"
|
||||
dnf remove -y apache-commons-jci-janino
|
||||
CHECK_RESULT $? 0 0 "卸载apache-commons-jci-janino失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test code compilation"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,101 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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-29
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package dependencies
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试apache-commons-jci-janino功能依赖
|
||||
|
||||
LOG_INFO "开始测试apache-commons-jci-janino功能依赖"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="apache-commons-jci-janino"
|
||||
|
||||
# 检查yum源中是否存在该软件包
|
||||
LOG_INFO "检查yum源中是否存在软件包: $PACKAGE_NAME"
|
||||
if ! dnf list available $PACKAGE_NAME 2>/dev/null | grep -q $PACKAGE_NAME; then
|
||||
LOG_ERROR "yum源中未找到软件包: $PACKAGE_NAME"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查当前是否已安装该软件包
|
||||
LOG_INFO "检查当前是否已安装软件包: $PACKAGE_NAME"
|
||||
if rpm -q $PACKAGE_NAME >/dev/null 2>&1; then
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 已安装"
|
||||
ALREADY_INSTALLED=true
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 未安装"
|
||||
ALREADY_INSTALLED=false
|
||||
fi
|
||||
|
||||
# 如果未安装,则进行安装
|
||||
if [ "$ALREADY_INSTALLED" = false ]; then
|
||||
LOG_INFO "安装软件包: $PACKAGE_NAME"
|
||||
dnf install -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
|
||||
fi
|
||||
|
||||
# 测试软件包功能依赖
|
||||
LOG_INFO "测试软件包功能依赖"
|
||||
LOG_INFO "检查软件包文件"
|
||||
rpm -ql $PACKAGE_NAME > /dev/null
|
||||
CHECK_RESULT $? 0 0 "检查软件包文件失败"
|
||||
|
||||
LOG_INFO "验证软件包版本"
|
||||
rpm -q --queryformat "%{VERSION}-%{RELEASE}\n" $PACKAGE_NAME > /dev/null
|
||||
CHECK_RESULT $? 0 0 "验证软件包版本失败"
|
||||
|
||||
LOG_INFO "测试依赖关系检查"
|
||||
rpm -qR $PACKAGE_NAME > /dev/null
|
||||
CHECK_RESULT $? 0 0 "检查软件包依赖关系失败"
|
||||
|
||||
# 测试软件包提供的功能
|
||||
LOG_INFO "测试软件包提供的功能"
|
||||
LOG_INFO "检查jar文件是否存在"
|
||||
JAR_FILE=$(rpm -ql $PACKAGE_NAME | grep -E "\.jar$" | head -1)
|
||||
if [ -n "$JAR_FILE" ] && [ -f "$JAR_FILE" ]; then
|
||||
LOG_INFO "找到jar文件: $JAR_FILE"
|
||||
CHECK_RESULT $? 0 0 "jar文件检查失败"
|
||||
else
|
||||
LOG_ERROR "未找到jar文件"
|
||||
CHECK_RESULT 1 0 0 "未找到jar文件"
|
||||
fi
|
||||
|
||||
# 清理环境:如果脚本开始时未安装,则在结束时卸载
|
||||
if [ "$ALREADY_INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载软件包: $PACKAGE_NAME"
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
|
||||
|
||||
# 验证已卸载
|
||||
LOG_INFO "验证软件包已卸载"
|
||||
if rpm -q $PACKAGE_NAME >/dev/null 2>&1; then
|
||||
LOG_ERROR "软件包卸载失败"
|
||||
CHECK_RESULT 1 0 0 "软件包卸载验证失败"
|
||||
else
|
||||
LOG_INFO "软件包已成功卸载"
|
||||
fi
|
||||
else
|
||||
LOG_INFO "保持软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "apache-commons-jci-janino功能依赖测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,98 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-29
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test expression evaluation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义日志函数
|
||||
LOG_INFO() {
|
||||
echo "[INFO] $*"
|
||||
}
|
||||
|
||||
LOG_ERROR() {
|
||||
echo "[ERROR] $*"
|
||||
}
|
||||
|
||||
# 定义常量
|
||||
PACKAGE_NAME="apache-commons-jci-janino"
|
||||
TEST_EXPRESSION="3 + 4 * 2"
|
||||
EXPECTED_RESULT="11"
|
||||
|
||||
# 步骤1:检查yum源中是否存在软件包
|
||||
LOG_INFO "步骤1:检查yum源中是否存在软件包"
|
||||
dnf list available ${PACKAGE_NAME} &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 ${PACKAGE_NAME} 在yum源中不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤2:检查环境是否已安装软件包
|
||||
LOG_INFO "步骤2:检查环境是否已安装软件包"
|
||||
rpm -q ${PACKAGE_NAME} &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "软件包 ${PACKAGE_NAME} 已安装"
|
||||
INSTALLED="true"
|
||||
else
|
||||
LOG_INFO "软件包 ${PACKAGE_NAME} 未安装"
|
||||
INSTALLED="false"
|
||||
fi
|
||||
|
||||
# 步骤3:如果未安装则安装软件包
|
||||
if [ "${INSTALLED}" = "false" ]; then
|
||||
LOG_INFO "步骤3:安装软件包 ${PACKAGE_NAME}"
|
||||
dnf install -y ${PACKAGE_NAME} &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
fi
|
||||
|
||||
# 步骤4:测试表达式求值功能
|
||||
LOG_INFO "步骤4:测试表达式求值功能"
|
||||
# 检查janino是否支持-e参数
|
||||
janino -h 2>&1 | grep -q -- "-e"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "janino命令不支持-e参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行表达式求值
|
||||
RESULT=$(janino -e "${TEST_EXPRESSION}" 2>/dev/null)
|
||||
CHECK_RESULT $? 0 0 "表达式求值执行失败"
|
||||
|
||||
# 步骤5:验证求值结果
|
||||
LOG_INFO "步骤5:验证求值结果"
|
||||
if [ "${RESULT}" = "${EXPECTED_RESULT}" ]; then
|
||||
LOG_INFO "表达式求值结果正确:${RESULT}"
|
||||
else
|
||||
LOG_ERROR "表达式求值结果错误:期望 ${EXPECTED_RESULT},实际 ${RESULT}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 步骤6:清理环境
|
||||
LOG_INFO "步骤6:清理环境"
|
||||
if [ "${INSTALLED}" = "false" ]; then
|
||||
LOG_INFO "卸载软件包 ${PACKAGE_NAME}"
|
||||
dnf remove -y ${PACKAGE_NAME} &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
else
|
||||
LOG_INFO "保持软件包 ${PACKAGE_NAME} 的安装状态"
|
||||
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-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test script execution
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查yum源中是否存在apache-commons-jci-janino软件包
|
||||
LOG_INFO "检查yum源中是否存在apache-commons-jci-janino软件包"
|
||||
dnf list available apache-commons-jci-janino > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在apache-commons-jci-janino软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装apache-commons-jci-janino软件包
|
||||
LOG_INFO "检查是否已安装apache-commons-jci-janino软件包"
|
||||
rpm -q apache-commons-jci-janino > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
installed=true
|
||||
LOG_INFO "apache-commons-jci-janino软件包已安装"
|
||||
else
|
||||
installed=false
|
||||
LOG_INFO "apache-commons-jci-janino软件包未安装,将进行安装"
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装apache-commons-jci-janino软件包"
|
||||
dnf install -y apache-commons-jci-janino
|
||||
CHECK_RESULT $? 0 0 "安装apache-commons-jci-janino软件包失败"
|
||||
fi
|
||||
|
||||
# 测试脚本执行功能
|
||||
LOG_INFO "测试脚本执行功能"
|
||||
janino -version > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "janino命令执行失败"
|
||||
|
||||
# 如果之前未安装,则卸载软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载apache-commons-jci-janino软件包"
|
||||
dnf remove -y apache-commons-jci-janino
|
||||
CHECK_RESULT $? 0 0 "卸载apache-commons-jci-janino软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完成"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,58 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test class loading
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test class loading"
|
||||
|
||||
# 检查yum源中是否存在apache-commons-jci-janino软件包
|
||||
LOG_INFO "检查yum源中是否存在apache-commons-jci-janino软件包"
|
||||
dnf list available apache-commons-jci-janino &> /dev/null
|
||||
CHECK_RESULT $? 0 255 "yum源中不存在apache-commons-jci-janino软件包"
|
||||
|
||||
# 检查是否已安装apache-commons-jci-janino
|
||||
LOG_INFO "检查是否已安装apache-commons-jci-janino"
|
||||
rpm -q apache-commons-jci-janino &> /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "apache-commons-jci-janino已安装,跳过安装步骤"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "安装apache-commons-jci-janino"
|
||||
dnf install -y apache-commons-jci-janino
|
||||
CHECK_RESULT $? 0 1 "安装apache-commons-jci-janino失败"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 测试class loading功能
|
||||
LOG_INFO "测试class loading功能"
|
||||
java -cp /usr/share/java/apache-commons-jci-janino.jar org.codehaus.janino.Compiler
|
||||
CHECK_RESULT $? 0 1 "class loading功能测试失败"
|
||||
|
||||
# 环境恢复
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载apache-commons-jci-janino"
|
||||
dnf remove -y apache-commons-jci-janoin &> /dev/null
|
||||
CHECK_RESULT $? 0 1 "卸载apache-commonsj-ci-janoin失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test class loading"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,114 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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-29
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test compilation syntax error
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试编译语法错误
|
||||
LOG_INFO "开始测试:Test compilation syntax error"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="apache-commons-jci-janino"
|
||||
|
||||
# 步骤1:检查yum源中是否存在该软件包
|
||||
LOG_INFO "步骤1:检查yum源中是否存在软件包 ${PACKAGE_NAME}"
|
||||
dnf list available ${PACKAGE_NAME} &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到软件包 ${PACKAGE_NAME}"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤2:检查系统是否已安装该软件包
|
||||
LOG_INFO "步骤2:检查系统是否已安装软件包 ${PACKAGE_NAME}"
|
||||
rpm -q ${PACKAGE_NAME} &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "软件包 ${PACKAGE_NAME} 已安装,测试结束后将保持安装状态"
|
||||
INSTALLED="true"
|
||||
else
|
||||
LOG_INFO "软件包 ${PACKAGE_NAME} 未安装,将在测试过程中安装"
|
||||
INSTALLED="false"
|
||||
fi
|
||||
|
||||
# 步骤3:如果未安装,则安装软件包
|
||||
if [ "${INSTALLED}" = "false" ]; then
|
||||
LOG_INFO "步骤3:安装软件包 ${PACKAGE_NAME}"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "安装软件包 ${PACKAGE_NAME} 失败"
|
||||
fi
|
||||
|
||||
# 步骤4:测试janino编译器的语法错误检测功能
|
||||
LOG_INFO "步骤4:测试janino编译器的语法错误检测功能"
|
||||
|
||||
# 创建一个包含语法错误的Java源代码文件
|
||||
TEST_SRC_FILE="/tmp/TestSyntaxError.java"
|
||||
cat > ${TEST_SRC_FILE} << "EOF"
|
||||
public class TestSyntaxError {
|
||||
public static void main(String[] args) {
|
||||
// 这里故意制造一个语法错误:缺少分号
|
||||
System.out.println("Hello, World")
|
||||
}
|
||||
}
|
||||
EOF
|
||||
|
||||
# 步骤5:使用janino编译器编译包含语法错误的Java文件
|
||||
LOG_INFO "步骤5:使用janino编译器编译包含语法错误的Java文件"
|
||||
|
||||
# 检查janino命令是否存在
|
||||
which janino &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "janino命令不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查janino命令是否支持编译功能
|
||||
janino --help 2>&1 | grep -q "compile"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "janino命令不支持编译参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行编译命令,预期会失败(语法错误)
|
||||
janino ${TEST_SRC_FILE} 2>&1
|
||||
COMPILE_RESULT=$?
|
||||
|
||||
# 步骤6:验证编译失败(语法错误应导致非零退出码)
|
||||
LOG_INFO "步骤6:验证编译失败(语法错误应导致非零退出码)"
|
||||
if [ ${COMPILE_RESULT} -eq 0 ]; then
|
||||
LOG_ERROR "编译应该失败(语法错误),但实际成功了"
|
||||
CHECK_RESULT 1 0 0 "语法错误检测失败"
|
||||
else
|
||||
LOG_INFO "编译正确失败,检测到语法错误"
|
||||
CHECK_RESULT ${COMPILE_RESULT} 1 255 "语法错误检测成功"
|
||||
fi
|
||||
|
||||
# 步骤7:清理测试文件
|
||||
LOG_INFO "步骤7:清理测试文件"
|
||||
rm -f ${TEST_SRC_FILE} ${TEST_SRC_FILE%.java}.class 2>/dev/null
|
||||
|
||||
# 步骤8:如果测试前未安装,则卸载软件包
|
||||
if [ "${INSTALLED}" = "false" ]; then
|
||||
LOG_INFO "步骤8:卸载软件包 ${PACKAGE_NAME}"
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 ${PACKAGE_NAME} 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test compilation syntax error"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,123 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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-29
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package uninstallation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否以root用户运行
|
||||
if [[ $EUID -ne 0 ]]; then
|
||||
LOG_ERROR "必须以root用户运行此脚本"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_INFO "开始测试Apache Commons JCI Janino软件包卸载功能"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="apache-commons-jci-janino"
|
||||
|
||||
# 步骤1: 检查yum源中是否存在该软件包
|
||||
LOG_INFO "步骤1: 检查yum源中是否存在${PACKAGE_NAME}软件包"
|
||||
dnf list available ${PACKAGE_NAME} 2>&1 | grep -q "${PACKAGE_NAME}"
|
||||
if [[ $? -ne 0 ]]; then
|
||||
LOG_ERROR "yum源中未找到${PACKAGE_NAME}软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum源中存在${PACKAGE_NAME}软件包"
|
||||
|
||||
# 步骤2: 检查当前是否已安装该软件包
|
||||
LOG_INFO "步骤2: 检查当前是否已安装${PACKAGE_NAME}软件包"
|
||||
INSTALLED=false
|
||||
rpm -q ${PACKAGE_NAME} >/dev/null 2>&1
|
||||
if [[ $? -eq 0 ]]; then
|
||||
LOG_INFO "${PACKAGE_NAME}软件包已安装"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "${PACKAGE_NAME}软件包未安装"
|
||||
fi
|
||||
|
||||
# 步骤3: 如果未安装,则安装软件包
|
||||
if [[ ${INSTALLED} == false ]]; then
|
||||
LOG_INFO "步骤3: 安装${PACKAGE_NAME}软件包"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}软件包失败"
|
||||
LOG_INFO "成功安装${PACKAGE_NAME}软件包"
|
||||
else
|
||||
LOG_INFO "步骤3: 跳过安装步骤,软件包已存在"
|
||||
fi
|
||||
|
||||
# 步骤4: 验证软件包安装成功
|
||||
LOG_INFO "步骤4: 验证${PACKAGE_NAME}软件包安装状态"
|
||||
rpm -q ${PACKAGE_NAME} >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "${PACKAGE_NAME}软件包未正确安装"
|
||||
|
||||
# 步骤5: 测试软件包基本功能
|
||||
LOG_INFO "步骤5: 测试${PACKAGE_NAME}软件包基本功能"
|
||||
# 这里添加软件包特定的功能测试命令
|
||||
# 示例:检查软件包相关文件是否存在
|
||||
if [[ -f /usr/share/java/${PACKAGE_NAME}.jar ]] || [[ -d /usr/share/java/${PACKAGE_NAME} ]]; then
|
||||
LOG_INFO "${PACKAGE_NAME}相关文件存在"
|
||||
else
|
||||
LOG_INFO "未找到${PACKAGE_NAME}标准安装文件,继续测试"
|
||||
fi
|
||||
|
||||
# 步骤6: 卸载软件包
|
||||
LOG_INFO "步骤6: 卸载${PACKAGE_NAME}软件包"
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}软件包失败"
|
||||
LOG_INFO "成功卸载${PACKAGE_NAME}软件包"
|
||||
|
||||
# 步骤7: 验证软件包已卸载
|
||||
LOG_INFO "步骤7: 验证${PACKAGE_NAME}软件包已卸载"
|
||||
rpm -q ${PACKAGE_NAME} >/dev/null 2>&1
|
||||
if [[ $? -eq 0 ]]; then
|
||||
LOG_ERROR "${PACKAGE_NAME}软件包卸载失败"
|
||||
exit 1
|
||||
fi
|
||||
LOG_INFO "${PACKAGE_NAME}软件包已成功卸载"
|
||||
|
||||
# 步骤8: 环境恢复
|
||||
LOG_INFO "步骤8: 恢复测试环境"
|
||||
if [[ ${INSTALLED} == true ]]; then
|
||||
LOG_INFO "重新安装${PACKAGE_NAME}软件包以恢复原始状态"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "重新安装${PACKAGE_NAME}软件包失败"
|
||||
LOG_INFO "成功恢复${PACKAGE_NAME}软件包安装状态"
|
||||
else
|
||||
LOG_INFO "原始环境未安装${PACKAGE_NAME},保持卸载状态"
|
||||
fi
|
||||
|
||||
# 步骤9: 最终验证
|
||||
LOG_INFO "步骤9: 最终环境验证"
|
||||
if [[ ${INSTALLED} == true ]]; then
|
||||
rpm -q ${PACKAGE_NAME} >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "环境恢复失败,${PACKAGE_NAME}软件包未正确安装"
|
||||
LOG_INFO "环境已成功恢复到初始安装状态"
|
||||
else
|
||||
rpm -q ${PACKAGE_NAME} >/dev/null 2>&1
|
||||
if [[ $? -eq 0 ]]; then
|
||||
LOG_ERROR "环境恢复失败,${PACKAGE_NAME}软件包不应存在"
|
||||
exit 1
|
||||
fi
|
||||
LOG_INFO "环境已成功恢复到初始未安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "Apache Commons JCI Janino软件包卸载功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,66 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-29
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test checking package version
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:检查软件包版本"
|
||||
|
||||
# 检查是否已安装apache-commons-jci-janino
|
||||
LOG_INFO "步骤1:检查apache-commons-jci-janino是否已安装"
|
||||
if rpm -q apache-commons-jci-janino &> /dev/null; then
|
||||
LOG_INFO "apache-commons-jci-janino已安装,标记为已存在"
|
||||
ALREADY_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "apache-commons-jci-janino未安装,标记为未安装"
|
||||
ALREADY_INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有该软件包
|
||||
LOG_INFO "步骤2:检查yum源中是否存在apache-commons-jci-janino软件包"
|
||||
if ! dnf list available apache-commons-jci-janino &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到apache-commons-jci-janino软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤3:安装apache-commons-jci-janino软件包"
|
||||
dnf install -y apache-commons-jci-janino
|
||||
CHECK_RESULT $? 0 0 "安装apache-commons-jci-janino失败"
|
||||
fi
|
||||
|
||||
# 检查软件包版本
|
||||
LOG_INFO "步骤4:检查apache-commons-jci-janino版本信息"
|
||||
rpm -q apache-commons-jci-janino --queryformat "%{VERSION}-%{RELEASE}\n"
|
||||
CHECK_RESULT $? 0 0 "获取apache-commons-jci-janino版本信息失败"
|
||||
|
||||
# 如果脚本开始时未安装,则在测试结束后卸载软件包
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤5:卸载apache-commons-jci-janino软件包"
|
||||
dnf remove -y apache-commons-jci-janino
|
||||
CHECK_RESULT $? 0 0 "卸载apache-commons-jci-janino失败"
|
||||
else
|
||||
LOG_INFO "步骤5:保持apache-commons-jci-janino安装状态"
|
||||
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-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试gssntlmssp-devel的认证功能,验证其是否能正确处理认证请求。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 测试gssntlmssp-devel的认证功能,验证其是否能正确处理认证请求
|
||||
|
||||
LOG_INFO "开始测试gssntlmssp-devel的认证功能"
|
||||
|
||||
# 检查yum源中是否存在gssntlmssp-devel软件包
|
||||
LOG_INFO "检查yum源中是否存在gssntlmssp-devel软件包"
|
||||
dnf list available gssntlmssp-devel &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在gssntlmssp-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装gssntlmssp-devel
|
||||
LOG_INFO "检查是否已安装gssntlmssp-devel"
|
||||
rpm -q gssntlmssp-devel &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
installed=true
|
||||
LOG_INFO "gssntlmssp-devel已安装"
|
||||
else
|
||||
installed=false
|
||||
LOG_INFO "gssntlmssp-devel未安装,将进行安装"
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装gssntlmssp-devel
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装gssntlmssp-devel"
|
||||
dnf install -y gssntlmssp-devel
|
||||
CHECK_RESULT $? 0 0 "安装gssntlmSSP-devel失败"
|
||||
fi
|
||||
|
||||
# 测试认证功能
|
||||
LOG_INFO "测试gssntlmSSP-devel的认证功能"
|
||||
# 假设测试命令为test_auth,实际应根据具体命令替换
|
||||
test_auth --validate &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "认证功能测试失败"
|
||||
|
||||
# 如果之前未安装,则卸载gSSNTLMSSP-deVEL以恢复环境
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载GSSNTLMSSP-DEVEL以恢复环境"
|
||||
dnf remove -y GSSNTLMSSP-DEVEL
|
||||
CHECK_RESULT $? 0 0 "卸载GSSNTLMSSP-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 : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test the loading functionality of libdbusmenu-jsonloader
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
LOG_INFO "开始测试 libdbusmenu-jsonloader 的加载功能"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查 libdbusmenu-jsonloader-devel 是否已安装"
|
||||
if rpm -q libdbusmenu-jsonloader-devel &>/dev/null; then
|
||||
LOG_INFO "libdbusmenu-jsonloader-devel 已安装,测试完成后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "libdbusmenu-jsonloader-devel 未安装,将在测试完成后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否存在该软件包
|
||||
LOG_INFO "检查 yum 源中是否存在 libdbusmenu-jsonloader-devel"
|
||||
if ! dnf list available libdbusmenu-jsonloader-devel &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 libdbusmenu-jsonloader-devel,退出测试"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装 libdbusmenu-jsonloader-devel"
|
||||
dnf install -y libdbusmenu-jsonloader-devel
|
||||
CHECK_RESULT $? 0 0 "安装 libdbusmenu-jsonloader-devel 失败"
|
||||
fi
|
||||
|
||||
# 测试加载功能
|
||||
LOG_INFO "测试 libdbusmenu-jsonloader 的加载功能"
|
||||
TEST_COMMAND="libdbusmenu-jsonloader --help"
|
||||
if ! command -v libdbusmenu-jsonloader &>/dev/null; then
|
||||
LOG_ERROR "命令 libdbusmenu-jsonloader 不存在或不支持,退出测试"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
$TEST_COMMAND &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "libdbusmenu-jsonloader 加载功能测试失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 libdbusmenujsonloader-devel"
|
||||
dnf remove -y libbusmenujsonloader devel
|
||||
fi
|
||||
|
||||
LOG INFO“测试完成”
|
||||
exit0
|
||||
|
||||
}
|
||||
|
||||
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 the parsing functionality of libdbusmenu-jsonloader
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 libdbusmenu-jsonloader 的解析功能"
|
||||
|
||||
# 检查是否已安装 libdbusmenu-jsonloader-devel
|
||||
LOG_INFO "检查是否已安装 libdbusmenu-jsonloader-devel"
|
||||
rpm -q libdbusmenu-jsonloader-devel
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "libdbusmenu-jsonloader-devel 已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "libdbusmenu-jsonloader-devel 未安装,将在测试后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有 libdbusmenu-jsonloader-devel
|
||||
LOG_INFO "检查 yum 源中是否有 libdbusmenu-jsonloader-devel"
|
||||
dnf list available libdbusmenu-jsonloader-devel
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum 源中未找到 libdbusmenu-jsonloader-devel,退出"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装 libdbusmenu-jsonloader-devel
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装 libdbusmenu-jsonloader-devel"
|
||||
dnf install -y libdbusmenu-jsonloader-devel
|
||||
CHECK_RESULT $? 0 0 "安装 libdbusmenu-jsonloader-devel 失败"
|
||||
fi
|
||||
|
||||
# 测试解析功能
|
||||
LOG_INFO "测试 libdbusmenu-jsonloader 的解析功能"
|
||||
test_command="libdbusmenu-jsonloader --help"
|
||||
eval $test_command
|
||||
CHECK_RESULT $? 0 0 "libdbusmenu-jsonloader 解析功能测试失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 libdbusmenu-jsonloader-devel"
|
||||
dnf remove -y libdbusmenu-jsonloader-devel
|
||||
CHECK_RESULT $? 0 0 "卸载 libdbusmenu-jsonloader-devel 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
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-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 graphchk64 命令的 -f 参数
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
LOG_INFO "开始测试 graphchk64 命令的 -f 参数"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查 graphchk64 软件包是否已安装"
|
||||
if ! dnf list installed graphchk64 &> /dev/null; then
|
||||
LOG_INFO "graphchk64 未安装,将进行安装"
|
||||
# 检查 yum 源中是否有该软件包
|
||||
if ! dnf list available graphchk64 &> /dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 graphchk64 软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装软件包
|
||||
dnf install -y graphchk64
|
||||
CHECK_RESULT $? 0 0 "安装 graphchk64 失败"
|
||||
# 标记需要卸载
|
||||
UNINSTALL_NEEDED=1
|
||||
else
|
||||
LOG_INFO "graphchk64 已安装,无需重复安装"
|
||||
UNINSTALL_NEEDED=0
|
||||
fi
|
||||
|
||||
# 测试 -f 参数
|
||||
LOG_INFO "测试 graphchk64 -f 参数"
|
||||
graphchk64 -f &> /dev/null
|
||||
if [ $? -eq 255 ]; then
|
||||
LOG_ERROR "graphchk64 -f 参数不支持或不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查命令执行结果是否为预期
|
||||
CHECK_RESULT $? 0 0 "graphchk64 -f 执行失败"
|
||||
|
||||
# 清理环境(如果之前未安装)
|
||||
if [ $UNINSTALL_NEEDED -eq 1 ]; then
|
||||
LOG_INFO "卸载 graphchk64"
|
||||
dnf remove -y graphchk64
|
||||
CHECK_RESULT $?
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,58 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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 : 尝试生成连续的分割区域
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装metis64和gpmetis64软件包
|
||||
LOG_INFO "检查是否已安装metis64和gpmetis64软件包"
|
||||
if ! dnf list installed metis64 &> /dev/null || ! dnf list installed gpmetis64 &> /dev/null; then
|
||||
LOG_INFO "未安装metis64或gpmetis64,将进行安装"
|
||||
# 检查yum源中是否存在软件包
|
||||
if ! dnf list available metis64 &> /dev/null || ! dnf list available gpmetis64 &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到metis64或gpmetis64软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装软件包
|
||||
dnf install -y metis64 gpmetis64
|
||||
CHECK_RESULT $? 0 0 "安装metis64或gpmetis64失败"
|
||||
# 标记为需要卸载
|
||||
NEED_UNINSTALL=1
|
||||
else
|
||||
LOG_INFO "已安装metis64和gpmetis64,无需重复安装"
|
||||
fi
|
||||
|
||||
# 测试生成连续的分割区域
|
||||
LOG_INFO "尝试生成连续的分割区域"
|
||||
gpmetis64 -contig test.graph 2
|
||||
CHECK_RESULT $? 0 0 "生成连续分割区域失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$NEED_UNINSTALL" -eq 1 ]; then
|
||||
LOG_INFO "卸载metis64和gpmetis64软件包"
|
||||
dnf remove -y metis64 gpmetis64
|
||||
CHECK_RESULT $? 0 0 "卸载metis64或gpmetis64失败"
|
||||
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-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 优化目标为最小化边割
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装metis64和gpmetis64
|
||||
LOG_INFO "检查是否已安装metis64和gpmetis64"
|
||||
if ! dnf list installed metis64 &> /dev/null || ! dnf list installed gpmetis64 &> /dev/null; then
|
||||
LOG_INFO "未安装metis64或gpmetis64,准备安装"
|
||||
# 检查yum源中是否有metis64和gpmetis64
|
||||
if ! dnf list available metis64 &> /dev/null || ! dnf list available gpmetis64 &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到metis64或gpmetis64软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装软件包
|
||||
dnf install -y metis64 gpmetis64
|
||||
CHECK_RESULT $? 0 0 "安装metis64和gpmetis64失败"
|
||||
# 标记需要卸载
|
||||
NEED_UNINSTALL=1
|
||||
else
|
||||
LOG_INFO "已安装metis64和gpmetis64"
|
||||
fi
|
||||
|
||||
# 测试命令参数是否存在
|
||||
LOG_INFO "测试命令参数是否存在"
|
||||
gpmetis_help=$(gpmetis64 -h)
|
||||
if ! echo "$gpmetis_help" | grep -q "mincut"; then
|
||||
LOG_ERROR "gpmetis64不支持mincut参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
#执行测试命令,优化目标为最小化边割
|
||||
LOG_INFO "执行测试命令,优化目标为最小化边割"
|
||||
gpmetis_output=$(gpmetis64 -mincut test.graph 2)
|
||||
CHECK_RESULT $? 0 "执行gpmetis命令失败"
|
||||
|
||||
#检查输出结果是否符合预期
|
||||
LOG_INFO "检查输出结果是否符合预期"
|
||||
if ! echo "$gpmetit_output" | grep -q "Edgecut"; then
|
||||
LOG_ERROR "未找到Edgecut结果"
|
||||
exit1
|
||||
fi
|
||||
|
||||
#清理环境(如果之前未安装)
|
||||
if [ "$NEED_UNINSTALL" ==1 ]; then
|
||||
LOG_INFO"卸载metiS64和gpMetiS6软件包"
|
||||
dnf remove -y metiS6 gpMetiS6
|
||||
CHECK_RESULT$?00"卸载失败"
|
||||
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-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 使用贪婪增长法进行初始分割
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:使用贪婪增长法进行初始分割"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查软件包是否已安装"
|
||||
if ! dnf list installed metis64 &>/dev/null; then
|
||||
LOG_INFO "软件包未安装,准备安装"
|
||||
# 检查yum源中是否有该软件包
|
||||
if ! dnf list available metis64 &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到metis64软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装软件包
|
||||
dnf install -y metis64
|
||||
CHECK_RESULT $? 0 0 "安装metis64软件包失败"
|
||||
# 标记需要卸载
|
||||
UNINSTALL=true
|
||||
else
|
||||
LOG_INFO "软件包已安装,无需操作"
|
||||
UNINSTALL=false
|
||||
fi
|
||||
|
||||
# 检查命令参数
|
||||
LOG_INFO "检查命令参数"
|
||||
if ! gpmetis64 --help | grep -q "grow"; then
|
||||
LOG_ERROR "gpmetis64命令不支持grow参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行测试命令
|
||||
LOG_INFO "执行测试命令:使用贪婪增长法进行初始分割"
|
||||
gpmetis64 --grow test.graph 2
|
||||
CHECK_RESULT $? 0 0 "执行gpmetis64命令失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$UNINSTALL" = true ]; then
|
||||
LOG_INFO "卸载软件包"
|
||||
dnf remove -y metis64
|
||||
CHECK_RESULT $? 0 0 "卸载metis64软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:使用贪婪增长法进行初始分割"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,58 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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 : 使用直接k-way分割法进行图分割
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装metis64和gpmetis64软件包
|
||||
LOG_INFO "检查是否已安装metis64和gpmetis64软件包"
|
||||
if dnf list installed metis64 && dnf list installed gpmetis64; then
|
||||
LOG_INFO "metis64和gpmetis64已安装"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "metis64和gpmetis64未安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有metis64和gpmetis64软件包
|
||||
LOG_INFO "检查yum源中是否有metis64和gpmetis64软件包"
|
||||
if ! dnf list available metis64 || ! dnf list available gpmetis64; then
|
||||
LOG_ERROR "yum源中缺少metis64或gpmetis64软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装metis64和gpmetis64软件包"
|
||||
dnf install -y metis64 gpmetis64
|
||||
CHECK_RESULT $? 0 0 "安装失败"
|
||||
fi
|
||||
|
||||
# 测试直接k-way分割法进行图分割
|
||||
LOG_INFO "测试直接k-way分割法进行图分割"
|
||||
gpmetis64 test.graph 4
|
||||
CHECK_RESULT $? 0 0 "k-way分割法测试失败"
|
||||
|
||||
# 如果脚本开始时未安装软件包,则在结束时卸载
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载metis64和gpmetis6
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,78 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 禁用2-hop匹配进行图的粗化
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:禁用2-hop匹配进行图的粗化"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查软件包是否已安装"
|
||||
if rpm -q metis64 &> /dev/null; then
|
||||
LOG_INFO "软件包已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "软件包未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有metis64软件包
|
||||
LOG_INFO "检查yum源中是否有metis64软件包"
|
||||
if ! dnf list available metis64 &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到metis64软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装metis64软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装metis64软件包"
|
||||
dnf install -y metis64
|
||||
CHECK_RESULT $? 0 0 "安装metis64软件包失败"
|
||||
fi
|
||||
|
||||
# 检查gpmetis64命令是否存在
|
||||
LOG_INFO "检查gpmetis64命令是否存在"
|
||||
if ! command -v gpmetis64 &> /dev/null; then
|
||||
LOG_ERROR "gpmetis64命令不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查参数是否支持2-hop
|
||||
LOG_INFO "检查gpmetis64是否支持2-hop参数"
|
||||
if ! gpmetis64 --help | grep -q "no2hop"; then
|
||||
LOG_ERROR "gpmetis64不支持no2hop参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行测试命令禁用2-hop匹配
|
||||
LOG_INFO "执行测试命令禁用2-hop匹配"
|
||||
gpmetis64 --no2hop test.graph
|
||||
CHECK_RESULT $? 0 0 "禁用2-hop匹配失败"
|
||||
|
||||
# 清理环境,如果脚本开始时未安装则卸载
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载metis64软件包"
|
||||
dnf remove -y metis64
|
||||
CHECK_RESULT $? 0 0 "卸载metis64软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:禁用2-hop匹配进行图的粗化"
|
||||
}
|
||||
|
||||
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-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 使用随机法进行初始分割
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
LOG_INFO "开始测试:使用随机法进行初始分割"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查软件包是否已安装"
|
||||
if ! dnf list installed metis64 &>/dev/null; then
|
||||
LOG_INFO "软件包未安装,开始安装"
|
||||
# 检查yum源中是否有该软件包
|
||||
if ! dnf list available metis64 &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到metis64软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装软件包
|
||||
dnf install -y metis64
|
||||
CHECK_RESULT $? 0 0 "安装metis64软件包失败"
|
||||
# 标记为需要卸载
|
||||
UNINSTALL_NEEDED=1
|
||||
else
|
||||
LOG_INFO "软件包已安装,无需重复安装"
|
||||
UNINSTALL_NEEDED=0
|
||||
fi
|
||||
|
||||
# 检查命令参数是否支持
|
||||
LOG_INFO "检查命令参数是否支持"
|
||||
if ! gpmetis64 --help | grep -q "random"; then
|
||||
LOG_ERROR "gpmetis64命令不支持random参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行测试命令
|
||||
LOG_INFO "执行测试命令:使用随机法进行初始分割"
|
||||
gpmetis64 --random test_graph.graph 2 > test_output.txt
|
||||
CHECK_RESULT $? 0 0 "执行gpmetis64命令失败"
|
||||
|
||||
# 检查输出结果是否符合预期(示例)
|
||||
LOG_INFO "检查输出结果是否符合预期"
|
||||
if grep -q "Partitioning successful" test_output.txt; then
|
||||
LOG_INFO "测试通过:分区成功"
|
||||
else
|
||||
LOG_ERROR "测试失败:分区未成功"
|
||||
exit 1 # Linux标准退出码,表示一般错误
|
||||
fi
|
||||
|
||||
# 清理环境(如果之前未安装)
|
||||
if [ "$UNINSTALL_NEEDED" -eq 1 ]; then
|
||||
LOG_INFO "清理环境:卸载软件包"
|
||||
dnf remove -y metis64
|
||||
CHECK_RESULT $? 0 0 "卸载metis64软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
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 : 2025-12-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 使用递归二分法进行图分割
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
LOG_INFO "开始测试递归二分法进行图分割..."
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查软件包是否已安装..."
|
||||
if ! dnf list installed metis64 &>/dev/null; then
|
||||
LOG_INFO "软件包未安装,准备安装..."
|
||||
# 检查yum源中是否有该软件包
|
||||
if ! dnf list available metis64 &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到metis64软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装软件包
|
||||
dnf install -y metis64
|
||||
CHECK_RESULT $? 0 0 "安装metis64软件包失败"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "软件包已安装,跳过安装步骤..."
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查命令是否存在
|
||||
LOG_INFO "检查命令是否存在..."
|
||||
if ! command -v gpmetis64 &>/dev/null; then
|
||||
LOG_ERROR "命令gpmetis64不存在"
|
||||
exit 255
|
||||
fi
|
||||
if ! command -v rb &>/dev/null; then
|
||||
LOG_ERROR "命令rb不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试递归二分法进行图分割
|
||||
LOG_INFO "测试递归二分法进行图分割..."
|
||||
gpmetis64 --help | grep -q "recursive bipartitioning"
|
||||
CHECK_RESULT $? 0 0 "gpmetis64不支持递归二分法参数"
|
||||
rb --help | grep -q "recursive bipartitioning"
|
||||
CHECK_RESULT $? 0 0 "rb不支持递归二分法参数"
|
||||
|
||||
# 执行测试命令示例(假设有一个测试图文件test.graph)
|
||||
LOG_INFO "执行测试命令..."
|
||||
gpmetis64 test.graph 2
|
||||
CHECK_RESULT $? 0 0 "gpmetis64执行失败"
|
||||
|
||||
# SSH到第二个节点执行命令(假设需要)
|
||||
LOG_INFO "在第二个节点上执行命令..."
|
||||
SSH_CMD "ls" "$NODE2_IPV4" "$NODE2_PASSWORD" "$NODE2_USER"
|
||||
CHECK_RESULT $? 0 0 "在第二个节点上执行命令失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "清理环境,卸载软件包..."
|
||||
dnf remove -y metis64
|
||||
CHECK_RESULT $? 0 0 "卸载metis64软件包失败"
|
||||
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-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 使用随机匹配进行图的粗化
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:使用随机匹配进行图的粗化"
|
||||
|
||||
# 检查是否已安装软件包
|
||||
LOG_INFO "检查是否已安装metis64和gpmetis64"
|
||||
if ! dnf list installed metis64 &>/dev/null || ! dnf list installed gpmetis64 &>/dev/null; then
|
||||
LOG_INFO "软件包未安装,准备安装"
|
||||
# 检查yum源中是否有软件包
|
||||
if ! dnf list available metis64 &>/dev/null || ! dnf list available gpmetis64 &>/dev/null; then
|
||||
LOG_ERROR "yum源中缺少metis64或gpmetis64软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装软件包
|
||||
dnf install -y metis64 gpmetis64
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "软件包已安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 测试命令参数支持情况
|
||||
LOG_INFO "测试gpmetis64命令参数支持"
|
||||
gpmetis64 --help &>/dev/null
|
||||
CHECK_RESULT $? 0 255 "gpmetis64命令参数不支持"
|
||||
|
||||
# 执行测试用例:使用随机匹配进行图的粗化
|
||||
LOG_INFO "执行测试用例:使用随机匹配进行图的粗化"
|
||||
TEST_GRAPH="test_graph.txt"
|
||||
echo "5 4" > $TEST_GRAPH
|
||||
echo "1 2" >> $TEST_GRAPH
|
||||
echo "2 3" >> $TEST_GRAPH
|
||||
echo "3 4" >> $TEST_GRAPH
|
||||
echo "4 5" >> $TEST_GRAPH
|
||||
|
||||
gpmetis64 $TEST_GRAPH 2 --ptype=rb
|
||||
CHECK_RESULT $? 0 0 "随机匹配进行图的粗化失败"
|
||||
|
||||
# 清理测试文件
|
||||
rm -f $TEST_GRAPH
|
||||
|
||||
# 恢复环境
|
||||
if [ $INSTALLED -eq 1 ]; then
|
||||
LOG_INFO "卸载软件包"
|
||||
dnf remove -y metis64 gpmetis64
|
||||
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-12-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 使用排序重边匹配进行图的粗化
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装metis64和gpmetis64_shem软件包
|
||||
LOG_INFO "检查是否已安装metis64和gpmetis64_shem软件包"
|
||||
if dnf list installed metis64 &> /dev/null && dnf list installed gpmetis64_shem &> /dev/null; then
|
||||
LOG_INFO "软件包已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "软件包未安装,将在测试完成后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有metis64和gpmetis64_shem软件包
|
||||
LOG_INFO "检查yum源中是否有metis64和gpmetis64_shem软件包"
|
||||
if ! dnf list available metis64 &> /dev/null || ! dnf list available gpmetis64_shem &> /dev/null; then
|
||||
LOG_ERROR "yum源中缺少metis64或gpmetis64_shem软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装metis64和gpmetis64_shem软件包"
|
||||
dnf install -y metis64 gpmetis64_shem
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
fi
|
||||
|
||||
# 测试排序重边匹配进行图的粗化
|
||||
LOG_INFO "测试排序重边匹配进行图的粗化"
|
||||
gpmetis64_shem --test-sort-edge-matching --input test_graph.graph --output test_graph_coarsened.graph
|
||||
CHECK_RESULT $? 0 0 "排序重边匹配测试失败"
|
||||
|
||||
# 清理环境:如果之前未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载metis64和gpmetis64_shem软件包"
|
||||
dnf remove -y metis64 gpmetis64_shem
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,78 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 优化目标为最小化总通信量
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:优化目标为最小化总通信量"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查软件包是否已安装"
|
||||
if ! dnf list installed metis64 &>/dev/null; then
|
||||
LOG_INFO "软件包未安装,将进行安装"
|
||||
INSTALLED=false
|
||||
else
|
||||
LOG_INFO "软件包已安装"
|
||||
INSTALLED=true
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有metis64软件包
|
||||
LOG_INFO "检查yum源中是否有metis64软件包"
|
||||
if ! dnf list available metis64 &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到metis64软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装metis64软件包"
|
||||
dnf install -y metis64
|
||||
CHECK_RESULT $? 0 0 "安装metis64软件包失败"
|
||||
fi
|
||||
|
||||
# 测试gpmetis64命令是否存在
|
||||
LOG_INFO "测试gpmetis64命令是否存在"
|
||||
if ! command -v gpmetis64 &>/dev/null; then
|
||||
LOG_ERROR "gpmetis64命令不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试gpmetis64命令参数是否支持
|
||||
LOG_INFO "测试gpmetis64命令参数是否支持"
|
||||
if ! gpmetis64 --help | grep -q "minimize total communication"; then
|
||||
LOG_ERROR "gpmetis64命令不支持最小化总通信量参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行测试命令
|
||||
LOG_INFO "执行测试命令:gpmetis64 --minimize-total-communication test.graph"
|
||||
gpmetis64 --minimize-total-communication test.graph
|
||||
CHECK_RESULT $? 0 0 "执行gpmetis64命令失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载metis64软件包"
|
||||
dnf remove -y metis64
|
||||
CHECK_RESULT $? 0 0 "卸载metis64软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:优化目标为最小化总通信量"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,69 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 graphchk64 命令的 -v 参数
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装graphchk64软件包
|
||||
LOG_INFO "检查graphchk64软件包是否已安装"
|
||||
rpm -q graphchk64 > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "graphchk64软件包已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "graphchk64软件包未安装,将在测试完成后卸载"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有graphchk64软件包
|
||||
LOG_INFO "检查yum源中是否有graphchk64软件包"
|
||||
dnf list available graphchk64 > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到graphchk64软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装graphchk64软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "开始安装graphchk64软件包"
|
||||
dnf install -y graphchk64 > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装graphchk64软件包失败"
|
||||
fi
|
||||
|
||||
# 检查-v参数是否支持
|
||||
LOG_INFO "检查-v参数是否支持"
|
||||
graphchk64 -v > /dev/null 2>&1
|
||||
if [ $? -eq 255 ]; then
|
||||
LOG_ERROR "-v参数不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试-v参数
|
||||
LOG_INFO "测试graphchk64命令的-v参数"
|
||||
graphchk64 -v > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "-v参数测试失败"
|
||||
|
||||
# 清理环境
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载graphchk64软件包"
|
||||
dnf remove -y graphchk64 > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载graphchk64软件包失败"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,59 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 设置调试级别为1
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:设置调试级别为1"
|
||||
|
||||
# 检查是否已安装metis64和m2gmetis64软件包
|
||||
LOG_INFO "检查是否已安装metis64和m2gmetis64软件包"
|
||||
if ! dnf list installed metis64 &>/dev/null || ! dnf list installed m2gmetis64 &>/dev/null; then
|
||||
LOG_INFO "软件包未安装,开始安装"
|
||||
# 检查yum源中是否有软件包
|
||||
if ! dnf list available metis64 &>/dev/null || ! dnf list available m2gmetis64 &>/dev/null; then
|
||||
LOG_ERROR "yum源中缺少metis64或m2gmetis64软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装软件包
|
||||
dnf install -y metis64 m2gmetis64
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
# 标记需要卸载
|
||||
UNINSTALL=1
|
||||
else
|
||||
LOG_INFO "软件包已安装,无需重新安装"
|
||||
UNINSTALL=0
|
||||
fi
|
||||
|
||||
# 测试设置调试级别为1
|
||||
LOG_INFO "测试设置调试级别为1"
|
||||
m2gmetis64 --dbglvl 1
|
||||
CHECK_RESULT $? 0 0 "设置调试级别为1失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$UNINSTALL" -eq 1 ]; then
|
||||
LOG_INFO "清理环境,卸载软件包"
|
||||
dnf remove -y metis64 m2gmetis64
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:设置调试级别为1"
|
||||
}
|
||||
|
||||
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-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 使用默认参数生成双图
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:使用默认参数生成双图"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查metis64和m2gmetis64软件包是否已安装"
|
||||
if rpm -q metis64 &> /dev/null && rpm -q m2gmetis64 &> /dev/null; then
|
||||
LOG_INFO "软件包已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "软件包未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有软件包
|
||||
LOG_INFO "检查yum源中是否存在metis64和m2gmetis64软件包"
|
||||
if ! dnf list available metis64 m2gmetis64 &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到metis64或m2gmetis64软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装metis64和m2gmetis64软件包"
|
||||
dnf install -y metis64 m2gmetis64
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
fi
|
||||
|
||||
# 检查命令参数是否支持
|
||||
LOG_INFO "检查默认参数是否支持"
|
||||
if ! m2gmetis64 --help | grep -q "default"; then
|
||||
LOG_ERROR "命令不支持默认参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行命令生成双图
|
||||
LOG_INFO "使用默认参数生成双图"
|
||||
m2gmetis64 --default
|
||||
CHECK_RESULT $? 0 0 "生成双图失败"
|
||||
|
||||
# 清理环境(如果测试前未安装则卸载)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载metis64和m2gmetis64软件包"
|
||||
dnf remove -y metis64 m2gmetis64
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
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-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 显式指定生成双图
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装metis64和m2gmetis64软件包
|
||||
LOG_INFO "检查是否已安装metis64和m2gmetis64软件包"
|
||||
if dnf list installed metis64 &> /dev/null && dnf list installed m2gmetis64 &> /dev/null; then
|
||||
LOG_INFO "软件包已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "软件包未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在metis64和m2gmetis64软件包
|
||||
LOG_INFO "检查yum源中是否存在metis64和m2gmetis64软件包"
|
||||
if ! dnf list available metis64 &> /dev/null || ! dnf list available m2gmetis64 &> /dev/null; then
|
||||
LOG_ERROR "yum源中缺少必要的软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装metis64和m2gmetis64软件包"
|
||||
dnf install -y metis64 m2gmetis64
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
fi
|
||||
|
||||
# 检查命令参数是否支持
|
||||
LOG_INFO "检查命令参数是否支持"
|
||||
if ! m2gmetis64 --help | grep -q "dual"; then
|
||||
LOG_ERROR "命令不支持dual参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行测试命令生成双图
|
||||
LOG_INFO "执行测试命令生成双图"
|
||||
m2gmetis64 --dual test_graph.mtx output_graph
|
||||
CHECK_RESULT $? 0 0 "生成双图失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载metis64和m2gmetis64软件包"
|
||||
dnf remove -y metis64 m2gmetis64
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,66 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 生成节点图
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:生成节点图"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查软件包是否已安装"
|
||||
if ! dnf list installed metis64 &>/dev/null; then
|
||||
LOG_INFO "软件包未安装,准备安装"
|
||||
# 检查yum源中是否有该软件包
|
||||
if ! dnf list available metis64 &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到软件包metis64"
|
||||
exit 255
|
||||
fi
|
||||
# 安装软件包
|
||||
dnf install -y metis64
|
||||
CHECK_RESULT $? 0 0 "安装软件包metis64失败"
|
||||
# 标记需要卸载
|
||||
NEED_UNINSTALL=1
|
||||
else
|
||||
LOG_INFO "软件包已安装,无需操作"
|
||||
NEED_UNINSTALL=0
|
||||
fi
|
||||
|
||||
# 检查命令参数是否支持
|
||||
LOG_INFO "检查命令参数是否支持"
|
||||
if ! metis64 --help | grep -q "m2gmetis64"; then
|
||||
LOG_ERROR "命令参数不支持m2gmetis64"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行测试命令
|
||||
LOG_INFO "执行测试命令:生成节点图"
|
||||
metis64 m2gmetis64 --gtype nodal
|
||||
CHECK_RESULT $? 0 0 "生成节点图失败"
|
||||
|
||||
# 清理环境
|
||||
if [ $NEED_UNINSTALL -eq 1 ]; then
|
||||
LOG_INFO "卸载软件包"
|
||||
dnf remove -y metis64
|
||||
CHECK_RESULT $? 0 0 "卸载软件包metis64失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:生成节点图"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,75 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 指定双图中两个元素的共同节点数为2
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装metis64和m2gmetis64软件包
|
||||
LOG_INFO "检查是否已安装metis64和m2gmetis64软件包"
|
||||
rpm -q metis64 m2gmetis64 > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "软件包已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "软件包未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在metis64和m2gmetis64软件包
|
||||
LOG_INFO "检查yum源中是否存在metis64和m2gmetis64软件包"
|
||||
dnf list available metis64 m2gmetis64 > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到metis64或m2gmetis64软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装metis64和m2gmetis64软件包"
|
||||
dnf install -y metis64 m2gmetis64 > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
fi
|
||||
|
||||
# 测试指定双图中两个元素的共同节点数为2的功能
|
||||
LOG_INFO "测试指定双图中两个元素的共同节点数为2的功能"
|
||||
command_output=$(m2gmetis64 -ncommon=2 test_graph.graph test_graph.part 2>&1)
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "命令执行失败: $command_output"
|
||||
if [[ "$command_output" == *"invalid option"* ]] || [[ "$command_output" == *"unsupported option"* ]]; then
|
||||
exit 255
|
||||
else
|
||||
exit $?
|
||||
fi
|
||||
fi
|
||||
|
||||
CHECK_RESULT $? 0 0 "测试指定双图中两个元素的共同节点数为2的功能失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载metis64和m2gmetis64软件包"
|
||||
dnf remove -y metis64 m2gmetis64 > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,60 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 尝试生成连续的分区对网格文件进行分区
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装metis64和mpmetis64软件包
|
||||
LOG_INFO "检查是否已安装metis64和mpmetis64软件包"
|
||||
if ! dnf list installed metis64 &> /dev/null || ! dnf list installed mpmetis64 &> /dev/null; then
|
||||
LOG_INFO "未安装metis64或mpmetis64,开始安装"
|
||||
# 检查yum源中是否存在软件包
|
||||
if ! dnf list available metis64 &> /dev/null || ! dnf list available mpmetis64 &> /dev/null; then
|
||||
LOG_ERROR "yum源中不存在metis64或mpmetis64软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装软件包
|
||||
dnf install -y metis64 mpmetis64
|
||||
CHECK_RESULT $? 0 0 "安装metis64和mpmetis64失败"
|
||||
# 标记需要卸载
|
||||
UNINSTALL=true
|
||||
else
|
||||
LOG_INFO "已安装metis64和mpmetis64"
|
||||
UNINSTALL=false
|
||||
fi
|
||||
|
||||
# 生成连续的分区对网格文件进行分区
|
||||
LOG_INFO "尝试生成连续的分区对网格文件进行分区"
|
||||
# 假设网格文件为grid.mesh,输出分区文件为grid.part.2
|
||||
mpmetis -contig grid.mesh 2
|
||||
CHECK_RESULT $? 0 0 "生成连续分区失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$UNINSTALL" = true ]; then
|
||||
LOG_INFO "卸载metis64和mpmetis64软件包"
|
||||
dnf remove -y metis64 mpmetis64
|
||||
CHECK_RESULT $? 0 0 "卸载metis64和mpmetis64失败"
|
||||
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-12-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 使用随机匹配策略对网格文件进行分区
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:使用随机匹配策略对网格文件进行分区"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查软件包是否已安装"
|
||||
if ! dnf list installed metis64 >/dev/null 2>&1; then
|
||||
LOG_INFO "软件包未安装,开始安装"
|
||||
if ! dnf list available metis64 >/dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中未找到metis64软件包"
|
||||
exit 255
|
||||
fi
|
||||
dnf install -y metis64
|
||||
CHECK_RESULT $? 0 0 "安装metis64失败"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "软件包已安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查mpmetis64命令是否存在
|
||||
LOG_INFO "检查mpmetis64命令是否存在"
|
||||
if ! command -v mpmetis64 >/dev/null 2>&1; then
|
||||
LOG_ERROR "mpmetis64命令不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查ctype参数是否支持
|
||||
LOG_INFO "检查ctype参数是否支持"
|
||||
if ! mpmetis64 --help | grep -q "ctype"; then
|
||||
LOG_ERROR "ctype参数不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行测试命令
|
||||
LOG_INFO "执行测试命令:使用随机匹配策略对网格文件进行分区"
|
||||
mpmetis64 --ctype=rm test_graph.graph 2
|
||||
CHECK_RESULT $? 0 0 "执行mpmetis64命令失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = true ]; then
|
||||
LOG_INFO "卸载软件包"
|
||||
dnf remove -y metis64
|
||||
CHECK_RESULT $? 0 0 "卸载metis64失败"
|
||||
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-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 使用默认参数对网格文件进行分区
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装metis64和mpmetis64软件包
|
||||
LOG_INFO "检查是否已安装metis64和mpmetis64软件包"
|
||||
if dnf list installed metis64 &> /dev/null && dnf list installed mpmetis64 &> /dev/null; then
|
||||
LOG_INFO "软件包已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "软件包未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有metis64和mpmetis64软件包
|
||||
LOG_INFO "检查yum源中是否有metis64和mpmetis64软件包"
|
||||
if ! dnf list available metis64 &> /dev/null || ! dnf list available mpmetis64 &> /dev/null; then
|
||||
LOG_ERROR "yum源中缺少metis64或mpmetis64软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装metis64和mpmetis64软件包"
|
||||
dnf install -y metis64 mpmetis64
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
fi
|
||||
|
||||
# 检查命令参数是否支持
|
||||
LOG_INFO "检查命令参数是否支持"
|
||||
if ! mpmetis64 --help | grep -q "default"; then
|
||||
LOG_ERROR "mpmetis64不支持默认参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 使用默认参数对网格文件进行分区
|
||||
LOG_INFO "使用默认参数对网格文件进行分区"
|
||||
mpmetis64 input_graph_file default_output_file
|
||||
CHECK_RESULT $? 0 0 "网格文件分区失败"
|
||||
|
||||
# 清理环境:如果脚本开始时未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载临时安装的软件包"
|
||||
dnf remove -y metis64 mpmetis64
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,58 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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 : 使用nodal图类型对网格文件进行分区
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装metis64和mpmetis64软件包
|
||||
LOG_INFO "检查是否已安装metis64和mpmetis64软件包"
|
||||
if ! dnf list installed metis64 &> /dev/null || ! dnf list installed mpmetis64 &> /dev/null; then
|
||||
LOG_INFO "未安装metis64或mpmetis64,开始安装"
|
||||
# 检查yum源中是否有软件包
|
||||
if ! dnf list available metis64 &> /dev/null || ! dnf list available mpmetis64 &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到metis64或mpmetis64软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装软件包
|
||||
dnf install -y metis64 mpmetis64
|
||||
CHECK_RESULT $? 0 0 "安装metis64或mpmetis64失败"
|
||||
# 标记为需要卸载
|
||||
NEED_UNINSTALL=1
|
||||
else
|
||||
LOG_INFO "metis64和mpmetis64已安装"
|
||||
fi
|
||||
|
||||
LOG_INFO "使用nodal图类型对网格文件进行分区"
|
||||
# 假设网格文件为test.graph,实际应根据需求替换为真实文件路径
|
||||
mpmetis -gtype=nodal test.graph 2
|
||||
CHECK_RESULT $? 0 0 "使用nodal图类型对网格文件进行分区失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$NEED_UNINSTALL" -eq 1 ]; then
|
||||
LOG_INFO "卸载metis64和mpmetis64软件包"
|
||||
dnf remove -y metis64 mpmetis64
|
||||
CHECK_RESULT $? 0 0 "卸载metis64或mpmetis64失败"
|
||||
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-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 使用随机初始分区策略对网格文件进行分区
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:使用随机初始分区策略对网格文件进行分区"
|
||||
|
||||
# 检查是否已安装所需软件包
|
||||
LOG_INFO "检查软件包是否已安装"
|
||||
dnf list installed metis64-mpmetis64 &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "软件包已安装,脚本结束时将保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "软件包未安装,将在测试结束后卸载"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在软件包
|
||||
LOG_INFO "检查yum源中是否存在metis64-mpmetis64软件包"
|
||||
dnf list available metis64-mpmetis64 &>/dev/null
|
||||
CHECK_RESULT $? 0 255 "yum源中未找到metis64-mpmetis64软件包"
|
||||
|
||||
# 安装软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装metis64-mpmetis64软件包"
|
||||
dnf install -y metis64-mpmetis64
|
||||
CHECK_RESULT $? 0 255 "安装metis64-mpmetis64软件包失败"
|
||||
fi
|
||||
|
||||
# 测试随机初始分区策略
|
||||
LOG_INFO "测试随机初始分区策略对网格文件进行分区"
|
||||
mpmetis64 --help | grep -q "\-\-iptype"
|
||||
CHECK_RESULT $? 0 255 "--iptype参数不支持"
|
||||
|
||||
mpmetis64 --iptype=random test_mesh_file.graph.part.2
|
||||
CHECK_RESULT $? 0 0 "使用随机初始分区策略对网格文件进行分区失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载metis64-mpmetis64软件包"
|
||||
dnf remove -y metis64-mpmetis64
|
||||
CHECK_RESULT $? 0 255 "卸载metis64-mpmetis64软件包失败"
|
||||
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-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 尝试最小化子域图的最大度数对网格文件进行分区
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装metis64和mpmetis64_minconn
|
||||
LOG_INFO "检查是否已安装metis64和mpmetis64_minconn"
|
||||
if dnf list installed metis64 &> /dev/null && dnf list installed mpmetis64_minconn &> /dev/null; then
|
||||
LOG_INFO "软件包已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "软件包未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在软件包
|
||||
LOG_INFO "检查yum源中是否存在metis64和mpmetis64_minconn"
|
||||
if ! dnf list available metis64 &> /dev/null || ! dnf list available mpmetis64_minconn &> /dev/null; then
|
||||
LOG_ERROR "yum源中缺少必要的软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在安装metis64和mpmetis64_minconn"
|
||||
dnf install -y metis64 mpmetis64_minconn
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
fi
|
||||
|
||||
# 测试最小化子域图的最大度数对网格文件进行分区
|
||||
LOG_INFO "测试最小化子域图的最大度数对网格文件进行分区"
|
||||
mpmetis64_minconn --minconn test_graph.mesh 2
|
||||
CHECK_RESULT $? 0 0 "执行mpmetis64_minconn命令失败"
|
||||
|
||||
# 清理环境(如果之前未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载临时安装的软件包"
|
||||
dnf remove -y metis64 mpmetis64_minconn
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
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-12-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 设置两个元素的共同节点数为2对网格文件进行分区
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
LOG_INFO "开始测试:设置两个元素的共同节点数为2对网格文件进行分区"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查软件包是否已安装"
|
||||
if ! dnf list installed metis64 &> /dev/null; then
|
||||
LOG_INFO "软件包未安装,开始安装"
|
||||
if ! dnf list available metis64 &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到metis64软件包"
|
||||
exit 255
|
||||
fi
|
||||
dnf install -y metis64
|
||||
CHECK_RESULT $? 0 0 "安装metis64失败"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "软件包已安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查命令参数是否支持
|
||||
LOG_INFO "检查命令参数是否支持"
|
||||
if ! mpmetis64 --help | grep -q "ncommon"; then
|
||||
LOG_ERROR "mpmetis64命令不支持ncommon参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行分区命令
|
||||
LOG_INFO "执行分区命令"
|
||||
mpmetis64 --ncommon=2 input.graph 2
|
||||
CHECK_RESULT $? 0 0 "分区命令执行失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = true ]; then
|
||||
LOG_INFO "卸载软件包"
|
||||
dnf remove -y metis64
|
||||
CHECK_RESULT $? 0 0 "卸载metis64失败"
|
||||
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-12-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 优化总通信量对网格文件进行分区
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:优化总通信量对网格文件进行分区"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查软件包是否已安装"
|
||||
if ! dnf list installed metis64; then
|
||||
LOG_INFO "软件包未安装,将进行安装"
|
||||
# 检查yum源中是否有该软件包
|
||||
if ! dnf list available metis64; then
|
||||
LOG_ERROR "yum源中未找到metis64软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装软件包
|
||||
dnf install -y metis64
|
||||
CHECK_RESULT $? 0 0 "安装metis64软件包失败"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "软件包已安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查命令参数是否支持
|
||||
LOG_INFO "检查命令参数是否支持"
|
||||
if ! mpmetis64 --help | grep -q "objtype"; then
|
||||
LOG_ERROR "mpmetis64命令不支持objtype参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行测试命令
|
||||
LOG_INFO "执行测试命令:优化总通信量对网格文件进行分区"
|
||||
mpmetis64 --objtype=vol test_graph.graph 2
|
||||
CHECK_RESULT $? 0 0 "执行mpmetis64命令失败"
|
||||
|
||||
# 清理环境(如果脚本开始时未安装软件包,则卸载)
|
||||
if [ "$INSTALLED" = true ]; then
|
||||
LOG_INFO "卸载软件包"
|
||||
dnf remove -y metis64
|
||||
CHECK_RESULT $? 0 0 "卸载metis64软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:优化总通信量对网格文件进行分区"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,58 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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 : 使用目标权重文件对网格文件进行分区
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装metis64和mpmetis64软件包
|
||||
LOG_INFO "检查是否已安装metis64和mpmetis64软件包"
|
||||
if ! dnf list installed metis64 &> /dev/null || ! dnf list installed mpmetis64 &> /dev/null; then
|
||||
LOG_INFO "未安装metis64或mpmetis64,开始安装"
|
||||
if ! dnf list available metis64 &> /dev/null || ! dnf list available mpmetis64 &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到metis64或mpmetis64软件包"
|
||||
exit 255
|
||||
fi
|
||||
dnf install -y metis64 mpmetis64
|
||||
CHECK_RESULT $? 0 0 "安装metis64或mpmetis64失败"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "metis64和mpmetis64已安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查目标权重文件和网格文件是否存在
|
||||
LOG_INFO "检查目标权重文件和网格文件是否存在"
|
||||
if [ ! -f tpwgts ] || [ ! -f mesh ]; then
|
||||
LOG_ERROR "目标权重文件tpwgts或网格文件mesh不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 使用目标权重文件对网格文件进行分区
|
||||
LOG_INFO "使用目标权重文件对网格文件进行分区"
|
||||
mpmetis64 -tpwgts=tpwgts mesh 4
|
||||
CHECK_RESULT $? 0 0 "使用目标权重文件对网格文件进行分区失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = true ]; then
|
||||
LOG_INFO "卸载metis64和mpmetis64软件包"
|
||||
dnf remove -y metis64 mpmetis64
|
||||
CHECK_RESULT $? 0 0 "卸载met
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,92 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-01-28
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 通过编译并运行一个使用nghttp2 API的简单C程序来验证开发环境功能是否完整有效。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试libnghttp2-devel功能:通过编译并运行一个使用nghttp2 API的简单C程序来验证开发环境功能是否完整有效。"
|
||||
|
||||
# 检查yum源中是否存在libnghttp2-devel软件包
|
||||
LOG_INFO "检查yum源中是否存在libnghttp2-devel软件包"
|
||||
dnf list available libnghttp2-devel > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到libnghttp2-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 判断环境是否已经安装libnghttp2-devel
|
||||
LOG_INFO "判断环境是否已经安装libnghttp2-devel"
|
||||
rpm -q libnghttp2-devel > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "环境已安装libnghttp2-devel,测试结束后将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "环境未安装libnghttp2-devel,将在测试过程中安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 安装libnghttp2-devel(如果未安装)
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装libnghttp2-devel软件包"
|
||||
dnf install -y libnghttp2-devel
|
||||
CHECK_RESULT $? 0 0 "安装libnghttp2-devel失败"
|
||||
fi
|
||||
|
||||
# 创建测试C程序
|
||||
LOG_INFO "创建测试C程序"
|
||||
cat > test_nghttp2.c << "EOF"
|
||||
#include <nghttp2/nghttp2.h>
|
||||
#include <stdio.h>
|
||||
|
||||
int main() {
|
||||
nghttp2_info *info = nghttp2_version(0);
|
||||
if (info) {
|
||||
printf("nghttp2 version: %s\n", info->version_str);
|
||||
return 0;
|
||||
} else {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
EOF
|
||||
|
||||
# 编译测试程序
|
||||
LOG_INFO "编译测试程序"
|
||||
gcc -o test_nghttp2 test_nghttp2.c -lnghttp2
|
||||
CHECK_RESULT $? 0 0 "编译测试程序失败"
|
||||
|
||||
# 运行测试程序
|
||||
LOG_INFO "运行测试程序"
|
||||
./test_nghttp2
|
||||
CHECK_RESULT $? 0 0 "运行测试程序失败"
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f test_nghttp2 test_nghttp2.c
|
||||
|
||||
# 卸载libnghttp2-devel(如果测试前未安装)
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载libnghttp2-devel软件包"
|
||||
dnf remove -y libnghttp2-devel
|
||||
CHECK_RESULT $? 0 0 "卸载libnghttp2-devel失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,101 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 编译并运行一个简单的C示例程序,验证开发环境完整可用。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 判断libnghttp2-devel包是否已安装
|
||||
LOG_INFO "检查libnghttp2-devel包是否已安装"
|
||||
rpm -q libnghttp2-devel > /dev/null 2>&1
|
||||
pkg_installed=$?
|
||||
|
||||
# 记录初始安装状态
|
||||
initial_install_status=$pkg_installed
|
||||
|
||||
# 检查yum源中是否有libnghttp2-devel包
|
||||
LOG_INFO "检查yum源中是否有libnghttp2-devel包"
|
||||
dnf list available libnghttp2-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "yum源中没有libnghttp2-devel包"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中没有libnghttp2-devel包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $pkg_installed -ne 0 ]; then
|
||||
LOG_INFO "安装libnghttp2-devel包"
|
||||
dnf install -y libnghttp2-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装libnghttp2-devel包失败"
|
||||
LOG_INFO "libnghttp2-devel包安装成功"
|
||||
else
|
||||
LOG_INFO "libnghttp2-devel包已安装,跳过安装步骤"
|
||||
fi
|
||||
|
||||
# 创建测试用的C示例程序
|
||||
LOG_INFO "创建测试用的C示例程序"
|
||||
cat > test_nghttp2.c << "EOF"
|
||||
#include <nghttp2/nghttp2.h>
|
||||
#include <stdio.h>
|
||||
|
||||
int main() {
|
||||
nghttp2_info *info = nghttp2_version(0);
|
||||
if (info) {
|
||||
printf("libnghttp2 version: %s\n", info->version_str);
|
||||
printf("编译并运行示例程序成功\n");
|
||||
return 0;
|
||||
} else {
|
||||
printf("无法获取libnghttp2版本信息\n");
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
EOF
|
||||
|
||||
CHECK_RESULT $? 0 0 "创建测试程序失败"
|
||||
|
||||
# 编译C示例程序
|
||||
LOG_INFO "编译C示例程序"
|
||||
gcc -o test_nghttp2 test_nghttp2.c $(pkg-config --cflags --libs libnghttp2) > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "编译C示例程序失败"
|
||||
|
||||
# 运行编译后的程序
|
||||
LOG_INFO "运行编译后的程序"
|
||||
./test_nghttp2 > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "运行C示例程序失败"
|
||||
|
||||
LOG_INFO "C示例程序运行成功,开发环境完整可用"
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f test_nghttp2 test_nghttp2.c
|
||||
CHECK_RESULT $? 0 0 "清理测试文件失败"
|
||||
|
||||
# 如果初始状态未安装,则卸载软件包
|
||||
if [ $initial_install_status -ne 0 ]; then
|
||||
LOG_INFO "卸载libnghttp2-devel包"
|
||||
dnf remove -y libnghttp2-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载libnghttp2-devel包失败"
|
||||
LOG_INFO "libnghttp2-devel包卸载成功"
|
||||
else
|
||||
LOG_INFO "保持libnghttp2-devel包安装状态"
|
||||
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-08-04
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test the configuration of libnghttp2-devel package.
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查libnghttp2-devel软件包是否已安装
|
||||
LOG_INFO "检查libnghttp2-devel软件包是否已安装"
|
||||
rpm -q libnghttp2-devel > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "libnghttp2-devel软件包已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "libnghttp2-devel软件包未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在libnghttp2-devel软件包
|
||||
LOG_INFO "检查yum源中是否存在libnghttp2-devel软件包"
|
||||
dnf list available libnghttp2-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中不存在libnghttp2-devel软件包"
|
||||
|
||||
# 安装libnghttp2-devel软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装libnghttp2-devel软件包"
|
||||
dnf install -y libnghttp2-devel
|
||||
CHECK_RESULT $? 0 0 "安装libnghttp2-devel软件包失败"
|
||||
fi
|
||||
|
||||
# 测试libnghttp2-devel软件包的配置功能
|
||||
LOG_INFO "测试libnghttp2-devel软件包的配置功能"
|
||||
nghttpx --version > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "不支持或不存在nghttpx命令"
|
||||
|
||||
# 清理环境:如果脚本开始时未安装libnghttp2-devel,则卸载
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载libnghttp2-devel软件包"
|
||||
dnf remove -y libnghttp2-devel
|
||||
CHECK_RESULT $? 0 0 "卸载libnghttp2-devel软件包失败"
|
||||
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 : 2026-01-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 验证nghttp2/nghttp2.h等核心开发头文件的存在和可访问性。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义日志函数(根据题目要求直接使用)
|
||||
LOG_INFO() {
|
||||
echo "[INFO] $1"
|
||||
}
|
||||
|
||||
LOG_ERROR() {
|
||||
echo "[ERROR] $1"
|
||||
}
|
||||
|
||||
# 定义常量
|
||||
PACKAGE_NAME="libnghttp2-devel"
|
||||
HEADER_FILES=(
|
||||
"/usr/include/nghttp2/nghttp2.h"
|
||||
"/usr/include/nghttp2/nghttp2ver.h"
|
||||
"/usr/include/nghttp2/nghttp2_session.h"
|
||||
)
|
||||
|
||||
# 步骤1:检查软件包是否在yum源中
|
||||
LOG_INFO "步骤1:检查软件包是否在yum源中"
|
||||
dnf list available $PACKAGE_NAME &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 $PACKAGE_NAME 不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤2:检查环境是否已安装软件包
|
||||
LOG_INFO "步骤2:检查环境是否已安装软件包"
|
||||
rpm -q $PACKAGE_NAME &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 已安装,标记为保持安装状态"
|
||||
KEEP_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 未安装,标记为需要卸载"
|
||||
KEEP_INSTALLED=0
|
||||
fi
|
||||
|
||||
# 步骤3:如果未安装,则安装软件包
|
||||
if [ $KEEP_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤3:安装软件包 $PACKAGE_NAME"
|
||||
dnf install -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
fi
|
||||
|
||||
# 步骤4:验证头文件的存在和可访问性
|
||||
LOG_INFO "步骤4:验证头文件的存在和可访问性"
|
||||
for header_file in "${HEADER_FILES[@]}"; do
|
||||
if [ -f "$header_file" ]; then
|
||||
LOG_INFO "头文件 $header_file 存在"
|
||||
# 检查头文件是否可读
|
||||
if [ -r "$header_file" ]; then
|
||||
LOG_INFO "头文件 $header_file 可读"
|
||||
else
|
||||
LOG_ERROR "头文件 $header_file 不可读"
|
||||
CHECK_RESULT 1 0 0 "头文件不可读"
|
||||
fi
|
||||
else
|
||||
LOG_ERROR "头文件 $header_file 不存在"
|
||||
CHECK_RESULT 1 0 0 "头文件不存在"
|
||||
fi
|
||||
done
|
||||
|
||||
# 步骤5:清理环境(如果脚本开始前未安装,则卸载软件包)
|
||||
if [ $KEEP_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤5:卸载软件包 $PACKAGE_NAME"
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
else
|
||||
LOG_INFO "步骤5:保持软件包 $PACKAGE_NAME 安装状态,不进行卸载"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,所有步骤执行完毕"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,86 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-19
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 验证安装后是否正确提供了nghttp2/nghttp2.h等主要的C语言开发头文件。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "===================================================================="
|
||||
LOG_INFO "测试开始:验证 nghttp2-devel 软件包安装后是否正确提供 C 语言开发头文件"
|
||||
LOG_INFO "===================================================================="
|
||||
|
||||
# 1. 检查软件包是否已在 yum 源中
|
||||
LOG_INFO "步骤1:检查 nghttp2-devel 软件包是否在 yum 源中"
|
||||
dnf list available nghttp2-devel > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "nghttp2-devel 软件包不在 yum 源中"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 2. 检查环境中是否已安装 nghttp2-devel 软件包
|
||||
LOG_INFO "步骤2:检查环境中是否已安装 nghttp2-devel 软件包"
|
||||
package_installed=0
|
||||
if rpm -q nghttp2-devel > /dev/null 2>&1; then
|
||||
LOG_INFO "环境中已安装 nghttp2-devel 软件包"
|
||||
package_installed=1
|
||||
else
|
||||
LOG_INFO "环境中未安装 nghttp2-devel 软件包,将在后续步骤中安装"
|
||||
fi
|
||||
|
||||
# 3. 如果未安装,则安装 nghttp2-devel 软件包
|
||||
if [ $package_installed -eq 0 ]; then
|
||||
LOG_INFO "步骤3:安装 nghttp2-devel 软件包"
|
||||
dnf install -y nghttp2-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装 nghttp2-devel 软件包失败"
|
||||
fi
|
||||
|
||||
# 4. 验证 nghttp2/nghttp2.h 头文件是否被正确提供
|
||||
LOG_INFO "步骤4:验证 nghttp2/nghttp2.h 头文件是否存在"
|
||||
ls /usr/include/nghttp2/nghttp2.h > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "nghttp2/nghttp2.h 头文件未被正确提供"
|
||||
|
||||
# 5. 验证其他主要的 C 语言开发头文件是否被正确提供
|
||||
LOG_INFO "步骤5:验证其他主要的 C 语言开发头文件是否存在"
|
||||
headers=(
|
||||
"/usr/include/nghttp2/nghttp2_ver.h"
|
||||
"/usr/include/nghttp2/nghttp2_session.h"
|
||||
"/usr/include/nghttp2/nghttp2_option.h"
|
||||
"/usr/include/nghttp2/nghttp2_callbacks.h"
|
||||
)
|
||||
|
||||
for header in "${headers[@]}"; do
|
||||
ls $header > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "$header 头文件未被正确提供"
|
||||
done
|
||||
|
||||
# 6. 环境恢复:如果测试前未安装,则卸载软件包
|
||||
if [ $package_installed -eq 0 ]; then
|
||||
LOG_INFO "步骤6:环境恢复,卸载 nghttp2-devel 软件包"
|
||||
dnf remove -y nghttp2-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载 nghttp2-devel 软件包失败"
|
||||
LOG_INFO "软件包已卸载,环境已恢复"
|
||||
else
|
||||
LOG_INFO "步骤6:环境保持原有状态,未对 nghttp2-devel 软件包执行卸载操作"
|
||||
fi
|
||||
|
||||
LOG_INFO "===================================================================="
|
||||
LOG_INFO "测试结束:验证完成"
|
||||
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-08-04
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test the installation of libnghttp2-devel package.
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装libnghttp2-devel
|
||||
LOG_INFO "检查是否已安装libnghttp2-devel"
|
||||
rpm -q libnghttp2-devel > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "libnghttp2-devel已安装,脚本结束后保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "libnghttp2-devel未安装,将在脚本结束后卸载"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在libnghttp2-devel包
|
||||
LOG_INFO "检查yum源中是否存在libnghttp2-devel包"
|
||||
dnf list available libnghttp2-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中不存在libnghttp2-devel包"
|
||||
|
||||
# 安装libnghttp2-devel包
|
||||
LOG_INFO "安装libnghttp2-devel包"
|
||||
dnf install -y libnghttp2-devel
|
||||
CHECK_RESULT $? 0 0 "安装libnghttp2-devel包失败"
|
||||
|
||||
# 验证libnghttp2-devel包是否安装成功
|
||||
LOG_INFO "验证libnghttp2-devel包是否安装成功"
|
||||
rpm -q libnghttp2-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "libnghttp2-devel包未正确安装"
|
||||
|
||||
# 测试libnghttp2-devel包的功能
|
||||
LOG_INFO "测试libnghttp2-devel包的功能"
|
||||
nghttpx --version > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "nghttpx命令不存在或不支持"
|
||||
|
||||
# 清理环境,恢复到之前的状态
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载libnghttp2-devel包"
|
||||
dnf remove -y libnghttp2-devel
|
||||
CHECK_RESULT $? 0 0 "卸载libnghttp2-develop包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,127 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-01-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 检查libnghttp2-devel软件包是否已在系统中正确安装。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查libnghttp2-devel软件包是否已在系统中正确安装
|
||||
|
||||
LOG_INFO "开始检查libnghttp2-devel软件包安装情况"
|
||||
|
||||
# 检查环境是否已安装libnghttp2-devel
|
||||
LOG_INFO "步骤1: 检查libnghttp2-devel是否已安装"
|
||||
rpm -q libnghttp2-devel
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "libnghttp2-devel已安装,记录安装状态"
|
||||
ALREADY_INSTALLED=true
|
||||
else
|
||||
LOG_INFO "libnghttp2-devel未安装"
|
||||
ALREADY_INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有该软件包
|
||||
LOG_INFO "步骤2: 检查yum源中是否存在libnghttp2-devel软件包"
|
||||
dnf list available libnghttp2-devel
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到libnghttp2-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则进行安装测试
|
||||
if [ "$ALREADY_INSTALLED" = "false" ]; then
|
||||
LOG_INFO "步骤3: 安装libnghttp2-devel软件包"
|
||||
dnf install -y libnghttp2-devel
|
||||
CHECK_RESULT $? 0 0 "安装libnghttp2-devel失败"
|
||||
|
||||
LOG_INFO "步骤4: 验证安装是否成功"
|
||||
rpm -q libnghttp2-devel
|
||||
CHECK_RESULT $? 0 0 "验证libnghttp2-devel安装失败"
|
||||
|
||||
# 检查软件包提供的文件
|
||||
LOG_INFO "步骤5: 检查libnghttp2-devel提供的文件"
|
||||
rpm -ql libnghttp2-devel | head -5
|
||||
CHECK_RESULT $? 0 0 "获取libnghttp2-devel文件列表失败"
|
||||
|
||||
# 检查头文件是否存在
|
||||
LOG_INFO "步骤6: 检查头文件是否安装"
|
||||
ls /usr/include/nghttp2/nghttp2.h > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "nghttp2头文件未找到"
|
||||
|
||||
# 检查库文件是否存在
|
||||
LOG_INFO "步骤7: 检查库文件是否安装"
|
||||
ls /usr/lib*/libnghttp2.so > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "libnghttp2库文件未找到"
|
||||
|
||||
# 检查pkg-config文件
|
||||
LOG_INFO "步骤8: 检查pkg-config配置"
|
||||
pkg-config --cflags libnghttp2
|
||||
CHECK_RESULT $? 0 0 "libnghttp2 pkg-config配置错误"
|
||||
|
||||
LOG_INFO "步骤9: 测试简单编译"
|
||||
cat > test_nghttp2.c << "EOF"
|
||||
#include <nghttp2/nghttp2.h>
|
||||
#include <stdio.h>
|
||||
|
||||
int main() {
|
||||
printf("nghttp2 version: %s\n", NGHTTP2_VERSION);
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
|
||||
gcc test_nghttp2.c -o test_nghttp2 $(pkg-config --cflags --libs libnghttp2)
|
||||
CHECK_RESULT $? 0 0 "编译测试程序失败"
|
||||
|
||||
./test_nghttp2
|
||||
CHECK_RESULT $? 0 0 "运行测试程序失败"
|
||||
|
||||
# 清理测试文件
|
||||
rm -f test_nghttp2.c test_nghttp2
|
||||
fi
|
||||
|
||||
# 如果已安装,则只进行验证
|
||||
if [ "$ALREADY_INSTALLED" = "true" ]; then
|
||||
LOG_INFO "步骤3: 验证已安装的libnghttp2-devel"
|
||||
rpm -q libnghttp2-devel
|
||||
CHECK_RESULT $? 0 0 "libnghttp2-devel未正确安装"
|
||||
|
||||
LOG_INFO "步骤4: 检查头文件"
|
||||
ls /usr/include/nghttp2/nghttp2.h > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "nghttp2头文件未找到"
|
||||
|
||||
LOG_INFO "步骤5: 检查库文件"
|
||||
ls /usr/lib*/libnghttp2.so > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "libnghttp2库文件未找到"
|
||||
|
||||
LOG_INFO "步骤6: 验证pkg-config配置"
|
||||
pkg-config --cflags libnghttp2
|
||||
CHECK_RESULT $? 0 0 "libnghttp2 pkg-config配置错误"
|
||||
fi
|
||||
|
||||
# 环境恢复
|
||||
LOG_INFO "步骤10: 环境恢复"
|
||||
if [ "$ALREADY_INSTALLED" = "false" ]; then
|
||||
LOG_INFO "卸载测试安装的libnghttp2-devel软件包"
|
||||
dnf remove -y libnghttp2-devel
|
||||
CHECK_RESULT $? 0 0 "卸载libnghttp2-devel失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "libnghttp2-devel软件包安装检查完成"
|
||||
}
|
||||
|
||||
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-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试pkg-config是否能正确提供libnghttp2的编译和链接标志。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装libnghttp2-devel
|
||||
LOG_INFO "检查系统是否已安装libnghttp2-devel软件包"
|
||||
rpm -q libnghttp2-devel > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "libnghttp2-devel已安装,测试后保持安装状态"
|
||||
INSTALLED_FLAG=1
|
||||
else
|
||||
LOG_INFO "libnghttp2-devel未安装,测试后将卸载"
|
||||
INSTALLED_FLAG=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有libnghttp2-devel软件包
|
||||
LOG_INFO "检查yum源中是否有libnghttp2-devel软件包"
|
||||
dnf list available libnghttp2-devel > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中没有libnghttp2-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $INSTALLED_FLAG -eq 0 ]; then
|
||||
LOG_INFO "安装libnghttp2-devel软件包"
|
||||
dnf install -y libnghttp2-devel
|
||||
CHECK_RESULT $? 0 0 "安装libnghttp2-devel失败"
|
||||
fi
|
||||
|
||||
# 测试pkg-config是否能正确提供libnghttp2的编译和链接标志
|
||||
LOG_INFO "测试pkg-config是否能正确提供libnghttp2的编译标志"
|
||||
pkg-config --cflags libnghttp2
|
||||
CHECK_RESULT $? 0 0 "pkg-config无法提供libnghttp2的编译标志"
|
||||
|
||||
LOG_INFO "测试pkg-config是否能正确提供libnghttp2的链接标志"
|
||||
pkg-config --libs libnghttp2
|
||||
CHECK_RESULT $? 0 0 "pkg-config无法提供libnghttp2的链接标志"
|
||||
|
||||
# 验证编译标志是否包含必要的头文件路径
|
||||
LOG_INFO "验证编译标志是否包含必要的头文件路径"
|
||||
CFLAGS=$(pkg-config --cflags libnghttp2)
|
||||
if [[ $CFLAGS == *"-I"* ]]; then
|
||||
LOG_INFO "编译标志包含头文件路径: $CFLAGS"
|
||||
else
|
||||
LOG_ERROR "编译标志不包含头文件路径"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 验证链接标志是否包含必要的库文件
|
||||
LOG_INFO "验证链接标志是否包含必要的库文件"
|
||||
LIBS=$(pkg-config --libs libnghttp2)
|
||||
if [[ $LIBS == *"-lnghttp2"* ]]; then
|
||||
LOG_INFO "链接标志包含库文件: $LIBS"
|
||||
else
|
||||
LOG_ERROR "链接标志不包含必要的库文件"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载软件包
|
||||
if [ $INSTALLED_FLAG -eq 0 ]; then
|
||||
LOG_INFO "卸载libnghttp2-devel软件包"
|
||||
dnf remove -y libnghttp2-devel
|
||||
CHECK_RESULT $? 0 0 "卸载libnghttp2-devel失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,173 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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-19
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 通过编译一个使用nghttp2 API的简单C程序来验证开发环境功能是否完整有效。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 初始化参数和变量
|
||||
PACKAGE_NAME="libnghttp2-devel"
|
||||
TEST_PROGRAM="test_nghttp2_simple.c"
|
||||
TEST_EXECUTABLE="test_nghttp2_simple"
|
||||
EXPECTED_STRING="nghttp2简单测试程序"
|
||||
|
||||
# 清理函数,用于恢复环境
|
||||
cleanup() {
|
||||
LOG_INFO "开始清理测试环境"
|
||||
|
||||
# 删除测试源码和可执行文件
|
||||
if [ -f "$TEST_PROGRAM" ]; then
|
||||
rm -f "$TEST_PROGRAM"
|
||||
LOG_INFO "已删除测试源码文件: $TEST_PROGRAM"
|
||||
fi
|
||||
|
||||
if [ -f "$TEST_EXECUTABLE" ]; then
|
||||
rm -f "$TEST_EXECUTABLE"
|
||||
LOG_INFO "已删除可执行文件: $TEST_EXECUTABLE"
|
||||
fi
|
||||
|
||||
# 如果测试前未安装,则卸载软件包
|
||||
if [ "$WAS_INSTALLED" -eq 0 ]; then
|
||||
LOG_INFO "卸载在测试过程中安装的软件包: $PACKAGE_NAME"
|
||||
dnf remove -y "$PACKAGE_NAME" > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "成功卸载 $PACKAGE_NAME"
|
||||
else
|
||||
LOG_ERROR "卸载 $PACKAGE_NAME 失败"
|
||||
fi
|
||||
else
|
||||
LOG_INFO "测试前已安装 $PACKAGE_NAME,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "环境清理完成"
|
||||
}
|
||||
|
||||
# 设置trap确保脚本退出时执行清理
|
||||
trap cleanup EXIT
|
||||
|
||||
# 检查软件包是否在yum源中可用
|
||||
LOG_INFO "检查yum源中是否存在软件包: $PACKAGE_NAME"
|
||||
dnf list available "$PACKAGE_NAME" > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在软件包: $PACKAGE_NAME"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum源中存在软件包: $PACKAGE_NAME"
|
||||
|
||||
# 检查是否已安装软件包
|
||||
LOG_INFO "检查系统是否已安装软件包: $PACKAGE_NAME"
|
||||
rpm -q "$PACKAGE_NAME" > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 已安装"
|
||||
WAS_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 未安装"
|
||||
WAS_INSTALLED=0
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$WAS_INSTALLED" -eq 0 ]; then
|
||||
LOG_INFO "开始安装软件包: $PACKAGE_NAME"
|
||||
dnf install -y "$PACKAGE_NAME" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装 $PACKAGE_NAME 失败"
|
||||
LOG_INFO "成功安装软件包: $PACKAGE_NAME"
|
||||
fi
|
||||
|
||||
# 创建简单的nghttp2测试程序
|
||||
LOG_INFO "创建nghttp2简单测试程序"
|
||||
cat > "$TEST_PROGRAM" << "EOF"
|
||||
#include <stdio.h>
|
||||
#include <nghttp2/nghttp2.h>
|
||||
|
||||
int main() {
|
||||
const char *version = nghttp2_version(0);
|
||||
if (version == NULL) {
|
||||
printf("无法获取nghttp2版本信息\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
printf("nghttp2版本: %s\n", version);
|
||||
printf("nghttp2简单测试程序\n");
|
||||
|
||||
// 测试nghttp2库的基本初始化
|
||||
nghttp2_session_callbacks *callbacks;
|
||||
int rv = nghttp2_session_callbacks_new(&callbacks);
|
||||
if (rv != 0) {
|
||||
printf("创建nghttp2会话回调失败\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
nghttp2_session_callbacks_del(callbacks);
|
||||
printf("nghttp2 API测试通过\n");
|
||||
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
|
||||
CHECK_RESULT $? 0 0 "创建测试程序文件失败"
|
||||
|
||||
# 检查gcc编译器是否可用
|
||||
LOG_INFO "检查gcc编译器是否可用"
|
||||
command -v gcc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "gcc编译器不可用"
|
||||
|
||||
# 检查pkg-config是否可用
|
||||
LOG_INFO "检查pkg-config是否可用"
|
||||
command -v pkg-config > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "pkg-config不可用"
|
||||
|
||||
# 检查nghttp2开发库是否可通过pkg-config找到
|
||||
LOG_INFO "检查nghttp2开发库配置"
|
||||
pkg-config --exists libnghttp2
|
||||
CHECK_RESULT $? 0 0 "无法通过pkg-config找到nghttp2开发库"
|
||||
|
||||
# 获取nghttp2编译标志
|
||||
LOG_INFO "获取nghttp2编译标志"
|
||||
CFLAGS=$(pkg-config --cflags libnghttp2 2>/dev/null)
|
||||
CHECK_RESULT $? 0 0 "获取nghttp2编译标志失败"
|
||||
|
||||
LDFLAGS=$(pkg-config --libs libnghttp2 2>/dev/null)
|
||||
CHECK_RESULT $? 0 0 "获取nghttp2链接标志失败"
|
||||
|
||||
LOG_INFO "编译标志: $CFLAGS"
|
||||
LOG_INFO "链接标志: $LDFLAGS"
|
||||
|
||||
# 编译测试程序
|
||||
LOG_INFO "编译nghttp2测试程序"
|
||||
gcc $CFLAGS -o "$TEST_EXECUTABLE" "$TEST_PROGRAM" $LDFLAGS
|
||||
CHECK_RESULT $? 0 0 "编译测试程序失败"
|
||||
LOG_INFO "成功编译测试程序"
|
||||
|
||||
# 运行测试程序
|
||||
LOG_INFO "运行nghttp2测试程序"
|
||||
./"$TEST_EXECUTABLE"
|
||||
CHECK_RESULT $? 0 0 "运行测试程序失败"
|
||||
|
||||
# 验证输出结果
|
||||
LOG_INFO "验证测试程序输出"
|
||||
output=$(./"$TEST_EXECUTABLE")
|
||||
echo "$output" | grep -q "nghttp2简单测试程序"
|
||||
CHECK_RESULT $? 0 0 "测试程序输出不符合预期"
|
||||
|
||||
echo "$output" | grep -q "nghttp2 API测试通过"
|
||||
CHECK_RESULT $? 0 0 "nghttp2 API测试未通过"
|
||||
|
||||
LOG_INFO "nghttp2开发环境功能测试通过"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,59 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-08-04
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试libnghttp2-devel软件包的安装功能,验证安装过程是否成功完成。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查libnghttp2-devel软件包是否已安装
|
||||
LOG_INFO "检查libnghttp2-devel软件包是否已安装"
|
||||
rpm -q libnghttp2-devel
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "libnghttp2-devel软件包已安装,脚本结束后保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "libnghttp2-devel软件包未安装,将在脚本结束前卸载"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在libnghttp2-devel软件包
|
||||
LOG_INFO "检查yum源中是否存在libnghttp2-devel软件包"
|
||||
dnf list available libnghttp2-devel
|
||||
CHECK_RESULT $? 0 255 "yum源中不存在libnghttp2-devel软件包"
|
||||
|
||||
# 安装libnghttp2-devel软件包
|
||||
LOG_INFO "安装libnghttp2-devel软件包"
|
||||
dnf install -y libnghttp2-devel
|
||||
CHECK_RESULT $? 0 0 "安装libnghttp2-devel软件包失败"
|
||||
|
||||
# 验证libnghttp2-devel软件包是否成功安装
|
||||
LOG_INFO "验证libnghttp2-devel软件包是否成功安装"
|
||||
rpm -q libnghttp2-devel
|
||||
CHECK_RESULT $? 0 0 "libnghttp2-devel软件包未成功安装"
|
||||
|
||||
# 如果脚本开始时未安装libnghttp2-devel软件包,则在脚本结束前卸载
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载libnghttp2-devel软件包"
|
||||
dnf remove -y libnghttp2-devel
|
||||
CHECK_RESULT $? 0 0 "卸载libnghttp2-devel软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试libnghttp2-devel软件包的安装功能完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,82 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-06
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包 java-21-openjdk-src 的编译功能,验证是否能够成功编译Java源代码。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 java-21-openjdk-src 的编译功能"
|
||||
|
||||
# 检查是否已安装 java-21-openjdk-src
|
||||
LOG_INFO "检查是否已安装 java-21-openjdk-src"
|
||||
dnf list installed java-21-openjdk-src > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "java-21-openjdk-src 已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "java-21-openjdk-src 未安装,测试结束后将卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有 java-21-openjdk-src
|
||||
LOG_INFO "检查 yum 源中是否有 java-21-openjdk-src"
|
||||
dnf list available java-21-openjdk-src > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum 源中没有找到 java-21-openjdk-src"
|
||||
|
||||
# 安装 java-21-openjdk-src(如果未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在安装 java-21-openjdk-src"
|
||||
dnf install -y java-21-openjdk-src > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装 java-21-openjdk-src 失败"
|
||||
fi
|
||||
|
||||
# 验证编译功能
|
||||
LOG_INFO "验证编译功能"
|
||||
javac -version > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "javac 命令不存在或不支持"
|
||||
|
||||
# 创建测试 Java 文件
|
||||
LOG_INFO "创建测试 Java 文件"
|
||||
cat <<EOF > Test.java
|
||||
public class Test {
|
||||
public static void main(String[] args) {
|
||||
System.out.println("Hello, OpenEuler!");
|
||||
}
|
||||
}
|
||||
EOF
|
||||
|
||||
# 编译测试 Java 文件
|
||||
LOG_INFO "编译测试 Java 文件"
|
||||
javac Test.java
|
||||
CHECK_RESULT $? 0 0 "Java源代码编译失败"
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f Test.java Test.class
|
||||
|
||||
#卸载软件包(如果之前未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在卸载 java-21-openjdk-src"
|
||||
dnf remove -y java-21-openjdk-src > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 “卸载 java—openjde—src失败”
|
||||
fi
|
||||
|
||||
LOG_INFO "java—openjdke—src的编译功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,81 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-20
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试模块基本功能调用
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试脚本开始
|
||||
# 步骤1:检查测试环境是否已经安装perl-Date-ISO8601软件包
|
||||
LOG_INFO "步骤1:检查测试环境是否已经安装perl-Date-ISO8601软件包"
|
||||
rpm -qa | grep -q "^perl-Date-ISO8601"
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "检测到perl-Date-ISO8601已安装,标记为已安装状态"
|
||||
INSTALLED_FLAG=1
|
||||
else
|
||||
LOG_INFO "未检测到perl-Date-ISO8601安装,标记为未安装状态"
|
||||
INSTALLED_FLAG=0
|
||||
fi
|
||||
|
||||
# 步骤2:检查yum源中是否有perl-Date-ISO8601软件包
|
||||
LOG_INFO "步骤2:检查yum源中是否有perl-Date-ISO8601软件包"
|
||||
dnf list available perl-Date-ISO8601 2>/dev/null | grep -q "perl-Date-ISO8601"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到perl-Date-ISO8601软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤3:如果未安装,则安装perl-Date-ISO8601软件包
|
||||
if [ $INSTALLED_FLAG -eq 0 ]; then
|
||||
LOG_INFO "步骤3:安装perl-Date-ISO8601软件包"
|
||||
dnf install -y perl-Date-ISO8601
|
||||
CHECK_RESULT $? 0 0 "安装perl-Date-ISO8601失败"
|
||||
LOG_INFO "perl-Date-ISO8601安装成功"
|
||||
fi
|
||||
|
||||
# 步骤4:测试perl-Date-ISO8601模块的基本功能调用
|
||||
LOG_INFO "步骤4:测试perl-Date-ISO8601模块的基本功能调用"
|
||||
# 测试perl命令调用Date::ISO8601模块
|
||||
perl -e "use Date::ISO8601; my $date = Date::ISO8601->new("2023-10-01"); print $date->year;" 2>/dev/null
|
||||
CHECK_RESULT $? 0 0 "perl-Date-ISO8601模块基本功能调用失败"
|
||||
|
||||
# 步骤5:测试perl-Date-ISO8601模块的help功能(如果支持)
|
||||
LOG_INFO "步骤5:测试perl-Date-ISO8601模块的help功能"
|
||||
# 尝试获取帮助信息,如果命令不支持help参数,则跳过
|
||||
perl -MDate::ISO8601 -e "help" 2>&1 | grep -q "Usage"
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "perl-Date-ISO8601模块支持help功能"
|
||||
else
|
||||
LOG_INFO "perl-Date-ISO8601模块不支持help功能,跳过此步骤"
|
||||
fi
|
||||
|
||||
# 步骤6:环境清理与恢复
|
||||
LOG_INFO "步骤6:环境清理与恢复"
|
||||
if [ $INSTALLED_FLAG -eq 0 ]; then
|
||||
LOG_INFO "卸载测试安装的perl-Date-ISO8601软件包"
|
||||
dnf remove -y perl-Date-ISO8601
|
||||
CHECK_RESULT $? 0 0 "卸载perl-Date-ISO8601失败"
|
||||
LOG_INFO "perl-Date-ISO8601卸载成功,环境已恢复"
|
||||
else
|
||||
LOG_INFO "测试前已安装perl-Date-ISO8601,保持安装状态,无需卸载"
|
||||
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 : 2026-02-20
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试ISO8601日期格式化
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试ISO8601日期格式化功能"
|
||||
LOG_INFO "步骤1: 检查perl-Date-ISO8601软件包是否已在系统中安装"
|
||||
rpm -q perl-Date-ISO8601 > /dev/null 2>&1
|
||||
package_installed=$?
|
||||
|
||||
if [ $package_installed -eq 0 ]; then
|
||||
LOG_INFO "perl-Date-ISO8601软件包已安装,测试结束后将保持安装状态"
|
||||
need_cleanup=0
|
||||
else
|
||||
LOG_INFO "perl-Date-ISO8601软件包未安装,将在测试前安装,并在测试结束后卸载"
|
||||
need_cleanup=1
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2: 检查yum源中是否存在perl-Date-ISO8601软件包"
|
||||
dnf list available perl-Date-ISO8601 > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "yum源中未找到perl-Date-ISO8601软件包"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到perl-Date-ISO8601软件包,测试终止"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ $package_installed -ne 0 ]; then
|
||||
LOG_INFO "步骤3: 安装perl-Date-ISO8601软件包"
|
||||
dnf install -y perl-Date-ISO8601 > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装perl-Date-ISO8601软件包失败"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "安装perl-Date-ISO8601软件包失败"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "perl-Date-ISO8601软件包安装成功"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4: 验证perl命令可以正常使用Date::ISO8601模块"
|
||||
perl -MDate::ISO8601 -e "print "Module loaded\n"" 2>&1
|
||||
CHECK_RESULT $? 0 0 "无法加载Date::ISO8601 Perl模块"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "Perl模块Date::ISO8601加载失败"
|
||||
if [ $need_cleanup -eq 1 ]; then
|
||||
dnf remove -y perl-Date-ISO8601 > /dev/null 2>&1
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤5: 测试ISO8601日期格式化基本功能"
|
||||
expected_date="2023-11-22"
|
||||
formatted_date=$(perl -MDate::ISO8601 -e "my $date = Date::ISO8601->new(year=>2023, month=>11, day=>22); print $date->date, "\n"" 2>&1)
|
||||
CHECK_RESULT $? 0 0 "执行Perl日期格式化命令失败"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "执行Perl日期格式化命令失败"
|
||||
if [ $need_cleanup -eq 1 ]; then
|
||||
dnf remove -y perl-Date-ISO8601 > /dev/null 2>&1
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$formatted_date" = "$expected_date" ]; then
|
||||
LOG_INFO "日期格式化成功,输出符合预期: $formatted_date"
|
||||
else
|
||||
LOG_ERROR "日期格式化失败,预期: $expected_date, 实际: $formatted_date"
|
||||
if [ $need_cleanup -eq 1 ]; then
|
||||
dnf remove -y perl-Date-ISO8601 > /dev/null 2>&1
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤6: 测试不支持的参数或功能(模拟错误场景)"
|
||||
perl -MDate::ISO8601 -e "my $date = Date::ISO8601->new(year=>2023, month=>13, day=>22); print $date->date, "\n"" 2>&1 > /dev/null
|
||||
if [ $? -eq 255 ]; then
|
||||
LOG_INFO "检测到不支持的参数,退出码为255,符合预期"
|
||||
else
|
||||
LOG_ERROR "不支持的参数未按预期处理"
|
||||
if [ $need_cleanup -eq 1 ]; then
|
||||
dnf remove -y perl-Date-ISO8601 > /dev/null 2>&1
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤7: 清理测试环境"
|
||||
if [ $need_cleanup -eq 1 ]; then
|
||||
LOG_INFO "卸载测试安装的perl-Date-ISO8601软件包"
|
||||
dnf remove -y perl-Date-ISO8601 > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载perl-Date-ISO8601软件包失败"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "卸载perl-Date-ISO8601软件包失败"
|
||||
exit 1
|
||||
fi
|
||||
LOG_INFO "perl-Date-ISO8601软件包卸载成功,环境已恢复"
|
||||
else
|
||||
LOG_INFO "perl-Date-ISO8601软件包为预安装,保持安装状态,环境未改变"
|
||||
fi
|
||||
|
||||
LOG_INFO "ISO8601日期格式化功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,71 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-20
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包安装是否成功
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试:测试软件包安装是否成功"
|
||||
|
||||
LOG_INFO "步骤1:检查yum源中是否存在perl-Date-ISO8601-help软件包"
|
||||
if ! dnf list available perl-Date-ISO8601-help 2>/dev/null | grep -q perl-Date-ISO8601-help; then
|
||||
LOG_ERROR "yum源中未找到perl-Date-ISO8601-help软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum源中存在perl-Date-ISO8601-help软件包"
|
||||
|
||||
LOG_INFO "步骤2:检查系统是否已安装perl-Date-ISO8601-help"
|
||||
if rpm -q perl-Date-ISO8601-help >/dev/null 2>&1; then
|
||||
LOG_INFO "系统已安装perl-Date-ISO8601-help,脚本结束后将保持安装状态"
|
||||
already_installed=true
|
||||
else
|
||||
LOG_INFO "系统未安装perl-Date-ISO8601-help,将进行安装"
|
||||
already_installed=false
|
||||
fi
|
||||
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "步骤3:安装perl-Date-ISO8601-help软件包"
|
||||
dnf install -y perl-Date-ISO8601-help
|
||||
CHECK_RESULT $? 0 0 "安装perl-Date-ISO8601-help失败"
|
||||
LOG_INFO "安装perl-Date-ISO8601-help成功"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:验证perl-Date-ISO8601-help命令基本功能"
|
||||
if ! command -v perl-Date-ISO8601-help >/dev/null 2>&1; then
|
||||
LOG_ERROR "未找到perl-Date-ISO8601-help命令"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤5:执行perl-Date-ISO8601-help命令测试"
|
||||
perl-Date-ISO8601-help --help
|
||||
CHECK_RESULT $? 0 0 "执行perl-Date-ISO8601-help --help失败"
|
||||
LOG_INFO "perl-Date-ISO8601-help命令测试成功"
|
||||
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "步骤6:清理环境,卸载安装的软件包"
|
||||
dnf remove -y perl-Date-ISO8601-help
|
||||
CHECK_RESULT $? 0 0 "卸载perl-Date-ISO8601-help失败"
|
||||
LOG_INFO "卸载perl-Date-ISO8601-help成功"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:软件包安装测试成功"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,129 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-20
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试ISO8601日期解析
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装perl-Date-ISO8601软件包
|
||||
LOG_INFO "检查perl-Date-ISO8601软件包是否已安装"
|
||||
rpm -q perl-Date-ISO8601
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "软件包已安装,标记为需要保持安装状态"
|
||||
KEEP_INSTALLED=true
|
||||
else
|
||||
LOG_INFO "软件包未安装,标记为需要测试后卸载"
|
||||
KEEP_INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有perl-Date-ISO8601软件包
|
||||
LOG_INFO "检查yum源中是否有perl-Date-ISO8601软件包"
|
||||
dnf list available perl-Date-ISO8601
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到perl-Date-ISO8601软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$KEEP_INSTALLED" = "false" ]; then
|
||||
LOG_INFO "安装perl-Date-ISO8601软件包"
|
||||
dnf install -y perl-Date-ISO8601
|
||||
CHECK_RESULT $? 0 0 "安装perl-Date-ISO8601软件包失败"
|
||||
fi
|
||||
|
||||
# 测试ISO8601日期解析功能
|
||||
LOG_INFO "测试ISO8601日期解析功能"
|
||||
|
||||
# 创建测试Perl脚本
|
||||
LOG_INFO "创建测试Perl脚本"
|
||||
cat > test_iso8601.pl << "EOF"
|
||||
use Date::ISO8601;
|
||||
my $date_str = "2023-10-01T12:30:45Z";
|
||||
my $date = parse_date($date_str);
|
||||
print "解析日期: $date_str\n";
|
||||
print "结果: " . $date->datetime . "\n";
|
||||
EOF
|
||||
|
||||
# 执行测试脚本
|
||||
LOG_INFO "执行Perl测试脚本"
|
||||
perl test_iso8601.pl
|
||||
CHECK_RESULT $? 0 0 "ISO8601日期解析测试失败"
|
||||
|
||||
# 测试无效日期格式
|
||||
LOG_INFO "测试无效日期格式处理"
|
||||
cat > test_invalid.pl << "EOF"
|
||||
use Date::ISO8601;
|
||||
eval {
|
||||
my $date = parse_date("invalid-date");
|
||||
print "解析成功: " . $date->datetime . "\n";
|
||||
};
|
||||
if ($@) {
|
||||
print "捕获到预期错误: $@\n";
|
||||
exit 0;
|
||||
} else {
|
||||
exit 1;
|
||||
}
|
||||
EOF
|
||||
|
||||
perl test_invalid.pl
|
||||
CHECK_RESULT $? 0 0 "无效日期格式处理不符合预期"
|
||||
|
||||
# 测试不同ISO8601格式
|
||||
LOG_INFO "测试不同ISO8601格式解析"
|
||||
cat > test_formats.pl << "EOF"
|
||||
use Date::ISO8601;
|
||||
my @test_cases = (
|
||||
"2023-10-01T12:30:45Z",
|
||||
"2023-10-01T12:30:45+08:00",
|
||||
"20231001T123045Z",
|
||||
);
|
||||
|
||||
foreach my $date_str (@test_cases) {
|
||||
eval {
|
||||
my $date = parse_date($date_str);
|
||||
print "成功解析: $date_str -> " . $date->datetime . "\n";
|
||||
};
|
||||
if ($@) {
|
||||
print "解析失败: $date_str - $@\n";
|
||||
exit 1;
|
||||
}
|
||||
}
|
||||
print "所有格式解析成功\n";
|
||||
exit 0;
|
||||
EOF
|
||||
|
||||
perl test_formats.pl
|
||||
CHECK_RESULT $? 0 0 "部分ISO8601格式解析失败"
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f test_iso8601.pl test_invalid.pl test_formats.pl
|
||||
|
||||
# 如果测试前未安装,则卸载软件包
|
||||
if [ "$KEEP_INSTALLED" = "false" ]; then
|
||||
LOG_INFO "卸载perl-Date-ISO8601软件包"
|
||||
dnf remove -y perl-Date-ISO8601
|
||||
CHECK_RESULT $? 0 0 "卸载perl-Date-ISO8601软件包失败"
|
||||
else
|
||||
LOG_INFO "保持perl-Date-ISO8601软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "ISO8601日期解析测试完成"
|
||||
}
|
||||
|
||||
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-12-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试python3-terminado的启动功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
LOG_INFO "开始测试python3-terminado的启动功能"
|
||||
|
||||
# 检查是否已安装python3-terminado
|
||||
if dnf list installed python3-terminado &>/dev/null; then
|
||||
LOG_INFO "python3-terminado已安装,测试后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "python3-terminado未安装,将在测试后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有python3-terminado
|
||||
LOG_INFO "检查yum源中是否有python3-terminado"
|
||||
if ! dnf list available python3-terminado &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到python3-terminado"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装python3-terminado(如果未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在安装python3-terminado"
|
||||
dnf install -y python3-terminado
|
||||
CHECK_RESULT $? 0 0 "安装python3-terminado失败"
|
||||
fi
|
||||
|
||||
# 测试启动功能
|
||||
LOG_INFO "测试python3-terminado的启动功能"
|
||||
python3 -m terminado --help &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "启动python3-terminado失败"
|
||||
|
||||
# 清理环境(如果之前未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在卸载python3-terminado"
|
||||
dnf remove -y python3-terminado
|
||||
CHECK_RESULT $? 0 0 "卸载python3-terminado失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,59 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-04-01
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test existence of package documentation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:检查包文档是否存在"
|
||||
LOG_INFO "步骤1: 检查texlive-belleek软件包是否在yum源中"
|
||||
dnf list available texlive-belleek > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "texlive-belleek软件包不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2: 检查系统是否已安装texlive-belleek"
|
||||
rpm -q texlive-belleek > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-belleek已安装,测试完成后保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-belleek未安装,开始安装"
|
||||
dnf install -y texlive-belleek > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装texlive-belleek失败"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤3: 检查texlive-belleek的文档文件是否存在"
|
||||
rpm -ql texlive-belleek | grep -E "\.pdf$|\.html$|\.txt$" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "texlive-belleek文档文件不存在"
|
||||
|
||||
LOG_INFO "步骤4: 清理环境"
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "卸载texlive-belleek"
|
||||
dnf remove -y texlive-belleek > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-belleek失败"
|
||||
else
|
||||
LOG_INFO "保持texlive-belleek安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
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 : 2025-11-25
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test font rendering functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装texlive-belleek-function-font软件包
|
||||
LOG_INFO "检查texlive-belleek-function-font是否已安装"
|
||||
if dnf list installed texlive-belleek-function-font &>/dev/null; then
|
||||
LOG_INFO "texlive-belleek-function-font已安装"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-belleek-function-font未安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在texlive-belleek-function-font软件包
|
||||
LOG_INFO "检查yum源中是否存在texlive-belleek-function-font"
|
||||
if ! dnf list available texlive-belleek-function-font &>/dev/null; then
|
||||
LOG_ERROR "yum源中不存在texlive-belleek-function-font软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装texlive-belleek-function-font"
|
||||
dnf install -y texlive-belleek-function-font
|
||||
CHECK_RESULT $? 0 0 "安装texlive-belleek-function-font失败"
|
||||
fi
|
||||
|
||||
# 测试字体渲染功能
|
||||
LOG_INFO "测试字体渲染功能"
|
||||
if ! command -v pdflatex &>/dev/null; then
|
||||
LOG_ERROR "pdflatex命令不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 创建测试文件
|
||||
LOG_INFO "创建测试文件test_font.tex"
|
||||
cat > test_font.tex <<EOF
|
||||
\documentclass{article}
|
||||
\usepackage{belleek}
|
||||
\begin{document}
|
||||
Test font rendering: \belleekfont{Hello, World!}
|
||||
\end{document}
|
||||
EOF
|
||||
|
||||
# 生成PDF文件并检查结果
|
||||
LOG_INFO "生成PDF文件"
|
||||
pdflatex test_font.tex
|
||||
CHECK_RESULT $? 0 0 "生成PDF文件失败"
|
||||
|
||||
# 清理生成的临时文件
|
||||
LOG_INFO "清理临时文件"
|
||||
rm -f test_font.aux test_font.log test_font.pdf test_font.tex
|
||||
|
||||
# 如果脚本开始时未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载texlive-belleek-function-font"
|
||||
dnf remove -y texlive-belleek-function-font
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-belleek-function-font失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,70 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-04-01
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test listing available Belleek font files
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:列出可用的Belleek字体文件"
|
||||
|
||||
LOG_INFO "步骤1:检查texlive-belleek软件包是否在yum源中"
|
||||
if ! dnf list available texlive-belleek &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-belleek软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查系统是否已安装texlive-belleek"
|
||||
if rpm -q texlive-belleek &>/dev/null; then
|
||||
LOG_INFO "texlive-belleek已安装,测试后保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-belleek未安装,将进行安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤3:安装texlive-belleek软件包"
|
||||
dnf install -y texlive-belleek
|
||||
CHECK_RESULT $? 0 0 "安装texlive-belleek失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:检查texlive-belleek是否包含list-fonts命令"
|
||||
if ! kpsewhich --help | grep -q "list-fonts"; then
|
||||
LOG_ERROR "texlive-belleek不支持list-fonts参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤5:执行列出Belleek字体文件命令"
|
||||
kpsewhich --list-fonts belleek
|
||||
CHECK_RESULT $? 0 0 "列出Belleek字体文件失败"
|
||||
|
||||
LOG_INFO "步骤6:验证输出结果包含Belleek字体"
|
||||
kpsewhich --list-fonts belleek | grep -i belleek
|
||||
CHECK_RESULT $? 0 0 "输出结果中未找到Belleek字体"
|
||||
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤7:卸载texlive-belleek软件包"
|
||||
dnf remove -y texlive-belleek
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-belleek失败"
|
||||
LOG_INFO "环境已恢复到测试前状态"
|
||||
else
|
||||
LOG_INFO "测试完成,保持texlive-belleek安装状态"
|
||||
fi
|
||||
}
|
||||
|
||||
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-01
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test using Belleek font in a LaTeX document
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试:在LaTeX文档中使用Belleek字体"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="texlive-belleek"
|
||||
|
||||
# 步骤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 "安装${PACKAGE_NAME}失败"
|
||||
fi
|
||||
|
||||
# 步骤4:验证关键命令是否存在
|
||||
LOG_INFO "步骤4:验证LaTeX相关命令是否存在"
|
||||
if ! command -v pdflatex &>/dev/null; then
|
||||
LOG_ERROR "未找到pdflatex命令,可能LaTeX环境不完整"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤5:创建测试LaTeX文档
|
||||
LOG_INFO "步骤5:创建使用Belleek字体的测试LaTeX文档"
|
||||
TEST_TEX_FILE="test_belleek.tex"
|
||||
cat > ${TEST_TEX_FILE} << "EOF"
|
||||
\documentclass{article}
|
||||
\usepackage{belleek}
|
||||
\begin{document}
|
||||
\fontfamily{belleek}\selectfont
|
||||
This is a test document using Belleek font.
|
||||
|
||||
Normal font: This is normal text.
|
||||
\end{document}
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "创建测试LaTeX文档失败"
|
||||
|
||||
# 步骤6:编译LaTeX文档
|
||||
LOG_INFO "步骤6:编译LaTeX文档以使用Belleek字体"
|
||||
pdflatex -interaction=nonstopmode ${TEST_TEX_FILE} &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "编译LaTeX文档失败"
|
||||
|
||||
# 步骤7:验证生成的PDF文件
|
||||
LOG_INFO "步骤7:验证生成的PDF文件"
|
||||
if [ -f "test_belleek.pdf" ]; then
|
||||
LOG_INFO "成功生成PDF文件:test_belleek.pdf"
|
||||
else
|
||||
LOG_ERROR "未生成PDF文件"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 步骤8:清理测试文件
|
||||
LOG_INFO "步骤8:清理测试生成的文件"
|
||||
rm -f test_belleek.aux test_belleek.log test_belleek.pdf test_belleek.tex
|
||||
CHECK_RESULT $? 0 0 "清理测试文件失败"
|
||||
|
||||
# 步骤9:如果测试前未安装,则卸载软件包
|
||||
if [ "${INSTALLED_BEFORE_TEST}" = "false" ]; then
|
||||
LOG_INFO "步骤9:卸载${PACKAGE_NAME}软件包"
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}失败"
|
||||
else
|
||||
LOG_INFO "步骤9:测试前已安装${PACKAGE_NAME},保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:在LaTeX文档中使用Belleek字体功能正常"
|
||||
}
|
||||
|
||||
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-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic functionality of texlive-carlisle
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装texlive-carlisle
|
||||
LOG_INFO "检查是否已安装texlive-carlisle"
|
||||
rpm -q texlive-carlisle > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-carlisle已安装,保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "texlive-carlisle未安装,将在测试结束后卸载"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-carlisle软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-carlisle软件包"
|
||||
dnf list available texlive-carlisle > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-carlisle软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装texlive-carlisle
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装texlive-carlisle"
|
||||
dnf install -y texlive-carlisle
|
||||
CHECK_RESULT $? 0 0 "安装texlive-carlisle失败"
|
||||
fi
|
||||
|
||||
# 测试texlive-carlisle基本功能
|
||||
LOG_INFO "测试texlive-carlisle基本功能"
|
||||
texlive-carlisle --version
|
||||
CHECK_RESULT $? 0 0 "texlive-carlisle基本功能测试失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载texlive-carlisle"
|
||||
dnf remove -y texlive-carlisle
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-carlisle失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,74 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test if key LaTeX files exist
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查环境是否已安装texlive-carlisle软件包
|
||||
LOG_INFO "检查是否已安装texlive-carlisle软件包"
|
||||
rpm -q texlive-carlisle
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "检测到texlive-carlisle已安装,脚本结束后将保持安装状态"
|
||||
ENV_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "未检测到texlive-carlisle安装,将在测试后卸载"
|
||||
ENV_INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在texlive-carlisle软件包
|
||||
LOG_INFO "检查yum源中是否存在texlive-carlisle软件包"
|
||||
dnf list available texlive-carlisle
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-carlisle软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $ENV_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装texlive-carlisle软件包"
|
||||
dnf install -y texlive-carlisle
|
||||
CHECK_RESULT $? 0 0 "安装texlive-carlisle失败"
|
||||
fi
|
||||
|
||||
# 测试关键LaTeX文件是否存在
|
||||
LOG_INFO "测试关键LaTeX文件是否存在"
|
||||
rpm -ql texlive-carlisle | grep -E "\.sty$|\.tex$|\.cls$" | head -5
|
||||
CHECK_RESULT $? 0 0 "未找到LaTeX关键文件"
|
||||
|
||||
# 检查特定文件是否存在
|
||||
LOG_INFO "检查特定LaTeX文件是否存在"
|
||||
if rpm -ql texlive-carlisle | grep -q "carlisle.sty"; then
|
||||
LOG_INFO "找到carlisle.sty文件"
|
||||
else
|
||||
LOG_ERROR "未找到carlisle.sty文件"
|
||||
CHECK_RESULT 1 0 0 "关键文件缺失"
|
||||
fi
|
||||
|
||||
# 如果测试前未安装,则卸载软件包
|
||||
if [ $ENV_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载texlive-carlisle软件包"
|
||||
dnf remove -y texlive-carlisle
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-carlisle失败"
|
||||
LOG_INFO "环境已恢复到测试前状态"
|
||||
else
|
||||
LOG_INFO "保持texlive-carlisle安装状态"
|
||||
fi
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,79 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic usage in a LaTeX document
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:在LaTeX文档中测试基本用法"
|
||||
LOG_INFO "步骤1:检查是否已安装texlive-carlisle软件包"
|
||||
if rpm -q texlive-carlisle &>/dev/null; then
|
||||
LOG_INFO "texlive-carlisle已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-carlisle未安装,测试结束后将卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查yum源中是否有texlive-carlisle软件包"
|
||||
if ! dnf list available texlive-carlisle &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-carlisle软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤3:安装texlive-carlisle软件包"
|
||||
dnf install -y texlive-carlisle
|
||||
CHECK_RESULT $? 0 0 "安装texlive-carlisle失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:创建一个简单的LaTeX测试文档"
|
||||
cat > test_carlisle.tex << "EOF"
|
||||
\documentclass{article}
|
||||
\usepackage{carlisle}
|
||||
\begin{document}
|
||||
Test document for carlisle package.
|
||||
\end{document}
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "创建LaTeX测试文档失败"
|
||||
|
||||
LOG_INFO "步骤5:使用pdflatex编译测试文档"
|
||||
pdflatex -interaction=nonstopmode test_carlisle.tex
|
||||
CHECK_RESULT $? 0 0 "编译LaTeX文档失败"
|
||||
|
||||
LOG_INFO "步骤6:检查生成的PDF文件"
|
||||
if [ -f test_carlisle.pdf ]; then
|
||||
LOG_INFO "PDF文件生成成功"
|
||||
else
|
||||
LOG_ERROR "PDF文件生成失败"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤7:清理测试文件"
|
||||
rm -f test_carlisle.tex test_carlisle.aux test_carlisle.log test_carlisle.pdf
|
||||
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤8:卸载texlive-carlisle软件包"
|
||||
dnf remove -y texlive-carlisle
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-carlisle失败"
|
||||
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-09-25
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package installation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装texlive-emisa软件包
|
||||
LOG_INFO "检查texlive-emisa是否已安装"
|
||||
rpm -q texlive-emisa > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-emisa已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "texlive-emisa未安装,将在测试结束后卸载"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-emisa软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-emisa软件包"
|
||||
dnf list available texlive-emisa > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中不存在texlive-emisa软件包"
|
||||
|
||||
# 安装texlive-emisa软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "开始安装texlive-emisa软件包"
|
||||
dnf install -y texlive-emisa > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "安装texlive-emisa失败"
|
||||
fi
|
||||
|
||||
# 验证texlive-emisa功能是否正常
|
||||
LOG_INFO "验证texlive-emisa功能是否正常"
|
||||
tex --version > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "tex命令执行失败"
|
||||
|
||||
# 清理环境
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载texlive-emisa软件包"
|
||||
dnf remove -y texlive-emisa > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "卸载texlive-emisa失败"
|
||||
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 : Verify basic documentation rendering
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:验证基本文档渲染功能"
|
||||
|
||||
# 检查是否已安装texlive-guitarchordschemes-doc
|
||||
LOG_INFO "检查texlive-guitarchordschemes-doc是否已安装"
|
||||
if dnf list installed texlive-guitarchordschemes-doc &>/dev/null; then
|
||||
LOG_INFO "texlive-guitarchordschemes-doc已安装,脚本结束后保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-guitarchordschemes-doc未安装,将在测试后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-guitarchordschemes-doc
|
||||
LOG_INFO "检查yum源中是否有texlive-guitarchordschemes-doc"
|
||||
if ! dnf list available texlive-guitarchordschemes-doc &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-guitarchordschemes-doc"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装texlive-guitarchordschemes-doc(如果未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装texlive-guitarchordschemes-doc"
|
||||
dnf install -y texlive-guitarchordschemes-doc
|
||||
CHECK_RESULT $? 0 0 "安装texlive-guitarchordschemes-doc失败"
|
||||
fi
|
||||
|
||||
# 验证文档渲染功能
|
||||
LOG_INFO "验证文档渲染功能"
|
||||
command_to_test="some_documentation_command" # 替换为实际的文档渲染命令
|
||||
if ! command -v "$command_to_test" &>/dev/null; then
|
||||
LOG_ERROR "命令 $command_to_test 不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
$command_to_test
|
||||
CHECK_RESULT $? 0 0 "文档渲染失败"
|
||||
|
||||
# 清理环境(如果之前未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载texlive-guitarchordschemes-doc"
|
||||
dnf remove -y texlive-guitarchordschemes-doc
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-guitarchordschemes-doc失败"
|
||||
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-11-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic functionality of texlive-index
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已经安装texlive-index
|
||||
LOG_INFO "检查是否已安装texlive-index"
|
||||
dnf list installed texlive-index > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-index已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-index未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-index软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-index软件包"
|
||||
dnf list available texlive-index > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-index软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装texlive-index软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装texlive-index软件包"
|
||||
dnf install -y texlive-index
|
||||
CHECK_RESULT $? 0 0 "安装texlive-index失败"
|
||||
fi
|
||||
|
||||
# 测试基本功能
|
||||
LOG_INFO "测试texlive-index的基本功能"
|
||||
texlive-index --version > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "texlive-index版本命令执行失败"
|
||||
|
||||
# 测试不支持参数的情况
|
||||
LOG_INFO "测试不支持参数的情况"
|
||||
texlive-index --invalid-arg > /dev/null 2>&1
|
||||
if [ $? -ne 255 ]; then
|
||||
LOG_ERROR "不支持参数测试失败"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载texlive-index软件包"
|
||||
dnf remove -y texlive-index > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-index失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,70 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-23
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test installation of texlive-index package
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test installation of texlive-index package"
|
||||
|
||||
# 检查软件包是否已在yum源中
|
||||
LOG_INFO "检查texlive-index软件包是否在yum源中"
|
||||
dnf list available texlive-index 2>/dev/null | grep -q texlive-index
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "texlive-index软件包不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装
|
||||
LOG_INFO "检查texlive-index软件包是否已安装"
|
||||
rpm -q texlive-index >/dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-index软件包已安装,测试后将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "texlive-index软件包未安装,将进行安装测试"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装texlive-index软件包"
|
||||
dnf install -y texlive-index
|
||||
CHECK_RESULT $? 0 0 "安装texlive-index软件包失败"
|
||||
fi
|
||||
|
||||
# 测试软件包功能
|
||||
LOG_INFO "测试texlive-index软件包功能"
|
||||
# 此处添加具体的功能测试命令,例如:
|
||||
# texindex --version
|
||||
# CHECK_RESULT $? 0 0 "texindex命令执行失败"
|
||||
# 由于没有具体的功能测试描述,这里使用一个示例命令,实际应根据软件包功能调整
|
||||
which texindex >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "texindex命令不存在"
|
||||
|
||||
# 如果测试前未安装,则卸载
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载texlive-index软件包"
|
||||
dnf remove -y texlive-index
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-index软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test installation of texlive-index package"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,72 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-23
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test uninstallation of texlive-index package
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
PACKAGE_NAME="texlive-index"
|
||||
LOG_INFO "开始测试卸载texlive-index软件包功能"
|
||||
LOG_INFO "步骤1:检查yum源中是否存在${PACKAGE_NAME}软件包"
|
||||
if ! dnf list available ${PACKAGE_NAME} &>/dev/null; then
|
||||
LOG_ERROR "yum源中不存在${PACKAGE_NAME}软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum源中存在${PACKAGE_NAME}软件包"
|
||||
LOG_INFO "步骤2:检查当前环境是否已安装${PACKAGE_NAME}软件包"
|
||||
if rpm -q ${PACKAGE_NAME} &>/dev/null; then
|
||||
LOG_INFO "当前环境已安装${PACKAGE_NAME}软件包,测试结束将保持安装状态"
|
||||
INSTALLED_BEFORE_TEST=1
|
||||
else
|
||||
LOG_INFO "当前环境未安装${PACKAGE_NAME}软件包,将进行安装作为测试步骤"
|
||||
INSTALLED_BEFORE_TEST=0
|
||||
fi
|
||||
if [ ${INSTALLED_BEFORE_TEST} -eq 0 ]; then
|
||||
LOG_INFO "步骤3:安装${PACKAGE_NAME}软件包"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}软件包失败"
|
||||
LOG_INFO "成功安装${PACKAGE_NAME}软件包"
|
||||
fi
|
||||
LOG_INFO "步骤4:验证${PACKAGE_NAME}软件包是否安装成功"
|
||||
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 "成功卸载${PACKAGE_NAME}软件包"
|
||||
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
|
||||
if [ ${INSTALLED_BEFORE_TEST} -eq 0 ]; then
|
||||
LOG_INFO "步骤7:清理测试环境,恢复到测试前状态"
|
||||
LOG_INFO "测试前环境未安装${PACKAGE_NAME},无需重新安装"
|
||||
else
|
||||
LOG_INFO "步骤7:清理测试环境,恢复到测试前状态"
|
||||
LOG_INFO "测试前环境已安装${PACKAGE_NAME},重新安装该软件包"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "重新安装${PACKAGE_NAME}软件包失败"
|
||||
LOG_INFO "成功恢复${PACKAGE_NAME}软件包安装状态"
|
||||
fi
|
||||
LOG_INFO "测试完成:texlive-index软件包卸载功能测试通过"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,86 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-23
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic usage of makeindex command
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装texlive-index
|
||||
LOG_INFO "检查是否已安装texlive-index"
|
||||
if dnf list installed texlive-index &> /dev/null; then
|
||||
LOG_INFO "texlive-index已安装,测试结束后保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-index未安装,测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-index软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-index软件包"
|
||||
if ! dnf list available texlive-index &> /dev/null; then
|
||||
LOG_ERROR "yum源中没有texlive-index软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装texlive-index
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装texlive-index"
|
||||
dnf install -y texlive-index
|
||||
CHECK_RESULT $? 0 0 "安装texlive-index失败"
|
||||
fi
|
||||
|
||||
# 测试makeindex命令的基本用法
|
||||
LOG_INFO "测试makeindex命令的基本用法"
|
||||
makeindex --help
|
||||
CHECK_RESULT $? 0 0 "makeindex命令执行失败"
|
||||
|
||||
# 测试makeindex命令的参数
|
||||
LOG_INFO "测试makeindex命令的参数"
|
||||
makeindex -v
|
||||
CHECK_RESULT $? 0 0 "makeindex -v参数不支持"
|
||||
|
||||
# 测试makeindex命令处理简单索引文件
|
||||
LOG_INFO "测试makeindex命令处理简单索引文件"
|
||||
cat > test.idx << EOF
|
||||
\indexentry{测试}{1}
|
||||
\indexentry{示例}{2}
|
||||
EOF
|
||||
|
||||
makeindex test.idx
|
||||
CHECK_RESULT $? 0 0 "makeindex处理索引文件失败"
|
||||
|
||||
# 检查生成的.ind文件
|
||||
LOG_INFO "检查生成的.ind文件"
|
||||
[ -f test.ind ] && LOG_INFO "成功生成test.ind文件" || LOG_ERROR "未生成test.ind文件"
|
||||
CHECK_RESULT $? 0 0 "未生成预期的.ind文件"
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f test.idx test.ind test.ilg test.log
|
||||
|
||||
# 如果测试前未安装,则卸载texlive-index
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载texlive-index"
|
||||
dnf remove -y texlive-index
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-index失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,91 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-23
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Verify texlive-index is installed and available
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义日志函数
|
||||
LOG_INFO() {
|
||||
echo "[INFO] $*"
|
||||
}
|
||||
|
||||
LOG_ERROR() {
|
||||
echo "[ERROR] $*"
|
||||
}
|
||||
|
||||
# 定义常量
|
||||
PACKAGE_NAME="texlive-index"
|
||||
|
||||
# 步骤1: 检查软件包是否在yum源中
|
||||
LOG_INFO "步骤1: 检查软件包是否在yum源中"
|
||||
dnf list available "${PACKAGE_NAME}" &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 ${PACKAGE_NAME} 不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤2: 检查系统是否已安装该软件包
|
||||
LOG_INFO "步骤2: 检查系统是否已安装该软件包"
|
||||
if rpm -q "${PACKAGE_NAME}" &>/dev/null; then
|
||||
LOG_INFO "软件包 ${PACKAGE_NAME} 已安装,标记为已安装状态"
|
||||
ALREADY_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "软件包 ${PACKAGE_NAME} 未安装"
|
||||
ALREADY_INSTALLED=0
|
||||
fi
|
||||
|
||||
# 步骤3: 如果未安装,则安装软件包
|
||||
if [ ${ALREADY_INSTALLED} -eq 0 ]; then
|
||||
LOG_INFO "步骤3: 安装软件包 ${PACKAGE_NAME}"
|
||||
dnf install -y "${PACKAGE_NAME}"
|
||||
CHECK_RESULT $? 0 0 "安装软件包 ${PACKAGE_NAME} 失败"
|
||||
fi
|
||||
|
||||
# 步骤4: 验证软件包安装成功
|
||||
LOG_INFO "步骤4: 验证软件包安装成功"
|
||||
rpm -q "${PACKAGE_NAME}"
|
||||
CHECK_RESULT $? 0 0 "软件包 ${PACKAGE_NAME} 未正确安装"
|
||||
|
||||
# 步骤5: 验证texlive-index命令是否可用
|
||||
LOG_INFO "步骤5: 验证texlive-index命令是否可用"
|
||||
if command -v texlive-index &>/dev/null; then
|
||||
LOG_INFO "texlive-index 命令可用"
|
||||
else
|
||||
LOG_ERROR "texlive-index 命令不可用"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤6: 测试texlive-index命令的基本功能
|
||||
LOG_INFO "步骤6: 测试texlive-index命令的基本功能"
|
||||
texlive-index --help &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "texlive-index 命令参数 --help 不支持或执行失败"
|
||||
|
||||
# 步骤7: 清理环境(如果之前未安装,则卸载软件包)
|
||||
if [ ${ALREADY_INSTALLED} -eq 0 ]; then
|
||||
LOG_INFO "步骤7: 卸载软件包 ${PACKAGE_NAME}"
|
||||
dnf remove -y "${PACKAGE_NAME}"
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 ${PACKAGE_NAME} 失败"
|
||||
else
|
||||
LOG_INFO "步骤7: 软件包 ${PACKAGE_NAME} 之前已安装,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Verify texlive-index is installed and available"
|
||||
}
|
||||
|
||||
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 : Verify the documentation files are correctly installed
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:验证文档文件是否正确安装"
|
||||
|
||||
# 检查是否已安装texlive-luaindex-doc
|
||||
LOG_INFO "检查texlive-luaindex-doc是否已安装"
|
||||
if dnf list installed texlive-luaindex-doc &>/dev/null; then
|
||||
LOG_INFO "texlive-luaindex-doc已安装,测试结束后保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-luaindex-doc未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-luaindex-doc
|
||||
LOG_INFO "检查yum源中是否存在texlive-luaindex-doc"
|
||||
if ! dnf list available texlive-luaindex-doc &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-luaindex-doc"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装texlive-luaindex-doc(如果未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在安装texlive-luaindex-doc"
|
||||
dnf install -y texlive-luaindex-doc
|
||||
CHECK_RESULT $? 0 0 "安装texlive-luaindex-doc失败"
|
||||
fi
|
||||
|
||||
# 验证文档文件是否正确安装
|
||||
LOG_INFO "验证文档文件是否正确安装"
|
||||
if [ -d "/usr/share/doc/texlive-luaindex" ]; then
|
||||
LOG_INFO "文档文件已正确安装到/usr/share/doc/texlive-luaindex"
|
||||
else
|
||||
LOG_ERROR "文档文件未正确安装"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理环境(如果最初未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在卸载texlive-luaindex-doc"
|
||||
dnf remove -y texlive-luaindex-doc
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-luaindex-doc失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:验证文档文件是否正确安装"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,82 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-09
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic UML diagram generation with MetaUML
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:基本UML图生成与MetaUML"
|
||||
LOG_INFO "步骤1:检查环境中是否已安装texlive-metauml软件包"
|
||||
rpm -q texlive-metauml
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-metauml已安装,将保持安装状态"
|
||||
INSTALLED="true"
|
||||
else
|
||||
LOG_INFO "texlive-metauml未安装,将在测试中安装"
|
||||
INSTALLED="false"
|
||||
fi
|
||||
LOG_INFO "步骤2:检查yum源中是否存在texlive-metauml软件包"
|
||||
dnf list available texlive-metauml 2>&1 | grep -q "texlive-metauml"
|
||||
CHECK_RESULT $? 0 0 "yum源中未找到texlive-metauml软件包"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在texlive-metauml软件包"
|
||||
exit 255
|
||||
fi
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "步骤3:安装texlive-metauml软件包"
|
||||
dnf install -y texlive-metauml
|
||||
CHECK_RESULT $? 0 0 "安装texlive-metauml失败"
|
||||
fi
|
||||
LOG_INFO "步骤4:创建测试UML图源文件"
|
||||
cat > test_uml.tex << "EOF"
|
||||
\documentclass{article}
|
||||
\usepackage{metauml}
|
||||
\begin{document}
|
||||
\begin{metapost}
|
||||
Class.A("ClassA")
|
||||
Class.B("ClassB")
|
||||
A.n = B.s
|
||||
drawObject(A)
|
||||
drawObject(B)
|
||||
link(association)(A.n -- B.s)
|
||||
\end{metapost}
|
||||
\end{document}
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "创建测试UML图源文件失败"
|
||||
LOG_INFO "步骤5:使用pdflatex编译UML图源文件"
|
||||
pdflatex -interaction=nonstopmode test_uml.tex
|
||||
CHECK_RESULT $? 0 0 "pdflatex编译失败"
|
||||
LOG_INFO "步骤6:检查生成的PDF文件"
|
||||
if [ -f test_uml.pdf ]; then
|
||||
LOG_INFO "成功生成UML图PDF文件"
|
||||
else
|
||||
LOG_ERROR "未生成UML图PDF文件"
|
||||
exit 1
|
||||
fi
|
||||
LOG_INFO "步骤7:清理生成的临时文件"
|
||||
rm -f test_uml.aux test_uml.log test_uml.pdf test_uml.tex
|
||||
CHECK_RESULT $? 0 0 "清理临时文件失败"
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "步骤8:卸载texlive-metauml软件包"
|
||||
dnf remove -y texlive-metauml
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-metauml失败"
|
||||
fi
|
||||
LOG_INFO "测试完成:基本UML图生成与MetaUML"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,71 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-09
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test if texlive-metauml is installed on the system
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:检查系统是否安装了 texlive-metauml"
|
||||
LOG_INFO "步骤1:检查 yum 源中是否存在 texlive-metauml 软件包"
|
||||
dnf list available texlive-metauml &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "yum 源中未找到 texlive-metauml 软件包"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum 源中不存在 texlive-metauml 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查系统当前是否已安装 texlive-metauml"
|
||||
if rpm -q texlive-metauml &> /dev/null; then
|
||||
LOG_INFO "系统已安装 texlive-metauml,测试完成后将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "系统未安装 texlive-metauml,将进行安装测试"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤3:安装 texlive-metauml 软件包"
|
||||
dnf install -y texlive-metauml
|
||||
CHECK_RESULT $? 0 0 "安装 texlive-metauml 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:验证 texlive-metauml 是否安装成功"
|
||||
rpm -q texlive-metauml &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "texlive-metauml 未正确安装"
|
||||
|
||||
LOG_INFO "步骤5:验证 texlive-metauml 相关命令是否可用"
|
||||
if command -v pdflatex &> /dev/null; then
|
||||
LOG_INFO "pdflatex 命令可用"
|
||||
else
|
||||
LOG_ERROR "pdflatex 命令不可用"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤6:清理环境,恢复到测试前状态"
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载 texlive-metauml 软件包"
|
||||
dnf remove -y texlive-metauml
|
||||
CHECK_RESULT $? 0 0 "卸载 texlive-metauml 失败"
|
||||
else
|
||||
LOG_INFO "测试前已安装 texlive-metauml,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:texlive-metauml 安装检查通过"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,88 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-09
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test UML class diagram generation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test UML class diagram generation"
|
||||
LOG_INFO "步骤1:检查texlive-metauml软件包是否在yum源中"
|
||||
dnf list available texlive-metauml &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-metauml软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查当前是否已安装texlive-metauml"
|
||||
dnf list installed texlive-metauml &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-metauml已安装,标记为保持安装状态"
|
||||
INSTALLED_BEFORE="true"
|
||||
else
|
||||
LOG_INFO "texlive-metauml未安装,标记为需要卸载"
|
||||
INSTALLED_BEFORE="false"
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED_BEFORE" = "false" ]; then
|
||||
LOG_INFO "步骤3:安装texlive-metauml软件包"
|
||||
dnf install -y texlive-metauml
|
||||
CHECK_RESULT $? 0 0 "安装texlive-metauml失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:测试UML类图生成功能"
|
||||
cat > test_class_diagram.tex << "EOF"
|
||||
\documentclass{article}
|
||||
\usepackage{metauml}
|
||||
\begin{document}
|
||||
\begin{metapost}
|
||||
Class.A("MyClass")
|
||||
("attribute1 : int")
|
||||
("operation1() : void");
|
||||
drawObjects(A);
|
||||
\end{metapost}
|
||||
\end{document}
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "创建测试LaTeX文件失败"
|
||||
|
||||
LOG_INFO "步骤5:使用pdflatex编译测试文件"
|
||||
pdflatex -interaction=nonstopmode test_class_diagram.tex &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "pdflatex编译失败,UML类图生成功能异常"
|
||||
|
||||
LOG_INFO "步骤6:检查生成的PDF文件"
|
||||
if [ -f test_class_diagram.pdf ]; then
|
||||
LOG_INFO "UML类图PDF文件生成成功"
|
||||
else
|
||||
LOG_ERROR "未生成UML类图PDF文件"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤7:清理测试文件"
|
||||
rm -f test_class_diagram.tex test_class_diagram.aux test_class_diagram.log test_class_diagram.pdf
|
||||
|
||||
if [ "$INSTALLED_BEFORE" = "false" ]; then
|
||||
LOG_INFO "步骤8:卸载texlive-metauml软件包"
|
||||
dnf remove -y texlive-metauml
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-metauml失败"
|
||||
else
|
||||
LOG_INFO "步骤8:保持texlive-metauml安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:UML类图生成功能测试通过"
|
||||
}
|
||||
|
||||
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 compiling a LaTeX document using MetaUML
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "检查texlive-metauml软件包是否在yum源中"
|
||||
dnf list available texlive-metauml &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "yum源中不存在texlive-metauml软件包"
|
||||
|
||||
LOG_INFO "检查当前环境是否已安装texlive-metauml"
|
||||
if rpm -q texlive-metauml &> /dev/null; then
|
||||
LOG_INFO "texlive-metauml已安装,脚本结束后将保持安装状态"
|
||||
already_installed=true
|
||||
else
|
||||
LOG_INFO "texlive-metauml未安装,将在测试步骤中安装,并在脚本结束前卸载"
|
||||
already_installed=false
|
||||
fi
|
||||
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "安装texlive-metauml软件包"
|
||||
dnf install -y texlive-metauml
|
||||
CHECK_RESULT $? 0 0 "安装texlive-metauml失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "创建测试LaTeX文档"
|
||||
cat > test_metauml.tex << "EOF"
|
||||
\documentclass{article}
|
||||
\usepackage{metauml}
|
||||
\begin{document}
|
||||
\begin{metapost}
|
||||
Class.A("MyClass")()
|
||||
drawObject(A);
|
||||
\end{metapost}
|
||||
\end{document}
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "创建测试LaTeX文档失败"
|
||||
|
||||
LOG_INFO "使用pdflatex编译LaTeX文档(首次编译)"
|
||||
pdflatex -interaction=nonstopmode test_metauml.tex
|
||||
CHECK_RESULT $? 0 0 "pdflatex首次编译失败"
|
||||
|
||||
LOG_INFO "使用pdflatex编译LaTeX文档(第二次编译)"
|
||||
pdflatex -interaction=nonstopmode test_metauml.tex
|
||||
CHECK_RESULT $? 0 0 "pdflatex第二次编译失败"
|
||||
|
||||
LOG_INFO "检查是否成功生成PDF文件"
|
||||
if [ -f "test_metauml.pdf" ]; then
|
||||
LOG_INFO "成功生成test_metauml.pdf文件"
|
||||
else
|
||||
LOG_ERROR "未生成test_metauml.pdf文件"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_INFO "清理测试生成的中间文件"
|
||||
rm -f test_metauml.aux test_metauml.log test_metauml.mpx test_metauml.pdf test_metauml.tex
|
||||
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "卸载在测试中安装的texlive-metauml软件包"
|
||||
dnf remove -y texlive-metauml
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-metauml失败"
|
||||
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-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test UML diagram generation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装texlive-metauml
|
||||
LOG_INFO "检查是否已安装texlive-metauml"
|
||||
rpm -q texlive-metauml > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-metauml已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-metauml未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-metauml软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-metauml软件包"
|
||||
dnf list available texlive-metauml > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-metauml软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装texlive-metauml
|
||||
LOG_INFO "安装texlive-metauml"
|
||||
dnf install -y texlive-metauml
|
||||
CHECK_RESULT $? 0 0 "安装texlive-metauml失败"
|
||||
|
||||
# 测试UML图生成功能
|
||||
LOG_INFO "测试UML图生成功能"
|
||||
cat > test.tex << EOF
|
||||
\documentclass{article}
|
||||
\usepackage{metauml}
|
||||
\begin{document}
|
||||
\begin{metapost}
|
||||
Class.A("ClassA")
|
||||
\end{metapost}
|
||||
\end{document}
|
||||
EOF
|
||||
pdflatex test.tex > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "生成UML图失败"
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f test.tex test.aux test.log test.pdf
|
||||
|
||||
# 如果初始未安装,则卸载texlive-metauml
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载texlive-metauml"
|
||||
dnf remove -y texlive-metauml
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-metauml失败"
|
||||
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 : 2026-03-09
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test installation of the texlive-metauml package
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test installation of the texlive-metauml package"
|
||||
|
||||
LOG_INFO "步骤1:检查texlive-metauml软件包是否在yum源中"
|
||||
dnf list available texlive-metauml
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "texlive-metauml软件包不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查是否已经安装texlive-metauml"
|
||||
if rpm -q texlive-metauml > /dev/null 2>&1; then
|
||||
LOG_INFO "texlive-metauml已经安装,测试结束后保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-metauml未安装,将执行安装测试"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤3:安装texlive-metauml软件包"
|
||||
dnf install -y texlive-metauml
|
||||
CHECK_RESULT $? 0 0 "安装texlive-metauml失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:验证texlive-metauml安装成功"
|
||||
rpm -q texlive-metauml
|
||||
CHECK_RESULT $? 0 0 "验证texlive-metauml安装失败"
|
||||
|
||||
LOG_INFO "步骤5:测试texlive-metauml功能(示例:检查相关文件是否存在)"
|
||||
if [ -f /usr/share/texlive/texmf-dist/tex/latex/metauml/metauml.sty ]; then
|
||||
LOG_INFO "找到metauml.sty文件,功能正常"
|
||||
else
|
||||
LOG_ERROR "未找到metauml.sty文件,功能异常"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤6:清理环境"
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载texlive-metauml软件包"
|
||||
dnf remove -y texlive-metauml
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-metauml失败"
|
||||
else
|
||||
LOG_INFO "测试开始时已安装,保持安装状态"
|
||||
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 removal of the texlive-metauml package
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试:移除texlive-metauml包"
|
||||
|
||||
LOG_INFO "步骤1:检查当前环境是否已安装texlive-metauml"
|
||||
if dnf list installed texlive-metauml &>/dev/null; then
|
||||
LOG_INFO "当前环境已安装texlive-metauml,脚本结束时将保持安装状态"
|
||||
already_installed=true
|
||||
else
|
||||
LOG_INFO "当前环境未安装texlive-metauml,将在测试过程中安装并最终卸载"
|
||||
already_installed=false
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查yum源中是否存在texlive-metauml包"
|
||||
if ! dnf list available texlive-metauml &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-metauml包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "步骤3:安装texlive-metauml包"
|
||||
dnf install -y texlive-metauml
|
||||
CHECK_RESULT $? 0 0 "安装texlive-metauml失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:验证texlive-metauml包已正确安装"
|
||||
dnf list installed texlive-metauml &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "texlive-metauml包未正确安装"
|
||||
|
||||
LOG_INFO "步骤5:测试卸载texlive-metauml包"
|
||||
dnf remove -y texlive-metauml
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-metauml失败"
|
||||
|
||||
LOG_INFO "步骤6:验证texlive-metauml包已成功卸载"
|
||||
if dnf list installed texlive-metauml &>/dev/null; then
|
||||
LOG_ERROR "卸载后texlive-metauml包仍然存在"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "texlive-metauml包已成功卸载"
|
||||
fi
|
||||
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "步骤7:环境恢复,无需重新安装"
|
||||
else
|
||||
LOG_INFO "步骤7:环境恢复,重新安装texlive-metauml包"
|
||||
dnf install -y texlive-metauml
|
||||
CHECK_RESULT $? 0 0 "重新安装texlive-metauml失败"
|
||||
LOG_INFO "环境已恢复到初始安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:texlive-metauml包的移除功能正常"
|
||||
}
|
||||
|
||||
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-04-06
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test if the texlive-mparhack-doc package is installed
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试 texlive-mparhack-doc 包是否安装"
|
||||
|
||||
# 检查是否已经安装
|
||||
LOG_INFO "步骤1: 检查 texlive-mparhack-doc 包是否已安装"
|
||||
if dnf list installed texlive-mparhack-doc > /dev/null 2>&1; then
|
||||
LOG_INFO "texlive-mparhack-doc 包已安装,测试将验证其状态"
|
||||
already_installed=true
|
||||
else
|
||||
LOG_INFO "texlive-mparhack-doc 包未安装,将进行安装测试"
|
||||
already_installed=false
|
||||
fi
|
||||
|
||||
# 检查软件包是否在源中
|
||||
LOG_INFO "步骤2: 检查 yum 源中是否存在 texlive-mparhack-doc 包"
|
||||
if ! dnf list available texlive-mparhack-doc > /dev/null 2>&1; then
|
||||
LOG_ERROR "yum 源中未找到 texlive-mparhack-doc 包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则进行安装
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "步骤3: 安装 texlive-mparhack-doc 包"
|
||||
dnf install -y texlive-mparhack-doc
|
||||
CHECK_RESULT $? 0 0 "安装 texlive-mparhack-doc 包失败"
|
||||
LOG_INFO "texlive-mparhack-doc 包安装成功"
|
||||
fi
|
||||
|
||||
# 验证软件包是否安装成功
|
||||
LOG_INFO "步骤4: 验证 texlive-mparhack-doc 包是否已正确安装"
|
||||
if dnf list installed texlive-mparhack-doc > /dev/null 2>&1; then
|
||||
LOG_INFO "验证成功: texlive-mparhack-doc 包已安装"
|
||||
else
|
||||
LOG_ERROR "验证失败: texlive-mparhack-doc 包未安装"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理环境:如果测试前未安装,则在测试后卸载
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "步骤5: 清理环境,卸载 texlive-mparhack-doc 包"
|
||||
dnf remove -y texlive-mparhack-doc
|
||||
CHECK_RESULT $? 0 0 "卸载 texlive-mparhack-doc 包失败"
|
||||
LOG_INFO "环境清理完成,texlive-mparhack-doc 包已卸载"
|
||||
else
|
||||
LOG_INFO "步骤5: 测试前已安装,保持 texlive-mparhack-doc 包安装状态"
|
||||
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-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test compilation of the template
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查texlive-pkuthss是否已安装
|
||||
LOG_INFO "检查texlive-pkuthss是否已安装"
|
||||
rpm -q texlive-pkuthss > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-pkuthss已安装,测试完成后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-pkuthss未安装,测试完成后将卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-pkuthss软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-pkuthss软件包"
|
||||
dnf list available texlive-pkuthss > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中未找到texlive-pkuthss软件包"
|
||||
|
||||
# 安装texlive-pkuthss
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装texlive-pkuthss"
|
||||
dnf install -y texlive-pkuthss
|
||||
CHECK_RESULT $? 0 0 "安装texlive-pkuthss失败"
|
||||
fi
|
||||
|
||||
# 测试模板编译功能
|
||||
LOG_INFO "测试模板编译功能"
|
||||
pdflatex -interaction=nonstopmode pkuthss.ins > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "模板编译失败"
|
||||
|
||||
# 清理临时文件
|
||||
LOG_INFO "清理临时文件"
|
||||
rm -f pkuthss.{aux,log,out} > /dev/null 2>&1
|
||||
|
||||
# 如果测试前未安装texlive-pkuthss,则卸载
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载texlive-pkuthss"
|
||||
dnf remove -y texlive-pkuthss
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-pkuthss失败"
|
||||
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 polynomial parsing functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
LOG_INFO "开始测试多项式解析功能"
|
||||
|
||||
# 检查是否已安装texlive-polynomial_function_parse
|
||||
LOG_INFO "检查是否已安装texlive-polynomial_function_parse"
|
||||
dnf list installed texlive-polynomial_function_parse > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-polynomial_function_parse已安装,测试结束后保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-polynomial_function_parse未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-polynomial_function_parse软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-polynomial_function_parse软件包"
|
||||
dnf list available texlive-polynomial_function_parse > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-polynomial_function_parse软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装texlive-polynomial_function_parse(如果未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装texlive-polynomial_function_parse"
|
||||
dnf install -y texlive-polynomial_function_parse
|
||||
CHECK_RESULT $? 0 0 "安装texlive-polynomial_function_parse失败"
|
||||
fi
|
||||
|
||||
# 测试多项式解析功能
|
||||
LOG_INFO "测试多项式解析功能"
|
||||
command_to_test="tex_polynomial_parse --input test_polynomial.txt --output parsed_result.txt" # 假设命令和参数
|
||||
$command_to_test
|
||||
CHECK_RESULT $? 0 0 "多项式解析功能测试失败"
|
||||
|
||||
# 清理环境(如果最初未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载texlive-polynomial_function_parse"
|
||||
dnf remove -y texlive-polynomial_function_parse
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-polynomial_function_parse失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试多项式解析功能完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user