Merge branch 'pkg' of http://10.30.190.190:54866/redrsoe2100/os-autotest into pkg
This commit is contained in:
@@ -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": "检查软件包元数据(版本、描述)是否正确"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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软件包的安装状态检查功能,确保能准确判断软件包是否已安装在系统中。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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是否包含调试段。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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软件包的卸载功能,验证其能否通过包管理器被完全移除。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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": "测试软件包能否通过系统包管理器被干净地卸载。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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
@@ -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检查统计报告功能"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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软件包的串口通信功能"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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软件包,并验证相关字体文件被移除。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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 的版本信息。"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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:检查系统是否安装了LaTeX(pdflatex)"
|
||||
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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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
Reference in New Issue
Block a user