This commit is contained in:
2026-04-18 14:35:32 +08:00
140 changed files with 0 additions and 11793 deletions

View File

@@ -9,18 +9,6 @@
{
"name": "test_bpg-classic-fonts_function_uninstall",
"desc": "测试BPG经典字体卸载功能"
},
{
"name": "test_bpg-classic-fonts_function_file_exist",
"desc": "验证字体文件是否成功安装到系统"
},
{
"name": "test_bpg-classic-fonts_function_usage",
"desc": "验证字体在应用程序中的基本使用"
},
{
"name": "test_bpg-classic-fonts_function_metadata",
"desc": "检查软件包元数据(版本、描述)是否正确"
}
]
}

View File

@@ -12,74 +12,10 @@
"desc": "测试bsf-help软件包的卸载功能确保软件包可以正常卸载并验证卸载后的文件清理情况。",
"machine num": 1
},
{
"name": "test_bsf-help_upgrade",
"desc": "测试bsf-help软件包的升级功能确保软件包可以正常升级并验证升级后的功能完整性。",
"machine num": 1
},
{
"name": "test_bsf-help_downgrade",
"desc": "测试bsf-help软件包的降级功能确保软件包可以正常降级并验证降级后的功能完整性。",
"machine num": 1
},
{
"name": "test_bsf-help_rollback",
"desc": "测试bsf-help软件包的回滚功能确保软件包可以正常回滚到之前的版本并验证回滚后的功能完整性。",
"machine num": 1
},
{
"name": "test_bsf-help_service_start",
"desc": "测试bsf-help软件包的服务启动功能确保服务可以正常启动并验证启动状态。",
"machine num": 1
},
{
"name": "test_bsf-help_service_stop",
"desc": "测试bsf-help软件包的服务停止功能确保服务可以正常停止并验证停止状态。",
"machine num": 1
},
{
"name": "test_bsf-help_service_restart",
"desc": "测试bsf-help软件包的服务重启功能确保服务可以正常重启并验证重启后的状态。",
"machine num": 1
},
{
"name": "test_bsf-help_service_config",
"desc": "测试bsf-help软件包的服务配置功能确保服务可以正常配置并验证配置后的功能完整性。",
"machine num": 1
},
{
"name": "test_bsf-help_service_status",
"desc": "测试bsf-help软件包的服务状态查询功能确保可以正常查询服务状态并验证返回结果的正确性。",
"machine num": 1
},
{
"name": "test_bsf-help_service_log",
"desc": "测试bsf-help软件包的服务日志查看功能确保可以正常查看服务日志并验证日志内容的正确性。",
"machine num": 1
},
{
"name": "test_bsf-help_function_dependency",
"desc": "测试bsf-help软件包的基础依赖库功能确保依赖库可以正常加载并验证其功能完整性。"
},
{
"name": "test_bsf-help_function_help",
"desc": "测试bsf-help软件包的主要帮助功能确保执行帮助命令可以正常输出使用说明和参数信息。"
},
{
"name": "test_bsf-help_function_version",
"desc": "测试bsf-help软件包的版本查询功能确保可以正确查询并显示软件包的版本信息。"
},
{
"name": "test_bsf-help_function_usage",
"desc": "测试bsf-help软件包的基本用法示例功能确保软件包能通过示例命令演示其核心用途。"
},
{
"name": "test_bsf-help_function_config_show",
"desc": "测试bsf-help软件包的配置查看功能确保可以查看软件包或服务的当前配置信息。"
},
{
"name": "test_bsf-help_function_check_installed",
"desc": "测试bsf-help软件包的安装状态检查功能确保能准确判断软件包是否已安装在系统中。"
}
]
}

View File

@@ -5,10 +5,6 @@
{
"name": "test_dovecot-devel_function_config",
"desc": "Test dovecot-devel configuration parsing"
},
{
"name": "test_dovecot-devel_function_auth",
"desc": "Test dovecot-devel authentication"
}
]
}

View File

@@ -1,30 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/java/java-17-openjdk-src-slowdebug",
"machine num": 1,
"cases": [
{
"name": "test_java-17-openjdk-src-slowdebug_function_install",
"desc": "测试软件包java-17-openjdk-src-slowdebug的安装功能验证是否可以通过包管理器成功安装。"
},
{
"name": "test_java-17-openjdk-src-slowdebug_function_check_installed",
"desc": "测试检查java-17-openjdk-src-slowdebug软件包是否已成功安装到系统中。"
},
{
"name": "test_java-17-openjdk-src-slowdebug_function_uninstall",
"desc": "测试软件包java-17-openjdk-src-slowdebug的卸载功能验证是否可以完全移除。"
},
{
"name": "test_java-17-openjdk-src-slowdebug_function_java_version",
"desc": "测试安装后Java运行时环境JRE的版本信息确认是否为OpenJDK 17 slowdebug版本。"
},
{
"name": "test_java-17-openjdk-src-slowdebug_function_javac_compile",
"desc": "测试使用该JDK中的javac编译器编译一个简单的Java源文件。"
},
{
"name": "test_java-17-openjdk-src-slowdebug_function_debug_symbols",
"desc": "测试该slowdebug版本是否包含调试符号信息例如检查libjvm.so是否包含调试段。"
}
]
}

View File

@@ -6,18 +6,6 @@
"name": "test_kim-api-devel_function_install",
"desc": "Test the installation of kim-api-devel package"
},
{
"name": "test_kim-api-devel_function_build",
"desc": "Test the build process of kim-api-devel package"
},
{
"name": "test_kim-api-devel_function_config",
"desc": "Test the configuration of kim-api-devel package"
},
{
"name": "test_kim-api-devel_function_run",
"desc": "Test the execution of kim-api-devel package"
},
{
"name": "test_kim-api-devel_function_deps",
"desc": "Test the dependencies of kim-api-devel package"
@@ -26,10 +14,6 @@
"name": "test_kim-api-devel_function_uninstall",
"desc": "Test the removal of kim-api-devel package"
},
{
"name": "test_kim-api-devel_function_version",
"desc": "Test querying the package version"
},
{
"name": "test_kim-api-devel_function_headers",
"desc": "Test the presence of C/C++ header files"
@@ -37,14 +21,6 @@
{
"name": "test_kim-api-devel_function_libraries",
"desc": "Test the presence of development libraries"
},
{
"name": "test_kim-api-devel_function_compile",
"desc": "Test compiling a simple program"
},
{
"name": "test_kim-api-devel_function_verify",
"desc": "Test basic functionality verification"
}
]
}

View File

@@ -1,22 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/libgeotiff/libgeotiff-help",
"machine num": 1,
"cases": [
{
"name": "test_libgeotiff-help_function_install",
"desc": "测试libgeotiff-help软件包的安装功能验证其能否通过包管理器正确安装。"
},
{
"name": "test_libgeotiff-help_function_check_version",
"desc": "测试检查libgeotiff-help软件包版本的功能验证安装后能否查询到准确的版本信息。"
},
{
"name": "test_libgeotiff-help_function_display_help",
"desc": "测试libgeotiff-help软件包显示帮助文档的功能验证执行帮助命令能否输出正确的使用信息。"
},
{
"name": "test_libgeotiff-help_function_uninstall",
"desc": "测试libgeotiff-help软件包的卸载功能验证其能否通过包管理器被完全移除。"
}
]
}

View File

@@ -1,30 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/linux-sgx/sgx-ra-service",
"machine num": 1,
"cases": [
{
"name": "test_sgx-ra-service_function_install",
"desc": "Test package installation"
},
{
"name": "test_sgx-ra-service_function_start",
"desc": "Test service startup"
},
{
"name": "test_sgx-ra-service_function_stop",
"desc": "Test service stop"
},
{
"name": "test_sgx-ra-service_function_status",
"desc": "Test service status check"
},
{
"name": "test_sgx-ra-service_function_config",
"desc": "Test config file loading"
},
{
"name": "test_sgx-ra-service_function_logging",
"desc": "Test logging functionality"
}
]
}

View File

@@ -1,26 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/llvm-toolset/llvm-toolset-19-libcxxabi-devel",
"machine num": 1,
"cases": [
{
"name": "test_llvm-toolset-19-libcxxabi-devel_function_install",
"desc": "测试软件包能否通过系统包管理器如yum/dnf成功安装。"
},
{
"name": "test_llvm-toolset-19-libcxxabi-devel_function_check",
"desc": "测试软件包是否已正确安装并可查询到版本信息。"
},
{
"name": "test_llvm-toolset-19-libcxxabi-devel_function_header",
"desc": "测试关键头文件如cxxabi.h是否存在于标准包含路径中。"
},
{
"name": "test_llvm-toolset-19-libcxxabi-devel_function_link",
"desc": "测试能否成功链接libc++abi库进行简单的C++异常/类型信息操作。"
},
{
"name": "test_llvm-toolset-19-libcxxabi-devel_function_uninstall",
"desc": "测试软件包能否通过系统包管理器被干净地卸载。"
}
]
}

View File

@@ -2,18 +2,6 @@
"path": "$OET_PATH/testcases/function_test/pkg_test/maven-doxia/maven-doxia-module-twiki",
"machine num": 1,
"cases": [
{
"name": "test_maven-doxia-module-twiki_function_parse",
"desc": "Test parsing functionality"
},
{
"name": "test_maven-doxia-module-twiki_function_render",
"desc": "Test rendering functionality"
},
{
"name": "test_maven-doxia-module-twiki_function_validate",
"desc": "Test validation functionality"
},
{
"name": "test_maven-doxia-module-twiki_function_export",
"desc": "Test export functionality"

File diff suppressed because it is too large Load Diff

View File

@@ -1,34 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/python-pep8/python-pep8-help",
"machine num": 1,
"cases": [
{
"name": "test_python-pep8-help_function_install",
"desc": "测试软件包安装功能是否正常"
},
{
"name": "test_python-pep8-help_function_uninstall",
"desc": "测试软件包卸载功能是否正常"
},
{
"name": "test_python-pep8-help_function_check_pep8",
"desc": "测试检查单个Python文件PEP8规范功能"
},
{
"name": "test_python-pep8-help_function_recursive_check",
"desc": "测试递归检查目录下所有Python文件PEP8规范功能"
},
{
"name": "test_python-pep8-help_function_ignore_errors",
"desc": "测试忽略指定PEP8错误代码功能"
},
{
"name": "test_python-pep8-help_function_show_source",
"desc": "测试显示不符合规范的源代码行功能"
},
{
"name": "test_python-pep8-help_function_statistics",
"desc": "测试生成PEP8检查统计报告功能"
}
]
}

View File

@@ -2,39 +2,10 @@
"path": "$OET_PATH/testcases/function_test/pkg_test/qt5-qtserialbus/qt5-qtserialbus-examples",
"machine num": 1,
"cases": [
{
"name": "test_qt5-qtserialbus-examples_install",
"desc": "测试qt5-qtserialbus-examples软件包的安装功能",
"machine num": 1
},
{
"name": "test_qt5-qtserialbus-examples_uninstall",
"desc": "测试qt5-qtserialbus-examples软件包的卸载功能",
"machine num": 1
},
{
"name": "test_qt5-qtserialbus-examples_upgrade",
"desc": "测试qt5-qtserialbus-examples软件包的升级功能",
"machine num": 1
},
{
"name": "test_qt5-qtserialbus-examples_downgrade",
"desc": "测试qt5-qtserialbus-examples软件包的降级功能",
"machine num": 1
},
{
"name": "test_qt5-qtserialbus-examples_rollback",
"desc": "测试qt5-qtserialbus-examples软件包的回滚功能",
"machine num": 1
},
{
"name": "test_qt5-qtserialbus-examples_reinstall",
"desc": "测试qt5-qtserialbus-examples软件包的重新安装功能",
"machine num": 1
},
{
"name": "test_qt5-qtserialbus-examples_function_serialcomm",
"desc": "测试qt5-qtserialbus-examples软件包的串口通信功能"
}
]
}

View File

@@ -1,46 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/sox/sox-devel",
"machine num": 1,
"cases": [
{
"name": "test_sox-devel_function_lib",
"desc": "Test basic library functionality of sox-devel"
},
{
"name": "test_sox-devel_function_audio_format",
"desc": "Test audio format conversion functionality of sox-devel"
},
{
"name": "test_sox-devel_function_effects",
"desc": "Test audio effects processing in sox-devel"
},
{
"name": "test_sox-devel_function_playback",
"desc": "Test audio playback capabilities of sox-devel"
},
{
"name": "test_sox-devel_function_install",
"desc": "Test the installation of the sox-devel package"
},
{
"name": "test_sox-devel_function_basic_cli",
"desc": "Test basic command line usage of sox"
},
{
"name": "test_sox-devel_function_convert",
"desc": "Test audio file format conversion"
},
{
"name": "test_sox-devel_function_trim",
"desc": "Test audio trimming functionality"
},
{
"name": "test_sox-devel_function_mix",
"desc": "Test audio mixing capabilities"
},
{
"name": "test_sox-devel_function_volume",
"desc": "Test audio volume adjustment"
}
]
}

View File

@@ -9,18 +9,6 @@
{
"name": "test_stix-math-fonts_function_check",
"desc": "测试系统是否正确识别并已安装stix-math-fonts软件包。"
},
{
"name": "test_stix-math-fonts_function_file",
"desc": "测试安装后关键字体文件如STIXMath-Regular.otf存在于系统字体目录中。"
},
{
"name": "test_stix-math-fonts_function_usage",
"desc": "测试在支持数学排版的文档处理系统如LaTeX, LibreOffice可以调用并使用STIX Math字体。"
},
{
"name": "test_stix-math-fonts_function_uninstall",
"desc": "测试通过包管理器成功卸载stix-math-fonts软件包并验证相关字体文件被移除。"
}
]
}

View File

@@ -6,146 +6,6 @@
"name": "test_texlive-pdftex-quiet_function_basic",
"desc": "Basic functionality test for texlive-pdftex-quiet"
},
{
"name": "test_texlive-pdftex-quiet_pdftex-quiet_draftmode",
"desc": "测试pdftex-quiet命令的-draftmode参数启用草稿模式不生成PDF输出文件。"
},
{
"name": "test_texlive-pdftex-quiet_pdftex-quiet_enc",
"desc": "测试pdftex-quiet命令的-enc参数启用encTeX扩展功能。"
},
{
"name": "test_texlive-pdftex-quiet_pdftex-quiet_etex",
"desc": "测试pdftex-quiet命令的-etex参数启用e-TeX扩展功能。"
},
{
"name": "test_texlive-pdftex-quiet_pdftex-quiet_no_file_line_error",
"desc": "测试pdftex-quiet命令的-no-file-line-error参数禁用文件:行:错误样式的错误信息。"
},
{
"name": "test_texlive-pdftex-quiet_pdftex-quiet_fmt",
"desc": "测试pdftex-quiet命令的-fmt参数指定使用特定的格式文件。"
},
{
"name": "test_texlive-pdftex-quiet_pdftex-quiet_halt_on_error",
"desc": "测试pdftex-quiet命令的-halt-on-error参数在首次遇到错误时停止处理。"
},
{
"name": "test_texlive-pdftex-quiet_pdftex-quiet_ini",
"desc": "测试pdftex-quiet命令的-ini参数模拟pdfinitex行为用于转储格式文件。"
},
{
"name": "test_texlive-pdftex-quiet_pdftex-quiet_interaction",
"desc": "测试pdftex-quiet命令的-interaction参数设置交互模式。"
},
{
"name": "test_texlive-pdftex-quiet_pdftex-quiet_ipc",
"desc": "测试pdftex-quiet命令的-ipc参数将DVI输出同时发送到套接字和常规输出文件。"
},
{
"name": "test_texlive-pdftex-quiet_pdftex-quiet_ipc_start",
"desc": "测试pdftex-quiet命令的-ipc-start参数在启用套接字输出的同时启动另一端的服务器。"
},
{
"name": "test_texlive-pdftex-quiet_pdftex-quiet_jobname",
"desc": "测试pdftex-quiet命令的-jobname参数设置作业名称。"
},
{
"name": "test_texlive-pdftex-quiet_pdftex-quiet_kpathsea_debug",
"desc": "测试pdftex-quiet命令的-kpathsea-debug参数根据数字位设置路径搜索调试标志。"
},
{
"name": "test_texlive-pdftex-quiet_pdftex-quiet_no_mktex",
"desc": "测试pdftex-quiet命令的-no-mktex参数禁用mktexFMT生成。"
},
{
"name": "test_texlive-pdftex-quiet_pdftex-quiet_mltex",
"desc": "测试pdftex-quiet命令的-mltex参数启用MLTeX扩展功能。"
},
{
"name": "test_texlive-pdftex-quiet_pdftex-quiet_output_comment",
"desc": "测试pdftex-quiet命令的-output-comment参数为DVI文件注释指定字符串对PDF无效。"
},
{
"name": "test_texlive-pdftex-quiet_pdftex-quiet_output_directory",
"desc": "测试pdftex-quiet命令的-output-directory参数指定现有目录作为输出文件的目录。"
},
{
"name": "test_texlive-pdftex-quiet_pdftex-quiet_output_format",
"desc": "测试pdftex-quiet命令的-output-format参数指定作业输出格式dvi或pdf。"
},
{
"name": "test_texlive-pdftex-quiet_pdftex-quiet_no_parse_first_line",
"desc": "测试pdftex-quiet命令的-no-parse-first-line参数禁用对输入文件第一行的解析。"
},
{
"name": "test_texlive-pdftex-quiet_pdftex-quiet_progname",
"desc": "测试pdftex-quiet命令的-progname参数设置程序和格式名称。"
},
{
"name": "test_texlive-pdftex-quiet_pdftex-quiet_recorder",
"desc": "测试pdftex-quiet命令的-recorder参数启用文件名记录器。"
},
{
"name": "test_texlive-pdftex-quiet_pdftex-quiet_no_shell_escape",
"desc": "测试pdftex-quiet命令的-no-shell-escape参数禁用\\write18{SHELL COMMAND}功能。"
},
{
"name": "test_texlive-pdftex-quiet_pdftex-quiet_shell_restricted",
"desc": "测试pdftex-quiet命令的-shell-restricted参数启用受限的\\write18功能。"
},
{
"name": "test_texlive-pdftex-quiet_pdftex-quiet_src_specials",
"desc": "测试pdftex-quiet命令的-src-specials参数将源码特殊标记插入DVI文件。"
},
{
"name": "test_texlive-pdftex-quiet_pdftex-quiet_src_specials_where",
"desc": "测试pdftex-quiet命令的-src-specials=WHERE参数在DVI文件的指定位置插入源码特殊标记。"
},
{
"name": "test_texlive-pdftex-quiet_pdftex-quiet_synctex",
"desc": "测试pdftex-quiet命令的-synctex参数根据数字位为预览器生成SyncTeX数据。"
},
{
"name": "test_texlive-pdftex-quiet_pdftex-quiet_translate_file",
"desc": "测试pdftex-quiet命令的-translate-file参数使用指定的TCX文件。"
},
{
"name": "test_texlive-pdftex-quiet_pdftex-quiet_num_8bit",
"desc": "测试pdftex-quiet命令的-8bit参数默认使所有字符可打印。"
},
{
"name": "test_texlive-pdftex-quiet_pdftex-quiet_help",
"desc": "测试pdftex-quiet命令的-help参数显示帮助信息并退出。"
},
{
"name": "test_texlive-pdftex-quiet_pdftex-quiet_version",
"desc": "测试pdftex-quiet命令的-version参数输出版本信息并退出。"
},
{
"name": "test_texlive-pdftex-quiet_function_install_check",
"desc": "检查 texlive-pdftex-quiet 软件包是否已正确安装,验证基本可执行文件是否存在。"
},
{
"name": "test_texlive-pdftex-quiet_function_compile_basic",
"desc": "测试使用 pdftex-quiet 命令编译一个简单的 LaTeX 源文件为 PDF 的基本功能。"
},
{
"name": "test_texlive-pdftex-quiet_function_output_dir",
"desc": "测试使用 -output-directory 参数将编译生成的 PDF 等文件输出到指定目录。"
},
{
"name": "test_texlive-pdftex-quiet_function_jobname",
"desc": "测试使用 -jobname 参数为输出文件指定自定义名称。"
},
{
"name": "test_texlive-pdftex-quiet_function_halt_error",
"desc": "测试使用 -halt-on-error 参数在遇到 LaTeX 错误时立即停止处理。"
},
{
"name": "test_texlive-pdftex-quiet_function_shell_escape",
"desc": "测试使用 -shell-escape 参数允许在编译过程中执行外部命令。"
},
{
"name": "test_texlive-pdftex-quiet_function_version_info",
"desc": "测试使用 -version 参数获取 pdftex-quiet 的版本信息。"

View File

@@ -6,18 +6,6 @@
"name": "test_texlive-anonymouspro-doc_function_install",
"desc": "Test package installation"
},
{
"name": "test_texlive-anonymouspro-doc_function_verify_installed",
"desc": "Verify package is installed"
},
{
"name": "test_texlive-anonymouspro-doc_function_list_files",
"desc": "List package documentation files"
},
{
"name": "test_texlive-anonymouspro-doc_function_check_content",
"desc": "Check key documentation content"
},
{
"name": "test_texlive-anonymouspro-doc_function_uninstall",
"desc": "Test package uninstallation"

View File

@@ -13,14 +13,6 @@
{
"name": "test_texlive-bangorcsthesis-doc_function_uninstall",
"desc": "Test package removal"
},
{
"name": "test_texlive-bangorcsthesis-doc_function_usage",
"desc": "Test basic document compilation"
},
{
"name": "test_texlive-bangorcsthesis-doc_function_help",
"desc": "Test accessing documentation"
}
]
}

View File

@@ -2,29 +2,9 @@
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-f/texlive-currfile",
"machine num": 1,
"cases": [
{
"name": "test_texlive-currfile_function_install",
"desc": "Test package installation"
},
{
"name": "test_texlive-currfile_function_check_installed",
"desc": "Check if the package is installed"
},
{
"name": "test_texlive-currfile_function_basic_usage",
"desc": "Test basic LaTeX document compilation with currfile"
},
{
"name": "test_texlive-currfile_function_get_filename",
"desc": "Test retrieving the current filename in LaTeX"
},
{
"name": "test_texlive-currfile_function_get_fileabspath",
"desc": "Test retrieving the absolute path of the current file"
},
{
"name": "test_texlive-currfile_function_package_uninstall",
"desc": "Test uninstalling the package"
}
]
}

View File

@@ -9,18 +9,6 @@
{
"name": "test_texlive-greektex_function_uninstall",
"desc": "Test package removal"
},
{
"name": "test_texlive-greektex_function_check_installed",
"desc": "Verify package is installed"
},
{
"name": "test_texlive-greektex_function_greek_in_doc",
"desc": "Test Greek text typesetting"
},
{
"name": "test_texlive-greektex_function_encoding",
"desc": "Test input encoding support"
}
]
}

View File

@@ -1,30 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-r/texlive-permute",
"machine num": 1,
"cases": [
{
"name": "test_texlive-permute_function_basic",
"desc": "Test basic functionality of texlive-permute"
},
{
"name": "test_texlive-permute_function_install",
"desc": "Test installation of texlive-permute package"
},
{
"name": "test_texlive-permute_function_uninstall",
"desc": "Test uninstallation of texlive-permute package"
},
{
"name": "test_texlive-permute_function_version",
"desc": "Test checking package version"
},
{
"name": "test_texlive-permute_function_permute",
"desc": "Test basic permute command"
},
{
"name": "test_texlive-permute_function_help",
"desc": "Test help/manual page display"
}
]
}

View File

@@ -2,25 +2,9 @@
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-s/texlive-pstricks-add-doc",
"machine num": 1,
"cases": [
{
"name": "test_texlive-pstricks-add-doc_function_docgen",
"desc": "Verify documentation generation"
},
{
"name": "test_texlive-pstricks-add-doc_function_install",
"desc": "Verify package can be installed successfully"
},
{
"name": "test_texlive-pstricks-add-doc_function_remove",
"desc": "Verify package can be uninstalled cleanly"
},
{
"name": "test_texlive-pstricks-add-doc_function_presence",
"desc": "Check if package files are present in system"
},
{
"name": "test_texlive-pstricks-add-doc_function_content",
"desc": "Validate documentation content integrity"
}
]
}

View File

@@ -1,22 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-v/texlive-statmath",
"machine num": 1,
"cases": [
{
"name": "test_texlive-statmath_function_install",
"desc": "Test installation of texlive-statmath package"
},
{
"name": "test_texlive-statmath_function_remove",
"desc": "Test removal of texlive-statmath package"
},
{
"name": "test_texlive-statmath_function_usage",
"desc": "Test basic LaTeX usage with statmath"
},
{
"name": "test_texlive-statmath_function_presence",
"desc": "Check if statmath files are present in TeX system"
}
]
}

View File

@@ -1,81 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-24
# @License : Mulan PSL v2
# @Desc : 验证字体文件是否成功安装到系统
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 环境预检查判断是否已安装bpg-classic-fonts软件包
LOG_INFO "检查是否已安装bpg-classic-fonts软件包"
rpm -q bpg-classic-fonts > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "bpg-classic-fonts软件包已安装测试结束后将保持安装状态"
ALREADY_INSTALLED=1
else
LOG_INFO "bpg-classic-fonts软件包未安装测试将执行安装步骤"
ALREADY_INSTALLED=0
fi
# 检查yum源中是否存在bpg-classic-fonts软件包
LOG_INFO "检查yum源中是否存在bpg-classic-fonts软件包"
dnf list available bpg-classic-fonts > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中未找到bpg-classic-fonts软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在bpg-classic-fonts软件包"
exit 255
fi
# 若未安装,则安装软件包
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "开始安装bpg-classic-fonts软件包"
dnf install -y bpg-classic-fonts
CHECK_RESULT $? 0 0 "安装bpg-classic-fonts软件包失败"
fi
# 验证字体文件是否成功安装到系统
LOG_INFO "验证字体文件是否成功安装到系统"
FONT_FILES=(
"/usr/share/fonts/BPGClassic/BPGClassic.ttf"
"/usr/share/fonts/BPGClassic/BPGClassicBold.ttf"
"/usr/share/fonts/BPGClassic/BPGClassicItalic.ttf"
"/usr/share/fonts/BPGClassic/BPGClassicBoldItalic.ttf"
)
for font_file in "${FONT_FILES[@]}"; do
if [ -f "$font_file" ]; then
LOG_INFO "字体文件 $font_file 存在"
else
LOG_ERROR "字体文件 $font_file 不存在"
CHECK_RESULT 1 0 0 "字体文件 $font_file 未找到"
fi
done
# 清理环境:如果测试前未安装,则卸载软件包
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "测试前未安装bpg-classic-fonts开始卸载软件包"
dnf remove -y bpg-classic-fonts
CHECK_RESULT $? 0 0 "卸载bpg-classic-fonts软件包失败"
LOG_INFO "已卸载bpg-classic-fonts软件包环境已恢复"
else
LOG_INFO "测试前已安装bpg-classic-fonts保持安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,143 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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-24
# @License : Mulan PSL v2
# @Desc : 检查软件包元数据(版本、描述)是否正确
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义日志函数
LOG_INFO() {
echo "[INFO] $*"
}
LOG_ERROR() {
echo "[ERROR] $*"
}
# 定义检查结果函数
CHECK_RESULT() {
local actual=$1
local expect=$2
local mode=$3
local message=$4
if [ $mode -eq 0 ]; then
if [ $actual -eq $expect ]; then
LOG_INFO "$message 成功"
return 0
else
LOG_ERROR "$message 失败"
exit $actual
fi
else
if [ $actual -ne $expect ]; then
LOG_INFO "$message 成功"
return 0
else
LOG_ERROR "$message 失败"
exit 1
fi
fi
}
# 定义SSH_CMD函数
SSH_CMD() {
local cmd=$1
local node_ip=$2
local node_password=$3
local node_user=$4
sshpass -p $node_password ssh -o StrictHostKeyChecking=no $node_user@$node_ip "$cmd"
}
# 测试主函数
main() {
LOG_INFO "开始测试:检查软件包元数据(版本、描述)是否正确"
# 定义软件包名称
PACKAGE_NAME="bpg-classic-fonts"
# 步骤1检查yum源中是否存在该软件包
LOG_INFO "步骤1检查yum源中是否存在软件包 $PACKAGE_NAME"
dnf list available $PACKAGE_NAME &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在软件包 $PACKAGE_NAME"
exit 255
fi
LOG_INFO "软件包 $PACKAGE_NAME 存在于yum源中"
# 步骤2检查环境是否已安装该软件包
LOG_INFO "步骤2检查环境是否已安装软件包 $PACKAGE_NAME"
rpm -q $PACKAGE_NAME &>/dev/null
local installed=$?
if [ $installed -eq 0 ]; then
LOG_INFO "软件包 $PACKAGE_NAME 已安装"
local need_uninstall=false
else
LOG_INFO "软件包 $PACKAGE_NAME 未安装,将在测试步骤中安装"
local need_uninstall=true
fi
# 步骤3如果未安装则安装软件包
if [ $need_uninstall = true ]; then
LOG_INFO "步骤3安装软件包 $PACKAGE_NAME"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME"
fi
# 步骤4检查软件包元数据版本、描述
LOG_INFO "步骤4检查软件包 $PACKAGE_NAME 的元数据"
# 获取软件包版本
local version=$(rpm -q --queryformat "%{VERSION}" $PACKAGE_NAME)
CHECK_RESULT $? 0 0 "获取软件包 $PACKAGE_NAME 版本"
LOG_INFO "软件包 $PACKAGE_NAME 版本: $version"
# 获取软件包描述
local description=$(rpm -q --queryformat "%{DESCRIPTION}" $PACKAGE_NAME)
CHECK_RESULT $? 0 0 "获取软件包 $PACKAGE_NAME 描述"
LOG_INFO "软件包 $PACKAGE_NAME 描述: $description"
# 步骤5验证版本和描述是否非空
LOG_INFO "步骤5验证软件包 $PACKAGE_NAME 版本和描述是否非空"
if [ -z "$version" ]; then
LOG_ERROR "软件包 $PACKAGE_NAME 版本为空"
exit 1
fi
if [ -z "$description" ]; then
LOG_ERROR "软件包 $PACKAGE_NAME 描述为空"
exit 1
fi
LOG_INFO "软件包 $PACKAGE_NAME 版本和描述均非空,符合预期"
# 步骤6清理环境
LOG_INFO "步骤6清理测试环境"
if [ $need_uninstall = true ]; then
LOG_INFO "卸载软件包 $PACKAGE_NAME"
dnf remove -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME"
LOG_INFO "环境已恢复到测试前状态"
else
LOG_INFO "环境保持安装状态,无需卸载"
fi
LOG_INFO "测试完成:软件包元数据检查成功"
}
# 执行主函数
main
}
main "$@"

View File

@@ -1,75 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-24
# @License : Mulan PSL v2
# @Desc : 验证字体在应用程序中的基本使用
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试:验证字体在应用程序中的基本使用"
# 检查软件包是否在yum源中
LOG_INFO "检查yum源中是否存在bpg-classic-fonts软件包"
if ! dnf list available bpg-classic-fonts &>/dev/null; then
LOG_ERROR "yum源中未找到bpg-classic-fonts软件包"
exit 255
fi
# 检查环境是否已安装
LOG_INFO "检查环境是否已安装bpg-classic-fonts"
if rpm -q bpg-classic-fonts &>/dev/null; then
LOG_INFO "环境已安装bpg-classic-fonts脚本结束时将保持安装状态"
installed_before=true
else
LOG_INFO "环境未安装bpg-classic-fonts将在测试步骤中安装"
installed_before=false
fi
# 如果未安装,则安装软件包
if [ "$installed_before" = false ]; then
LOG_INFO "安装bpg-classic-fonts软件包"
dnf install -y bpg-classic-fonts
CHECK_RESULT $? 0 0 "安装bpg-classic-fonts失败"
fi
# 验证字体文件是否存在
LOG_INFO "验证字体文件是否已正确安装"
if [ -f /usr/share/fonts/bpg-classic-fonts/BPGClassic.ttf ]; then
LOG_INFO "字体文件BPGClassic.ttf存在"
else
LOG_ERROR "字体文件BPGClassic.ttf不存在"
exit 1
fi
# 测试字体在应用程序中的基本使用例如通过fc-list检查字体是否可用
LOG_INFO "检查字体是否在系统中可用"
fc-list | grep -i "BPG Classic" > /dev/null
CHECK_RESULT $? 0 0 "字体未在系统中正确注册"
# 清理环境:如果测试前未安装,则在测试后卸载
if [ "$installed_before" = false ]; then
LOG_INFO "卸载bpg-classic-fonts软件包"
dnf remove -y bpg-classic-fonts
CHECK_RESULT $? 0 0 "卸载bpg-classic-fonts失败"
fi
LOG_INFO "测试完成:验证字体在应用程序中的基本使用"
}
main "$@"

View File

@@ -1,93 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-06-17
# @License : Mulan PSL v2
# @Desc : 测试bsf-help软件包的降级功能确保软件包可以正常降级并验证降级后的功能完整性。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查bsf-help软件包是否已安装
LOG_INFO "检查bsf-help软件包是否已安装"
rpm -q bsf-help &> /dev/null
if [ $? -eq 0 ]; then
LOG_INFO "bsf-help软件包已安装脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "bsf-help软件包未安装将在测试结束后卸载"
INSTALLED=false
fi
# 检查yum源中是否存在bsf-help软件包
LOG_INFO "检查yum源中是否存在bsf-help软件包"
dnf list available bsf-help &> /dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到bsf-help软件包"
exit 255
fi
# 获取当前安装的bsf-help版本
CURRENT_VERSION=$(rpm -q --queryformat '%{VERSION}-%{RELEASE}' bsf-help 2>/dev/null)
if [ $? -eq 0 ]; then
LOG_INFO "当前安装的bsf-help版本为: $CURRENT_VERSION"
else
LOG_INFO "未安装bsf-help将进行首次安装测试"
fi
# 获取可用的bsf-help版本列表
AVAILABLE_VERSIONS=$(dnf list available bsf-help --showduplicates | awk '{print $2}' | tail -n +2)
if [ -z "$AVAILABLE_VERSIONS" ]; then
LOG_ERROR "未找到可用的bsf-help版本"
exit 255
fi
# 选择降级的目标版本(假设选择最早的版本)
TARGET_VERSION=$(echo "$AVAILABLE_VERSIONS" | head -1)
LOG_INFO "目标降级版本为: $TARGET_VERSION"
# 执行降级操作
LOG_INFO "开始降级bsf-help到版本: $TARGET_VERSION"
dnf downgrade -y bsf-help-$TARGET_VERSION &> /dev/null
CHECK_RESULT $? 0 0 "降级操作失败"
# 验证降级后的版本
NEW_VERSION=$(rpm -q --queryformat '%{VERSION}-%{RELEASE}' bsf-help)
LOG_INFO "降级后的bsf-help版本为: $NEW_VERSION"
if [ "$NEW_VERSION" != "$TARGET_VERSION" ]; then
LOG_ERROR "降级后的版本与目标版本不一致"
exit 1
fi
# 验证功能完整性(假设通过运行命令验证)
LOG_INFO "验证降级后的功能完整性"
bsf-help --help &> /dev/null
CHECK_RESULT $? 0 0 "功能完整性验证失败"
# 环境恢复:如果最初未安装,则卸载软件包;否则保持安装状态
if [ "$INSTALLED" = false ]; then
LOG_INFO "清理环境卸载bsf-help软件包"
dnf remove -y bsf-help &> /dev/null
CHECK_RESULT $? 0 0 "卸载操作失败"
else
LOG_INFO "环境恢复保持bsf-help软件包安装状态"
fi
LOG_INFO "测试脚本执行完成,所有步骤均通过验证"
exit 0
}
main "$@"

View File

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

View File

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

View File

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

View File

@@ -1,90 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-25
# @License : Mulan PSL v2
# @Desc : 测试bsf-help软件包的主要帮助功能确保执行帮助命令可以正常输出使用说明和参数信息。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试bsf-help软件包的帮助功能"
LOG_INFO "步骤1: 检查bsf-help软件包是否在yum源中"
dnf list available bsf-help 2>/dev/null | grep -q bsf-help
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到bsf-help软件包"
exit 255
fi
LOG_INFO "步骤2: 检查系统是否已安装bsf-help软件包"
rpm -q bsf-help > /dev/null 2>&1
installed=$?
if [ $installed -ne 0 ]; then
LOG_INFO "bsf-help软件包未安装执行安装操作"
dnf install -y bsf-help
CHECK_RESULT $? 0 0 "安装bsf-help软件包失败"
LOG_INFO "bsf-help软件包安装成功"
else
LOG_INFO "bsf-help软件包已安装跳过安装步骤"
fi
LOG_INFO "步骤3: 执行bsf-help命令的help参数测试"
LOG_INFO "测试bsf-help --help命令"
bsf-help --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "执行bsf-help --help命令失败"
LOG_INFO "bsf-help --help命令执行成功"
LOG_INFO "步骤4: 测试不支持的参数"
LOG_INFO "测试bsf-help --invalid-param命令预期失败"
bsf-help --invalid-param > /dev/null 2>&1
if [ $? -ne 255 ]; then
LOG_ERROR "不支持的参数未正确返回退出码255"
exit 255
fi
LOG_INFO "不支持的参数测试通过"
LOG_INFO "步骤5: 验证帮助命令输出内容"
LOG_INFO "检查bsf-help --help输出是否包含使用说明"
output=$(bsf-help --help)
if echo "$output" | grep -q -i "usage\|用法\|帮助"; then
LOG_INFO "帮助输出包含使用说明"
else
LOG_ERROR "帮助输出未找到使用说明"
exit 1
fi
if echo "$output" | grep -q -i "options\|参数\|选项"; then
LOG_INFO "帮助输出包含参数信息"
else
LOG_ERROR "帮助输出未找到参数信息"
exit 1
fi
LOG_INFO "步骤6: 环境清理"
if [ $installed -ne 0 ]; then
LOG_INFO "卸载测试安装的bsf-help软件包"
dnf remove -y bsf-help
CHECK_RESULT $? 0 0 "卸载bsf-help软件包失败"
LOG_INFO "bsf-help软件包卸载成功"
else
LOG_INFO "保持bsf-help软件包安装状态"
fi
LOG_INFO "测试完成,所有测试步骤通过"
}
main "$@"

View File

@@ -1,83 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-25
# @License : Mulan PSL v2
# @Desc : 测试bsf-help软件包的基本用法示例功能确保软件包能通过示例命令演示其核心用途。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查bsf-help软件包是否已安装
LOG_INFO "检查bsf-help软件包是否已安装"
rpm -q bsf-help > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "bsf-help软件包已安装"
already_installed=1
else
LOG_INFO "bsf-help软件包未安装"
already_installed=0
fi
# 检查yum源中是否有bsf-help软件包
LOG_INFO "检查yum源中是否有bsf-help软件包"
dnf list available bsf-help > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到bsf-help软件包"
exit 255
fi
# 如果未安装则安装bsf-help软件包
if [ $already_installed -eq 0 ]; then
LOG_INFO "安装bsf-help软件包"
dnf install -y bsf-help
CHECK_RESULT $? 0 0 "安装bsf-help软件包失败"
fi
# 测试bsf-help软件包的基本用法示例功能
LOG_INFO "测试bsf-help软件包的基本用法示例功能"
LOG_INFO "执行bsf-help命令查看帮助信息"
bsf-help --help
CHECK_RESULT $? 0 0 "执行bsf-help --help命令失败"
LOG_INFO "执行bsf-help命令查看版本信息"
bsf-help --version
CHECK_RESULT $? 0 0 "执行bsf-help --version命令失败"
LOG_INFO "执行bsf-help命令查看示例功能"
bsf-help example
CHECK_RESULT $? 0 0 "执行bsf-help example命令失败"
# 测试不支持的参数
LOG_INFO "测试不支持的参数"
bsf-help --invalid-param > /dev/null 2>&1
if [ $? -ne 255 ]; then
LOG_ERROR "不支持的参数未正确退出"
exit 255
fi
# 清理环境,恢复到之前的状态
if [ $already_installed -eq 0 ]; then
LOG_INFO "卸载bsf-help软件包"
dnf remove -y bsf-help
CHECK_RESULT $? 0 0 "卸载bsf-help软件包失败"
else
LOG_INFO "保持bsf-help软件包安装状态"
fi
LOG_INFO "测试脚本执行完成"
}
main "$@"

View File

@@ -1,86 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-25
# @License : Mulan PSL v2
# @Desc : 测试bsf-help软件包的版本查询功能确保可以正确查询并显示软件包的版本信息。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
package_name="bsf-help"
command_to_test="bsf-help --version"
LOG_INFO "开始测试 ${package_name} 软件包的版本查询功能"
LOG_INFO "检查当前环境中是否已安装 ${package_name} 软件包"
if rpm -q ${package_name} &> /dev/null; then
LOG_INFO "检测到 ${package_name} 软件包已安装,脚本结束后将保持安装状态"
already_installed=true
else
LOG_INFO "检测到 ${package_name} 软件包未安装,将在测试过程中安装,并在脚本结束前卸载"
already_installed=false
fi
LOG_INFO "检查 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} 软件包"
if [ "${already_installed}" = "false" ]; then
LOG_INFO "正在安装 ${package_name} 软件包"
dnf install -y ${package_name}
CHECK_RESULT $? 0 0 "安装 ${package_name} 软件包失败"
LOG_INFO "安装 ${package_name} 软件包成功"
fi
LOG_INFO "测试执行命令: ${command_to_test}"
LOG_INFO "检查命令参数是否支持"
if ! ${package_name} --help 2>&1 | grep -q "\-\-version"; then
LOG_ERROR "命令 ${package_name} 不支持 --version 参数"
exit 255
fi
LOG_INFO "命令参数支持"
LOG_INFO "执行命令并检查版本信息输出"
output=$(${command_to_test} 2>&1)
exit_code=$?
CHECK_RESULT $? 0 0 "执行命令 ${command_to_test} 失败"
LOG_INFO "命令执行成功,输出为: ${output}"
LOG_INFO "验证版本信息输出格式"
if echo "${output}" | grep -qE "[0-9]+\.[0-9]+\.[0-9]+" || echo "${output}" | grep -qi "version"; then
LOG_INFO "版本信息输出格式正确"
else
LOG_ERROR "版本信息输出格式不符合预期: ${output}"
exit 1
fi
LOG_INFO "清理测试环境"
if [ "${already_installed}" = "false" ]; then
LOG_INFO "卸载测试安装的 ${package_name} 软件包"
dnf remove -y ${package_name}
CHECK_RESULT $? 0 0 "卸载 ${package_name} 软件包失败"
LOG_INFO "卸载 ${package_name} 软件包成功,环境已恢复"
else
LOG_INFO "测试前已安装 ${package_name} 软件包,保持安装状态,无需卸载"
fi
LOG_INFO "测试 ${package_name} 软件包的版本查询功能完成"
}
main "$@"

View File

@@ -1,92 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-06-17
# @License : Mulan PSL v2
# @Desc : 测试bsf-help软件包的回滚功能确保软件包可以正常回滚到之前的版本并验证回滚后的功能完整性。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查环境是否已安装bsf-help软件包
LOG_INFO "检查是否已安装bsf-help软件包"
dnf list installed bsf-help &> /dev/null
if [ $? -eq 0 ]; then
LOG_INFO "bsf-help软件包已安装脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "bsf-help软件包未安装将在测试结束后卸载"
INSTALLED=false
fi
# 检查yum源中是否存在bsf-help软件包
LOG_INFO "检查yum源中是否存在bsf-help软件包"
dnf list available bsf-help &> /dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到bsf-help软件包"
exit 255
fi
# 安装bsf-help软件包如果未安装
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装bsf-help软件包"
dnf install -y bsf-help
CHECK_RESULT $? 0 0 "安装bsf-help软件包失败"
fi
# 获取当前版本信息
LOG_INFO "获取当前bsf-help版本信息"
CURRENT_VERSION=$(rpm -q --queryformat '%{VERSION}-%{RELEASE}' bsf-help)
LOG_INFO "当前版本: $CURRENT_VERSION"
# 检查回滚功能是否支持
LOG_INFO "检查回滚功能是否支持"
dnf history info | grep "rollback" &> /dev/null
CHECK_RESULT $? 0 0 "dnf工具不支持回滚功能"
# 执行回滚操作
LOG_INFO "执行回滚操作"
dnf history rollback last -y
CHECK_RESULT $? 0 0 "回滚操作失败"
# 验证回滚后的版本信息
LOG_INFO "验证回滚后的版本信息"
ROLLBACK_VERSION=$(rpm -q --queryformat '%{VERSION}-%{RELEASE}' bsf-help)
if [ "$ROLLBACK_VERSION" != "$CURRENT_VERSION" ]; then
LOG_INFO "回滚成功,当前版本: $ROLLBACK_VERSION"
else
LOG_ERROR "回滚失败,版本未变化"
exit 1
fi
# 验证功能完整性(假设通过运行命令验证)
LOG_INFO "验证回滚后的功能完整性"
bsf-help --version &> /dev/null
CHECK_RESULT $? 0 0 "功能完整性验证失败"
# 清理环境(如果初始未安装)
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载bsf-help软件包以恢复环境"
dnf remove -y bsf-help
CHECK_RESULT $? 0 0 "卸载bsf-help软件包失败"
fi
LOG_INFO "测试脚本执行完成,环境已恢复"
}
main "$@"

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -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 : 2025-06-17
# @License : Mulan PSL v2
# @Desc : 测试bsf-help软件包的升级功能确保软件包可以正常升级并验证升级后的功能完整性。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查bsf-help软件包是否已安装
LOG_INFO "检查bsf-help软件包是否已安装"
rpm -q bsf-help > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "bsf-help软件包已安装脚本结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "bsf-help软件包未安装将在测试结束后卸载"
INSTALLED=false
fi
# 检查yum源中是否存在bsf-help软件包
LOG_INFO "检查yum源中是否存在bsf-help软件包"
dnf list available bsf-help > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到bsf-help软件包"
exit 255
fi
# 安装bsf-help软件包如果未安装
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装bsf-help软件包"
dnf install -y bsf-help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装bsf-help软件包失败"
fi
# 获取当前bsf-help版本
LOG_INFO "获取当前bsf-help版本"
CURRENT_VERSION=$(rpm -q --queryformat '%{VERSION}' bsf-help)
LOG_INFO "当前bsf-help版本: $CURRENT_VERSION"
# 检查是否有新版本可用
LOG_INFO "检查是否有新版本的bsf-help可用"
dnf check-update bsf-help > /dev/null 2>&1
if [ $? -eq 100 ]; then
LOG_INFO "发现新版本的bsf-help准备升级"
else
LOG_ERROR "未找到新版本的bsf-help"
exit 255
fi
# 升级bsf-help软件包
LOG_INFO "开始升级bsf-help软件包"
dnf upgrade -y bsf-help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "升级bsf-help软件包失败"
# 验证升级后的版本
LOG_INFO "验证升级后的版本"
NEW_VERSION=$(rpm -q --queryformat '%{VERSION}' bsf-help)
LOG_INFO "升级后的bsf-help版本: $NEW_VERSION"
if [ "$NEW_VERSION" != "$CURRENT_VERSION" ]; then
LOG_INFO "版本已成功升级"
else
LOG_ERROR "版本未发生变化,升级失败"
exit 1
fi
# 验证功能完整性(假设通过运行命令验证)
LOG_INFO "验证升级后的功能完整性"
bsf-help --version > /dev/null 2>&1
CHECK_RESULT $? 0 0 "功能完整性验证失败"
# 清理环境(如果初始未安装)
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载测试过程中安装的bsf-help软件包"
dnf remove -y bsf-help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载bsf-help软件包失败"
fi
LOG_INFO "测试完成,环境已恢复初始状态"
}
main "$@"

View File

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

View File

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

View File

@@ -1,169 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : Test compiling a simple program
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试编译简单程序的功能
LOG_INFO "开始测试编译简单程序的功能"
# 检查是否已经安装了kim-api-devel软件包
LOG_INFO "步骤1: 检查kim-api-devel软件包是否已安装"
if rpm -q kim-api-devel > /dev/null 2>&1; then
LOG_INFO "kim-api-devel软件包已安装测试结束后将保持安装状态"
ALREADY_INSTALLED=1
else
LOG_INFO "kim-api-devel软件包未安装将在测试过程中安装"
ALREADY_INSTALLED=0
fi
# 检查yum源中是否有kim-api-devel软件包
LOG_INFO "步骤2: 检查yum源中是否有kim-api-devel软件包"
if ! dnf list available kim-api-devel > /dev/null 2>&1; then
LOG_ERROR "yum源中没有找到kim-api-devel软件包"
exit 255
fi
# 安装kim-api-devel软件包如果未安装
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "步骤3: 安装kim-api-devel软件包"
dnf install -y kim-api-devel
CHECK_RESULT $? 0 0 "安装kim-api-devel软件包失败"
fi
# 创建测试C程序
LOG_INFO "步骤4: 创建测试C程序"
cat > test_kim_program.c << "EOF"
#include <stdio.h>
#include <kim-api.h>
int main() {
printf("测试KIM API编译功能\n");
// 简单的KIM API使用示例
KIM_Model *model;
char const *model_name = "Sim_LennardJones_Ar__MO_405699056741_001";
int error = KIM_Model_Create(model_name, &model);
if (error) {
printf("KIM模型创建失败错误码: %d\n", error);
return 1;
}
printf("KIM模型创建成功\n");
// 销毁模型
KIM_Model_Destroy(&model);
return 0;
}
EOF
CHECK_RESULT $? 0 0 "创建测试C程序失败"
# 检查gcc编译器是否可用
LOG_INFO "步骤5: 检查gcc编译器是否可用"
if ! command -v gcc > /dev/null 2>&1; then
LOG_INFO "gcc编译器未安装尝试安装"
dnf install -y gcc
CHECK_RESULT $? 0 0 "安装gcc编译器失败"
fi
# 检查pkg-config是否可用
LOG_INFO "步骤6: 检查pkg-config是否可用"
if ! command -v pkg-config > /dev/null 2>&1; then
LOG_INFO "pkg-config未安装尝试安装"
dnf install -y pkg-config
CHECK_RESULT $? 0 0 "安装pkg-config失败"
fi
# 获取KIM API的编译参数
LOG_INFO "步骤7: 获取KIM API的编译参数"
KIM_CFLAGS=$(pkg-config --cflags kim-api 2>/dev/null)
if [ $? -ne 0 ]; then
LOG_ERROR "无法获取KIM API的编译标志"
exit 255
fi
KIM_LIBS=$(pkg-config --libs kim-api 2>/dev/null)
if [ $? -ne 0 ]; then
LOG_ERROR "无法获取KIM API的链接库"
exit 255
fi
LOG_INFO "KIM API编译标志: $KIM_CFLAGS"
LOG_INFO "KIM API链接库: $KIM_LIBS"
# 编译测试程序
LOG_INFO "步骤8: 编译测试程序"
gcc $KIM_CFLAGS -o test_kim_program test_kim_program.c $KIM_LIBS
CHECK_RESULT $? 0 0 "编译测试程序失败"
# 检查编译后的可执行文件
LOG_INFO "步骤9: 检查编译后的可执行文件"
if [ -x test_kim_program ]; then
LOG_INFO "测试程序编译成功,可执行文件已生成"
# 运行测试程序
LOG_INFO "步骤10: 运行测试程序"
./test_kim_program
CHECK_RESULT $? 0 0 "测试程序运行失败"
else
LOG_ERROR "编译后的可执行文件不存在或不可执行"
exit 1
fi
# 清理测试文件
LOG_INFO "步骤11: 清理测试文件"
rm -f test_kim_program.c test_kim_program
CHECK_RESULT $? 0 0 "清理测试文件失败"
# 如果测试前未安装,则卸载软件包
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "步骤12: 卸载测试过程中安装的软件包"
# 卸载kim-api-devel
dnf remove -y kim-api-devel
CHECK_RESULT $? 0 0 "卸载kim-api-devel失败"
# 检查是否安装了gcc测试过程中可能安装的
if rpm -q gcc > /dev/null 2>&1; then
# 检查gcc是否是测试前就安装的
if ! command -v gcc > /dev/null 2>&1; then
dnf remove -y gcc
CHECK_RESULT $? 0 0 "卸载gcc失败"
fi
fi
# 检查是否安装了pkg-config测试过程中可能安装的
if rpm -q pkg-config > /dev/null 2>&1; then
# 检查pkg-config是否是测试前就安装的
if ! command -v pkg-config > /dev/null 2>&1; then
dnf remove -y pkg-config
CHECK_RESULT $? 0 0 "卸载pkg-config失败"
fi
fi
fi
LOG_INFO "测试编译简单程序的功能完成"
}
main "$@"

View File

@@ -1,71 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-09
# @License : Mulan PSL v2
# @Desc : Test the configuration of kim-api-devel package
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查kim-api-devel软件包是否已安装
LOG_INFO "检查kim-api-devel软件包是否已安装"
rpm -q kim-api-devel > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "kim-api-devel软件包已安装脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "kim-api-devel软件包未安装将在测试结束后卸载"
INSTALLED=false
fi
# 检查yum源中是否有kim-api-devel软件包
LOG_INFO "检查yum源中是否有kim-api-devel软件包"
dnf list available kim-api-devel > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到kim-api-devel软件包"
exit 255
fi
# 安装kim-api-devel软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装kim-api-devel软件包"
dnf install -y kim-api-devel
CHECK_RESULT $? 0 0 "安装kim-api-devel软件包失败"
fi
# 测试kim-api-devel软件包的配置功能
LOG_INFO "测试kim-api-devel软件包的配置功能"
kim-config --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "kim-config命令不支持或参数错误"
# 示例:检查某个特定配置
LOG_INFO "检查特定配置"
output=$(kim-config --list)
CHECK_RESULT $? 0 0 "kim-config --list命令执行失败"
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载kim-api-devel软件包"
dnf remove -y kim-api-devel
CHECK_RESULT $? 0 0 "卸载kim-api-devel软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

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

View File

@@ -1,150 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : Test basic functionality verification
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试基础功能验证脚本
LOG_INFO "开始测试基础功能验证"
# 步骤1: 检查当前环境中是否已安装kim-api-devel软件包
LOG_INFO "步骤1: 检查kim-api-devel软件包是否已安装"
if rpm -q kim-api-devel &> /dev/null; then
LOG_INFO "kim-api-devel软件包已安装测试后将保持安装状态"
INSTALLED_BEFORE_TEST=true
else
LOG_INFO "kim-api-devel软件包未安装将在测试中安装"
INSTALLED_BEFORE_TEST=false
fi
# 步骤2: 检查yum源中是否有kim-api-devel软件包
LOG_INFO "步骤2: 检查yum源中是否有kim-api-devel软件包"
if ! dnf list available kim-api-devel &> /dev/null; then
LOG_ERROR "yum源中未找到kim-api-devel软件包"
exit 255
fi
LOG_INFO "yum源中存在kim-api-devel软件包"
# 步骤3: 如果未安装则安装kim-api-devel软件包
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
LOG_INFO "步骤3: 安装kim-api-devel软件包"
dnf install -y kim-api-devel
CHECK_RESULT $? 0 0 "安装kim-api-devel软件包失败"
LOG_INFO "kim-api-devel软件包安装成功"
fi
# 步骤4: 验证kim-api-devel软件包的基本功能
LOG_INFO "步骤4: 验证kim-api-devel软件包的基本功能"
# 检查软件包是否已正确安装
LOG_INFO "检查kim-api-devel软件包是否已正确安装"
rpm -q kim-api-devel
CHECK_RESULT $? 0 0 "kim-api-devel软件包未正确安装"
# 检查软件包提供的文件
LOG_INFO "检查kim-api-devel软件包提供的文件"
rpm -ql kim-api-devel | head -5
CHECK_RESULT $? 0 0 "无法列出kim-api-devel软件包提供的文件"
# 步骤5: 测试kim-api-devel相关命令
LOG_INFO "步骤5: 测试kim-api-devel相关命令"
# 检查是否有kim-api-config命令
LOG_INFO "检查kim-api-config命令是否存在"
if ! command -v kim-api-config &> /dev/null; then
LOG_ERROR "kim-api-config命令不存在"
exit 255
fi
# 测试kim-api-config命令的基本功能
LOG_INFO "测试kim-api-config命令的--version参数"
kim-api-config --version
CHECK_RESULT $? 0 0 "kim-api-config --version命令执行失败"
# 测试不支持的参数
LOG_INFO "测试不支持的参数"
kim-api-config --invalid-parameter 2>/dev/null
if [ $? -ne 0 ]; then
LOG_INFO "不支持的参数正确处理,返回非零退出码"
else
LOG_ERROR "不支持的参数未正确处理"
exit 255
fi
# 步骤6: 测试开发头文件和库文件
LOG_INFO "步骤6: 测试开发头文件和库文件"
# 检查头文件是否存在
LOG_INFO "检查kim-api开发头文件是否存在"
find /usr/include -name "*kim*" -type f | head -3
CHECK_RESULT $? 0 0 "未找到kim-api开发头文件"
# 检查库文件是否存在
LOG_INFO "检查kim-api库文件是否存在"
find /usr/lib* -name "*kim*" -type f | head -3
CHECK_RESULT $? 0 0 "未找到kim-api库文件"
# 步骤7: 在多服务器环境下测试(如果配置了相关环境变量)
LOG_INFO "步骤7: 在多服务器环境下测试"
if [ -n "$NODE2_IPV4" ] && [ -n "$NODE2_PASSWORD" ] && [ -n "$NODE2_USER" ]; then
LOG_INFO "在第二个服务器上检查kim-api-devel软件包"
SSH_CMD "rpm -q kim-api-devel" $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER
# 这里不检查结果,因为第二个服务器可能没有安装该软件包
LOG_INFO "第二个服务器测试完成"
else
LOG_INFO "未配置多服务器环境,跳过多服务器测试"
fi
# 步骤8: 清理环境
LOG_INFO "步骤8: 清理测试环境"
# 如果测试前未安装,则卸载软件包
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
LOG_INFO "卸载测试期间安装的kim-api-devel软件包"
dnf remove -y kim-api-devel
CHECK_RESULT $? 0 0 "卸载kim-api-devel软件包失败"
LOG_INFO "kim-api-devel软件包已成功卸载"
else
LOG_INFO "测试前已安装kim-api-devel软件包保持安装状态"
fi
# 步骤9: 最终验证
LOG_INFO "步骤9: 最终环境验证"
# 验证环境已恢复到测试前状态
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
LOG_INFO "验证kim-api-devel软件包已卸载"
if rpm -q kim-api-devel &> /dev/null; then
LOG_ERROR "kim-api-devel软件包未正确卸载"
exit 1
else
LOG_INFO "环境已成功恢复到测试前状态"
fi
else
LOG_INFO "验证kim-api-devel软件包仍保持安装"
rpm -q kim-api-devel
CHECK_RESULT $? 0 0 "kim-api-devel软件包意外被卸载"
LOG_INFO "kim-api-devel软件包保持安装状态"
fi
LOG_INFO "基础功能验证测试完成"
}
main "$@"

View File

@@ -1,57 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : Test querying the package version
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装kim-api-devel软件包
LOG_INFO "检查kim-api-devel软件包是否已安装"
rpm -q kim-api-devel > /dev/null 2>&1
installed=$?
# 如果未安装,则进行安装
if [ $installed -ne 0 ]; then
LOG_INFO "kim-api-devel软件包未安装开始安装"
# 检查yum源中是否存在该软件包
LOG_INFO "检查yum源中是否存在kim-api-devel软件包"
dnf list available kim-api-devel > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中不存在kim-api-devel软件包"
# 安装软件包
LOG_INFO "安装kim-api-devel软件包"
dnf install -y kim-api-devel
CHECK_RESULT $? 0 0 "安装kim-api-devel软件包失败"
fi
# 测试查询软件包版本
LOG_INFO "测试查询kim-api-devel软件包版本"
rpm -q --queryformat "%{VERSION}-%{RELEASE}\n" kim-api-devel
CHECK_RESULT $? 0 0 "查询kim-api-devel软件包版本失败"
# 如果脚本开始时未安装,则卸载软件包
if [ $installed -ne 0 ]; then
LOG_INFO "卸载kim-api-devel软件包"
dnf remove -y kim-api-devel
CHECK_RESULT $? 0 0 "卸载kim-api-devel软件包失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -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-16
# @License : Mulan PSL v2
# @Desc : 测试检查libgeotiff-help软件包版本的功能验证安装后能否查询到准确的版本信息。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试libgeotiff-help软件包版本检查功能
LOG_INFO "开始测试libgeotiff-help软件包版本检查功能"
# 检查yum源中是否存在libgeotiff-help软件包
LOG_INFO "检查yum源中是否存在libgeotiff-help软件包"
dnf list available libgeotiff-help > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到libgeotiff-help软件包"
exit 255
fi
# 检查系统是否已安装libgeotiff-help
LOG_INFO "检查系统是否已安装libgeotiff-help"
if rpm -q libgeotiff-help > /dev/null 2>&1; then
LOG_INFO "系统已安装libgeotiff-help测试结束后保持安装状态"
ALREADY_INSTALLED=1
else
LOG_INFO "系统未安装libgeotiff-help将进行安装测试"
ALREADY_INSTALLED=0
fi
# 如果未安装,则安装软件包
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "安装libgeotiff-help软件包"
dnf install -y libgeotiff-help
CHECK_RESULT $? 0 0 "安装libgeotiff-help软件包失败"
fi
# 测试--version参数
LOG_INFO "测试libgeotiff-help的--version参数"
libgeotiff-help --version > /dev/null 2>&1
if [ $? -eq 255 ]; then
LOG_ERROR "libgeotiff-help不支持--version参数"
exit 255
fi
# 检查版本信息
LOG_INFO "检查libgeotiff-help版本信息"
VERSION_OUTPUT=$(libgeotiff-help --version 2>&1)
if [ $? -ne 0 ]; then
LOG_ERROR "执行libgeotiff-help --version命令失败"
exit 1
fi
# 验证版本信息格式
LOG_INFO "验证版本信息格式"
if echo "$VERSION_OUTPUT" | grep -E "[0-9]+\.[0-9]+(\.[0-9]+)?" > /dev/null; then
LOG_INFO "版本信息格式正确: $VERSION_OUTPUT"
else
LOG_ERROR "版本信息格式不正确: $VERSION_OUTPUT"
exit 1
fi
# 测试-h参数
LOG_INFO "测试libgeotiff-help的-h参数"
libgeotiff-help -h > /dev/null 2>&1
if [ $? -eq 255 ]; then
LOG_ERROR "libgeotiff-help不支持-h参数"
exit 255
fi
# 检查帮助信息
LOG_INFO "检查libgeotiff-help帮助信息"
HELP_OUTPUT=$(libgeotiff-help -h 2>&1)
if [ $? -ne 0 ]; then
LOG_ERROR "执行libgeotiff-help -h命令失败"
exit 1
fi
# 验证帮助信息中包含version关键字
LOG_INFO "验证帮助信息中是否包含version相关信息"
if echo "$HELP_OUTPUT" | grep -i "version" > /dev/null; then
LOG_INFO "帮助信息中包含version相关信息"
else
LOG_INFO "帮助信息中未找到version相关信息这可能不是错误"
fi
# 清理环境
LOG_INFO "清理测试环境"
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "卸载测试安装的libgeotiff-help软件包"
dnf remove -y libgeotiff-help
CHECK_RESULT $? 0 0 "卸载libgeotiff-help软件包失败"
else
LOG_INFO "保持原有的libgeotiff-help软件包安装状态"
fi
LOG_INFO "libgeotiff-help软件包版本检查功能测试完成"
}
main "$@"

View File

@@ -1,78 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试libgeotiff-help软件包显示帮助文档的功能验证执行帮助命令能否输出正确的使用信息。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试libgeotiff-help软件包显示帮助文档的功能"
# 检查libgeotiff-help软件包是否已在yum源中
LOG_INFO "检查yum源中是否存在libgeotiff-help软件包"
dnf list libgeotiff-help > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到libgeotiff-help软件包"
exit 255
fi
# 检查libgeotiff-help软件包是否已安装
LOG_INFO "检查libgeotiff-help软件包是否已安装"
rpm -q libgeotiff-help > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "libgeotiff-help软件包已安装标记为保持安装状态"
keep_installed=true
else
LOG_INFO "libgeotiff-help软件包未安装标记为需要清理"
keep_installed=false
fi
# 如果软件包未安装,则安装
if [ "$keep_installed" = "false" ]; then
LOG_INFO "安装libgeotiff-help软件包"
dnf install -y libgeotiff-help
CHECK_RESULT $? 0 0 "安装libgeotiff-help软件包失败"
fi
# 验证libgeotiff-help命令是否存在
LOG_INFO "验证libgeotiff-help命令是否存在"
which libgeotiff-help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "libgeotiff-help命令不存在"
# 测试libgeotiff-help命令的--help参数
LOG_INFO "测试libgeotiff-help命令的--help参数"
libgeotiff-help --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "libgeotiff-help命令不支持--help参数"
# 验证帮助文档是否包含正确的使用信息
LOG_INFO "验证帮助文档是否包含正确的使用信息"
libgeotiff-help --help | grep -q "Usage"
CHECK_RESULT $? 0 0 "帮助文档未包含正确的使用信息"
# 清理环境:如果脚本开始时未安装,则卸载软件包
if [ "$keep_installed" = "false" ]; then
LOG_INFO "卸载libgeotiff-help软件包"
dnf remove -y libgeotiff-help
CHECK_RESULT $? 0 0 "卸载libgeotiff-help软件包失败"
else
LOG_INFO "保持libgeotiff-help软件包安装状态"
fi
LOG_INFO "测试libgeotiff-help软件包显示帮助文档的功能完成"
}
main "$@"

View File

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

View File

@@ -1,88 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试libgeotiff-help软件包的卸载功能验证其能否通过包管理器被完全移除。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 初始化变量
PACKAGE_NAME="libgeotiff-help"
LOG_INFO "测试开始:验证 $PACKAGE_NAME 软件包的卸载功能"
# 步骤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_BEFORE=true
else
LOG_INFO "$PACKAGE_NAME 未安装,将在测试前安装,测试结束后卸载"
INSTALLED_BEFORE=false
fi
# 步骤3如果未安装则安装软件包作为测试步骤
if [ "$INSTALLED_BEFORE" = "false" ]; then
LOG_INFO "步骤3安装 $PACKAGE_NAME 软件包"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装 $PACKAGE_NAME 失败"
fi
# 步骤4验证软件包安装成功
LOG_INFO "步骤4验证 $PACKAGE_NAME 软件包安装成功"
rpm -q $PACKAGE_NAME
CHECK_RESULT $? 0 0 "$PACKAGE_NAME 安装后未在系统中找到"
# 步骤5卸载软件包
LOG_INFO "步骤5卸载 $PACKAGE_NAME 软件包"
dnf remove -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "卸载 $PACKAGE_NAME 失败"
# 步骤6验证软件包已完全移除
LOG_INFO "步骤6验证 $PACKAGE_NAME 软件包已完全移除"
rpm -q $PACKAGE_NAME &>/dev/null
if [ $? -eq 0 ]; then
LOG_ERROR "$PACKAGE_NAME 卸载后仍在系统中存在"
CHECK_RESULT 1 0 0 "$PACKAGE_NAME 未完全移除"
else
LOG_INFO "$PACKAGE_NAME 已完全移除"
CHECK_RESULT 0 0 0 "验证通过"
fi
# 步骤7环境恢复
LOG_INFO "步骤7环境恢复"
if [ "$INSTALLED_BEFORE" = "false" ]; then
LOG_INFO "测试前未安装 $PACKAGE_NAME,无需恢复"
else
LOG_INFO "重新安装 $PACKAGE_NAME 以恢复原始状态"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "恢复 $PACKAGE_NAME 安装状态失败"
LOG_INFO "环境已恢复至测试前状态"
fi
LOG_INFO "测试结束:$PACKAGE_NAME 卸载功能验证完成"
}
main "$@"

View File

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

View File

@@ -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-10-18
# @License : Mulan PSL v2
# @Desc : Test package installation
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查环境是否已安装
LOG_INFO "检查环境是否已安装"
rpm -q sgx-ra-service > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "环境已安装,跳过安装步骤"
INSTALLED=true
else
LOG_INFO "环境未安装,将执行安装步骤"
INSTALLED=false
fi
# 检查yum源中是否存在sgx-ra-service包
LOG_INFO "检查yum源中是否存在sgx-ra-service包"
dnf list available sgx-ra-service > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中不存在sgx-ra-service包"
# 安装sgx-ra-service包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装sgx-ra-service包"
dnf install -y sgx-ra-service > /dev/null 2>&1
CHECK_RESULT $? 0 255 "安装sgx-ra-service包失败"
fi
# 测试软件包功能
LOG_INFO "测试软件包功能"
sgx-ra-service --version > /dev/null 2>&1
CHECK_RESULT $? 0 255 "sgx-ra-service命令不支持或参数错误"
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载sgx-ra-service包"
dnf remove -y sgx-ra-service > /dev/null 2>&1
CHECK_RESULT $? 0 $? "卸载sgx-ra-service包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

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

View File

@@ -1,74 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-04
# @License : Mulan PSL v2
# @Desc : Test service startup
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装sgx-ra-service
LOG_INFO "检查是否已安装sgx-ra-service"
if dnf list installed sgx-ra-service &>/dev/null; then
LOG_INFO "sgx-ra-service已安装"
INSTALLED=true
else
LOG_INFO "sgx-ra-service未安装"
INSTALLED=false
fi
# 检查yum源中是否有sgx-ra-service软件包
LOG_INFO "检查yum源中是否有sgx-ra-service软件包"
if ! dnf list available sgx-ra-service &>/dev/null; then
LOG_ERROR "yum源中未找到sgx-ra-service软件包"
exit 255
fi
# 如果未安装则安装sgx-ra-service
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装sgx-ra-service"
dnf install -y sgx-ra-service
CHECK_RESULT $? 0 0 "安装sgx-ra-service失败"
fi
# 测试服务启动功能
LOG_INFO "测试服务启动功能"
systemctl start sgx-ra-service
CHECK_RESULT $? 0 0 "启动sgx-ra-service服务失败"
# 检查服务状态是否为active (running)
LOG_INFO "检查服务状态是否为active (running)"
systemctl is-active sgx-ra-service | grep -q "active"
CHECK_RESULT $? 0 0 "服务状态未达到active (running)"
# 如果最初未安装则在测试完成后卸载sgx-ra-service
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载sgx-ra-service"
dnf remove -y sgx-ra-service
CHECK_RESULT $? 0 0 "卸载sgx-ra-service失败"
# 检查是否成功卸载
LOG_INFO "检查是否成功卸载sgx-ra-service"
if dnf list installed sgx-ra-service &>/dev/null; then
LOG_ERROR "卸载sgx-ra-service失败仍可检测到已安装"
exit 1
fi
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

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

View File

@@ -1,65 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-04
# @License : Mulan PSL v2
# @Desc : Test service stop
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试脚本test_sgx-ra-service_function_stop
LOG_INFO "开始测试服务停止功能"
# 检查是否已安装软件包
LOG_INFO "检查是否已安装 sgx-ra-service 软件包"
if ! dnf list installed sgx-ra-service &> /dev/null; then
LOG_INFO "未安装 sgx-ra-service准备安装"
# 检查 yum 源中是否有该软件包
if ! dnf list available sgx-ra-service &> /dev/null; then
LOG_ERROR "yum 源中未找到 sgx-ra-service 软件包"
exit 255
fi
# 安装软件包
dnf install -y sgx-ra-service
CHECK_RESULT $? 0 0 "安装 sgx-ra-service 失败"
INSTALLED=1
else
LOG_INFO "sgx-ra-service 已安装"
INSTALLED=0
fi
# 测试服务停止功能
LOG_INFO "测试服务停止功能"
systemctl stop sgx-ra-service
CHECK_RESULT $? 0 0 "停止 sgx-ra-service 服务失败"
# 验证服务是否已停止
LOG_INFO "验证服务是否已停止"
systemctl is-active sgx-ra-service | grep -q "inactive"
CHECK_RESULT $? 0 0 "服务未成功停止"
# 恢复环境(如果脚本开始时未安装,则卸载)
if [ $INSTALLED -eq 1 ]; then
LOG_INFO "卸载 sgx-ra-service 软件包"
dnf remove -y sgx-ra-service
CHECK_RESULT $? 0 0 "卸载 sgx-ra-service 失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -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-18
# @License : Mulan PSL v2
# @Desc : 测试能否成功链接libc++abi库进行简单的C++异常/类型信息操作。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试libc++abi库的链接功能"
# 1. 检查软件包是否在yum源中
LOG_INFO "步骤1: 检查llvm-toolset-19-libcxxabi-devel软件包是否在yum源中"
dnf list available llvm-toolset-19-libcxxabi-devel &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "软件包llvm-toolset-19-libcxxabi-devel不在yum源中"
exit 255
fi
# 2. 检查是否已安装软件包
LOG_INFO "步骤2: 检查llvm-toolset-19-libcxxabi-devel是否已安装"
rpm -q llvm-toolset-19-libcxxabi-devel &>/dev/null
INSTALLED=$?
NEED_CLEANUP=0
# 3. 如果未安装,则安装软件包
if [ $INSTALLED -ne 0 ]; then
LOG_INFO "步骤3: 安装llvm-toolset-19-libcxxabi-devel软件包"
dnf install -y llvm-toolset-19-libcxxabi-devel
CHECK_RESULT $? 0 0 "安装llvm-toolset-19-libcxxabi-devel失败"
NEED_CLEANUP=1
else
LOG_INFO "步骤3: 软件包已安装,跳过安装步骤"
fi
# 4. 创建测试C++程序
LOG_INFO "步骤4: 创建测试C++程序测试libc++abi库链接"
cat > test_libcxxabi.cpp << "EOF"
#include <iostream>
#include <stdexcept>
#include <typeinfo>
class TestClass {
public:
virtual ~TestClass() {}
};
int main() {
// 测试异常处理
try {
throw std::runtime_error("Test exception");
} catch (const std::exception& e) {
std::cout << "Caught exception: " << e.what() << std::endl;
}
// 测试类型信息
TestClass obj;
std::cout << "Type name: " << typeid(obj).name() << std::endl;
return 0;
}
EOF
CHECK_RESULT $? 0 0 "创建测试程序失败"
# 5. 编译测试程序
LOG_INFO "步骤5: 编译测试程序链接libc++abi库"
clang++ -stdlib=libc++ -lc++abi test_libcxxabi.cpp -o test_libcxxabi
CHECK_RESULT $? 0 0 "编译测试程序失败"
# 6. 运行测试程序
LOG_INFO "步骤6: 运行测试程序验证libc++abi功能"
./test_libcxxabi
CHECK_RESULT $? 0 0 "运行测试程序失败"
# 7. 验证输出结果
LOG_INFO "步骤7: 验证测试程序输出结果"
OUTPUT=$(./test_libcxxabi)
echo "$OUTPUT" | grep -q "Caught exception: Test exception"
CHECK_RESULT $? 0 0 "异常处理功能验证失败"
echo "$OUTPUT" | grep -q "Type name:"
CHECK_RESULT $? 0 0 "类型信息功能验证失败"
LOG_INFO "步骤8: 清理测试文件"
rm -f test_libcxxabi.cpp test_libcxxabi
CHECK_RESULT $? 0 0 "清理测试文件失败"
# 8. 如果脚本安装的软件包,则卸载
if [ $NEED_CLEANUP -eq 1 ]; then
LOG_INFO "步骤9: 卸载测试安装的软件包"
dnf remove -y llvm-toolset-19-libcxxabi-devel
CHECK_RESULT $? 0 0 "卸载llvm-toolset-19-libcxxabi-devel失败"
else
LOG_INFO "步骤9: 保持原有安装状态,无需卸载"
fi
LOG_INFO "测试完成成功验证libc++abi库的链接和功能"
}
main "$@"

View File

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

View File

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

View File

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

View File

@@ -1,104 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试java-17-openjdk-src-slowdebug软件包的降级功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义软件包名称
PACKAGE_NAME="java-17-openjdk-src-slowdebug"
# 检查软件包是否存在于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 "检查当前是否已安装软件包: $PACKAGE_NAME"
rpm -q $PACKAGE_NAME > /dev/null 2>&1
if [ $? -eq 0 ]; then
INSTALLED=true
LOG_INFO "软件包已安装,脚本结束后将保持安装状态"
else
INSTALLED=false
LOG_INFO "软件包未安装,将在测试后卸载"
fi
# 安装软件包(如果未安装)
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装软件包: $PACKAGE_NAME"
dnf install -y $PACKAGE_NAME > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 获取当前软件包版本
LOG_INFO "获取当前软件包版本"
CURRENT_VERSION=$(rpm -q --queryformat "%{VERSION}-%{RELEASE}" $PACKAGE_NAME)
LOG_INFO "当前软件包版本: $CURRENT_VERSION"
# 获取可用的旧版本列表假设通过dnf list显示
LOG_INFO "获取可用的旧版本列表"
OLD_VERSIONS=$(dnf list --showduplicates $PACKAGE_NAME | grep -v "$CURRENT_VERSION" | awk "{print $2}" | sort -u)
if [ -z "$OLD_VERSIONS" ]; then
LOG_ERROR "没有可用的旧版本用于降级测试"
exit 255
fi
# 选择第一个旧版本进行降级测试(可根据需求调整选择逻辑)
TARGET_VERSION=$(echo "$OLD_VERSIONS" | head -n1)
LOG_INFO "选择降级目标版本: $TARGET_VERSION"
# 执行降级操作
LOG_INFO "执行降级操作到版本: $TARGET_VERSION"
dnf downgrade -y ${PACKAGE_NAME}-${TARGET_VERSION} > /dev/null 2>&1
CHECK_RESULT $? 0 0 "降级操作失败"
# 验证降级后的版本是否正确
LOG_INFO "验证降级后的版本"
NEW_VERSION=$(rpm -q --queryformat "%{VERSION}-%{RELEASE}" $PACKAGE_NAME)
CHECK_RESULT "$NEW_VERSION" "$TARGET_VERSION" != "降级后版本不匹配"
# 恢复原始状态(如果初始未安装则卸载)
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载软件包以恢复环境"
dnf remove -y $PACKAGE_NAME > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载软件包失败"
# 再次检查是否卸载成功
rpm -q $PACKAGE_NAME > /dev/null 2>&1
CHECK_RESULT $? !0 0 "卸载后仍检测到软件包"
else
#如果初始已安装,则恢复到原始版本(假设需要恢复到原始版本)
if [ "$NEW_VERSION" != "$CURRENT_VERSION" ]; then
LOG_INFO "恢复到原始版本: $CURRENT_VERSION"
dnf upgrade -y ${PACKAGE_NAME}-${CURRENT_VERSION} > /dev/null 2>&1
CHECK_RESULT ? ? ? “恢复原始版木失畋”
#验证是否恢复成功
RESTORED VERSION=$(rpm —q —queryformat " % {VERSION}- % {RELEASE}"$ PACKAGENAME)
CHECK RESULT "$RESTORED VERSION" "$CURRENT VERSION" != "恢复后版木不匹配”
fi
fi
LOG INFO “测试完成”
}
main "$@"

View File

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

View File

@@ -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-07-05
# @License : Mulan PSL v2
# @Desc : 测试java-17-openjdk-src-slowdebug软件包的重新安装功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查java-17-openjdk-src-slowdebug软件包是否已安装
LOG_INFO "检查java-17-openjdk-src-slowdebug软件包是否已安装"
rpm -q java-17-openjdk-src-slowdebug > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "java-17-openjdk-src-slowdebug软件包已安装"
INSTALLED=1
else
LOG_INFO "java-17-openjdk-src-slowdebug软件包未安装"
INSTALLED=0
fi
# 检查yum源中是否存在java-17-openjdk-src-slowdebug软件包
LOG_INFO "检查yum源中是否存在java-17-openjdk-src-slowdebug软件包"
dnf list available java-17-openjdk-src-slowdebug > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中不存在java-17-openjdk-src-slowdebug软件包"
# 如果未安装,则安装软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装java-17-openjdk-src-slowdebug软件包"
dnf install -y java-17-openjdk-src-slowdebug
CHECK_RESULT $? 0 0 "安装java-17-openjdk-src-slowdebug软件包失败"
fi
# 重新安装软件包
LOG_INFO "开始重新安装java-17-openjdk-src-slowdebug软件包"
dnf reinstall -y java-17-openjdk-src-slowdebug
CHECK_RESULT $? 0 0 "重新安装java-17-openjdk-src-slowdebug软件包失败"
# 如果最初未安装,则在测试完成后卸载软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始卸载java-17-openjdk-src-slowdebug软件包"
dnf remove -y java-17-openjdk-src-slowdebug
CHECK_RESULT $? 0 0 "卸载java-17-openjdk-src-slowdebug软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,92 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试java-17-openjdk-src-slowdebug软件包的回滚功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查yum源中是否存在指定的软件包
check_package_exist() {
local package_name=$1
LOG_INFO "检查yum源中是否存在软件包: $package_name"
dnf list available "$package_name" &> /dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在软件包: $package_name"
exit 255
fi
}
# 检查命令是否成功执行
check_command_result() {
local result=$1
local expected=$2
local exit_code=$3
local error_msg=$4
if [ "$result" -ne "$expected" ]; then
LOG_ERROR "$error_msg"
exit "$exit_code"
fi
}
# 检查Java是否已安装
is_java_installed() {
rpm -q java-17-openjdk-src-slowdebug &> /dev/null
return $?
}
# 安装Java软件包
install_java() {
LOG_INFO "开始安装java-17-openjdk-src-slowdebug软件包"
dnf install -y java-17-openjdk-src-slowdebug
CHECK_RESULT $? 0 0 "安装java-17-openjdk-src-slowdebug失败"
}
# 卸载Java软件包
uninstall_java() {
LOG_INFO "开始卸载java-17-openjdk-src-slowdebug软件包"
dnf remove -y java-17-openjdk-src-slowdebug
CHECK_RESULT $? 0 0 "卸载java-17-openjdk-src-slowdebug失败"
}
# 测试Java回滚功能
test_java_rollback() {
LOG_INFO "测试Java回滚功能"
# 检查Java是否已安装
if is_java_installed; then
LOG_INFO "java-17-openjdk-src-slowdebug已安装跳过安装步骤"
else
install_java
# 确保脚本结束时卸载Java如果最初未安装
trap "uninstall_java" EXIT
fi
# 模拟回滚操作这里假设回滚是通过dnf history undo实现的
}
# 主函数入口,执行测试
main() {
}
}
main "$@"

View File

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

View File

@@ -1,89 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-05
# @License : Mulan PSL v2
# @Desc : 测试java-17-openjdk-src-slowdebug软件包的升级功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查yum源中是否存在指定的软件包
check_package_existence() {
local package_name=$1
LOG_INFO "检查yum源中是否存在软件包: $package_name"
dnf list available "$package_name" &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在软件包: $package_name"
exit 255
fi
}
# 安装指定的软件包
install_package() {
local package_name=$1
LOG_INFO "安装软件包: $package_name"
dnf install -y "$package_name"
CHECK_RESULT $? 0 0 "安装软件包失败: $package_name"
}
# 卸载指定的软件包
uninstall_package() {
local package_name=$1
LOG_INFO "卸载软件包: $package_name"
dnf remove -y "$package_name"
CHECK_RESULT $? 0 0 "卸载软件包失败: $package_name"
}
# 检查软件包是否已安装
is_package_installed() {
local package_name=$1
rpm -q "$package_name" &>/dev/null
return $?
}
# 主测试逻辑
main() {
local package="java-17-openjdk-src-slowdebug"
# 检查环境是否已安装
if is_package_installed "$package"; then
LOG_INFO "环境已安装,测试完成后保持安装状态"
else
LOG_INFO "环境未安装,测试完成后将卸载软件包"
check_package_existence "$package"
install_package "$package"
# 测试升级功能假设升级命令为dnf upgrade
LOG_INFO "测试软件包的升级功能"
dnf upgrade -y "$package"
CHECK_RESULT $? 0 0 "升级软件包失败: $package"
# 清理环境
uninstall_package "$package"
LOG_INFO "测试完成,环境已恢复"
# 确保退出码正确传递非255场景
exit $?
fi
}
main
}
main "$@"

View File

@@ -1,82 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-04-02
# @License : Mulan PSL v2
# @Desc : 测试检查单个Python文件PEP8规范功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试检查单个Python文件PEP8规范功能"
LOG_INFO "步骤1检查pep8软件包是否在yum源中"
dnf list python-pep8 2>/dev/null | grep -q "python-pep8"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到python-pep8软件包"
exit 255
fi
LOG_INFO "步骤2检查当前环境是否已安装pep8"
rpm -q python-pep8 > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "pep8软件包已安装标记为已安装状态"
INSTALLED=1
else
LOG_INFO "pep8软件包未安装标记为未安装状态"
INSTALLED=0
fi
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "步骤3安装pep8软件包"
dnf install -y python-pep8
CHECK_RESULT $? 0 0 "安装pep8软件包失败"
fi
LOG_INFO "步骤4检查pep8命令是否支持--help参数"
pep8 --help > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "pep8命令不支持--help参数或命令执行失败"
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "清理环境卸载pep8软件包"
dnf remove -y python-pep8
fi
exit 255
fi
LOG_INFO "步骤5创建测试用的Python文件"
cat > test_pep8.py << "EOF"
def hello():
print("Hello, World!")
EOF
CHECK_RESULT $? 0 0 "创建测试Python文件失败"
LOG_INFO "步骤6使用pep8检查Python文件PEP8规范"
pep8 test_pep8.py
CHECK_RESULT $? 0 0 "pep8检查PEP8规范失败"
LOG_INFO "步骤7清理临时文件"
rm -f test_pep8.py
CHECK_RESULT $? 0 0 "删除临时文件失败"
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "步骤8卸载pep8软件包"
dnf remove -y python-pep8
CHECK_RESULT $? 0 0 "卸载pep8软件包失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,92 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-04-02
# @License : Mulan PSL v2
# @Desc : 测试忽略指定PEP8错误代码功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试忽略指定PEP8错误代码功能"
LOG_INFO "检查是否已安装python-pep8软件包"
if rpm -q python-pep8 &>/dev/null; then
LOG_INFO "python-pep8已安装测试后将保持安装状态"
already_installed=1
else
LOG_INFO "python-pep8未安装将在测试过程中安装"
already_installed=0
fi
LOG_INFO "检查yum源中是否有python-pep8软件包"
if ! dnf list available python-pep8 &>/dev/null; then
LOG_ERROR "yum源中未找到python-pep8软件包"
exit 255
fi
LOG_INFO "检查python-pep8命令是否支持--ignore参数"
if ! pep8 --help 2>&1 | grep -q -- "--ignore"; then
LOG_ERROR "python-pep8命令不支持--ignore参数"
exit 255
fi
if [ $already_installed -eq 0 ]; then
LOG_INFO "安装python-pep8软件包"
dnf install -y python-pep8
CHECK_RESULT $? 0 0 "安装python-pep8失败"
fi
LOG_INFO "创建一个测试Python文件"
cat > test_pep8.py << "EOF"
def test_function():
x=1
y = 2
return x+y
EOF
CHECK_RESULT $? 0 0 "创建测试文件失败"
LOG_INFO "测试不带--ignore参数执行pep8检查"
pep8 test_pep8.py
expected_failure=$?
if [ $expected_failure -eq 0 ]; then
LOG_ERROR "预期pep8检查应发现错误但实际未发现"
CHECK_RESULT 1 0 0 "pep8检查结果不符合预期"
fi
LOG_INFO "测试使用--ignore参数忽略E225错误"
pep8 --ignore=E225 test_pep8.py
CHECK_RESULT $? 0 0 "忽略E225错误后pep8检查应通过"
LOG_INFO "测试使用--ignore参数忽略多个错误"
pep8 --ignore=E225,E302 test_pep8.py
CHECK_RESULT $? 0 0 "忽略多个错误后pep8检查应通过"
LOG_INFO "清理测试文件"
rm -f test_pep8.py
CHECK_RESULT $? 0 0 "删除测试文件失败"
if [ $already_installed -eq 0 ]; then
LOG_INFO "卸载python-pep8软件包"
dnf remove -y python-pep8
CHECK_RESULT $? 0 0 "卸载python-pep8失败"
else
LOG_INFO "保持python-pep8安装状态"
fi
LOG_INFO "测试忽略指定PEP8错误代码功能完成"
}
main "$@"

View File

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

View File

@@ -1,96 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-04-02
# @License : Mulan PSL v2
# @Desc : 测试递归检查目录下所有Python文件PEP8规范功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试测试递归检查目录下所有Python文件PEP8规范功能"
# 定义软件包名称
PACKAGE_NAME="python3-pep8"
# 检查软件包是否已在yum源中
LOG_INFO "检查yum源中是否存在软件包${PACKAGE_NAME}"
if ! dnf list available ${PACKAGE_NAME} &>/dev/null; then
LOG_ERROR "软件包 ${PACKAGE_NAME} 在yum源中不存在"
exit 255
fi
# 检查当前环境是否已安装指定软件包
LOG_INFO "检查当前环境是否已安装软件包:${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
# 如果未安装,则安装软件包
if [ "${INSTALLED_BEFORE_TEST}" = "false" ]; then
LOG_INFO "安装软件包:${PACKAGE_NAME}"
dnf install -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "安装软件包 ${PACKAGE_NAME} 失败"
fi
# 检查pep8命令是否支持--recursive参数
LOG_INFO "检查pep8命令是否支持--recursive参数"
pep8 --help | grep -q -- "--recursive"
CHECK_RESULT $? 0 0 "pep8命令不支持--recursive参数退出测试"
if [ $? -ne 0 ]; then
exit 255
fi
# 创建测试目录和测试Python文件
LOG_INFO "创建测试目录和测试Python文件"
TEST_DIR="/tmp/test_pep8_recursive"
mkdir -p ${TEST_DIR}
cat > ${TEST_DIR}/test1.py << EOF
def hello():
print("Hello World")
EOF
cat > ${TEST_DIR}/test2.py << EOF
def world():
print("World Hello")
EOF
cat > ${TEST_DIR}/subdir/test3.py << EOF
def test():
print("Test")
EOF
# 使用pep8递归检查目录下所有Python文件
LOG_INFO "执行pep8递归检查目录下所有Python文件"
pep8 --recursive ${TEST_DIR}
CHECK_RESULT $? 0 0 "递归检查目录下所有Python文件PEP8规范失败"
# 清理测试目录
LOG_INFO "清理测试目录"
rm -rf ${TEST_DIR}
# 如果测试前未安装软件包,则在测试结束后卸载
if [ "${INSTALLED_BEFORE_TEST}" = "false" ]; then
LOG_INFO "卸载软件包:${PACKAGE_NAME}"
dnf remove -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "卸载软件包 ${PACKAGE_NAME} 失败"
fi
LOG_INFO "测试完成测试递归检查目录下所有Python文件PEP8规范功能"
}
main "$@"

View File

@@ -1,108 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-04-02
# @License : Mulan PSL v2
# @Desc : 测试显示不符合规范的源代码行功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试显示不符合规范的源代码行功能
LOG_INFO "开始测试pep8的--show-source功能"
# 定义软件包名称
PACKAGE_NAME="python3-pep8"
COMMAND_NAME="pep8"
# 检查是否已安装pep8
LOG_INFO "检查pep8是否已安装"
if command -v $COMMAND_NAME &>/dev/null; then
LOG_INFO "pep8已安装测试后将保持安装状态"
ALREADY_INSTALLED=1
else
LOG_INFO "pep8未安装将在测试过程中安装"
ALREADY_INSTALLED=0
fi
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否有$PACKAGE_NAME软件包"
if ! dnf list available $PACKAGE_NAME &>/dev/null; then
LOG_ERROR "yum源中未找到$PACKAGE_NAME软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "安装$PACKAGE_NAME软件包"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装$PACKAGE_NAME失败"
fi
# 检查pep8命令是否可用
LOG_INFO "验证pep8命令是否可用"
$COMMAND_NAME --help &>/dev/null
CHECK_RESULT $? 0 0 "pep8命令不可用"
# 检查--show-source参数是否支持
LOG_INFO "检查--show-source参数是否支持"
if ! $COMMAND_NAME --help 2>&1 | grep -q "show-source"; then
LOG_ERROR "--show-source参数不支持"
exit 255
fi
# 创建测试Python文件
LOG_INFO "创建测试Python文件"
TEST_FILE="test_pep8.py"
cat > $TEST_FILE << "EOF"
def bad_function():
x=1 # 缺少空格
y =2 # 缺少空格
print(x+y)
EOF
# 测试--show-source功能
LOG_INFO "测试pep8的--show-source功能"
$COMMAND_NAME --show-source $TEST_FILE > output.txt 2>&1
CHECK_RESULT $? 1 0 "pep8命令执行失败" # pep8发现错误时返回1
# 验证输出包含源代码行
LOG_INFO "验证输出包含源代码行"
if grep -q "x=1" output.txt && grep -q "y =2" output.txt; then
LOG_INFO "--show-source功能正常显示了不符合规范的源代码行"
else
LOG_ERROR "--show-source功能异常未显示不符合规范的源代码行"
rm -f $TEST_FILE output.txt
exit 1
fi
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f $TEST_FILE output.txt
# 恢复环境
LOG_INFO "恢复测试环境"
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "卸载$PACKAGE_NAME软件包"
dnf remove -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "卸载$PACKAGE_NAME失败"
else
LOG_INFO "保持$PACKAGE_NAME软件包安装状态"
fi
LOG_INFO "测试显示不符合规范的源代码行功能完成"
}
main "$@"

View File

@@ -1,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-04-02
# @License : Mulan PSL v2
# @Desc : 测试生成PEP8检查统计报告功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试生成PEP8检查统计报告功能"
# 步骤1检查环境是否已安装python-pep8-help-function-statistics软件包
LOG_INFO "检查环境是否已安装python-pep8-help-function-statistics软件包"
rpm -q python-pep8-help-function-statistics
if [ $? -eq 0 ]; then
LOG_INFO "软件包已安装,测试结束将保持安装状态"
installed=true
else
LOG_INFO "软件包未安装,将在测试步骤中安装"
installed=false
fi
# 步骤2检查yum源中是否有python-pep8-help-function-statistics软件包
LOG_INFO "检查yum源中是否有python-pep8-help-function-statistics软件包"
dnf list available python-pep8-help-function-statistics &>/dev/null
CHECK_RESULT $? 0 0 "yum源中没有python-pep8-help-function-statistics软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中没有python-pep8-help-function-statistics软件包"
exit 255
fi
# 步骤3如果未安装安装软件包
if [ "$installed" = false ]; then
LOG_INFO "安装python-pep8-help-function-statistics软件包"
dnf install -y python-pep8-help-function-statistics
CHECK_RESULT $? 0 0 "安装python-pep8-help-function-statistics软件包失败"
fi
# 步骤4检查命令参数是否存在或支持
LOG_INFO "检查命令参数是否存在或支持"
python-pep8-help-function-statistics --help &>/dev/null
CHECK_RESULT $? 0 0 "命令参数不存在或不支持"
if [ $? -ne 0 ]; then
LOG_ERROR "命令参数不存在或不支持"
exit 255
fi
# 步骤5执行生成PEP8检查统计报告功能测试
LOG_INFO "执行生成PEP8检查统计报告功能测试"
python-pep8-help-function-statistics --generate-report
CHECK_RESULT $? 0 0 "生成PEP8检查统计报告失败"
# 步骤6验证生成的报告文件是否存在
LOG_INFO "验证生成的报告文件是否存在"
if [ -f "pep8_report.html" ]; then
LOG_INFO "报告文件生成成功"
else
LOG_ERROR "报告文件未生成"
exit 1
fi
# 步骤7清理环境恢复到之前的状态
LOG_INFO "清理测试环境"
if [ "$installed" = false ]; then
LOG_INFO "卸载python-pep8-help-function-statistics软件包"
dnf remove -y python-pep8-help-function-statistics
CHECK_RESULT $? 0 0 "卸载python-pep8-help-function-statistics软件包失败"
fi
# 步骤8删除生成的报告文件
LOG_INFO "删除生成的报告文件"
rm -f pep8_report.html
CHECK_RESULT $? 0 0 "删除报告文件失败"
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

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

View File

@@ -1,105 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-06-29
# @License : Mulan PSL v2
# @Desc : 测试qt5-qtserialbus-examples软件包的降级功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查软件包是否已安装
check_package_installed() {
rpm -q "$1" &> /dev/null
return $?
}
# 检查软件包是否在yum源中
check_package_in_repo() {
dnf list available "$1" &> /dev/null
return $?
}
# 安装软件包
install_package() {
LOG_INFO "正在安装软件包: $1"
dnf install -y "$1"
CHECK_RESULT $? 0 0 "安装软件包失败"
}
# 卸载软件包
uninstall_package() {
LOG_INFO "正在卸载软件包: $1"
dnf remove -y "$1"
CHECK_RESULT $? 0 0 "卸载软件包失败"
}
# 降级软件包
downgrade_package() {
LOG_INFO "正在降级软件包: $1"
dnf downgrade -y "$1"
CHECK_RESULT $? 0 0 "降级软件包失败"
}
# 主函数
main() {
local package="qt5-qtserialbus-examples"
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否有软件包: $package"
check_package_in_repo "$package" || {
LOG_ERROR "yum源中未找到软件包: $package"
exit 255
}
# 检查是否已安装软件包
local installed=false
check_package_installed "$package" && installed=true
# 如果未安装,则安装软件包
if ! $installed; then
install_package "$package"
CHECK_RESULT $? 0 0 "安装步骤失败"
installed=true
LOG_INFO "已成功安装软件包: $package"
# 执行降级测试
LOG_INFO "开始执行降级测试"
downgrade_package "$package"
# 卸载临时安装的软件包(仅当脚本开始时未安装)
LOG_INFO "清理环境:卸载临时安装的软件包: $package"
uninstall_package "$package"
#确保环境恢复原状
LOG_INFO "环境已恢复至初始状态"
exit
else
LOG_INFO "软件已存在,无需再次安装,直接执行降级测试"
downgrade_package "$package"
#不卸载已有环境
LOG_INFO "脚本结束,保留已有安装状态"
exit
fi
}
#调用主函数执行脚本
main
}
main "$@"

View File

@@ -1,71 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-12
# @License : Mulan PSL v2
# @Desc : 测试qt5-qtserialbus-examples软件包的串口通信功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装qt5-qtserialbus-examples软件包
LOG_INFO "检查qt5-qtserialbus-examples软件包是否已安装"
dnf list installed qt5-qtserialbus-examples > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "qt5-qtserialbus-examples软件包已安装"
INSTALLED=true
else
LOG_INFO "qt5-qtserialbus-examples软件包未安装"
INSTALLED=false
fi
# 检查yum源中是否存在qt5-qtserialbus-examples软件包
LOG_INFO "检查yum源中是否存在qt5-qtserialbus-examples软件包"
dnf list available qt5-qtserialbus-examples > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到qt5-qtserialbus-examples软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装qt5-qtserialbus-examples软件包"
dnf install -y qt5-qtserialbus-examples > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装qt5-qtserialbus-examples软件包失败"
fi
# 测试串口通信功能
LOG_INFO "测试串口通信功能"
serialcomm_example=$(find /usr/lib64/qt5/examples/serialport -name serialcomm 2>/dev/null | head -n 1)
if [ -z "$serialcomm_example" ]; then
LOG_ERROR "未找到serialcomm示例程序"
exit 255
fi
LOG_INFO "执行serialcomm示例程序"
$serialcomm_example > /dev/null 2>&1
CHECK_RESULT $? 0 0 "执行serialcomm示例程序失败"
# 如果脚本开始时未安装软件包,则在结束时卸载
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载qt5-qtserialbus-examples软件包"
dnf remove -y qt5-qtserialbus-examples > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载qt5-qtserialbus-examples软件包失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,65 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-06-29
# @License : Mulan PSL v2
# @Desc : 测试qt5-qtserialbus-examples软件包的安装功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试qt5-qtserialbus-examples软件包的安装功能"
# 检查软件包是否已安装
LOG_INFO "检查qt5-qtserialbus-examples是否已安装"
rpm -q qt5-qtserialbus-examples > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "qt5-qtserialbus-examples已安装跳过安装步骤"
INSTALLED=1
else
LOG_INFO "qt5-qtserialbus-examples未安装准备安装"
INSTALLED=0
fi
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否存在qt5-qtserialbus-examples"
dnf list available qt5-qtserialbus-examples > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中不存在qt5-qtserialbus-examples软件包"
if [ $INSTALLED -eq 0 ]; then
# 安装软件包
LOG_INFO "安装qt5-qtserialbus-examples"
dnf install -y qt5-qtserialbus-examples
CHECK_RESULT $? 0 0 "安装qt5-qtserialbus-examples失败"
fi
# 验证软件包是否成功安装并可用(示例命令,根据实际需求调整)
LOG_INFO "验证qt5-qtserialbus-examples是否可用"
example_command_here > /dev/null 2>&1
CHECK_RESULT $? 0 255 "qt5-qtserialbus-examples功能验证失败"
# 清理环境
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载qt5-qtserialbus-examples"
dnf remove -y qt5-qtserialbus-examples
CHECK_RESULT $? 0 0 "卸载qt5-qtserialbus-examples失败"
else
LOG_INFO "保持已安装的qt5-qtserialbus-examples状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

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

View File

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

View File

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

View File

@@ -1,78 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-02
# @License : Mulan PSL v2
# @Desc : Test audio format conversion functionality of sox-devel
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 sox-devel 的音频格式转换功能"
# 检查是否已安装 sox-devel
LOG_INFO "检查 sox-devel 是否已安装"
if dnf list installed sox-devel &>/dev/null; then
LOG_INFO "sox-devel 已安装,脚本结束时将保持安装状态"
installed=true
else
LOG_INFO "sox-devel 未安装,将在测试结束后卸载"
installed=false
fi
# 检查 yum 源中是否有 sox-devel
LOG_INFO "检查 yum 源中是否有 sox-devel"
if ! dnf list available sox-devel &>/dev/null; then
LOG_ERROR "yum 源中未找到 sox-devel 软件包"
exit 255
fi
# 安装 sox-devel如果未安装
if [ "$installed" = false ]; then
LOG_INFO "正在安装 sox-devel"
dnf install -y sox-devel
CHECK_RESULT $? 0 0 "安装 sox-devel 失败"
fi
# 测试音频格式转换功能
LOG_INFO "测试音频格式转换功能"
# 检查是否支持指定参数(示例:检查是否支持 -t wav 参数)
LOG_INFO "检查是否支持 -t wav 参数"
if ! sox --help | grep -q "\-t"; then
LOG_ERROR "不支持 -t 参数"
exit 255
fi
# 执行音频格式转换测试命令(示例:将 test.mp3 转换为 test.wav
LOG_INFO "执行音频格式转换test.mp3 转换为 test.wav"
sox test.mp3 -t wav test.wav
CHECK_RESULT $? 0 0 "音频格式转换失败"
# SSH_CMD示例如需在第二个节点执行命令
# LOG_INFO "在第二个节点上执行命令"
# SSH_CMD ls $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER
# 清理环境(如果初始未安装 sox-devel
if [ "$installed" = false ]; then
LOG_INFO "卸载 sox-devel"
dnf remove -y sox-devel
CHECK_RESULT $? 0 0 "卸载 sox-devel失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,93 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-24
# @License : Mulan PSL v2
# @Desc : Test basic command line usage of sox
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
PACKAGE_NAME="sox-devel"
COMMAND="sox"
TEST_FILE="test.wav"
REFERENCE_FILE="reference.wav"
LOG_INFO "开始测试 sox 基本命令行功能"
LOG_INFO "步骤1: 检查软件包是否已在 yum 源中"
dnf list available "$PACKAGE_NAME" &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum 源中未找到软件包 $PACKAGE_NAME"
exit 255
fi
LOG_INFO "步骤2: 检查当前环境是否已安装 $PACKAGE_NAME"
rpm -q "$PACKAGE_NAME" &>/dev/null
INSTALLED_BEFORE=$?
NEED_CLEANUP=0
if [ $INSTALLED_BEFORE -ne 0 ]; then
LOG_INFO "步骤3: 环境未安装,开始安装 $PACKAGE_NAME"
dnf install -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "安装 $PACKAGE_NAME 失败"
NEED_CLEANUP=1
else
LOG_INFO "步骤3: 环境已安装 $PACKAGE_NAME,跳过安装步骤"
fi
LOG_INFO "步骤4: 验证 sox 命令基本可用性"
$COMMAND --version
CHECK_RESULT $? 0 0 "sox 命令无法执行"
LOG_INFO "步骤5: 测试 sox 支持的参数 --help"
$COMMAND --help &>/dev/null
CHECK_RESULT $? 0 0 "sox 不支持 --help 参数"
LOG_INFO "步骤6: 测试一个不存在的参数(预期失败)"
$COMMAND --nonexistent-parameter &>/dev/null
if [ $? -ne 255 ] && [ $? -ne 1 ]; then
LOG_ERROR "不存在的参数未按预期失败"
exit 255
fi
LOG_INFO "步骤7: 创建测试音频文件"
echo "测试音频内容" | $COMMAND -t wav "$TEST_FILE" synth 2 sine 440
CHECK_RESULT $? 0 0 "创建测试音频文件失败"
LOG_INFO "步骤8: 测试基本格式转换功能"
$COMMAND "$TEST_FILE" -r 44100 "$REFERENCE_FILE"
CHECK_RESULT $? 0 0 "音频格式转换失败"
LOG_INFO "步骤9: 测试音频信息查看功能"
$COMMAND --i "$TEST_FILE" | grep -q "Sample Rate"
CHECK_RESULT $? 0 0 "查看音频信息失败"
LOG_INFO "步骤10: 清理测试文件"
rm -f "$TEST_FILE" "$REFERENCE_FILE"
CHECK_RESULT $? 0 0 "删除测试文件失败"
if [ $NEED_CLEANUP -eq 1 ]; then
LOG_INFO "步骤11: 卸载测试安装的软件包"
dnf remove -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "卸载 $PACKAGE_NAME 失败"
else
LOG_INFO "步骤11: 保持环境安装状态,无需卸载"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,88 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-24
# @License : Mulan PSL v2
# @Desc : Test audio file format conversion
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试音频文件格式转换功能"
# 检查sox-devel软件包是否在yum源中
LOG_INFO "检查sox-devel软件包是否在yum源中"
dnf list available sox-devel > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中没有找到sox-devel软件包"
exit 255
fi
# 检查sox-devel是否已经安装
LOG_INFO "检查sox-devel是否已经安装"
rpm -q sox-devel > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "sox-devel已经安装测试结束后将保持安装状态"
INSTALLED_BEFORE_TEST=1
else
LOG_INFO "sox-devel未安装将在测试过程中安装"
INSTALLED_BEFORE_TEST=0
fi
# 如果未安装则安装sox-devel
if [ $INSTALLED_BEFORE_TEST -eq 0 ]; then
LOG_INFO "安装sox-devel软件包"
dnf install -y sox-devel
CHECK_RESULT $? 0 0 "安装sox-devel失败"
fi
# 测试sox命令的基本参数
LOG_INFO "测试sox命令的--help参数"
sox --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "sox命令--help参数不支持"
# 测试音频文件格式转换功能
LOG_INFO "创建测试音频文件"
echo "test" | sox -t raw -r 44100 -b 16 -e signed-integer -c 2 - test.wav
CHECK_RESULT $? 0 0 "创建测试音频文件失败"
LOG_INFO "测试WAV到MP3格式转换"
sox test.wav test.mp3
CHECK_RESULT $? 0 0 "WAV到MP3格式转换失败"
LOG_INFO "测试WAV到OGG格式转换"
sox test.wav test.ogg
CHECK_RESULT $? 0 0 "WAV到OGG格式转换失败"
LOG_INFO "测试WAV到FLAC格式转换"
sox test.wav test.flac
CHECK_RESULT $? 0 0 "WAV到FLAC格式转换失败"
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f test.wav test.mp3 test.ogg test.flac
CHECK_RESULT $? 0 0 "清理测试文件失败"
# 如果测试前未安装则卸载sox-devel
if [ $INSTALLED_BEFORE_TEST -eq 0 ]; then
LOG_INFO "卸载sox-devel软件包"
dnf remove -y sox-devel
CHECK_RESULT $? 0 0 "卸载sox-devel失败"
fi
LOG_INFO "音频文件格式转换功能测试完成"
}
main "$@"

View File

@@ -1,64 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-02
# @License : Mulan PSL v2
# @Desc : Test audio effects processing in sox-devel
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试脚本test_sox-devel_function_effects
LOG_INFO "开始测试 sox-devel 的音频效果处理功能"
# 检查是否已安装 sox-devel
if ! dnf list installed sox-devel &>/dev/null; then
LOG_INFO "环境未安装 sox-devel将进行安装"
# 检查 yum 源中是否有 sox-devel
if ! dnf list available sox-devel &>/dev/null; then
LOG_ERROR "yum 源中未找到 sox-devel 软件包"
exit 255
fi
# 安装 sox-devel
dnf install -y sox-devel
CHECK_RESULT $? 0 0 "安装 sox-devel 失败"
else
LOG_INFO "环境已安装 sox-devel跳过安装步骤"
fi
# 测试音频效果处理功能
LOG_INFO "测试音频效果处理功能"
sox --version
CHECK_RESULT $? 0 0 "获取 sox 版本失败"
# 测试音频效果处理命令
LOG_INFO "测试音频效果处理命令"
sox input.wav output.wav trim 0 10
CHECK_RESULT $? 0 0 "音频裁剪失败"
# 清理环境
if ! dnf list installed sox-devel &>/dev/null; then
LOG_INFO "清理环境,卸载 sox-devel"
dnf remove -y sox-devel
CHECK_RESULT $? 0 0 "卸载 sox-devel 失败"
else
LOG_INFO "环境已安装 sox-devel无需卸载"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,74 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-24
# @License : Mulan PSL v2
# @Desc : Test the installation of the sox-devel package
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试sox-devel软件包安装功能"
LOG_INFO "步骤1检查当前环境中是否已安装sox-devel软件包"
if dnf list installed sox-devel &>/dev/null; then
LOG_INFO "sox-devel软件包已安装脚本将保持安装状态"
INSTALLED_BEFORE=true
else
LOG_INFO "sox-devel软件包未安装将在测试过程中安装"
INSTALLED_BEFORE=false
fi
LOG_INFO "步骤2检查yum源中是否存在sox-devel软件包"
if ! dnf list available sox-devel &>/dev/null; then
LOG_ERROR "yum源中未找到sox-devel软件包"
exit 255
fi
LOG_INFO "步骤3如果未安装则执行安装操作"
if [ "$INSTALLED_BEFORE" = false ]; then
dnf install -y sox-devel
CHECK_RESULT $? 0 0 "安装sox-devel软件包失败"
LOG_INFO "sox-devel软件包安装成功"
fi
LOG_INFO "步骤4验证sox-devel软件包基本功能"
if command -v sox &>/dev/null; then
LOG_INFO "找到sox命令进行简单版本检查"
sox --version
CHECK_RESULT $? 0 0 "sox命令执行失败"
else
LOG_INFO "未找到sox命令检查开发包文件"
if [ -f /usr/include/sox.h ]; then
LOG_INFO "找到sox开发头文件"
else
LOG_ERROR "未找到sox开发头文件"
exit 1
fi
fi
LOG_INFO "步骤5清理测试环境"
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "卸载测试过程中安装的sox-devel软件包"
dnf remove -y sox-devel
CHECK_RESULT $? 0 0 "卸载sox-devel软件包失败"
LOG_INFO "sox-devel软件包卸载成功"
else
LOG_INFO "测试前已安装sox-devel保持安装状态"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

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

View File

@@ -1,152 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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-24
# @License : Mulan PSL v2
# @Desc : Test audio mixing capabilities
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义日志函数(如果未定义)
if ! command -v LOG_INFO &> /dev/null; then
LOG_INFO() {
echo "[INFO] $*"
}
fi
if ! command -v LOG_ERROR &> /dev/null; then
LOG_ERROR() {
echo "[ERROR] $*" >&2
}
fi
# 定义检查结果函数(如果未定义)
if ! command -v CHECK_RESULT &> /dev/null; then
CHECK_RESULT() {
local actual=$1
local expected=$2
local mode=$3
local message=$4
if [ $mode -eq 0 ]; then
if [ $actual -eq $expected ]; then
LOG_INFO "检查通过: $message"
else
LOG_ERROR "检查失败: $message (实际: $actual, 期望: $expected)"
exit $actual
fi
else
if [ $actual -ne $expected ]; then
LOG_INFO "检查通过: $message"
else
LOG_ERROR "检查失败: $message (实际: $actual, 期望: 非 $expected)"
exit 1
fi
fi
}
fi
# 定义SSH命令函数如果未定义
if ! command -v SSH_CMD &> /dev/null; then
SSH_CMD() {
local cmd=$1
local node_ip=$2
local node_password=$3
local node_user=${4:-root}
sshpass -p "$node_password" ssh -o StrictHostKeyChecking=no "$node_user@$node_ip" "$cmd"
}
fi
# 测试脚本主逻辑
LOG_INFO "开始测试音频混合功能"
# 检查是否已安装sox-devel
LOG_INFO "检查sox-devel是否已安装"
if dnf list installed sox-devel &> /dev/null; then
LOG_INFO "sox-devel已安装测试结束后将保持安装状态"
INSTALLED_BEFORE=true
else
LOG_INFO "sox-devel未安装将在测试中安装并在结束后卸载"
INSTALLED_BEFORE=false
fi
# 检查yum源中是否有sox-devel软件包
LOG_INFO "检查yum源中是否有sox-devel软件包"
if ! dnf list available sox-devel &> /dev/null; then
LOG_ERROR "yum源中未找到sox-devel软件包"
exit 255
fi
# 如果未安装则安装sox-devel
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "安装sox-devel软件包"
dnf install -y sox-devel
CHECK_RESULT $? 0 0 "安装sox-devel失败"
fi
# 测试音频混合功能
LOG_INFO "测试音频混合功能"
# 检查sox命令是否支持mix效果
LOG_INFO "检查sox是否支持mix效果"
if ! sox --help | grep -q "mix"; then
LOG_ERROR "sox命令不支持mix参数"
# 如果之前未安装则卸载sox-devel
if [ "$INSTALLED_BEFORE" = false ]; then
dnf remove -y sox-devel
fi
exit 255
fi
# 创建测试音频文件
LOG_INFO "创建测试音频文件"
echo "创建测试音频文件1"
sox -n test1.wav synth 3 sine 440
CHECK_RESULT $? 0 0 "创建测试音频文件1失败"
echo "创建测试音频文件2"
sox -n test2.wav synth 3 sine 880
CHECK_RESULT $? 0 0 "创建测试音频文件2失败"
# 测试音频混合
LOG_INFO "测试音频混合"
sox -m test1.wav test2.wav mixed.wav
CHECK_RESULT $? 0 0 "音频混合失败"
# 验证混合后的音频文件
LOG_INFO "验证混合后的音频文件"
if [ -f mixed.wav ]; then
LOG_INFO "混合音频文件创建成功"
else
LOG_ERROR "混合音频文件创建失败"
CHECK_RESULT 1 0 0 "混合音频文件不存在"
fi
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f test1.wav test2.wav mixed.wav
CHECK_RESULT $? 0 0 "清理测试文件失败"
# 如果测试前未安装则卸载sox-devel
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "卸载sox-devel软件包"
dnf remove -y sox-devel
CHECK_RESULT $? 0 0 "卸载sox-devel失败"
else
LOG_INFO "测试前已安装sox-devel保持安装状态"
fi
LOG_INFO "音频混合功能测试完成"
}
main "$@"

View File

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

View File

@@ -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-02-24
# @License : Mulan PSL v2
# @Desc : Test audio trimming functionality
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "测试音频裁剪功能"
# 定义软件包名称
PACKAGE_NAME="sox-devel"
# 检查软件包是否已在yum源中
LOG_INFO "检查yum源中是否存在软件包: $PACKAGE_NAME"
if ! dnf list available $PACKAGE_NAME &>/dev/null; then
LOG_ERROR "软件包 $PACKAGE_NAME 在yum源中不存在"
exit 255
fi
# 检查是否已安装软件包
LOG_INFO "检查系统是否已安装软件包: $PACKAGE_NAME"
if rpm -q $PACKAGE_NAME &>/dev/null; then
LOG_INFO "软件包 $PACKAGE_NAME 已安装,脚本结束时将保持安装状态"
ALREADY_INSTALLED=true
else
LOG_INFO "软件包 $PACKAGE_NAME 未安装,将进行安装"
ALREADY_INSTALLED=false
fi
# 如果未安装,则安装软件包
if [ "$ALREADY_INSTALLED" = false ]; then
LOG_INFO "安装软件包: $PACKAGE_NAME"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
fi
# 检查sox命令是否存在
LOG_INFO "检查sox命令是否存在"
if ! command -v sox &>/dev/null; then
LOG_ERROR "sox命令不存在可能安装不完整"
exit 255
fi
# 检查sox命令是否支持trim参数
LOG_INFO "检查sox命令是否支持trim参数"
sox --help | grep -q "\--trim"
if [ $? -ne 0 ]; then
LOG_ERROR "sox命令不支持trim参数"
exit 255
fi
# 创建测试音频文件
LOG_INFO "创建测试音频文件"
echo "测试音频内容" | sox -t raw -r 44100 -b 16 -c 1 -e signed-integer - -t wav test_input.wav
CHECK_RESULT $? 0 0 "创建测试音频文件失败"
# 测试音频裁剪功能
LOG_INFO "测试音频裁剪功能"
sox test_input.wav test_output.wav trim 0 1
CHECK_RESULT $? 0 0 "音频裁剪功能测试失败"
# 验证裁剪后的音频文件是否存在
LOG_INFO "验证裁剪后的音频文件是否存在"
if [ -f test_output.wav ]; then
LOG_INFO "裁剪后的音频文件 test_output.wav 已生成"
else
LOG_ERROR "裁剪后的音频文件未生成"
exit 1
fi
# 清理临时文件
LOG_INFO "清理临时文件"
rm -f test_input.wav test_output.wav
CHECK_RESULT $? 0 0 "清理临时文件失败"
# 如果脚本开始时未安装软件包,则在脚本结束时卸载
if [ "$ALREADY_INSTALLED" = false ]; then
LOG_INFO "卸载软件包: $PACKAGE_NAME"
dnf remove -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,83 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-24
# @License : Mulan PSL v2
# @Desc : Test audio volume adjustment
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试音频音量调整功能"
# 检查sox-devel软件包是否在yum源中
LOG_INFO "检查yum源中是否存在sox-devel软件包"
dnf list available sox-devel &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到sox-devel软件包"
exit 255
fi
# 检查系统是否已安装sox-devel
LOG_INFO "检查系统是否已安装sox-devel"
rpm -q sox-devel &>/dev/null
if [ $? -eq 0 ]; then
LOG_INFO "sox-devel已安装测试后将保持安装状态"
INSTALLED_BEFORE=true
else
LOG_INFO "sox-devel未安装将在测试前安装"
INSTALLED_BEFORE=false
fi
# 如果未安装则安装sox-devel
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "安装sox-devel软件包"
dnf install -y sox-devel
CHECK_RESULT $? 0 0 "安装sox-devel失败"
fi
# 测试音量调整功能
LOG_INFO "测试音量调整功能"
# 创建一个测试音频文件
LOG_INFO "创建测试音频文件"
sox -n test_audio.wav synth 3 sine 440 vol 0.5
CHECK_RESULT $? 0 0 "创建测试音频文件失败"
# 调整音量
LOG_INFO "调整音频音量"
sox test_audio.wav test_audio_adjusted.wav vol 0.8
CHECK_RESULT $? 0 0 "调整音量失败"
# 检查调整后的文件是否存在
LOG_INFO "检查调整后的音频文件是否存在"
[ -f test_audio_adjusted.wav ]
CHECK_RESULT $? 0 0 "调整后的音频文件未生成"
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f test_audio.wav test_audio_adjusted.wav
CHECK_RESULT $? 0 0 "清理测试文件失败"
# 如果测试前未安装则卸载sox-devel
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "卸载sox-devel软件包"
dnf remove -y sox-devel
CHECK_RESULT $? 0 0 "卸载sox-devel失败"
fi
LOG_INFO "音频音量调整功能测试完成"
}
main "$@"

View File

@@ -1,79 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-20
# @License : Mulan PSL v2
# @Desc : 测试安装后关键字体文件如STIXMath-Regular.otf存在于系统字体目录中。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试STIX数学字体功能文件"
LOG_INFO "步骤1检查系统中是否已安装stix-math-fonts软件包"
if rpm -q stix-math-fonts > /dev/null 2>&1; then
LOG_INFO "stix-math-fonts已安装测试后保持安装状态"
INSTALLED=true
else
LOG_INFO "stix-math-fonts未安装将在测试过程中安装"
INSTALLED=false
fi
LOG_INFO "步骤2检查yum源中是否存在stix-math-fonts软件包"
if ! dnf list available stix-math-fonts > /dev/null 2>&1; then
LOG_ERROR "yum源中未找到stix-math-fonts软件包"
exit 255
fi
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "步骤3安装stix-math-fonts软件包"
dnf install -y stix-math-fonts
CHECK_RESULT $? 0 0 "安装stix-math-fonts失败"
fi
LOG_INFO "步骤4检查关键字体文件是否存在"
FONT_FILE="/usr/share/fonts/stix-math/STIXMath-Regular.otf"
if [ -f "$FONT_FILE" ]; then
LOG_INFO "找到字体文件:$FONT_FILE"
CHECK_RESULT $? 0 0 "未找到字体文件STIXMath-Regular.otf"
else
LOG_ERROR "未找到字体文件:$FONT_FILE"
CHECK_RESULT 1 0 0 "字体文件不存在"
fi
LOG_INFO "步骤5验证字体文件有效性"
file "$FONT_FILE" | grep -q "OpenType"
CHECK_RESULT $? 0 0 "字体文件格式不正确"
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "步骤6清理环境卸载stix-math-fonts软件包"
dnf remove -y stix-math-fonts
CHECK_RESULT $? 0 0 "卸载stix-math-fonts失败"
LOG_INFO "验证字体文件已被移除"
if [ -f "$FONT_FILE" ]; then
LOG_ERROR "字体文件未被正确移除:$FONT_FILE"
CHECK_RESULT 1 0 0 "字体文件清理失败"
else
LOG_INFO "字体文件已成功移除"
fi
else
LOG_INFO "步骤6保持stix-math-fonts软件包安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,124 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-20
# @License : Mulan PSL v2
# @Desc : 测试通过包管理器成功卸载stix-math-fonts软件包并验证相关字体文件被移除。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试通过包管理器成功卸载stix-math-fonts软件包并验证相关字体文件被移除
# 定义软件包名称
PACKAGE_NAME="stix-math-fonts"
# 定义字体文件路径
FONT_PATHS=(
"/usr/share/fonts/stix-math-fonts"
"/usr/share/fonts/stix"
"/usr/share/fonts/stix-math"
)
# 检查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
INSTALLED=$?
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "$PACKAGE_NAME已安装,记录当前状态"
WAS_INSTALLED=1
else
LOG_INFO "$PACKAGE_NAME未安装,将进行安装测试"
WAS_INSTALLED=0
# 安装软件包
LOG_INFO "安装$PACKAGE_NAME软件包"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装$PACKAGE_NAME失败"
# 验证安装
LOG_INFO "验证$PACKAGE_NAME是否安装成功"
rpm -q $PACKAGE_NAME
CHECK_RESULT $? 0 0 "$PACKAGE_NAME安装后验证失败"
fi
# 验证字体文件是否存在
LOG_INFO "验证字体文件是否存在"
FONT_FOUND=0
for font_path in "${FONT_PATHS[@]}"; do
if [ -d "$font_path" ] || [ -f "$font_path" ]; then
LOG_INFO "找到字体文件/目录: $font_path"
FONT_FOUND=1
break
fi
done
if [ $FONT_FOUND -eq 0 ]; then
LOG_INFO "未找到预期的字体文件路径,继续执行卸载测试"
fi
# 卸载软件包
LOG_INFO "卸载$PACKAGE_NAME软件包"
dnf remove -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "卸载$PACKAGE_NAME失败"
# 验证软件包是否已卸载
LOG_INFO "验证$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已成功卸载"
# 验证字体文件是否被移除
LOG_INFO "验证字体文件是否被移除"
for font_path in "${FONT_PATHS[@]}"; do
if [ -d "$font_path" ] || [ -f "$font_path" ]; then
LOG_ERROR "字体文件/目录仍然存在: $font_path"
exit 1
fi
done
LOG_INFO "所有相关字体文件已被移除"
# 环境恢复
LOG_INFO "恢复测试环境"
if [ $WAS_INSTALLED -eq 0 ]; then
LOG_INFO "原始环境未安装$PACKAGE_NAME,保持卸载状态"
else
LOG_INFO "重新安装$PACKAGE_NAME以恢复原始环境"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "重新安装$PACKAGE_NAME失败"
# 验证恢复
LOG_INFO "验证环境恢复状态"
rpm -q $PACKAGE_NAME
CHECK_RESULT $? 0 0 "环境恢复后$PACKAGE_NAME验证失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,137 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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-20
# @License : Mulan PSL v2
# @Desc : 测试在支持数学排版的文档处理系统如LaTeX, LibreOffice可以调用并使用STIX Math字体。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试脚本测试STIX Math字体在数学排版系统中的使用
LOG_INFO "开始测试STIX Math字体在数学排版系统中的使用"
# 步骤1检查系统是否已安装stix-math-fonts字体包
LOG_INFO "步骤1检查系统是否已安装stix-math-fonts字体包"
rpm -q stix-math-fonts
if [ $? -eq 0 ]; then
LOG_INFO "stix-math-fonts字体包已安装将在测试后保持安装状态"
INSTALLED=true
else
LOG_INFO "stix-math-fonts字体包未安装将在测试过程中安装并在测试后卸载"
INSTALLED=false
fi
# 步骤2检查yum源中是否有stix-math-fonts软件包
LOG_INFO "步骤2检查yum源中是否有stix-math-fonts软件包"
dnf list available stix-math-fonts
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到stix-math-fonts软件包"
exit 255
fi
# 步骤3如果未安装则安装stix-math-fonts字体包
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤3安装stix-math-fonts字体包"
dnf install -y stix-math-fonts
CHECK_RESULT $? 0 0 "安装stix-math-fonts字体包失败"
fi
# 步骤4验证字体文件是否已正确安装
LOG_INFO "步骤4验证字体文件是否已正确安装"
fc-list | grep -i "stix math"
CHECK_RESULT $? 0 0 "系统中未找到STIX Math字体"
# 步骤5创建一个简单的LaTeX文档测试STIX Math字体
LOG_INFO "步骤5创建一个简单的LaTeX文档测试STIX Math字体"
cat > test_stix_math.tex << "EOF"
\documentclass{article}
\usepackage{amsmath}
\usepackage{unicode-math}
\setmathfont{STIX Two Math}
\begin{document}
测试STIX Math字体$E = mc^2$
\end{document}
EOF
CHECK_RESULT $? 0 0 "创建LaTeX测试文档失败"
# 步骤6检查系统是否安装了LaTeX以pdflatex为例
LOG_INFO "步骤6检查系统是否安装了LaTeXpdflatex"
command -v pdflatex
if [ $? -ne 0 ]; then
LOG_INFO "系统未安装pdflatex跳过LaTeX编译测试"
LATEX_INSTALLED=false
else
LATEX_INSTALLED=true
LOG_INFO "步骤7使用pdflatex编译测试文档"
pdflatex -interaction=nonstopmode test_stix_math.tex
CHECK_RESULT $? 0 0 "使用pdflatex编译LaTeX文档失败"
# 步骤8检查生成的PDF文件
LOG_INFO "步骤8检查生成的PDF文件"
if [ -f test_stix_math.pdf ]; then
LOG_INFO "成功生成PDF文件test_stix_math.pdf"
file test_stix_math.pdf | grep -q "PDF document"
CHECK_RESULT $? 0 0 "生成的PDF文件格式不正确"
else
LOG_ERROR "未找到生成的PDF文件"
CHECK_RESULT 1 0 0 "未生成PDF文件"
fi
fi
# 步骤9创建一个LibreOffice文档测试STIX Math字体
LOG_INFO "步骤9创建一个LibreOffice文档测试STIX Math字体"
cat > test_stix_math.odt << "EOF"
<?xml version="1.0" encoding="UTF-8"?>
<office:document xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0">
<office:body>
<office:text>
<text:p>测试STIX Math字体<text:span text:style-name="T1">E = mc²</text:span></text:p>
</office:text>
</office:body>
</office:document>
EOF
CHECK_RESULT $? 0 0 "创建LibreOffice测试文档失败"
# 步骤10检查LibreOffice是否可用
LOG_INFO "步骤10检查LibreOffice是否可用"
command -v libreoffice
if [ $? -ne 0 ]; then
LOG_INFO "系统未安装LibreOffice跳过LibreOffice测试"
LIBREOFFICE_INSTALLED=false
else
LIBREOFFICE_INSTALLED=true
LOG_INFO "LibreOffice已安装可以用于测试STIX Math字体"
fi
# 步骤11清理测试文件
LOG_INFO "步骤11清理测试文件"
rm -f test_stix_math.tex test_stix_math.aux test_stix_math.log test_stix_math.pdf test_stix_math.odt
CHECK_RESULT $? 0 0 "清理测试文件失败"
# 步骤12如果测试前未安装则卸载stix-math-fonts字体包
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤12卸载stix-math-fonts字体包"
dnf remove -y stix-math-fonts
CHECK_RESULT $? 0 0 "卸载stix-math-fonts字体包失败"
LOG_INFO "已卸载stix-math-fonts字体包系统恢复到测试前的状态"
else
LOG_INFO "步骤12保持stix-math-fonts字体包安装状态"
fi
LOG_INFO "测试完成STIX Math字体在数学排版系统中的使用测试通过"
}
main "$@"

View File

@@ -1,95 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试使用 pdftex-quiet 命令编译一个简单的 LaTeX 源文件为 PDF 的基本功能。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 pdftex-quiet 命令编译简单 LaTeX 源文件为 PDF 的基本功能"
# 检查环境中是否已安装 texlive-pdftex 软件包
LOG_INFO "检查是否已安装 texlive-pdftex 软件包"
if dnf list installed texlive-pdftex &>/dev/null; then
LOG_INFO "texlive-pdftex 已安装,测试完成后将保持安装状态"
INSTALLED_BEFORE_TEST=true
else
LOG_INFO "texlive-pdftex 未安装,将在测试过程中安装并在测试结束后卸载"
INSTALLED_BEFORE_TEST=false
fi
# 检查 yum 源中是否有 texlive-pdftex 软件包
LOG_INFO "检查 yum 源中是否有 texlive-pdftex 软件包"
if ! dnf list available texlive-pdftex &>/dev/null; then
LOG_ERROR "yum 源中未找到 texlive-pdftex 软件包"
exit 255
fi
# 如果未安装,则安装 texlive-pdftex 软件包
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
LOG_INFO "安装 texlive-pdftex 软件包"
dnf install -y texlive-pdftex
CHECK_RESULT $? 0 0 "安装 texlive-pdftex 软件包失败"
fi
# 检查 pdftex-quiet 命令是否支持 -help 参数
LOG_INFO "检查 pdftex-quiet 命令是否支持 -help 参数"
pdftex-quiet -help &>/dev/null
if [ $? -eq 255 ]; then
LOG_ERROR "pdftex-quiet 命令不支持 -help 参数或参数不存在"
exit 255
fi
# 创建简单的 LaTeX 源文件
LOG_INFO "创建简单的 LaTeX 源文件 test.tex"
cat > test.tex << "EOF"
\documentclass{article}
\begin{document}
Hello, World!
\end{document}
EOF
CHECK_RESULT $? 0 0 "创建 LaTeX 源文件失败"
# 使用 pdftex-quiet 命令编译 LaTeX 源文件为 PDF
LOG_INFO "使用 pdftex-quiet 命令编译 test.tex 为 PDF"
pdftex-quiet test.tex
CHECK_RESULT $? 0 0 "使用 pdftex-quiet 编译 LaTeX 源文件失败"
# 检查是否生成了 PDF 文件
LOG_INFO "检查是否生成了 PDF 文件 test.pdf"
if [ -f test.pdf ]; then
LOG_INFO "成功生成 PDF 文件 test.pdf"
else
LOG_ERROR "未生成 PDF 文件 test.pdf"
exit 1
fi
# 清理测试过程中生成的文件
LOG_INFO "清理测试过程中生成的文件"
rm -f test.tex test.pdf test.log test.aux
# 如果测试前未安装 texlive-pdftex则在测试结束后卸载
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
LOG_INFO "卸载 texlive-pdftex 软件包"
dnf remove -y texlive-pdftex
CHECK_RESULT $? 0 0 "卸载 texlive-pdftex 软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,83 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试使用 -halt-on-error 参数在遇到 LaTeX 错误时立即停止处理。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 texlive-pdftex 的 -halt-on-error 参数功能"
# 检查是否已安装 texlive-pdftex
if dnf list installed texlive-pdftex &>/dev/null; then
LOG_INFO "检测到 texlive-pdftex 已安装,测试结束后将保持安装状态"
INSTALLED_BEFORE=true
else
LOG_INFO "未检测到 texlive-pdftex 安装,将在测试前安装并在测试后卸载"
INSTALLED_BEFORE=false
fi
# 检查 yum 源中是否有 texlive-pdftex 软件包
LOG_INFO "检查 yum 源中是否存在 texlive-pdftex 软件包"
dnf list available texlive-pdftex &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum 源中未找到 texlive-pdftex 软件包"
exit 255
fi
# 如果未安装,则安装 texlive-pdftex
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "安装 texlive-pdftex 软件包"
dnf install -y texlive-pdftex
CHECK_RESULT $? 0 0 "安装 texlive-pdftex 失败"
fi
# 创建测试用的 LaTeX 文件,该文件包含错误
LOG_INFO "创建包含错误的测试 LaTeX 文件"
cat > test_halt_error.tex << "EOF"
\documentclass{article}
\begin{document}
This is a test.
\undefinedcommand
\end{document}
EOF
# 测试不带 -halt-on-error 参数的情况
LOG_INFO "测试不带 -halt-on-error 参数的情况"
pdftex test_halt_error.tex &>/dev/null
CHECK_RESULT $? 1 0 "不带 -halt-on-error 参数时pdftex 未按预期处理错误"
# 测试带 -halt-on-error 参数的情况
LOG_INFO "测试带 -halt-on-error 参数的情况"
pdftex -halt-on-error test_halt_error.tex &>/dev/null
CHECK_RESULT $? 1 0 "带 -halt-on-error 参数时pdftex 未在遇到错误时立即停止"
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f test_halt_error.tex test_halt_error.log test_halt_error.aux
# 如果测试前未安装,则卸载 texlive-pdftex
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "卸载 texlive-pdftex 软件包"
dnf remove -y texlive-pdftex
CHECK_RESULT $? 0 0 "卸载 texlive-pdftex 失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,73 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 检查 texlive-pdftex-quiet 软件包是否已正确安装,验证基本可执行文件是否存在。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试 texlive-pdftex-quiet 软件包安装检查"
# 检查软件包是否在 yum 源中
LOG_INFO "步骤1: 检查 texlive-pdftex-quiet 是否在 yum 源中"
dnf list available texlive-pdftex-quiet &>/dev/null
CHECK_RESULT $? 0 0 "软件包 texlive-pdftex-quiet 不在 yum 源中"
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 texlive-pdftex-quiet 不在 yum 源中"
exit 255
fi
# 检查软件包是否已安装
LOG_INFO "步骤2: 检查 texlive-pdftex-quiet 是否已安装"
if rpm -q texlive-pdftex-quiet &>/dev/null; then
LOG_INFO "软件包 texlive-pdftex-quiet 已安装,测试后保持安装状态"
INSTALLED=true
else
LOG_INFO "软件包 texlive-pdftex-quiet 未安装,将进行安装测试"
INSTALLED=false
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤3: 安装 texlive-pdftex-quiet 软件包"
dnf install -y texlive-pdftex-quiet
CHECK_RESULT $? 0 0 "安装 texlive-pdftex-quiet 软件包失败"
fi
# 验证基本可执行文件是否存在
LOG_INFO "步骤4: 验证 texlive-pdftex-quiet 的基本可执行文件是否存在"
# 假设 pdftex 是 texlive-pdftex-quiet 提供的可执行文件,根据实际情况调整
if command -v pdftex &>/dev/null; then
LOG_INFO "pdftex 可执行文件存在"
else
LOG_ERROR "pdftex 可执行文件不存在"
exit 1
fi
# 清理环境:如果测试前未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤5: 清理环境,卸载 texlive-pdftex-quiet 软件包"
dnf remove -y texlive-pdftex-quiet
CHECK_RESULT $? 0 0 "卸载 texlive-pdftex-quiet 软件包失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,86 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试使用 -jobname 参数为输出文件指定自定义名称。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装texlive-pdftex-quiet软件包
LOG_INFO "检查是否已安装texlive-pdftex-quiet软件包"
rpm -q texlive-pdftex-quiet
if [ $? -eq 0 ]; then
LOG_INFO "texlive-pdftex-quiet已安装测试结束后保持安装状态"
INSTALLED=1
else
LOG_INFO "texlive-pdftex-quiet未安装将在测试前安装"
INSTALLED=0
fi
# 检查yum源中是否有texlive-pdftex-quiet软件包
LOG_INFO "检查yum源中是否有texlive-pdftex-quiet软件包"
dnf list available texlive-pdftex-quiet
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-pdftex-quiet软件包"
exit 255
fi
# 如果未安装则安装texlive-pdftex-quiet
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装texlive-pdftex-quiet软件包"
dnf install -y texlive-pdftex-quiet
CHECK_RESULT $? 0 0 "安装texlive-pdftex-quiet失败"
fi
# 测试使用 -jobname 参数为输出文件指定自定义名称
LOG_INFO "测试使用 -jobname 参数为输出文件指定自定义名称"
# 创建一个简单的TeX文件
cat > test.tex << EOF
\documentclass{article}
\begin{document}
Hello, World!
\end{document}
EOF
# 使用 -jobname 参数指定输出文件名为 custom_output
pdftex -jobname custom_output test.tex
CHECK_RESULT $? 0 0 "pdftex命令执行失败"
# 检查是否生成了自定义名称的输出文件
LOG_INFO "检查是否生成了自定义名称的输出文件"
if [ -f custom_output.pdf ]; then
LOG_INFO "成功生成自定义名称的输出文件 custom_output.pdf"
else
LOG_ERROR "未找到自定义名称的输出文件 custom_output.pdf"
exit 1
fi
# 清理生成的测试文件
LOG_INFO "清理生成的测试文件"
rm -f test.tex custom_output.pdf custom_output.log custom_output.aux
# 如果测试前未安装,则在测试结束后卸载软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载texlive-pdftex-quiet软件包"
dnf remove -y texlive-pdftex-quiet
CHECK_RESULT $? 0 0 "卸载texlive-pdftex-quiet失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,110 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试使用 -output-directory 参数将编译生成的 PDF 等文件输出到指定目录。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装 texlive-pdftex
LOG_INFO "检查是否已安装 texlive-pdftex"
rpm -q texlive-pdftex
if [ $? -eq 0 ]; then
LOG_INFO "texlive-pdftex 已安装,脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-pdftex 未安装,将作为测试步骤安装"
INSTALLED=false
fi
# 检查 yum 源中是否有 texlive-pdftex 软件包
LOG_INFO "检查 yum 源中是否有 texlive-pdftex 软件包"
dnf list available texlive-pdftex > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum 源中未找到 texlive-pdftex 软件包"
exit 255
fi
# 如果未安装,则安装 texlive-pdftex
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装 texlive-pdftex"
dnf install -y texlive-pdftex
CHECK_RESULT $? 0 0 "安装 texlive-pdftex 失败"
fi
# 检查 pdftex 命令是否支持 -output-directory 参数
LOG_INFO "检查 pdftex 命令是否支持 -output-directory 参数"
pdftex --help | grep -q "\-\-output\-directory"
if [ $? -ne 0 ]; then
LOG_ERROR "pdftex 命令不支持 -output-directory 参数"
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载 texlive-pdftex"
dnf remove -y texlive-pdftex
fi
exit 255
fi
# 创建测试用的 LaTeX 源文件
LOG_INFO "创建测试用的 LaTeX 源文件"
cat > test.tex << "EOF"
\documentclass{article}
\begin{document}
Hello, World!
\end{document}
EOF
CHECK_RESULT $? 0 0 "创建 LaTeX 源文件失败"
# 创建输出目录
LOG_INFO "创建输出目录"
mkdir -p output_dir
CHECK_RESULT $? 0 0 "创建输出目录失败"
# 使用 -output-directory 参数编译 LaTeX 文件
LOG_INFO "使用 -output-directory 参数编译 LaTeX 文件"
pdftex -output-directory=output_dir test.tex
CHECK_RESULT $? 0 0 "使用 -output-directory 参数编译 LaTeX 文件失败"
# 检查生成的 PDF 文件是否在指定目录中
LOG_INFO "检查生成的 PDF 文件是否在指定目录中"
if [ -f output_dir/test.pdf ]; then
LOG_INFO "PDF 文件已成功生成到指定目录"
else
LOG_ERROR "PDF 文件未在指定目录中生成"
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载 texlive-pdftex"
dnf remove -y texlive-pdftex
fi
exit 1
fi
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f test.tex test.log test.aux
rm -rf output_dir
CHECK_RESULT $? 0 0 "清理测试文件失败"
# 如果测试前未安装,则卸载 texlive-pdftex
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载 texlive-pdftex"
dnf remove -y texlive-pdftex
CHECK_RESULT $? 0 0 "卸载 texlive-pdftex 失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,82 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试使用 -shell-escape 参数允许在编译过程中执行外部命令。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 -shell-escape 参数允许在编译过程中执行外部命令"
LOG_INFO "步骤1检查系统中是否已安装 texlive-pdftex 软件包"
rpm -q texlive-pdftex > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-pdftex 已安装,测试结束后将保持安装状态"
INSTALLED=1
else
LOG_INFO "texlive-pdftex 未安装,将进行安装并在测试结束后卸载"
INSTALLED=0
fi
LOG_INFO "步骤2检查 yum 源中是否有 texlive-pdftex 软件包"
dnf list available texlive-pdftex > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum 源中未找到 texlive-pdftex 软件包"
exit 255
fi
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "步骤3安装 texlive-pdftex 软件包"
dnf install -y texlive-pdftex
CHECK_RESULT $? 0 0 "安装 texlive-pdftex 失败"
fi
LOG_INFO "步骤4检查 pdftex 命令是否支持 -shell-escape 参数"
pdftex --help | grep -q "\-shell-escape"
if [ $? -ne 0 ]; then
LOG_ERROR "pdftex 命令不支持 -shell-escape 参数"
exit 255
fi
LOG_INFO "步骤5创建一个简单的 LaTeX 文件用于测试"
cat > test.tex << "EOF"
\documentclass{article}
\begin{document}
Hello, World!
\end{document}
EOF
CHECK_RESULT $? 0 0 "创建 LaTeX 测试文件失败"
LOG_INFO "步骤6使用 -shell-escape 参数编译 LaTeX 文件"
pdftex -shell-escape test.tex
CHECK_RESULT $? 0 0 "使用 -shell-escape 参数编译 LaTeX 文件失败"
LOG_INFO "步骤7清理测试文件"
rm -f test.tex test.log test.aux test.pdf
CHECK_RESULT $? 0 0 "清理测试文件失败"
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "步骤8卸载 texlive-pdftex 软件包"
dnf remove -y texlive-pdftex
CHECK_RESULT $? 0 0 "卸载 texlive-pdftex 失败"
else
LOG_INFO "步骤8保持 texlive-pdftex 安装状态,不进行卸载"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,107 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试pdftex-quiet命令的-draftmode参数启用草稿模式不生成PDF输出文件。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义软件包名称和命令
PACKAGE_NAME="texlive-pdftex-quiet"
COMMAND="pdftex-quiet"
PARAM="-draftmode"
# 步骤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: 检查当前环境是否已安装 $PACKAGE_NAME"
rpm -q "$PACKAGE_NAME" &>/dev/null
if [ $? -eq 0 ]; then
LOG_INFO "软件包 $PACKAGE_NAME 已安装,脚本结束后将保持安装状态"
INSTALLED_BEFORE="true"
else
LOG_INFO "软件包 $PACKAGE_NAME 未安装,将在测试过程中安装"
INSTALLED_BEFORE="false"
fi
# 步骤3: 如果未安装,则安装软件包
if [ "$INSTALLED_BEFORE" = "false" ]; then
LOG_INFO "步骤3: 安装 $PACKAGE_NAME"
dnf install -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "安装 $PACKAGE_NAME 失败"
fi
# 步骤4: 检查命令是否存在
LOG_INFO "步骤4: 检查命令 $COMMAND 是否存在"
which "$COMMAND" &>/dev/null
CHECK_RESULT $? 0 0 "命令 $COMMAND 不存在"
# 步骤5: 检查命令是否支持 -draftmode 参数
LOG_INFO "步骤5: 检查 $COMMAND 是否支持 $PARAM 参数"
"$COMMAND" --help 2>&1 | grep -q "$PARAM"
if [ $? -ne 0 ]; then
LOG_ERROR "命令 $COMMAND 不支持 $PARAM 参数"
exit 255
fi
# 步骤6: 创建一个简单的TeX文件用于测试
LOG_INFO "步骤6: 创建一个简单的TeX文件用于测试"
TEST_FILE="test_draftmode.tex"
cat > "$TEST_FILE" << "EOF"
\documentclass{article}
\begin{document}
This is a test document for draft mode.
\end{document}
EOF
CHECK_RESULT $? 0 0 "创建测试文件失败"
# 步骤7: 执行pdftex-quiet命令的-draftmode参数启用草稿模式
LOG_INFO "步骤7: 执行 $COMMAND $PARAM,启用草稿模式"
"$COMMAND" "$PARAM" "$TEST_FILE" 2>&1
CHECK_RESULT $? 0 0 "执行 $COMMAND $PARAM 失败"
# 步骤8: 验证是否未生成PDF输出文件
LOG_INFO "步骤8: 验证是否未生成PDF输出文件"
PDF_FILE="${TEST_FILE%.tex}.pdf"
if [ -f "$PDF_FILE" ]; then
LOG_ERROR "检测到生成了PDF文件 $PDF_FILE但草稿模式不应生成PDF"
CHECK_RESULT 1 0 0 "草稿模式生成了PDF文件"
else
LOG_INFO "未生成PDF文件符合草稿模式预期"
fi
# 步骤9: 清理测试文件
LOG_INFO "步骤9: 清理测试文件"
rm -f "$TEST_FILE" "${TEST_FILE%.tex}.log" "${TEST_FILE%.tex}.aux" 2>/dev/null
# 步骤10: 如果测试前未安装,则卸载软件包
if [ "$INSTALLED_BEFORE" = "false" ]; then
LOG_INFO "步骤10: 卸载 $PACKAGE_NAME"
dnf remove -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "卸载 $PACKAGE_NAME 失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,99 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试pdftex-quiet命令的-enc参数启用encTeX扩展功能。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已经安装texlive-pdftex-quiet软件包
LOG_INFO "检查是否已经安装texlive-pdftex-quiet软件包"
rpm -q texlive-pdftex-quiet > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-pdftex-quiet已经安装脚本结束后将保持安装状态"
INSTALLED=1
else
LOG_INFO "texlive-pdftex-quiet未安装将在测试过程中安装"
INSTALLED=0
fi
# 检查yum源中是否有texlive-pdftex-quiet软件包
LOG_INFO "检查yum源中是否有texlive-pdftex-quiet软件包"
dnf list available texlive-pdftex-quiet > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中没有texlive-pdftex-quiet软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中没有texlive-pdftex-quiet软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装texlive-pdftex-quiet软件包"
dnf install -y texlive-pdftex-quiet > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装texlive-pdftex-quiet软件包失败"
fi
# 测试pdftex-quiet命令的-enc参数
LOG_INFO "测试pdftex-quiet命令的-enc参数启用encTeX扩展功能"
pdftex-quiet -enc --help > /dev/null 2>&1
if [ $? -eq 255 ]; then
LOG_ERROR "pdftex-quiet命令不支持-enc参数"
exit 255
fi
CHECK_RESULT $? 0 0 "pdftex-quiet命令-enc参数执行失败"
# 创建一个简单的TeX文件用于测试encTeX扩展功能
LOG_INFO "创建一个简单的TeX文件用于测试encTeX扩展功能"
cat > test_enc.tex << "EOF"
\documentclass{article}
\begin{document}
Hello, encTeX!
\end{document}
EOF
# 使用-enc参数编译TeX文件
LOG_INFO "使用-enc参数编译TeX文件"
pdftex-quiet -enc test_enc.tex > /dev/null 2>&1
CHECK_RESULT $? 0 0 "使用-enc参数编译TeX文件失败"
# 检查是否生成了PDF文件
LOG_INFO "检查是否生成了PDF文件"
if [ -f test_enc.pdf ]; then
LOG_INFO "成功生成PDF文件"
rm -f test_enc.pdf
else
LOG_ERROR "未生成PDF文件"
exit 1
fi
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f test_enc.tex test_enc.log test_enc.aux
# 如果脚本开始前未安装软件包,则在测试结束后卸载
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载texlive-pdftex-quiet软件包"
dnf remove -y texlive-pdftex-quiet > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载texlive-pdftex-quiet软件包失败"
else
LOG_INFO "保持texlive-pdftex-quiet软件包安装状态"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

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