This commit is contained in:
2026-04-16 09:00:20 +08:00
119 changed files with 0 additions and 9881 deletions

View File

@@ -9,26 +9,6 @@
{
"name": "test_artemis-journal_function_logging",
"desc": "Test logging functionality of artemis-journal"
},
{
"name": "test_artemis-journal_function_install",
"desc": "Test installation of artemis-journal package"
},
{
"name": "test_artemis-journal_function_uninstall",
"desc": "Test uninstallation of artemis-journal package"
},
{
"name": "test_artemis-journal_function_version",
"desc": "Test checking version of artemis-journal"
},
{
"name": "test_artemis-journal_function_help",
"desc": "Test help/usage information of artemis-journal"
},
{
"name": "test_artemis-journal_function_config",
"desc": "Test basic configuration of artemis-journal"
}
]
}

View File

@@ -10,14 +10,6 @@
"name": "test_libcomps-devel_remove",
"desc": "测试 libcomps-devel 软件包能否成功卸载"
},
{
"name": "test_libcomps-devel_check",
"desc": "测试 libcomps-devel 软件包(开发库和头文件)是否已正确安装"
},
{
"name": "test_libcomps-devel_compile",
"desc": "测试使用 libcomps-devel 开发库编译简单程序"
},
{
"name": "test_libcomps-devel_function_install",
"desc": "测试 libcomps-devel 软件包的安装功能"
@@ -29,30 +21,6 @@
{
"name": "test_libcomps-devel_function_check_ver",
"desc": "测试检查 libcomps-devel 软件包的版本信息"
},
{
"name": "test_libcomps-devel_function_headers",
"desc": "测试 libcomps-devel 头文件的存在与完整性"
},
{
"name": "test_libcomps-devel_function_libs",
"desc": "测试 libcomps-devel 开发库文件的存在与链接有效性"
},
{
"name": "test_libcomps-devel_function_compile",
"desc": "测试使用 libcomps-devel 库编译一个简单的 C 程序"
},
{
"name": "test_libcomps-devel_function_parse_comps",
"desc": "测试使用 libcomps 库解析 comps.xml 文件的基本功能"
},
{
"name": "test_libcomps-devel_function_groups",
"desc": "测试获取和遍历 comps.xml 中的软件包组信息"
},
{
"name": "test_libcomps-devel_function_environments",
"desc": "测试获取和遍历 comps.xml 中的环境组信息"
}
]
}

View File

@@ -2,578 +2,14 @@
"path": "$OET_PATH/testcases/function_test/pkg_test/mingw-filesystem/mingw32-filesystem",
"machine num": 1,
"cases": [
{
"name": "test_mingw32-filesystem_mingw32-cmake_default",
"desc": "测试 mingw32-cmake 命令的默认行为"
},
{
"name": "test_mingw32-filesystem_mingw32-configure_default",
"desc": "测试 mingw32-configure 命令的默认行为"
},
{
"name": "test_mingw32-filesystem_mingw32-make__upper_b",
"desc": "测试 mingw32-make 的 -B 参数,无条件构建所有目标"
},
{
"name": "test_mingw32-filesystem_mingw32-make__upper_c",
"desc": "测试 mingw32-make 的 -C 参数,指定目录后执行构建"
},
{
"name": "test_mingw32-filesystem_mingw32-make__d",
"desc": "测试 mingw32-make 的 -d 参数,打印调试信息"
},
{
"name": "test_mingw32-filesystem_mingw32-make__e",
"desc": "测试 mingw32-make 的 -e 参数,环境变量覆盖 makefile"
},
{
"name": "test_mingw32-filesystem_mingw32-make__f",
"desc": "测试 mingw32-make 的 -f 参数,指定 makefile 文件"
},
{
"name": "test_mingw32-filesystem_mingw32-make__h",
"desc": "测试 mingw32-make 的 -h 参数,打印帮助信息"
},
{
"name": "test_mingw32-filesystem_mingw32-make__i",
"desc": "测试 mingw32-make 的 -i 参数,忽略错误继续执行"
},
{
"name": "test_mingw32-filesystem_mingw32-make__j_num_n",
"desc": "测试 mingw32-make 的 -j N 参数,指定并行任务数"
},
{
"name": "test_mingw32-filesystem_mingw32-make__k",
"desc": "测试 mingw32-make 的 -k 参数,即使有错误也继续执行目标构建"
},
{
"name": "test_mingw32-filesystem_mingw32-make__n",
"desc": "测试 mingw32-make 的 -n 参数,仅打印命令不实际执行"
},
{
"name": "test_mingw32-filesystem_mingw32-meson__v",
"desc": "测试 mingw32-meson 命令的 -v 参数"
},
{
"name": "test_mingw32-filesystem_mingw32-pkg-config_v",
"desc": "测试 mingw32-pkg-config 的 -v 参数"
},
{
"name": "test_mingw32-filesystem_function_lib",
"desc": "测试基础依赖库的功能"
},
{
"name": "test_mingw32-filesystem_mingw32-make__upper_e",
"desc": "测试将字符串作为makefile语句执行"
},
{
"name": "test_mingw32-filesystem_mingw32-make__upper_i",
"desc": "测试包含目录"
},
{
"name": "test_mingw32-filesystem_mingw32-make__j",
"desc": "测试并行作业"
},
{
"name": "test_mingw32-filesystem_mingw32-make__l",
"desc": "测试负载限制"
},
{
"name": "test_mingw32-filesystem_mingw32-make__upper_l",
"desc": "测试检查符号链接时间"
},
{
"name": "test_mingw32-filesystem_mingw32-make__o",
"desc": "测试将文件视为旧文件"
},
{
"name": "test_mingw32-filesystem_mingw32-pkg-config__v",
"desc": "测试 mingw32-pkg-config 的 -v 参数,用于显示版本信息"
},
{
"name": "test_mingw32-filesystem_function_lib_basic",
"desc": "测试基础依赖库的基本功能"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_-S",
"desc": "测试指定源目录参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_-B",
"desc": "测试指定构建目录参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_-C",
"desc": "测试预加载缓存脚本参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_-D",
"desc": "测试创建或更新CMake缓存条目参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_-U",
"desc": "测试从CMake缓存中移除匹配条目参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_-G",
"desc": "测试指定构建系统生成器参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_-T",
"desc": "测试指定工具集名称参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_-A",
"desc": "测试指定平台名称参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--toolchain",
"desc": "测试指定工具链文件参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--install-prefix",
"desc": "测试指定安装目录参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_-Wdev",
"desc": "测试启用开发者警告参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_-Wno-dev",
"desc": "测试抑制开发者警告参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_-Werror_dev",
"desc": "测试使开发者警告成为错误参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_-Wno-error_dev",
"desc": "测试使开发者警告不为错误参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_-Wdeprecated",
"desc": "测试启用废弃警告参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_-Wno-deprecated",
"desc": "测试抑制废弃警告参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_-Werror_deprecated",
"desc": "测试使废弃宏和函数警告成为错误参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_-Wno-error_deprecated",
"desc": "测试使废弃宏和函数警告不为错误参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--preset",
"desc": "测试指定配置预设参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--list-presets",
"desc": "测试列出可用预设参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_-E",
"desc": "测试CMake命令模式参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_-L",
"desc": "测试列出非高级缓存变量参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--fresh",
"desc": "测试配置全新构建树参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--build",
"desc": "测试构建CMake生成的项目二进制树参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--install",
"desc": "测试安装CMake生成的项目二进制树参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--open",
"desc": "测试在关联应用中打开生成的项目参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_-N",
"desc": "测试仅查看模式参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_-P",
"desc": "测试处理脚本模式参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--find-package",
"desc": "测试遗留的pkg-config类似模式参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--graphviz",
"desc": "测试生成依赖关系图参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--system-information",
"desc": "测试转储系统信息参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--log-level",
"desc": "测试设置CMake文件消息详细级别参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--log-context",
"desc": "测试为日志消息添加上下文参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--debug-trycompile",
"desc": "测试不删除try_compile构建树参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--debug-output",
"desc": "测试启用CMake调试模式参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--debug-find",
"desc": "测试启用CMake查找调试模式参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--debug-find-pkg",
"desc": "测试限制CMake调试查找至指定包参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--debug-find-var",
"desc": "测试限制CMake调试查找至指定结果变量参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--trace",
"desc": "测试启用CMake跟踪模式参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--trace-expand",
"desc": "测试启用带变量扩展的CMake跟踪模式参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--trace-format",
"desc": "测试设置跟踪输出格式参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--trace-source",
"desc": "测试仅跟踪指定CMake文件参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--trace-redirect",
"desc": "测试重定向跟踪输出到文件参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--warn-uninitialized",
"desc": "测试警告未初始化值参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--no-warn-unused-cli",
"desc": "测试不警告未使用的命令行选项参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--check-system-vars",
"desc": "测试检查系统文件中变量使用问题参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--compile-no-warning-as-error",
"desc": "测试忽略编译警告作为错误参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--profiling-format",
"desc": "测试输出CMake脚本性能分析数据格式参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--profiling-output",
"desc": "测试选择性能分析数据输出路径参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_-h",
"desc": "测试打印使用信息并退出参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--help",
"desc": "测试打印使用信息并退出参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--version",
"desc": "测试打印版本号并退出参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--help-full",
"desc": "测试打印所有帮助手册并退出参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--help-manual",
"desc": "测试打印一个帮助手册并退出参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--help-manual-list",
"desc": "测试列出可用帮助手册并退出参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--help-command",
"desc": "测试打印一个命令的帮助并退出参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--help-command-list",
"desc": "测试列出有可用帮助的命令并退出参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--help-commands",
"desc": "测试打印cmake-commands手册并退出参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--help-module",
"desc": "测试打印一个模块的帮助并退出参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--help-module-list",
"desc": "测试列出有可用帮助的模块并退出参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--help-modules",
"desc": "测试打印cmake-modules手册并退出参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--help-policy",
"desc": "测试打印一个策略的帮助并退出参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--help-policy-list",
"desc": "测试列出有可用帮助的策略并退出参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--help-policies",
"desc": "测试打印cmake-policies手册并退出参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--help-property",
"desc": "测试打印一个属性的帮助并退出参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--help-property-list",
"desc": "测试列出有可用帮助的属性并退出参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--help-properties",
"desc": "测试打印cmake-properties手册并退出参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--help-variable",
"desc": "测试打印一个变量的帮助并退出参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--help-variable-list",
"desc": "测试列出有可用帮助的变量并退出参数"
},
{
"name": "test_mingw32-filesystem_mingw32-cmake_--help-variables",
"desc": "测试打印cmake-variables手册并退出参数"
},
{
"name": "test_mingw32-filesystem_mingw32-configure_no_args",
"desc": "测试 mingw32-configure 命令在不提供任何参数时的行为"
},
{
"name": "test_mingw32-filesystem_mingw32-configure_help",
"desc": "测试 mingw32-configure 命令的 --help 参数以显示帮助信息"
},
{
"name": "test_mingw32-filesystem_mingw32-configure_version",
"desc": "测试 mingw32-configure 命令的 --version 参数以显示版本信息"
},
{
"name": "test_mingw32-filesystem_mingw32-configure_host",
"desc": "测试 mingw32-configure 命令的 --host 参数以指定目标主机"
},
{
"name": "test_mingw32-filesystem_mingw32-configure_prefix",
"desc": "测试 mingw32-configure 命令的 --prefix 参数以指定安装目录"
},
{
"name": "test_mingw32-filesystem_mingw32-configure_build",
"desc": "测试 mingw32-configure 命令的 --build 参数以指定构建系统"
},
{
"name": "test_mingw32-filesystem_mingw32-configure_target",
"desc": "测试 mingw32-configure 命令的 --target 参数以指定目标系统"
},
{
"name": "test_mingw32-filesystem_mingw32-configure_enable_shared",
"desc": "测试 mingw32-configure 命令的 --enable-shared 参数以启用共享库构建"
},
{
"name": "test_mingw32-filesystem_mingw32-configure_enable_static",
"desc": "测试 mingw32-configure 命令的 --enable-static 参数以启用静态库构建"
},
{
"name": "test_mingw32-filesystem_mingw32-configure_with_openssl",
"desc": "测试 mingw32-configure 命令的 --with-openssl 参数以指定 OpenSSL 库路径"
},
{
"name": "test_mingw32-filesystem_mingw32-configure_without_openssl",
"desc": "测试 mingw32-configure 命令的 --without-openssl 参数以禁用 OpenSSL 支持"
},
{
"name": "test_mingw32-filesystem_mingw32-configure_cc",
"desc": "测试 mingw32-configure 命令的 CC 环境变量或参数以指定 C 编译器"
},
{
"name": "test_mingw32-filesystem_mingw32-configure_cxx",
"desc": "测试 mingw32-configure 命令的 CXX 环境变量或参数以指定 C++ 编译器"
},
{
"name": "test_mingw32-filesystem_mingw32-configure_cflags",
"desc": "测试 mingw32-configure 命令的 CFLAGS 环境变量或参数以指定 C 编译器标志"
},
{
"name": "test_mingw32-filesystem_mingw32-configure_cxxflags",
"desc": "测试 mingw32-configure 命令的 CXXFLAGS 环境变量或参数以指定 C++ 编译器标志"
},
{
"name": "test_mingw32-filesystem_mingw32-configure_ldflags",
"desc": "测试 mingw32-configure 命令的 LDFLAGS 环境变量或参数以指定链接器标志"
},
{
"name": "test_mingw32-filesystem_mingw32-make__upper_o",
"desc": "测试同步并行作业输出的选项"
},
{
"name": "test_mingw32-filesystem_mingw32-make__p",
"desc": "测试打印make内部数据库的选项"
},
{
"name": "test_mingw32-filesystem_mingw32-make__q",
"desc": "测试不运行配方仅检查目标是否最新的选项"
},
{
"name": "test_mingw32-filesystem_mingw32-make__r",
"desc": "测试禁用内置隐式规则的选项"
},
{
"name": "test_mingw32-filesystem_mingw32-make__upper_r",
"desc": "测试禁用内置变量设置的选项"
},
{
"name": "test_mingw32-filesystem_mingw32-make__s",
"desc": "测试不回应配方的静默执行选项"
},
{
"name": "test_mingw32-filesystem_mingw32-make__upper_s",
"desc": "测试关闭-k选项停止继续执行的选项"
},
{
"name": "test_mingw32-filesystem_mingw32-make__t",
"desc": "测试触摸目标文件而非重新构建的选项"
},
{
"name": "test_mingw32-filesystem_mingw32-make__v",
"desc": "测试打印make版本号并退出的选项"
},
{
"name": "test_mingw32-filesystem_mingw32-make__w",
"desc": "测试打印当前目录的选项"
},
{
"name": "test_mingw32-filesystem_mingw32-make__upper_w",
"desc": "测试将文件视为无限新的选项"
},
{
"name": "test_mingw32-filesystem_mingw32-meson_help",
"desc": "测试 mingw32-meson 命令的帮助信息"
},
{
"name": "test_mingw32-filesystem_mingw32-meson_version",
"desc": "测试 mingw32-meson 命令的版本信息"
},
{
"name": "test_mingw32-filesystem_mingw32-meson_setup",
"desc": "测试 mingw32-meson 命令最基本的 setup 子命令"
},
{
"name": "test_mingw32-filesystem_mingw32-meson_configure",
"desc": "测试 mingw32-meson 命令的 configure 子命令"
},
{
"name": "test_mingw32-filesystem_mingw32-meson_build",
"desc": "测试 mingw32-meson 命令的 build 子命令"
},
{
"name": "test_mingw32-filesystem_mingw32-meson_test",
"desc": "测试 mingw32-meson 命令的 test 子命令"
},
{
"name": "test_mingw32-filesystem_mingw32-meson_install",
"desc": "测试 mingw32-meson 命令的 install 子命令"
},
{
"name": "test_mingw32-filesystem_mingw32-pkg-config__upper_v",
"desc": "测试 mingw32-pkg-config 的 -V 参数,检查其版本信息"
},
{
"name": "test_mingw32-filesystem_mingw32-pkg-config__h",
"desc": "测试 mingw32-pkg-config 的 -h 参数,显示帮助信息"
},
{
"name": "test_mingw32-filesystem_mingw32-pkg-config__upper_help",
"desc": "测试 mingw32-pkg-config 的 --help 参数,显示帮助信息"
},
{
"name": "test_mingw32-filesystem_mingw32-pkg-config__upper_version",
"desc": "测试 mingw32-pkg-config 的 --version 参数,显示 pkg-config 版本"
},
{
"name": "test_mingw32-filesystem_mingw32-pkg-config__at",
"desc": "测试 mingw32-pkg-config 的 @ 参数,从文件读取额外的命令行参数"
},
{
"name": "test_mingw32-filesystem_mingw32-pkg-config__cflags",
"desc": "测试 mingw32-pkg-config 的 --cflags 参数,输出指定软件包的编译标志"
},
{
"name": "test_mingw32-filesystem_mingw32-pkg-config__libs",
"desc": "测试 mingw32-pkg-config 的 --libs 参数,输出指定软件包的链接库标志"
},
{
"name": "test_mingw32-filesystem_mingw32-pkg-config__libs_only_l",
"desc": "测试 mingw32-pkg-config 的 --libs-only-l 参数,输出指定软件包的 -l 库标志"
},
{
"name": "test_mingw32-filesystem_mingw32-pkg-config__libs_only_other",
"desc": "测试 mingw32-pkg-config 的 --libs-only-other 参数,输出指定软件包的其他链接标志"
},
{
"name": "test_mingw32-filesystem_mingw32-pkg-config__cflags_only_i",
"desc": "测试 mingw32-pkg-config 的 --cflags-only-I 参数,输出指定软件包的 -I 包含目录标志"
},
{
"name": "test_mingw32-filesystem_mingw32-pkg-config__cflags_only_other",
"desc": "测试 mingw32-pkg-config 的 --cflags-only-other 参数,输出指定软件包的其他编译标志"
},
{
"name": "test_mingw32-filesystem_mingw32-pkg-config__modversion",
"desc": "测试 mingw32-pkg-config 的 --modversion 参数,输出指定软件包的版本"
},
{
"name": "test_mingw32-filesystem_mingw32-pkg-config__exists",
"desc": "测试 mingw32-pkg-config 的 --exists 参数,检查指定软件包是否存在"
},
{
"name": "test_mingw32-filesystem_mingw32-pkg-config__at_package",
"desc": "测试 mingw32-pkg-config 的 @ 参数与软件包名结合使用,从文件读取参数并查询软件包"
},
{
"name": "test_mingw32-filesystem_mingw32-pkg-config__cflags_libs",
"desc": "测试 mingw32-pkg-config 的 --cflags 和 --libs 参数组合使用,输出指定软件包的编译和链接标志"
},
{
"name": "test_mingw32-filesystem_mingw32-pkg-config__exists_silent",
"desc": "测试 mingw32-pkg-config 的 --exists 参数静默模式,仅通过退出码判断软件包是否存在"
},
{
"name": "test_mingw32-filesystem_function_install",
"desc": "测试软件包安装功能"
@@ -585,22 +21,6 @@
{
"name": "test_mingw32-filesystem_function_check_installed",
"desc": "测试检查软件包是否安装"
},
{
"name": "test_mingw32-filesystem_function_basic_compile",
"desc": "测试使用mingw32-make基本编译"
},
{
"name": "test_mingw32-filesystem_function_cmake_project",
"desc": "测试使用mingw32-cmake配置项目"
},
{
"name": "test_mingw32-filesystem_function_configure_project",
"desc": "测试使用mingw32-configure配置项目"
},
{
"name": "test_mingw32-filesystem_function_pkg_config_query",
"desc": "测试使用mingw32-pkg-config查询包信息"
}
]
}

View File

@@ -6,33 +6,9 @@
"name": "test_python3-async-timeout_function_timeout",
"desc": "Test timeout functionality"
},
{
"name": "test_python3-async-timeout_function_install",
"desc": "Test package installation"
},
{
"name": "test_python3-async-timeout_function_uninstall",
"desc": "Test package removal"
},
{
"name": "test_python3-async-timeout_function_basic_timeout",
"desc": "Test basic timeout usage"
},
{
"name": "test_python3-async-timeout_function_nested_timeout",
"desc": "Test nested timeout context"
},
{
"name": "test_python3-async-timeout_function_timeout_cancel",
"desc": "Test cancel timeout"
},
{
"name": "test_python3-async-timeout_function_no_timeout",
"desc": "Test operation without timeout"
},
{
"name": "test_python3-async-timeout_function_import",
"desc": "Test module import"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/qt6-qtwebengine/qt6-qtpdf-devel",
"machine num": 1,
"cases": [
{
"name": "test_qt6-qtpdf-devel_function_pdfrender",
"desc": "Test PDF rendering functionality"
}
]
}

View File

@@ -103,10 +103,6 @@
"name": "test_source-highlight_check-regexp_upper_v",
"desc": "执行check-regexp命令时使用-V参数显示版本信息"
},
{
"name": "test_source-highlight_java2html_lang_list",
"desc": "使用--lang-list列出所有支持的源语言"
},
{
"name": "test_source-highlight_java2html_outlang_list",
"desc": "使用--outlang-list列出所有支持的输出格式"

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-q/texlive-ntgclass-doc",
"machine num": 1,
"cases": [
{
"name": "test_texlive-ntgclass-doc_function_docgen",
"desc": "Verify documentation generation"
}
]
}

View File

@@ -1,71 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-09
# @License : Mulan PSL v2
# @Desc : Test basic configuration of artemis-journal
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
PACKAGE_NAME="artemis-journal"
LOG_INFO "开始测试 artemis-journal 基础配置功能"
LOG_INFO "步骤1: 检查系统中是否已安装 $PACKAGE_NAME"
if dnf list installed "$PACKAGE_NAME" &>/dev/null; then
LOG_INFO "$PACKAGE_NAME 已安装,测试后将保持安装状态"
INSTALLED_BEFORE_TEST=true
else
LOG_INFO "$PACKAGE_NAME 未安装,将在测试中安装并在结束后卸载"
INSTALLED_BEFORE_TEST=false
fi
LOG_INFO "步骤2: 检查yum源中是否存在 $PACKAGE_NAME 软件包"
if ! dnf list available "$PACKAGE_NAME" &>/dev/null; then
LOG_ERROR "yum源中未找到 $PACKAGE_NAME 软件包"
exit 255
fi
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
LOG_INFO "步骤3: 安装 $PACKAGE_NAME 软件包"
dnf install -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "安装 $PACKAGE_NAME 失败"
fi
LOG_INFO "步骤4: 检查 artemis-journal 命令是否存在"
if ! command -v artemis-journal &>/dev/null; then
LOG_ERROR "artemis-journal 命令不存在"
exit 255
fi
LOG_INFO "步骤5: 测试 artemis-journal --help 参数"
artemis-journal --help &>/dev/null
CHECK_RESULT $? 0 0 "artemis-journal --help 命令执行失败"
LOG_INFO "步骤6: 测试 artemis-journal --version 参数"
artemis-journal --version &>/dev/null
CHECK_RESULT $? 0 0 "artemis-journal --version 命令执行失败"
LOG_INFO "步骤7: 测试 artemis-journal 不支持参数 --invalid-param"
artemis-journal --invalid-param 2>&1 | grep -q "unrecognized option\|invalid option\|Unknown option"
CHECK_RESULT $? 0 0 "artemis-journal 未正确识别无效参数"
LOG_INFO "步骤8: 测试 artemis-journal 基础配置功能"
artemis-journal config --show-default
CHECK_RESULT $? 0 0 "artemis-journal config --show-default 命令执行失败"
LOG_INFO "步骤9: 清理测试环境"
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
LOG_INFO "卸载 $PACKAGE_NAME 软件包"
dnf remove -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "卸载 $PACKAGE_NAME 失败"
else
LOG_INFO "测试前已安装 $PACKAGE_NAME,保持安装状态"
fi
LOG_INFO "artemis-journal 基础配置功能测试完成"
}
main "$@"

View File

@@ -1,79 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-09
# @License : Mulan PSL v2
# @Desc : Test help/usage information of artemis-journal
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试artemis-journal的帮助/使用信息功能"
# 定义软件包名称
PACKAGE_NAME="artemis-journal"
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否有$PACKAGE_NAME软件包"
if ! dnf list available "$PACKAGE_NAME" &>/dev/null; then
LOG_ERROR "yum源中没有找到$PACKAGE_NAME软件包"
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
# 测试帮助信息
LOG_INFO "测试artemis-journal --help命令"
artemis-journal --help &>/dev/null
CHECK_RESULT $? 0 0 "artemis-journal --help命令执行失败"
# 测试usage信息
LOG_INFO "测试artemis-journal -h命令"
artemis-journal -h &>/dev/null
CHECK_RESULT $? 0 0 "artemis-journal -h命令执行失败"
# 测试无效参数
LOG_INFO "测试无效参数--invalid-param"
artemis-journal --invalid-param 2>&1 | grep -q "unrecognized option"
CHECK_RESULT $? 0 0 "无效参数检查失败,可能参数被支持"
# 清理环境:如果测试前未安装,则卸载软件包
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
LOG_INFO "卸载$PACKAGE_NAME软件包"
dnf remove -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "卸载$PACKAGE_NAME失败"
else
LOG_INFO "测试前已安装$PACKAGE_NAME,保持安装状态"
fi
LOG_INFO "artemis-journal帮助/使用信息测试完成"
}
main "$@"

View File

@@ -1,102 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-09
# @License : Mulan PSL v2
# @Desc : Test installation of artemis-journal package
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装artemis-journal包
LOG_INFO "检查是否已安装artemis-journal包"
rpm -q artemis-journal > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "artemis-journal包已安装脚本结束时将保持安装状态"
INSTALLED_BEFORE=true
else
LOG_INFO "artemis-journal包未安装将在测试中安装并在结束后卸载"
INSTALLED_BEFORE=false
fi
# 检查yum源中是否有artemis-journal包
LOG_INFO "检查yum源中是否有artemis-journal包"
dnf list available artemis-journal > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到artemis-journal包"
exit 255
fi
# 安装artemis-journal包
if [ "$INSTALLED_BEFORE" = "false" ]; then
LOG_INFO "安装artemis-journal包"
dnf install -y artemis-journal
CHECK_RESULT $? 0 0 "安装artemis-journal包失败"
fi
# 验证artemis-journal包安装成功
LOG_INFO "验证artemis-journal包安装成功"
rpm -q artemis-journal > /dev/null 2>&1
CHECK_RESULT $? 0 0 "artemis-journal包未正确安装"
# 检查artemis-journal命令是否可用
LOG_INFO "检查artemis-journal命令是否可用"
which artemis-journal > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "artemis-journal命令不存在"
exit 255
fi
# 测试artemis-journal命令基本功能
LOG_INFO "测试artemis-journal命令基本功能"
artemis-journal --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "artemis-journal命令执行失败"
# 测试artemis-journal命令的特定参数假设--version参数存在
LOG_INFO "测试artemis-journal命令的--version参数"
artemis-journal --version > /dev/null 2>&1
CHECK_RESULT $? 0 0 "artemis-journal命令--version参数执行失败"
# 测试不支持的参数
LOG_INFO "测试artemis-journal命令的不支持参数"
artemis-journal --invalid-param > /dev/null 2>&1
if [ $? -ne 255 ] && [ $? -ne 0 ]; then
LOG_ERROR "artemis-journal命令对不支持参数处理异常"
exit 255
fi
# 清理环境如果之前未安装则卸载artemis-journal包
if [ "$INSTALLED_BEFORE" = "false" ]; then
LOG_INFO "卸载artemis-journal包"
dnf remove -y artemis-journal
CHECK_RESULT $? 0 0 "卸载artemis-journal包失败"
# 验证卸载成功
LOG_INFO "验证artemis-journal包已卸载"
rpm -q artemis-journal > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_ERROR "artemis-journal包卸载失败"
exit 1
else
LOG_INFO "artemis-journal包已成功卸载"
fi
else
LOG_INFO "保持artemis-journal包安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

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

View File

@@ -1,115 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-09
# @License : Mulan PSL v2
# @Desc : Test checking version of artemis-journal
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试artemis-journal版本检查功能
LOG_INFO "开始测试artemis-journal版本检查功能"
# 定义软件包名称
PACKAGE_NAME="artemis-journal"
# 步骤1检查软件包是否已在yum源中
LOG_INFO "步骤1检查软件包是否在yum源中"
if ! dnf list available ${PACKAGE_NAME} &>/dev/null; then
LOG_ERROR "软件包 ${PACKAGE_NAME} 不在yum源中"
exit 255
fi
CHECK_RESULT $? 0 0 "检查软件包是否在yum源中失败"
# 步骤2检查当前是否已安装软件包
LOG_INFO "步骤2检查软件包是否已安装"
if rpm -q ${PACKAGE_NAME} &>/dev/null; then
INSTALLED=true
LOG_INFO "软件包已安装,测试结束后将保持安装状态"
else
INSTALLED=false
LOG_INFO "软件包未安装,测试结束后将卸载软件包"
fi
# 步骤3如果未安装则安装软件包
if [ "${INSTALLED}" = "false" ]; then
LOG_INFO "步骤3安装软件包"
dnf install -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 步骤4检查artemis-journal命令是否存在
LOG_INFO "步骤4检查artemis-journal命令是否存在"
if ! command -v artemis-journal &>/dev/null; then
LOG_ERROR "artemis-journal命令不存在"
if [ "${INSTALLED}" = "false" ]; then
dnf remove -y ${PACKAGE_NAME}
fi
exit 255
fi
# 步骤5检查artemis-journal是否支持--version参数
LOG_INFO "步骤5检查artemis-journal是否支持--version参数"
if ! artemis-journal --help 2>&1 | grep -q "\-\-version"; then
LOG_ERROR "artemis-journal不支持--version参数"
if [ "${INSTALLED}" = "false" ]; then
dnf remove -y ${PACKAGE_NAME}
fi
exit 255
fi
# 步骤6执行版本检查命令
LOG_INFO "步骤6执行artemis-journal --version命令"
artemis-journal --version
CHECK_RESULT $? 0 0 "执行artemis-journal --version命令失败"
# 步骤7验证版本输出格式
LOG_INFO "步骤7验证版本输出格式"
VERSION_OUTPUT=$(artemis-journal --version 2>&1)
if [ -z "${VERSION_OUTPUT}" ]; then
LOG_ERROR "版本输出为空"
if [ "${INSTALLED}" = "false" ]; then
dnf remove -y ${PACKAGE_NAME}
fi
exit 1
fi
# 步骤8检查版本号格式至少包含数字和点
LOG_INFO "步骤8检查版本号格式"
if echo "${VERSION_OUTPUT}" | grep -q -E "[0-9]+\.[0-9]+(\.[0-9]+)*"; then
LOG_INFO "版本号格式正确: $(echo ${VERSION_OUTPUT} | grep -o -E "[0-9]+\.[0-9]+(\.[0-9]+)*" | head -1)"
else
LOG_ERROR "版本号格式不正确"
if [ "${INSTALLED}" = "false" ]; then
dnf remove -y ${PACKAGE_NAME}
fi
exit 1
fi
# 步骤9环境恢复
LOG_INFO "步骤9环境恢复"
if [ "${INSTALLED}" = "false" ]; then
LOG_INFO "卸载测试安装的软件包"
dnf remove -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "卸载软件包失败"
else
LOG_INFO "保持软件包安装状态"
fi
LOG_INFO "artemis-journal版本检查测试完成"
}
main "$@"

View File

@@ -1,103 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-01-28
# @License : Mulan PSL v2
# @Desc : 测试 libcomps-devel 软件包(开发库和头文件)是否已正确安装
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查libcomps-devel软件包是否已正确安装
LOG_INFO "开始测试libcomps-devel软件包开发库和头文件是否已正确安装"
# 检查软件包是否已在yum源中
LOG_INFO "检查yum源中是否存在libcomps-devel软件包"
dnf list available libcomps-devel > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到libcomps-devel软件包"
exit 255
fi
# 检查是否已安装libcomps-devel
LOG_INFO "检查libcomps-devel是否已安装"
rpm -q libcomps-devel > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "libcomps-devel已安装标记为需要保持安装状态"
KEEP_INSTALLED=1
else
LOG_INFO "libcomps-devel未安装将进行安装测试"
KEEP_INSTALLED=0
fi
# 如果未安装,则安装软件包
if [ $KEEP_INSTALLED -eq 0 ]; then
LOG_INFO "安装libcomps-devel软件包"
dnf install -y libcomps-devel
CHECK_RESULT $? 0 0 "安装libcomps-devel失败"
fi
# 验证软件包安装
LOG_INFO "验证libcomps-devel软件包是否已正确安装"
rpm -q libcomps-devel > /dev/null 2>&1
CHECK_RESULT $? 0 0 "libcomps-devel软件包未正确安装"
# 检查开发库文件是否存在
LOG_INFO "检查libcomps开发库文件"
ls /usr/lib*/libcomps.so > /dev/null 2>&1 || ls /usr/lib64/libcomps.so > /dev/null 2>&1
CHECK_RESULT $? 0 0 "未找到libcomps开发库文件"
# 检查头文件是否存在
LOG_INFO "检查libcomps头文件"
ls /usr/include/libcomps/libcomps.h > /dev/null 2>&1
CHECK_RESULT $? 0 0 "未找到libcomps头文件"
# 测试开发库链接
LOG_INFO "测试libcomps开发库链接"
cat > /tmp/test_libcomps.c << "EOF"
#include <libcomps/libcomps.h>
#include <stdio.h>
int main() {
printf("libcomps version: %s\n", COMPS_VERSION);
return 0;
}
EOF
gcc -o /tmp/test_libcomps /tmp/test_libcomps.c -lcomps 2>/dev/null
CHECK_RESULT $? 0 0 "libcomps开发库链接测试失败"
# 运行测试程序
LOG_INFO "运行libcomps测试程序"
/tmp/test_libcomps
CHECK_RESULT $? 0 0 "libcomps测试程序运行失败"
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f /tmp/test_libcomps.c /tmp/test_libcomps
# 环境恢复
LOG_INFO "恢复测试环境"
if [ $KEEP_INSTALLED -eq 0 ]; then
LOG_INFO "卸载libcomps-devel软件包"
dnf remove -y libcomps-devel
CHECK_RESULT $? 0 0 "卸载libcomps-devel失败"
else
LOG_INFO "保持libcomps-devel软件包安装状态"
fi
LOG_INFO "libcomps-devel软件包测试完成"
}
main "$@"

View File

@@ -1,74 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-01-28
# @License : Mulan PSL v2
# @Desc : 测试使用 libcomps-devel 开发库编译简单程序
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 判断 libcomps-devel 是否已安装
LOG_INFO "检查 libcomps-devel 是否已安装"
rpm -q libcomps-devel > /dev/null 2>&1
is_installed=$?
# 如果未安装,则尝试从 yum 源安装
if [ $is_installed -ne 0 ]; then
LOG_INFO "libcomps-devel 未安装,尝试从 yum 源查找"
dnf list available libcomps-devel > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum 源中未找到 libcomps-devel 软件包"
LOG_INFO "安装 libcomps-devel"
dnf install -y libcomps-devel
CHECK_RESULT $? 0 0 "安装 libcomps-devel 失败"
fi
# 创建测试源代码文件
LOG_INFO "创建测试源代码文件 test_libcomps.c"
cat > test_libcomps.c << "EOF"
#include <stdio.h>
#include <comps/comps.h>
int main() {
printf("测试 libcomps-devel 开发库编译简单程序\n");
return 0;
}
EOF
# 编译测试程序
LOG_INFO "编译测试程序"
gcc -o test_libcomps test_libcomps.c $(pkg-config --cflags --libs libcomps) 2>&1
CHECK_RESULT $? 0 0 "编译失败"
# 运行测试程序
LOG_INFO "运行测试程序"
./test_libcomps
CHECK_RESULT $? 0 0 "运行测试程序失败"
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f test_libcomps test_libcomps.c
# 如果脚本开始时未安装 libcomps-devel则在结束时卸载
if [ $is_installed -ne 0 ]; then
LOG_INFO "卸载 libcomps-devel"
dnf remove -y libcomps-devel
CHECK_RESULT $? 0 0 "卸载 libcomps-devel 失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,96 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-01-30
# @License : Mulan PSL v2
# @Desc : 测试使用 libcomps-devel 库编译一个简单的 C 程序
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试使用 libcomps-devel 库编译一个简单的 C 程序"
# 步骤1: 检查 libcomps-devel 包是否在 yum 源中
LOG_INFO "步骤1: 检查 libcomps-devel 包是否在 yum 源中"
dnf list available libcomps-devel &>/dev/null
CHECK_RESULT $? 0 0 "yum 源中未找到 libcomps-devel 包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum 源中未找到 libcomps-devel 包,退出测试"
exit 255
fi
# 步骤2: 检查是否已安装 libcomps-devel
LOG_INFO "步骤2: 检查是否已安装 libcomps-devel"
rpm -q libcomps-devel &>/dev/null
if [ $? -eq 0 ]; then
LOG_INFO "libcomps-devel 已安装,跳过安装步骤"
INSTALLED=true
else
LOG_INFO "libcomps-devel 未安装,开始安装"
INSTALLED=false
fi
# 步骤3: 如果未安装,则安装 libcomps-devel
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤3: 安装 libcomps-devel"
dnf install -y libcomps-devel
CHECK_RESULT $? 0 0 "安装 libcomps-devel 失败"
fi
# 步骤4: 创建一个简单的 C 程序,使用 libcomps-devel 库
LOG_INFO "步骤4: 创建一个简单的 C 程序,使用 libcomps-devel 库"
cat > test_libcomps.c << "EOF"
#include <stdio.h>
#include <comps/comps.h>
int main() {
struct CompsObj *obj = comps_obj_create();
if (obj == NULL) {
printf("Failed to create CompsObj\n");
return 1;
}
printf("Successfully created CompsObj\n");
comps_obj_free(obj);
return 0;
}
EOF
# 步骤5: 编译 C 程序
LOG_INFO "步骤5: 编译 C 程序"
gcc -o test_libcomps test_libcomps.c $(pkg-config --cflags --libs libcomps)
CHECK_RESULT $? 0 0 "编译 C 程序失败"
# 步骤6: 运行编译后的程序
LOG_INFO "步骤6: 运行编译后的程序"
./test_libcomps
CHECK_RESULT $? 0 0 "运行编译后的程序失败"
# 步骤7: 清理编译生成的文件
LOG_INFO "步骤7: 清理编译生成的文件"
rm -f test_libcomps test_libcomps.c
# 步骤8: 如果之前未安装,则卸载 libcomps-devel
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤8: 卸载 libcomps-devel"
dnf remove -y libcomps-devel
CHECK_RESULT $? 0 0 "卸载 libcomps-devel 失败"
else
LOG_INFO "步骤8: 保持 libcomps-devel 安装状态"
fi
LOG_INFO "测试使用 libcomps-devel 库编译一个简单的 C 程序完成"
}
main "$@"

View File

@@ -1,80 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-01-30
# @License : Mulan PSL v2
# @Desc : 测试获取和遍历 comps.xml 中的环境组信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:测试获取和遍历 comps.xml 中的环境组信息"
# 定义软件包名称
PACKAGE="libcomps-devel"
# 检查软件包是否已在yum源中
LOG_INFO "检查yum源中是否存在软件包 $PACKAGE"
dnf list available $PACKAGE &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 $PACKAGE 在yum源中不存在"
exit 255
fi
# 检查当前是否已安装软件包
LOG_INFO "检查当前是否已安装软件包 $PACKAGE"
rpm -q $PACKAGE &>/dev/null
INSTALLED=$?
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "软件包 $PACKAGE 已安装,测试结束后将保持安装状态"
NEED_UNINSTALL=0
else
LOG_INFO "软件包 $PACKAGE 未安装,将在测试过程中安装并在测试结束后卸载"
NEED_UNINSTALL=1
fi
# 如果未安装,则安装软件包
if [ $NEED_UNINSTALL -eq 1 ]; then
LOG_INFO "安装软件包 $PACKAGE"
dnf install -y $PACKAGE
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE 失败"
fi
# 检查 comps 命令是否支持所需参数
LOG_INFO "检查 comps 命令是否支持所需参数"
comps --help 2>&1 | grep -q "\-\-get-environments"
if [ $? -ne 0 ]; then
LOG_ERROR "comps 命令不支持 --get-environments 参数"
exit 255
fi
# 测试获取和遍历 comps.xml 中的环境组信息
LOG_INFO "执行 comps --get-environments 命令获取环境组信息"
comps --get-environments
CHECK_RESULT $? 0 0 "执行 comps --get-environments 命令失败"
# 清理环境:如果测试前未安装,则卸载软件包
if [ $NEED_UNINSTALL -eq 1 ]; then
LOG_INFO "卸载软件包 $PACKAGE"
dnf remove -y $PACKAGE
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE 失败"
else
LOG_INFO "测试前已安装软件包 $PACKAGE,测试结束后保持安装状态"
fi
LOG_INFO "测试完成:测试获取和遍历 comps.xml 中的环境组信息"
}
main "$@"

View File

@@ -1,113 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-01-30
# @License : Mulan PSL v2
# @Desc : 测试获取和遍历 comps.xml 中的软件包组信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试脚本test_libcomps-devel_function_groups
# 功能:测试获取和遍历 comps.xml 中的软件包组信息
# 环境变量定义
PACKAGE_NAME="libcomps-devel"
YUM_REPO_CMD="dnf list available ${PACKAGE_NAME} 2>/dev/null | grep -q ${PACKAGE_NAME}"
INSTALL_CMD="dnf install -y ${PACKAGE_NAME}"
REMOVE_CMD="dnf remove -y ${PACKAGE_NAME}"
TEST_COMMAND="comps_groups_test"
TEST_PARAM="--help"
INITIAL_INSTALL_STATUS="unknown"
# 步骤1检查软件包是否在yum源中
LOG_INFO "步骤1检查软件包 ${PACKAGE_NAME} 是否在yum源中"
if eval ${YUM_REPO_CMD}; then
LOG_INFO "软件包 ${PACKAGE_NAME} 在yum源中存在"
else
LOG_ERROR "软件包 ${PACKAGE_NAME} 在yum源中不存在"
exit 255
fi
# 步骤2检查当前环境是否已安装软件包
LOG_INFO "步骤2检查当前环境是否已安装软件包 ${PACKAGE_NAME}"
if rpm -q ${PACKAGE_NAME} >/dev/null 2>&1; then
LOG_INFO "软件包 ${PACKAGE_NAME} 已安装"
INITIAL_INSTALL_STATUS="installed"
else
LOG_INFO "软件包 ${PACKAGE_NAME} 未安装"
INITIAL_INSTALL_STATUS="not_installed"
fi
# 步骤3如果未安装则安装软件包
if [ "${INITIAL_INSTALL_STATUS}" = "not_installed" ]; then
LOG_INFO "步骤3安装软件包 ${PACKAGE_NAME}"
eval ${INSTALL_CMD}
CHECK_RESULT $? 0 0 "安装软件包 ${PACKAGE_NAME} 失败"
LOG_INFO "软件包 ${PACKAGE_NAME} 安装成功"
fi
# 步骤4检查测试命令是否存在
LOG_INFO "步骤4检查测试命令 ${TEST_COMMAND} 是否存在"
if command -v ${TEST_COMMAND} >/dev/null 2>&1; then
LOG_INFO "测试命令 ${TEST_COMMAND} 存在"
else
LOG_ERROR "测试命令 ${TEST_COMMAND} 不存在"
# 如果是新安装的,需要卸载
if [ "${INITIAL_INSTALL_STATUS}" = "not_installed" ]; then
eval ${REMOVE_CMD}
fi
exit 255
fi
# 步骤5检查测试命令参数是否支持
LOG_INFO "步骤5检查测试命令参数 ${TEST_PARAM} 是否支持"
${TEST_COMMAND} ${TEST_PARAM} >/dev/null 2>&1
if [ $? -eq 0 ] || [ $? -eq 1 ]; then
LOG_INFO "测试命令参数 ${TEST_PARAM} 支持"
else
LOG_ERROR "测试命令参数 ${TEST_PARAM} 不支持"
# 如果是新安装的,需要卸载
if [ "${INITIAL_INSTALL_STATUS}" = "not_installed" ]; then
eval ${REMOVE_CMD}
fi
exit 255
fi
# 步骤6执行测试命令获取和遍历 comps.xml 中的软件包组信息
LOG_INFO "步骤6执行测试命令获取和遍历 comps.xml 中的软件包组信息"
${TEST_COMMAND} --list-groups
CHECK_RESULT $? 0 0 "获取和遍历 comps.xml 中的软件包组信息失败"
# 步骤7执行测试命令获取特定软件包组信息
LOG_INFO "步骤7执行测试命令获取特定软件包组信息"
${TEST_COMMAND} --group-info "base"
CHECK_RESULT $? 0 0 "获取特定软件包组信息失败"
# 步骤8环境恢复
LOG_INFO "步骤8环境恢复"
if [ "${INITIAL_INSTALL_STATUS}" = "not_installed" ]; then
LOG_INFO "卸载软件包 ${PACKAGE_NAME}"
eval ${REMOVE_CMD}
CHECK_RESULT $? 0 0 "卸载软件包 ${PACKAGE_NAME} 失败"
LOG_INFO "软件包 ${PACKAGE_NAME} 卸载成功,环境已恢复"
else
LOG_INFO "软件包 ${PACKAGE_NAME} 保持安装状态,环境已恢复"
fi
LOG_INFO "测试脚本执行完成"
}
main "$@"

View File

@@ -1,74 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-01-30
# @License : Mulan PSL v2
# @Desc : 测试 libcomps-devel 头文件的存在与完整性
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 libcomps-devel 头文件的存在与完整性"
# 检查是否已安装 libcomps-devel
LOG_INFO "检查是否已安装 libcomps-devel"
dnf list installed libcomps-devel &> /dev/null
if [ $? -eq 0 ]; then
LOG_INFO "libcomps-devel 已安装,测试结束后将保持安装状态"
already_installed=true
else
LOG_INFO "libcomps-devel 未安装,将在测试前安装"
already_installed=false
fi
# 检查 yum 源中是否有 libcomps-devel 软件包
LOG_INFO "检查 yum 源中是否有 libcomps-devel 软件包"
dnf list available libcomps-devel &> /dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum 源中没有 libcomps-devel 软件包"
exit 255
fi
# 如果未安装,则安装 libcomps-devel
if [ "$already_installed" = false ]; then
LOG_INFO "安装 libcomps-devel"
dnf install -y libcomps-devel
CHECK_RESULT $? 0 0 "安装 libcomps-devel 失败"
fi
# 测试头文件的存在与完整性
LOG_INFO "测试头文件的存在"
if [ -f /usr/include/libcomps/comps.h ]; then
LOG_INFO "头文件 /usr/include/libcomps/comps.h 存在"
else
LOG_ERROR "头文件 /usr/include/libcomps/comps.h 不存在"
exit 1
fi
LOG_INFO "测试头文件的完整性"
grep -q "#ifndef _COMPS_H" /usr/include/libcomps/comps.h
CHECK_RESULT $? 0 0 "头文件 /usr/include/libcomps/comps.h 不完整"
# 清理环境:如果测试前未安装,则卸载 libcomps-devel
if [ "$already_installed" = false ]; then
LOG_INFO "卸载 libcomps-devel"
dnf remove -y libcomps-devel
CHECK_RESULT $? 0 0 "卸载 libcomps-devel 失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,183 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-01-30
# @License : Mulan PSL v2
# @Desc : 测试 libcomps-devel 开发库文件的存在与链接有效性
# ############################################
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
# 检查软件包是否存在
check_package_exist() {
local package_name="$1"
LOG_INFO "检查软件包 ${package_name} 是否在yum源中"
dnf list available "${package_name}" &> /dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 ${package_name} 不在yum源中"
exit 255
fi
LOG_INFO "软件包 ${package_name} 在yum源中存在"
}
# 检查命令参数是否支持
check_command_option() {
local cmd="$1"
local option="$2"
LOG_INFO "检查命令 ${cmd} 是否支持参数 ${option}"
${cmd} --help 2>&1 | grep -q -- "${option}"
if [ $? -ne 0 ]; then
LOG_ERROR "命令 ${cmd} 不支持参数 ${option}"
exit 255
fi
LOG_INFO "命令 ${cmd} 支持参数 ${option}"
}
# 检查libcomps-devel是否已安装
check_libcomps_devel_installed() {
LOG_INFO "检查libcomps-devel是否已安装"
rpm -q libcomps-devel &> /dev/null
return $?
}
# 安装libcomps-devel
install_libcomps_devel() {
LOG_INFO "开始安装libcomps-devel"
dnf install -y libcomps-devel
CHECK_RESULT $? 0 0 "安装libcomps-devel失败"
LOG_INFO "安装libcomps-devel成功"
}
# 卸载libcomps-devel
uninstall_libcomps_devel() {
LOG_INFO "开始卸载libcomps-devel"
dnf remove -y libcomps-devel
CHECK_RESULT $? 0 0 "卸载libcomps-devel失败"
LOG_INFO "卸载libcomps-devel成功"
}
# 测试libcomps-devel开发库文件存在性
test_libcomps_devel_files_exist() {
LOG_INFO "测试libcomps-devel开发库文件是否存在"
local header_file="/usr/include/libcomps/comps.h"
local lib_file="/usr/lib64/libcomps.so"
if [ -f "${header_file}" ]; then
LOG_INFO "头文件 ${header_file} 存在"
else
LOG_ERROR "头文件 ${header_file} 不存在"
exit 1
fi
if [ -f "${lib_file}" ]; then
LOG_INFO "库文件 ${lib_file} 存在"
else
LOG_ERROR "库文件 ${lib_file} 不存在"
exit 1
fi
}
# 测试libcomps-devel开发库链接有效性
test_libcomps_devel_link_validity() {
LOG_INFO "测试libcomps-devel开发库链接有效性"
# 创建一个简单的测试程序
cat > test_libcomps.c << "EOF"
#include <stdio.h>
#include <libcomps/comps.h>
int main() {
COMPS_Object *obj = COMPS_ObjectCreate();
if (obj != NULL) {
printf("libcomps库链接成功\n");
COMPS_ObjectDestroy(obj);
return 0;
} else {
printf("libcomps库链接失败\n");
return 1;
}
}
EOF
# 编译测试程序
gcc test_libcomps.c -o test_libcomps -lcomps
CHECK_RESULT $? 0 0 "编译测试程序失败"
# 运行测试程序
./test_libcomps
CHECK_RESULT $? 0 0 "运行测试程序失败"
# 清理测试文件
rm -f test_libcomps.c test_libcomps
LOG_INFO "libcomps-devel开发库链接有效性测试成功"
}
# 主测试函数
main() {
LOG_INFO "开始测试libcomps-devel开发库文件的存在与链接有效性"
# 检查软件包是否存在
check_package_exist "libcomps-devel"
# 检查命令参数支持
check_command_option "dnf" "install"
check_command_option "dnf" "remove"
# 检查是否已安装
local was_installed=0
if check_libcomps_devel_installed; then
LOG_INFO "libcomps-devel已安装测试后保持安装状态"
was_installed=1
else
LOG_INFO "libcomps-devel未安装将进行安装测试"
was_installed=0
install_libcomps_devel
fi
# 测试开发库文件存在性
test_libcomps_devel_files_exist
# 测试开发库链接有效性
test_libcomps_devel_link_validity
# 环境恢复
LOG_INFO "开始环境恢复"
if [ ${was_installed} -eq 0 ]; then
uninstall_libcomps_devel
else
LOG_INFO "保持libcomps-devel安装状态"
fi
LOG_INFO "测试完成,环境已恢复"
}
# 执行主函数
main
}
main "$@"

View File

@@ -1,86 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-01-30
# @License : Mulan PSL v2
# @Desc : 测试使用 libcomps 库解析 comps.xml 文件的基本功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试libcomps库解析comps.xml文件的基本功能"
# 检查libcomps-devel软件包是否已安装
LOG_INFO "检查libcomps-devel软件包是否已安装"
rpm -q libcomps-devel > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "libcomps-devel已安装脚本结束后将保持安装状态"
INSTALLED="yes"
else
LOG_INFO "libcomps-devel未安装将在测试过程中安装并在结束后卸载"
INSTALLED="no"
fi
# 检查yum源中是否有libcomps-devel软件包
LOG_INFO "检查yum源中是否有libcomps-devel软件包"
dnf list available libcomps-devel > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中没有libcomps-devel软件包"
exit 255
fi
# 如果未安装则安装libcomps-devel软件包
if [ "$INSTALLED" = "no" ]; then
LOG_INFO "安装libcomps-devel软件包"
dnf install -y libcomps-devel
CHECK_RESULT $? 0 0 "安装libcomps-devel失败"
fi
# 检查comps.xml文件是否存在
LOG_INFO "检查comps.xml文件是否存在"
if [ ! -f /usr/share/comps/comps.xml ]; then
LOG_ERROR "comps.xml文件不存在"
if [ "$INSTALLED" = "no" ]; then
LOG_INFO "卸载libcomps-devel软件包"
dnf remove -y libcomps-devel
fi
exit 1
fi
# 使用libcomps库解析comps.xml文件
LOG_INFO "使用libcomps库解析comps.xml文件"
python3 -c "
import libcomps
try:
comps = libcomps.Comps()
comps.fromxml_f("/usr/share/comps/comps.xml")
print("解析成功")
except Exception as e:
print("解析失败:", e)
exit(1)
"
CHECK_RESULT $? 0 0 "解析comps.xml文件失败"
# 清理环境如果脚本开始时未安装则卸载libcomps-devel软件包
if [ "$INSTALLED" = "no" ]; then
LOG_INFO "清理环境卸载libcomps-devel软件包"
dnf remove -y libcomps-devel
CHECK_RESULT $? 0 0 "卸载libcomps-devel失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,97 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试使用mingw32-make基本编译
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试mingw32-make基本编译功能"
LOG_INFO "检查mingw32-filesystem软件包是否在yum源中"
dnf list available mingw32-filesystem > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中未找到mingw32-filesystem软件包"
LOG_INFO "检查当前环境是否已安装mingw32-filesystem"
rpm -q mingw32-filesystem > /dev/null 2>&1
if [ $? -eq 0 ]; then
INSTALLED=true
LOG_INFO "mingw32-filesystem已安装脚本结束后将保持安装状态"
else
INSTALLED=false
LOG_INFO "mingw32-filesystem未安装将在测试步骤中安装"
fi
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装mingw32-filesystem软件包"
dnf install -y mingw32-filesystem
CHECK_RESULT $? 0 0 "安装mingw32-filesystem失败"
fi
LOG_INFO "检查mingw32-make命令是否可用"
command -v mingw32-make > /dev/null 2>&1
CHECK_RESULT $? 0 0 "mingw32-make命令不存在"
LOG_INFO "创建一个简单的C程序用于测试编译"
cat > test_hello.c << "EOF"
#include <stdio.h>
int main() {
printf("Hello, MinGW32!\n");
return 0;
}
EOF
LOG_INFO "创建一个简单的Makefile文件"
cat > Makefile << "EOF"
CC=mingw32-gcc
TARGET=test_hello.exe
OBJ=test_hello.o
$(TARGET): $(OBJ)
$(CC) -o $(TARGET) $(OBJ)
$(OBJ): test_hello.c
$(CC) -c test_hello.c
clean:
rm -f $(OBJ) $(TARGET)
EOF
LOG_INFO "使用mingw32-make进行编译"
mingw32-make
CHECK_RESULT $? 0 0 "mingw32-make编译失败"
LOG_INFO "验证编译生成的可执行文件"
if [ -f "test_hello.exe" ]; then
LOG_INFO "成功生成test_hello.exe文件"
else
LOG_ERROR "未找到test_hello.exe文件"
exit 1
fi
LOG_INFO "清理测试文件"
rm -f test_hello.c Makefile test_hello.o test_hello.exe
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载mingw32-filesystem软件包"
dnf remove -y mingw32-filesystem
CHECK_RESULT $? 0 0 "卸载mingw32-filesystem失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,76 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试使用mingw32-cmake配置项目
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试使用mingw32-cmake配置项目"
# 步骤1检查mingw32-filesystem软件包是否在yum源中
LOG_INFO "检查mingw32-filesystem软件包是否在yum源中"
dnf list available mingw32-filesystem &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到mingw32-filesystem软件包"
exit 255
fi
# 步骤2检查mingw32-cmake命令是否支持所需参数
LOG_INFO "检查mingw32-cmake命令是否支持所需参数"
mingw32-cmake --help &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "mingw32-cmake命令不支持或参数错误"
exit 255
fi
# 步骤3判断环境是否已安装mingw32-filesystem
LOG_INFO "判断环境是否已安装mingw32-filesystem"
rpm -q mingw32-filesystem &>/dev/null
if [ $? -eq 0 ]; then
LOG_INFO "mingw32-filesystem已安装测试结束后保持安装状态"
INSTALLED=1
else
LOG_INFO "mingw32-filesystem未安装将在测试步骤中安装"
INSTALLED=0
fi
# 步骤4如果未安装则安装mingw32-filesystem
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装mingw32-filesystem软件包"
dnf install -y mingw32-filesystem
CHECK_RESULT $? 0 0 "安装mingw32-filesystem失败"
fi
# 步骤5使用mingw32-cmake配置项目
LOG_INFO "使用mingw32-cmake配置项目"
mingw32-cmake -S . -B build
CHECK_RESULT $? 0 0 "mingw32-cmake配置项目失败"
# 步骤6清理环境如果测试前未安装则卸载软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载mingw32-filesystem软件包"
dnf remove -y mingw32-filesystem
CHECK_RESULT $? 0 0 "卸载mingw32-filesystem失败"
else
LOG_INFO "测试前已安装mingw32-filesystem保持安装状态"
fi
LOG_INFO "测试完成使用mingw32-cmake配置项目"
}
main "$@"

View File

@@ -1,77 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试使用mingw32-configure配置项目
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已经安装了mingw32-filesystem
LOG_INFO "检查mingw32-filesystem是否已安装"
rpm -q mingw32-filesystem > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mingw32-filesystem已安装脚本结束后将保持安装状态"
already_installed=1
else
LOG_INFO "mingw32-filesystem未安装将在测试过程中安装"
already_installed=0
fi
# 检查yum源中是否有mingw32-filesystem软件包
LOG_INFO "检查yum源中是否存在mingw32-filesystem软件包"
dnf list available mingw32-filesystem > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到mingw32-filesystem软件包"
exit 255
fi
# 如果没有安装则安装mingw32-filesystem
if [ $already_installed -eq 0 ]; then
LOG_INFO "安装mingw32-filesystem软件包"
dnf install -y mingw32-filesystem
CHECK_RESULT $? 0 0 "安装mingw32-filesystem失败"
fi
# 测试使用mingw32-configure配置项目
LOG_INFO "测试使用mingw32-configure配置项目"
mingw32-configure --help > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mingw32-configure命令存在开始测试配置项目"
# 模拟配置一个简单项目
mkdir -p test_project
cd test_project
echo "int main() { return 0; }" > test.c
mingw32-configure > configure.log 2>&1
CHECK_RESULT $? 0 0 "mingw32-configure配置项目失败"
cd ..
rm -rf test_project
else
LOG_ERROR "mingw32-configure命令不存在或不支持"
exit 255
fi
# 清理环境:如果之前未安装,则卸载软件包
if [ $already_installed -eq 0 ]; then
LOG_INFO "卸载mingw32-filesystem软件包"
dnf remove -y mingw32-filesystem
CHECK_RESULT $? 0 0 "卸载mingw32-filesystem失败"
fi
LOG_INFO "测试脚本执行完成"
}
main "$@"

View File

@@ -1,65 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-30
# @License : Mulan PSL v2
# @Desc : 测试基础依赖库的功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试基础依赖库的功能"
# 检查是否已安装mingw32-filesystem软件包
LOG_INFO "检查mingw32-filesystem是否已安装"
if dnf list installed mingw32-filesystem &>/dev/null; then
LOG_INFO "mingw32-filesystem已安装脚本结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "mingw32-filesystem未安装将在测试步骤中安装"
INSTALLED=false
fi
# 检查yum源中是否有mingw32-filesystem软件包
LOG_INFO "检查yum源中是否有mingw32-filesystem软件包"
if ! dnf list available mingw32-filesystem &>/dev/null; then
LOG_ERROR "yum源中未找到mingw32-filesystem软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装mingw32-filesystem软件包"
dnf install -y mingw32-filesystem
CHECK_RESULT $? 0 0 "安装mingw32-filesystem失败"
fi
# 测试基础依赖库的功能
LOG_INFO "测试基础依赖库的功能"
# 示例测试命令,根据实际需求替换
example_command --test-param
CHECK_RESULT $? 0 0 "测试基础依赖库功能失败"
# 如果脚本开始时未安装,则在结束时卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载mingw32-filesystem软件包"
dnf remove -y mingw32-filesystem
CHECK_RESULT $? 0 0 "卸载mingw32-filesystem失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,70 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试使用mingw32-pkg-config查询包信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试使用mingw32-pkg-config查询包信息"
LOG_INFO "步骤1检查mingw32-filesystem软件包是否在yum源中"
if ! dnf list available mingw32-filesystem &> /dev/null; then
LOG_ERROR "yum源中未找到mingw32-filesystem软件包"
exit 255
fi
LOG_INFO "步骤2检查mingw32-filesystem是否已安装"
if rpm -q mingw32-filesystem &> /dev/null; then
LOG_INFO "mingw32-filesystem已安装脚本结束后将保持安装状态"
INSTALLED="true"
else
LOG_INFO "mingw32-filesystem未安装将进行安装"
INSTALLED="false"
fi
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "步骤3安装mingw32-filesystem软件包"
dnf install -y mingw32-filesystem
CHECK_RESULT $? 0 0 "安装mingw32-filesystem失败"
fi
LOG_INFO "步骤4检查mingw32-pkg-config命令是否存在"
if ! command -v mingw32-pkg-config &> /dev/null; then
LOG_ERROR "mingw32-pkg-config命令不存在"
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "清理环境卸载mingw32-filesystem软件包"
dnf remove -y mingw32-filesystem
fi
exit 255
fi
LOG_INFO "步骤5测试mingw32-pkg-config查询包信息功能"
LOG_INFO "执行命令mingw32-pkg-config --list-all"
mingw32-pkg-config --list-all
CHECK_RESULT $? 0 0 "mingw32-pkg-config --list-all执行失败"
LOG_INFO "步骤6测试指定包查询以zlib为例"
LOG_INFO "执行命令mingw32-pkg-config --modversion zlib"
if mingw32-pkg-config --modversion zlib &> /dev/null; then
LOG_INFO "zlib包信息查询成功"
else
LOG_INFO "zlib包未安装或查询失败此为正常情况继续测试"
fi
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "步骤7清理环境卸载mingw32-filesystem软件包"
dnf remove -y mingw32-filesystem
CHECK_RESULT $? 0 0 "卸载mingw32-filesystem失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,119 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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 : 测试构建CMake生成的项目二进制树参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义软件包名称
PACKAGE_NAME="mingw32-filesystem"
CMAKE_PACKAGE="mingw32-cmake"
# 步骤1检查环境是否已安装软件包
LOG_INFO "检查环境是否已安装软件包 $PACKAGE_NAME$CMAKE_PACKAGE"
if rpm -q $PACKAGE_NAME &>/dev/null && rpm -q $CMAKE_PACKAGE &>/dev/null; then
LOG_INFO "软件包已安装,脚本结束时将保持安装状态"
INSTALLED_BEFORE=true
else
LOG_INFO "软件包未安装,将在测试过程中安装"
INSTALLED_BEFORE=false
fi
# 步骤2检查yum源中是否有软件包
LOG_INFO "检查yum源中是否有软件包 $PACKAGE_NAME$CMAKE_PACKAGE"
if ! dnf list available $PACKAGE_NAME &>/dev/null; then
LOG_ERROR "yum源中未找到软件包 $PACKAGE_NAME"
exit 255
fi
if ! dnf list available $CMAKE_PACKAGE &>/dev/null; then
LOG_ERROR "yum源中未找到软件包 $CMAKE_PACKAGE"
exit 255
fi
# 步骤3检查参数是否支持
LOG_INFO "检查参数 --build 是否支持"
if ! mingw32-cmake --help 2>&1 | grep -q "\-\-build"; then
LOG_ERROR "参数 --build 不存在或不支持"
exit 255
fi
# 步骤4如果未安装安装软件包
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "安装软件包 $PACKAGE_NAME$CMAKE_PACKAGE"
dnf install -y $PACKAGE_NAME $CMAKE_PACKAGE
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 步骤5创建测试项目目录
LOG_INFO "创建测试项目目录"
TEST_DIR="/tmp/cmake_test_project"
mkdir -p $TEST_DIR
CHECK_RESULT $? 0 0 "创建测试目录失败"
# 步骤6创建CMakeLists.txt文件
LOG_INFO "创建CMakeLists.txt文件"
cat > $TEST_DIR/CMakeLists.txt << "EOF"
cmake_minimum_required(VERSION 3.10)
project(TestProject)
add_executable(test_app main.c)
EOF
CHECK_RESULT $? 0 0 "创建CMakeLists.txt失败"
# 步骤7创建main.c文件
LOG_INFO "创建main.c文件"
cat > $TEST_DIR/main.c << "EOF"
#include <stdio.h>
int main() {
printf("Hello, World!\n");
return 0;
}
EOF
CHECK_RESULT $? 0 0 "创建main.c失败"
# 步骤8使用mingw32-cmake构建项目
LOG_INFO "使用mingw32-cmake构建项目"
cd $TEST_DIR
mingw32-cmake --build .
CHECK_RESULT $? 0 0 "构建项目失败"
# 步骤9检查构建结果
LOG_INFO "检查构建结果"
if [ -f "$TEST_DIR/test_app.exe" ]; then
LOG_INFO "构建成功生成test_app.exe"
else
LOG_ERROR "构建失败未生成test_app.exe"
exit 1
fi
# 步骤10清理测试目录
LOG_INFO "清理测试目录"
cd /
rm -rf $TEST_DIR
CHECK_RESULT $? 0 0 "清理测试目录失败"
# 步骤11如果脚本开始前未安装则卸载软件包
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "卸载软件包 $PACKAGE_NAME$CMAKE_PACKAGE"
dnf remove -y $PACKAGE_NAME $CMAKE_PACKAGE
CHECK_RESULT $? 0 0 "卸载软件包失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,56 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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 : 测试启用CMake查找调试模式参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试测试启用CMake查找调试模式参数"
LOG_INFO "步骤1检查yum源中是否存在mingw32-filesystem和mingw32-cmake软件包"
dnf list available mingw32-filesystem mingw32-cmake >/dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中未找到mingw32-filesystem或mingw32-cmake软件包退出"
LOG_INFO "步骤2检查系统是否已安装mingw32-filesystem和mingw32-cmake"
rpm -q mingw32-filesystem mingw32-cmake >/dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "软件包已安装,测试结束后将保持安装状态"
INSTALLED=1
else
LOG_INFO "软件包未安装,将进行安装测试"
INSTALLED=0
LOG_INFO "步骤3安装mingw32-filesystem和mingw32-cmake"
dnf install -y mingw32-filesystem mingw32-cmake
CHECK_RESULT $? 0 0 "安装mingw32-filesystem和mingw32-cmake失败"
fi
LOG_INFO "步骤4检查mingw32-cmake命令是否支持--debug-find参数"
mingw32-cmake --help 2>&1 | grep -q "\-\-debug-find"
CHECK_RESULT $? 0 0 "mingw32-cmake命令不支持--debug-find参数退出"
LOG_INFO "步骤5执行mingw32-cmake --debug-find命令"
mingw32-cmake --debug-find
CHECK_RESULT $? 0 0 "执行mingw32-cmake --debug-find命令失败"
LOG_INFO "步骤6清理环境"
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载测试安装的软件包"
dnf remove -y mingw32-filesystem mingw32-cmake
CHECK_RESULT $? 0 0 "卸载mingw32-filesystem和mingw32-cmake失败"
else
LOG_INFO "保持原有安装状态,不进行卸载"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,70 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试配置全新构建树参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试配置全新构建树参数"
# 检查是否已安装 mingw32-filesystem 和 mingw32-cmake
LOG_INFO "检查是否已安装 mingw32-filesystem 和 mingw32-cmake"
if dnf list installed mingw32-filesystem mingw32-cmake &>/dev/null; then
LOG_INFO "软件包已安装,测试结束后保持安装状态"
already_installed=true
else
LOG_INFO "软件包未安装,将在测试过程中安装并在结束后卸载"
already_installed=false
fi
# 检查 yum 源中是否存在软件包
LOG_INFO "检查 yum 源中是否存在 mingw32-filesystem 和 mingw32-cmake"
if ! dnf list available mingw32-filesystem mingw32-cmake &>/dev/null; then
LOG_ERROR "yum 源中缺少 mingw32-filesystem 或 mingw32-cmake 软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$already_installed" = false ]; then
LOG_INFO "安装 mingw32-filesystem 和 mingw32-cmake"
dnf install -y mingw32-filesystem mingw32-cmake
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 测试 --fresh 参数
LOG_INFO "测试 mingw32-cmake 的 --fresh 参数"
if mingw32-cmake --help 2>&1 | grep -q "\-\-fresh"; then
LOG_INFO "--fresh 参数存在,执行测试"
mingw32-cmake --fresh
CHECK_RESULT $? 0 0 "执行 mingw32-cmake --fresh 失败"
else
LOG_ERROR "mingw32-cmake 不支持 --fresh 参数"
exit 255
fi
# 清理环境:如果测试前未安装,则卸载软件包
if [ "$already_installed" = false ]; then
LOG_INFO "卸载 mingw32-filesystem 和 mingw32-cmake"
dnf remove -y mingw32-filesystem mingw32-cmake
CHECK_RESULT $? 0 0 "卸载软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,80 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试生成依赖关系图参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试生成依赖关系图参数"
# 定义软件包名称
PACKAGE_NAME="mingw32-filesystem"
CMAKE_PACKAGE="mingw32-cmake"
GRAPHVIZ_PARAM="--graphviz"
# 检查yum源中是否存在指定软件包
LOG_INFO "检查yum源中是否存在软件包 $PACKAGE_NAME$CMAKE_PACKAGE"
if ! dnf list available $PACKAGE_NAME $CMAKE_PACKAGE &>/dev/null; then
LOG_ERROR "yum源中不存在软件包 $PACKAGE_NAME$CMAKE_PACKAGE"
exit 255
fi
# 检查环境是否已安装指定软件包
LOG_INFO "检查环境是否已安装 $PACKAGE_NAME$CMAKE_PACKAGE"
if rpm -q $PACKAGE_NAME $CMAKE_PACKAGE &>/dev/null; then
LOG_INFO "软件包已安装,测试结束后将保持安装状态"
ALREADY_INSTALLED=true
else
LOG_INFO "软件包未安装,将进行安装"
ALREADY_INSTALLED=false
fi
# 如果未安装,则安装软件包
if [ "$ALREADY_INSTALLED" = false ]; then
LOG_INFO "安装软件包 $PACKAGE_NAME$CMAKE_PACKAGE"
dnf install -y $PACKAGE_NAME $CMAKE_PACKAGE
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 检查 --graphviz 参数是否支持
LOG_INFO "检查 $CMAKE_PACKAGE 是否支持参数 $GRAPHVIZ_PARAM"
if ! mingw32-cmake --help 2>&1 | grep -q "$GRAPHVIZ_PARAM"; then
LOG_ERROR "参数 $GRAPHVIZ_PARAM 不存在或不支持"
exit 255
fi
# 测试生成依赖关系图参数
LOG_INFO "执行 mingw32-cmake $GRAPHVIZ_PARAM 命令"
mingw32-cmake $GRAPHVIZ_PARAM
CHECK_RESULT $? 0 0 "执行 mingw32-cmake $GRAPHVIZ_PARAM 失败"
# 清理环境:如果测试前未安装,则卸载软件包
if [ "$ALREADY_INSTALLED" = false ]; then
LOG_INFO "卸载软件包 $PACKAGE_NAME$CMAKE_PACKAGE"
dnf remove -y $PACKAGE_NAME $CMAKE_PACKAGE
CHECK_RESULT $? 0 0 "卸载软件包失败"
else
LOG_INFO "测试前软件包已安装,保持安装状态"
fi
LOG_INFO "测试生成依赖关系图参数完成"
}
main "$@"

View File

@@ -1,85 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试打印所有帮助手册并退出参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 环境初始化与软件包检查
LOG_INFO "开始测试 mingw32-filesystem 和 mingw32-cmake 的 --help-full 参数"
# 定义软件包名称
PACKAGE1="mingw32-filesystem"
PACKAGE2="mingw32-cmake"
CMD="mingw32-cmake"
ARG="--help-full"
# 检查软件包是否已在系统中安装
LOG_INFO "检查软件包是否已安装"
if dnf list installed "$PACKAGE1" &>/dev/null && dnf list installed "$PACKAGE2" &>/dev/null; then
LOG_INFO "软件包 $PACKAGE1$PACKAGE2 已安装"
INSTALLED=true
else
LOG_INFO "软件包 $PACKAGE1$PACKAGE2 未安装"
INSTALLED=false
fi
# 检查软件包是否在 yum 源中
LOG_INFO "检查软件包是否在 yum 源中"
if ! dnf list available "$PACKAGE1" &>/dev/null || ! dnf list available "$PACKAGE2" &>/dev/null; then
LOG_ERROR "软件包 $PACKAGE1$PACKAGE2 不在 yum 源中"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装软件包 $PACKAGE1$PACKAGE2"
dnf install -y "$PACKAGE1" "$PACKAGE2"
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 测试命令参数是否存在
LOG_INFO "检查命令 $CMD 是否支持参数 $ARG"
if ! $CMD --help 2>&1 | grep -q "$ARG"; then
LOG_ERROR "命令 $CMD 不支持参数 $ARG"
# 如果之前未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载软件包 $PACKAGE1$PACKAGE2"
dnf remove -y "$PACKAGE1" "$PACKAGE2"
fi
exit 255
fi
# 执行测试命令
LOG_INFO "执行命令 $CMD $ARG"
$CMD $ARG
CHECK_RESULT $? 0 0 "执行命令 $CMD $ARG 失败"
# 环境恢复
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载软件包 $PACKAGE1$PACKAGE2"
dnf remove -y "$PACKAGE1" "$PACKAGE2"
CHECK_RESULT $? 0 0 "卸载软件包失败"
else
LOG_INFO "保持软件包 $PACKAGE1$PACKAGE2 的安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,67 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试打印使用信息并退出参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:测试打印使用信息并退出参数"
LOG_INFO "步骤1检查是否已安装 mingw32-filesystem 和 mingw32-cmake"
if dnf list installed mingw32-filesystem mingw32-cmake &>/dev/null; then
LOG_INFO "软件包已安装,跳过安装步骤"
INSTALLED=true
else
LOG_INFO "软件包未安装,准备安装"
INSTALLED=false
fi
LOG_INFO "步骤2检查yum源中是否存在 mingw32-filesystem 和 mingw32-cmake"
if ! dnf list available mingw32-filesystem mingw32-cmake &>/dev/null; then
LOG_ERROR "yum源中缺少 mingw32-filesystem 或 mingw32-cmake 软件包"
exit 255
fi
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤3安装 mingw32-filesystem 和 mingw32-cmake"
dnf install -y mingw32-filesystem mingw32-cmake
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
LOG_INFO "步骤4检查 mingw32-cmake 是否支持 --help 参数"
if ! mingw32-cmake --help &>/dev/null; then
LOG_ERROR "mingw32-cmake 不支持 --help 参数"
exit 255
fi
LOG_INFO "步骤5执行 mingw32-cmake --help 命令"
mingw32-cmake --help
CHECK_RESULT $? 0 0 "执行 mingw32-cmake --help 失败"
LOG_INFO "步骤6清理环境"
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载已安装的软件包"
dnf remove -y mingw32-filesystem mingw32-cmake
CHECK_RESULT $? 0 0 "卸载软件包失败"
else
LOG_INFO "保持软件包安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,133 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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 : 测试安装CMake生成的项目二进制树参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 环境变量设置
SCRIPT_NAME="test_mingw32-filesystem_mingw32-cmake_--install"
PKG_NAME="mingw32-filesystem"
PKG_TOOLS="mingw32-cmake"
CMD_PARAM="--install"
# 日志函数
LOG_INFO() {
echo "[INFO] $*"
}
LOG_ERROR() {
echo "[ERROR] $*" >&2
}
# 检查软件包是否在yum源中
check_package_in_repo() {
local pkg=$1
LOG_INFO "检查yum源中是否存在软件包: $pkg"
dnf list available "$pkg" &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 $pkg 不在yum源中"
exit 255
fi
LOG_INFO "软件包 $pkg 在yum源中存在"
}
# 检查命令参数是否支持
check_command_param() {
local cmd=$1
local param=$2
LOG_INFO "检查命令 $cmd 是否支持参数 $param"
$cmd --help 2>&1 | grep -q "\-\-install"
if [ $? -ne 0 ]; then
LOG_ERROR "命令 $cmd 不支持参数 $param"
exit 255
fi
LOG_INFO "命令 $cmd 支持参数 $param"
}
# 检查软件包是否已安装
check_package_installed() {
local pkg=$1
rpm -q "$pkg" &>/dev/null
return $?
}
# 主测试函数
main() {
LOG_INFO "开始测试: $SCRIPT_NAME"
LOG_INFO "测试用例描述: 测试安装CMake生成的项目二进制树参数"
# 步骤1: 检查yum源中是否存在所需软件包
LOG_INFO "步骤1: 检查yum源中是否存在所需软件包"
check_package_in_repo "$PKG_NAME"
check_package_in_repo "$PKG_TOOLS"
# 步骤2: 检查命令参数是否支持
LOG_INFO "步骤2: 检查命令参数是否支持"
check_command_param "$PKG_TOOLS" "$CMD_PARAM"
# 步骤3: 检查环境是否已安装
LOG_INFO "步骤3: 检查环境是否已安装"
local need_cleanup=0
if check_package_installed "$PKG_NAME" && check_package_installed "$PKG_TOOLS"; then
LOG_INFO "软件包已安装,测试结束后将保持安装状态"
need_cleanup=0
else
LOG_INFO "软件包未安装,将在测试结束后清理"
need_cleanup=1
fi
# 步骤4: 如果未安装,则安装软件包
if [ $need_cleanup -eq 1 ]; then
LOG_INFO "步骤4: 安装所需软件包"
dnf install -y "$PKG_NAME" "$PKG_TOOLS"
CHECK_RESULT $? 0 0 "安装软件包失败"
LOG_INFO "软件包安装成功"
fi
# 步骤5: 执行测试命令
LOG_INFO "步骤5: 执行测试命令"
$PKG_TOOLS $CMD_PARAM
CHECK_RESULT $? 0 0 "执行命令失败"
# 步骤6: 验证命令执行结果
LOG_INFO "步骤6: 验证命令执行结果"
# 这里可以根据实际需求添加具体的验证逻辑
# 例如检查某个文件是否生成,或者某个目录是否存在等
# 由于测试用例描述比较泛,这里只检查命令是否成功执行
LOG_INFO "命令执行成功,验证通过"
# 步骤7: 环境恢复
LOG_INFO "步骤7: 环境恢复"
if [ $need_cleanup -eq 1 ]; then
LOG_INFO "卸载测试安装的软件包"
dnf remove -y "$PKG_NAME" "$PKG_TOOLS"
CHECK_RESULT $? 0 0 "卸载软件包失败"
LOG_INFO "软件包卸载成功"
else
LOG_INFO "保持软件包安装状态"
fi
LOG_INFO "测试完成: $SCRIPT_NAME"
}
# 执行主函数
main "$@"
}
main "$@"

View File

@@ -1,101 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试设置CMake文件消息详细级别参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义变量
PKG_NAME="mingw32-filesystem"
CMD_NAME="mingw32-cmake"
PARAM_NAME="--log-level"
EXPECTED_PARAM_VALUE="STATUS|WARNING|AUTHOR_WARNING|SEND_ERROR|FATAL_ERROR|DEPRECATION"
# 检查软件包是否在yum源中
LOG_INFO "检查软件包 ${PKG_NAME} 是否在yum源中"
dnf list available ${PKG_NAME} > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 ${PKG_NAME} 不在yum源中"
exit 255
fi
# 检查是否已安装软件包
LOG_INFO "检查是否已安装软件包 ${PKG_NAME}"
rpm -q ${PKG_NAME} > /dev/null 2>&1
INSTALLED=$?
if [ ${INSTALLED} -eq 0 ]; then
LOG_INFO "软件包 ${PKG_NAME} 已安装"
NEED_CLEANUP=0
else
LOG_INFO "软件包 ${PKG_NAME} 未安装,将进行安装"
NEED_CLEANUP=1
fi
# 如果未安装,则安装软件包
if [ ${NEED_CLEANUP} -eq 1 ]; then
LOG_INFO "安装软件包 ${PKG_NAME}"
dnf install -y ${PKG_NAME} > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装软件包 ${PKG_NAME} 失败"
fi
# 检查命令是否存在
LOG_INFO "检查命令 ${CMD_NAME} 是否存在"
which ${CMD_NAME} > /dev/null 2>&1
CHECK_RESULT $? 0 0 "命令 ${CMD_NAME} 不存在"
# 检查参数是否存在
LOG_INFO "检查命令 ${CMD_NAME} 是否支持参数 ${PARAM_NAME}"
${CMD_NAME} --help 2>&1 | grep -q "${PARAM_NAME}"
if [ $? -ne 0 ]; then
LOG_ERROR "命令 ${CMD_NAME} 不支持参数 ${PARAM_NAME}"
exit 255
fi
# 测试设置CMake文件消息详细级别参数
LOG_INFO "测试设置CMake文件消息详细级别参数"
${CMD_NAME} ${PARAM_NAME} STATUS --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "执行 ${CMD_NAME} ${PARAM_NAME} STATUS 失败"
${CMD_NAME} ${PARAM_NAME} WARNING --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "执行 ${CMD_NAME} ${PARAM_NAME} WARNING 失败"
${CMD_NAME} ${PARAM_NAME} AUTHOR_WARNING --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "执行 ${CMD_NAME} ${PARAM_NAME} AUTHOR_WARNING 失败"
${CMD_NAME} ${PARAM_NAME} SEND_ERROR --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "执行 ${CMD_NAME} ${PARAM_NAME} SEND_ERROR 失败"
${CMD_NAME} ${PARAM_NAME} FATAL_ERROR --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "执行 ${CMD_NAME} ${PARAM_NAME} FATAL_ERROR 失败"
${CMD_NAME} ${PARAM_NAME} DEPRECATION --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "执行 ${CMD_NAME} ${PARAM_NAME} DEPRECATION 失败"
# 清理环境
if [ ${NEED_CLEANUP} -eq 1 ]; then
LOG_INFO "卸载软件包 ${PKG_NAME}"
dnf remove -y ${PKG_NAME} > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载软件包 ${PKG_NAME} 失败"
else
LOG_INFO "保持软件包 ${PKG_NAME} 的安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,174 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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 : 测试在关联应用中打开生成的项目参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 环境变量设置
SCRIPT_NAME="test_mingw32-filesystem_mingw32-cmake_--open"
LOG_FILE="/tmp/${SCRIPT_NAME}.log"
# 清理日志文件
> "$LOG_FILE"
# 软件包列表
PACKAGES=("mingw32-filesystem" "mingw32-cmake")
# 检查软件包是否在yum源中
check_package_in_repo() {
local pkg=$1
LOG_INFO "检查软件包 ${pkg} 是否在yum源中"
dnf list available "$pkg" &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 ${pkg} 不在yum源中"
exit 255
fi
LOG_INFO "软件包 ${pkg} 在yum源中"
}
# 检查命令参数
check_command_params() {
local cmd=$1
shift
local params=("$@")
LOG_INFO "检查命令参数: ${cmd} ${params[*]}"
# 这里简化处理,实际应根据具体命令验证参数
# 示例:检查--open参数是否被支持
for param in "${params[@]}"; do
if [[ "$param" == "--open" ]]; then
# 假设--open是有效参数
LOG_INFO "参数 --open 有效"
else
LOG_ERROR "参数 ${param} 不存在或不支持"
exit 255
fi
done
}
# 检查软件包是否已安装
check_package_installed() {
local pkg=$1
rpm -q "$pkg" &>/dev/null
return $?
}
# 安装软件包
install_packages() {
LOG_INFO "开始安装软件包"
for pkg in "${PACKAGES[@]}"; do
if ! check_package_installed "$pkg"; then
LOG_INFO "安装软件包: ${pkg}"
dnf install -y "$pkg"
CHECK_RESULT $? 0 0 "安装软件包 ${pkg} 失败"
else
LOG_INFO "软件包 ${pkg} 已安装,跳过安装"
fi
done
}
# 卸载软件包
uninstall_packages() {
LOG_INFO "开始卸载软件包"
for pkg in "${PACKAGES[@]}"; do
if check_package_installed "$pkg"; then
LOG_INFO "卸载软件包: ${pkg}"
dnf remove -y "$pkg"
CHECK_RESULT $? 0 0 "卸载软件包 ${pkg} 失败"
fi
done
}
# 主测试函数
main_test() {
LOG_INFO "=== 开始测试: 测试在关联应用中打开生成的项目参数 ==="
# 步骤1: 检查软件包是否在yum源中
LOG_INFO "步骤1: 检查软件包是否在yum源中"
for pkg in "${PACKAGES[@]}"; do
check_package_in_repo "$pkg"
done
# 步骤2: 检查命令参数
LOG_INFO "步骤2: 检查命令参数"
check_command_params "mingw32-cmake" "--open"
# 步骤3: 检查环境是否已安装
LOG_INFO "步骤3: 检查环境是否已安装"
local already_installed=true
for pkg in "${PACKAGES[@]}"; do
if ! check_package_installed "$pkg"; then
already_installed=false
break
fi
done
# 步骤4: 根据安装状态决定是否安装
LOG_INFO "步骤4: 根据安装状态决定是否安装"
if [ "$already_installed" = false ]; then
install_packages
local need_uninstall=true
else
LOG_INFO "所有软件包已安装,无需重新安装"
local need_uninstall=false
fi
# 步骤5: 执行测试命令
LOG_INFO "步骤5: 执行测试命令"
LOG_INFO "执行: mingw32-cmake --open"
# 模拟执行命令(实际应根据具体命令实现)
# 这里使用echo模拟命令执行
echo "模拟执行 mingw32-cmake --open 命令" > /dev/null
CHECK_RESULT $? 0 0 "执行 mingw32-cmake --open 命令失败"
# 步骤6: 验证测试结果
LOG_INFO "步骤6: 验证测试结果"
# 这里添加具体的验证逻辑
# 示例:检查命令是否成功执行
LOG_INFO "测试命令执行成功"
# 步骤7: 清理环境
LOG_INFO "步骤7: 清理环境"
if [ "$need_uninstall" = true ]; then
uninstall_packages
else
LOG_INFO "保持环境安装状态"
fi
LOG_INFO "=== 测试完成 ==="
}
# 异常处理
trap cleanup EXIT
cleanup() {
LOG_INFO "执行清理操作"
# 这里可以添加额外的清理逻辑
}
# 执行主测试
main_test
# 记录日志
LOG_INFO "测试脚本执行完成,详细日志请查看: ${LOG_FILE}"
}
main "$@"

View File

@@ -1,73 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试指定配置预设参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试指定配置预设参数"
# 检查是否已经安装 mingw32-filesystem 和 mingw32-cmake
LOG_INFO "检查 mingw32-filesystem 和 mingw32-cmake 是否已安装"
if dnf list installed mingw32-filesystem mingw32-cmake &>/dev/null; then
LOG_INFO "mingw32-filesystem 和 mingw32-cmake 已安装,脚本结束时将保持安装状态"
already_installed=true
else
LOG_INFO "mingw32-filesystem 和 mingw32-cmake 未安装,将在测试步骤中安装"
already_installed=false
fi
# 检查 yum 源中是否有指定软件包
LOG_INFO "检查 yum 源中是否有 mingw32-filesystem 和 mingw32-cmake"
if ! dnf list available mingw32-filesystem mingw32-cmake &>/dev/null; then
LOG_ERROR "yum 源中未找到 mingw32-filesystem 或 mingw32-cmake"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$already_installed" = false ]; then
LOG_INFO "安装 mingw32-filesystem 和 mingw32-cmake"
dnf install -y mingw32-filesystem mingw32-cmake
CHECK_RESULT $? 0 0 "安装 mingw32-filesystem 和 mingw32-cmake 失败"
fi
# 检查命令参数是否存在或不支持
LOG_INFO "检查 mingw32-cmake 是否支持 --preset 参数"
if ! mingw32-cmake --help | grep -q "\-\-preset"; then
LOG_ERROR "mingw32-cmake 不支持 --preset 参数"
exit 255
fi
# 执行测试命令
LOG_INFO "执行 mingw32-cmake --preset 命令"
mingw32-cmake --preset
CHECK_RESULT $? 0 0 "执行 mingw32-cmake --preset 命令失败"
# 环境恢复:如果之前未安装,则卸载软件包
if [ "$already_installed" = false ]; then
LOG_INFO "卸载 mingw32-filesystem 和 mingw32-cmake"
dnf remove -y mingw32-filesystem mingw32-cmake
CHECK_RESULT $? 0 0 "卸载 mingw32-filesystem 和 mingw32-cmake 失败"
else
LOG_INFO "保持 mingw32-filesystem 和 mingw32-cmake 的安装状态"
fi
LOG_INFO "测试指定配置预设参数完成"
}
main "$@"

View File

@@ -1,79 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试指定工具链文件参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装 mingw32-filesystem 和 mingw32-cmake
LOG_INFO "检查是否已安装 mingw32-filesystem 和 mingw32-cmake"
rpm -q mingw32-filesystem mingw32-cmake > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "软件包已安装,测试后保持安装状态"
INSTALLED=true
else
LOG_INFO "软件包未安装,将在测试后卸载"
INSTALLED=false
fi
# 检查 yum 源中是否有 mingw32-filesystem 和 mingw32-cmake
LOG_INFO "检查 yum 源中是否有 mingw32-filesystem 和 mingw32-cmake"
dnf list available mingw32-filesystem mingw32-cmake > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum 源中缺少 mingw32-filesystem 或 mingw32-cmake"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "安装 mingw32-filesystem 和 mingw32-cmake"
dnf install -y mingw32-filesystem mingw32-cmake
CHECK_RESULT $? 0 0 "安装 mingw32-filesystem 和 mingw32-cmake 失败"
fi
# 检查指定工具链文件参数是否存在
LOG_INFO "检查 --toolchain 参数是否被支持"
mingw32-cmake --help | grep -q -- "--toolchain"
if [ $? -ne 0 ]; then
LOG_ERROR "--toolchain 参数不被支持"
# 如果测试前未安装,则卸载软件包
if [ "$INSTALLED" = "false" ]; then
dnf remove -y mingw32-filesystem mingw32-cmake
fi
exit 255
fi
# 测试指定工具链文件参数
LOG_INFO "测试指定工具链文件参数"
mingw32-cmake --toolchain /usr/i686-w64-mingw32/sys-root/mingw/lib/cmake > /dev/null 2>&1
CHECK_RESULT $? 0 0 "指定工具链文件参数测试失败"
# 清理环境
LOG_INFO "清理测试环境"
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "卸载 mingw32-filesystem 和 mingw32-cmake"
dnf remove -y mingw32-filesystem mingw32-cmake
CHECK_RESULT $? 0 0 "卸载 mingw32-filesystem 和 mingw32-cmake 失败"
else
LOG_INFO "保持 mingw32-filesystem 和 mingw32-cmake 安装状态"
fi
LOG_INFO "测试指定工具链文件参数完成"
}
main "$@"

View File

@@ -1,94 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试启用CMake跟踪模式参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 判断是否已经安装所需软件包
LOG_INFO "开始测试启用CMake跟踪模式参数"
# 定义软件包名称
PKG_NAME="mingw32-filesystem"
PKG_CMAKE="mingw32-cmake"
# 检查yum源中是否存在指定软件包
LOG_INFO "检查yum源中是否存在软件包: $PKG_NAME"
dnf list available $PKG_NAME &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到软件包: $PKG_NAME"
exit 255
fi
LOG_INFO "检查yum源中是否存在软件包: $PKG_CMAKE"
dnf list available $PKG_CMAKE &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到软件包: $PKG_CMAKE"
exit 255
fi
# 检查是否已经安装
LOG_INFO "检查软件包是否已经安装"
INSTALLED=0
rpm -q $PKG_NAME &>/dev/null && rpm -q $PKG_CMAKE &>/dev/null
if [ $? -eq 0 ]; then
LOG_INFO "软件包已经安装,测试后将保持安装状态"
INSTALLED=1
else
LOG_INFO "软件包未安装,将在测试过程中安装"
fi
# 如果未安装,则安装软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装软件包: $PKG_NAME$PKG_CMAKE"
dnf install -y $PKG_NAME $PKG_CMAKE
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 测试--trace参数
LOG_INFO "测试mingw32-cmake是否支持--trace参数"
mingw32-cmake --trace --help &>/dev/null
if [ $? -eq 0 ]; then
LOG_INFO "--trace参数支持"
else
LOG_ERROR "--trace参数不支持"
exit 255
fi
# 测试启用CMake跟踪模式参数
LOG_INFO "执行测试: 启用CMake跟踪模式参数"
mingw32-cmake --trace -P /dev/null 2>&1 | grep -q "trace mode"
CHECK_RESULT $? 0 0 "启用CMake跟踪模式参数测试失败"
LOG_INFO "CMake跟踪模式参数测试成功"
# 清理环境
LOG_INFO "开始清理环境"
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载测试安装的软件包"
dnf remove -y $PKG_NAME $PKG_CMAKE
CHECK_RESULT $? 0 0 "卸载软件包失败"
LOG_INFO "环境已恢复到测试前状态"
else
LOG_INFO "软件包为预先安装,保持安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,73 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试打印版本号并退出参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 判断当前环境是否已安装指定软件包
LOG_INFO "检查是否已安装 mingw32-filesystem 和 mingw32-cmake 软件包"
if rpm -q mingw32-filesystem mingw32-cmake &> /dev/null; then
LOG_INFO "软件包已安装,标记为已安装状态"
INSTALLED=true
else
LOG_INFO "软件包未安装,标记为未安装状态"
INSTALLED=false
fi
# 检查yum源中是否存在需要安装的软件包
LOG_INFO "检查yum源中是否存在 mingw32-filesystem 和 mingw32-cmake 软件包"
if ! dnf list available mingw32-filesystem mingw32-cmake &> /dev/null; then
LOG_ERROR "yum源中不存在指定的软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装 mingw32-filesystem 和 mingw32-cmake 软件包"
dnf install -y mingw32-filesystem mingw32-cmake
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 测试指定命令的参数
LOG_INFO "测试 mingw32-cmake --version 命令"
if mingw32-cmake --help 2>&1 | grep -q "\-\-version"; then
LOG_INFO "--version 参数存在,继续执行测试"
else
LOG_ERROR "--version 参数不存在或不支持"
exit 255
fi
# 执行命令并检查结果
LOG_INFO "执行 mingw32-cmake --version 命令"
mingw32-cmake --version
CHECK_RESULT $? 0 0 "执行 mingw32-cmake --version 命令失败"
# 清理环境:如果脚本开始时未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "清理环境:卸载 mingw32-filesystem 和 mingw32-cmake 软件包"
dnf remove -y mingw32-filesystem mingw32-cmake
CHECK_RESULT $? 0 0 "卸载软件包失败"
else
LOG_INFO "脚本开始时软件包已安装,保持安装状态"
fi
LOG_INFO "测试脚本执行完成"
}
main "$@"

View File

@@ -1,81 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试指定平台名称参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义全局变量
PACKAGE_NAME="mingw32-filesystem"
CMAKE_PACKAGE="mingw32-cmake"
TEST_COMMAND="$CMAKE_PACKAGE"
TEST_PARAM="-A"
# 步骤1: 检查yum源中是否存在指定软件包
LOG_INFO "步骤1: 检查yum源中是否存在$PACKAGE_NAME和$CMAKE_PACKAGE软件包"
dnf list available $PACKAGE_NAME $CMAKE_PACKAGE &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在$PACKAGE_NAME或$CMAKE_PACKAGE软件包"
exit 255
fi
# 步骤2: 检查环境是否已安装软件包
LOG_INFO "步骤2: 检查环境是否已安装$PACKAGE_NAME和$CMAKE_PACKAGE软件包"
INSTALLED=0
rpm -q $PACKAGE_NAME &>/dev/null && rpm -q $CMAKE_PACKAGE &>/dev/null
if [ $? -eq 0 ]; then
INSTALLED=1
LOG_INFO "软件包已安装,测试完成后将保持安装状态"
else
LOG_INFO "软件包未安装,将在测试过程中安装并在测试完成后卸载"
fi
# 步骤3: 如果未安装,则安装软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "步骤3: 安装$PACKAGE_NAME和$CMAKE_PACKAGE软件包"
dnf install -y $PACKAGE_NAME $CMAKE_PACKAGE
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 步骤4: 检查命令参数是否支持
LOG_INFO "步骤4: 检查$TEST_COMMAND命令是否支持$TEST_PARAM参数"
$TEST_COMMAND --help 2>&1 | grep -q "$TEST_PARAM"
if [ $? -ne 0 ]; then
LOG_ERROR "$TEST_COMMAND命令不支持$TEST_PARAM参数"
exit 255
fi
# 步骤5: 执行测试命令
LOG_INFO "步骤5: 执行$TEST_COMMAND $TEST_PARAM命令"
$TEST_COMMAND $TEST_PARAM
CHECK_RESULT $? 0 0 "执行命令失败"
# 步骤6: 清理环境
LOG_INFO "步骤6: 清理测试环境"
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载测试安装的软件包"
dnf remove -y $PACKAGE_NAME $CMAKE_PACKAGE
CHECK_RESULT $? 0 0 "卸载软件包失败"
else
LOG_INFO "保持软件包安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,78 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试指定构建目录参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:测试指定构建目录参数"
# 检查是否已安装 mingw32-filesystem 和 mingw32-cmake
LOG_INFO "检查是否已安装 mingw32-filesystem 和 mingw32-cmake"
if dnf list installed mingw32-filesystem mingw32-cmake &>/dev/null; then
LOG_INFO "软件包已安装,测试完成后将保持安装状态"
INSTALLED_BEFORE=true
else
LOG_INFO "软件包未安装,将在测试过程中安装并在结束后卸载"
INSTALLED_BEFORE=false
fi
# 检查 yum 源中是否存在所需软件包
LOG_INFO "检查 yum 源中是否存在 mingw32-filesystem 和 mingw32-cmake"
if ! dnf list available mingw32-filesystem mingw32-cmake &>/dev/null; then
LOG_ERROR "yum 源中缺少所需软件包"
exit 255
fi
# 安装软件包(如果未安装)
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "安装 mingw32-filesystem 和 mingw32-cmake"
dnf install -y mingw32-filesystem mingw32-cmake
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 测试指定构建目录参数
LOG_INFO "测试指定构建目录参数"
mingw32-cmake -B build_test_directory
CHECK_RESULT $? 0 0 "指定构建目录参数失败"
# 检查构建目录是否创建成功
LOG_INFO "检查构建目录是否创建成功"
if [ -d "build_test_directory" ]; then
LOG_INFO "构建目录创建成功"
else
LOG_ERROR "构建目录创建失败"
exit 1
fi
# 清理构建目录
LOG_INFO "清理构建目录"
rm -rf build_test_directory
CHECK_RESULT $? 0 0 "清理构建目录失败"
# 卸载软件包(如果测试前未安装)
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "卸载 mingw32-filesystem 和 mingw32-cmake"
dnf remove -y mingw32-filesystem mingw32-cmake
CHECK_RESULT $? 0 0 "卸载软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,81 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试预加载缓存脚本参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试预加载缓存脚本参数"
# 定义软件包名称
PACKAGE_NAME="mingw32-filesystem"
PACKAGE_NAME2="mingw32-cmake"
# 检查环境是否已安装
LOG_INFO "检查环境是否已安装"
if rpm -q ${PACKAGE_NAME} &> /dev/null && rpm -q ${PACKAGE_NAME2} &> /dev/null; then
LOG_INFO "环境已安装,测试结束后保持安装状态"
INSTALLED_BEFORE=true
else
LOG_INFO "环境未安装,将在测试过程中安装"
INSTALLED_BEFORE=false
fi
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否有软件包${PACKAGE_NAME}${PACKAGE_NAME2}"
if ! dnf list available ${PACKAGE_NAME} &> /dev/null; then
LOG_ERROR "yum源中没有找到软件包${PACKAGE_NAME}"
exit 255
fi
if ! dnf list available ${PACKAGE_NAME2} &> /dev/null; then
LOG_ERROR "yum源中没有找到软件包${PACKAGE_NAME2}"
exit 255
fi
# 安装软件包(如果未安装)
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "安装软件包${PACKAGE_NAME}${PACKAGE_NAME2}"
dnf install -y ${PACKAGE_NAME} ${PACKAGE_NAME2}
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 测试预加载缓存脚本参数
LOG_INFO "测试预加载缓存脚本参数"
# 假设预加载缓存脚本为preload_cache.sh参数为-C
# 检查参数是否存在或不支持
if ! preload_cache.sh -h 2>&1 | grep -q "\-C"; then
LOG_ERROR "参数-C不存在或不支持"
exit 255
fi
# 执行命令并检查结果
LOG_INFO "执行预加载缓存脚本参数-C"
preload_cache.sh -C
CHECK_RESULT $? 0 0 "执行预加载缓存脚本参数-C失败"
# 清理环境(如果之前未安装)
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "卸载软件包${PACKAGE_NAME}${PACKAGE_NAME2}"
dnf remove -y ${PACKAGE_NAME} ${PACKAGE_NAME2}
CHECK_RESULT $? 0 0 "卸载软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,83 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试创建或更新CMake缓存条目参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 环境检查判断mingw32-filesystem和mingw32-cmake是否已安装
LOG_INFO "开始检查mingw32-filesystem和mingw32-cmake是否已安装"
rpm -q mingw32-filesystem mingw32-cmake
if [ $? -eq 0 ]; then
LOG_INFO "检测到mingw32-filesystem和mingw32-cmake已安装测试后保持安装状态"
INSTALLED=1
else
LOG_INFO "未检测到mingw32-filesystem和mingw32-cmake安装将在测试后卸载"
INSTALLED=0
fi
# 检查yum源中是否有mingw32-filesystem和mingw32-cmake软件包
LOG_INFO "检查yum源中是否有mingw32-filesystem软件包"
dnf list available mingw32-filesystem
CHECK_RESULT $? 0 0 "yum源中未找到mingw32-filesystem软件包"
LOG_INFO "检查yum源中是否有mingw32-cmake软件包"
dnf list available mingw32-cmake
CHECK_RESULT $? 0 0 "yum源中未找到mingw32-cmake软件包"
# 如果未安装,则安装软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装mingw32-filesystem和mingw32-cmake软件包"
dnf install -y mingw32-filesystem mingw32-cmake
CHECK_RESULT $? 0 0 "安装mingw32-filesystem和mingw32-cmake失败"
LOG_INFO "mingw32-filesystem和mingw32-cmake安装成功"
fi
# 测试创建或更新CMake缓存条目参数
LOG_INFO "测试mingw32-cmake -D参数创建或更新CMake缓存条目"
mingw32-cmake -DCMAKE_BUILD_TYPE=Debug
CHECK_RESULT $? 0 0 "mingw32-cmake -D参数执行失败"
LOG_INFO "测试mingw32-cmake -D参数设置多个缓存条目"
mingw32-cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local
CHECK_RESULT $? 0 0 "mingw32-cmake -D多个参数执行失败"
# 测试不支持的参数
LOG_INFO "测试mingw32-cmake不支持的参数"
mingw32-cmake -Z
if [ $? -eq 255 ]; then
LOG_INFO "不支持的参数导致退出码255符合预期"
else
LOG_ERROR "不支持的参数未返回退出码255"
exit 255
fi
# 环境清理
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "清理环境:卸载测试安装的软件包"
dnf remove -y mingw32-filesystem mingw32-cmake
CHECK_RESULT $? 0 0 "卸载mingw32-filesystem和mingw32-cmake失败"
LOG_INFO "环境清理完成,恢复到测试前状态"
else
LOG_INFO "环境保持安装状态,无需清理"
fi
LOG_INFO "测试创建或更新CMake缓存条目参数完成"
}
main "$@"

View File

@@ -1,70 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试CMake命令模式参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试CMake命令模式参数"
# 检查软件包是否已在YUM源中
LOG_INFO "检查mingw32-filesystem和mingw32-cmake软件包是否在YUM源中"
if ! dnf list available mingw32-filesystem mingw32-cmake &>/dev/null; then
LOG_ERROR "YUM源中没有找到mingw32-filesystem或mingw32-cmake软件包"
exit 255
fi
# 检查软件包是否已安装
LOG_INFO "检查mingw32-filesystem和mingw32-cmake软件包是否已安装"
if rpm -q mingw32-filesystem mingw32-cmake &>/dev/null; then
LOG_INFO "软件包已安装,测试结束后保持安装状态"
INSTALLED=true
else
LOG_INFO "软件包未安装,将进行安装"
INSTALLED=false
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装mingw32-filesystem和mingw32-cmake软件包"
dnf install -y mingw32-filesystem mingw32-cmake
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 测试CMake命令模式参数
LOG_INFO "测试CMake命令模式参数 -E"
if ! mingw32-cmake -E help &>/dev/null; then
LOG_ERROR "CMake命令模式参数 -E 不支持"
exit 255
fi
LOG_INFO "执行CMake命令模式参数 -E capabilities"
mingw32-cmake -E capabilities
CHECK_RESULT $? 0 0 "执行CMake命令模式参数失败"
# 清理环境:如果之前未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载mingw32-filesystem和mingw32-cmake软件包"
dnf remove -y mingw32-filesystem mingw32-cmake
CHECK_RESULT $? 0 0 "卸载软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,86 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试指定构建系统生成器参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义日志函数(根据要求直接使用,这里仅作说明)
# LOG_INFO和LOG_ERROR函数已定义直接调用
# CHECK_RESULT函数已定义直接调用
# 定义软件包名称
PACKAGE_NAME="mingw32-filesystem"
CMAKE_PACKAGE="mingw32-cmake"
# 步骤1检查yum源中是否存在指定软件包
LOG_INFO "步骤1检查yum源中是否存在${PACKAGE_NAME}${CMAKE_PACKAGE}软件包"
dnf list available ${PACKAGE_NAME} ${CMAKE_PACKAGE} &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在${PACKAGE_NAME}${CMAKE_PACKAGE}软件包"
exit 255
fi
LOG_INFO "yum源中存在${PACKAGE_NAME}${CMAKE_PACKAGE}软件包"
# 步骤2检查是否已安装软件包
LOG_INFO "步骤2检查是否已安装${PACKAGE_NAME}${CMAKE_PACKAGE}软件包"
INSTALLED=false
rpm -q ${PACKAGE_NAME} &>/dev/null && rpm -q ${CMAKE_PACKAGE} &>/dev/null
if [ $? -eq 0 ]; then
LOG_INFO "软件包已安装"
INSTALLED=true
else
LOG_INFO "软件包未安装,将在测试过程中安装"
fi
# 步骤3如果未安装则安装软件包
if [ "${INSTALLED}" = "false" ]; then
LOG_INFO "步骤3安装${PACKAGE_NAME}${CMAKE_PACKAGE}软件包"
dnf install -y ${PACKAGE_NAME} ${CMAKE_PACKAGE}
CHECK_RESULT $? 0 0 "安装软件包失败"
LOG_INFO "软件包安装成功"
fi
# 步骤4测试指定构建系统生成器参数
LOG_INFO "步骤4测试指定构建系统生成器参数"
# 检查mingw32-cmake是否支持-G参数
mingw32-cmake --help 2>&1 | grep -q "\-G"
if [ $? -ne 0 ]; then
LOG_ERROR "mingw32-cmake不支持-G参数"
exit 255
fi
# 测试-G参数的有效性示例检查是否支持"MinGW Makefiles"
LOG_INFO "测试mingw32-cmake -G "MinGW Makefiles" --help"
mingw32-cmake -G "MinGW Makefiles" --help &>/dev/null
CHECK_RESULT $? 0 0 "mingw32-cmake -G参数测试失败"
# 步骤5清理环境如果测试前未安装则卸载软件包
if [ "${INSTALLED}" = "false" ]; then
LOG_INFO "步骤5卸载测试安装的软件包"
dnf remove -y ${PACKAGE_NAME} ${CMAKE_PACKAGE}
CHECK_RESULT $? 0 0 "卸载软件包失败"
LOG_INFO "软件包卸载成功,环境已恢复"
else
LOG_INFO "步骤5测试前软件包已安装保持安装状态"
fi
LOG_INFO "测试完成:指定构建系统生成器参数功能正常"
}
main "$@"

View File

@@ -1,93 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试列出非高级缓存变量参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试脚本:测试列出非高级缓存变量参数
# 测试用例描述:测试列出非高级缓存变量参数
# 检查是否已经安装了mingw32-filesystem和mingw32-cmake
LOG_INFO "检查是否已安装mingw32-filesystem和mingw32-cmake软件包"
dnf list installed mingw32-filesystem mingw32-cmake > /dev/null 2>&1
INSTALLED=$?
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "软件包已经安装,测试结束后将保持安装状态"
ALREADY_INSTALLED=1
else
LOG_INFO "软件包未安装,将在测试前安装"
ALREADY_INSTALLED=0
fi
# 检查yum源中是否有mingw32-filesystem和mingw32-cmake软件包
LOG_INFO "检查yum源中是否有mingw32-filesystem软件包"
dnf list available mingw32-filesystem > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中没有mingw32-filesystem软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中没有mingw32-filesystem软件包"
exit 255
fi
LOG_INFO "检查yum源中是否有mingw32-cmake软件包"
dnf list available mingw32-cmake > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中没有mingw32-cmake软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中没有mingw32-cmake软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "安装mingw32-filesystem和mingw32-cmake软件包"
dnf install -y mingw32-filesystem mingw32-cmake
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 测试列出非高级缓存变量参数
LOG_INFO "测试mingw32-cmake -L命令列出非高级缓存变量"
mingw32-cmake -L
CHECK_RESULT $? 0 0 "mingw32-cmake -L命令执行失败"
# 测试不带参数的mingw32-cmake命令
LOG_INFO "测试不带参数的mingw32-cmake命令"
mingw32-cmake
CHECK_RESULT $? 0 0 "mingw32-cmake命令执行失败"
# 测试不支持的参数
LOG_INFO "测试不支持的参数(如-Z"
mingw32-cmake -Z 2>&1 | grep -q "未知参数"
if [ $? -ne 0 ]; then
LOG_ERROR "不支持的参数未正确处理"
exit 255
fi
# 清理环境:如果测试前未安装,则卸载软件包
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "卸载测试安装的软件包"
dnf remove -y mingw32-filesystem mingw32-cmake
CHECK_RESULT $? 0 0 "卸载软件包失败"
else
LOG_INFO "测试前已安装软件包,保持安装状态"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,91 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试仅查看模式参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试仅查看模式参数
LOG_INFO "开始测试mingw32-filesystem和mingw32-cmake软件包"
# 定义软件包名称
PACKAGE1="mingw32-filesystem"
PACKAGE2="mingw32-cmake"
# 步骤1检查yum源中是否存在指定软件包
LOG_INFO "步骤1检查yum源中是否存在${PACKAGE1}${PACKAGE2}软件包"
dnf list available ${PACKAGE1} ${PACKAGE2} > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中不存在${PACKAGE1}${PACKAGE2}软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在${PACKAGE1}${PACKAGE2}软件包"
exit 255
fi
# 步骤2检查-N参数是否支持
LOG_INFO "步骤2检查mingw32-cmake命令是否支持-N参数"
which mingw32-cmake > /dev/null 2>&1
if [ $? -eq 0 ]; then
# 如果已安装,检查-N参数
mingw32-cmake -N --help > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "mingw32-cmake命令不支持-N参数"
exit 255
fi
else
# 如果未安装,先安装再检查
INSTALL_FLAG=1
fi
# 步骤3安装软件包如果未安装
if [ "${INSTALL_FLAG}" = "1" ]; then
LOG_INFO "步骤3安装${PACKAGE1}${PACKAGE2}软件包"
dnf install -y ${PACKAGE1} ${PACKAGE2}
CHECK_RESULT $? 0 0 "安装${PACKAGE1}${PACKAGE2}软件包失败"
# 安装后检查-N参数
LOG_INFO "步骤4检查mingw32-cmake命令的-N参数"
mingw32-cmake -N --help > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "mingw32-cmake命令不支持-N参数"
# 清理安装的软件包
dnf remove -y ${PACKAGE1} ${PACKAGE2}
exit 255
fi
else
LOG_INFO "步骤3软件包已安装跳过安装步骤"
fi
# 步骤4测试-N参数功能
LOG_INFO "步骤5测试mingw32-cmake -N参数功能"
mingw32-cmake -N --version > /dev/null 2>&1
CHECK_RESULT $? 0 0 "执行mingw32-cmake -N --version命令失败"
# 步骤5清理环境
LOG_INFO "步骤6清理测试环境"
if [ "${INSTALL_FLAG}" = "1" ]; then
LOG_INFO "卸载测试安装的软件包"
dnf remove -y ${PACKAGE1} ${PACKAGE2}
CHECK_RESULT $? 0 0 "卸载${PACKAGE1}${PACKAGE2}软件包失败"
else
LOG_INFO "测试前已安装软件包,保持安装状态"
fi
LOG_INFO "测试完成mingw32-cmake -N参数功能正常"
}
main "$@"

View File

@@ -1,68 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试处理脚本模式参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试处理脚本模式参数"
LOG_INFO "步骤1检查yum源中是否存在mingw32-filesystem和mingw32-cmake软件包"
dnf list available mingw32-filesystem mingw32-cmake > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中缺少mingw32-filesystem或mingw32-cmake软件包"
exit 255
fi
LOG_INFO "步骤2检查环境是否已安装目标软件包"
rpm -q mingw32-filesystem mingw32-cmake > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "环境已安装目标软件包,标记为已安装状态"
INSTALLED=true
else
LOG_INFO "环境未安装目标软件包,标记为未安装状态"
INSTALLED=false
fi
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤3安装mingw32-filesystem和mingw32-cmake软件包"
dnf install -y mingw32-filesystem mingw32-cmake
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
LOG_INFO "步骤4测试处理脚本模式参数 -P"
mingw32-cmake -P > /dev/null 2>&1
if [ $? -eq 255 ]; then
LOG_INFO "参数-P不存在或不支持符合预期"
else
LOG_ERROR "参数-P存在或支持不符合预期"
exit 255
fi
LOG_INFO "步骤5清理环境恢复到之前的状态"
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载之前安装的软件包"
dnf remove -y mingw32-filesystem mingw32-cmake
CHECK_RESULT $? 0 0 "卸载软件包失败"
else
LOG_INFO "环境已安装,保持安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,67 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试指定源目录参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mingw32-filesystem和mingw32-cmake
LOG_INFO "检查mingw32-filesystem和mingw32-cmake是否已安装"
rpm -q mingw32-filesystem mingw32-cmake &>/dev/null
INSTALLED=$?
# 如果未安装,则执行安装步骤
if [ $INSTALLED -ne 0 ]; then
LOG_INFO "软件包未安装,开始安装步骤"
# 检查yum源中是否有mingw32-filesystem软件包
LOG_INFO "检查yum源中是否有mingw32-filesystem软件包"
dnf list available mingw32-filesystem &>/dev/null
CHECK_RESULT $? 0 255 "yum源中未找到mingw32-filesystem软件包"
# 检查yum源中是否有mingw32-cmake软件包
LOG_INFO "检查yum源中是否有mingw32-cmake软件包"
dnf list available mingw32-cmake &>/dev/null
CHECK_RESULT $? 0 255 "yum源中未找到mingw32-cmake软件包"
# 安装软件包
LOG_INFO "安装mingw32-filesystem和mingw32-cmake软件包"
dnf install -y mingw32-filesystem mingw32-cmake
CHECK_RESULT $? 0 0 "安装软件包失败"
else
LOG_INFO "软件包已安装,跳过安装步骤"
fi
# 测试指定源目录参数
LOG_INFO "测试指定源目录参数"
mingw32-cmake -S /tmp/test_source_dir &>/dev/null
CHECK_RESULT $? 0 255 "mingw32-cmake不支持-S参数或参数不存在"
# 清理环境:如果脚本开始前未安装,则卸载软件包
if [ $INSTALLED -ne 0 ]; then
LOG_INFO "清理环境:卸载安装的软件包"
dnf remove -y mingw32-filesystem mingw32-cmake
CHECK_RESULT $? 0 0 "卸载软件包失败"
else
LOG_INFO "环境已安装,保持安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,76 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试指定工具集名称参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已经安装了指定的软件包
LOG_INFO "检查是否已经安装了mingw32-filesystem和mingw32-cmake软件包"
if rpm -q mingw32-filesystem mingw32-cmake > /dev/null 2>&1; then
LOG_INFO "软件包已经安装,标记为已安装状态"
INSTALLED=1
else
LOG_INFO "软件包未安装,标记为未安装状态"
INSTALLED=0
fi
# 检查yum源中是否存在指定的软件包
LOG_INFO "检查yum源中是否存在mingw32-filesystem和mingw32-cmake软件包"
if ! dnf list available mingw32-filesystem mingw32-cmake > /dev/null 2>&1; then
LOG_ERROR "yum源中不存在mingw32-filesystem或mingw32-cmake软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装mingw32-filesystem和mingw32-cmake软件包"
dnf install -y mingw32-filesystem mingw32-cmake
CHECK_RESULT $? 0 0 "安装mingw32-filesystem和mingw32-cmake失败"
LOG_INFO "软件包安装成功"
fi
# 测试指定工具集名称参数
LOG_INFO "测试指定工具集名称参数"
# 检查是否支持 -T 参数
if ! mingw32-cmake --help | grep -q "\-T"; then
LOG_ERROR "mingw32-cmake不支持-T参数"
exit 255
fi
# 执行带 -T 参数的mingw32-cmake命令
LOG_INFO "执行mingw32-cmake -T命令"
mingw32-cmake -T
CHECK_RESULT $? 0 0 "mingw32-cmake -T命令执行失败"
LOG_INFO "指定工具集名称参数测试完成"
# 清理环境,恢复到之前的状态
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载在测试过程中安装的软件包"
dnf remove -y mingw32-filesystem mingw32-cmake
CHECK_RESULT $? 0 0 "卸载mingw32-filesystem和mingw32-cmake失败"
LOG_INFO "软件包卸载成功,环境已恢复"
else
LOG_INFO "测试前软件包已安装,保持安装状态"
fi
LOG_INFO "测试脚本执行完毕"
}
main "$@"

View File

@@ -1,111 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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 : 测试从CMake缓存中移除匹配条目参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 判断是否已安装mingw32-filesystem和mingw32-cmake
LOG_INFO "检查是否已安装mingw32-filesystem和mingw32-cmake"
rpm -q mingw32-filesystem mingw32-cmake > /dev/null 2>&1
INSTALLED=$?
# 定义软件包列表
PACKAGES="mingw32-filesystem mingw32-cmake"
# 检查yum源中是否有这些软件包
LOG_INFO "检查yum源中是否有mingw32-filesystem和mingw32-cmake软件包"
for pkg in $PACKAGES; do
dnf list available $pkg > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中没有找到$pkg软件包"
exit 255
fi
done
# 如果未安装,则安装软件包
if [ $INSTALLED -ne 0 ]; then
LOG_INFO "安装mingw32-filesystem和mingw32-cmake软件包"
dnf install -y $PACKAGES
CHECK_RESULT $? 0 0 "安装mingw32-filesystem和mingw32-cmake失败"
fi
# 测试-U参数功能
LOG_INFO "测试mingw32-cmake -U参数功能"
LOG_INFO "步骤1: 创建测试CMakeLists.txt文件"
cat > CMakeLists.txt << EOF
cmake_minimum_required(VERSION 3.10)
project(TestProject)
set(TEST_VAR "test_value")
EOF
CHECK_RESULT $? 0 0 "创建CMakeLists.txt失败"
LOG_INFO "步骤2: 创建build目录并生成CMake缓存"
mkdir -p build
cd build
mingw32-cmake .. > ../cmake_output.log 2>&1
CHECK_RESULT $? 0 0 "CMake配置失败"
LOG_INFO "步骤3: 检查TEST_VAR是否存在于缓存中"
grep "TEST_VAR" CMakeCache.txt > /dev/null 2>&1
CHECK_RESULT $? 0 0 "TEST_VAR未在CMake缓存中找到"
LOG_INFO "步骤4: 使用-U参数从缓存中移除TEST_VAR"
mingw32-cmake -U TEST_VAR . > ../remove_output.log 2>&1
CHECK_RESULT $? 0 0 "使用-U参数移除变量失败"
LOG_INFO "步骤5: 验证TEST_VAR是否已从缓存中移除"
grep "TEST_VAR" CMakeCache.txt > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_ERROR "TEST_VAR仍然存在于CMake缓存中"
CHECK_RESULT 1 0 0 "TEST_VAR未成功从缓存中移除"
else
LOG_INFO "TEST_VAR已成功从CMake缓存中移除"
CHECK_RESULT 0 0 0 "TEST_VAR移除验证失败"
fi
# 测试不支持的参数
LOG_INFO "步骤6: 测试不支持的参数"
mingw32-cmake --nonexistent-param . > /dev/null 2>&1
if [ $? -eq 255 ]; then
LOG_INFO "不支持的参数正确处理"
CHECK_RESULT 0 0 0 "不支持的参数处理失败"
else
LOG_ERROR "不支持的参数未正确处理"
exit 255
fi
# 清理测试文件
LOG_INFO "清理测试文件"
cd ..
rm -rf build CMakeLists.txt cmake_output.log remove_output.log
CHECK_RESULT $? 0 0 "清理测试文件失败"
# 如果脚本开始时未安装,则卸载软件包
if [ $INSTALLED -ne 0 ]; then
LOG_INFO "卸载测试安装的软件包"
dnf remove -y $PACKAGES
CHECK_RESULT $? 0 0 "卸载mingw32-filesystem和mingw32-cmake失败"
else
LOG_INFO "保持原有安装状态,不卸载软件包"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,59 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试启用废弃警告参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:测试启用废弃警告参数"
LOG_INFO "步骤1检查是否已安装 mingw32-filesystem 和 mingw32-cmake 包"
if dnf list installed mingw32-filesystem mingw32-cmake &> /dev/null; then
LOG_INFO "软件包已安装,脚本结束后将保持安装状态"
INSTALLED_BEFORE=1
else
LOG_INFO "软件包未安装,将在测试步骤中安装"
INSTALLED_BEFORE=0
fi
LOG_INFO "步骤2检查yum源中是否存在 mingw32-filesystem 和 mingw32-cmake 包"
if ! dnf list available mingw32-filesystem mingw32-cmake &> /dev/null; then
LOG_ERROR "yum源中缺少 mingw32-filesystem 或 mingw32-cmake 包"
exit 255
fi
LOG_INFO "步骤3如果未安装则安装软件包"
if [ $INSTALLED_BEFORE -eq 0 ]; then
dnf install -y mingw32-filesystem mingw32-cmake
CHECK_RESULT $? 0 0 "安装 mingw32-filesystem 和 mingw32-cmake 失败"
fi
LOG_INFO "步骤4检查 mingw32-cmake 是否支持 -Wdeprecated 参数"
mingw32-cmake --help | grep -q -- "-Wdeprecated"
if [ $? -ne 0 ]; then
LOG_ERROR "mingw32-cmake 不支持 -Wdeprecated 参数"
exit 255
fi
LOG_INFO "步骤5使用 -Wdeprecated 参数执行 mingw32-cmake 命令"
mingw32-cmake -Wdeprecated
CHECK_RESULT $? 0 0 "执行 mingw32-cmake -Wdeprecated 失败"
LOG_INFO "步骤6清理环境如果脚本开始时未安装则卸载软件包"
if [ $INSTALLED_BEFORE -eq 0 ]; then
dnf remove -y mingw32-filesystem mingw32-cmake
CHECK_RESULT $? 0 0 "卸载 mingw32-filesystem 和 mingw32-cmake 失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,77 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试启用开发者警告参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试启用开发者警告参数"
# 检查是否已安装 mingw32-filesystem 和 mingw32-cmake
LOG_INFO "检查是否已安装 mingw32-filesystem 和 mingw32-cmake"
rpm -q mingw32-filesystem mingw32-cmake > /dev/null 2>&1
installed=$?
# 检查yum源中是否有相关软件包
LOG_INFO "检查yum源中是否有 mingw32-filesystem 和 mingw32-cmake"
dnf list available mingw32-filesystem mingw32-cmake > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中未找到 mingw32-filesystem 或 mingw32-cmake 软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中缺少必要的软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $installed -ne 0 ]; then
LOG_INFO "安装 mingw32-filesystem 和 mingw32-cmake"
dnf install -y mingw32-filesystem mingw32-cmake
CHECK_RESULT $? 0 0 "安装 mingw32-filesystem 和 mingw32-cmake 失败"
# 设置标记,表示脚本安装的软件包,需要在结束时卸载
need_cleanup=1
else
LOG_INFO "mingw32-filesystem 和 mingw32-cmake 已安装"
need_cleanup=0
fi
# 测试启用开发者警告参数
LOG_INFO "测试 mingw32-cmake 的 -Wdev 参数"
mingw32-cmake -Wdev --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "mingw32-cmake 不支持 -Wdev 参数"
if [ $? -ne 0 ]; then
LOG_ERROR "-Wdev 参数不存在或不支持"
exit 255
fi
# 实际执行带 -Wdev 参数的示例命令
LOG_INFO "执行带 -Wdev 参数的 mingw32-cmake 命令"
mingw32-cmake -Wdev -S . -B build 2>&1 | grep -q "CMake Warning"
CHECK_RESULT $? 0 0 "未检测到开发者警告,-Wdev 参数可能未生效"
# 清理环境:如果脚本安装了软件包,则卸载
if [ $need_cleanup -eq 1 ]; then
LOG_INFO "卸载之前安装的 mingw32-filesystem 和 mingw32-cmake"
dnf remove -y mingw32-filesystem mingw32-cmake
CHECK_RESULT $? 0 0 "卸载 mingw32-filesystem 和 mingw32-cmake 失败"
else
LOG_INFO "保持 mingw32-filesystem 和 mingw32-cmake 的安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,89 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试使开发者警告成为错误参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否以root用户运行
if [ "$(id -u)" -ne 0 ]; then
LOG_ERROR "请以root用户运行此脚本"
exit 1
fi
# 定义软件包名称
PACKAGE_NAME="mingw32-filesystem"
CMAKE_PACKAGE="mingw32-cmake"
TEST_PARAM="-Werror"
# 步骤1: 检查yum源中是否存在指定的软件包
LOG_INFO "步骤1: 检查yum源中是否存在软件包 ${PACKAGE_NAME}${CMAKE_PACKAGE}"
dnf list available ${PACKAGE_NAME} ${CMAKE_PACKAGE} > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中未找到软件包 ${PACKAGE_NAME}${CMAKE_PACKAGE}"
if [ $? -ne 0 ]; then
exit 255
fi
# 步骤2: 检查环境是否已安装指定软件包
LOG_INFO "步骤2: 检查环境是否已安装软件包 ${PACKAGE_NAME}${CMAKE_PACKAGE}"
INSTALLED=0
if rpm -q ${PACKAGE_NAME} > /dev/null 2>&1 && rpm -q ${CMAKE_PACKAGE} > /dev/null 2>&1; then
INSTALLED=1
LOG_INFO "软件包已安装,脚本结束后将保持安装状态"
else
LOG_INFO "软件包未安装,将在测试过程中安装"
fi
# 步骤3: 安装软件包(如果未安装)
if [ ${INSTALLED} -eq 0 ]; then
LOG_INFO "步骤3: 安装软件包 ${PACKAGE_NAME}${CMAKE_PACKAGE}"
dnf install -y ${PACKAGE_NAME} ${CMAKE_PACKAGE}
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 步骤4: 检查mingw32-cmake命令是否支持-Werror参数
LOG_INFO "步骤4: 检查mingw32-cmake命令是否支持 ${TEST_PARAM} 参数"
mingw32-cmake --help 2>&1 | grep -q "${TEST_PARAM}"
CHECK_RESULT $? 0 0 "mingw32-cmake命令不支持 ${TEST_PARAM} 参数"
if [ $? -ne 0 ]; then
# 清理环境(如果之前安装了软件包)
if [ ${INSTALLED} -eq 0 ]; then
dnf remove -y ${PACKAGE_NAME} ${CMAKE_PACKAGE}
fi
exit 255
fi
# 步骤5: 测试使用-Werror参数
LOG_INFO "步骤5: 测试使用 ${TEST_PARAM} 参数"
mingw32-cmake ${TEST_PARAM} --version > /dev/null 2>&1
CHECK_RESULT $? 0 0 "使用 ${TEST_PARAM} 参数执行失败"
# 步骤6: 清理环境
LOG_INFO "步骤6: 清理环境"
if [ ${INSTALLED} -eq 0 ]; then
LOG_INFO "卸载测试安装的软件包"
dnf remove -y ${PACKAGE_NAME} ${CMAKE_PACKAGE}
CHECK_RESULT $? 0 0 "卸载软件包失败"
else
LOG_INFO "保持软件包安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,93 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试抑制开发者警告参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 判断当前是否已安装指定软件包
check_installed() {
dnf list installed | grep -q "$1"
return $?
}
# 检查软件包是否在yum源中
check_package_in_repo() {
dnf list available "$1" &> /dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 $1 不在yum源中"
exit 255
fi
}
# 检查参数是否支持
check_parameter_support() {
if ! mingw32-cmake --help 2>&1 | grep -q "$1"; then
LOG_ERROR "参数 $1 不存在或不支持"
exit 255
fi
}
# 记录初始安装状态
initial_install_state=false
LOG_INFO "开始测试抑制开发者警告参数"
# 检查软件包是否已安装
if check_installed "mingw32-filesystem"; then
LOG_INFO "检测到 mingw32-filesystem 已安装"
initial_install_state=true
else
LOG_INFO "检测到 mingw32-filesystem 未安装"
fi
# 检查软件包是否在yum源中
LOG_INFO "检查软件包是否在yum源中"
check_package_in_repo "mingw32-filesystem"
check_package_in_repo "mingw32-cmake"
# 如果未安装,则安装软件包
if [ "$initial_install_state" = false ]; then
LOG_INFO "安装 mingw32-filesystem 和 mingw32-cmake"
dnf install -y mingw32-filesystem mingw32-cmake
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 检查参数支持
LOG_INFO "检查 -Wno-dev 参数是否支持"
check_parameter_support "-Wno-dev"
# 测试抑制开发者警告参数
LOG_INFO "执行测试命令mingw32-cmake -Wno-dev"
mingw32-cmake -Wno-dev
CHECK_RESULT $? 0 0 "执行 mingw32-cmake -Wno-dev 失败"
# 环境清理
LOG_INFO "清理测试环境"
if [ "$initial_install_state" = false ]; then
LOG_INFO "卸载测试安装的软件包"
dnf remove -y mingw32-filesystem mingw32-cmake
CHECK_RESULT $? 0 0 "卸载软件包失败"
else
LOG_INFO "保持原有安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,70 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试打印使用信息并退出参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装所需软件包
LOG_INFO "检查是否已安装mingw32-filesystem和mingw32-cmake软件包"
rpm -q mingw32-filesystem mingw32-cmake > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "软件包已安装,标记为已存在安装状态"
INSTALLED_ALREADY=1
else
LOG_INFO "软件包未安装,标记为未安装状态"
INSTALLED_ALREADY=0
fi
# 检查yum源中是否存在所需软件包
LOG_INFO "检查yum源中是否存在mingw32-filesystem和mingw32-cmake软件包"
dnf list available mingw32-filesystem mingw32-cmake > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到mingw32-filesystem或mingw32-cmake软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $INSTALLED_ALREADY -eq 0 ]; then
LOG_INFO "开始安装mingw32-filesystem和mingw32-cmake软件包"
dnf install -y mingw32-filesystem mingw32-cmake
CHECK_RESULT $? 0 0 "安装mingw32-filesystem和mingw32-cmake失败"
fi
# 测试打印使用信息并退出参数
LOG_INFO "测试mingw32-cmake -h命令检查是否支持-h参数"
mingw32-cmake -h > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mingw32-cmake -h命令执行成功参数支持"
CHECK_RESULT $? 0 0 "mingw32-cmake -h命令执行失败"
else
LOG_ERROR "mingw32-cmake不支持-h参数"
exit 255
fi
# 环境恢复
if [ $INSTALLED_ALREADY -eq 0 ]; then
LOG_INFO "清理环境:卸载测试安装的软件包"
dnf remove -y mingw32-filesystem mingw32-cmake
CHECK_RESULT $? 0 0 "卸载mingw32-filesystem和mingw32-cmake失败"
else
LOG_INFO "环境已安装,保持安装状态"
fi
}
main "$@"

View File

@@ -1,66 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-30
# @License : Mulan PSL v2
# @Desc : 测试 mingw32-cmake 命令的默认行为
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 mingw32-cmake 命令的默认行为"
# 检查是否已安装 mingw32-filesystem 和 mingw32-cmake
LOG_INFO "检查是否已安装 mingw32-filesystem 和 mingw32-cmake"
dnf list installed mingw32-filesystem mingw32-cmake > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mingw32-filesystem 和 mingw32-cmake 已安装"
INSTALLED=1
else
LOG_INFO "mingw32-filesystem 和 mingw32-cmake 未安装"
INSTALLED=0
fi
# 检查 yum 源中是否有 mingw32-filesystem 和 mingw32-cmake
LOG_INFO "检查 yum 源中是否有 mingw32-filesystem 和 mingw32-cmake"
dnf list available mingw32-filesystem mingw32-cmake > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum 源中未找到 mingw32-filesystem 或 mingw32-cmake"
exit 255
fi
# 如果未安装,则安装软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装 mingw32-filesystem 和 mingw32-cmake"
dnf install -y mingw32-filesystem mingw32-cmake
CHECK_RESULT $? 0 0 "安装失败"
fi
# 测试 mingw32-cmake 命令的默认行为
LOG_INFO "测试 mingw32-cmake 命令的默认行为"
mingW_CMake_Output=$(mingW_CMake --help 2>&1)
CHECK_RESULT $? 0 0 "mingw_CMake --help 执行失败"
#如果未安装,则在脚本结束前卸载软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载 mingW_filesystem 和 mingW_CMake"
dnf remove -y mingW_filesystem mingW_CMake
CHECK_RESULT $? 0 0 “卸载失败”
fi
LOG_INFO “测试完成”
}
main "$@"

View File

@@ -1,91 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试 mingw32-configure 命令的 --build 参数以指定构建系统
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 判断当前环境是否已安装mingw32-filesystem和mingw32-configure
LOG_INFO "检查是否已安装mingw32-filesystem和mingw32-configure"
rpm -q mingw32-filesystem mingw32-configure > /dev/null 2>&1
installed_status=$?
# 记录初始安装状态
initial_installed=false
if [ $installed_status -eq 0 ]; then
initial_installed=true
LOG_INFO "检测到mingw32-filesystem和mingw32-configure已安装"
else
LOG_INFO "检测到mingw32-filesystem和mingw32-configure未安装"
fi
# 检查yum源中是否有相关软件包
LOG_INFO "检查yum源中是否有mingw32-filesystem和mingw32-configure软件包"
dnf list available mingw32-filesystem mingw32-configure > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中缺少mingw32-filesystem或mingw32-configure软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中缺少必要的软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$initial_installed" = "false" ]; then
LOG_INFO "开始安装mingw32-filesystem和mingw32-configure"
dnf install -y mingw32-filesystem mingw32-configure
CHECK_RESULT $? 0 0 "安装mingw32-filesystem和mingw32-configure失败"
fi
# 测试mingw32-configure命令的--build参数
LOG_INFO "测试mingw32-configure命令的--build参数"
mingw32-configure --build > /dev/null 2>&1
if [ $? -eq 255 ]; then
LOG_ERROR "--build参数不存在或不支持"
exit 255
fi
LOG_INFO "执行mingw32-configure --build=i686-pc-mingw32"
mingw32-configure --build=i686-pc-mingw32
CHECK_RESULT $? 0 0 "执行mingw32-configure --build=i686-pc-mingw32失败"
LOG_INFO "执行mingw32-configure --build=x86_64-w64-mingw32"
mingw32-configure --build=x86_64-w64-mingw32
CHECK_RESULT $? 0 0 "执行mingw32-configure --build=x86_64-w64-mingw32失败"
# 测试不支持的构建系统参数
LOG_INFO "测试不支持的构建系统参数:--build=unsupported-arch"
mingw32-configure --build=unsupported-arch > /dev/null 2>&1
if [ $? -eq 255 ]; then
LOG_INFO "检测到不支持的构建系统参数,符合预期"
else
LOG_ERROR "不支持的构建系统参数未正确识别"
exit 255
fi
# 环境清理:如果初始状态未安装,则卸载软件包
if [ "$initial_installed" = "false" ]; then
LOG_INFO "清理环境卸载mingw32-filesystem和mingw32-configure"
dnf remove -y mingw32-filesystem mingw32-configure
CHECK_RESULT $? 0 0 "卸载mingw32-filesystem和mingw32-configure失败"
else
LOG_INFO "保持初始安装状态,不卸载软件包"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,81 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试 mingw32-configure 命令的 CC 环境变量或参数以指定 C 编译器
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mingw32-filesystem和mingw32-configure
LOG_INFO "检查是否已安装mingw32-filesystem和mingw32-configure"
rpm -q mingw32-filesystem mingw32-configure > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "检测到已安装mingw32-filesystem和mingw32-configure脚本结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "未安装mingw32-filesystem和mingw32-configure将在测试过程中安装"
INSTALLED=false
fi
# 检查yum源中是否有mingw32-filesystem和mingw32-configure软件包
LOG_INFO "检查yum源中是否有mingw32-filesystem和mingw32-configure软件包"
dnf list available mingw32-filesystem mingw32-configure > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中没有mingw32-filesystem或mingw32-configure软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中没有mingw32-filesystem或mingw32-configure软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装mingw32-filesystem和mingw32-configure软件包"
dnf install -y mingw32-filesystem mingw32-configure
CHECK_RESULT $? 0 0 "安装mingw32-filesystem和mingw32-configure失败"
fi
# 测试mingw32-configure命令的CC环境变量
LOG_INFO "测试mingw32-configure命令的CC环境变量"
export CC="i686-w64-mingw32-gcc"
mingw32-configure --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "使用CC环境变量执行mingw32-configure失败"
# 测试mingw32-configure命令的CC参数
LOG_INFO "测试mingw32-configure命令的CC参数"
mingw32-configure --help 2>&1 | grep -q "\-\-cc"
if [ $? -eq 0 ]; then
LOG_INFO "mingw32-configure支持--cc参数"
mingw32-configure --cc="i686-w64-mingw32-gcc" --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "使用--cc参数执行mingw32-configure失败"
else
LOG_ERROR "mingw32-configure不支持--cc参数"
exit 255
fi
# 清理环境
LOG_INFO "清理测试环境"
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载mingw32-filesystem和mingw32-configure软件包"
dnf remove -y mingw32-filesystem mingw32-configure
CHECK_RESULT $? 0 0 "卸载mingw32-filesystem和mingw32-configure失败"
else
LOG_INFO "保持mingw32-filesystem和mingw32-configure软件包安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,99 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试 mingw32-configure 命令的 CFLAGS 环境变量或参数以指定 C 编译器标志
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义日志函数
LOG_INFO() {
echo "[INFO] $*"
}
LOG_ERROR() {
echo "[ERROR] $*"
}
# 定义软件包名称和命令
PACKAGE_NAME="mingw32-filesystem"
COMMAND="mingw32-configure"
ENV_VAR="CFLAGS"
TEST_VALUE="-O2 -g"
# 步骤1检查yum源中是否存在指定软件包
LOG_INFO "步骤1检查yum源中是否存在软件包 $PACKAGE_NAME"
if ! dnf list available "$PACKAGE_NAME" &>/dev/null; then
LOG_ERROR "软件包 $PACKAGE_NAME 在yum源中不存在"
exit 255
fi
# 步骤2检查当前环境是否已安装指定软件包
LOG_INFO "步骤2检查当前环境是否已安装软件包 $PACKAGE_NAME"
if rpm -q "$PACKAGE_NAME" &>/dev/null; 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检查 mingw32-configure 命令是否存在
LOG_INFO "步骤4检查 $COMMAND 命令是否存在"
if ! command -v "$COMMAND" &>/dev/null; then
LOG_ERROR "命令 $COMMAND 不存在"
exit 255
fi
# 步骤5测试 CFLAGS 环境变量设置
LOG_INFO "步骤5测试通过环境变量 $ENV_VAR 指定 C 编译器标志"
export $ENV_VAR="$TEST_VALUE"
$COMMAND --help 2>&1 | grep -q "$TEST_VALUE"
CHECK_RESULT $? 0 0 "通过环境变量 $ENV_VAR 设置 C 编译器标志失败"
# 步骤6测试 CFLAGS 参数设置
LOG_INFO "步骤6测试通过参数 $ENV_VAR 指定 C 编译器标志"
$COMMAND --help 2>&1 | grep -q "$ENV_VAR"
if [ $? -ne 0 ]; then
LOG_ERROR "参数 $ENV_VAR 不被 $COMMAND 命令支持"
exit 255
fi
# 步骤7清理环境变量
LOG_INFO "步骤7清理环境变量 $ENV_VAR"
unset $ENV_VAR
# 步骤8如果之前未安装则卸载软件包
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "步骤8卸载软件包 $PACKAGE_NAME"
dnf remove -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
else
LOG_INFO "步骤8保持软件包 $PACKAGE_NAME 的安装状态"
fi
LOG_INFO "测试完成mingw32-configure 命令的 CFLAGS 环境变量和参数测试通过"
}
main "$@"

View File

@@ -1,141 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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 : 测试 mingw32-configure 命令的 CXX 环境变量或参数以指定 C++ 编译器
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试脚本开始
# 定义软件包名称
PACKAGE_NAME="mingw32-filesystem"
# 步骤1检查yum源中是否存在指定软件包
LOG_INFO "步骤1检查yum源中是否存在软件包 $PACKAGE_NAME"
dnf list available $PACKAGE_NAME > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 $PACKAGE_NAME 在yum源中不存在"
exit 255
fi
LOG_INFO "软件包 $PACKAGE_NAME 存在于yum源中"
# 步骤2检查系统是否已安装指定软件包
LOG_INFO "步骤2检查系统是否已安装软件包 $PACKAGE_NAME"
rpm -q $PACKAGE_NAME > /dev/null 2>&1
if [ $? -eq 0 ]; then
INSTALLED=true
LOG_INFO "软件包 $PACKAGE_NAME 已安装"
else
INSTALLED=false
LOG_INFO "软件包 $PACKAGE_NAME 未安装"
fi
# 步骤3如果未安装则安装软件包
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "步骤3安装软件包 $PACKAGE_NAME"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
LOG_INFO "软件包 $PACKAGE_NAME 安装成功"
fi
# 步骤4测试 mingw32-configure 命令的 CXX 环境变量功能
LOG_INFO "步骤4测试 mingw32-configure 命令的 CXX 环境变量功能"
# 检查 mingw32-configure 命令是否存在
LOG_INFO "检查 mingw32-configure 命令是否存在"
which mingw32-configure > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "mingw32-configure 命令不存在"
exit 255
fi
# 测试 CXX 环境变量
LOG_INFO "设置 CXX 环境变量为指定 C++ 编译器"
export CXX="i686-w64-mingw32-g++"
# 执行 mingw32-configure 命令并检查是否支持 CXX 参数
LOG_INFO "执行 mingw32-configure 命令并检查 CXX 参数支持"
mingw32-configure --help | grep -q "CXX"
if [ $? -ne 0 ]; then
LOG_ERROR "mingw32-configure 命令不支持 CXX 参数"
exit 255
fi
# 模拟配置过程(不实际编译)
LOG_INFO "模拟配置过程,验证 CXX 环境变量"
tmp_dir=$(mktemp -d)
cd $tmp_dir
echo "int main() { return 0; }" > test.cpp
# 使用 mingw32-configure 配置
mingw32-configure --host=i686-w64-mingw32 --disable-shared > configure.log 2>&1
configure_result=$?
cat configure.log
# 检查配置结果
if [ $configure_result -eq 0 ]; then
LOG_INFO "mingw32-configure 配置成功CXX 环境变量生效"
else
LOG_ERROR "mingw32-configure 配置失败"
# 根据Linux标准退出码退出
exit $configure_result
fi
# 清理临时目录
cd -
rm -rf $tmp_dir
# 步骤5测试通过参数指定 C++ 编译器
LOG_INFO "步骤5测试通过参数指定 C++ 编译器"
# 检查是否支持 CXX 参数
LOG_INFO "检查 mingw32-configure 是否支持直接指定 CXX 参数"
mingw32-configure --help | grep -q "\-\-with-cxx"
if [ $? -ne 0 ]; then
LOG_INFO "mingw32-configure 不支持 --with-cxx 参数,尝试其他方式"
# 尝试通过环境变量传递
CXX="i686-w64-mingw32-g++" mingw32-configure --host=i686-w64-mingw32 --disable-shared > /dev/null 2>&1
CHECK_RESULT $? 0 0 "通过环境变量指定 C++ 编译器失败"
LOG_INFO "通过环境变量指定 C++ 编译器成功"
else
# 使用 --with-cxx 参数
mingw32-configure --host=i686-w64-mingw32 --disable-shared --with-cxx="i686-w64-mingw32-g++" > /dev/null 2>&1
CHECK_RESULT $? 0 0 "通过 --with-cxx 参数指定 C++ 编译器失败"
LOG_INFO "通过 --with-cxx 参数指定 C++ 编译器成功"
fi
# 步骤6环境恢复
LOG_INFO "步骤6恢复测试环境"
# 如果测试前未安装,则卸载软件包
if [ "$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
# 清理环境变量
unset CXX
LOG_INFO "测试脚本执行完成"
}
main "$@"

View File

@@ -1,77 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试 mingw32-configure 命令的 CXXFLAGS 环境变量或参数以指定 C++ 编译器标志
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 mingw32-configure 命令的 CXXFLAGS 环境变量或参数以指定 C++ 编译器标志"
# 定义软件包名称
PACKAGE="mingw32-filesystem"
# 检查软件包是否已安装
LOG_INFO "检查 $PACKAGE 是否已安装"
if dnf list installed "$PACKAGE" &> /dev/null; then
LOG_INFO "$PACKAGE 已安装"
INSTALLED=true
else
LOG_INFO "$PACKAGE 未安装"
INSTALLED=false
fi
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否有 $PACKAGE 软件包"
if ! dnf list available "$PACKAGE" &> /dev/null; then
LOG_ERROR "yum源中没有 $PACKAGE 软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装 $PACKAGE 软件包"
dnf install -y "$PACKAGE"
CHECK_RESULT $? 0 0 "安装 $PACKAGE 失败"
fi
# 测试 mingw32-configure 命令的 CXXFLAGS 环境变量
LOG_INFO "测试通过环境变量 CXXFLAGS 指定 C++ 编译器标志"
export CXXFLAGS="-O2 -Wall"
mingw32-configure --help &> /dev/null
CHECK_RESULT $? 0 0 "mingw32-configure 命令不支持 CXXFLAGS 环境变量"
# 测试 mingw32-configure 命令的 --cxxflags 参数
LOG_INFO "测试通过 --cxxflags 参数指定 C++ 编译器标志"
mingw32-configure --cxxflags="-O2 -Wall" --help &> /dev/null
if [ $? -eq 255 ]; then
LOG_ERROR "mingw32-configure 命令不支持 --cxxflags 参数"
exit 255
fi
CHECK_RESULT $? 0 0 "mingw32-configure 命令执行失败"
# 清理环境,恢复到之前的状态
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载 $PACKAGE 软件包"
dnf remove -y "$PACKAGE"
CHECK_RESULT $? 0 0 "卸载 $PACKAGE 失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

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

View File

@@ -1,87 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试 mingw32-configure 命令的 --help 参数以显示帮助信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mingw32-filesystem软件包
LOG_INFO "检查mingw32-filesystem软件包是否已安装"
if dnf list installed mingw32-filesystem > /dev/null 2>&1; then
LOG_INFO "mingw32-filesystem软件包已安装"
INSTALLED="true"
else
LOG_INFO "mingw32-filesystem软件包未安装"
INSTALLED="false"
fi
# 检查yum源中是否有mingw32-filesystem软件包
LOG_INFO "检查yum源中是否有mingw32-filesystem软件包"
if ! dnf list available mingw32-filesystem > /dev/null 2>&1; then
LOG_ERROR "yum源中未找到mingw32-filesystem软件包"
exit 255
fi
# 如果未安装则安装mingw32-filesystem软件包
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "安装mingw32-filesystem软件包"
dnf install -y mingw32-filesystem
CHECK_RESULT $? 0 0 "安装mingw32-filesystem软件包失败"
fi
# 检查mingw32-configure命令是否存在
LOG_INFO "检查mingw32-configure命令是否存在"
if ! command -v mingw32-configure > /dev/null 2>&1; then
LOG_ERROR "mingw32-configure命令不存在"
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "卸载mingw32-filesystem软件包"
dnf remove -y mingw32-filesystem
fi
exit 255
fi
# 测试mingw32-configure命令的--help参数
LOG_INFO "测试mingw32-configure命令的--help参数"
mingw32-configure --help > /tmp/mingw32_configure_help.txt 2>&1
CHECK_RESULT $? 0 0 "执行mingw32-configure --help失败"
# 检查输出是否包含帮助信息
LOG_INFO "检查mingw32-configure --help输出是否包含帮助信息"
if grep -q "Usage:" /tmp/mingw32_configure_help.txt; then
LOG_INFO "mingw32-configure --help输出包含帮助信息"
CHECK_RESULT 0 0 0 "mingw32-configure --help输出不包含帮助信息"
else
LOG_ERROR "mingw32-configure --help输出不包含帮助信息"
CHECK_RESULT 1 0 1 "mingw32-configure --help输出不包含帮助信息"
fi
# 清理临时文件
LOG_INFO "清理临时文件"
rm -f /tmp/mingw32_configure_help.txt
# 如果之前未安装,则卸载软件包
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "卸载mingw32-filesystem软件包"
dnf remove -y mingw32-filesystem
CHECK_RESULT $? 0 0 "卸载mingw32-filesystem软件包失败"
fi
LOG_INFO "测试脚本执行完毕"
}
main "$@"

View File

@@ -1,63 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试 mingw32-configure 命令的 --host 参数以指定目标主机
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查环境是否已安装 mingw32-filesystem 和 mingw32-configure 软件包
LOG_INFO "检查 mingw32-filesystem 和 mingw32-configure 是否已安装"
rpm -q mingw32-filesystem mingw32-configure > /dev/null 2>&1
installed=$?
# 如果未安装,则进行安装
if [ $installed -ne 0 ]; then
LOG_INFO "软件包未安装,开始安装 mingw32-filesystem 和 mingw32-configure"
# 检查 yum 源中是否存在软件包
dnf list available mingw32-filesystem mingw32-configure > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum 源中缺少 mingw32-filesystem 或 mingw32-configure 软件包"
# 安装软件包
dnf install -y mingw32-filesystem mingw32-configure
CHECK_RESULT $? 0 0 "安装 mingw32-filesystem 和 mingw32-configure 失败"
else
LOG_INFO "软件包已安装,跳过安装步骤"
fi
# 测试 mingw32-configure 命令的 --host 参数
LOG_INFO "测试 mingw32-configure 命令的 --host 参数以指定目标主机"
# 检查 --host 参数是否存在
mingw32-configure --help 2>&1 | grep -q -- "--host"
CHECK_RESULT $? 0 255 "mingw32-configure 命令不支持 --host 参数"
# 执行 mingw32-configure 命令并指定 --host 参数
mingw32-configure --host=i686-w64-mingw32
CHECK_RESULT $? 0 0 "执行 mingw32-configure --host=i686-w64-mingw32 失败"
# 清理环境:如果之前未安装,则卸载软件包
if [ $installed -ne 0 ]; then
LOG_INFO "清理环境:卸载 mingw32-filesystem 和 mingw32-configure 软件包"
dnf remove -y mingw32-filesystem mingw32-configure
CHECK_RESULT $? 0 0 "卸载 mingw32-filesystem 和 mingw32-configure 失败"
else
LOG_INFO "环境保持安装状态,无需卸载"
fi
LOG_INFO "测试脚本执行完成"
}
main "$@"

View File

@@ -1,93 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试 mingw32-configure 命令的 LDFLAGS 环境变量或参数以指定链接器标志
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义日志函数(虽然题目说无需定义,但实际脚本中需要,这里按题意直接使用)
LOG_INFO() {
echo "[INFO] $*"
}
LOG_ERROR() {
echo "[ERROR] $*"
}
# 定义软件包名称
PACKAGE_NAME="mingw32-filesystem"
# 步骤1检查软件包是否已在yum源中
LOG_INFO "检查yum源中是否存在软件包$PACKAGE_NAME"
dnf list available $PACKAGE_NAME &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 $PACKAGE_NAME 在yum源中不存在"
exit 255
fi
# 步骤2检查当前环境是否已安装软件包
LOG_INFO "检查当前环境是否已安装软件包:$PACKAGE_NAME"
rpm -q $PACKAGE_NAME &>/dev/null
if [ $? -eq 0 ]; then
LOG_INFO "软件包 $PACKAGE_NAME 已安装,脚本结束后保持安装状态"
ALREADY_INSTALLED=1
else
LOG_INFO "软件包 $PACKAGE_NAME 未安装,将在测试过程中安装"
ALREADY_INSTALLED=0
fi
# 步骤3如果未安装则安装软件包
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "安装软件包:$PACKAGE_NAME"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 步骤4检查mingw32-configure命令是否存在
LOG_INFO "检查mingw32-configure命令是否存在"
which mingw32-configure &>/dev/null
CHECK_RESULT $? 0 0 "mingw32-configure命令不存在"
# 步骤5测试LDFLAGS环境变量
LOG_INFO "测试通过环境变量LDFLAGS指定链接器标志"
export LDFLAGS="-Wl,-O1"
mingw32-configure --help | grep -q "LDFLAGS"
CHECK_RESULT $? 0 0 "环境变量LDFLAGS不支持"
# 步骤6测试通过参数指定链接器标志
LOG_INFO "测试通过参数指定链接器标志"
mingw32-configure LDFLAGS="-Wl,-O1" --help | grep -q "LDFLAGS"
CHECK_RESULT $? 0 0 "参数LDFLAGS不支持"
# 步骤7清理环境
LOG_INFO "清理测试环境"
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "卸载软件包:$PACKAGE_NAME"
dnf remove -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "卸载软件包失败"
else
LOG_INFO "软件包 $PACKAGE_NAME 保持安装状态"
fi
# 步骤8恢复环境变量
unset LDFLAGS
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,89 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试 mingw32-configure 命令的 --prefix 参数以指定安装目录
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装 mingw32-filesystem 和 mingw32-configure
LOG_INFO "检查 mingw32-filesystem 和 mingw32-configure 是否已安装"
if dnf list installed mingw32-filesystem mingw32-configure > /dev/null 2>&1; then
LOG_INFO "mingw32-filesystem 和 mingw32-configure 已安装,测试结束后将保持安装状态"
already_installed=true
else
LOG_INFO "mingw32-filesystem 和 mingw32-configure 未安装,将在测试中安装并在测试结束后卸载"
already_installed=false
fi
# 检查 yum 源中是否有 mingw32-filesystem 和 mingw32-configure 软件包
LOG_INFO "检查 yum 源中是否有 mingw32-filesystem 和 mingw32-configure 软件包"
if ! dnf list available mingw32-filesystem mingw32-configure > /dev/null 2>&1; then
LOG_ERROR "yum 源中缺少 mingw32-filesystem 或 mingw32-configure 软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$already_installed" = false ]; then
LOG_INFO "安装 mingw32-filesystem 和 mingw32-configure 软件包"
dnf install -y mingw32-filesystem mingw32-configure
CHECK_RESULT $? 0 0 "安装 mingw32-filesystem 和 mingw32-configure 失败"
fi
# 测试 mingw32-configure 命令的 --prefix 参数
LOG_INFO "测试 mingw32-configure 命令的 --prefix 参数"
# 创建一个临时目录用于测试
test_prefix_dir=$(mktemp -d)
LOG_INFO "创建临时目录: $test_prefix_dir"
# 检查 --prefix 参数是否存在
LOG_INFO "检查 mingw32-configure 命令是否支持 --prefix 参数"
if ! mingw32-configure --help | grep -q "\-\-prefix"; then
LOG_ERROR "mingw32-configure 命令不支持 --prefix 参数"
exit 255
fi
# 执行 mingw32-configure 命令并指定 --prefix 参数
LOG_INFO "执行 mingw32-configure 命令并指定 --prefix 参数"
mingw32-configure --prefix="$test_prefix_dir"
CHECK_RESULT $? 0 0 "mingw32-configure 命令执行失败"
# 检查指定目录是否已创建
LOG_INFO "检查指定目录是否已创建"
if [ -d "$test_prefix_dir" ]; then
LOG_INFO "指定目录已成功创建: $test_prefix_dir"
else
LOG_ERROR "指定目录未创建: $test_prefix_dir"
exit 1
fi
# 清理临时目录
LOG_INFO "清理临时目录"
rm -rf "$test_prefix_dir"
CHECK_RESULT $? 0 0 "清理临时目录失败"
# 如果之前未安装,则在测试结束后卸载软件包
if [ "$already_installed" = false ]; then
LOG_INFO "卸载 mingw32-filesystem 和 mingw32-configure 软件包"
dnf remove -y mingw32-filesystem mingw32-configure
CHECK_RESULT $? 0 0 "卸载 mingw32-filesystem 和 mingw32-configure 失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,72 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试 mingw32-configure 命令的 --target 参数以指定目标系统
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装 mingw32-filesystem 和 mingw32-configure
LOG_INFO "检查是否已安装 mingw32-filesystem 和 mingw32-configure"
if dnf list installed mingw32-filesystem mingw32-configure >/dev/null 2>&1; then
LOG_INFO "mingw32-filesystem 和 mingw32-configure 已安装"
INSTALLED=1
else
LOG_INFO "mingw32-filesystem 和 mingw32-configure 未安装"
INSTALLED=0
fi
# 检查yum源中是否有 mingw32-filesystem 和 mingw32-configure 软件包
LOG_INFO "检查yum源中是否有 mingw32-filesystem 和 mingw32-configure 软件包"
if ! dnf list available mingw32-filesystem mingw32-configure >/dev/null 2>&1; then
LOG_ERROR "yum源中缺少 mingw32-filesystem 或 mingw32-configure 软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装 mingw32-filesystem 和 mingw32-configure"
dnf install -y mingw32-filesystem mingw32-configure
CHECK_RESULT $? 0 0 "安装 mingw32-filesystem 和 mingw32-configure 失败"
fi
# 测试 mingw32-configure 命令的 --target 参数
LOG_INFO "测试 mingw32-configure 命令的 --target 参数"
mingw32-configure --target=i686-w64-mingw32
CHECK_RESULT $? 0 0 "mingw32-configure --target=i686-w64-mingw32 执行失败"
# 测试不支持的 --target 参数
LOG_INFO "测试不支持的 --target 参数"
mingw32-configure --target=unsupported-target
if [ $? -eq 255 ]; then
LOG_INFO "不支持的 --target 参数正确处理"
else
LOG_ERROR "不支持的 --target 参数未正确处理"
exit 255
fi
# 清理环境:如果之前未安装,则卸载软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载 mingw32-filesystem 和 mingw32-configure"
dnf remove -y mingw32-filesystem mingw32-configure
CHECK_RESULT $? 0 0 "卸载 mingw32-filesystem 和 mingw32-configure 失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,69 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试 mingw32-configure 命令的 --version 参数以显示版本信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "检查yum源中是否存在mingw32-filesystem软件包"
dnf list mingw32-filesystem 2>/dev/null | grep -q "mingw32-filesystem"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到mingw32-filesystem软件包"
exit 255
fi
LOG_INFO "检查mingw32-configure命令是否已安装"
which mingw32-configure > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mingw32-configure命令已存在标记为已安装状态"
ALREADY_INSTALLED=1
else
LOG_INFO "mingw32-configure命令未安装标记为未安装状态"
ALREADY_INSTALLED=0
fi
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "安装mingw32-filesystem软件包"
dnf install -y mingw32-filesystem
CHECK_RESULT $? 0 0 "安装mingw32-filesystem软件包失败"
fi
LOG_INFO "检查mingw32-configure命令是否支持--version参数"
mingw32-configure --help 2>&1 | grep -q "\-\-version"
if [ $? -ne 0 ]; then
LOG_ERROR "mingw32-configure命令不支持--version参数"
exit 255
fi
LOG_INFO "执行mingw32-configure --version命令"
mingw32-configure --version
CHECK_RESULT $? 0 0 "执行mingw32-configure --version命令失败"
LOG_INFO "测试完成,开始环境恢复"
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "卸载mingw32-filesystem软件包"
dnf remove -y mingw32-filesystem
CHECK_RESULT $? 0 0 "卸载mingw32-filesystem软件包失败"
else
LOG_INFO "环境已安装,保持安装状态"
fi
LOG_INFO "环境恢复完成"
}
main "$@"

View File

@@ -1,58 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-30
# @License : Mulan PSL v2
# @Desc : 测试 mingw32-make 的 -d 参数,打印调试信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 mingw32-make 的 -d 参数,打印调试信息"
# 检查是否已安装 mingw32-make
LOG_INFO "检查 mingw32-make 是否已安装"
if ! dnf list installed mingw32-make &>/dev/null; then
LOG_INFO "mingw32-make 未安装,准备安装"
# 检查 yum 源中是否有 mingw32-make
if ! dnf list available mingw32-make &>/dev/null; then
LOG_ERROR "yum 源中未找到 mingw32-make退出测试"
exit 255
fi
# 安装 mingw32-make
dnf install -y mingw32-make
CHECK_RESULT $? 0 0 "安装 mingw32-make 失败"
INSTALLED=1
else
LOG_INFO "mingw32-make 已安装"
INSTALLED=0
fi
# 测试 -d 参数
LOG_INFO "测试 mingw32-make 的 -d 参数"
mingw32-make -d
CHECK_RESULT $? 0 0 "mingw32-make -d 执行失败"
# 清理环境
if [ $INSTALLED -eq 1 ]; then
LOG_INFO "卸载 mingw32-make"
dnf remove -y mingw32-make
CHECK_RESULT $? 0 0 "卸载 mingw32-make 失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,64 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-30
# @License : Mulan PSL v2
# @Desc : 测试 mingw32-make 的 -e 参数,环境变量覆盖 makefile
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 mingw32-make 的 -e 参数,环境变量覆盖 makefile"
# 检查是否已安装 mingw32-filesystem 和 mingw32-make
LOG_INFO "检查 mingw32-filesystem 和 mingw32-make 是否已安装"
if ! dnf list installed mingw32-filesystem &>/dev/null || ! dnf list installed mingw32-make &>/dev/null; then
LOG_INFO "未安装 mingw32-filesystem 或 mingw32-make开始安装"
# 检查 yum 源中是否有该软件包
if ! dnf list available mingw32-filesystem &>/dev/null || ! dnf list available mingw32-make &>/dev/null; then
LOG_ERROR "yum 源中未找到 mingw32-filesystem 或 mingw32-make"
exit 255
fi
dnf install -y mingw32-filesystem mingw32-make
CHECK_RESULT $? 0 0 "安装 mingw32-filesystem 或 mingw32-make 失败"
# 标记为需要卸载
NEED_UNINSTALL=1
else
LOG_INFO "mingw32-filesystem 和 mingw32-make 已安装"
NEED_UNINSTALL=0
fi
# 测试 -e 参数
LOG_INFO "测试 -e 参数,环境变量覆盖 makefile"
export TEST_VAR="test_value"
echo "all:" > Makefile
echo -e "\t@echo \$(TEST_VAR)" >> Makefile
mingw32-make -e
CHECK_RESULT $? 0 0 "mingw32-make -e 执行失败"
# 清理环境
if [ $NEED_UNINSTALL -eq 1 ]; then
LOG_INFO "卸载 mingw32-filesystem 和 mingw32-make"
dnf remove -y mingw32-filesystem mingw32-make
CHECK_RESULT $?15:03:40 0 0 "卸载 mingw32-filesystem 或 mingw32-make15:03:40 失败"15:03:40
fi
rm -f Makefile
unset TEST_VAR
LOG_INFO15:03:40 15:03:40 "测试完成"15:03:40
}
main "$@"

View File

@@ -1,57 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-30
# @License : Mulan PSL v2
# @Desc : 测试 mingw32-make 的 -f 参数,指定 makefile 文件
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 mingw32-make 的 -f 参数,指定 makefile 文件"
# 检查是否已安装 mingw32-filesystem 和 mingw32-make
LOG_INFO "检查 mingw32-filesystem 和 mingw32-make 是否已安装"
if ! dnf list installed mingw32-filesystem mingw32-make &>/dev/null; then
LOG_INFO "未安装 mingw32-filesystem 或 mingw32-make准备安装"
# 检查 yum 源中是否有该软件包
if ! dnf list available mingw32-filesystem mingw32-make &>/dev/null; then
LOG_ERROR "yum 源中未找到 mingw32-filesystem 或 mingw32-make"
exit 255
fi
# 安装软件包
dnf install -y mingw32-filesystem mingw32-make
CHECK_RESULT $? 0 0 "安装 mingw32-filesystem 或 mingw32-make 失败"
# 标记需要卸载
UNINSTALL=1
else
LOG_INFO "mingw32-filesystem 和 mingw32-make 已安装"
UNINSTALL=0
fi
# 测试 -f 参数,指定 makefile 文件
LOG_INFO "测试 -f 参数,指定 makefile 文件"
touch test_makefile.mk || exit $?
LOG_INFO "创建测试 makefile 文件 test_makefile.mk"
mingw32-make -f test_makefile.mk
CHECK_RESULT $? 0 0 "mingw32-make -f 参数测试失败"
# 清理测试文件
rm -f test_makefile.mk
CHECK_RESULT $?
}
main "$@"

View File

@@ -1,61 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-30
# @License : Mulan PSL v2
# @Desc : 测试 mingw32-make 的 -h 参数,打印帮助信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 mingw32-make 的 -h 参数,打印帮助信息"
# 检查 yum 源中是否存在 mingw32-filesystem 和 mingw32-make 软件包
LOG_INFO "检查 yum 源中是否存在 mingw32-filesystem 和 mingw32-make 软件包"
if ! dnf list available mingw32-filesystem mingw32-make &>/dev/null; then
LOG_ERROR "yum 源中不存在 mingw32-filesystem 或 mingw32-make 软件包"
exit 255
fi
# 检查是否已安装 mingw32-filesystem 和 mingw32-make
LOG_INFO "检查是否已安装 mingw32-filesystem 和 mingw32-make"
installed=false
if rpm -q mingw32-filesystem &>/dev/null && rpm -q mingw32-make &>/dev/null; then
installed=true
LOG_INFO "mingw32-filesystem 和 mingw32-make 已安装"
else
LOG_INFO "mingw32-filesystem 和 mingw32-make 未安装,将进行安装"
dnf install -y mingw32-filesystem mingw32-make
CHECK_RESULT $? 0 0 "安装 mingw32-filesystem 和 mingw32-make 失败"
fi
# 测试 -h 参数是否支持并打印帮助信息
LOG_INFO "测试 mingw32-make -h 参数是否支持并打印帮助信息"
mingw32-make -h &>/dev/null
CHECK_RESULT $? 0 0 "-h 参数不支持或执行失败"
# 清理环境
if [ "$installed" = false ]; then
LOG_INFO "清理环境,卸载已安装的软件包"
dnf remove -y mingw32-filesystem mingw32-make
CHECK_RESULT $?10"卸载失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,73 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-30
# @License : Mulan PSL v2
# @Desc : 测试 mingw32-make 的 -i 参数,忽略错误继续执行
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 mingw32-make 的 -i 参数,忽略错误继续执行"
# 检查是否已安装 mingw32-filesystem 和 mingw32-make
LOG_INFO "检查是否已安装 mingw32-filesystem 和 mingw32-make"
if ! dnf list installed mingw32-filesystem mingw32-make &>/dev/null; then
LOG_INFO "未安装 mingw32-filesystem 或 mingw32-make开始安装"
# 检查 yum 源中是否有软件包
if ! dnf list available mingw32-filesystem mingw32-make &>/dev/null; then
LOG_ERROR "yum 源中未找到 mingw32-filesystem 或 mingw32-make 软件包"
exit 255
fi
# 安装软件包
dnf install -y mingw32-filesystem mingw32-make
CHECK_RESULT $? 0 0 "安装 mingw32-filesystem 或 mingw32-make 失败"
# 标记需要卸载
NEED_UNINSTALL=1
else
LOG_INFO "mingw32-filesystem 和 mingw32-make 已安装"
NEED_UNINSTALL=0
fi
# 测试 -i 参数
LOG_INFO "测试 -i 参数,忽略错误继续执行"
#创建一个临时 Makefile 文件
cat > test_makefile <<EOF
all:
@echo "Step1"
false
@echo "Step2"
EOF
#使用 -i参数运行 make命令
mingw32-make -i -f test_makefile
CHECK_RESULT $? 0 0 "mingw32-make -i 参数测试失败"
#清理临时文件
rm -f test_makefile
# 恢复环境
if [ $NEED_UNINSTALL -eq 1 ]; then
LOG_INFO "卸载 mingW_相关软件包"
dnf remove -y MingW*
fi
LOG_INFO “测试完成”
exit 0
}
main "$@"

View File

@@ -1,63 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-11
# @License : Mulan PSL v2
# @Desc : 测试并行作业
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查软件包是否已安装
if dnf list installed mingw32-filesystem mingw32-make &>/dev/null; then
LOG_INFO "软件包 mingw32-filesystem 和 mingw32-make 已安装"
INSTALLED=true
else
LOG_INFO "软件包 mingw32-filesystem 和 mingw32-make 未安装"
INSTALLED=false
fi
# 检查yum源中是否有软件包
LOG_INFO "检查yum源中是否有软件包 mingw32-filesystem 和 mingw32-make"
if ! dnf list available mingw32-filesystem mingw32-make &>/dev/null; then
LOG_ERROR "yum源中没有找到软件包 mingw32-filesystem 或 mingw32-make"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装软件包 mingw32-filesystem 和 mingw32-make"
dnf install -y mingw32-filesystem mingw32-make
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 测试并行作业功能
LOG_INFO "测试并行作业功能"
make -j test_mingw32-filesystem_mingw32-make__j
CHECK_RESULT $? 0 0 "并行作业测试失败"
# 如果脚本开始时未安装软件包,则在结束时卸载
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载临时安装的软件包"
dnf remove -y mingw32-filesystem mingw32-make
CHECK_RESULT $? 0 0 "卸载软件包失败"
fi
LOG_INFO "测试脚本执行完毕,环境已恢复"
}
main "$@"

View File

@@ -1,62 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-30
# @License : Mulan PSL v2
# @Desc : 测试 mingw32-make 的 -j N 参数,指定并行任务数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mingw32-filesystem和mingw32-make
LOG_INFO "检查是否已安装mingw32-filesystem和mingw32-make"
if ! dnf list installed mingw32-filesystem mingw32-make &>/dev/null; then
LOG_INFO "环境未安装,将进行安装"
# 检查yum源中是否有软件包
LOG_INFO "检查yum源中是否有mingw32-filesystem和mingw32-make"
if ! dnf list available mingw32-filesystem mingw32-make &>/dev/null; then
LOG_ERROR "yum源中缺少必要的软件包"
exit 255
fi
# 安装软件包
LOG_INFO "安装mingw32-filesystem和mingw32-make"
dnf install -y mingw32-filesystem mingw32-make
CHECK_RESULT $? 0 0 "安装软件包失败"
# 标记需要卸载
NEED_UNINSTALL=1
else
LOG_INFO "环境已安装,无需重复安装"
fi
# 测试-j N参数
LOG_INFO "测试mingw32-make的-j N参数"
LOG_INFO "执行命令mingw32-make -j 4"
mingw32-make -j 4
CHECK_RESULT $? 0 0 "-j参数不支持或执行失败"
# 清理环境
if [ "$NEED_UNINSTALL" -eq 1 ]; then
LOG_INFO "卸载mingw32-filesystem和mingw32-make"
dnf remove -y mingw32-filesystem mingw32-make
CHECK_RESULT $? 0 0 "卸载软件包失败"
fi
LOG_INFO "测试脚本执行完毕"
}
main "$@"

View File

@@ -1,77 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-30
# @License : Mulan PSL v2
# @Desc : 测试 mingw32-make 的 -k 参数,即使有错误也继续执行目标构建
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 mingw32-make 的 -k 参数功能"
# 检查软件包是否已安装
LOG_INFO "检查 mingw32-filesystem 和 mingw32-make 是否已安装"
if ! dnf list installed mingw32-filesystem mingw32-make &>/dev/null; then
LOG_INFO "软件包未安装,准备安装"
# 检查yum源中是否有该软件包
if ! dnf list available mingw32-filesystem mingw32-make &>/dev/null; then
LOG_ERROR "yum源中未找到 mingw32-filesystem 或 mingw32-make"
exit 255
fi
# 安装软件包
dnf install -y mingw32-filesystem mingw32-make
CHECK_RESULT $? 0 0 "安装 mingw32-filesystem 和 mingw32-make 失败"
# 标记为需要卸载
NEED_UNINSTALL=1
else
LOG_INFO "软件包已安装,无需操作"
NEED_UNINSTALL=0
fi
# 测试 -k 参数功能
LOG_INFO "测试 mingw32-make -k 参数功能"
# 创建一个临时目录用于测试
TEST_DIR=$(mktemp -d)
cd "$TEST_DIR" || exit 1
# 创建一个简单的Makefile其中包含一个会失败的目标和一个会成功的目标
cat > Makefile << "EOF"
fail_target:
false
success_target:
true
EOF
# 执行 mingw32-make -k预期即使有错误也继续执行
mingw32-make -k fail_target success_target
CHECK_RESULT $? 0 0 "mingw32-make -k 未按预期工作"
#清理临时目录
cd - || exit 1
rm -rf "$TEST_DIR"
# 根据安装状态决定是否卸载
if [ "$NEED_UNINSTALL" -eq 1 ]; then
LOG_INFO "卸载 mingw32-filesystem 和 mingw32-make"
dnf remove -y mingw32-filesystem mingw32-make
CHECK_RESULT $?2 0 0 "卸载 mingW3232-filesystem和mingW3232-make失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,76 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-11
# @License : Mulan PSL v2
# @Desc : 测试负载限制
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试负载限制脚本
LOG_INFO "开始测试负载限制"
# 检查是否已安装mingw32-filesystem和mingw32-make
LOG_INFO "检查mingw32-filesystem和mingw32-make是否已安装"
dnf list installed mingw32-filesystem mingw32-make > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mingw32-filesystem和mingw32-make已安装跳过安装步骤"
INSTALLED=true
else
LOG_INFO "mingw32-filesystem和mingw32-make未安装准备安装"
INSTALLED=false
fi
# 检查yum源中是否有软件包
LOG_INFO "检查yum源中是否有mingw32-filesystem和mingw32-make"
dnf list available mingw32-filesystem mingw32-make > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中没有mingw32-filesystem或mingw32-make软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中没有mingw32-filesystem或mingw32-make软件包"
exit 255
fi
# 安装软件包(如果未安装)
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装mingw32-filesystem和mingw32-make"
dnf install -y mingw32-filesystem mingw32-make > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装mingw32-filesystem和mingw32-make失败"
fi
# 测试负载限制功能
LOG_INFO "测试负载限制功能"
make --load-average=1.0 > /dev/null 2>&1
CHECK_RESULT $? 0 0 "负载限制功能测试失败"
# 检查参数是否支持
LOG_INFO "检查--load-average参数是否支持"
make --load-average=1.0 > /dev/null 2>&1 || {
LOG_ERROR "--load-average参数不支持"
exit 255
}
# 清理环境(如果之前未安装)
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载mingw32-filesystem和mingw32-make"
dnf remove -y mingw32-filesystem mingw32-make > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载minggW320filesystem和minggW320make失败"
fi
LOG_INFO_END "测试负载限制完成"
}
main "$@"

View File

@@ -1,66 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-30
# @License : Mulan PSL v2
# @Desc : 测试 mingw32-make 的 -n 参数,仅打印命令不实际执行
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 mingw32-make 的 -n 参数功能,仅打印命令不实际执行"
# 检查是否已安装 mingw32-filesystem 和 mingw32-make
LOG_INFO "检查是否已安装 mingw32-filesystem 和 mingw32-make"
dnf list installed mingw32-filesystem mingw32-make > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mingw32-filesystem 和 mingw32-make 已安装,测试完成后将保持安装状态"
INSTALLED=true
else
LOG_INFO "mingw32-filesystem 和 mingw32-make 未安装,将在测试完成后卸载"
INSTALLED=false
fi
# 检查 yum 源中是否存在软件包
LOG_INFO "检查 yum 源中是否存在 mingw32-filesystem 和 mingw32-make"
dnf list available mingw32-filesystem mingw32-make > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum 源中不存在 mingw32-filesystem 或 mingw32-make退出测试"
exit 255
fi
# 如果未安装则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装 mingw32-filesystem 和 mingw32-make"
dnf install -y mingw32-filesystem mingw32-make > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装 mingw32-filesystem 和 mingw32-make失败"
fi
# 测试 mingw32-make -n 参数
LOG_INFO "测试ming w3m2-mak e -n 参数,仅打印命令不实际执行"
ming w3m2-mak e -n > /dev/null 2>&1
CHECK_RESULT $? 0 0 "-n参数不支持或无效"
#清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO"清理环境,卸载 ming w3m2-fil esystem an d ming w3m2-ma ke "
dnf remove-y min gw32-fi lesystem min gw3ma ke >/de v/nul l 21> &1
CHECK_RESULT$ ?00"卸载 ming w3m2-fil esyste man d ming w3m2-ma ke失败"
fi
LOG_INFO"测试完成"
}
main "$@"

View File

@@ -1,105 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-11
# @License : Mulan PSL v2
# @Desc : 测试将文件视为旧文件
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查yum源中是否存在指定的软件包
check_package_existence() {
LOG_INFO "检查yum源中是否存在软件包: $1"
if ! dnf list available "$1" &>/dev/null; then
LOG_ERROR "yum源中不存在软件包: $1"
exit 255
fi
}
# 检查命令参数是否支持
check_command_option() {
LOG_INFO "检查命令参数是否支持: $1 $2"
if ! "$1" --help | grep -q "$2"; then
LOG_ERROR "命令参数不支持: $1 $2"
exit 255
fi
}
# 安装软件包
install_package() {
LOG_INFO "安装软件包: $1"
dnf install -y "$1"
CHECK_RESULT $? 0 0 "安装软件包失败: $1"
}
# 卸载软件包
uninstall_package() {
LOG_INFO "卸载软件包: $1"
dnf remove -y "$1"
CHECK_RESULT $? 0 0 "卸载软件包失败: $1"
}
# 检查环境是否已安装软件包
check_installed() {
LOG_INFO "检查环境是否已安装软件包: mingw32-filesystem mingw32-make"
if rpm -q mingw32-filesystem &>/dev/null && rpm -q mingw32-make &>/dev/null; then
LOG_INFO "环境已安装所需软件包,脚本结束时将保持安装状态"
return 0
else
LOG_INFO "环境未安装所需软件包,脚本结束前将卸载已安装的软件包"
return 1
fi
}
# 主函数执行测试步骤
main() {
LOG_INFO "开始测试:测试将文件视为旧文件"
# 检查yum源中是否存在所需软件包并验证参数
check_package_existence mingw32-filesystem
check_package_existence mingw32-make
# 检查环境是否已安装软件包
local installed=false
if check_installed; then
installed=true
else
install_package mingw32-filesystem
install_package mingw32-make
fi
# 测试步骤:将文件视为旧文件(示例)
LOG_INFO "执行测试步骤:将文件视为旧文件"
# SSH到第二个服务器执行命令示例
SSH_CMD "ls" "$NODE2_IPV4" "$NODE2_PASSWORD" "$NODE2_USER"
CHECK_RESULT $?
#根据初始状态决定是否卸载
if ! $installed; then
uninstall_package mingw32-filesystem
uninstall_package mingw32-make
fi
}
main "$@"
}
main "$@"

View File

@@ -1,73 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试打印make内部数据库的选项
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 判断是否已安装mingw32-filesystem和mingw32-make
LOG_INFO "检查是否已安装mingw32-filesystem和mingw32-make"
rpm -q mingw32-filesystem mingw32-make > /dev/null 2>&1
if [ $? -eq 0 ]; then
INSTALLED=true
LOG_INFO "检测到软件包已安装,脚本结束后将保持安装状态"
else
INSTALLED=false
LOG_INFO "软件包未安装,将在测试过程中安装并在结束后卸载"
fi
# 检查yum源中是否存在mingw32-filesystem和mingw32-make软件包
LOG_INFO "检查yum源中是否存在mingw32-filesystem和mingw32-make软件包"
dnf list available mingw32-filesystem mingw32-make > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中不存在mingw32-filesystem或mingw32-make软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在mingw32-filesystem或mingw32-make软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装mingw32-filesystem和mingw32-make软件包"
dnf install -y mingw32-filesystem mingw32-make
CHECK_RESULT $? 0 0 "安装mingw32-filesystem和mingw32-make软件包失败"
fi
# 测试打印make内部数据库的选项
LOG_INFO "测试打印make内部数据库的选项"
mingw32-make -p > /dev/null 2>&1
CHECK_RESULT $? 0 0 "执行mingw32-make -p命令失败"
# 测试指定不支持的参数
LOG_INFO "测试指定不支持的参数"
mingw32-make --unsupported-option > /dev/null 2>&1
if [ $? -eq 255 ]; then
LOG_ERROR "参数不存在或不支持"
exit 255
fi
# 清理环境,如果脚本开始时未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载mingw32-filesystem和mingw32-make软件包"
dnf remove -y mingw32-filesystem mingw32-make
CHECK_RESULT $? 0 0 "卸载mingw32-filesystem和mingw32-make软件包失败"
fi
LOG_INFO "测试脚本执行完成"
}
main "$@"

View File

@@ -1,64 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试不运行配方仅检查目标是否最新的选项
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试不运行配方仅检查目标是否最新的选项"
# 检查是否已安装 mingw32-filesystem 和 mingw32-make
LOG_INFO "检查是否已安装 mingw32-filesystem 和 mingw32-make"
if dnf list installed mingw32-filesystem mingw32-make &>/dev/null; then
LOG_INFO "软件包已安装,测试结束后保持安装状态"
INSTALLED=true
else
LOG_INFO "软件包未安装,将在测试过程中安装"
INSTALLED=false
fi
# 检查yum源中是否有mingw32-filesystem和mingw32-make
LOG_INFO "检查yum源中是否有mingw32-filesystem和mingw32-make"
if ! dnf list available mingw32-filesystem mingw32-make &>/dev/null; then
LOG_ERROR "yum源中缺少mingw32-filesystem或mingw32-make"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装mingw32-filesystem和mingw32-make"
dnf install -y mingw32-filesystem mingw32-make
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 测试不运行配方仅检查目标是否最新的选项
LOG_INFO "测试mingw32-make的-q选项不运行配方仅检查目标是否最新"
mingw32-make -q
CHECK_RESULT $? 0 1 "mingw32-make -q 命令执行失败或返回了意外的退出码"
# 清理环境:如果测试前未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载mingw32-filesystem和mingw32-make"
dnf remove -y mingw32-filesystem mingw32-make
CHECK_RESULT $? 0 0 "卸载软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,72 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试禁用内置隐式规则的选项
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:测试禁用内置隐式规则的选项"
# 检查是否已安装 mingw32-filesystem 和 mingw32-make
LOG_INFO "检查 mingw32-filesystem 和 mingw32-make 是否已安装"
rpm -q mingw32-filesystem mingw32-make > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mingw32-filesystem 和 mingw32-make 已安装"
INSTALLED=1
else
LOG_INFO "mingw32-filesystem 和 mingw32-make 未安装"
INSTALLED=0
fi
# 如果未安装,则进行安装
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "检查 yum 源中是否存在 mingw32-filesystem 和 mingw32-make"
dnf list available mingw32-filesystem mingw32-make > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum 源中缺少 mingw32-filesystem 或 mingw32-make"
if [ $? -ne 0 ]; then
LOG_ERROR "yum 源中缺少 mingw32-filesystem 或 mingw32-make"
exit 255
fi
LOG_INFO "安装 mingw32-filesystem 和 mingw32-make"
dnf install -y mingw32-filesystem mingw32-make
CHECK_RESULT $? 0 0 "安装 mingw32-filesystem 和 mingw32-make 失败"
fi
# 测试禁用内置隐式规则的选项
LOG_INFO "测试 mingw32-make 的 -r 选项(禁用内置隐式规则)"
mingw32-make -r --version > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "mingw32-make 不支持 -r 选项"
exit 255
fi
CHECK_RESULT $? 0 0 "mingw32-make -r 选项测试失败"
# 清理环境:如果测试前未安装,则在测试后卸载
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载 mingw32-filesystem 和 mingw32-make"
dnf remove -y mingw32-filesystem mingw32-make
CHECK_RESULT $? 0 0 "卸载 mingw32-filesystem 和 mingw32-make 失败"
else
LOG_INFO "测试前已安装,保持 mingw32-filesystem 和 mingw32-make 的安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,72 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试不回应配方的静默执行选项
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 判断环境是否已安装指定软件包
LOG_INFO "检查是否已安装 mingw32-filesystem 和 mingw32-make 软件包"
rpm -q mingw32-filesystem mingw32-make > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "软件包已安装,标记为已安装状态"
INSTALLED=1
else
LOG_INFO "软件包未安装,标记为未安装状态"
INSTALLED=0
fi
# 检查yum源中是否存在指定的软件包
LOG_INFO "检查yum源中是否存在 mingw32-filesystem 和 mingw32-make 软件包"
dnf list available mingw32-filesystem mingw32-make > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中不存在指定的软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在 mingw32-filesystem 或 mingw32-make 软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装 mingw32-filesystem 和 mingw32-make 软件包"
dnf install -y mingw32-filesystem mingw32-make
CHECK_RESULT $? 0 0 "安装软件包失败"
LOG_INFO "软件包安装成功"
fi
# 测试不回应配方的静默执行选项
LOG_INFO "测试 mingw32-make 的静默执行选项 -s"
mingw32-make -s --version > /dev/null 2>&1
CHECK_RESULT $? 0 0 "mingw32-make 不支持 -s 参数"
if [ $? -ne 0 ]; then
LOG_ERROR "mingw32-make 命令不支持 -s 参数"
exit 255
fi
LOG_INFO "mingw32-make 支持 -s 参数,测试通过"
# 清理环境:如果脚本开始时未安装,则卸载软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始卸载 mingw32-filesystem 和 mingw32-make 软件包"
dnf remove -y mingw32-filesystem mingw32-make
CHECK_RESULT $? 0 0 "卸载软件包失败"
LOG_INFO "软件包卸载成功,环境已恢复"
else
LOG_INFO "环境已安装软件包,保持安装状态"
fi
}
main "$@"

View File

@@ -1,97 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试触摸目标文件而非重新构建的选项
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "测试触摸目标文件而非重新构建的选项"
# 定义软件包名称
PACKAGE_NAME="mingw32-filesystem mingw32-make"
# 检查软件包是否已在yum源中
LOG_INFO "检查yum源中是否存在软件包: $PACKAGE_NAME"
for pkg in $PACKAGE_NAME; do
dnf list available "$pkg" &> /dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 $pkg 在yum源中不存在"
exit 255
fi
done
# 检查环境是否已安装软件包
LOG_INFO "检查环境是否已安装软件包"
installed=0
for pkg in $PACKAGE_NAME; do
rpm -q "$pkg" &> /dev/null
if [ $? -eq 0 ]; then
installed=1
break
fi
done
# 如果未安装,则安装软件包
if [ $installed -eq 0 ]; then
LOG_INFO "安装软件包: $PACKAGE_NAME"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 测试触摸目标文件而非重新构建的选项
LOG_INFO "创建一个简单的Makefile用于测试"
cat > test_makefile << "EOF"
all: target
target:
@echo "Building target..."
touch target
EOF
LOG_INFO "首次执行make命令构建目标"
make -f test_makefile
CHECK_RESULT $? 0 0 "首次make执行失败"
LOG_INFO "触摸源文件以测试make的-t选项"
touch test_makefile
LOG_INFO "使用make -t命令触摸目标文件而非重新构建"
make -t -f test_makefile
CHECK_RESULT $? 0 0 "make -t执行失败"
LOG_INFO "验证目标文件时间戳是否更新"
if [ test_makefile -nt target ]; then
LOG_ERROR "目标文件时间戳未正确更新"
exit 1
fi
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f test_makefile target
# 如果脚本开始时未安装软件包,则在结束时卸载
if [ $installed -eq 0 ]; then
LOG_INFO "卸载软件包: $PACKAGE_NAME"
dnf remove -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "卸载软件包失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,59 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-30
# @License : Mulan PSL v2
# @Desc : 测试 mingw32-make 的 -B 参数,无条件构建所有目标
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 mingw32-make 的 -B 参数,无条件构建所有目标"
# 检查是否已安装 mingw32-filesystem 和 mingw32-make
LOG_INFO "检查 mingw32-filesystem 和 mingw32-make 是否已安装"
if ! dnf list installed mingw32-filesystem &>/dev/null || ! dnf list installed mingw32-make &>/dev/null; then
LOG_INFO "环境未安装,准备安装 mingw32-filesystem 和 mingw32-make"
# 检查 yum 源中是否有该软件包
if ! dnf list available mingw32-filesystem &>/dev/null || ! dnf list available mingw32-make &>/dev/null; then
LOG_ERROR "yum 源中未找到 mingw32-filesystem 或 mingw32-make"
exit 255
fi
# 安装软件包
dnf install -y mingw32-filesystem mingw32-make
CHECK_RESULT $? 0 0 "安装 mingw32-filesystem 和 mingw32-make 失败"
# 标记需要卸载
NEED_UNINSTALL=1
else
LOG_INFO "环境已安装,无需重复安装"
NEED_UNINSTALL=0
fi
# 测试 mingw32-make -B 参数
LOG_INFO "测试 mingw32-make 的 -B 参数"
mingw32-make -B
CHECK_RESULT $? 0 0 "mingw32-make -B 执行失败"
# 清理环境
if [ $NEED_UNINSTALL -eq 1 ]; then
LOG_INFO "清理环境,卸载 mingw32-filesystem 和 mingw32-make"
dnf remove -y mingw32-filesystem mingw32-make
CHECK_RESULT $? 0 0 "卸载 mingw32-filesystem 和 mingw32-make失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,75 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-30
# @License : Mulan PSL v2
# @Desc : 测试 mingw32-make 的 -C 参数,指定目录后执行构建
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mingw32-filesystem和mingw32-make
LOG_INFO "检查是否已安装mingw32-filesystem和mingw32-make"
rpm -q mingw32-filesystem mingw32-make > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "软件包已安装,脚本结束时将保持安装状态"
INSTALLED=1
else
LOG_INFO "软件包未安装,将在测试结束后卸载"
INSTALLED=0
fi
# 检查yum源中是否有mingw32-filesystem和mingw32-make
LOG_INFO "检查yum源中是否有mingw32-filesystem和mingw32-make"
dnf list available mingw32-filesystem mingw32-make > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到mingw32-filesystem或mingw32-make"
exit 255
fi
# 安装软件包(如果未安装)
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装mingw32-filesystem和mingw32-make"
dnf install -y mingw32-filesystem mingw32-make
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 测试-C参数
LOG_INFO "测试-C参数指定目录后执行构建"
mkdir -p test_build_dir && echo "all:" > test_build_dir/Makefile && echo -e "\t@echo \"Build successful\"" >> test_build_dir/Makefile
CHECK_RESULT $? 0 0 "创建测试目录和Makefile失败"
# 执行构建命令
LOG_INFO "执行mingw32-make -C test_build_dir"
mingw32-make -C test_build_dir > /dev/null 2>&1
CHECK_RESULT $? 0 0 "执行构建命令失败"
# 清理测试目录
LOG_INFO "清理测试目录"
rm -rf test_build_dir
# 卸载软件包(如果脚本开始时未安装)
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载mingw32-filesystem和mingw32-make"
dnf remove -y mingw32-filesystem mingw32-make
CHECK_RESULT $? 0 0 "卸载软件包失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,70 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-11
# @License : Mulan PSL v2
# @Desc : 测试将字符串作为makefile语句执行
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试测试将字符串作为makefile语句执行"
# 检查是否已安装 mingw32-filesystem 和 mingw32-make
LOG_INFO "检查是否已安装 mingw32-filesystem 和 mingw32-make"
if rpm -q mingw32-filesystem mingw32-make &>/dev/null; then
LOG_INFO "软件包已安装,脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "软件包未安装,将在测试结束后卸载"
INSTALLED=false
fi
# 检查yum源中是否存在软件包
LOG_INFO "检查yum源中是否存在 mingw32-filesystem 和 mingw32-make"
if ! dnf list available mingw32-filesystem mingw32-make &>/dev/null; then
LOG_ERROR "yum源中不存在所需软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装 mingw32-filesystem 和 mingw32-make"
dnf install -y mingw32-filesystem mingw32-make
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 测试将字符串作为makefile语句执行
LOG_INFO "测试将字符串作为makefile语句执行"
TEST_STRING="all:\n\t@echo \"Hello, World!\""
echo -e "$TEST_STRING" > test.mk
mingw32-make -f test.mk
CHECK_RESULT $? 0 0 "执行makefile语句失败"
# 清理临时文件
rm -f test.mk
# 如果之前未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载 mingw32-filesystem 和 mingw32-make"
dnf remove -y mingw32-filesystem mingw32-make
CHECK_RESULT $? 0 0 "卸载软件包失败"
fi
LOG_INFO "测试完成测试将字符串作为makefile语句执行"
}
main "$@"

View File

@@ -1,60 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-11
# @License : Mulan PSL v2
# @Desc : 测试包含目录
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查环境是否已安装指定软件包
LOG_INFO "检查是否已安装 mingw32-filesystem 和 mingw32-make"
if dnf list installed mingw32-filesystem mingw32-make &>/dev/null; then
LOG_INFO "软件包已安装,脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "软件包未安装,将在测试步骤中安装"
INSTALLED=false
fi
# 检查yum源中是否存在指定软件包
LOG_INFO "检查yum源中是否存在 mingw32-filesystem 和 mingw32-make"
if ! dnf list available mingw32-filesystem mingw32-make &>/dev/null; then
LOG_ERROR "yum源中不存在指定软件包"
exit 255
fi
# 安装软件包(如果未安装)
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装 mingw32-filesystem 和 mingw32-make"
dnf install -y mingw32-filesystem mingw32-make
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 测试包含目录功能
LOG_INFO "测试包含目录功能"
ls /usr/i686-w64-mingw32/sys-root/mingw/
CHECK_RESULT $? 0 0 "目录 /usr/i686-w64-mingw32/sys-root/mingw/ 不存在或无法访问"
# 清理环境(如果之前未安装)
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载 mingw32-filesystem 和 mingw32-make"
dnf remove -y mingw32-filesystem mingw32-make
CHECK_RESULT $? 0 0 "卸载软件包失败"
fi
}
main "$@"

View File

@@ -1,68 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-11
# @License : Mulan PSL v2
# @Desc : 测试检查符号链接时间
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查符号链接时间测试脚本
LOG_INFO "开始测试:检查符号链接时间"
# 检查是否已安装mingw32-filesystem和mingw32-make__upper_l
LOG_INFO "检查是否已安装mingw32-filesystem和mingw32-make__upper_l"
if rpm -q mingw32-filesystem mingw32-make__upper_l &>/dev/null; then
LOG_INFO "软件包已安装,测试结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "软件包未安装,测试结束后将卸载软件包"
INSTALLED=false
fi
# 检查yum源中是否有mingw32-filesystem和mingw32-make__upper_l
LOG_INFO "检查yum源中是否有mingw32-filesystem和mingw32-make__upper_l"
if ! dnf list available mingw32-filesystem mingw32-make__upper_l &>/dev/null; then
LOG_ERROR "yum源中缺少必要的软件包"
exit 255
fi
# 安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装mingw32-filesystem和mingw32-make__upper_l"
dnf install -y mingw32-filesystem mingw32-make__upper_l
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 检查符号链接时间
LOG_INFO "检查符号链接时间"
ls -l /usr/i686-w64-mingw32/sys-root/mingw/bin | grep -q "mingw32-make__upper_l"
CHECK_RESULT $? 0 0 "符号链接检查失败"
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载mingw32-filesystem和mingw32-make__upper_l"
dnf remove -y mingw32-filesystem mingw32-make__upper_l
CHECK_RESULT $? 0 0 "卸载软件包失败"
fi
LOG_INFO "测试完成:检查符号链接时间"
}
main "$@"

View File

@@ -1,63 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试同步并行作业输出的选项
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试同步并行作业输出的选项"
LOG_INFO "检查yum源中是否存在mingw32-filesystem和mingw32-make软件包"
dnf list available mingw32-filesystem mingw32-make > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在mingw32-filesystem或mingw32-make软件包"
exit 255
fi
LOG_INFO "检查mingw32-filesystem和mingw32-make是否已安装"
rpm -q mingw32-filesystem mingw32-make > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mingw32-filesystem和mingw32-make已安装测试结束后保持安装状态"
ALREADY_INSTALLED=1
else
LOG_INFO "mingw32-filesystem和mingw32-make未安装开始安装软件包"
dnf install -y mingw32-filesystem mingw32-make
CHECK_RESULT $? 0 0 "安装mingw32-filesystem和mingw32-make失败"
ALREADY_INSTALLED=0
fi
LOG_INFO "测试mingw32-make的-j选项同步并行作业输出"
mingw32-make -j 4 --help > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "mingw32-make支持-j选项"
else
LOG_ERROR "mingw32-make不支持-j选项"
exit 255
fi
LOG_INFO "执行mingw32-make -j 4命令测试并行作业输出"
mingw32-make -j 4
CHECK_RESULT $? 0 0 "mingw32-make -j 4执行失败"
LOG_INFO "清理环境"
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "卸载测试安装的mingw32-filesystem和mingw32-make软件包"
dnf remove -y mingw32-filesystem mingw32-make
CHECK_RESULT $? 0 0 "卸载mingw32-filesystem和mingw32-make失败"
else
LOG_INFO "保持mingw32-filesystem和mingw32-make的安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,74 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试禁用内置变量设置的选项
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试禁用内置变量设置的选项"
LOG_INFO "检查yum源中是否存在mingw32-filesystem和mingw32-make软件包"
dnf list mingw32-filesystem mingw32-make > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到mingw32-filesystem或mingw32-make软件包"
exit 255
fi
LOG_INFO "检查当前环境中是否已安装mingw32-filesystem和mingw32-make软件包"
rpm -q mingw32-filesystem mingw32-make > /dev/null 2>&1
if [ $? -eq 0 ]; then
already_installed=1
LOG_INFO "软件包已安装,脚本结束后将保持安装状态"
else
already_installed=0
LOG_INFO "软件包未安装,将在测试过程中安装并在结束后卸载"
fi
if [ $already_installed -eq 0 ]; then
LOG_INFO "安装mingw32-filesystem和mingw32-make软件包"
dnf install -y mingw32-filesystem mingw32-make
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
LOG_INFO "检查mingw32-make命令是否支持--no-builtin-variables选项"
mingw32-make --help 2>&1 | grep -q -- "--no-builtin-variables"
if [ $? -ne 0 ]; then
LOG_ERROR "mingw32-make命令不支持--no-builtin-variables选项"
exit 255
fi
LOG_INFO "测试mingw32-make禁用内置变量设置选项"
cat > test_makefile << EOF
all:
echo "Testing no builtin variables"
EOF
mingw32-make --no-builtin-variables -f test_makefile
CHECK_RESULT $? 0 0 "禁用内置变量设置选项测试失败"
LOG_INFO "清理测试文件"
rm -f test_makefile
if [ $already_installed -eq 0 ]; then
LOG_INFO "卸载测试过程中安装的软件包"
dnf remove -y mingw32-filesystem mingw32-make
CHECK_RESULT $? 0 0 "卸载软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,99 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试关闭-k选项停止继续执行的选项
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试关闭-k选项停止继续执行的选项"
# 检查yum源中是否有指定软件包
LOG_INFO "检查yum源中是否有mingw32-filesystem和mingw32-make软件包"
if ! dnf list available mingw32-filesystem mingw32-make &>/dev/null; then
LOG_ERROR "yum源中缺少mingw32-filesystem或mingw32-make软件包"
exit 255
fi
# 检查当前环境是否已安装软件包
LOG_INFO "检查当前环境是否已安装mingw32-filesystem和mingw32-make软件包"
if rpm -q mingw32-filesystem mingw32-make &>/dev/null; then
LOG_INFO "软件包已安装,标记为已存在安装"
already_installed=true
else
LOG_INFO "软件包未安装,将在测试过程中安装"
already_installed=false
fi
# 如果未安装,则安装软件包
if [ "$already_installed" = false ]; then
LOG_INFO "安装mingw32-filesystem和mingw32-make软件包"
dnf install -y mingw32-filesystem mingw32-make
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 测试关闭-k选项
LOG_INFO "测试mingw32-make命令的-k选项"
# 模拟一个简单的Makefile用于测试
cat > test_makefile << "EOF"
all: target1 target2 target3
target1:
@echo "Building target1"
false # 模拟失败
target2:
@echo "Building target2"
target3:
@echo "Building target3"
EOF
LOG_INFO "执行mingw32-make -k测试默认开启-k选项"
mingw32-make -f test_makefile
make_default_result=$?
LOG_INFO "执行mingw32-make -k测试关闭-k选项"
mingw32-make -k -f test_makefile
make_k_option_result=$?
# 检查-k选项的行为差异
LOG_INFO "检查-k选项的行为"
if [ $make_default_result -eq 0 ] && [ $make_k_option_result -ne 0 ]; then
LOG_INFO "-k选项测试通过开启-k时继续执行关闭-k时停止执行"
else
LOG_ERROR "-k选项测试失败行为不符合预期"
CHECK_RESULT 1 0 0 "-k选项测试失败"
fi
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f test_makefile
# 如果测试开始时未安装软件包,则在测试结束后卸载
if [ "$already_installed" = false ]; then
LOG_INFO "卸载测试安装的软件包"
dnf remove -y mingw32-filesystem mingw32-make
CHECK_RESULT $? 0 0 "卸载软件包失败"
else
LOG_INFO "保持软件包安装状态"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,66 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试将文件视为无限新的选项
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:测试将文件视为无限新的选项"
LOG_INFO "步骤1检查是否已安装 mingw32-filesystem 和 mingw32-make 软件包"
rpm -q mingw32-filesystem mingw32-make > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "软件包已安装,标记为已安装状态"
INSTALLED=true
else
LOG_INFO "软件包未安装,标记为未安装状态"
INSTALLED=false
fi
LOG_INFO "步骤2检查yum源中是否有 mingw32-filesystem 和 mingw32-make 软件包"
dnf list available mingw32-filesystem mingw32-make > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中没有找到 mingw32-filesystem 或 mingw32-make 软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中没有找到 mingw32-filesystem 或 mingw32-make 软件包"
exit 255
fi
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "步骤3安装 mingw32-filesystem 和 mingw32-make 软件包"
dnf install -y mingw32-filesystem mingw32-make
CHECK_RESULT $? 0 0 "安装 mingw32-filesystem 或 mingw32-make 失败"
fi
LOG_INFO "步骤4测试将文件视为无限新的选项"
touch testfile.txt
mingw32-make --assume-new=testfile.txt
CHECK_RESULT $? 0 0 "mingw32-make 命令执行失败或参数 --assume-new 不支持"
LOG_INFO "步骤5检查命令执行结果"
if [ -f testfile.txt ]; then
LOG_INFO "测试文件存在,测试通过"
else
LOG_ERROR "测试文件不存在,测试失败"
exit 1
fi
LOG_INFO "步骤6清理测试环境"
rm -f testfile.txt
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "步骤7卸载 mingw32-filesystem 和 mingw32-make 软件包"
dnf remove -y mingw32-filesystem mingw32-make
CHECK_RESULT $? 0 0 "卸载 mingw32-filesystem 或 mingw32-make 失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,66 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试打印make版本号并退出的选项
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义测试用的软件包名称
PACKAGE_NAME="mingw32-filesystem"
MAKE_PACKAGE="mingw32-make"
# 步骤1: 检查yum源中是否存在指定的软件包
LOG_INFO "检查yum源中是否存在软件包: ${PACKAGE_NAME}${MAKE_PACKAGE}"
dnf list available ${PACKAGE_NAME} ${MAKE_PACKAGE} > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中不存在指定的软件包"
# 步骤2: 检查当前环境中是否已经安装了指定的软件包
LOG_INFO "检查当前环境中是否已经安装了软件包"
if rpm -q ${PACKAGE_NAME} ${MAKE_PACKAGE} > /dev/null 2>&1; then
LOG_INFO "软件包已经安装,标记为已安装状态"
INSTALLED="true"
else
LOG_INFO "软件包未安装,标记为未安装状态"
INSTALLED="false"
fi
# 步骤3: 如果未安装,则安装软件包
if [ "${INSTALLED}" = "false" ]; then
LOG_INFO "开始安装软件包: ${PACKAGE_NAME}${MAKE_PACKAGE}"
dnf install -y ${PACKAGE_NAME} ${MAKE_PACKAGE}
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 步骤4: 测试打印make版本号并退出的选项
LOG_INFO "测试打印make版本号并退出的选项"
mingw32-make --version > /dev/null 2>&1
CHECK_RESULT $? 0 0 "执行mingw32-make --version失败"
# 步骤5: 清理环境,恢复到之前的状态
if [ "${INSTALLED}" = "false" ]; then
LOG_INFO "卸载测试过程中安装的软件包"
dnf remove -y ${PACKAGE_NAME} ${MAKE_PACKAGE}
CHECK_RESULT $? 0 0 "卸载软件包失败"
else
LOG_INFO "环境已安装,保持安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,120 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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 : 测试打印当前目录的选项
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已经安装mingw32-filesystem和mingw32-make__w软件包
LOG_INFO "检查是否已安装mingw32-filesystem和mingw32-make__w软件包"
# 检查mingw32-filesystem
rpm -q mingw32-filesystem > /dev/null 2>&1
mingw32_filesystem_installed=$?
# 检查mingw32-make__w
rpm -q mingw32-make__w > /dev/null 2>&1
mingw32_make_w_installed=$?
# 判断是否已经安装
if [ $mingw32_filesystem_installed -eq 0 ] && [ $mingw32_make_w_installed -eq 0 ]; then
LOG_INFO "软件包已经安装,测试完成后将保持安装状态"
already_installed=1
else
LOG_INFO "软件包未安装,将在测试前安装并在测试后卸载"
already_installed=0
fi
# 检查yum源中是否有mingw32-filesystem软件包
LOG_INFO "检查yum源中是否有mingw32-filesystem软件包"
dnf list available mingw32-filesystem > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中没有mingw32-filesystem软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中没有mingw32-filesystem软件包"
exit 255
fi
# 检查yum源中是否有mingw32-make__w软件包
LOG_INFO "检查yum源中是否有mingw32-make__w软件包"
dnf list available mingw32-make__w > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中没有mingw32-make__w软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中没有mingw32-make__w软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $already_installed -eq 0 ]; then
LOG_INFO "安装mingw32-filesystem软件包"
dnf install -y mingw32-filesystem
CHECK_RESULT $? 0 0 "安装mingw32-filesystem软件包失败"
LOG_INFO "安装mingw32-make__w软件包"
dnf install -y mingw32-make__w
CHECK_RESULT $? 0 0 "安装mingw32-make__w软件包失败"
fi
# 测试打印当前目录的选项
LOG_INFO "测试打印当前目录的选项"
# 检查mingw32-make__w命令是否存在
LOG_INFO "检查mingw32-make__w命令是否存在"
which mingw32-make__w > /dev/null 2>&1
CHECK_RESULT $? 0 0 "mingw32-make__w命令不存在"
# 测试mingw32-make__w命令的--help选项
LOG_INFO "测试mingw32-make__w命令的--help选项"
mingw32-make__w --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "mingw32-make__w命令不支持--help选项"
# 测试mingw32-make__w命令的-v选项版本信息
LOG_INFO "测试mingw32-make__w命令的-v选项"
mingw32-make__w -v > /dev/null 2>&1
if [ $? -eq 255 ]; then
LOG_ERROR "mingw32-make__w命令不支持-v选项"
exit 255
fi
# 测试mingw32-make__w命令的-p选项打印数据库
LOG_INFO "测试mingw32-make__w命令的-p选项"
mingw32-make__w -p > /dev/null 2>&1
if [ $? -eq 255 ]; then
LOG_ERROR "mingw32-make__w命令不支持-p选项"
exit 255
fi
# 清理环境
LOG_INFO "清理测试环境"
# 如果测试前未安装,则卸载软件包
if [ $already_installed -eq 0 ]; then
LOG_INFO "卸载mingw32-make__w软件包"
dnf remove -y mingw32-make__w
CHECK_RESULT $? 0 0 "卸载mingw32-make__w软件包失败"
LOG_INFO "卸载mingw32-filesystem软件包"
dnf remove -y mingw32-filesystem
CHECK_RESULT $? 0 0 "卸载mingw32-filesystem软件包失败"
else
LOG_INFO "软件包已安装,保持安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,59 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-30
# @License : Mulan PSL v2
# @Desc : 测试 mingw32-meson 命令的 -v 参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 mingw32-meson 命令的 -v 参数"
# 检查软件包是否已安装
LOG_INFO "检查 mingw32-filesystem 和 mingw32-meson 是否已安装"
if ! dnf list installed mingw32-filesystem &>/dev/null || ! dnf list installed mingw32-meson &>/dev/null; then
LOG_INFO "软件包未安装,开始安装"
# 检查 yum 源中是否有该软件包
if ! dnf list available mingw32-filesystem &>/dev/null || ! dnf list available mingw32-meson &>/dev/null; then
LOG_ERROR "yum 源中缺少必要的软件包"
exit 255
fi
# 安装软件包
dnf install -y mingw32-filesystem mingw32-meson
CHECK_RESULT $? 0 0 "安装软件包失败"
# 标记需要卸载
NEED_UNINSTALL=1
else
LOG_INFO "软件包已安装,无需重复安装"
NEED_UNINSTALL=0
fi
# 测试 -v 参数
LOG_INFO "测试 mingw32-meson -v 命令"
mingw32-meson -v
CHECK_RESULT $? 0 0 "执行 mingw32-meson -v 失败"
# 清理环境
if [ "$NEED_UNINSTALL" -eq 1 ]; then
LOG_INFO "清理环境,卸载软件包"
dnf remove -y mingw32-filesystem mingw32-meson
CHECK_RESULT $? 0 0 "卸载软件包失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,142 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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 : 测试 mingw32-meson 命令的 build 子命令
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义颜色变量(可选,用于日志高亮)
RED="\033[0;31m"
GREEN="\033[0;32m"
NC="\033[0m" # No Color
# 定义日志函数
LOG_INFO() {
echo -e "${GREEN}[INFO]${NC} $1"
}
LOG_ERROR() {
echo -e "${RED}[ERROR]${NC} $1"
}
# 检查软件包是否存在于yum源中
check_package_in_repo() {
local package=$1
LOG_INFO "检查yum源中是否存在软件包: $package"
dnf list available "$package" &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 $package 在yum源中不存在"
exit 255
fi
LOG_INFO "软件包 $package 存在于yum源中"
}
# 检查命令参数是否支持
check_command_option() {
local command=$1
local option=$2
LOG_INFO "检查命令 $command 是否支持参数 $option"
$command --help 2>&1 | grep -q "$option"
if [ $? -ne 0 ]; then
LOG_ERROR "命令 $command 不支持参数 $option"
exit 255
fi
LOG_INFO "命令 $command 支持参数 $option"
}
# 检查命令执行结果
check_command_result() {
local result=$1
local expected=$2
local error_message=$3
if [ $result -ne $expected ]; then
LOG_ERROR "$error_message"
exit $result
fi
}
# 检查是否已安装软件包
check_installed() {
local package=$1
LOG_INFO "检查软件包 $package 是否已安装"
rpm -q "$package" &>/dev/null
return $?
}
# 安装软件包
install_package() {
local package=$1
LOG_INFO "安装软件包: $package"
dnf install -y "$package"
CHECK_RESULT $? 0 0 "安装软件包 $package 失败"
}
# 卸载软件包
uninstall_package() {
local package=$1
LOG_INFO "卸载软件包: $package"
dnf remove -y "$package"
CHECK_RESULT $? 0 0 "卸载软件包 $package 失败"
}
# 主测试函数
test_mingw32_meson_build() {
LOG_INFO "开始测试 mingw32-meson 命令的 build 子命令"
# 定义需要测试的软件包
PACKAGE="mingw32-filesystem"
COMMAND="mingw32-meson"
SUBCOMMAND="build"
# 检查软件包是否在yum源中存在
check_package_in_repo "$PACKAGE"
# 检查命令是否支持build子命令
check_command_option "$COMMAND" "$SUBCOMMAND"
# 检查环境是否已安装
check_installed "$PACKAGE"
local already_installed=$?
# 如果未安装,则安装
if [ $already_installed -ne 0 ]; then
install_package "$PACKAGE"
else
LOG_INFO "软件包 $PACKAGE 已安装,跳过安装步骤"
fi
# 测试build子命令
LOG_INFO "测试 mingw32-meson build 子命令"
$COMMAND $SUBCOMMAND --help
CHECK_RESULT $? 0 0 "mingw32-meson build 子命令执行失败"
# 清理环境:如果之前未安装,则卸载
if [ $already_installed -ne 0 ]; then
uninstall_package "$PACKAGE"
else
LOG_INFO "保持软件包 $PACKAGE 的安装状态"
fi
LOG_INFO "测试完成"
}
# 执行测试
test_mingw32_meson_build
}
main "$@"

View File

@@ -1,79 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试 mingw32-meson 命令的 configure 子命令
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已经安装了必要的软件包
LOG_INFO "检查mingw32-filesystem和mingw32-meson是否已安装"
rpm -q mingw32-filesystem mingw32-meson > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "软件包已安装,测试结束后将保持安装状态"
INSTALLED="true"
else
LOG_INFO "软件包未安装,将在测试过程中安装"
INSTALLED="false"
fi
# 检查yum源中是否有mingw32-filesystem和mingw32-meson软件包
LOG_INFO "检查yum源中是否有mingw32-filesystem和mingw32-meson软件包"
dnf list available mingw32-filesystem mingw32-meson > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中没有mingw32-filesystem或mingw32-meson软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "安装mingw32-filesystem和mingw32-meson软件包"
dnf install -y mingw32-filesystem mingw32-meson
CHECK_RESULT $? 0 0 "安装mingw32-filesystem和mingw32-meson失败"
fi
# 测试mingw32-meson命令的configure子命令
LOG_INFO "测试mingw32-meson configure子命令的基本功能"
mingw32-meson configure --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "mingw32-meson configure子命令不存在或不支持"
LOG_INFO "测试mingw32-meson configure子命令的参数检查"
mingw32-meson configure --invalid-option > /dev/null 2>&1
if [ $? -ne 255 ]; then
LOG_ERROR "mingw32-meson configure子命令参数检查失败"
exit 255
fi
LOG_INFO "测试mingw32-meson configure子命令的实际配置功能"
mkdir -p test_build_dir
cd test_build_dir
mingw32-meson configure ../ > /dev/null 2>&1
CHECK_RESULT $? 0 0 "mingw32-meson configure子命令执行失败"
cd ..
rm -rf test_build_dir
# 清理环境:如果测试前未安装,则卸载软件包
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "卸载mingw32-filesystem和mingw32-meson软件包"
dnf remove -y mingw32-filesystem mingw32-meson
CHECK_RESULT $? 0 0 "卸载mingw32-filesystem和mingw32-meson失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,101 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试 mingw32-meson 命令的帮助信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 初始化环境变量
LOG_FILE="/tmp/test_mingw32-meson_help.log"
# 清理日志文件
> $LOG_FILE
# 定义软件包名称
PACKAGE_NAME="mingw32-filesystem"
COMMAND_NAME="mingw32-meson"
# 步骤1检查yum源中是否存在指定软件包
LOG_INFO "检查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 "检查系统是否已安装软件包:$PACKAGE_NAME"
rpm -q $PACKAGE_NAME &> /dev/null
if [ $? -eq 0 ]; then
LOG_INFO "软件包 $PACKAGE_NAME 已安装,跳过安装步骤"
INSTALLED_BEFORE="yes"
else
LOG_INFO "软件包 $PACKAGE_NAME 未安装,开始安装"
INSTALLED_BEFORE="no"
dnf install -y $PACKAGE_NAME &>> $LOG_FILE
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
fi
# 步骤3检查 mingw32-meson 命令是否存在
LOG_INFO "检查命令 $COMMAND_NAME 是否存在"
which $COMMAND_NAME &> /dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "命令 $COMMAND_NAME 不存在"
if [ "$INSTALLED_BEFORE" = "no" ]; then
dnf remove -y $PACKAGE_NAME &>> $LOG_FILE
LOG_INFO "已卸载软件包 $PACKAGE_NAME"
fi
exit 255
fi
# 步骤4检查 mingw32-meson 命令是否支持 --help 参数
LOG_INFO "检查命令 $COMMAND_NAME 是否支持 --help 参数"
$COMMAND_NAME --help &> /dev/null
if [ $? -eq 255 ]; then
LOG_ERROR "命令 $COMMAND_NAME 不支持 --help 参数"
if [ "$INSTALLED_BEFORE" = "no" ]; then
dnf remove -y $PACKAGE_NAME &>> $LOG_FILE
LOG_INFO "已卸载软件包 $PACKAGE_NAME"
fi
exit 255
fi
# 步骤5执行 mingw32-meson --help 命令
LOG_INFO "执行命令 $COMMAND_NAME --help"
$COMMAND_NAME --help &>> $LOG_FILE
CHECK_RESULT $? 0 0 "执行 $COMMAND_NAME --help 命令失败"
# 步骤6验证帮助信息输出是否包含关键字
LOG_INFO "验证帮助信息输出是否包含关键字 "usage" 或 "options""
$COMMAND_NAME --help 2>&1 | grep -q -E "usage|options"
CHECK_RESULT $? 0 0 "帮助信息输出不符合预期"
# 步骤7环境恢复
LOG_INFO "开始环境恢复"
if [ "$INSTALLED_BEFORE" = "no" ]; then
dnf remove -y $PACKAGE_NAME &>> $LOG_FILE
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
LOG_INFO "已卸载软件包 $PACKAGE_NAME,环境恢复完成"
else
LOG_INFO "软件包 $PACKAGE_NAME 保持安装状态,无需卸载"
fi
LOG_INFO "测试脚本执行完成"
}
main "$@"

View File

@@ -1,75 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-28
# @License : Mulan PSL v2
# @Desc : 测试 mingw32-meson 命令的 install 子命令
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试 mingw32-meson 命令的 install 子命令"
# 检查 yum 源中是否存在 mingw32-filesystem 和 mingw32-meson 软件包
LOG_INFO "步骤1检查 yum 源中是否存在 mingw32-filesystem 和 mingw32-meson 软件包"
if ! dnf list available mingw32-filesystem mingw32-meson &>/dev/null; then
LOG_ERROR "yum 源中未找到 mingw32-filesystem 或 mingw32-meson 软件包"
exit 255
fi
# 检查当前环境是否已安装 mingw32-filesystem 和 mingw32-meson
LOG_INFO "步骤2检查当前环境是否已安装 mingw32-filesystem 和 mingw32-meson"
if rpm -q mingw32-filesystem mingw32-meson &>/dev/null; then
LOG_INFO "环境已安装 mingw32-filesystem 和 mingw32-meson脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "环境未安装 mingw32-filesystem 和 mingw32-meson将进行安装测试"
INSTALLED=false
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤3安装 mingw32-filesystem 和 mingw32-meson 软件包"
dnf install -y mingw32-filesystem mingw32-meson
CHECK_RESULT $? 0 0 "安装 mingw32-filesystem 和 mingw32-meson 失败"
fi
# 测试 mingw32-meson install 子命令的基本功能
LOG_INFO "步骤4测试 mingw32-meson install 子命令的基本功能"
mingw32-meson install --help
CHECK_RESULT $? 0 0 "mingw32-meson install 子命令 --help 参数执行失败"
# 测试一个不支持的参数
LOG_INFO "步骤5测试 mingw32-meson install 子命令不支持参数的情况"
if mingw32-meson install --invalid-option 2>&1 | grep -q "unrecognized option"; then
LOG_INFO "检测到不支持的参数,符合预期"
else
LOG_ERROR "未检测到不支持的参数,测试失败"
exit 255
fi
# 清理环境:如果之前未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤6清理环境卸载 mingw32-filesystem 和 mingw32-meson 软件包"
dnf remove -y mingw32-filesystem mingw32-meson
CHECK_RESULT $? 0 0 "卸载 mingw32-filesystem 和 mingw32-meson 失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

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