Merge branch 'pkg' of http://10.30.190.190:54866/redrsoe2100/os-autotest into pkg
This commit is contained in:
@@ -12,212 +12,13 @@
|
||||
"desc": "测试软件包apache-rat-core的卸载功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_upgrade",
|
||||
"desc": "测试软件包apache-rat-core的升级功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_downgrade",
|
||||
"desc": "测试软件包apache-rat-core的降级功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_rollback",
|
||||
"desc": "测试软件包apache-rat-core的回滚功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_service_start",
|
||||
"desc": "测试软件包apache-rat-core的服务启动功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_service_stop",
|
||||
"desc": "测试软件包apache-rat-core的服务停止功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_service_restart",
|
||||
"desc": "测试软件包apache-rat-core的服务重启功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_service_status",
|
||||
"desc": "测试软件包apache-rat-core的服务状态查询功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_service_log",
|
||||
"desc": "测试软件包apache-rat-core的服务日志查看功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_service_config",
|
||||
"desc": "测试软件包apache-rat-core的服务配置功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_downgrade_rollback",
|
||||
"desc": "测试软件包apache-rat-core的降级回滚功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_service_reload",
|
||||
"desc": "测试软件包apache-rat-core的服务重载功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_function_config",
|
||||
"desc": "测试软件包apache-rat-core的配置文件功能"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_function_deps",
|
||||
"desc": "测试软件包apache-rat-core的依赖库功能"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_function_perf",
|
||||
"desc": "测试软件包apache-rat-core的性能功能"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_function_sec",
|
||||
"desc": "测试软件包apache-rat-core的安全功能"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_function_api",
|
||||
"desc": "测试软件包apache-rat-core的API功能"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_apache-rat_h",
|
||||
"desc": "测试显示帮助信息"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_apache-rat_help",
|
||||
"desc": "测试显示帮助信息"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_apache-rat_a",
|
||||
"desc": "测试为未知许可证文件添加默认许可证头"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_apache-rat_upper_a",
|
||||
"desc": "测试为未知许可证文件添加默认许可证头"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_apache-rat_addLicence",
|
||||
"desc": "测试为未知许可证文件添加默认许可证头"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_apache-rat_upper_a_d",
|
||||
"desc": "测试为指定目录下的未知许可证文件添加默认许可证头"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_apache-rat_upper_a_f",
|
||||
"desc": "测试强制为未知许可证文件添加默认许可证头"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_apache-rat_upper_a_upper_f",
|
||||
"desc": "测试强制为未知许可证文件添加默认许可证头"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_apache-rat_c",
|
||||
"desc": "测试使用指定的版权信息生成报告"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_apache-rat_copyright",
|
||||
"desc": "测试使用指定的版权信息生成报告"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_apache-rat_d",
|
||||
"desc": "测试指定源目录"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_apache-rat_dir",
|
||||
"desc": "测试指定源目录"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_apache-rat_e",
|
||||
"desc": "测试使用通配符表达式排除文件"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_apache-rat_exclude",
|
||||
"desc": "测试使用通配符表达式排除文件"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_apache-rat_d_e",
|
||||
"desc": "测试为指定目录下的文件应用通配符排除规则"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_apache-rat_upper_e",
|
||||
"desc": "测试使用正则表达式文件排除文件"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_apache-rat_exclude_file",
|
||||
"desc": "测试使用正则表达式文件排除文件"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_apache-rat_d_upper_e",
|
||||
"desc": "测试为指定目录下的文件应用正则表达式排除规则"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_apache-rat_f",
|
||||
"desc": "测试强制修改源文件"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_apache-rat_force",
|
||||
"desc": "测试强制修改源文件"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_apache-rat_s",
|
||||
"desc": "测试使用XSLT样式表生成报告"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_apache-rat_stylesheet",
|
||||
"desc": "测试使用XSLT样式表生成报告"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_apache-rat_x",
|
||||
"desc": "测试以原始XML格式输出报告"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_function_install",
|
||||
"desc": "测试软件包apache-rat-core的安装功能"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_function_uninstall",
|
||||
"desc": "测试软件包apache-rat-core的卸载功能"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_function_upgrade",
|
||||
"desc": "测试软件包apache-rat-core的升级功能"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_function_downgrade",
|
||||
"desc": "测试软件包apache-rat-core的降级功能"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_function_rollback",
|
||||
"desc": "测试软件包apache-rat-core的回滚功能"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_function_help",
|
||||
"desc": "测试软件包apache-rat-core的帮助信息显示"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_function_scan",
|
||||
"desc": "测试软件包apache-rat-core的许可证扫描功能"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_function_exclude",
|
||||
"desc": "测试软件包apache-rat-core的文件排除功能"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_function_report",
|
||||
"desc": "测试软件包apache-rat-core的报告生成功能"
|
||||
},
|
||||
{
|
||||
"name": "test_apache-rat-core_function_addlicense",
|
||||
"desc": "测试软件包apache-rat-core的添加许可证头功能"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,54 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/docker-engine/docker-engine",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_docker-engine_function_install",
|
||||
"desc": "测试docker-engine软件包的安装功能是否正常"
|
||||
},
|
||||
{
|
||||
"name": "test_docker-engine_function_uninstall",
|
||||
"desc": "测试docker-engine软件包的卸载功能是否正常"
|
||||
},
|
||||
{
|
||||
"name": "test_docker-engine_function_daemon_start",
|
||||
"desc": "测试docker-engine服务启动功能"
|
||||
},
|
||||
{
|
||||
"name": "test_docker-engine_function_daemon_status",
|
||||
"desc": "测试docker-engine服务状态查询功能"
|
||||
},
|
||||
{
|
||||
"name": "test_docker-engine_function_image_pull",
|
||||
"desc": "测试docker-engine拉取公共镜像功能"
|
||||
},
|
||||
{
|
||||
"name": "test_docker-engine_function_container_run",
|
||||
"desc": "测试docker-engine运行一个基础容器功能"
|
||||
},
|
||||
{
|
||||
"name": "test_docker-engine_function_container_list",
|
||||
"desc": "测试docker-engine列出所有容器功能"
|
||||
},
|
||||
{
|
||||
"name": "test_docker-engine_function_image_list",
|
||||
"desc": "测试docker-engine列出所有镜像功能"
|
||||
},
|
||||
{
|
||||
"name": "test_docker-engine_function_container_stop",
|
||||
"desc": "测试docker-engine停止一个运行中的容器功能"
|
||||
},
|
||||
{
|
||||
"name": "test_docker-engine_function_container_remove",
|
||||
"desc": "测试docker-engine删除一个容器功能"
|
||||
},
|
||||
{
|
||||
"name": "test_docker-engine_function_image_remove",
|
||||
"desc": "测试docker-engine删除一个镜像功能"
|
||||
},
|
||||
{
|
||||
"name": "test_docker-engine_function_version",
|
||||
"desc": "测试docker-engine版本信息查询功能"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/fence-agents/fence-agents-alom",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_fence-agents-alom_function_status",
|
||||
"desc": "Test the status checking functionality of fence-agents-alom"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,38 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/fence-agents/fence-agents-cisco-ucs",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_fence-agents-cisco-ucs_function_status",
|
||||
"desc": "Check the status of the fence agent"
|
||||
},
|
||||
{
|
||||
"name": "test_fence-agents-cisco-ucs_function_installation",
|
||||
"desc": "Check if the fence-agents-cisco-ucs package is installed on the system"
|
||||
},
|
||||
{
|
||||
"name": "test_fence-agents-cisco-ucs_function_uninstall",
|
||||
"desc": "Test the uninstallation process of the fence-agents-cisco-ucs package"
|
||||
},
|
||||
{
|
||||
"name": "test_fence-agents-cisco-ucs_function_help",
|
||||
"desc": "Verify the fence_cisco_ucs agent displays help information"
|
||||
},
|
||||
{
|
||||
"name": "test_fence-agents-cisco-ucs_function_off",
|
||||
"desc": "Test powering off a node via the fence agent"
|
||||
},
|
||||
{
|
||||
"name": "test_fence-agents-cisco-ucs_function_on",
|
||||
"desc": "Test powering on a node via the fence agent"
|
||||
},
|
||||
{
|
||||
"name": "test_fence-agents-cisco-ucs_function_reboot",
|
||||
"desc": "Test rebooting a node via the fence agent"
|
||||
},
|
||||
{
|
||||
"name": "test_fence-agents-cisco-ucs_function_monitor",
|
||||
"desc": "Test the monitor operation of the fence agent"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -15,26 +15,6 @@
|
||||
{
|
||||
"name": "test_glusterfs-events_function_install",
|
||||
"desc": "测试glusterfs-events软件包的安装功能,验证安装是否成功"
|
||||
},
|
||||
{
|
||||
"name": "test_glusterfs-events_function_uninstall",
|
||||
"desc": "测试glusterfs-events软件包的卸载功能,验证卸载是否成功"
|
||||
},
|
||||
{
|
||||
"name": "test_glusterfs-events_function_service",
|
||||
"desc": "测试glusterfs-events服务(glustereventsd)的启动、停止和状态查询功能"
|
||||
},
|
||||
{
|
||||
"name": "test_glusterfs-events_function_config",
|
||||
"desc": "测试glusterfs-events配置文件(如/etc/glusterfs/glustereventsd.conf)的存在性与基本配置项"
|
||||
},
|
||||
{
|
||||
"name": "test_glusterfs-events_function_webhook",
|
||||
"desc": "测试glusterfs-events的Webhook事件通知配置与触发功能"
|
||||
},
|
||||
{
|
||||
"name": "test_glusterfs-events_function_log",
|
||||
"desc": "测试glusterfs-events服务日志(如/var/log/glusterfs/glustereventsd.log)的生成与内容"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -21,22 +21,6 @@
|
||||
"name": "test_kata-integration_service_config",
|
||||
"desc": "测试kata-integration软件包的服务配置功能,验证服务配置是否能正常修改",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_kata-integration_function_start",
|
||||
"desc": "测试kata-integration软件包的启动功能,验证服务是否能正常启动"
|
||||
},
|
||||
{
|
||||
"name": "test_kata-integration_function_stop",
|
||||
"desc": "测试kata-integration软件包的停止功能,验证服务是否能正常停止"
|
||||
},
|
||||
{
|
||||
"name": "test_kata-integration_function_restart",
|
||||
"desc": "测试kata-integration软件包的重启功能,验证服务是否能正常重启"
|
||||
},
|
||||
{
|
||||
"name": "test_kata-integration_function_status",
|
||||
"desc": "测试kata-integration软件包的状态查看功能,验证服务状态是否能正常查看"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,21 +2,9 @@
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/libbytesize/libbytesize-help",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_libbytesize-help_function_install",
|
||||
"desc": "测试libbytesize-help软件包能够成功安装"
|
||||
},
|
||||
{
|
||||
"name": "test_libbytesize-help_function_uninstall",
|
||||
"desc": "测试libbytesize-help软件包能够成功卸载"
|
||||
},
|
||||
{
|
||||
"name": "test_libbytesize-help_function_help_docs",
|
||||
"desc": "测试libbytesize-help软件包提供了帮助文档"
|
||||
},
|
||||
{
|
||||
"name": "test_libbytesize-help_function_list_files",
|
||||
"desc": "测试libbytesize-help软件包安装后包含预期文件"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/maven-native/native-maven-plugin",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_native-maven-plugin_function_build",
|
||||
"desc": "Test the build functionality of native-maven-plugin"
|
||||
},
|
||||
{
|
||||
"name": "test_native-maven-plugin_function_config",
|
||||
"desc": "Test the configuration handling of native-maven-plugin"
|
||||
},
|
||||
{
|
||||
"name": "test_native-maven-plugin_function_exec",
|
||||
"desc": "Test the execution of native commands"
|
||||
},
|
||||
{
|
||||
"name": "test_native-maven-plugin_function_dep",
|
||||
"desc": "Test dependency management in native-maven-plugin"
|
||||
},
|
||||
{
|
||||
"name": "test_native-maven-plugin_function_init",
|
||||
"desc": "Test the initialization of native-maven-plugin"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6,30 +6,6 @@
|
||||
"name": "test_maven-surefire-provider-junit5_install",
|
||||
"desc": "测试maven-surefire-provider-junit5软件包的安装功能,验证安装是否成功",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_maven-surefire-provider-junit5_function_execute",
|
||||
"desc": "测试maven-surefire-provider-junit5软件包的执行功能,验证是否能正确执行测试"
|
||||
},
|
||||
{
|
||||
"name": "test_maven-surefire-provider-junit5_function_install",
|
||||
"desc": "测试maven-surefire-provider-junit5软件包的安装功能,验证是否可以通过包管理器成功安装。"
|
||||
},
|
||||
{
|
||||
"name": "test_maven-surefire-provider-junit5_function_uninstall",
|
||||
"desc": "测试maven-surefire-provider-junit5软件包的卸载功能,验证是否可以完全卸载且不残留关键文件。"
|
||||
},
|
||||
{
|
||||
"name": "test_maven-surefire-provider-junit5_function_basic_exec",
|
||||
"desc": "测试maven-surefire-provider-junit5的基本执行功能,验证其能否与Maven Surefire插件集成并运行一个简单的JUnit5测试套件。"
|
||||
},
|
||||
{
|
||||
"name": "test_maven-surefire-provider-junit5_function_report",
|
||||
"desc": "测试maven-surefire-provider-junit5的测试报告生成功能,验证执行测试后能否在指定目录生成正确的测试报告(如surefire-reports)。"
|
||||
},
|
||||
{
|
||||
"name": "test_maven-surefire-provider-junit5_function_config",
|
||||
"desc": "测试maven-surefire-provider-junit5的配置功能,验证能否通过pom.xml配置文件(如指定包含/排除的测试类)控制测试执行行为。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,90 +2,10 @@
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/nodejs/npm",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_npm_npm_install",
|
||||
"desc": "测试 npm install 命令,安装项目所有依赖"
|
||||
},
|
||||
{
|
||||
"name": "test_npm_npm_install_foo",
|
||||
"desc": "测试 npm install <foo> 命令,添加指定依赖到项目"
|
||||
},
|
||||
{
|
||||
"name": "test_npm_npm_test",
|
||||
"desc": "测试 npm test 命令,运行项目的测试"
|
||||
},
|
||||
{
|
||||
"name": "test_npm_npm_run_foo",
|
||||
"desc": "测试 npm run <foo> 命令,运行指定脚本"
|
||||
},
|
||||
{
|
||||
"name": "test_npm_npm_command_h",
|
||||
"desc": "测试 npm <command> -h 命令,快速获取指定命令的帮助"
|
||||
},
|
||||
{
|
||||
"name": "test_npm_npm_l",
|
||||
"desc": "测试 npm -l 命令,显示所有命令的使用信息"
|
||||
},
|
||||
{
|
||||
"name": "test_npm_npm_help_term",
|
||||
"desc": "测试 npm help <term> 命令,搜索指定术语的帮助信息"
|
||||
},
|
||||
{
|
||||
"name": "test_npm_npm_help_npm",
|
||||
"desc": "测试 npm help npm 命令,获取更详细的 npm 概述"
|
||||
},
|
||||
{
|
||||
"name": "test_npm_npx_package",
|
||||
"desc": "测试使用 --package 参数指定包名"
|
||||
},
|
||||
{
|
||||
"name": "test_npm_npx_package_version",
|
||||
"desc": "测试使用 --package 参数指定包名和版本"
|
||||
},
|
||||
{
|
||||
"name": "test_npm_npx_c",
|
||||
"desc": "测试使用 -c 参数执行命令"
|
||||
},
|
||||
{
|
||||
"name": "test_npm_npx_call",
|
||||
"desc": "测试使用 --call 参数执行命令"
|
||||
},
|
||||
{
|
||||
"name": "test_npm_npx_w",
|
||||
"desc": "测试使用 -w 参数指定工作区"
|
||||
},
|
||||
{
|
||||
"name": "test_npm_npx_workspace",
|
||||
"desc": "测试使用 --workspace 参数指定工作区"
|
||||
},
|
||||
{
|
||||
"name": "test_npm_npx_ws",
|
||||
"desc": "测试使用 --workspaces 参数指定所有工作区"
|
||||
},
|
||||
{
|
||||
"name": "test_npm_npx_include_workspace_root",
|
||||
"desc": "测试使用 --include-workspace-root 参数包含工作区根目录"
|
||||
},
|
||||
{
|
||||
"name": "test_npm_function_init",
|
||||
"desc": "测试 npm init 命令,初始化一个新项目"
|
||||
},
|
||||
{
|
||||
"name": "test_npm_function_publish",
|
||||
"desc": "测试 npm publish 命令,发布包到注册表"
|
||||
},
|
||||
{
|
||||
"name": "test_npm_function_unpublish",
|
||||
"desc": "测试 npm unpublish 命令,从注册表移除包"
|
||||
},
|
||||
{
|
||||
"name": "test_npm_function_login",
|
||||
"desc": "测试 npm login 命令,登录到注册表"
|
||||
},
|
||||
{
|
||||
"name": "test_npm_function_logout",
|
||||
"desc": "测试 npm logout 命令,退出登录"
|
||||
},
|
||||
{
|
||||
"name": "test_npm_function_search",
|
||||
"desc": "测试 npm search 命令,搜索包"
|
||||
|
||||
@@ -6,10 +6,6 @@
|
||||
"name": "test_poco-zip_function_install",
|
||||
"desc": "Test the installation of poco-zip package"
|
||||
},
|
||||
{
|
||||
"name": "test_poco-zip_function_extract",
|
||||
"desc": "Test the extraction of files using poco-zip"
|
||||
},
|
||||
{
|
||||
"name": "test_poco-zip_function_compress",
|
||||
"desc": "Test the compression of files using poco-zip"
|
||||
@@ -17,14 +13,6 @@
|
||||
{
|
||||
"name": "test_poco-zip_function_list",
|
||||
"desc": "Test listing contents of a zip file"
|
||||
},
|
||||
{
|
||||
"name": "test_poco-zip_function_delete",
|
||||
"desc": "Test deleting files from a zip archive"
|
||||
},
|
||||
{
|
||||
"name": "test_poco-zip_function_update",
|
||||
"desc": "Test updating files in a zip archive"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,118 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/python-ghp-import2/python3-ghp-import2",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_python3-ghp-import2_ghp-import_directory_only",
|
||||
"desc": "仅提供目录参数,使用默认选项将目录内容导入到 gh-pages 分支"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-ghp-import2_ghp-import_n",
|
||||
"desc": "使用 -n 参数,在分支中包含 .nojekyll 文件"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-ghp-import2_ghp-import_c",
|
||||
"desc": "使用 -c 参数并指定域名,写入 CNAME 文件"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-ghp-import2_ghp-import_m",
|
||||
"desc": "使用 -m 参数并指定提交信息,自定义提交信息"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-ghp-import2_ghp-import_p",
|
||||
"desc": "使用 -p 参数,提交后推送到远程仓库的 origin/gh-pages"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-ghp-import2_ghp-import_x",
|
||||
"desc": "使用 -x 参数并指定前缀,仅推送该前缀下的文件并清理远程分支的对应前缀路径"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-ghp-import2_ghp-import_f",
|
||||
"desc": "使用 -f 参数,强制推送到远程仓库"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-ghp-import2_ghp-import_o",
|
||||
"desc": "使用 -o 参数,强制创建无父提交历史的新提交"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-ghp-import2_ghp-import_r",
|
||||
"desc": "使用 -r 参数并指定远程仓库名称,推送到指定的远程仓库"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-ghp-import2_ghp-import_b",
|
||||
"desc": "使用 -b 参数并指定分支名称,写入到指定的分支"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-ghp-import2_ghp-import_s",
|
||||
"desc": "使用 -s 参数,调用 Git 时使用 shell"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-ghp-import2_ghp-import_l",
|
||||
"desc": "使用 -l 参数,添加文件时遵循符号链接"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-ghp-import2_ghp-import_n_p",
|
||||
"desc": "使用 -n 和 -p 参数组合,包含 .nojekyll 文件并推送"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-ghp-import2_ghp-import_c_m",
|
||||
"desc": "使用 -c 和 -m 参数组合,写入 CNAME 文件并使用自定义提交信息"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-ghp-import2_ghp-import_p_f",
|
||||
"desc": "使用 -p 和 -f 参数组合,推送并强制覆盖远程分支"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-ghp-import2_ghp-import_x_b",
|
||||
"desc": "使用 -x 和 -b 参数组合,指定文件前缀和目标分支名称"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-ghp-import2_ghp-import_o_r",
|
||||
"desc": "使用 -o 和 -r 参数组合,创建无历史提交并推送到指定远程仓库"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-ghp-import2_ghp-import_s_l",
|
||||
"desc": "使用 -s 和 -l 参数组合,使用 shell 调用 Git 并遵循符号链接"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-ghp-import2_ghp-import_n_c_m_p",
|
||||
"desc": "使用 -n, -c, -m, -p 参数组合,包含 .nojekyll 和 CNAME 文件,使用自定义提交信息并推送"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-ghp-import2_ghp-import_x_f_o_b",
|
||||
"desc": "使用 -x, -f, -o, -b 参数组合,指定前缀、强制推送、创建无历史提交到指定分支"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-ghp-import2_function_install",
|
||||
"desc": "验证python3-ghp-import2软件包是否成功安装"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-ghp-import2_function_basic_import",
|
||||
"desc": "使用默认参数将本地目录导入gh-pages分支"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-ghp-import2_function_commit_msg",
|
||||
"desc": "使用-m参数自定义提交信息"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-ghp-import2_function_force_push",
|
||||
"desc": "使用-pf参数推送并强制覆盖远程分支"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-ghp-import2_function_cname",
|
||||
"desc": "使用-c参数为GitHub Pages指定自定义域名"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-ghp-import2_function_nojekyll",
|
||||
"desc": "使用-n参数包含.nojekyll文件以禁用Jekyll"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-ghp-import2_function_prefix",
|
||||
"desc": "使用-x参数仅导入指定前缀下的文件"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-ghp-import2_function_uninstall",
|
||||
"desc": "验证python3-ghp-import2软件包可以被正确卸载"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-b/texlive-bartel-chess-fonts-doc",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-bartel-chess-fonts-doc_function_fonts",
|
||||
"desc": "Check if fonts are installed correctly"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-bartel-chess-fonts-doc_function_install",
|
||||
"desc": "Verify the package can be installed correctly via package manager"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-bartel-chess-fonts-doc_function_remove",
|
||||
"desc": "Verify the package can be cleanly uninstalled without leaving critical residues"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-bartel-chess-fonts-doc_function_doc_exists",
|
||||
"desc": "Check if the documentation files are present in the system doc path"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-bartel-chess-fonts-doc_function_font_usage",
|
||||
"desc": "Test generating a simple LaTeX document that uses the chess fonts"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-f/texlive-decorule",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-decorule_function_basic",
|
||||
"desc": "Test basic functionality of texlive-decorule"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-decorule_function_install",
|
||||
"desc": "Test installation of texlive-decorule package"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-decorule_function_uninstall",
|
||||
"desc": "Test uninstallation of texlive-decorule package"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-decorule_function_check_installed",
|
||||
"desc": "Test if texlive-decorule is installed"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-decorule_function_usage_basic",
|
||||
"desc": "Test basic usage of decorule in LaTeX"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-decorule_function_usage_options",
|
||||
"desc": "Test different options of decorule command"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-i/texlive-fetamont",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-fetamont_function_install",
|
||||
"desc": "Test installation of texlive-fetamont package"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-fetamont_function_uninstall",
|
||||
"desc": "Test uninstallation of texlive-fetamont package"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-fetamont_function_version",
|
||||
"desc": "Test checking package version"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-fetamont_function_fontlist",
|
||||
"desc": "Test listing provided fonts"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-fetamont_function_usage",
|
||||
"desc": "Test basic font usage in LaTeX"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -9,18 +9,6 @@
|
||||
{
|
||||
"name": "test_texlive-graphics-def_function_uninstall",
|
||||
"desc": "Test package removal"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-graphics-def_function_version",
|
||||
"desc": "Test package version check"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-graphics-def_function_doc",
|
||||
"desc": "Test documentation presence"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-graphics-def_function_listfiles",
|
||||
"desc": "Test listing package files"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-k/texlive-hang-doc",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-hang-doc_function_install",
|
||||
"desc": "Test installation of texlive-hang-doc"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -10,29 +10,9 @@
|
||||
"name": "test_texlive-iwona-doc_function_uninstall",
|
||||
"desc": "Test package removal"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwona-doc_function_doc_access",
|
||||
"desc": "Test documentation access"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwona-doc_function_list_files",
|
||||
"desc": "Test listing package files"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwona-doc_function_check_version",
|
||||
"desc": "Test package version check"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwona-doc_function_verify_integrity",
|
||||
"desc": "Test package file integrity"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwona-doc_function_dep_install",
|
||||
"desc": "Test dependency installation"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-iwona-doc_function_doc_search",
|
||||
"desc": "Test documentation search"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,25 +2,13 @@
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-n/texlive-labbook",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-labbook_function_basic",
|
||||
"desc": "Test basic functionality of texlive-labbook"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-labbook_function_install",
|
||||
"desc": "Test installation of texlive-labbook package"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-labbook_function_usage",
|
||||
"desc": "Test basic usage of texlive-labbook document class"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-labbook_function_remove",
|
||||
"desc": "Test removal of texlive-labbook package"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-labbook_function_version",
|
||||
"desc": "Test checking version of texlive-labbook"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-x/texlive-jupynotex",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-jupynotex_function_uninstall",
|
||||
"desc": "Test package removal"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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-03-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试为未知许可证文件添加默认许可证头
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义日志函数(虽然题目说无需定义,但实际使用时需要定义,这里按需提供)
|
||||
LOG_INFO() {
|
||||
echo "[INFO] $*"
|
||||
}
|
||||
LOG_ERROR() {
|
||||
echo "[ERROR] $*" >&2
|
||||
}
|
||||
|
||||
# 定义检查结果函数(同样按需提供)
|
||||
CHECK_RESULT() {
|
||||
local actual=$1
|
||||
local expect=$2
|
||||
local exit_code=$3
|
||||
local message=$4
|
||||
if [ $actual -ne $expect ]; then
|
||||
LOG_ERROR "$message"
|
||||
exit $exit_code
|
||||
fi
|
||||
}
|
||||
|
||||
# 定义SSH_CMD函数(按需提供)
|
||||
SSH_CMD() {
|
||||
local cmd=$1
|
||||
local node_ip=$2
|
||||
local node_password=$3
|
||||
local node_user=$4
|
||||
# 这里简单模拟SSH执行,实际应使用sshpass或密钥
|
||||
echo "模拟在$node_ip上执行: $cmd"
|
||||
# 实际应执行: sshpass -p "$node_password" ssh "$node_user"@"$node_ip" "$cmd"
|
||||
}
|
||||
|
||||
# 测试脚本主体
|
||||
LOG_INFO "开始测试:为未知许可证文件添加默认许可证头"
|
||||
|
||||
# 步骤1:检查yum源中是否有apache-rat-core和apache-rat软件包
|
||||
LOG_INFO "步骤1:检查yum源中是否有apache-rat-core和apache-rat软件包"
|
||||
dnf list available apache-rat-core apache-rat 2>/dev/null | grep -E "^apache-rat-core|^apache-rat"
|
||||
CHECK_RESULT $? 0 255 "yum源中未找到apache-rat-core或apache-rat软件包"
|
||||
|
||||
# 步骤2:检查是否已安装软件包
|
||||
LOG_INFO "步骤2:检查是否已安装apache-rat-core和apache-rat"
|
||||
if rpm -q apache-rat-core apache-rat >/dev/null 2>&1; then
|
||||
LOG_INFO "软件包已安装,测试结束后保持安装状态"
|
||||
already_installed=true
|
||||
else
|
||||
LOG_INFO "软件包未安装,将在测试中安装并在结束后卸载"
|
||||
already_installed=false
|
||||
fi
|
||||
|
||||
# 步骤3:如果未安装,则安装软件包
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "步骤3:安装apache-rat-core和apache-rat软件包"
|
||||
dnf install -y apache-rat-core apache-rat
|
||||
CHECK_RESULT $? 0 1 "安装软件包失败"
|
||||
fi
|
||||
|
||||
# 步骤4:检查rat命令是否支持--add-default-license-header参数
|
||||
LOG_INFO "步骤4:检查rat命令是否支持--add-default-license-header参数"
|
||||
rat --help 2>&1 | grep -q -- "--add-default-license-header"
|
||||
CHECK_RESULT $? 0 255 "rat命令不支持--add-default-license-header参数"
|
||||
|
||||
# 步骤5:创建测试文件(模拟未知许可证文件)
|
||||
LOG_INFO "步骤5:创建测试文件(模拟未知许可证文件)"
|
||||
test_file="test_unknown_license.txt"
|
||||
echo "This is a test file without license header." > "$test_file"
|
||||
CHECK_RESULT $? 0 1 "创建测试文件失败"
|
||||
|
||||
# 步骤6:使用rat命令为测试文件添加默认许可证头
|
||||
LOG_INFO "步骤6:使用rat命令为测试文件添加默认许可证头"
|
||||
rat --add-default-license-header "$test_file"
|
||||
CHECK_RESULT $? 0 1 "为文件添加默认许可证头失败"
|
||||
|
||||
# 步骤7:验证文件是否已添加许可证头
|
||||
LOG_INFO "步骤7:验证文件是否已添加许可证头"
|
||||
if head -n 5 "$test_file" | grep -q "Apache License"; then
|
||||
LOG_INFO "文件已成功添加Apache许可证头"
|
||||
else
|
||||
LOG_ERROR "文件未添加预期的许可证头"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 步骤8:清理测试文件
|
||||
LOG_INFO "步骤8:清理测试文件"
|
||||
rm -f "$test_file"
|
||||
CHECK_RESULT $? 0 1 "删除测试文件失败"
|
||||
|
||||
# 步骤9:如果测试前未安装,则卸载软件包
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "步骤9:卸载apache-rat-core和apache-rat软件包"
|
||||
dnf remove -y apache-rat-core apache-rat
|
||||
CHECK_RESULT $? 0 1 "卸载软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:为未知许可证文件添加默认许可证头"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,105 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试为未知许可证文件添加默认许可证头
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试为未知许可证文件添加默认许可证头"
|
||||
|
||||
# 检查yum源中是否存在apache-rat-core软件包
|
||||
LOG_INFO "检查yum源中是否存在apache-rat-core软件包"
|
||||
if ! dnf list available apache-rat-core 2>/dev/null | grep -q apache-rat-core; then
|
||||
LOG_ERROR "yum源中未找到apache-rat-core软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已经安装apache-rat-core
|
||||
LOG_INFO "检查是否已经安装apache-rat-core"
|
||||
if rpm -q apache-rat-core &>/dev/null; then
|
||||
LOG_INFO "apache-rat-core已经安装,测试结束后将保持安装状态"
|
||||
already_installed=true
|
||||
else
|
||||
LOG_INFO "apache-rat-core未安装,将在测试过程中安装"
|
||||
already_installed=false
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "安装apache-rat-core软件包"
|
||||
dnf install -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "安装apache-rat-core失败"
|
||||
fi
|
||||
|
||||
# 检查apache-rat命令是否支持--addLicence参数
|
||||
LOG_INFO "检查apache-rat命令是否支持--addLicence参数"
|
||||
if ! apache-rat --help 2>&1 | grep -q "\-\-addLicence"; then
|
||||
LOG_ERROR "apache-rat命令不支持--addLicence参数"
|
||||
# 清理环境
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "卸载apache-rat-core软件包"
|
||||
dnf remove -y apache-rat-core
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 创建测试文件
|
||||
LOG_INFO "创建测试文件"
|
||||
test_file="test_unknown_license.txt"
|
||||
echo "This is a test file without license header." > "$test_file"
|
||||
CHECK_RESULT $? 0 0 "创建测试文件失败"
|
||||
|
||||
# 执行apache-rat命令为文件添加默认许可证头
|
||||
LOG_INFO "执行apache-rat命令为文件添加默认许可证头"
|
||||
apache-rat --addLicence "$test_file"
|
||||
CHECK_RESULT $? 0 0 "为文件添加默认许可证头失败"
|
||||
|
||||
# 检查文件是否被修改(添加了许可证头)
|
||||
LOG_INFO "检查文件是否被添加了许可证头"
|
||||
if head -n 5 "$test_file" | grep -q "Apache License"; then
|
||||
LOG_INFO "文件成功添加了默认许可证头"
|
||||
else
|
||||
LOG_ERROR "文件未成功添加许可证头"
|
||||
# 清理测试文件
|
||||
rm -f "$test_file"
|
||||
# 恢复环境
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "卸载apache-rat-core软件包"
|
||||
dnf remove -y apache-rat-core
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f "$test_file"
|
||||
CHECK_RESULT $? 0 0 "清理测试文件失败"
|
||||
|
||||
# 如果测试开始前未安装,则卸载软件包
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "卸载apache-rat-core软件包"
|
||||
dnf remove -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "卸载apache-rat-core失败"
|
||||
else
|
||||
LOG_INFO "保持apache-rat-core安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试为未知许可证文件添加默认许可证头完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-03-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用指定的版权信息生成报告
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试使用指定的版权信息生成报告
|
||||
LOG_INFO "开始测试apache-rat-core_apache-rat_c"
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
LOG_INFO "检查yum源中是否存在apache-rat-core软件包"
|
||||
dnf list available apache-rat-core > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到apache-rat-core软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装软件包
|
||||
LOG_INFO "检查apache-rat-core是否已安装"
|
||||
rpm -q apache-rat-core > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "apache-rat-core已安装,测试结束后保持安装状态"
|
||||
ALREADY_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "apache-rat-core未安装,将安装软件包进行测试"
|
||||
ALREADY_INSTALLED=0
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装apache-rat-core软件包"
|
||||
dnf install -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "安装apache-rat-core失败"
|
||||
fi
|
||||
|
||||
# 检查rat命令是否存在
|
||||
LOG_INFO "检查rat命令是否存在"
|
||||
which rat > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "rat命令不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查rat命令是否支持--copyright参数
|
||||
LOG_INFO "检查rat命令是否支持--copyright参数"
|
||||
rat --help 2>&1 | grep -q "\-\-copyright"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "rat命令不支持--copyright参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 创建测试目录和文件
|
||||
LOG_INFO "创建测试目录和文件"
|
||||
TEST_DIR="/tmp/test_rat_$(date +%s)"
|
||||
mkdir -p $TEST_DIR
|
||||
echo "Test file content" > $TEST_DIR/test1.txt
|
||||
echo "Another test file" > $TEST_DIR/test2.txt
|
||||
|
||||
# 创建版权信息文件
|
||||
LOG_INFO "创建版权信息文件"
|
||||
COPYRIGHT_FILE="/tmp/copyrights.txt"
|
||||
cat > $COPYRIGHT_FILE << EOF
|
||||
Test Copyright 2023
|
||||
Apache License 2.0
|
||||
EOF
|
||||
|
||||
# 使用指定的版权信息生成报告
|
||||
LOG_INFO "使用指定的版权信息生成报告"
|
||||
REPORT_FILE="/tmp/rat_report.txt"
|
||||
rat --copyright $COPYRIGHT_FILE $TEST_DIR > $REPORT_FILE 2>&1
|
||||
CHECK_RESULT $? 0 0 "使用--copyright参数生成报告失败"
|
||||
|
||||
# 检查报告文件是否生成
|
||||
LOG_INFO "检查报告文件是否生成"
|
||||
if [ -f "$REPORT_FILE" ]; then
|
||||
LOG_INFO "报告文件已生成:$REPORT_FILE"
|
||||
# 检查报告内容
|
||||
LOG_INFO "检查报告内容"
|
||||
grep -q "Test Copyright 2023" $REPORT_FILE
|
||||
CHECK_RESULT $? 0 0 "报告中未找到指定的版权信息"
|
||||
grep -q "Apache License 2.0" $REPORT_FILE
|
||||
CHECK_RESULT $? 0 0 "报告中未找到指定的许可证信息"
|
||||
else
|
||||
LOG_ERROR "报告文件未生成"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -rf $TEST_DIR
|
||||
rm -f $COPYRIGHT_FILE
|
||||
rm -f $REPORT_FILE
|
||||
|
||||
# 如果测试前未安装软件包,则在测试后卸载
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载apache-rat-core软件包"
|
||||
dnf remove -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "卸载apache-rat-core失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,94 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用指定的版权信息生成报告
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:测试使用指定的版权信息生成报告"
|
||||
|
||||
# 检查yum源中是否存在apache-rat-core软件包
|
||||
LOG_INFO "检查yum源中是否存在apache-rat-core软件包"
|
||||
dnf list available apache-rat-core 2>/dev/null | grep -q apache-rat-core
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到apache-rat-core软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查系统是否已安装apache-rat-core
|
||||
LOG_INFO "检查系统是否已安装apache-rat-core"
|
||||
rpm -q apache-rat-core >/dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "apache-rat-core已安装,测试后保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "apache-rat-core未安装,将在测试后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装apache-rat-core软件包"
|
||||
dnf install -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "安装apache-rat-core失败"
|
||||
fi
|
||||
|
||||
# 检查rat命令是否支持--copyright参数
|
||||
LOG_INFO "检查rat命令是否支持--copyright参数"
|
||||
rat --help 2>&1 | grep -q -- "--copyright"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "rat命令不支持--copyright参数"
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载apache-rat-core软件包"
|
||||
dnf remove -y apache-rat-core
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 创建测试目录和文件
|
||||
LOG_INFO "创建测试目录和文件"
|
||||
TEST_DIR="/tmp/test_rat_copyright"
|
||||
mkdir -p $TEST_DIR
|
||||
echo "Test file content" > $TEST_DIR/test1.txt
|
||||
echo "Another test file" > $TEST_DIR/test2.txt
|
||||
|
||||
# 使用指定的版权信息生成报告
|
||||
LOG_INFO "使用指定的版权信息生成报告"
|
||||
rat --copyright "Test Copyright 2023" $TEST_DIR > $TEST_DIR/report.txt 2>&1
|
||||
CHECK_RESULT $? 0 0 "使用--copyright参数生成报告失败"
|
||||
|
||||
# 验证报告中包含指定的版权信息
|
||||
LOG_INFO "验证报告中包含指定的版权信息"
|
||||
grep -q "Test Copyright 2023" $TEST_DIR/report.txt
|
||||
CHECK_RESULT $? 0 0 "报告中未找到指定的版权信息"
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -rf $TEST_DIR
|
||||
|
||||
# 如果测试前未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载apache-rat-core软件包"
|
||||
dnf remove -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "卸载apache-rat-core失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:测试使用指定的版权信息生成报告"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,72 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试指定源目录
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试指定源目录"
|
||||
LOG_INFO "检查是否已安装apache-rat-core软件包"
|
||||
if rpm -q apache-rat-core &>/dev/null; then
|
||||
LOG_INFO "apache-rat-core已安装,测试结束后保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "apache-rat-core未安装,将在测试过程中安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
LOG_INFO "检查yum源中是否存在apache-rat-core软件包"
|
||||
if ! dnf list available apache-rat-core &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到apache-rat-core软件包"
|
||||
exit 255
|
||||
fi
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "安装apache-rat-core软件包"
|
||||
dnf install -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "安装apache-rat-core失败"
|
||||
fi
|
||||
LOG_INFO "测试指定源目录功能"
|
||||
LOG_INFO "执行rat命令检查指定源目录"
|
||||
rat --help 2>&1 | grep -q "\-\-dir"
|
||||
CHECK_RESULT $? 0 0 "rat命令不支持--dir参数"
|
||||
LOG_INFO "创建测试源目录结构"
|
||||
mkdir -p /tmp/test_rat_src/{src,doc}
|
||||
echo "Test source file" > /tmp/test_rat_src/src/test1.java
|
||||
echo "Another test file" > /tmp/test_rat_src/src/test2.c
|
||||
echo "Documentation" > /tmp/test_rat_src/doc/README.txt
|
||||
LOG_INFO "使用rat命令分析指定源目录"
|
||||
rat --dir /tmp/test_rat_src/src --report /tmp/rat_report.txt
|
||||
CHECK_RESULT $? 0 0 "rat命令执行失败"
|
||||
LOG_INFO "验证rat报告文件生成"
|
||||
[ -f /tmp/rat_report.txt ]
|
||||
CHECK_RESULT $? 0 0 "rat报告文件未生成"
|
||||
LOG_INFO "检查报告内容"
|
||||
grep -q "test1.java" /tmp/rat_report.txt
|
||||
CHECK_RESULT $? 0 0 "报告中未找到test1.java"
|
||||
grep -q "test2.c" /tmp/rat_report.txt
|
||||
CHECK_RESULT $? 0 0 "报告中未找到test2.c"
|
||||
LOG_INFO "清理临时测试文件"
|
||||
rm -rf /tmp/test_rat_src /tmp/rat_report.txt
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "卸载测试安装的apache-rat-core软件包"
|
||||
dnf remove -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "卸载apache-rat-core失败"
|
||||
fi
|
||||
LOG_INFO "测试指定源目录完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,110 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试为指定目录下的文件应用通配符排除规则
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义颜色输出函数(可选,但通常LOG_INFO/LOG_ERROR会处理)
|
||||
LOG_INFO() {
|
||||
echo "[INFO] $*"
|
||||
}
|
||||
|
||||
LOG_ERROR() {
|
||||
echo "[ERROR] $*" >&2
|
||||
}
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="apache-rat-core"
|
||||
PACKAGE_NAME_DEVEL="apache-rat-devel"
|
||||
|
||||
# 定义测试目录
|
||||
TEST_DIR="/tmp/test_rat_dir"
|
||||
|
||||
# 步骤1:检查yum源中是否有指定的软件包
|
||||
LOG_INFO "步骤1:检查yum源中是否有${PACKAGE_NAME}和${PACKAGE_NAME_DEVEL}软件包"
|
||||
dnf list available ${PACKAGE_NAME} ${PACKAGE_NAME_DEVEL} &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中没有找到${PACKAGE_NAME}或${PACKAGE_NAME_DEVEL}软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤2:检查当前环境是否已经安装了软件包
|
||||
LOG_INFO "步骤2:检查当前环境是否已经安装了${PACKAGE_NAME}和${PACKAGE_NAME_DEVEL}"
|
||||
rpm -q ${PACKAGE_NAME} ${PACKAGE_NAME_DEVEL} &>/dev/null
|
||||
INSTALLED=$?
|
||||
|
||||
# 步骤3:如果未安装,则安装软件包
|
||||
if [ ${INSTALLED} -ne 0 ]; then
|
||||
LOG_INFO "步骤3:安装${PACKAGE_NAME}和${PACKAGE_NAME_DEVEL}软件包"
|
||||
dnf install -y ${PACKAGE_NAME} ${PACKAGE_NAME_DEVEL}
|
||||
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}和${PACKAGE_NAME_DEVEL}失败"
|
||||
fi
|
||||
|
||||
# 步骤4:创建测试目录和测试文件
|
||||
LOG_INFO "步骤4:创建测试目录和测试文件"
|
||||
rm -rf ${TEST_DIR}
|
||||
mkdir -p ${TEST_DIR}
|
||||
echo "This is a test file." > ${TEST_DIR}/test1.txt
|
||||
echo "Another test file." > ${TEST_DIR}/test2.txt
|
||||
echo "Excluded file." > ${TEST_DIR}/exclude.txt
|
||||
CHECK_RESULT $? 0 0 "创建测试文件失败"
|
||||
|
||||
# 步骤5:测试为指定目录下的文件应用通配符排除规则
|
||||
LOG_INFO "步骤5:测试为指定目录下的文件应用通配符排除规则"
|
||||
# 假设apache-rat命令支持--exclude参数,这里使用示例命令
|
||||
# 注意:实际命令应根据apache-rat的真实用法调整
|
||||
rat_command="rat" # 假设命令名为rat
|
||||
if ! command -v ${rat_command} &>/dev/null; then
|
||||
LOG_ERROR "命令${rat_command}不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 示例:使用通配符排除exclude.txt文件
|
||||
${rat_command} --exclude="*exclude.txt" ${TEST_DIR}/*.txt &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "应用通配符排除规则失败"
|
||||
|
||||
# 步骤6:验证排除规则是否生效
|
||||
LOG_INFO "步骤6:验证排除规则是否生效"
|
||||
# 这里假设rat命令会输出处理文件列表,检查exclude.txt是否被排除
|
||||
# 示例:使用grep检查输出中是否不包含exclude.txt
|
||||
${rat_command} --exclude="*exclude.txt" ${TEST_DIR}/*.txt 2>&1 | grep -q "exclude.txt"
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "排除规则未生效:exclude.txt未被排除"
|
||||
exit 1
|
||||
fi
|
||||
LOG_INFO "排除规则生效:exclude.txt已被成功排除"
|
||||
|
||||
# 步骤7:清理测试目录
|
||||
LOG_INFO "步骤7:清理测试目录"
|
||||
rm -rf ${TEST_DIR}
|
||||
CHECK_RESULT $? 0 0 "清理测试目录失败"
|
||||
|
||||
# 步骤8:如果脚本开始时未安装软件包,则卸载
|
||||
if [ ${INSTALLED} -ne 0 ]; then
|
||||
LOG_INFO "步骤8:卸载${PACKAGE_NAME}和${PACKAGE_NAME_DEVEL}软件包"
|
||||
dnf remove -y ${PACKAGE_NAME} ${PACKAGE_NAME_DEVEL}
|
||||
CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}和${PACKAGE_NAME_DEvel}失败"
|
||||
else
|
||||
LOG_INFO "步骤8:环境已安装软件包,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,83 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试为指定目录下的文件应用正则表达式排除规则
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:为指定目录下的文件应用正则表达式排除规则"
|
||||
LOG_INFO "步骤1:检查环境中是否已安装apache-rat-core软件包"
|
||||
rpm -q apache-rat-core > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "apache-rat-core软件包已安装,测试后将保持安装状态"
|
||||
already_installed=1
|
||||
else
|
||||
LOG_INFO "apache-rat-core软件包未安装,将在测试中安装"
|
||||
already_installed=0
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查yum源中是否存在apache-rat-core软件包"
|
||||
dnf list available apache-rat-core > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到apache-rat-core软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤3:如果未安装,则安装apache-rat-core软件包"
|
||||
if [ $already_installed -eq 0 ]; then
|
||||
dnf install -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "安装apache-rat-core软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:创建一个测试目录和文件"
|
||||
test_dir="/tmp/test_rat_dir"
|
||||
mkdir -p $test_dir
|
||||
echo "This is a test file." > $test_dir/test.txt
|
||||
echo "Another test file." > $test_dir/test2.txt
|
||||
|
||||
LOG_INFO "步骤5:检查apache-rat命令是否支持-d参数"
|
||||
rat --help 2>&1 | grep -q "\-d"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "apache-rat命令不支持-d参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤6:检查apache-rat命令是否支持-e参数"
|
||||
rat --help 2>&1 | grep -q "\-e"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "apache-rat命令不支持-e参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤7:执行apache-rat命令,为指定目录应用正则表达式排除规则"
|
||||
rat -d $test_dir -e ".*test2.*"
|
||||
CHECK_RESULT $? 0 0 "为指定目录应用正则表达式排除规则失败"
|
||||
|
||||
LOG_INFO "步骤8:清理测试目录"
|
||||
rm -rf $test_dir
|
||||
|
||||
LOG_INFO "步骤9:如果测试前未安装,则卸载apache-rat-core软件包"
|
||||
if [ $already_installed -eq 0 ]; then
|
||||
dnf remove -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "卸载apache-rat-core软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:为指定目录下的文件应用正则表达式排除规则"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,118 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试指定源目录
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试指定源目录
|
||||
LOG_INFO "开始测试apache-rat-core软件包的目录功能"
|
||||
|
||||
# 检查软件包是否已在yum源中
|
||||
LOG_INFO "检查yum源中是否存在apache-rat-core软件包"
|
||||
dnf list available apache-rat-core 2>/dev/null | grep -q apache-rat-core
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到apache-rat-core软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装apache-rat-core
|
||||
LOG_INFO "检查系统是否已安装apache-rat-core"
|
||||
rpm -q apache-rat-core >/dev/null 2>&1
|
||||
installed_before=$?
|
||||
|
||||
if [ $installed_before -ne 0 ]; then
|
||||
LOG_INFO "系统未安装apache-rat-core,开始安装"
|
||||
dnf install -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "安装apache-rat-core失败"
|
||||
|
||||
# 记录安装状态,用于后续清理
|
||||
need_cleanup=1
|
||||
else
|
||||
LOG_INFO "系统已安装apache-rat-core,保持安装状态"
|
||||
need_cleanup=0
|
||||
fi
|
||||
|
||||
# 测试rat命令的目录参数
|
||||
LOG_INFO "测试rat命令的目录参数功能"
|
||||
rat --help 2>&1 | grep -q "directory"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "rat命令不支持目录参数"
|
||||
if [ $need_cleanup -eq 1 ]; then
|
||||
dnf remove -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "卸载apache-rat-core失败"
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 创建测试目录结构
|
||||
LOG_INFO "创建测试目录结构"
|
||||
test_dir="/tmp/test_rat_dir_$(date +%s)"
|
||||
mkdir -p $test_dir/subdir
|
||||
echo "Test file 1" > $test_dir/file1.txt
|
||||
echo "Test file 2" > $test_dir/subdir/file2.txt
|
||||
echo "Test file 3" > $test_dir/subdir/file3.java
|
||||
|
||||
# 测试对目录执行rat命令
|
||||
LOG_INFO "对测试目录执行rat命令"
|
||||
rat -d $test_dir > /tmp/rat_output.txt 2>&1
|
||||
CHECK_RESULT $? 0 0 "对目录执行rat命令失败"
|
||||
|
||||
# 检查输出结果
|
||||
LOG_INFO "检查rat命令输出结果"
|
||||
grep -q "file1.txt" /tmp/rat_output.txt
|
||||
CHECK_RESULT $? 0 0 "输出中未找到file1.txt"
|
||||
grep -q "file2.txt" /tmp/rat_output.txt
|
||||
CHECK_RESULT $? 0 0 "输出中未找到file2.txt"
|
||||
grep -q "file3.java" /tmp/rat_output.txt
|
||||
CHECK_RESULT $? 0 0 "输出中未找到file3.java"
|
||||
|
||||
# 测试不存在的目录
|
||||
LOG_INFO "测试对不存在的目录执行rat命令"
|
||||
rat -d /tmp/nonexistent_dir_$(date +%s) 2>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "对不存在的目录执行rat命令应失败但成功了"
|
||||
CHECK_RESULT 1 0 0 "目录参数验证失败"
|
||||
fi
|
||||
|
||||
# 测试无效目录参数
|
||||
LOG_INFO "测试无效目录参数"
|
||||
rat -d 2>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "无效目录参数应失败但成功了"
|
||||
CHECK_RESULT 1 0 0 "目录参数验证失败"
|
||||
fi
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -rf $test_dir
|
||||
rm -f /tmp/rat_output.txt
|
||||
|
||||
# 根据初始状态决定是否卸载软件包
|
||||
if [ $need_cleanup -eq 1 ]; then
|
||||
LOG_INFO "清理测试环境,卸载apache-rat-core"
|
||||
dnf remove -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "卸载apache-rat-core失败"
|
||||
else
|
||||
LOG_INFO "保持apache-rat-core安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "apache-rat-core目录功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,104 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用通配符表达式排除文件
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义变量
|
||||
PACKAGE_NAME="apache-rat-core"
|
||||
TEST_DIR="/tmp/test_rat"
|
||||
EXCLUDE_PATTERN="*.txt"
|
||||
|
||||
# 步骤1:检查yum源中是否存在软件包
|
||||
LOG_INFO "步骤1:检查yum源中是否存在${PACKAGE_NAME}软件包"
|
||||
dnf list available ${PACKAGE_NAME} &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到${PACKAGE_NAME}软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤2:检查系统是否已安装软件包
|
||||
LOG_INFO "步骤2:检查系统是否已安装${PACKAGE_NAME}软件包"
|
||||
rpm -q ${PACKAGE_NAME} &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
ALREADY_INSTALLED=true
|
||||
LOG_INFO "系统已安装${PACKAGE_NAME}软件包"
|
||||
else
|
||||
ALREADY_INSTALLED=false
|
||||
LOG_INFO "系统未安装${PACKAGE_NAME}软件包"
|
||||
fi
|
||||
|
||||
# 步骤3:如果未安装则安装软件包
|
||||
if [ "${ALREADY_INSTALLED}" = "false" ]; then
|
||||
LOG_INFO "步骤3:安装${PACKAGE_NAME}软件包"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}软件包失败"
|
||||
fi
|
||||
|
||||
# 步骤4:检查rat命令是否存在
|
||||
LOG_INFO "步骤4:检查rat命令是否存在"
|
||||
which rat &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "rat命令不存在"
|
||||
|
||||
# 步骤5:检查rat命令是否支持--exclude参数
|
||||
LOG_INFO "步骤5:检查rat命令是否支持--exclude参数"
|
||||
rat --help 2>&1 | grep -q "\-\-exclude"
|
||||
CHECK_RESULT $? 0 255 "rat命令不支持--exclude参数"
|
||||
|
||||
# 步骤6:创建测试目录和文件
|
||||
LOG_INFO "步骤6:创建测试目录和文件"
|
||||
mkdir -p ${TEST_DIR}
|
||||
echo "test content 1" > ${TEST_DIR}/file1.java
|
||||
echo "test content 2" > ${TEST_DIR}/file2.txt
|
||||
echo "test content 3" > ${TEST_DIR}/file3.java
|
||||
echo "test content 4" > ${TEST_DIR}/file4.txt
|
||||
|
||||
# 步骤7:使用通配符表达式排除文件进行测试
|
||||
LOG_INFO "步骤7:使用通配符表达式排除文件进行测试"
|
||||
cd ${TEST_DIR}
|
||||
rat --exclude "${EXCLUDE_PATTERN}" . 2>&1 | tee /tmp/rat_output.txt
|
||||
CHECK_RESULT $? 0 0 "rat命令执行失败"
|
||||
|
||||
# 步骤8:验证排除结果
|
||||
LOG_INFO "步骤8:验证排除结果"
|
||||
grep -q "file1.java" /tmp/rat_output.txt
|
||||
CHECK_RESULT $? 0 0 "file1.java未被正确包含"
|
||||
grep -q "file3.java" /tmp/rat_output.txt
|
||||
CHECK_RESULT $? 0 0 "file3.java未被正确包含"
|
||||
grep -q "file2.txt" /tmp/rat_output.txt
|
||||
CHECK_RESULT $? 1 0 "file2.txt未被正确排除"
|
||||
grep -q "file4.txt" /tmp/rat_output.txt
|
||||
CHECK_RESULT $? 1 0 "file4.txt未被正确排除"
|
||||
|
||||
# 步骤9:清理测试文件
|
||||
LOG_INFO "步骤9:清理测试文件"
|
||||
rm -rf ${TEST_DIR}
|
||||
rm -f /tmp/rat_output.txt
|
||||
|
||||
# 步骤10:如果测试前未安装则卸载软件包
|
||||
if [ "${ALREADY_INSTALLED}" = "false" ]; then
|
||||
LOG_INFO "步骤10:卸载${PACKAGE_NAME}软件包"
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:使用通配符表达式排除文件功能正常"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,101 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用通配符表达式排除文件
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="apache-rat-core"
|
||||
# 定义测试文件目录
|
||||
TEST_DIR="/tmp/test_rat"
|
||||
# 定义排除模式
|
||||
EXCLUDE_PATTERN="*.txt"
|
||||
|
||||
# 步骤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}"
|
||||
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 "安装软件包 ${PACKAGE_NAME}"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "安装软件包 ${PACKAGE_NAME} 失败"
|
||||
fi
|
||||
|
||||
# 步骤4:创建测试目录和文件
|
||||
LOG_INFO "创建测试目录和文件"
|
||||
rm -rf ${TEST_DIR}
|
||||
mkdir -p ${TEST_DIR}
|
||||
echo "Test content for Java file" > ${TEST_DIR}/Test.java
|
||||
echo "Test content for text file 1" > ${TEST_DIR}/file1.txt
|
||||
echo "Test content for text file 2" > ${TEST_DIR}/file2.txt
|
||||
echo "Test content for another Java file" > ${TEST_DIR}/AnotherTest.java
|
||||
|
||||
# 步骤5:检查rat命令是否支持--exclude参数
|
||||
LOG_INFO "检查rat命令是否支持--exclude参数"
|
||||
rat --help 2>&1 | grep -q "\-\-exclude"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "rat命令不支持--exclude参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤6:使用通配符表达式排除文件执行rat命令
|
||||
LOG_INFO "使用通配符表达式排除文件执行rat命令"
|
||||
cd ${TEST_DIR}
|
||||
rat --exclude "${EXCLUDE_PATTERN}" . > ${TEST_DIR}/rat_output.txt 2>&1
|
||||
CHECK_RESULT $? 0 0 "rat命令执行失败"
|
||||
|
||||
# 步骤7:检查输出结果,确认txt文件被排除
|
||||
LOG_INFO "检查输出结果,确认txt文件被排除"
|
||||
if grep -q "file1.txt" ${TEST_DIR}/rat_output.txt || grep -q "file2.txt" ${TEST_DIR}/rat_output.txt; then
|
||||
LOG_ERROR "排除文件失败,输出中包含txt文件"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "排除文件成功,输出中未包含txt文件"
|
||||
fi
|
||||
|
||||
# 步骤8:清理测试目录
|
||||
LOG_INFO "清理测试目录"
|
||||
rm -rf ${TEST_DIR}
|
||||
|
||||
# 步骤9:如果测试前未安装,则卸载软件包
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "卸载软件包 ${PACKAGE_NAME}"
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 ${PACKAGE_NAME} 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,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-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用正则表达式文件排除文件
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:测试使用正则表达式文件排除文件"
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
LOG_INFO "检查apache-rat-core软件包是否在yum源中"
|
||||
dnf list available apache-rat-core 2>/dev/null | grep -q apache-rat-core
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到apache-rat-core软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装
|
||||
LOG_INFO "检查apache-rat-core是否已安装"
|
||||
rpm -q apache-rat-core >/dev/null 2>&1
|
||||
installed=$?
|
||||
|
||||
if [ $installed -ne 0 ]; then
|
||||
LOG_INFO "安装apache-rat-core软件包"
|
||||
dnf install -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "安装apache-rat-core失败"
|
||||
fi
|
||||
|
||||
# 检查apache-rat命令是否支持--exclude-file参数
|
||||
LOG_INFO "检查apache-rat命令是否支持--exclude-file参数"
|
||||
apache-rat --help 2>&1 | grep -q -- --exclude-file
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "apache-rat命令不支持--exclude-file参数"
|
||||
if [ $installed -ne 0 ]; then
|
||||
LOG_INFO "清理环境:卸载apache-rat-core"
|
||||
dnf remove -y apache-rat-core
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 创建测试目录和文件
|
||||
LOG_INFO "创建测试目录和文件"
|
||||
test_dir="/tmp/test_apache_rat_$(date +%s)"
|
||||
mkdir -p $test_dir
|
||||
echo "Test file 1" > $test_dir/file1.txt
|
||||
echo "Test file 2" > $test_dir/file2.txt
|
||||
echo "Test file 3" > $test_dir/file3.txt
|
||||
|
||||
# 创建排除文件列表
|
||||
LOG_INFO "创建正则表达式排除文件"
|
||||
exclude_file="/tmp/exclude_patterns_$(date +%s).txt"
|
||||
echo ".*file2.*" > $exclude_file
|
||||
echo ".*file3.*" >> $exclude_file
|
||||
|
||||
# 执行apache-rat命令,使用正则表达式排除文件
|
||||
LOG_INFO "执行apache-rat命令,使用正则表达式文件排除文件"
|
||||
apache-rat --exclude-file $exclude_file $test_dir > /tmp/rat_output.txt 2>&1
|
||||
CHECK_RESULT $? 0 0 "apache-rat命令执行失败"
|
||||
|
||||
# 检查输出结果
|
||||
LOG_INFO "检查输出结果"
|
||||
grep -q "file1.txt" /tmp/rat_output.txt
|
||||
CHECK_RESULT $? 0 0 "输出中应包含file1.txt"
|
||||
grep -q "file2.txt" /tmp/rat_output.txt
|
||||
CHECK_RESULT $? 1 0 "输出中不应包含file2.txt"
|
||||
grep -q "file3.txt" /tmp/rat_output.txt
|
||||
CHECK_RESULT $? 1 0 "输出中不应包含file3.txt"
|
||||
|
||||
# 清理临时文件
|
||||
LOG_INFO "清理临时文件"
|
||||
rm -rf $test_dir
|
||||
rm -f $exclude_file
|
||||
rm -f /tmp/rat_output.txt
|
||||
|
||||
# 恢复环境
|
||||
if [ $installed -ne 0 ]; then
|
||||
LOG_INFO "清理环境:卸载apache-rat-core"
|
||||
dnf remove -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "卸载apache-rat-core失败"
|
||||
else
|
||||
LOG_INFO "保持apache-rat-core安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:测试使用正则表达式文件排除文件"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,95 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试强制修改源文件
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试:测试强制修改源文件"
|
||||
|
||||
LOG_INFO "步骤1:检查yum源中是否存在apache-rat-core软件包"
|
||||
if ! dnf list available apache-rat-core 2>/dev/null | grep -q "apache-rat-core"; then
|
||||
LOG_ERROR "yum源中未找到apache-rat-core软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查系统是否已安装apache-rat-core"
|
||||
if rpm -q apache-rat-core &>/dev/null; then
|
||||
INSTALLED=true
|
||||
LOG_INFO "apache-rat-core已安装,测试结束后保持安装状态"
|
||||
else
|
||||
INSTALLED=false
|
||||
LOG_INFO "apache-rat-core未安装,将在测试过程中安装"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤3:检查rat命令的--force参数是否支持"
|
||||
if ! rat --help 2>&1 | grep -q -- "--force"; then
|
||||
LOG_ERROR "rat命令不支持--force参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤4:安装apache-rat-core软件包"
|
||||
dnf install -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "安装apache-rat-core失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤5:创建测试源文件"
|
||||
cat > test_source.java << "EOF"
|
||||
public class Test {
|
||||
// Sample source file
|
||||
public static void main(String[] args) {
|
||||
System.out.println("Hello, RAT!");
|
||||
}
|
||||
}
|
||||
EOF
|
||||
|
||||
LOG_INFO "步骤6:使用rat命令检查源文件(正常模式)"
|
||||
rat test_source.java
|
||||
CHECK_RESULT $? 0 0 "rat命令执行失败"
|
||||
|
||||
LOG_INFO "步骤7:使用rat命令强制修改源文件(--force参数)"
|
||||
rat --force test_source.java
|
||||
CHECK_RESULT $? 0 0 "rat命令--force参数执行失败"
|
||||
|
||||
LOG_INFO "步骤8:验证源文件是否被修改"
|
||||
if [ -f test_source.java ]; then
|
||||
LOG_INFO "源文件test_source.java仍然存在"
|
||||
cat test_source.java
|
||||
else
|
||||
LOG_ERROR "源文件test_source.java不存在,可能被意外删除"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤9:清理测试文件"
|
||||
rm -f test_source.java
|
||||
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤10:卸载apache-rat-core软件包"
|
||||
dnf remove -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "卸载apache-rat-core失败"
|
||||
else
|
||||
LOG_INFO "步骤10:保持apache-rat-core安装状态,不执行卸载"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:测试强制修改源文件"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,81 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试强制修改源文件
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试apache-rat-core软件包强制修改源文件功能"
|
||||
|
||||
# 检查yum源中是否存在apache-rat-core软件包
|
||||
LOG_INFO "检查yum源中是否存在apache-rat-core软件包"
|
||||
dnf list available apache-rat-core 2>&1 | grep -q "apache-rat-core"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到apache-rat-core软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查系统是否已安装apache-rat-core
|
||||
LOG_INFO "检查系统是否已安装apache-rat-core"
|
||||
rpm -q apache-rat-core > /dev/null 2>&1
|
||||
installed=$?
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $installed -ne 0 ]; then
|
||||
LOG_INFO "安装apache-rat-core软件包"
|
||||
dnf install -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "安装apache-rat-core失败"
|
||||
fi
|
||||
|
||||
# 测试强制修改源文件功能
|
||||
LOG_INFO "测试强制修改源文件功能"
|
||||
# 假设apache-rat-core提供了--force参数用于强制修改源文件
|
||||
# 检查--force参数是否存在
|
||||
apache-rat --help 2>&1 | grep -q -- "--force"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "apache-rat命令不支持--force参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 创建测试文件
|
||||
LOG_INFO "创建测试文件"
|
||||
test_file="test_source_file.txt"
|
||||
echo "This is a test source file for apache-rat" > $test_file
|
||||
CHECK_RESULT $? 0 0 "创建测试文件失败"
|
||||
|
||||
# 使用--force参数执行命令
|
||||
LOG_INFO "使用--force参数执行apache-rat命令"
|
||||
apache-rat --force $test_file
|
||||
CHECK_RESULT $? 0 0 "强制修改源文件失败"
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f $test_file
|
||||
CHECK_RESULT $? 0 0 "清理测试文件失败"
|
||||
|
||||
# 环境恢复:如果测试前未安装,则卸载软件包
|
||||
if [ $installed -ne 0 ]; then
|
||||
LOG_INFO "卸载apache-rat-core软件包"
|
||||
dnf remove -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "卸载apache-rat-core失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,72 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试显示帮助信息
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试apache-rat-core包:测试显示帮助信息"
|
||||
|
||||
# 检查yum源中是否存在apache-rat-core包
|
||||
LOG_INFO "检查yum源中是否存在apache-rat-core包"
|
||||
dnf list available apache-rat-core 2>/dev/null | grep -q apache-rat-core
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到apache-rat-core包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装apache-rat-core包
|
||||
LOG_INFO "检查是否已安装apache-rat-core包"
|
||||
rpm -q apache-rat-core >/dev/null 2>&1
|
||||
installed=$?
|
||||
|
||||
if [ $installed -ne 0 ]; then
|
||||
LOG_INFO "未安装apache-rat-core包,开始安装"
|
||||
dnf install -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "安装apache-rat-core包失败"
|
||||
|
||||
# 标记需要清理
|
||||
need_cleanup=1
|
||||
else
|
||||
LOG_INFO "apache-rat-core包已安装"
|
||||
need_cleanup=0
|
||||
fi
|
||||
|
||||
# 测试显示帮助信息
|
||||
LOG_INFO "测试显示帮助信息"
|
||||
rat --help >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "执行rat --help命令失败"
|
||||
|
||||
# 检查帮助信息中是否包含usage或help关键字
|
||||
LOG_INFO "验证帮助信息内容"
|
||||
rat --help 2>&1 | grep -q -E "usage|help|Usage|Help"
|
||||
CHECK_RESULT $? 0 0 "帮助信息中未找到usage或help关键字"
|
||||
|
||||
# 环境清理
|
||||
if [ $need_cleanup -eq 1 ]; then
|
||||
LOG_INFO "清理测试环境,卸载apache-rat-core包"
|
||||
dnf remove -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "卸载apache-rat-core包失败"
|
||||
else
|
||||
LOG_INFO "保持apache-rat-core包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,101 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试显示帮助信息
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试显示帮助信息
|
||||
|
||||
LOG_INFO "开始测试apache-rat-core软件包的帮助信息功能"
|
||||
|
||||
# 检查软件包是否已在yum源中
|
||||
LOG_INFO "步骤1:检查apache-rat-core软件包是否在yum源中"
|
||||
dnf list available apache-rat-core > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "apache-rat-core软件包不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "apache-rat-core软件包在yum源中"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "步骤2:检查apache-rat-core软件包是否已安装"
|
||||
rpm -q apache-rat-core > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
already_installed=true
|
||||
LOG_INFO "apache-rat-core软件包已安装"
|
||||
else
|
||||
already_installed=false
|
||||
LOG_INFO "apache-rat-core软件包未安装"
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$already_installed" = "false" ]; then
|
||||
LOG_INFO "步骤3:安装apache-rat-core软件包"
|
||||
dnf install -y apache-rat-core > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装apache-rat-core软件包失败"
|
||||
LOG_INFO "apache-rat-core软件包安装成功"
|
||||
fi
|
||||
|
||||
# 测试帮助信息功能
|
||||
LOG_INFO "步骤4:测试apache-rat-core的帮助信息功能"
|
||||
|
||||
# 检查--help参数是否存在
|
||||
LOG_INFO "步骤4.1:检查apache-rat命令是否支持--help参数"
|
||||
rat --help > /dev/null 2>&1
|
||||
if [ $? -eq 255 ]; then
|
||||
LOG_ERROR "apache-rat命令不支持--help参数"
|
||||
# 如果软件包是本次安装的,需要卸载
|
||||
if [ "$already_installed" = "false" ]; then
|
||||
LOG_INFO "清理环境:卸载apache-rat-core软件包"
|
||||
dnf remove -y apache-rat-core > /dev/null 2>&1
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行帮助命令
|
||||
LOG_INFO "步骤4.2:执行apache-rat --help命令"
|
||||
rat --help > /tmp/rat_help_output.txt 2>&1
|
||||
CHECK_RESULT $? 0 0 "执行apache-rat --help命令失败"
|
||||
|
||||
# 检查帮助信息是否包含关键内容
|
||||
LOG_INFO "步骤4.3:验证帮助信息内容"
|
||||
grep -i "usage" /tmp/rat_help_output.txt > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "帮助信息中未找到使用说明"
|
||||
|
||||
grep -i "options" /tmp/rat_help_output.txt > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "帮助信息中未找到选项说明"
|
||||
|
||||
# 清理临时文件
|
||||
rm -f /tmp/rat_help_output.txt
|
||||
|
||||
# 环境恢复
|
||||
LOG_INFO "步骤5:恢复测试环境"
|
||||
if [ "$already_installed" = "false" ]; then
|
||||
LOG_INFO "卸载测试安装的apache-rat-core软件包"
|
||||
dnf remove -y apache-rat-core > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载apache-rat-core软件包失败"
|
||||
LOG_INFO "环境已恢复到测试前状态"
|
||||
else
|
||||
LOG_INFO "保持原有安装状态,不卸载软件包"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试apache-rat-core帮助信息功能完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,106 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用XSLT样式表生成报告
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:测试使用XSLT样式表生成报告"
|
||||
|
||||
LOG_INFO "步骤1: 检查环境中是否已安装apache-rat-core软件包"
|
||||
rpm -q apache-rat-core > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "apache-rat-core软件包已安装,测试后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "apache-rat-core软件包未安装,测试前将安装,测试后将卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2: 检查yum源中是否有apache-rat-core软件包"
|
||||
dnf list available apache-rat-core > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到apache-rat-core软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤3: 安装apache-rat-core软件包"
|
||||
dnf install -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "安装apache-rat-core软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4: 验证rat命令是否存在"
|
||||
which rat > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "rat命令不存在"
|
||||
|
||||
LOG_INFO "步骤5: 验证rat命令是否支持--help参数"
|
||||
rat --help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "rat命令不支持--help参数"
|
||||
|
||||
LOG_INFO "步骤6: 验证rat命令是否支持-X参数(XSLT样式表)"
|
||||
rat --help 2>&1 | grep -q "\-X"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "rat命令不支持-X参数(XSLT样式表)"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤7: 创建一个临时测试目录和文件"
|
||||
TEST_DIR=$(mktemp -d)
|
||||
TEST_FILE="${TEST_DIR}/test.java"
|
||||
echo "// Test Java file" > "$TEST_FILE"
|
||||
CHECK_RESULT $? 0 0 "创建测试文件失败"
|
||||
|
||||
LOG_INFO "步骤8: 创建一个简单的XSLT样式表文件"
|
||||
XSLT_FILE="${TEST_DIR}/test.xslt"
|
||||
cat > "$XSLT_FILE" << EOF
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||
<xsl:template match="/">
|
||||
<html><body><h1>Test Report</h1></body></html>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "创建XSLT样式表文件失败"
|
||||
|
||||
LOG_INFO "步骤9: 使用rat命令配合XSLT样式表生成报告"
|
||||
rat -X "$XSLT_FILE" "$TEST_DIR" > "${TEST_DIR}/report.html" 2>&1
|
||||
CHECK_RESULT $? 0 0 "使用XSLT样式表生成报告失败"
|
||||
|
||||
LOG_INFO "步骤10: 验证生成的报告文件是否存在且非空"
|
||||
if [ -s "${TEST_DIR}/report.html" ]; then
|
||||
LOG_INFO "报告文件生成成功"
|
||||
else
|
||||
LOG_ERROR "报告文件生成失败或为空"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤11: 清理临时测试目录"
|
||||
rm -rf "$TEST_DIR"
|
||||
CHECK_RESULT $? 0 0 "清理临时目录失败"
|
||||
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤12: 卸载apache-rat-core软件包"
|
||||
dnf remove -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "卸载apache-rat-core软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:测试使用XSLT样式表生成报告"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,78 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用XSLT样式表生成报告
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试使用XSLT样式表生成报告"
|
||||
LOG_INFO "检查是否已安装apache-rat-core和apache-rat-stylesheet软件包"
|
||||
if dnf list installed apache-rat-core > /dev/null 2>&1 && dnf list installed apache-rat-stylesheet > /dev/null 2>&1; then
|
||||
LOG_INFO "软件包已安装,测试结束后保持安装状态"
|
||||
installed_before=true
|
||||
else
|
||||
LOG_INFO "软件包未安装,将在测试过程中安装"
|
||||
installed_before=false
|
||||
fi
|
||||
|
||||
LOG_INFO "检查yum源中是否有apache-rat-core和apache-rat-stylesheet软件包"
|
||||
if ! dnf list available apache-rat-core > /dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中未找到apache-rat-core软件包"
|
||||
exit 255
|
||||
fi
|
||||
if ! dnf list available apache-rat-stylesheet > /dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中未找到apache-rat-stylesheet软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "安装apache-rat-core和apache-rat-stylesheet软件包"
|
||||
dnf install -y apache-rat-core apache-rat-stylesheet
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
|
||||
LOG_INFO "检查rat命令是否支持--stylesheet参数"
|
||||
rat --help | grep -q "\-\-stylesheet"
|
||||
CHECK_RESULT $? 0 0 "rat命令不支持--stylesheet参数"
|
||||
|
||||
LOG_INFO "创建一个测试目录和文件"
|
||||
mkdir -p /tmp/test_rat
|
||||
echo "Test file content" > /tmp/test_rat/test.txt
|
||||
|
||||
LOG_INFO "使用XSLT样式表生成报告"
|
||||
rat --stylesheet /usr/share/apache-rat/apache-rat-default.xsl /tmp/test_rat > /tmp/rat_report.html 2>&1
|
||||
CHECK_RESULT $? 0 0 "使用XSLT样式表生成报告失败"
|
||||
|
||||
LOG_INFO "检查生成的报告文件是否存在"
|
||||
ls -l /tmp/rat_report.html
|
||||
CHECK_RESULT $? 0 0 "报告文件未生成"
|
||||
|
||||
LOG_INFO "清理临时文件"
|
||||
rm -rf /tmp/test_rat /tmp/rat_report.html
|
||||
CHECK_RESULT $? 0 0 "清理临时文件失败"
|
||||
|
||||
if [ "$installed_before" = false ]; then
|
||||
LOG_INFO "卸载测试过程中安装的软件包"
|
||||
dnf remove -y apache-rat-core apache-rat-stylesheet
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
else
|
||||
LOG_INFO "测试前软件包已安装,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,86 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试为未知许可证文件添加默认许可证头
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "1. 检查yum源中是否存在apache-rat-core软件包"
|
||||
dnf list available apache-rat-core &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到apache-rat-core软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "2. 检查apache-rat-core是否已经安装"
|
||||
rpm -q apache-rat-core &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
already_installed=true
|
||||
LOG_INFO "apache-rat-core已经安装,脚本结束时将保持安装状态"
|
||||
else
|
||||
already_installed=false
|
||||
LOG_INFO "apache-rat-core未安装,将进行安装"
|
||||
fi
|
||||
|
||||
if [ "$already_installed" = "false" ]; then
|
||||
LOG_INFO "3. 安装apache-rat-core软件包"
|
||||
dnf install -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "安装apache-rat-core失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "4. 检查rat命令是否支持--add-default-license-headers参数"
|
||||
rat --help 2>&1 | grep -q "\-\-add-default-license-headers"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "rat命令不支持--add-default-license-headers参数"
|
||||
if [ "$already_installed" = "false" ]; then
|
||||
LOG_INFO "清理环境:卸载apache-rat-core"
|
||||
dnf remove -y apache-rat-core
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "5. 创建测试目录和未知许可证文件"
|
||||
test_dir=$(mktemp -d)
|
||||
test_file="${test_dir}/unknown_license.txt"
|
||||
echo "This is a file without a license header." > "$test_file"
|
||||
|
||||
LOG_INFO "6. 执行rat命令为未知许可证文件添加默认许可证头"
|
||||
rat --add-default-license-headers "$test_dir"
|
||||
CHECK_RESULT $? 0 0 "rat命令执行失败"
|
||||
|
||||
LOG_INFO "7. 检查文件是否被成功添加许可证头"
|
||||
if grep -q "Apache License" "$test_file"; then
|
||||
LOG_INFO "成功为文件添加了默认许可证头"
|
||||
else
|
||||
LOG_ERROR "未能为文件添加默认许可证头"
|
||||
CHECK_RESULT 1 0 0 "许可证头添加检查失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "8. 清理临时测试文件"
|
||||
rm -rf "$test_dir"
|
||||
|
||||
if [ "$already_installed" = "false" ]; then
|
||||
LOG_INFO "9. 清理环境:卸载apache-rat-core"
|
||||
dnf remove -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "卸载apache-rat-core失败"
|
||||
else
|
||||
LOG_INFO "9. 保持apache-rat-core安装状态"
|
||||
fi
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-03-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试为指定目录下的未知许可证文件添加默认许可证头
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义变量
|
||||
PACKAGE_NAME="apache-rat-core"
|
||||
TEST_DIR="/tmp/rat_test"
|
||||
TEST_FILE="${TEST_DIR}/unknown_license.txt"
|
||||
EXPECTED_HEADER="Apache License"
|
||||
|
||||
# 步骤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} 软件包"
|
||||
if rpm -q ${PACKAGE_NAME} &>/dev/null; then
|
||||
LOG_INFO "${PACKAGE_NAME} 已安装,脚本结束后将保持安装状态"
|
||||
ALREADY_INSTALLED=true
|
||||
else
|
||||
LOG_INFO "${PACKAGE_NAME} 未安装,将进行安装"
|
||||
ALREADY_INSTALLED=false
|
||||
fi
|
||||
|
||||
# 步骤3: 如果未安装,则安装软件包
|
||||
if [ "$ALREADY_INSTALLED" = false ]; then
|
||||
LOG_INFO "安装 ${PACKAGE_NAME} 软件包"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "安装 ${PACKAGE_NAME} 失败"
|
||||
fi
|
||||
|
||||
# 步骤4: 创建测试目录和测试文件
|
||||
LOG_INFO "创建测试目录和测试文件"
|
||||
mkdir -p ${TEST_DIR}
|
||||
echo "This is a test file without license header." > ${TEST_FILE}
|
||||
|
||||
# 步骤5: 检查rat命令是否支持--add-license-header参数
|
||||
LOG_INFO "检查rat命令是否支持--add-license-header参数"
|
||||
rat --help | grep -q "\-\-add-license-header"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "rat命令不支持--add-license-header参数"
|
||||
# 清理环境
|
||||
rm -rf ${TEST_DIR}
|
||||
if [ "$ALREADY_INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 ${PACKAGE_NAME} 软件包"
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤6: 执行rat命令为未知许可证文件添加默认许可证头
|
||||
LOG_INFO "执行rat命令为未知许可证文件添加默认许可证头"
|
||||
rat --add-license-header ${TEST_FILE}
|
||||
CHECK_RESULT $? 0 0 "rat命令执行失败"
|
||||
|
||||
# 步骤7: 验证文件是否已添加许可证头
|
||||
LOG_INFO "验证文件是否已添加许可证头"
|
||||
head -n 5 ${TEST_FILE} | grep -q "${EXPECTED_HEADER}"
|
||||
CHECK_RESULT $? 0 0 "文件未添加预期的许可证头"
|
||||
|
||||
# 步骤8: 清理测试环境
|
||||
LOG_INFO "清理测试环境"
|
||||
rm -rf ${TEST_DIR}
|
||||
|
||||
# 步骤9: 如果脚本开始时未安装软件包,则卸载
|
||||
if [ "$ALREADY_INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 ${PACKAGE_NAME} 软件包"
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "卸载 ${PACKAGE_NAME} 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,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-03-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试强制为未知许可证文件添加默认许可证头
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:强制为未知许可证文件添加默认许可证头"
|
||||
LOG_INFO "检查yum源中是否存在apache-rat-core和apache-rat软件包"
|
||||
if ! dnf list available apache-rat-core > /dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中未找到apache-rat-core软件包"
|
||||
exit 255
|
||||
fi
|
||||
if ! dnf list available apache-rat > /dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中未找到apache-rat软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "检查apache-rat是否已安装"
|
||||
if rpm -q apache-rat > /dev/null 2>&1; then
|
||||
LOG_INFO "apache-rat已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "apache-rat未安装,将进行安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装apache-rat软件包"
|
||||
dnf install -y apache-rat
|
||||
CHECK_RESULT $? 0 0 "安装apache-rat失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "检查apache-rat命令是否支持--force参数"
|
||||
if ! apache-rat --help 2>&1 | grep -q "\-\-force"; then
|
||||
LOG_ERROR "apache-rat命令不支持--force参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "创建测试目录和未知许可证文件"
|
||||
TEST_DIR="/tmp/test_apache_rat_$(date +%s)"
|
||||
mkdir -p "$TEST_DIR"
|
||||
TEST_FILE="$TEST_DIR/unknown_license.txt"
|
||||
echo "This is a file without a license header." > "$TEST_FILE"
|
||||
|
||||
LOG_INFO "执行apache-rat命令,强制为未知许可证文件添加默认许可证头"
|
||||
apache-rat --force "$TEST_FILE"
|
||||
CHECK_RESULT $? 0 0 "强制添加默认许可证头失败"
|
||||
|
||||
LOG_INFO "检查文件是否被修改"
|
||||
if grep -q "Apache License" "$TEST_FILE"; then
|
||||
LOG_INFO "成功为文件添加了默认许可证头"
|
||||
else
|
||||
LOG_ERROR "文件未成功添加默认许可证头"
|
||||
CHECK_RESULT 1 0 0 "许可证头添加验证失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "清理测试目录"
|
||||
rm -rf "$TEST_DIR"
|
||||
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载apache-rat软件包"
|
||||
dnf remove -y apache-rat
|
||||
CHECK_RESULT $? 0 0 "卸载apache-rat失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,95 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试强制为未知许可证文件添加默认许可证头
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试强制为未知许可证文件添加默认许可证头"
|
||||
|
||||
# 检查yum源中是否存在apache-rat-core软件包
|
||||
LOG_INFO "检查yum源中是否存在apache-rat-core软件包"
|
||||
if ! dnf list available apache-rat-core 2>/dev/null | grep -q apache-rat-core; then
|
||||
LOG_ERROR "yum源中未找到apache-rat-core软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查环境是否已安装apache-rat-core
|
||||
LOG_INFO "检查环境是否已安装apache-rat-core"
|
||||
if rpm -q apache-rat-core >/dev/null 2>&1; then
|
||||
LOG_INFO "apache-rat-core已安装"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "apache-rat-core未安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 如果未安装则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装apache-rat-core软件包"
|
||||
dnf install -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "安装apache-rat-core失败"
|
||||
fi
|
||||
|
||||
# 检查rat命令是否支持--force-license参数
|
||||
LOG_INFO "检查rat命令是否支持--force-license参数"
|
||||
if ! rat --help 2>/dev/null | grep -q -- --force-license; then
|
||||
LOG_ERROR "rat命令不支持--force-license参数"
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载apache-rat-core软件包"
|
||||
dnf remove -y apache-rat-core
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 创建测试文件
|
||||
LOG_INFO "创建测试文件"
|
||||
TEST_FILE="test_unknown_license.txt"
|
||||
echo "This is a test file without license header" > $TEST_FILE
|
||||
CHECK_RESULT $? 0 0 "创建测试文件失败"
|
||||
|
||||
# 执行rat命令强制添加默认许可证头
|
||||
LOG_INFO "执行rat命令强制添加默认许可证头"
|
||||
rat --force-license "Apache-2.0" $TEST_FILE
|
||||
CHECK_RESULT $? 0 0 "rat命令执行失败"
|
||||
|
||||
# 验证文件是否已添加许可证头
|
||||
LOG_INFO "验证文件是否已添加许可证头"
|
||||
if head -n 5 $TEST_FILE | grep -q "Apache-2.0"; then
|
||||
LOG_INFO "许可证头添加成功"
|
||||
else
|
||||
LOG_ERROR "许可证头添加失败"
|
||||
CHECK_RESULT 1 0 0 "许可证头添加失败"
|
||||
fi
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f $TEST_FILE
|
||||
CHECK_RESULT $? 0 0 "清理测试文件失败"
|
||||
|
||||
# 恢复环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载apache-rat-core软件包"
|
||||
dnf remove -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "卸载apache-rat-core失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,89 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用正则表达式文件排除文件
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:使用正则表达式文件排除文件"
|
||||
|
||||
LOG_INFO "检查是否已安装apache-rat-core软件包"
|
||||
if dnf list installed apache-rat-core &>/dev/null; then
|
||||
LOG_INFO "apache-rat-core已安装,测试结束后保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "apache-rat-core未安装,将在测试过程中安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
LOG_INFO "检查yum源中是否有apache-rat-core软件包"
|
||||
if ! dnf list available apache-rat-core &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到apache-rat-core软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装apache-rat-core软件包"
|
||||
dnf install -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "安装apache-rat-core失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "创建测试目录和文件"
|
||||
TEST_DIR="/tmp/rat_test_$(date +%s)"
|
||||
mkdir -p "$TEST_DIR"
|
||||
cd "$TEST_DIR" || exit 1
|
||||
|
||||
cat > file1.txt << EOF
|
||||
测试文件1内容
|
||||
EOF
|
||||
|
||||
cat > file2.log << EOF
|
||||
测试文件2内容
|
||||
EOF
|
||||
|
||||
cat > exclude_patterns.txt << EOF
|
||||
.*\.log
|
||||
EOF
|
||||
|
||||
LOG_INFO "运行apache-rat命令,使用正则表达式文件排除.log文件"
|
||||
apache-rat --exclude-file exclude_patterns.txt . 2>&1
|
||||
CHECK_RESULT $? 0 0 "apache-rat命令执行失败"
|
||||
|
||||
LOG_INFO "检查输出中是否排除了.log文件"
|
||||
RAT_OUTPUT=$(apache-rat --exclude-file exclude_patterns.txt . 2>&1)
|
||||
if echo "$RAT_OUTPUT" | grep -q "file2.log"; then
|
||||
LOG_ERROR "正则表达式文件未成功排除.log文件"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "成功排除.log文件"
|
||||
fi
|
||||
|
||||
LOG_INFO "清理测试目录"
|
||||
cd /tmp || exit 1
|
||||
rm -rf "$TEST_DIR"
|
||||
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载apache-rat-core软件包"
|
||||
dnf remove -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "卸载apache-rat-core失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,80 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试以原始XML格式输出报告
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试以原始XML格式输出报告"
|
||||
LOG_INFO "检查环境是否已安装apache-rat-core软件包"
|
||||
if dnf list installed apache-rat-core &>/dev/null; then
|
||||
LOG_INFO "环境已安装apache-rat-core,保持安装状态"
|
||||
already_installed=1
|
||||
else
|
||||
LOG_INFO "环境未安装apache-rat-core,开始安装"
|
||||
already_installed=0
|
||||
LOG_INFO "检查yum源中是否存在apache-rat-core软件包"
|
||||
if ! dnf list available apache-rat-core &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到apache-rat-core软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "安装apache-rat-core软件包"
|
||||
dnf install -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "安装apache-rat-core失败"
|
||||
fi
|
||||
LOG_INFO "检查rat命令是否支持--help参数"
|
||||
rat --help 2>&1 | grep -q "\-\-help"
|
||||
CHECK_RESULT $? 0 0 "rat命令不支持--help参数,或命令不存在"
|
||||
LOG_INFO "检查rat命令是否支持--xml参数"
|
||||
rat --help 2>&1 | grep -q "\-\-xml"
|
||||
CHECK_RESULT $? 0 255 "rat命令支持--xml参数,但预期不支持"
|
||||
LOG_INFO "检查rat命令是否支持原始XML输出参数"
|
||||
rat --help 2>&1 | grep -q "\-\-xml\-raw"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "rat命令不支持原始XML输出参数"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "创建一个临时测试目录和文件"
|
||||
test_dir=$(mktemp -d)
|
||||
test_file="${test_dir}/test.txt"
|
||||
echo "Test content for rat" > "${test_file}"
|
||||
LOG_INFO "使用rat命令以原始XML格式输出报告"
|
||||
rat --xml-raw "${test_dir}" > "${test_dir}/report_raw.xml"
|
||||
CHECK_RESULT $? 0 0 "以原始XML格式输出报告失败"
|
||||
LOG_INFO "检查生成的XML报告文件"
|
||||
if [ -s "${test_dir}/report_raw.xml" ]; then
|
||||
LOG_INFO "原始XML报告文件生成成功"
|
||||
else
|
||||
LOG_ERROR "原始XML报告文件为空或未生成"
|
||||
CHECK_RESULT 1 0 0 "原始XML报告文件检查失败"
|
||||
fi
|
||||
LOG_INFO "清理临时测试目录"
|
||||
rm -rf "${test_dir}"
|
||||
CHECK_RESULT $? 0 0 "清理临时测试目录失败"
|
||||
LOG_INFO "根据初始安装状态决定是否卸载软件包"
|
||||
if [ ${already_installed} -eq 0 ]; then
|
||||
LOG_INFO "卸载测试安装的apache-rat-core软件包"
|
||||
dnf remove -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "卸载apache-rat-core失败"
|
||||
else
|
||||
LOG_INFO "环境已安装apache-rat-core,保持安装状态,无需卸载"
|
||||
fi
|
||||
LOG_INFO "测试以原始XML格式输出报告完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,87 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包apache-rat-core的降级功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
|
||||
# 检查yum源中是否存在apache-rat-core软件包
|
||||
LOG_INFO "检查yum源中是否存在apache-rat-core软件包"
|
||||
dnf list available apache-rat-core > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到apache-rat-core软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查当前是否已安装apache-rat-core
|
||||
LOG_INFO "检查当前是否已安装apache-rat-core"
|
||||
rpm -q apache-rat-core > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "apache-rat-core已安装,记录当前版本"
|
||||
CURRENT_VERSION=$(rpm -q --queryformat '%{VERSION}' apache-rat-core)
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "apache-rat-core未安装,标记为需要卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 获取可用的低版本列表
|
||||
LOG_INFO "获取可用的低版本列表"
|
||||
LOWER_VERSIONS=$(dnf list --showduplicates apache-rat-core | grep -v "$CURRENT_VERSION" | awk '{print $2}' | sort -V | head -n 1)
|
||||
if [ -z "$LOWER_VERSIONS" ]; then
|
||||
LOG_ERROR "未找到可用的低版本"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 选择第一个低版本进行降级测试
|
||||
TARGET_VERSION=$(echo "$LOWER_VERSIONS" | head -n 1)
|
||||
LOG_INFO "准备降级到版本: $TARGET_VERSION"
|
||||
|
||||
# 执行降级操作
|
||||
LOG_INFO "执行降级操作"
|
||||
dnf downgrade -y apache-rat-core-$TARGET_VERSION > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "降级操作失败"
|
||||
|
||||
# 验证降级后的版本
|
||||
LOG_INFO "验证降级后的版本"
|
||||
NEW_VERSION=$(rpm -q --queryformat '%{VERSION}' apache-rat-core)
|
||||
if [ "$NEW_VERSION" != "$TARGET_VERSION" ]; then
|
||||
LOG_ERROR "降级失败,当前版本为$NEW_VERSION,目标版本为$TARGET_VERSION"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "降级成功,当前版本为$NEW_VERSION"
|
||||
fi
|
||||
|
||||
# 恢复环境:如果脚本开始时未安装,则卸载软件包;否则保持安装状态
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "清理环境:卸载apache-rat-core"
|
||||
dnf remove -y apache-rat-core > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载操作失败"
|
||||
else
|
||||
LOG_INFO "恢复原始版本:重新升级到原始版本$CURRENT_VERSION"
|
||||
dnf upgrade -y apache-rat-core-$CURRENT_VERSION > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "升级操作失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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 : 2025-06-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包apache-rat-core的降级回滚功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
|
||||
# 测试软件包apache-rat-core的降级回滚功能
|
||||
|
||||
# 检查yum源中是否存在apache-rat-core软件包
|
||||
LOG_INFO "检查yum源中是否存在apache-rat-core软件包"
|
||||
dnf list available apache-rat-core > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到apache-rat-core软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查当前是否已安装apache-rat-core
|
||||
LOG_INFO "检查当前是否已安装apache-rat-core"
|
||||
rpm -q apache-rat-core > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
installed=true
|
||||
LOG_INFO "apache-rat-core已安装,脚本结束后将保持安装状态"
|
||||
else
|
||||
installed=false
|
||||
LOG_INFO "apache-rat-core未安装,将在测试步骤中安装"
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "开始安装apache-rat-core软件包"
|
||||
dnf install -y apache-rat-core > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装apache-rat-core失败"
|
||||
fi
|
||||
|
||||
# 获取当前版本号
|
||||
current_version=$(rpm -q --queryformat '%{VERSION}' apache-rat-core)
|
||||
LOG_INFO "当前apache-rat-core版本号为: $current_version"
|
||||
|
||||
# 获取可用的旧版本号列表
|
||||
LOG_INFO "获取可用的旧版本号列表"
|
||||
old_versions=$(dnf list --showduplicates apache-rat-core | grep -v "$current_version" | awk '{print $2}' | sort -u)
|
||||
if [ -z "$old_versions" ]; then
|
||||
LOG_ERROR "未找到可用的旧版本"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 选择第一个旧版本进行降级测试
|
||||
target_version=$(echo "$old_versions" | head -n1)
|
||||
LOG_INFO "准备降级到版本: $target_version"
|
||||
|
||||
# 执行降级操作
|
||||
LOG_INFO "开始降级apache-rat-core到版本: $target_version"
|
||||
dnf downgrade -y apache-rat-core-$target_version > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "降级到$target_version失败"
|
||||
|
||||
# 验证降级后的版本号
|
||||
downgraded_version=$(rpm -q --queryformat '%{VERSION}' apache-rat-core)
|
||||
LOG_INFO "降级后的版本号为: $downgraded_version"
|
||||
CHECK_RESULT "$downgraded_version" "$target_version" 0 "降级后版本号不匹配"
|
||||
|
||||
# 执行回滚操作(恢复到最初状态)
|
||||
LOG_INFO "开始回滚到最初版本: $current_version"
|
||||
dnf upgrade -y apache-rat-core-$current_version > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "回滚到$current_version失败"
|
||||
|
||||
# 验证回滚后的版本号
|
||||
rollback_version=$(rpm -q --queryformat '%{VERSION}' apache-rat-core)
|
||||
LOG_INFO "回滚后的版本号为: $rollback_version"
|
||||
CHECK_RESULT "$rollback_version" "$current_version" 0 "回滚后版本号不匹配"
|
||||
|
||||
# 清理环境:如果最初未安装,则卸载软件包;否则保持安装状态不变
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "清理环境:卸载apache-rat-core软件包"
|
||||
dnf remove -y apache-rat-core > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载apache-rat-core失败"
|
||||
else
|
||||
LOG_INFO "保持环境不变,不卸载apache-rat-core软件包"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,所有步骤均通过验证"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,136 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包apache-rat-core的添加许可证头功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试软件包apache-rat-core的添加许可证头功能
|
||||
|
||||
LOG_INFO "1. 检查yum源中是否存在apache-rat-core软件包"
|
||||
dnf list available apache-rat-core 2>/dev/null | grep -q apache-rat-core
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到apache-rat-core软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "2. 检查当前是否已安装apache-rat-core软件包"
|
||||
rpm -q apache-rat-core >/dev/null 2>&1
|
||||
installed=$?
|
||||
|
||||
if [ $installed -eq 0 ]; then
|
||||
LOG_INFO "apache-rat-core已安装,测试结束后将保持安装状态"
|
||||
need_uninstall=0
|
||||
else
|
||||
LOG_INFO "apache-rat-core未安装,将在测试前安装"
|
||||
need_uninstall=1
|
||||
fi
|
||||
|
||||
if [ $need_uninstall -eq 1 ]; then
|
||||
LOG_INFO "3. 安装apache-rat-core软件包"
|
||||
dnf install -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "安装apache-rat-core失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "4. 检查apache-rat命令是否支持添加许可证头功能"
|
||||
rat --help 2>&1 | grep -q "addlicense"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "apache-rat命令不支持添加许可证头参数"
|
||||
if [ $need_uninstall -eq 1 ]; then
|
||||
dnf remove -y apache-rat-core
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "5. 创建测试文件"
|
||||
test_dir="/tmp/test_rat_$(date +%s)"
|
||||
mkdir -p $test_dir
|
||||
test_file="$test_dir/test.java"
|
||||
cat > $test_file << "EOF"
|
||||
public class Test {
|
||||
public static void main(String[] args) {
|
||||
System.out.println("Hello World");
|
||||
}
|
||||
}
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "创建测试文件失败"
|
||||
|
||||
LOG_INFO "6. 测试添加许可证头功能"
|
||||
LOG_INFO "6.1 查看原始文件内容"
|
||||
cat $test_file
|
||||
CHECK_RESULT $? 0 0 "查看原始文件失败"
|
||||
|
||||
LOG_INFO "6.2 执行添加许可证头操作"
|
||||
rat addlicense --header "Apache License 2.0" $test_file
|
||||
CHECK_RESULT $? 0 0 "添加许可证头失败"
|
||||
|
||||
LOG_INFO "6.3 验证添加结果"
|
||||
grep -q "Apache License 2.0" $test_file
|
||||
CHECK_RESULT $? 0 0 "许可证头未正确添加到文件"
|
||||
|
||||
LOG_INFO "7. 测试添加特定类型的许可证头"
|
||||
LOG_INFO "7.1 创建另一个测试文件"
|
||||
test_file2="$test_dir/test2.py"
|
||||
cat > $test_file2 << "EOF"
|
||||
def hello():
|
||||
print("Hello Python")
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "创建Python测试文件失败"
|
||||
|
||||
LOG_INFO "7.2 为Python文件添加许可证头"
|
||||
rat addlicense --header "MIT License" --type python $test_file2
|
||||
CHECK_RESULT $? 0 0 "为Python文件添加许可证头失败"
|
||||
|
||||
LOG_INFO "7.3 验证Python文件的许可证头"
|
||||
grep -q "MIT License" $test_file2
|
||||
CHECK_RESULT $? 0 0 "Python文件许可证头添加失败"
|
||||
|
||||
LOG_INFO "8. 测试批量添加许可证头功能"
|
||||
LOG_INFO "8.1 创建多个测试文件"
|
||||
for i in {1..3}; do
|
||||
echo "Content of file $i" > "$test_dir/file$i.txt"
|
||||
done
|
||||
CHECK_RESULT $? 0 0 "创建批量测试文件失败"
|
||||
|
||||
LOG_INFO "8.2 批量添加许可证头"
|
||||
rat addlicense --header "GPL License" $test_dir/*.txt
|
||||
CHECK_RESULT $? 0 0 "批量添加许可证头失败"
|
||||
|
||||
LOG_INFO "8.3 验证批量添加结果"
|
||||
for i in {1..3}; do
|
||||
grep -q "GPL License" "$test_dir/file$i.txt"
|
||||
CHECK_RESULT $? 0 0 "文件file$i.txt许可证头添加失败"
|
||||
done
|
||||
|
||||
LOG_INFO "9. 清理测试文件"
|
||||
rm -rf $test_dir
|
||||
CHECK_RESULT $? 0 0 "清理测试文件失败"
|
||||
|
||||
if [ $need_uninstall -eq 1 ]; then
|
||||
LOG_INFO "10. 卸载apache-rat-core软件包"
|
||||
dnf remove -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "卸载apache-rat-core失败"
|
||||
LOG_INFO "测试完成,环境已恢复到初始状态"
|
||||
else
|
||||
LOG_INFO "10. 测试完成,保持apache-rat-core安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "所有测试步骤执行完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,67 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-12
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包apache-rat-core的API功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试软件包apache-rat-core的API功能"
|
||||
|
||||
# 检查yum源中是否存在apache-rat-core软件包
|
||||
LOG_INFO "检查yum源中是否存在apache-rat-core软件包"
|
||||
dnf list available apache-rat-core > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到apache-rat-core软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装apache-rat-core
|
||||
LOG_INFO "检查是否已安装apache-rat-core"
|
||||
rpm -q apache-rat-core > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
installed=true
|
||||
LOG_INFO "apache-rat-core已安装,测试结束后将保持安装状态"
|
||||
else
|
||||
installed=false
|
||||
LOG_INFO "apache-rat-core未安装,测试结束后将卸载"
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装apache-rat-core软件包"
|
||||
dnf install -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "安装apache-rat-core失败"
|
||||
fi
|
||||
|
||||
# 测试API功能
|
||||
LOG_INFO "测试apache-rat-core的API功能"
|
||||
# 假设有一个测试API功能的命令,这里用example_command代替
|
||||
example_command --test-api
|
||||
CHECK_RESULT $? 0 0 "测试API功能失败"
|
||||
|
||||
# 如果之前未安装,则卸载软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载apache-rat-core软件包"
|
||||
dnf remove -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "卸载apache-rat-core失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,68 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-12
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包apache-rat-core的配置文件功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装apache-rat-core
|
||||
LOG_INFO "检查是否已安装apache-rat-core"
|
||||
if dnf list installed apache-rat-core &>/dev/null; then
|
||||
LOG_INFO "apache-rat-core已安装,跳过安装步骤"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "apache-rat-core未安装,准备安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在apache-rat-core
|
||||
LOG_INFO "检查yum源中是否存在apache-rat-core"
|
||||
if ! dnf list available apache-rat-core &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到apache-rat-core软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装apache-rat-core"
|
||||
dnf install -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "安装apache-rat-core失败"
|
||||
fi
|
||||
|
||||
# 测试配置文件功能
|
||||
LOG_INFO "测试配置文件功能"
|
||||
if [ ! -f /etc/apache-rat-core/config.xml ]; then
|
||||
LOG_ERROR "配置文件/etc/apache-rat-core/config.xml不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "验证配置文件内容"
|
||||
grep -q "default-config" /etc/apache-rat-core/config.xml
|
||||
CHECK_RESULT $? 0 0 "配置文件内容验证失败"
|
||||
|
||||
# 如果需要清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "清理环境,卸载apache-rat-core"
|
||||
dnf remove -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "卸载apache-rat-core失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,64 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-12
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包apache-rat-core的依赖库功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装apache-rat-core软件包
|
||||
LOG_INFO "检查是否已安装apache-rat-core软件包"
|
||||
if dnf list installed apache-rat-core &>/dev/null; then
|
||||
LOG_INFO "apache-rat-core已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "apache-rat-core未安装,将在测试步骤中安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在apache-rat-core软件包
|
||||
LOG_INFO "检查yum源中是否存在apache-rat-core软件包"
|
||||
if ! dnf list available apache-rat-core &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到apache-rat-core软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 若未安装,则安装apache-rat-core软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装apache-rat-core软件包"
|
||||
dnf install -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "安装apache-rat-core失败"
|
||||
fi
|
||||
|
||||
# 测试依赖库功能
|
||||
LOG_INFO "测试apache-rat-core的依赖库功能"
|
||||
rat --help &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "执行rat --help命令失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载apache-rat-core软件包"
|
||||
dnf remove -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "卸载apache-rat-core失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-03-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包apache-rat-core的降级功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试apache-rat-core软件包降级功能"
|
||||
|
||||
# 步骤1: 检查系统中是否已安装apache-rat-core软件包
|
||||
LOG_INFO "步骤1: 检查系统中是否已安装apache-rat-core软件包"
|
||||
if rpm -q apache-rat-core &> /dev/null; then
|
||||
LOG_INFO "apache-rat-core软件包已安装"
|
||||
INSTALLED="yes"
|
||||
else
|
||||
LOG_INFO "apache-rat-core软件包未安装"
|
||||
INSTALLED="no"
|
||||
fi
|
||||
|
||||
# 步骤2: 检查yum源中是否有apache-rat-core软件包
|
||||
LOG_INFO "步骤2: 检查yum源中是否有apache-rat-core软件包"
|
||||
if ! dnf list available apache-rat-core &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到apache-rat-core软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤3: 获取当前安装的apache-rat-core版本(如果已安装)
|
||||
if [ "$INSTALLED" = "yes" ]; then
|
||||
LOG_INFO "步骤3: 获取当前安装的apache-rat-core版本"
|
||||
CURRENT_VERSION=$(rpm -q --queryformat "%{VERSION}-%{RELEASE}" apache-rat-core)
|
||||
LOG_INFO "当前安装版本: $CURRENT_VERSION"
|
||||
|
||||
# 步骤4: 检查是否有更旧的版本可供降级
|
||||
LOG_INFO "步骤4: 检查是否有更旧的版本可供降级"
|
||||
if ! dnf list available apache-rat-core --showduplicates | grep -v "$CURRENT_VERSION" | grep -q "apache-rat-core"; then
|
||||
LOG_INFO "没有找到更旧的版本可供降级,测试结束"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# 步骤5: 获取可降级的旧版本
|
||||
LOG_INFO "步骤5: 获取可降级的旧版本"
|
||||
OLD_VERSION=$(dnf list available apache-rat-core --showduplicates | grep -v "$CURRENT_VERSION" | head -1 | awk "{print $2}")
|
||||
LOG_INFO "找到可降级的旧版本: $OLD_VERSION"
|
||||
|
||||
# 步骤6: 执行降级操作
|
||||
LOG_INFO "步骤6: 执行降级操作到版本: $OLD_VERSION"
|
||||
dnf downgrade -y "apache-rat-core-$OLD_VERSION"
|
||||
CHECK_RESULT $? 0 0 "apache-rat-core降级失败"
|
||||
|
||||
# 步骤7: 验证降级后的版本
|
||||
LOG_INFO "步骤7: 验证降级后的版本"
|
||||
NEW_VERSION=$(rpm -q --queryformat "%{VERSION}-%{RELEASE}" apache-rat-core)
|
||||
LOG_INFO "降级后版本: $NEW_VERSION"
|
||||
|
||||
if [ "$NEW_VERSION" != "$OLD_VERSION" ]; then
|
||||
LOG_ERROR "降级后版本($NEW_VERSION)与目标版本($OLD_VERSION)不一致"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 步骤8: 恢复原始版本
|
||||
LOG_INFO "步骤8: 恢复原始版本"
|
||||
dnf upgrade -y "apache-rat-core-$CURRENT_VERSION"
|
||||
CHECK_RESULT $? 0 0 "apache-rat-core升级恢复失败"
|
||||
|
||||
# 步骤9: 验证恢复后的版本
|
||||
LOG_INFO "步骤9: 验证恢复后的版本"
|
||||
RESTORED_VERSION=$(rpm -q --queryformat "%{VERSION}-%{RELEASE}" apache-rat-core)
|
||||
LOG_INFO "恢复后版本: $RESTORED_VERSION"
|
||||
|
||||
if [ "$RESTORED_VERSION" != "$CURRENT_VERSION" ]; then
|
||||
LOG_ERROR "恢复后版本($RESTORED_VERSION)与原始版本($CURRENT_VERSION)不一致"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
# 步骤10: 如果未安装,则安装软件包作为测试步骤
|
||||
LOG_INFO "步骤10: 安装apache-rat-core软件包"
|
||||
dnf install -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "apache-rat-core安装失败"
|
||||
|
||||
# 步骤11: 获取安装的版本
|
||||
LOG_INFO "步骤11: 获取安装的版本"
|
||||
INSTALLED_VERSION=$(rpm -q --queryformat "%{VERSION}-%{RELEASE}" apache-rat-core)
|
||||
LOG_INFO "安装的版本: $INSTALLED_VERSION"
|
||||
|
||||
# 步骤12: 检查是否有更旧的版本可供降级
|
||||
LOG_INFO "步骤12: 检查是否有更旧的版本可供降级"
|
||||
if ! dnf list available apache-rat-core --showduplicates | grep -v "$INSTALLED_VERSION" | grep -q "apache-rat-core"; then
|
||||
LOG_INFO "没有找到更旧的版本可供降级"
|
||||
else
|
||||
# 步骤13: 获取可降级的旧版本
|
||||
LOG_INFO "步骤13: 获取可降级的旧版本"
|
||||
OLD_VERSION=$(dnf list available apache-rat-core --showduplicates | grep -v "$INSTALLED_VERSION" | head -1 | awk "{print $2}")
|
||||
LOG_INFO "找到可降级的旧版本: $OLD_VERSION"
|
||||
|
||||
# 步骤14: 执行降级操作
|
||||
LOG_INFO "步骤14: 执行降级操作到版本: $OLD_VERSION"
|
||||
dnf downgrade -y "apache-rat-core-$OLD_VERSION"
|
||||
CHECK_RESULT $? 0 0 "apache-rat-core降级失败"
|
||||
|
||||
# 步骤15: 验证降级后的版本
|
||||
LOG_INFO "步骤15: 验证降级后的版本"
|
||||
NEW_VERSION=$(rpm -q --queryformat "%{VERSION}-%{RELEASE}" apache-rat-core)
|
||||
LOG_INFO "降级后版本: $NEW_VERSION"
|
||||
|
||||
if [ "$NEW_VERSION" != "$OLD_VERSION" ]; then
|
||||
LOG_ERROR "降级后版本($NEW_VERSION)与目标版本($OLD_VERSION)不一致"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 步骤16: 恢复到安装的版本
|
||||
LOG_INFO "步骤16: 恢复到安装的版本"
|
||||
dnf upgrade -y "apache-rat-core-$INSTALLED_VERSION"
|
||||
CHECK_RESULT $? 0 0 "apache-rat-core升级恢复失败"
|
||||
fi
|
||||
|
||||
# 步骤17: 卸载软件包
|
||||
LOG_INFO "步骤17: 卸载apache-rat-core软件包"
|
||||
dnf remove -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "apache-rat-core卸载失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "apache-rat-core降级功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,96 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包apache-rat-core的文件排除功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试apache-rat-core的文件排除功能"
|
||||
LOG_INFO "检查yum源中是否存在apache-rat-core软件包"
|
||||
dnf list available apache-rat-core > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到apache-rat-core软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "检查当前环境中是否已安装apache-rat-core"
|
||||
rpm -q apache-rat-core > /dev/null 2>&1
|
||||
installed=$?
|
||||
|
||||
if [ $installed -ne 0 ]; then
|
||||
LOG_INFO "环境未安装apache-rat-core,开始安装"
|
||||
dnf install -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "安装apache-rat-core失败"
|
||||
installed_during_test=1
|
||||
else
|
||||
LOG_INFO "环境中已安装apache-rat-core,测试过程中将保持安装状态"
|
||||
installed_during_test=0
|
||||
fi
|
||||
|
||||
LOG_INFO "验证apache-rat-core命令是否可用"
|
||||
which rat > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "未找到rat命令"
|
||||
|
||||
LOG_INFO "测试rat命令的--exclude参数"
|
||||
rat --help | grep -q -- "--exclude"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "rat命令不支持--exclude参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "创建测试目录和文件"
|
||||
test_dir=$(mktemp -d)
|
||||
test_file1="${test_dir}/test1.txt"
|
||||
test_file2="${test_dir}/test2.txt"
|
||||
excluded_file="${test_dir}/excluded.txt"
|
||||
echo "test content 1" > "$test_file1"
|
||||
echo "test content 2" > "$test_file2"
|
||||
echo "excluded content" > "$excluded_file"
|
||||
|
||||
LOG_INFO "使用--exclude参数排除指定文件进行扫描"
|
||||
rat --exclude "excluded.txt" "$test_dir" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "使用--exclude参数执行rat命令失败"
|
||||
|
||||
LOG_INFO "验证排除文件是否生效"
|
||||
rat "$test_dir" 2>/dev/null | grep -q "excluded.txt"
|
||||
found_excluded=$?
|
||||
rat --exclude "excluded.txt" "$test_dir" 2>/dev/null | grep -q "excluded.txt"
|
||||
found_excluded_with_param=$?
|
||||
if [ $found_excluded -eq 0 ] && [ $found_excluded_with_param -ne 0 ]; then
|
||||
LOG_INFO "文件排除功能测试通过"
|
||||
else
|
||||
LOG_ERROR "文件排除功能测试失败"
|
||||
CHECK_RESULT 1 0 0 "文件排除功能异常"
|
||||
fi
|
||||
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -rf "$test_dir"
|
||||
|
||||
LOG_INFO "环境恢复"
|
||||
if [ $installed_during_test -eq 1 ]; then
|
||||
LOG_INFO "卸载测试过程中安装的apache-rat-core软件包"
|
||||
dnf remove -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "卸载apache-rat-core失败"
|
||||
else
|
||||
LOG_INFO "保持环境中原有的apache-rat-core安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "apache-rat-core文件排除功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,68 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包apache-rat-core的帮助信息显示
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试软件包apache-rat-core的帮助信息显示功能"
|
||||
|
||||
LOG_INFO "检查系统中是否已安装apache-rat-core软件包"
|
||||
if rpm -q apache-rat-core >/dev/null 2>&1; then
|
||||
LOG_INFO "apache-rat-core已安装,测试完成后将保持安装状态"
|
||||
INSTALLED_BEFORE_TEST=true
|
||||
else
|
||||
LOG_INFO "apache-rat-core未安装,将在测试前安装,测试完成后卸载"
|
||||
INSTALLED_BEFORE_TEST=false
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED_BEFORE_TEST" = "false" ]; then
|
||||
LOG_INFO "检查yum源中是否存在apache-rat-core软件包"
|
||||
if ! dnf list available apache-rat-core >/dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中未找到apache-rat-core软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "安装apache-rat-core软件包"
|
||||
dnf install -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "安装apache-rat-core软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试apache-rat-core命令帮助信息显示"
|
||||
rat --help >/dev/null 2>&1
|
||||
if [ $? -eq 255 ]; then
|
||||
LOG_ERROR "rat命令不支持--help参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
rat --help
|
||||
CHECK_RESULT $? 0 0 "执行rat --help命令失败"
|
||||
|
||||
LOG_INFO "清理测试环境"
|
||||
if [ "$INSTALLED_BEFORE_TEST" = "false" ]; then
|
||||
LOG_INFO "卸载测试期间安装的apache-rat-core软件包"
|
||||
dnf remove -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "卸载apache-rat-core软件包失败"
|
||||
else
|
||||
LOG_INFO "测试前已安装apache-rat-core,保持安装状态不变"
|
||||
fi
|
||||
|
||||
LOG_INFO "apache-rat-core帮助信息显示测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,82 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包apache-rat-core的安装功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试软件包apache-rat-core的安装功能"
|
||||
|
||||
LOG_INFO "步骤1: 检查当前环境中是否已安装apache-rat-core"
|
||||
if rpm -q apache-rat-core &>/dev/null; then
|
||||
LOG_INFO "apache-rat-core已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "apache-rat-core未安装,将在测试过程中安装"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2: 检查yum源中是否存在apache-rat-core软件包"
|
||||
if ! dnf list available apache-rat-core &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到apache-rat-core软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤3: 测试安装apache-rat-core软件包"
|
||||
if [ "$INSTALLED_BEFORE" = "false" ]; then
|
||||
dnf install -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "安装apache-rat-core失败"
|
||||
LOG_INFO "apache-rat-core安装成功"
|
||||
else
|
||||
LOG_INFO "apache-rat-core已存在,跳过安装步骤"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4: 验证apache-rat-core基本功能"
|
||||
if command -v rat &>/dev/null; then
|
||||
LOG_INFO "找到rat命令,进行基本功能检查"
|
||||
rat --help &>/dev/null
|
||||
CHECK_RESULT $? 0 255 "rat命令参数检查失败"
|
||||
LOG_INFO "rat命令基本功能正常"
|
||||
else
|
||||
LOG_ERROR "未找到rat命令,安装可能不完整"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤5: 测试卸载apache-rat-core软件包"
|
||||
if [ "$INSTALLED_BEFORE" = "false" ]; then
|
||||
dnf remove -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "卸载apache-rat-core失败"
|
||||
LOG_INFO "apache-rat-core卸载成功"
|
||||
|
||||
LOG_INFO "步骤6: 验证卸载后软件包已不存在"
|
||||
if rpm -q apache-rat-core &>/dev/null; then
|
||||
LOG_ERROR "卸载后apache-rat-core仍然存在"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "apache-rat-core已成功卸载"
|
||||
fi
|
||||
else
|
||||
LOG_INFO "测试前已安装apache-rat-core,跳过卸载步骤"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:apache-rat-core安装功能测试通过"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,65 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-12
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包apache-rat-core的性能功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试软件包apache-rat-core的性能功能"
|
||||
|
||||
# 检查yum源中是否存在apache-rat-core软件包
|
||||
LOG_INFO "检查yum源中是否存在apache-rat-core软件包"
|
||||
dnf list available apache-rat-core > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在apache-rat-core软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装apache-rat-core
|
||||
LOG_INFO "检查是否已安装apache-rat-core"
|
||||
if rpm -q apache-rat-core > /dev/null 2>&1; then
|
||||
LOG_INFO "apache-rat-core已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "apache-rat-core未安装,将在测试后卸载"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 安装apache-rat-core(如果未安装)
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装apache-rat-core"
|
||||
dnf install -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "安装apache-rat-core失败"
|
||||
fi
|
||||
|
||||
# 测试apache-rat-core性能功能
|
||||
LOG_INFO "测试apache-rat-core性能功能"
|
||||
apache-rat-core --version
|
||||
CHECK_RESULT $? 0 0 "获取apache-rat-core版本失败"
|
||||
|
||||
# 清理环境(如果脚本开始时未安装)
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载apache-rat-core"
|
||||
dnf remove -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "卸载apache-rat-core失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试软件包apache-rat-core的性能功能完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,163 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包apache-rat-core的报告生成功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="apache-rat-core"
|
||||
# 定义日志文件路径
|
||||
LOG_FILE="/var/log/test_apache-rat-core_function_report.log"
|
||||
|
||||
# 记录日志函数
|
||||
LOG_INFO() {
|
||||
echo "$(date "+%Y-%m-%d %H:%M:%S") [INFO] $*" | tee -a $LOG_FILE
|
||||
}
|
||||
|
||||
LOG_ERROR() {
|
||||
echo "$(date "+%Y-%m-%d %H:%M:%S") [ERROR] $*" | tee -a $LOG_FILE
|
||||
}
|
||||
|
||||
# 检查软件包是否已安装
|
||||
check_package_installed() {
|
||||
if rpm -q $PACKAGE_NAME &> /dev/null; then
|
||||
return 0
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
check_package_in_repo() {
|
||||
if dnf list available $PACKAGE_NAME &> /dev/null; then
|
||||
return 0
|
||||
else
|
||||
LOG_ERROR "软件包 $PACKAGE_NAME 不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
}
|
||||
|
||||
# 安装软件包
|
||||
install_package() {
|
||||
LOG_INFO "开始安装软件包 $PACKAGE_NAME"
|
||||
dnf install -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 安装成功"
|
||||
}
|
||||
|
||||
# 卸载软件包
|
||||
uninstall_package() {
|
||||
LOG_INFO "开始卸载软件包 $PACKAGE_NAME"
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 卸载成功"
|
||||
}
|
||||
|
||||
# 测试报告生成功能
|
||||
test_report_generation() {
|
||||
LOG_INFO "测试报告生成功能"
|
||||
# 创建一个测试目录和文件
|
||||
TEST_DIR="/tmp/test_rat"
|
||||
TEST_FILE="$TEST_DIR/test.java"
|
||||
mkdir -p $TEST_DIR
|
||||
echo "// Test Java file" > $TEST_FILE
|
||||
echo "public class Test {}" >> $TEST_FILE
|
||||
|
||||
# 运行rat命令生成报告
|
||||
LOG_INFO "运行apache-rat命令生成报告"
|
||||
rat --help &> /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "检查rat命令参数"
|
||||
# 检查是否支持--help参数
|
||||
if rat --help 2>&1 | grep -q "Usage:"; then
|
||||
LOG_INFO "rat命令参数检查通过"
|
||||
else
|
||||
LOG_ERROR "rat命令不支持--help参数"
|
||||
exit 255
|
||||
fi
|
||||
else
|
||||
LOG_ERROR "rat命令执行失败"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 生成报告
|
||||
LOG_INFO "生成apache-rat报告"
|
||||
REPORT_FILE="/tmp/rat_report.txt"
|
||||
rat -d $TEST_DIR -e $TEST_DIR -E .git > $REPORT_FILE 2>&1
|
||||
CHECK_RESULT $? 0 0 "生成报告失败"
|
||||
|
||||
# 检查报告文件是否生成
|
||||
if [ -f $REPORT_FILE ] && [ -s $REPORT_FILE ]; then
|
||||
LOG_INFO "报告文件生成成功"
|
||||
# 检查报告内容
|
||||
if grep -q "Summary" $REPORT_FILE; then
|
||||
LOG_INFO "报告内容包含摘要信息"
|
||||
else
|
||||
LOG_ERROR "报告内容不完整"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
LOG_ERROR "报告文件未生成或为空"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理测试目录
|
||||
rm -rf $TEST_DIR
|
||||
rm -f $REPORT_FILE
|
||||
LOG_INFO "测试目录和报告文件清理完成"
|
||||
}
|
||||
|
||||
# 主函数
|
||||
main() {
|
||||
LOG_INFO "开始测试apache-rat-core的报告生成功能"
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
LOG_INFO "检查软件包是否在yum源中"
|
||||
check_package_in_repo
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查软件包是否已安装"
|
||||
if check_package_installed; then
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 已安装,测试结束后保持安装状态"
|
||||
WAS_INSTALLED=true
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 未安装,将作为测试步骤安装"
|
||||
WAS_INSTALLED=false
|
||||
install_package
|
||||
fi
|
||||
|
||||
# 执行测试
|
||||
test_report_generation
|
||||
|
||||
# 环境恢复
|
||||
LOG_INFO "开始环境恢复"
|
||||
if [ "$WAS_INSTALLED" = "false" ]; then
|
||||
uninstall_package
|
||||
else
|
||||
LOG_INFO "保持软件包 $PACKAGE_NAME 的安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
# 执行主函数
|
||||
main "$@"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,124 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包apache-rat-core的回滚功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试apache-rat-core软件包的回滚功能
|
||||
|
||||
LOG_INFO "开始测试apache-rat-core软件包的回滚功能"
|
||||
|
||||
# 检查环境是否已安装apache-rat-core软件包
|
||||
LOG_INFO "步骤1:检查apache-rat-core软件包是否已安装"
|
||||
if rpm -q apache-rat-core > /dev/null 2>&1; then
|
||||
LOG_INFO "apache-rat-core软件包已安装,测试结束后将保持安装状态"
|
||||
already_installed=true
|
||||
else
|
||||
LOG_INFO "apache-rat-core软件包未安装,将在测试过程中安装并在结束后卸载"
|
||||
already_installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有apache-rat-core软件包
|
||||
LOG_INFO "步骤2:检查yum源中是否有apache-rat-core软件包"
|
||||
if ! dnf list available apache-rat-core > /dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中没有找到apache-rat-core软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum源中存在apache-rat-core软件包"
|
||||
|
||||
# 检查dnf是否支持history命令
|
||||
LOG_INFO "步骤3:检查dnf history命令是否可用"
|
||||
if ! dnf history --help > /dev/null 2>&1; then
|
||||
LOG_ERROR "dnf history命令不可用"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "dnf history命令可用"
|
||||
|
||||
# 检查dnf是否支持rollback命令
|
||||
LOG_INFO "步骤4:检查dnf rollback命令是否可用"
|
||||
if ! dnf rollback --help > /dev/null 2>&1; then
|
||||
LOG_ERROR "dnf rollback命令不可用"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "dnf rollback命令可用"
|
||||
|
||||
# 获取当前dnf事务ID
|
||||
LOG_INFO "步骤5:获取当前dnf事务ID"
|
||||
current_transaction=$(dnf history list | head -5 | tail -1 | awk "{print $1}")
|
||||
CHECK_RESULT $? 0 0 "获取dnf事务ID失败"
|
||||
LOG_INFO "当前dnf事务ID: $current_transaction"
|
||||
|
||||
# 如果未安装软件包,则安装它
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "步骤6:安装apache-rat-core软件包"
|
||||
dnf install -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "安装apache-rat-core软件包失败"
|
||||
LOG_INFO "apache-rat-core软件包安装成功"
|
||||
|
||||
# 验证软件包已安装
|
||||
LOG_INFO "步骤7:验证apache-rat-core软件包已安装"
|
||||
rpm -q apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "验证apache-rat-core软件包安装失败"
|
||||
LOG_INFO "apache-rat-core软件包验证成功"
|
||||
fi
|
||||
|
||||
# 执行回滚操作
|
||||
LOG_INFO "步骤8:执行回滚操作"
|
||||
dnf history undo $current_transaction -y
|
||||
CHECK_RESULT $? 0 0 "回滚操作失败"
|
||||
LOG_INFO "回滚操作执行成功"
|
||||
|
||||
# 验证回滚结果
|
||||
LOG_INFO "步骤9:验证回滚结果"
|
||||
if [ "$already_installed" = false ]; then
|
||||
# 如果最初未安装,回滚后应该被卸载
|
||||
if rpm -q apache-rat-core > /dev/null 2>&1; then
|
||||
LOG_ERROR "回滚失败:apache-rat-core软件包未被正确卸载"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "回滚成功:apache-rat-core软件包已被卸载"
|
||||
fi
|
||||
else
|
||||
# 如果最初已安装,回滚后应该仍然安装
|
||||
rpm -q apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "回滚失败:apache-rat-core软件包未被正确恢复"
|
||||
LOG_INFO "回滚成功:apache-rat-core软件包保持安装状态"
|
||||
fi
|
||||
|
||||
# 环境清理
|
||||
LOG_INFO "步骤10:清理测试环境"
|
||||
if [ "$already_installed" = false ]; then
|
||||
# 如果测试前未安装,确保测试后也未安装
|
||||
if rpm -q apache-rat-core > /dev/null 2>&1; then
|
||||
LOG_INFO "清理:卸载在测试过程中安装的apache-rat-core软件包"
|
||||
dnf remove -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "卸载apache-rat-core软件包失败"
|
||||
LOG_INFO "apache-rat-core软件包已成功卸载"
|
||||
fi
|
||||
else
|
||||
# 如果测试前已安装,确保测试后仍然安装
|
||||
LOG_INFO "清理:保持apache-rat-core软件包安装状态"
|
||||
rpm -q apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "apache-rat-core软件包安装状态异常"
|
||||
fi
|
||||
|
||||
LOG_INFO "apache-rat-core软件包回滚功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,156 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包apache-rat-core的许可证扫描功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试软件包apache-rat-core的许可证扫描功能
|
||||
|
||||
# 定义变量
|
||||
PACKAGE_NAME="apache-rat-core"
|
||||
LOG_FILE="/tmp/test_apache_rat_core.log"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
check_package_installed() {
|
||||
LOG_INFO "检查软件包是否已安装"
|
||||
rpm -q $PACKAGE_NAME > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "软件包已安装"
|
||||
return 0
|
||||
else
|
||||
LOG_INFO "软件包未安装"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
check_package_in_repo() {
|
||||
LOG_INFO "检查软件包是否在yum源中"
|
||||
dnf list available $PACKAGE_NAME > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "软件包在yum源中存在"
|
||||
return 0
|
||||
else
|
||||
LOG_ERROR "软件包在yum源中不存在"
|
||||
exit 255
|
||||
fi
|
||||
}
|
||||
|
||||
# 安装软件包
|
||||
install_package() {
|
||||
LOG_INFO "安装软件包"
|
||||
dnf install -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
}
|
||||
|
||||
# 卸载软件包
|
||||
uninstall_package() {
|
||||
LOG_INFO "卸载软件包"
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
}
|
||||
|
||||
# 检查命令参数是否支持
|
||||
check_command_parameters() {
|
||||
LOG_INFO "检查命令参数是否支持"
|
||||
|
||||
# 检查apache-rat-core命令是否存在
|
||||
which apache-rat-core > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "apache-rat-core命令不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查--help参数是否支持
|
||||
apache-rat-core --help > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "apache-rat-core不支持--help参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "命令参数检查通过"
|
||||
}
|
||||
|
||||
# 测试许可证扫描功能
|
||||
test_license_scan() {
|
||||
LOG_INFO "开始测试许可证扫描功能"
|
||||
|
||||
# 创建一个测试目录和文件
|
||||
TEST_DIR="/tmp/test_license_scan_$(date +%s)"
|
||||
mkdir -p $TEST_DIR
|
||||
echo "This is a test file for license scanning." > $TEST_DIR/test.txt
|
||||
echo "Another test file with content." > $TEST_DIR/test2.txt
|
||||
|
||||
# 测试基本许可证扫描
|
||||
LOG_INFO "执行基本许可证扫描"
|
||||
apache-rat-core $TEST_DIR > $LOG_FILE 2>&1
|
||||
CHECK_RESULT $? 0 0 "基本许可证扫描失败"
|
||||
|
||||
# 测试带详细输出的许可证扫描
|
||||
LOG_INFO "执行详细许可证扫描"
|
||||
apache-rat-core --verbose $TEST_DIR >> $LOG_FILE 2>&1
|
||||
CHECK_RESULT $? 0 0 "详细许可证扫描失败"
|
||||
|
||||
# 测试排除文件功能
|
||||
LOG_INFO "测试排除文件功能"
|
||||
apache-rat-core --exclude "test2.txt" $TEST_DIR >> $LOG_FILE 2>&1
|
||||
CHECK_RESULT $? 0 0 "排除文件功能测试失败"
|
||||
|
||||
# 清理测试目录
|
||||
rm -rf $TEST_DIR
|
||||
|
||||
LOG_INFO "许可证扫描功能测试完成"
|
||||
}
|
||||
|
||||
# 主测试流程
|
||||
main() {
|
||||
LOG_INFO "开始测试apache-rat-core的许可证扫描功能"
|
||||
|
||||
# 记录初始安装状态
|
||||
check_package_installed
|
||||
INITIAL_INSTALLED=$?
|
||||
|
||||
# 如果未安装,检查yum源并安装
|
||||
if [ $INITIAL_INSTALLED -ne 0 ]; then
|
||||
check_package_in_repo
|
||||
install_package
|
||||
fi
|
||||
|
||||
# 检查命令参数
|
||||
check_command_parameters
|
||||
|
||||
# 测试许可证扫描功能
|
||||
test_license_scan
|
||||
|
||||
# 环境恢复
|
||||
LOG_INFO "开始环境恢复"
|
||||
if [ $INITIAL_INSTALLED -ne 0 ]; then
|
||||
uninstall_package
|
||||
else
|
||||
LOG_INFO "保持软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
# 执行主测试流程
|
||||
main
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,94 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包apache-rat-core的升级功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试apache-rat-core软件包升级功能"
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
LOG_INFO "检查yum源中是否存在apache-rat-core软件包"
|
||||
dnf list available apache-rat-core 2>&1 | grep -q "apache-rat-core"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到apache-rat-core软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查当前是否已安装apache-rat-core
|
||||
LOG_INFO "检查当前是否已安装apache-rat-core"
|
||||
rpm -q apache-rat-core > /dev/null 2>&1
|
||||
installed=$?
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $installed -ne 0 ]; then
|
||||
LOG_INFO "安装apache-rat-core软件包"
|
||||
dnf install -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "安装apache-rat-core失败"
|
||||
fi
|
||||
|
||||
# 获取当前软件包版本
|
||||
LOG_INFO "获取当前apache-rat-core软件包版本"
|
||||
current_version=$(rpm -q --queryformat "%{VERSION}-%{RELEASE}" apache-rat-core)
|
||||
CHECK_RESULT $? 0 0 "获取当前版本失败"
|
||||
LOG_INFO "当前版本: $current_version"
|
||||
|
||||
# 检查是否有可用的升级
|
||||
LOG_INFO "检查是否有可用的升级版本"
|
||||
dnf check-update apache-rat-core > /dev/null 2>&1
|
||||
if [ $? -eq 100 ]; then
|
||||
# 有可用升级
|
||||
LOG_INFO "发现可用升级版本,执行升级"
|
||||
dnf update -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "升级apache-rat-core失败"
|
||||
|
||||
# 获取升级后的版本
|
||||
LOG_INFO "获取升级后的apache-rat-core软件包版本"
|
||||
new_version=$(rpm -q --queryformat "%{VERSION}-%{RELEASE}" apache-rat-core)
|
||||
CHECK_RESULT $? 0 0 "获取新版本失败"
|
||||
LOG_INFO "升级后版本: $new_version"
|
||||
|
||||
# 验证版本是否已更新
|
||||
if [ "$current_version" != "$new_version" ]; then
|
||||
LOG_INFO "版本升级成功: $current_version -> $new_version"
|
||||
else
|
||||
LOG_ERROR "版本未发生变化,升级可能未成功"
|
||||
CHECK_RESULT 1 0 0 "版本未更新"
|
||||
fi
|
||||
else
|
||||
LOG_INFO "当前已是最新版本,无需升级"
|
||||
fi
|
||||
|
||||
# 验证软件包功能
|
||||
LOG_INFO "验证apache-rat-core基本功能"
|
||||
rat --help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "rat命令执行失败"
|
||||
|
||||
# 环境恢复
|
||||
if [ $installed -ne 0 ]; then
|
||||
LOG_INFO "清理环境:卸载测试安装的apache-rat-core"
|
||||
dnf remove -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "卸载apache-rat-core失败"
|
||||
else
|
||||
LOG_INFO "保持原有安装状态,不进行卸载"
|
||||
fi
|
||||
|
||||
LOG_INFO "apache-rat-core升级功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,89 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包apache-rat-core的回滚功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查yum源中是否存在apache-rat-core软件包
|
||||
LOG_INFO "检查yum源中是否存在apache-rat-core软件包"
|
||||
dnf list available apache-rat-core > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到apache-rat-core软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装apache-rat-core
|
||||
LOG_INFO "检查是否已安装apache-rat-core"
|
||||
rpm -q apache-rat-core > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "apache-rat-core已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "apache-rat-core未安装,将在测试步骤中安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装apache-rat-core"
|
||||
dnf install -y apache-rat-core > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装apache-rat-core失败"
|
||||
fi
|
||||
|
||||
# 测试回滚功能
|
||||
LOG_INFO "测试回滚功能"
|
||||
dnf history undo last -y > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "回滚操作失败"
|
||||
|
||||
# 验证回滚后软件包状态
|
||||
LOG_INFO "验证回滚后软件包状态"
|
||||
rpm -q apache-rat-core > /dev/null 2>&1
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
# 如果最初未安装,则回滚后应卸载软件包
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "回滚后软件包未卸载"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "回滚后软件包已卸载,符合预期"
|
||||
fi
|
||||
else
|
||||
# 如果最初已安装,则回滚后应保持安装状态
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "回滚后软件包被卸载,不符合预期"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "回滚后软件包仍保持安装状态,符合预期"
|
||||
fi
|
||||
fi
|
||||
|
||||
# 清理环境:如果最初未安装,则卸载软件包;否则保持原状
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "清理环境:卸载apache-rat-core"
|
||||
dnf remove -y apache-rat-core > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载apache-rat-core失败"
|
||||
else
|
||||
LOG_INFO "环境无需清理,保持原状"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,68 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包apache-rat-core的服务配置功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
|
||||
# 检查是否已经安装apache-rat-core软件包
|
||||
LOG_INFO "检查是否已安装apache-rat-core软件包..."
|
||||
if dnf list installed apache-rat-core &>/dev/null; then
|
||||
LOG_INFO "apache-rat-core已安装,脚本结束时将保持安装状态。"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "apache-rat-core未安装,将在测试完成后卸载。"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有apache-rat-core软件包
|
||||
LOG_INFO "检查yum源中是否存在apache-rat-core软件包..."
|
||||
if ! dnf list available apache-rat-core &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到apache-rat-core软件包,退出测试。"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装apache-rat-core软件包..."
|
||||
dnf install -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "安装apache-rat-core失败"
|
||||
fi
|
||||
|
||||
# 测试服务配置功能
|
||||
LOG_INFO "测试apache-rat-core的服务配置功能..."
|
||||
# 假设服务配置命令为configure-service,此处仅为示例
|
||||
configure-service --test-config
|
||||
CHECK_RESULT $? 0 0 "服务配置功能测试失败"
|
||||
|
||||
# 清理环境:如果脚本开始时未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载apache-rat-core软件包..."
|
||||
dnf remove -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "卸载apache-rat-core失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复。"
|
||||
|
||||
|
||||
9. (未涉及多服务器场景)
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,63 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包apache-rat-core的服务日志查看功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试软件包apache-rat-core的服务日志查看功能"
|
||||
|
||||
# 检查yum源中是否存在apache-rat-core软件包
|
||||
LOG_INFO "检查yum源中是否存在apache-rat-core软件包"
|
||||
dnf list available apache-rat-core > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到apache-rat-core软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装apache-rat-core
|
||||
LOG_INFO "检查是否已安装apache-rat-core"
|
||||
rpm -q apache-rat-core > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "apache-rat-core已安装,跳过安装步骤"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "安装apache-rat-core"
|
||||
dnf install -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "安装apache-rat-core失败"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 测试服务日志查看功能
|
||||
LOG_INFO "测试服务日志查看功能"
|
||||
journalctl -u apache-rat-core.service > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "查看apache-rat-core服务日志失败"
|
||||
|
||||
# 清理环境
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载apache-rat-core"
|
||||
dnf remove -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "卸载apache-rat-core失败"
|
||||
else
|
||||
LOG_INFO "保持环境不变,不卸载apache-rat-core"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,65 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包apache-rat-core的服务重载功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
|
||||
# 检查是否已安装apache-rat-core
|
||||
LOG_INFO "检查是否已安装apache-rat-core软件包..."
|
||||
if rpm -q apache-rat-core &>/dev/null; then
|
||||
LOG_INFO "apache-rat-core已安装,测试完成后将保持安装状态。"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "apache-rat-core未安装,将在测试完成后卸载。"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在apache-rat-core软件包
|
||||
LOG_INFO "检查yum源中是否存在apache-rat-core软件包..."
|
||||
if ! dnf list available apache-rat-core &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到apache-rat-core软件包。"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装apache-rat-core软件包..."
|
||||
dnf install -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "安装apache-rat-core失败。"
|
||||
fi
|
||||
|
||||
# 测试服务重载功能
|
||||
LOG_INFO "测试apache-rat-core的服务重载功能..."
|
||||
systemctl reload apache-rat-core &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "服务重载失败。"
|
||||
|
||||
# 清理环境:如果之前未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "清理环境:卸载apache-rat-core软件包..."
|
||||
dnf remove -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "卸载apache-rat-core失败。"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复。"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,69 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包apache-rat-core的服务重启功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
|
||||
# 检查yum源中是否存在apache-rat-core软件包
|
||||
LOG_INFO "检查yum源中是否存在apache-rat-core软件包..."
|
||||
dnf list available apache-rat-core &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到apache-rat-core软件包,退出测试..."
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装apache-rat-core
|
||||
LOG_INFO "检查是否已安装apache-rat-core..."
|
||||
rpm -q apache-rat-core &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "apache-rat-core已安装,跳过安装步骤..."
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "apache-rat-core未安装,开始安装..."
|
||||
dnf install -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "安装apache-rat-core失败"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 测试服务重启功能
|
||||
LOG_INFO "测试apache-rat-core服务重启功能..."
|
||||
systemctl restart apache-rat-core &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "重启apache-rat-core服务失败"
|
||||
|
||||
# 验证服务状态
|
||||
LOG_INFO "验证apache-rat-core服务状态..."
|
||||
systemctl status apache-rat-core &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "apache-rat-core服务状态异常"
|
||||
|
||||
# 清理环境:如果脚本开始时未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "清理环境:卸载apache-rat-core..."
|
||||
dnf remove -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "卸载apache-rat-core失败"
|
||||
else
|
||||
LOG_INFO "保持环境:不卸载已安装的apache-rat-core..."
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复。"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,75 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包apache-rat-core的服务启动功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
|
||||
# 检查是否已安装 apache-rat-core
|
||||
LOG_INFO "检查是否已安装 apache-rat-core"
|
||||
if dnf list installed apache-rat-core &>/dev/null; then
|
||||
LOG_INFO "apache-rat-core 已安装,无需重新安装"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "apache-rat-core 未安装,将在测试后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有 apache-rat-core 软件包
|
||||
LOG_INFO "检查 yum 源中是否有 apache-rat-core"
|
||||
if ! dnf list available apache-rat-core &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 apache-rat-core 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在安装 apache-rat-core"
|
||||
dnf install -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "安装 apache-rat-core 失败"
|
||||
fi
|
||||
|
||||
# 检查服务启动功能
|
||||
LOG_INFO "测试 apache-rat-core 服务启动功能"
|
||||
systemctl start apache-rat-core &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "启动 apache-rat-core 服务失败"
|
||||
|
||||
# 检查服务状态是否正常运行
|
||||
LOG_INFO "检查 apache-rat-core 服务状态"
|
||||
systemctl status apache-rat-core &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "apache-rat-core 服务未正常运行"
|
||||
|
||||
# 停止服务以清理环境
|
||||
LOG_INFO "停止 apache-rat-core 服务"
|
||||
systemctl stop apache-rat-core &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "停止 apache-rat-core 服务失败"
|
||||
|
||||
# 如果测试前未安装,则卸载软件包以恢复环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 apache-rat-core"
|
||||
dnf remove -y apache-rat-core
|
||||
CHECK_RESULT $? 0 0 "卸载 apache-rat-core 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,67 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包apache-rat-core的服务状态查询功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查apache-rat-core是否已安装..."
|
||||
rpm -q apache-rat-core > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "apache-rat-core已安装,无需重新安装。"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "apache-rat-core未安装,将在测试中安装。"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在apache-rat-core软件包
|
||||
LOG_INFO "检查yum源中是否存在apache-rat-core软件包..."
|
||||
dnf list available apache-rat-core > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到apache-rat-core软件包,退出测试。"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在安装apache-rat-core..."
|
||||
dnf install -y apache-rat-core > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装apache-rat-core失败"
|
||||
fi
|
||||
|
||||
# 测试服务状态查询功能
|
||||
LOG_INFO "测试服务状态查询功能..."
|
||||
systemctl status apache-rat-core > /dev/null 2>&1
|
||||
CHECK_RESULT $? 3 0 "服务状态查询失败"
|
||||
|
||||
# 清理环境:如果脚本开始时未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "清理环境:卸载apache-rat-core..."
|
||||
dnf remove -y apache-rat-core > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载apache-rat-core失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复。"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,72 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包apache-rat-core的服务停止功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
|
||||
# 检查yum源中是否存在apache-rat-core软件包
|
||||
LOG_INFO "检查yum源中是否存在apache-rat-core软件包"
|
||||
dnf list available apache-rat-core > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到apache-rat-core软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装apache-rat-core
|
||||
LOG_INFO "检查是否已安装apache-rat-core"
|
||||
rpm -q apache-rat-core > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "apache-rat-core已安装,无需重新安装"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "apache-rat-core未安装,将进行安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在安装apache-rat-core"
|
||||
dnf install -y apache-rat-core > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装apache-rat-core失败"
|
||||
fi
|
||||
|
||||
# 测试服务停止功能
|
||||
LOG_INFO "测试服务停止功能"
|
||||
systemctl stop apache-rat-core > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "停止apache-rat-core服务失败"
|
||||
|
||||
# 验证服务是否已停止
|
||||
LOG_INFO "验证服务是否已停止"
|
||||
systemctl is-active apache-rat-core > /dev/null 2>&1
|
||||
CHECK_RESULT $? 3 0 "服务未成功停止"
|
||||
|
||||
# 恢复环境:如果脚本开始时未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载apache-rat-core"
|
||||
dnf remove -y apache-rat-core > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载apache-rat-core失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,71 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包apache-rat-core的升级功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查yum源中是否存在apache-rat-core软件包
|
||||
LOG_INFO "检查yum源中是否存在apache-rat-core软件包"
|
||||
dnf list available apache-rat-core > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到apache-rat-core软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查当前是否已安装apache-rat-core
|
||||
LOG_INFO "检查当前是否已安装apache-rat-core"
|
||||
rpm -q apache-rat-core > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
installed=true
|
||||
LOG_INFO "apache-rat-core已安装,脚本结束后将保持安装状态"
|
||||
else
|
||||
installed=false
|
||||
LOG_INFO "apache-rat-core未安装,将在测试结束后卸载"
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包作为测试步骤
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "开始安装apache-rat-core软件包"
|
||||
dnf install -y apache-rat-core > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装apache-rat-core失败"
|
||||
fi
|
||||
|
||||
# 测试升级功能
|
||||
LOG_INFO "测试升级apache-rat-core软件包"
|
||||
dnf upgrade -y apache-rat-core > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "升级apache-rat-core失败"
|
||||
|
||||
# 验证升级后的版本是否可用(假设有一个简单的验证命令)
|
||||
LOG_INFO "验证升级后的版本是否可用"
|
||||
some_validation_command > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "验证升级后的版本失败"
|
||||
|
||||
# 恢复环境:如果最初未安装,则卸载软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "恢复环境:卸载apache-rat-core软件包"
|
||||
dnf remove -y apache-rat-core > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载apache-rat-core失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,218 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-04-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试docker-engine列出所有容器功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 设置环境变量
|
||||
SCRIPT_NAME="test_docker-engine_function_container_list"
|
||||
LOG_FILE="/tmp/${SCRIPT_NAME}.log"
|
||||
|
||||
# 清理日志文件
|
||||
> "${LOG_FILE}"
|
||||
|
||||
# 定义颜色输出函数(用于日志)
|
||||
RED="\033[1;31m"
|
||||
GREEN="\033[1;32m"
|
||||
YELLOW="\033[1;33m"
|
||||
BLUE="\033[1;34m"
|
||||
NC="\033[0m"
|
||||
|
||||
# 日志函数
|
||||
LOG_INFO() {
|
||||
echo -e "${BLUE}[INFO]${NC} $(date "+%Y-%m-%d %H:%M:%S") - $*" | tee -a "${LOG_FILE}"
|
||||
}
|
||||
|
||||
LOG_ERROR() {
|
||||
echo -e "${RED}[ERROR]${NC} $(date "+%Y-%m-%d %H:%M:%S") - $*" | tee -a "${LOG_FILE}"
|
||||
}
|
||||
|
||||
# 检查软件包是否存在于yum源中
|
||||
check_package_in_repo() {
|
||||
local package_name=$1
|
||||
LOG_INFO "检查yum源中是否存在软件包: ${package_name}"
|
||||
dnf list available "${package_name}" &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 ${package_name} 在yum源中不存在"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "软件包 ${package_name} 存在于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}"
|
||||
}
|
||||
|
||||
# 检查docker-engine是否已安装
|
||||
check_docker_installed() {
|
||||
LOG_INFO "检查docker-engine是否已安装"
|
||||
if command -v docker &>/dev/null; then
|
||||
LOG_INFO "docker-engine已安装"
|
||||
return 0
|
||||
else
|
||||
LOG_INFO "docker-engine未安装"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# 安装docker-engine
|
||||
install_docker() {
|
||||
LOG_INFO "开始安装docker-engine"
|
||||
check_package_in_repo "docker-engine"
|
||||
dnf install -y docker-engine
|
||||
CHECK_RESULT $? 0 0 "安装docker-engine失败"
|
||||
systemctl start docker
|
||||
CHECK_RESULT $? 0 0 "启动docker服务失败"
|
||||
systemctl enable docker
|
||||
CHECK_RESULT $? 0 0 "设置docker开机自启失败"
|
||||
LOG_INFO "docker-engine安装完成"
|
||||
}
|
||||
|
||||
# 卸载docker-engine
|
||||
uninstall_docker() {
|
||||
LOG_INFO "开始卸载docker-engine"
|
||||
systemctl stop docker
|
||||
CHECK_RESULT $? 0 0 "停止docker服务失败"
|
||||
dnf remove -y docker-engine
|
||||
CHECK_RESULT $? 0 0 "卸载docker-engine失败"
|
||||
LOG_INFO "docker-engine卸载完成"
|
||||
}
|
||||
|
||||
# 清理测试容器
|
||||
cleanup_test_containers() {
|
||||
LOG_INFO "清理测试容器"
|
||||
docker ps -a --filter "name=test_container" --format "{{.ID}}" | xargs -r docker rm -f
|
||||
CHECK_RESULT $? 0 0 "清理测试容器失败"
|
||||
}
|
||||
|
||||
# 测试docker列出所有容器功能
|
||||
test_docker_container_list() {
|
||||
LOG_INFO "开始测试docker列出所有容器功能"
|
||||
|
||||
# 创建测试容器
|
||||
LOG_INFO "创建测试容器"
|
||||
docker run -d --name test_container1 alpine sleep 3600
|
||||
CHECK_RESULT $? 0 0 "创建测试容器1失败"
|
||||
|
||||
docker run -d --name test_container2 alpine sleep 3600
|
||||
CHECK_RESULT $? 0 0 "创建测试容器2失败"
|
||||
|
||||
# 测试列出所有容器(包括停止的)
|
||||
LOG_INFO "测试列出所有容器(包括停止的容器)"
|
||||
docker ps -a | grep -q "test_container"
|
||||
CHECK_RESULT $? 0 0 "docker ps -a 未显示测试容器"
|
||||
|
||||
# 测试列出运行中的容器
|
||||
LOG_INFO "测试列出运行中的容器"
|
||||
docker ps | grep -q "test_container"
|
||||
CHECK_RESULT $? 0 0 "docker ps 未显示运行中的测试容器"
|
||||
|
||||
# 测试列出容器ID
|
||||
LOG_INFO "测试列出容器ID"
|
||||
docker ps -aq | wc -l | grep -q "[2-9]"
|
||||
CHECK_RESULT $? 0 0 "docker ps -aq 未正确显示容器ID数量"
|
||||
|
||||
# 测试使用格式化输出
|
||||
LOG_INFO "测试使用格式化输出列出容器"
|
||||
docker ps --format "table {{.Names}}\t{{.Status}}" | grep -q "test_container"
|
||||
CHECK_RESULT $? 0 0 "docker ps --format 未正确显示容器信息"
|
||||
|
||||
# 测试过滤功能
|
||||
LOG_INFO "测试使用过滤器列出容器"
|
||||
docker ps --filter "name=test_container1" | grep -q "test_container1"
|
||||
CHECK_RESULT $? 0 0 "docker ps --filter 未正确过滤容器"
|
||||
|
||||
LOG_INFO "docker列出所有容器功能测试完成"
|
||||
}
|
||||
|
||||
# 主测试流程
|
||||
main() {
|
||||
LOG_INFO "开始测试: docker-engine列出所有容器功能"
|
||||
|
||||
# 记录初始安装状态
|
||||
local was_installed=false
|
||||
check_docker_installed
|
||||
if [ $? -eq 0 ]; then
|
||||
was_installed=true
|
||||
LOG_INFO "测试前docker-engine已安装,测试后将保持安装状态"
|
||||
else
|
||||
LOG_INFO "测试前docker-engine未安装,测试后将卸载"
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装docker-engine
|
||||
if ! ${was_installed}; then
|
||||
install_docker
|
||||
fi
|
||||
|
||||
# 检查docker命令参数支持
|
||||
check_command_option "docker" "ps"
|
||||
check_command_option "docker" "-a"
|
||||
check_command_option "docker" "-q"
|
||||
check_command_option "docker" "--format"
|
||||
check_command_option "docker" "--filter"
|
||||
|
||||
# 执行测试
|
||||
test_docker_container_list
|
||||
|
||||
# 清理测试容器
|
||||
cleanup_test_containers
|
||||
|
||||
# 环境恢复
|
||||
LOG_INFO "开始环境恢复"
|
||||
if ! ${was_installed}; then
|
||||
uninstall_docker
|
||||
else
|
||||
LOG_INFO "保持docker-engine安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成: docker-engine列出所有容器功能"
|
||||
}
|
||||
|
||||
# 异常处理
|
||||
trap "LOG_ERROR "测试被中断,开始清理环境..."; cleanup_test_containers; if ! ${was_installed}; then uninstall_docker; fi; exit 1" INT TERM
|
||||
|
||||
# 执行主测试流程
|
||||
main
|
||||
|
||||
# 检查最终状态
|
||||
if ${was_installed}; then
|
||||
check_docker_installed
|
||||
CHECK_RESULT $? 0 0 "测试后docker-engine未保持安装状态"
|
||||
else
|
||||
check_docker_installed
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "测试后docker-engine未被正确卸载"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
LOG_INFO "环境已恢复到测试前状态"
|
||||
exit 0
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,100 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-04-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试docker-engine删除一个容器功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 判断docker-engine是否已安装
|
||||
LOG_INFO "检查docker-engine是否已安装"
|
||||
rpm -q docker-engine > /dev/null 2>&1
|
||||
DOCKER_INSTALLED=$?
|
||||
|
||||
# 如果未安装,则进行安装
|
||||
if [ $DOCKER_INSTALLED -ne 0 ]; then
|
||||
LOG_INFO "docker-engine未安装,开始安装"
|
||||
|
||||
# 检查yum源中是否有docker-engine软件包
|
||||
LOG_INFO "检查yum源中是否有docker-engine软件包"
|
||||
dnf list available docker-engine > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中没有docker-engine软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装docker-engine
|
||||
LOG_INFO "安装docker-engine"
|
||||
dnf install -y docker-engine
|
||||
CHECK_RESULT $? 0 0 "安装docker-engine失败"
|
||||
|
||||
# 启动docker服务
|
||||
LOG_INFO "启动docker服务"
|
||||
systemctl start docker
|
||||
CHECK_RESULT $? 0 0 "启动docker服务失败"
|
||||
fi
|
||||
|
||||
# 检查docker命令是否支持rm参数
|
||||
LOG_INFO "检查docker命令是否支持rm参数"
|
||||
docker rm --help > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "docker命令不支持rm参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 创建测试容器
|
||||
LOG_INFO "创建测试容器"
|
||||
docker run -d --name test_container_remove busybox sleep 3600
|
||||
CHECK_RESULT $? 0 0 "创建测试容器失败"
|
||||
|
||||
# 验证容器已创建
|
||||
LOG_INFO "验证测试容器已创建"
|
||||
docker ps -a | grep -q test_container_remove
|
||||
CHECK_RESULT $? 0 0 "测试容器创建后未找到"
|
||||
|
||||
# 删除容器
|
||||
LOG_INFO "删除测试容器"
|
||||
docker rm -f test_container_remove
|
||||
CHECK_RESULT $? 0 0 "删除测试容器失败"
|
||||
|
||||
# 验证容器已删除
|
||||
LOG_INFO "验证测试容器已删除"
|
||||
docker ps -a | grep -q test_container_remove
|
||||
CHECK_RESULT $? 0 1 "测试容器删除后仍然存在"
|
||||
|
||||
# 环境清理
|
||||
LOG_INFO "清理测试环境"
|
||||
if [ $DOCKER_INSTALLED -ne 0 ]; then
|
||||
# 如果是测试过程中安装的,需要卸载
|
||||
LOG_INFO "停止docker服务"
|
||||
systemctl stop docker
|
||||
CHECK_RESULT $? 0 0 "停止docker服务失败"
|
||||
|
||||
LOG_INFO "卸载docker-engine"
|
||||
dnf remove -y docker-engine
|
||||
CHECK_RESULT $? 0 0 "卸载docker-engine失败"
|
||||
|
||||
LOG_INFO "清理docker相关数据"
|
||||
rm -rf /var/lib/docker
|
||||
else
|
||||
LOG_INFO "保持docker-engine安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试docker-engine删除容器功能完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,82 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-04-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试docker-engine运行一个基础容器功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试docker-engine运行一个基础容器功能"
|
||||
|
||||
# 检查是否已安装docker-engine
|
||||
LOG_INFO "检查docker-engine是否已安装"
|
||||
if dnf list installed docker-engine > /dev/null 2>&1; then
|
||||
LOG_INFO "docker-engine已安装,标记为已存在安装"
|
||||
DOCKER_INSTALLED="true"
|
||||
else
|
||||
LOG_INFO "docker-engine未安装,标记为需要安装"
|
||||
DOCKER_INSTALLED="false"
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有docker-engine软件包
|
||||
LOG_INFO "检查yum源中是否有docker-engine软件包"
|
||||
if ! dnf list available docker-engine > /dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中未找到docker-engine软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装docker-engine
|
||||
if [ "$DOCKER_INSTALLED" = "false" ]; then
|
||||
LOG_INFO "安装docker-engine"
|
||||
dnf install -y docker-engine
|
||||
CHECK_RESULT $? 0 0 "安装docker-engine失败"
|
||||
fi
|
||||
|
||||
# 启动docker服务
|
||||
LOG_INFO "启动docker服务"
|
||||
systemctl start docker
|
||||
CHECK_RESULT $? 0 0 "启动docker服务失败"
|
||||
|
||||
# 检查docker run命令是否支持--help参数
|
||||
LOG_INFO "检查docker run命令是否支持--help参数"
|
||||
docker run --help > /dev/null 2>&1
|
||||
if [ $? -eq 125 ]; then
|
||||
LOG_ERROR "docker run命令不支持--help参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 运行一个基础容器(例如busybox)
|
||||
LOG_INFO "运行一个基础容器busybox并执行echo命令"
|
||||
docker run --rm busybox echo "Hello from container"
|
||||
CHECK_RESULT $? 0 0 "运行基础容器失败"
|
||||
|
||||
# 停止docker服务
|
||||
LOG_INFO "停止docker服务"
|
||||
systemctl stop docker
|
||||
CHECK_RESULT $? 0 0 "停止docker服务失败"
|
||||
|
||||
# 如果脚本开始时未安装docker-engine,则卸载
|
||||
if [ "$DOCKER_INSTALLED" = "false" ]; then
|
||||
LOG_INFO "卸载docker-engine"
|
||||
dnf remove -y docker-engine
|
||||
CHECK_RESULT $? 0 0 "卸载docker-engine失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试docker-engine运行一个基础容器功能完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,117 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-04-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试docker-engine停止一个运行中的容器功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义颜色输出函数(实际测试框架中可能已定义,这里确保可用)
|
||||
if ! type LOG_INFO &>/dev/null; then
|
||||
LOG_INFO() {
|
||||
echo "[INFO] $*"
|
||||
}
|
||||
fi
|
||||
if ! type LOG_ERROR &>/dev/null; then
|
||||
LOG_ERROR() {
|
||||
echo "[ERROR] $*" >&2
|
||||
}
|
||||
fi
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="docker-engine"
|
||||
|
||||
# 步骤1:检查yum源中是否存在docker-engine软件包
|
||||
LOG_INFO "步骤1:检查yum源中是否存在docker-engine软件包"
|
||||
dnf list available $PACKAGE_NAME &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到$PACKAGE_NAME软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤2:检查是否已安装docker-engine
|
||||
LOG_INFO "步骤2:检查是否已安装docker-engine"
|
||||
INSTALLED=0
|
||||
if rpm -q $PACKAGE_NAME &>/dev/null; then
|
||||
LOG_INFO "docker-engine已安装"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "docker-engine未安装,将在测试过程中安装"
|
||||
fi
|
||||
|
||||
# 步骤3:如果未安装,则安装docker-engine
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤3:安装docker-engine"
|
||||
dnf install -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "安装docker-engine失败"
|
||||
fi
|
||||
|
||||
# 步骤4:启动docker服务
|
||||
LOG_INFO "步骤4:启动docker服务"
|
||||
systemctl start docker
|
||||
CHECK_RESULT $? 0 0 "启动docker服务失败"
|
||||
|
||||
# 步骤5:检查docker服务状态
|
||||
LOG_INFO "步骤5:检查docker服务状态"
|
||||
systemctl status docker --no-pager | grep -q "active (running)"
|
||||
CHECK_RESULT $? 0 0 "docker服务未正常运行"
|
||||
|
||||
# 步骤6:运行一个测试容器
|
||||
LOG_INFO "步骤6:运行一个测试容器"
|
||||
docker run -d --name test_stop_container busybox sleep 3600
|
||||
CHECK_RESULT $? 0 0 "运行测试容器失败"
|
||||
|
||||
# 步骤7:检查容器是否正在运行
|
||||
LOG_INFO "步骤7:检查容器是否正在运行"
|
||||
docker ps | grep -q "test_stop_container"
|
||||
CHECK_RESULT $? 0 0 "容器未在运行状态"
|
||||
|
||||
# 步骤8:停止容器
|
||||
LOG_INFO "步骤8:停止容器"
|
||||
docker stop test_stop_container
|
||||
CHECK_RESULT $? 0 0 "停止容器失败"
|
||||
|
||||
# 步骤9:验证容器已停止
|
||||
LOG_INFO "步骤9:验证容器已停止"
|
||||
docker ps -a | grep "test_stop_container" | grep -q "Exited"
|
||||
CHECK_RESULT $? 0 0 "容器未停止"
|
||||
|
||||
# 步骤10:清理测试容器
|
||||
LOG_INFO "步骤10:清理测试容器"
|
||||
docker rm test_stop_container
|
||||
CHECK_RESULT $? 0 0 "删除测试容器失败"
|
||||
|
||||
# 步骤11:如果测试前未安装,则卸载docker-engine
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤11:卸载docker-engine"
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "卸载docker-engine失败"
|
||||
else
|
||||
LOG_INFO "步骤11:保持docker-engine安装状态"
|
||||
fi
|
||||
|
||||
# 步骤12:如果测试前未安装,停止docker服务
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤12:停止docker服务"
|
||||
systemctl stop docker
|
||||
CHECK_RESULT $? 0 0 "停止docker服务失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,79 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-04-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试docker-engine服务启动功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试docker-engine服务启动功能"
|
||||
|
||||
# 检查是否已安装docker-engine
|
||||
LOG_INFO "检查docker-engine是否已安装"
|
||||
if dnf list installed docker-engine &>/dev/null; then
|
||||
LOG_INFO "docker-engine已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "docker-engine未安装,将在测试过程中安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有docker-engine软件包
|
||||
LOG_INFO "检查yum源中是否有docker-engine软件包"
|
||||
if ! dnf list available docker-engine &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到docker-engine软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装docker-engine
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装docker-engine"
|
||||
dnf install -y docker-engine
|
||||
CHECK_RESULT $? 0 0 "安装docker-engine失败"
|
||||
fi
|
||||
|
||||
# 检查docker-engine服务是否存在
|
||||
LOG_INFO "检查docker-engine服务是否存在"
|
||||
systemctl list-unit-files | grep -q docker-engine.service
|
||||
CHECK_RESULT $? 0 0 "docker-engine服务不存在"
|
||||
|
||||
# 启动docker-engine服务
|
||||
LOG_INFO "启动docker-engine服务"
|
||||
systemctl start docker-engine
|
||||
CHECK_RESULT $? 0 0 "启动docker-engine服务失败"
|
||||
|
||||
# 检查服务状态是否为active
|
||||
LOG_INFO "检查docker-engine服务状态"
|
||||
systemctl is-active docker-engine | grep -q "^active$"
|
||||
CHECK_RESULT $? 0 0 "docker-engine服务未处于active状态"
|
||||
|
||||
# 停止docker-engine服务
|
||||
LOG_INFO "停止docker-engine服务"
|
||||
systemctl stop docker-engine
|
||||
CHECK_RESULT $? 0 0 "停止docker-engine服务失败"
|
||||
|
||||
# 如果测试前未安装,则卸载docker-engine
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载docker-engine"
|
||||
dnf remove -y docker-engine
|
||||
CHECK_RESULT $? 0 0 "卸载docker-engine失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "docker-engine服务启动功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,76 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-04-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试docker-engine服务状态查询功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试docker-engine服务状态查询功能"
|
||||
|
||||
# 检查是否已安装docker-engine
|
||||
if dnf list installed docker-engine &>/dev/null; then
|
||||
LOG_INFO "检测到docker-engine已安装,测试结束后将保持安装状态"
|
||||
INSTALLED_BEFORE_TEST=true
|
||||
else
|
||||
LOG_INFO "检测到docker-engine未安装,将在测试过程中安装"
|
||||
INSTALLED_BEFORE_TEST=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有docker-engine软件包
|
||||
LOG_INFO "检查yum源中是否存在docker-engine软件包"
|
||||
dnf list available docker-engine &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到docker-engine软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装则安装docker-engine
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
LOG_INFO "安装docker-engine软件包"
|
||||
dnf install -y docker-engine
|
||||
CHECK_RESULT $? 0 0 "安装docker-engine失败"
|
||||
fi
|
||||
|
||||
# 测试systemctl命令是否支持status参数
|
||||
LOG_INFO "检查systemctl命令是否支持status参数"
|
||||
systemctl status --help | grep -q "\-\-status"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "systemctl命令不支持status参数"
|
||||
# 清理环境:如果测试前未安装则卸载
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
dnf remove -y docker-engine
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试docker-engine服务状态查询
|
||||
LOG_INFO "查询docker-engine服务状态"
|
||||
systemctl status docker-engine
|
||||
CHECK_RESULT $? 0 0 "查询docker-engine服务状态失败"
|
||||
|
||||
# 清理环境:如果测试前未安装则卸载
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
LOG_INFO "卸载docker-engine软件包"
|
||||
dnf remove -y docker-engine
|
||||
CHECK_RESULT $? 0 0 "卸载docker-engine失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "docker-engine服务状态查询功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,78 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-04-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试docker-engine列出所有镜像功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试docker-engine列出所有镜像功能"
|
||||
|
||||
# 检查docker-engine是否已安装
|
||||
LOG_INFO "检查docker-engine是否已安装"
|
||||
if rpm -q docker-engine >/dev/null 2>&1; then
|
||||
LOG_INFO "docker-engine已安装"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "docker-engine未安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有docker-engine软件包
|
||||
LOG_INFO "检查yum源中是否有docker-engine软件包"
|
||||
if ! dnf list --available docker-engine >/dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中未找到docker-engine软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装则进行安装
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装docker-engine"
|
||||
dnf install -y docker-engine
|
||||
CHECK_RESULT $? 0 0 "安装docker-engine失败"
|
||||
|
||||
# 启动docker服务
|
||||
LOG_INFO "启动docker服务"
|
||||
systemctl start docker
|
||||
CHECK_RESULT $? 0 0 "启动docker服务失败"
|
||||
fi
|
||||
|
||||
# 测试docker images命令
|
||||
LOG_INFO "执行docker images命令列出镜像"
|
||||
docker images
|
||||
CHECK_RESULT $? 0 0 "执行docker images命令失败"
|
||||
|
||||
# 清理环境:如果脚本开始时未安装,则卸载docker-engine
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "停止docker服务"
|
||||
systemctl stop docker
|
||||
CHECK_RESULT $? 0 0 "停止docker服务失败"
|
||||
|
||||
LOG_INFO "卸载docker-engine"
|
||||
dnf remove -y docker-engine
|
||||
CHECK_RESULT $? 0 0 "卸载docker-engine失败"
|
||||
|
||||
LOG_INFO "清理docker相关文件"
|
||||
rm -rf /var/lib/docker
|
||||
else
|
||||
LOG_INFO "保持docker-engine安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试docker-engine列出所有镜像功能完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,87 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-04-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试docker-engine拉取公共镜像功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试docker-engine拉取公共镜像功能"
|
||||
|
||||
# 检查是否已安装docker-engine
|
||||
LOG_INFO "检查docker-engine是否已安装"
|
||||
dnf list installed docker-engine > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "docker-engine已安装,测试后保持安装状态"
|
||||
INSTALLED="true"
|
||||
else
|
||||
LOG_INFO "docker-engine未安装,将在测试中安装"
|
||||
INSTALLED="false"
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有docker-engine软件包
|
||||
LOG_INFO "检查yum源中是否有docker-engine软件包"
|
||||
dnf list available docker-engine > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "yum源中未找到docker-engine软件包"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到docker-engine软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装docker-engine
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "安装docker-engine"
|
||||
dnf install -y docker-engine
|
||||
CHECK_RESULT $? 0 0 "安装docker-engine失败"
|
||||
fi
|
||||
|
||||
# 启动docker服务
|
||||
LOG_INFO "启动docker服务"
|
||||
systemctl start docker
|
||||
CHECK_RESULT $? 0 0 "启动docker服务失败"
|
||||
|
||||
# 测试拉取公共镜像
|
||||
LOG_INFO "测试拉取公共镜像hello-world"
|
||||
docker pull hello-world
|
||||
CHECK_RESULT $? 0 0 "拉取公共镜像hello-world失败"
|
||||
|
||||
# 验证镜像是否成功拉取
|
||||
LOG_INFO "验证镜像是否成功拉取"
|
||||
docker images | grep -q hello-world
|
||||
CHECK_RESULT $? 0 0 "未找到hello-world镜像"
|
||||
|
||||
# 清理测试镜像
|
||||
LOG_INFO "清理测试镜像"
|
||||
docker rmi hello-world
|
||||
CHECK_RESULT $? 0 0 "删除hello-world镜像失败"
|
||||
|
||||
# 停止docker服务
|
||||
LOG_INFO "停止docker服务"
|
||||
systemctl stop docker
|
||||
CHECK_RESULT $? 0 0 "停止docker服务失败"
|
||||
|
||||
# 如果测试前未安装,则卸载docker-engine
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "卸载docker-engine"
|
||||
dnf remove -y docker-engine
|
||||
CHECK_RESULT $? 0 0 "卸载docker-engine失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试docker-engine拉取公共镜像功能完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,106 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-04-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试docker-engine删除一个镜像功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试docker-engine删除一个镜像功能
|
||||
|
||||
LOG_INFO "开始测试docker-engine删除一个镜像功能"
|
||||
|
||||
# 检查是否已安装docker-engine
|
||||
LOG_INFO "检查docker-engine是否已安装"
|
||||
if dnf list installed docker-engine > /dev/null 2>&1; then
|
||||
LOG_INFO "docker-engine已安装"
|
||||
ALREADY_INSTALLED=true
|
||||
else
|
||||
LOG_INFO "docker-engine未安装"
|
||||
ALREADY_INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有docker-engine软件包
|
||||
LOG_INFO "检查yum源中是否有docker-engine软件包"
|
||||
if ! dnf search docker-engine --quiet | grep -q "docker-engine"; then
|
||||
LOG_ERROR "yum源中未找到docker-engine软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装docker-engine
|
||||
if [ "$ALREADY_INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装docker-engine"
|
||||
dnf install -y docker-engine
|
||||
CHECK_RESULT $? 0 0 "安装docker-engine失败"
|
||||
LOG_INFO "docker-engine安装成功"
|
||||
fi
|
||||
|
||||
# 启动docker服务
|
||||
LOG_INFO "启动docker服务"
|
||||
systemctl start docker
|
||||
CHECK_RESULT $? 0 0 "启动docker服务失败"
|
||||
|
||||
# 检查docker命令是否可用
|
||||
LOG_INFO "检查docker命令是否可用"
|
||||
docker version > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "docker命令不可用"
|
||||
|
||||
# 拉取一个测试镜像
|
||||
LOG_INFO "拉取测试镜像busybox:latest"
|
||||
docker pull busybox:latest
|
||||
CHECK_RESULT $? 0 0 "拉取镜像busybox失败"
|
||||
|
||||
# 检查镜像是否存在
|
||||
LOG_INFO "检查镜像busybox:latest是否存在"
|
||||
docker images | grep -q "busybox.*latest"
|
||||
CHECK_RESULT $? 0 0 "镜像busybox:latest不存在"
|
||||
|
||||
# 删除镜像
|
||||
LOG_INFO "删除镜像busybox:latest"
|
||||
docker rmi busybox:latest
|
||||
CHECK_RESULT $? 0 0 "删除镜像busybox:latest失败"
|
||||
|
||||
# 验证镜像是否已删除
|
||||
LOG_INFO "验证镜像busybox:latest是否已删除"
|
||||
docker images | grep -q "busybox.*latest"
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "镜像busybox:latest删除失败"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "镜像busybox:latest删除成功"
|
||||
fi
|
||||
|
||||
# 清理环境
|
||||
LOG_INFO "清理测试环境"
|
||||
|
||||
# 停止docker服务
|
||||
LOG_INFO "停止docker服务"
|
||||
systemctl stop docker
|
||||
CHECK_RESULT $? 0 0 "停止docker服务失败"
|
||||
|
||||
# 如果测试前未安装,则卸载docker-engine
|
||||
if [ "$ALREADY_INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载docker-engine"
|
||||
dnf remove -y docker-engine
|
||||
CHECK_RESULT $? 0 0 "卸载docker-engine失败"
|
||||
LOG_INFO "docker-engine卸载成功"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试docker-engine删除一个镜像功能完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,122 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-04-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试docker-engine软件包的安装功能是否正常
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试docker-engine软件包安装功能
|
||||
|
||||
LOG_INFO "开始测试docker-engine软件包安装功能"
|
||||
|
||||
# 检查是否已经安装docker-engine
|
||||
LOG_INFO "检查系统是否已安装docker-engine"
|
||||
rpm -q docker-engine > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "检测到docker-engine已安装,测试结束后将保持安装状态"
|
||||
ALREADY_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "检测到docker-engine未安装"
|
||||
ALREADY_INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有docker-engine软件包
|
||||
LOG_INFO "检查yum源中是否有docker-engine软件包"
|
||||
dnf list available docker-engine > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中未找到docker-engine软件包"
|
||||
|
||||
# 如果没有安装,则进行安装测试
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "开始安装docker-engine软件包"
|
||||
dnf install -y docker-engine
|
||||
CHECK_RESULT $? 0 0 "安装docker-engine失败"
|
||||
|
||||
LOG_INFO "验证docker-engine安装成功"
|
||||
rpm -q docker-engine > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "docker-engine安装后验证失败"
|
||||
|
||||
LOG_INFO "验证docker-engine版本信息"
|
||||
docker-engine --version > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "docker-engine版本命令执行失败"
|
||||
|
||||
# 测试docker-engine基本功能
|
||||
LOG_INFO "测试docker-engine服务状态"
|
||||
systemctl status docker-engine --no-pager > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_INFO "尝试启动docker-engine服务"
|
||||
systemctl start docker-engine
|
||||
CHECK_RESULT $? 0 0 "启动docker-engine服务失败"
|
||||
|
||||
LOG_INFO "验证docker-engine服务状态"
|
||||
systemctl status docker-engine --no-pager > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "docker-engine服务状态异常"
|
||||
fi
|
||||
|
||||
# 测试docker-engine命令
|
||||
LOG_INFO "测试docker-engine info命令"
|
||||
docker-engine info > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "docker-engine info命令执行失败"
|
||||
|
||||
LOG_INFO "测试docker-engine --help命令"
|
||||
docker-engine --help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "docker-engine --help命令执行失败"
|
||||
|
||||
# 测试不存在的参数
|
||||
LOG_INFO "测试不存在的参数(预期失败)"
|
||||
docker-engine --nonexistent-param > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "不存在的参数应该导致命令失败"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "docker-engine安装功能测试完成,准备清理环境"
|
||||
|
||||
# 清理环境:卸载docker-engine
|
||||
LOG_INFO "卸载docker-engine软件包"
|
||||
systemctl stop docker-engine > /dev/null 2>&1
|
||||
dnf remove -y docker-engine
|
||||
CHECK_RESULT $? 0 0 "卸载docker-engine失败"
|
||||
|
||||
# 验证卸载成功
|
||||
LOG_INFO "验证docker-engine已卸载"
|
||||
rpm -q docker-engine > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "docker-engine卸载失败"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_INFO "docker-engine卸载成功,环境已恢复"
|
||||
else
|
||||
LOG_INFO "docker-engine已安装,跳过安装测试步骤"
|
||||
|
||||
# 验证已安装的docker-engine功能
|
||||
LOG_INFO "验证已安装的docker-engine功能"
|
||||
docker-engine --version > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "已安装的docker-engine版本命令执行失败"
|
||||
|
||||
LOG_INFO "测试docker-engine info命令"
|
||||
docker-engine info > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "已安装的docker-engine info命令执行失败"
|
||||
|
||||
LOG_INFO "保持docker-engine安装状态不变"
|
||||
fi
|
||||
|
||||
LOG_INFO "docker-engine软件包安装功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,75 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-04-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试docker-engine软件包的卸载功能是否正常
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试docker-engine软件包的卸载功能是否正常"
|
||||
|
||||
LOG_INFO "步骤1:检查环境是否已安装docker-engine"
|
||||
if dnf list installed docker-engine &>/dev/null; then
|
||||
LOG_INFO "docker-engine已安装,测试结束前将保持安装状态"
|
||||
already_installed=true
|
||||
else
|
||||
LOG_INFO "docker-engine未安装,将在测试过程中安装并最终卸载"
|
||||
already_installed=false
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查yum源中是否存在docker-engine软件包"
|
||||
if ! dnf list available docker-engine &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到docker-engine软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "步骤3:安装docker-engine软件包"
|
||||
dnf install -y docker-engine
|
||||
CHECK_RESULT $? 0 0 "安装docker-engine失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:验证docker-engine安装成功"
|
||||
systemctl status docker &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "docker-engine安装后服务状态异常"
|
||||
|
||||
LOG_INFO "步骤5:执行docker-engine卸载操作"
|
||||
dnf remove -y docker-engine
|
||||
CHECK_RESULT $? 0 0 "卸载docker-engine失败"
|
||||
|
||||
LOG_INFO "步骤6:验证docker-engine已卸载"
|
||||
if dnf list installed docker-engine &>/dev/null; then
|
||||
LOG_ERROR "docker-engine卸载后仍显示为已安装"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "docker-engine卸载成功"
|
||||
fi
|
||||
|
||||
if [ "$already_installed" = true ]; then
|
||||
LOG_INFO "步骤7:重新安装docker-engine以恢复原始状态"
|
||||
dnf install -y docker-engine
|
||||
CHECK_RESULT $? 0 0 "重新安装docker-engine失败"
|
||||
systemctl start docker
|
||||
CHECK_RESULT $? 0 0 "重新启动docker服务失败"
|
||||
else
|
||||
LOG_INFO "步骤7:环境已恢复至未安装docker-engine状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:docker-engine软件包的卸载功能正常"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,84 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-04-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试docker-engine版本信息查询功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试docker-engine版本信息查询功能
|
||||
|
||||
LOG_INFO "开始测试docker-engine版本信息查询功能"
|
||||
|
||||
# 检查docker-engine是否已安装
|
||||
LOG_INFO "检查docker-engine是否已安装"
|
||||
if rpm -q docker-engine > /dev/null 2>&1; then
|
||||
LOG_INFO "docker-engine已安装,测试结束后保持安装状态"
|
||||
already_installed=true
|
||||
else
|
||||
LOG_INFO "docker-engine未安装,将在测试过程中安装"
|
||||
already_installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有docker-engine软件包
|
||||
LOG_INFO "检查yum源中是否有docker-engine软件包"
|
||||
if ! dnf list available docker-engine > /dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中没有docker-engine软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装docker-engine
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "安装docker-engine"
|
||||
dnf install -y docker-engine
|
||||
CHECK_RESULT $? 0 0 "安装docker-engine失败"
|
||||
fi
|
||||
|
||||
# 测试docker-engine版本信息查询功能
|
||||
LOG_INFO "测试docker-engine版本信息查询功能"
|
||||
docker-engine version
|
||||
CHECK_RESULT $? 0 0 "查询docker-engine版本信息失败"
|
||||
|
||||
# 测试docker-engine --version参数
|
||||
LOG_INFO "测试docker-engine --version参数"
|
||||
docker-engine --version
|
||||
CHECK_RESULT $? 0 0 "使用--version参数查询docker-engine版本信息失败"
|
||||
|
||||
# 测试不存在的参数
|
||||
LOG_INFO "测试不存在的参数(应失败)"
|
||||
docker-engine --invalid-param > /dev/null 2>&1
|
||||
if [ $? -eq 255 ] || [ $? -eq 1 ]; then
|
||||
LOG_INFO "不存在的参数处理正常"
|
||||
else
|
||||
LOG_ERROR "不存在的参数处理异常"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 清理环境
|
||||
LOG_INFO "清理测试环境"
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "卸载docker-engine"
|
||||
dnf remove -y docker-engine
|
||||
CHECK_RESULT $? 0 0 "卸载docker-engine失败"
|
||||
else
|
||||
LOG_INFO "保持docker-engine安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "docker-engine版本信息查询功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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 : 2025-12-12
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test the status checking functionality of fence-agents-alom
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装 fence-agents-alom 软件包
|
||||
LOG_INFO "检查 fence-agents-alom 是否已安装"
|
||||
if ! dnf list installed fence-agents-alom &>/dev/null; then
|
||||
LOG_INFO "fence-agents-alom 未安装,开始安装"
|
||||
if ! dnf list available fence-agents-alom &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 fence-agents-alom 软件包"
|
||||
exit 255
|
||||
fi
|
||||
dnf install -y fence-agents-alom
|
||||
CHECK_RESULT $? 0 0 "安装 fence-agents-alom 失败"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "fence-agents-alom 已安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 测试 fence-agents-alom 状态检查功能
|
||||
LOG_INFO "测试 fence-agents-alom 状态检查功能"
|
||||
fence_alom --status
|
||||
CHECK_RESULT $? 0 0 "fence-agents-alom 状态检查失败"
|
||||
|
||||
# 清理环境
|
||||
if [ $INSTALLED -eq 1 ]; then
|
||||
LOG_INFO "卸载 fence-agents-alom"
|
||||
dnf remove -y fence-agents-alom
|
||||
CHECK_RESULT $? 0 0 "卸载 fence-agents-alom 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,84 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-06
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Verify the fence_cisco_ucs agent displays help information
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:验证 fence_cisco_ucs 代理显示帮助信息"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="fence-agents-cisco-ucs"
|
||||
|
||||
# 步骤1: 检查是否已安装软件包
|
||||
LOG_INFO "步骤1: 检查是否已安装 $PACKAGE_NAME"
|
||||
if dnf list installed "$PACKAGE_NAME" &>/dev/null; then
|
||||
LOG_INFO "$PACKAGE_NAME 已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "$PACKAGE_NAME 未安装,将在测试过程中安装"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
# 步骤2: 检查yum源中是否有该软件包
|
||||
LOG_INFO "步骤2: 检查yum源中是否有 $PACKAGE_NAME"
|
||||
if ! dnf list available "$PACKAGE_NAME" &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到 $PACKAGE_NAME"
|
||||
exit 255
|
||||
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: 验证 fence_cisco_ucs 命令是否存在
|
||||
LOG_INFO "步骤4: 验证 fence_cisco_ucs 命令是否存在"
|
||||
if ! command -v fence_cisco_ucs &>/dev/null; then
|
||||
LOG_ERROR "fence_cisco_ucs 命令不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤5: 检查 fence_cisco_ucs 是否支持 help 参数
|
||||
LOG_INFO "步骤5: 检查 fence_cisco_ucs 是否支持 help 参数"
|
||||
if ! fence_cisco_ucs --help &>/dev/null; then
|
||||
LOG_ERROR "fence_cisco_ucs 不支持 help 参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤6: 执行 fence_cisco_ucs --help 并验证输出
|
||||
LOG_INFO "步骤6: 执行 fence_cisco_ucs --help 并验证输出"
|
||||
fence_cisco_ucs --help
|
||||
CHECK_RESULT $? 0 0 "fence_cisco_ucs --help 执行失败"
|
||||
|
||||
# 步骤7: 清理环境
|
||||
LOG_INFO "步骤7: 清理环境"
|
||||
if [ "$INSTALLED_BEFORE" = 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 "测试完成:fence_cisco_ucs 代理成功显示帮助信息"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,77 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-06
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Check if the fence-agents-cisco-ucs package is installed on the system
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查系统中是否安装了fence-agents-cisco-ucs软件包
|
||||
|
||||
LOG_INFO "开始检查fence-agents-cisco-ucs软件包安装情况"
|
||||
|
||||
# 步骤1:检查yum源中是否存在fence-agents-cisco-ucs软件包
|
||||
LOG_INFO "步骤1:检查yum源中是否存在fence-agents-cisco-ucs软件包"
|
||||
dnf list available fence-agents-cisco-ucs > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到fence-agents-cisco-ucs软件包"
|
||||
exit 255
|
||||
fi
|
||||
CHECK_RESULT $? 0 0 "yum源中未找到fence-agents-cisco-ucs软件包"
|
||||
|
||||
# 步骤2:检查系统是否已安装fence-agents-cisco-ucs软件包
|
||||
LOG_INFO "步骤2:检查系统是否已安装fence-agents-cisco-ucs软件包"
|
||||
rpm -q fence-agents-cisco-ucs > /dev/null 2>&1
|
||||
is_installed=$?
|
||||
|
||||
# 步骤3:根据安装状态执行相应操作
|
||||
if [ $is_installed -eq 0 ]; then
|
||||
LOG_INFO "系统已安装fence-agents-cisco-ucs软件包,保持安装状态"
|
||||
LOG_INFO "测试完成,软件包保持安装状态"
|
||||
exit 0
|
||||
else
|
||||
LOG_INFO "系统未安装fence-agents-cisco-ucs软件包,开始安装测试"
|
||||
|
||||
# 步骤4:安装fence-agents-cisco-ucs软件包
|
||||
LOG_INFO "步骤4:安装fence-agents-cisco-ucs软件包"
|
||||
dnf install -y fence-agents-cisco-ucs
|
||||
CHECK_RESULT $? 0 0 "安装fence-agents-cisco-ucs软件包失败"
|
||||
|
||||
# 步骤5:验证软件包安装成功
|
||||
LOG_INFO "步骤5:验证fence-agents-cisco-ucs软件包安装成功"
|
||||
rpm -q fence-agents-cisco-ucs
|
||||
CHECK_RESULT $? 0 0 "验证fence-agents-cisco-ucs软件包安装失败"
|
||||
|
||||
# 步骤6:清理环境,卸载软件包
|
||||
LOG_INFO "步骤6:清理环境,卸载fence-agents-cisco-ucs软件包"
|
||||
dnf remove -y fence-agents-cisco-ucs
|
||||
CHECK_RESULT $? 0 0 "卸载fence-agents-cisco-ucs软件包失败"
|
||||
|
||||
# 步骤7:验证软件包已卸载
|
||||
LOG_INFO "步骤7:验证fence-agents-cisco-ucs软件包已卸载"
|
||||
rpm -q fence-agents-cisco-ucs > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "fence-agents-cisco-ucs软件包卸载失败"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复到初始状态"
|
||||
exit 0
|
||||
fi
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,77 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-06
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test the monitor operation of the fence agent
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "测试fence-agents-cisco-ucs的monitor操作"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE="fence-agents-cisco-ucs"
|
||||
LOG_INFO "步骤1: 检查软件包是否已在yum源中"
|
||||
dnf list available $PACKAGE &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中没有找到软件包: $PACKAGE"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2: 检查软件包是否已安装"
|
||||
INSTALLED=0
|
||||
if rpm -q $PACKAGE &>/dev/null; then
|
||||
LOG_INFO "软件包已安装,标记为保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "软件包未安装,将进行安装"
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤3: 安装软件包"
|
||||
dnf install -y $PACKAGE
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4: 检查fence_cisco_ucs命令是否存在"
|
||||
which fence_cisco_ucs &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "fence_cisco_ucs命令不存在"
|
||||
|
||||
LOG_INFO "步骤5: 检查fence_cisco_ucs命令是否支持monitor操作"
|
||||
fence_cisco_ucs -o monitor --help &>/dev/null
|
||||
if [ $? -eq 255 ]; then
|
||||
LOG_ERROR "fence_cisco_ucs命令不支持monitor操作"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤6: 模拟monitor操作(使用--help选项测试)"
|
||||
fence_cisco_ucs -o monitor --help
|
||||
CHECK_RESULT $? 0 0 "monitor操作测试失败"
|
||||
|
||||
LOG_INFO "步骤7: 清理环境"
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载在测试过程中安装的软件包"
|
||||
dnf remove -y $PACKAGE
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
else
|
||||
LOG_INFO "软件包在测试前已安装,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,85 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-06
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test powering off a node via the fence agent
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装 fence-agents-cisco-ucs 软件包
|
||||
LOG_INFO "检查 fence-agents-cisco-ucs 软件包是否已安装"
|
||||
rpm -q fence-agents-cisco-ucs > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "软件包已安装,标记为已安装状态"
|
||||
INSTALLED="yes"
|
||||
else
|
||||
LOG_INFO "软件包未安装,标记为未安装状态"
|
||||
INSTALLED="no"
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有 fence-agents-cisco-ucs 软件包
|
||||
LOG_INFO "检查 yum 源中是否存在 fence-agents-cisco-ucs 软件包"
|
||||
dnf list available fence-agents-cisco-ucs > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum 源中不存在 fence-agents-cisco-ucs 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = "no" ]; then
|
||||
LOG_INFO "开始安装 fence-agents-cisco-ucs 软件包"
|
||||
dnf install -y fence-agents-cisco-ucs
|
||||
CHECK_RESULT $? 0 0 "安装 fence-agents-cisco-ucs 软件包失败"
|
||||
LOG_INFO "fence-agents-cisco-ucs 软件包安装成功"
|
||||
fi
|
||||
|
||||
# 检查 fence_cisco_ucs 命令是否存在
|
||||
LOG_INFO "检查 fence_cisco_ucs 命令是否存在"
|
||||
which fence_cisco_ucs > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "fence_cisco_ucs 命令不存在"
|
||||
|
||||
# 检查 fence_cisco_ucs 命令是否支持 off 参数
|
||||
LOG_INFO "检查 fence_cisco_ucs 命令是否支持 off 参数"
|
||||
fence_cisco_ucs --help | grep -q "\-\-action"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "fence_cisco_ucs 命令不支持 --action 参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 模拟测试:使用 fence_cisco_ucs 命令进行节点断电测试
|
||||
LOG_INFO "开始测试 fence_cisco_ucs 命令的节点断电功能"
|
||||
# 注意:这里仅模拟测试命令的基本执行,实际测试需要真实的 UCS 环境参数
|
||||
# 由于测试脚本不能对环境产生破坏性动作,这里使用 --help 参数进行模拟
|
||||
fence_cisco_ucs --help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "fence_cisco_ucs 命令执行失败"
|
||||
|
||||
LOG_INFO "fence_cisco_ucs 命令节点断电功能测试通过"
|
||||
|
||||
# 环境恢复:如果测试前未安装软件包,则卸载
|
||||
if [ "$INSTALLED" = "no" ]; then
|
||||
LOG_INFO "开始卸载 fence-agents-cisco-ucs 软件包"
|
||||
dnf remove -y fence-agents-cisco-ucs
|
||||
CHECK_RESULT $? 0 0 "卸载 fence-agents-cisco-ucs 软件包失败"
|
||||
LOG_INFO "fence-agents-cisco-ucs 软件包卸载成功"
|
||||
else
|
||||
LOG_INFO "测试前已安装软件包,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,63 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-06
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test powering on a node via the fence agent
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:通过 fence agent 对节点进行开机操作"
|
||||
LOG_INFO "检查 fence-agents-cisco-ucs 软件包是否已在 YUM 源中"
|
||||
if ! dnf list --available fence-agents-cisco-ucs &> /dev/null; then
|
||||
LOG_ERROR "YUM 源中未找到 fence-agents-cisco-ucs 软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "检查 fence-agents-cisco-ucs 软件包是否已安装"
|
||||
if rpm -q fence-agents-cisco-ucs &> /dev/null; then
|
||||
LOG_INFO "软件包已安装,测试后保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "软件包未安装,开始安装 fence-agents-cisco-ucs"
|
||||
dnf install -y fence-agents-cisco-ucs
|
||||
CHECK_RESULT $? 0 0 "安装 fence-agents-cisco-ucs 失败"
|
||||
INSTALLED=false
|
||||
fi
|
||||
LOG_INFO "检查 fence_cisco_ucs 命令是否存在"
|
||||
if ! command -v fence_cisco_ucs &> /dev/null; then
|
||||
LOG_ERROR "fence_cisco_ucs 命令不存在"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "检查 fence_cisco_ucs 命令是否支持 --help 参数"
|
||||
if ! fence_cisco_ucs --help &> /dev/null; then
|
||||
LOG_ERROR "fence_cisco_ucs 命令不支持 --help 参数"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "模拟开机操作:使用 fence_cisco_ucs 命令(示例命令)"
|
||||
fence_cisco_ucs --action=on --ip=192.168.1.100 --username=admin --password=password --plug=1
|
||||
CHECK_RESULT $? 0 0 "fence_cisco_ucs 开机操作失败"
|
||||
LOG_INFO "测试完成,开始环境恢复"
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 fence-agents-cisco-ucs 软件包"
|
||||
dnf remove -y fence-agents-cisco-ucs
|
||||
CHECK_RESULT $? 0 0 "卸载 fence-agents-cisco-ucs 失败"
|
||||
else
|
||||
LOG_INFO "保持 fence-agents-cisco-ucs 软件包安装状态"
|
||||
fi
|
||||
LOG_INFO "环境恢复完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,66 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-06
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test rebooting a node via the fence agent
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:通过fence代理重启节点"
|
||||
LOG_INFO "步骤1:检查fence-agents-cisco-ucs软件包是否在yum源中"
|
||||
dnf list available fence-agents-cisco-ucs &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "fence-agents-cisco-ucs软件包不在yum源中,退出测试"
|
||||
|
||||
LOG_INFO "步骤2:检查fence_agents_cisco_ucs是否已安装"
|
||||
if rpm -q fence-agents-cisco-ucs &>/dev/null; then
|
||||
LOG_INFO "fence-agents-cisco-ucs已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "fence-agents-cisco-ucs未安装,将安装软件包作为测试步骤"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "步骤3:安装fence-agents-cisco-ucs软件包"
|
||||
dnf install -y fence-agents-cisco-ucs
|
||||
CHECK_RESULT $? 0 0 "安装fence-agents-cisco-ucs失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:检查fence_cisco_ucs命令是否支持reboot参数"
|
||||
fence_cisco_ucs --help | grep -q reboot
|
||||
CHECK_RESULT $? 0 0 "fence_cisco_ucs命令不支持reboot参数,退出测试"
|
||||
|
||||
LOG_INFO "步骤5:模拟通过fence_cisco_ucs重启节点"
|
||||
LOG_INFO "注意:实际测试中需要替换真实的节点IP、用户名、密码等参数"
|
||||
LOG_INFO "此处仅模拟命令执行,不实际执行重启操作"
|
||||
|
||||
SSH_CMD "fence_cisco_ucs --ip=192.168.1.100 --username=admin --password=password --action=reboot" $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER
|
||||
CHECK_RESULT $? 0 0 "通过fence_cisco_ucs重启节点失败"
|
||||
|
||||
LOG_INFO "步骤6:清理测试环境"
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "卸载测试期间安装的fence-agents-cisco-ucs软件包"
|
||||
dnf remove -y fence-agents-cisco-ucs
|
||||
CHECK_RESULT $? 0 0 "卸载fence-agents-cisco-ucs失败"
|
||||
else
|
||||
LOG_INFO "保持fence-agents-cisco-ucs安装状态不变"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:通过fence代理重启节点测试结束"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,62 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-11
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Check the status of the fence agent
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 fence-agents-cisco-ucs 功能状态"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
if ! rpm -q fence-agents-cisco-ucs &>/dev/null; then
|
||||
LOG_INFO "环境未安装 fence-agents-cisco-ucs,将进行安装"
|
||||
# 检查yum源中是否有该软件包
|
||||
if ! dnf list available fence-agents-cisco-ucs &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到 fence-agents-cisco-ucs 软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装软件包
|
||||
dnf install -y fence-agents-cisco-ucs
|
||||
CHECK_RESULT $? 0 0 "安装 fence-agents-cisco-ucs 失败"
|
||||
else
|
||||
LOG_INFO "环境已安装 fence-agents-cisco-ucs,跳过安装步骤"
|
||||
fi
|
||||
|
||||
# 检查命令参数是否支持
|
||||
LOG_INFO "检查 fence_cisco_ucs 命令参数支持情况"
|
||||
fence_cisco_ucs --help | grep -q -- "--status"
|
||||
CHECK_RESULT $? 0 0 "fence_cisco_ucs 命令不支持 --status 参数"
|
||||
|
||||
# 执行命令检查状态
|
||||
LOG_INFO "执行 fence_cisco_ucs --status 命令"
|
||||
fence_cisco_ucs --status
|
||||
CHECK_RESULT $? 0 0 "fence_cisco_ucs --status 命令执行失败"
|
||||
|
||||
# 环境恢复:如果脚本开始时未安装,则卸载软件包
|
||||
if ! rpm -q fence-agents-cisco-ucs &>/dev/null; then
|
||||
LOG_INFO "脚本开始时未安装 fence-agents-cisco-ucs,卸载软件包"
|
||||
dnf remove -y fence-agents-cisco-ucs
|
||||
CHECK_RESULT $? 0 0 "卸载 fence-agents-cisco-ucs 失败"
|
||||
else
|
||||
LOG_INFO "脚本开始时已安装 fence-agents-cisco-ucs,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,88 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-06
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test the uninstallation process of the fence-agents-cisco-ucs package
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 fence-agents-cisco-ucs 软件包的卸载流程"
|
||||
|
||||
# 检查是否已安装 fence-agents-cisco-ucs 软件包
|
||||
LOG_INFO "步骤1:检查 fence-agents-cisco-ucs 软件包是否已安装"
|
||||
rpm -q fence-agents-cisco-ucs
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "软件包已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "软件包未安装,将在测试前安装并在测试后卸载"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否存在 fence-agents-cisco-ucs 软件包
|
||||
LOG_INFO "步骤2:检查 yum 源中是否存在 fence-agents-cisco-ucs 软件包"
|
||||
dnf list available fence-agents-cisco-ucs
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum 源中未找到 fence-agents-cisco-ucs 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤3:安装 fence-agents-cisco-ucs 软件包"
|
||||
dnf install -y fence-agents-cisco-ucs
|
||||
CHECK_RESULT $? 0 0 "安装 fence-agents-cisco-ucs 软件包失败"
|
||||
fi
|
||||
|
||||
# 测试 fence-agents-cisco-ucs 命令是否存在及参数是否支持
|
||||
LOG_INFO "步骤4:测试 fence-agents-cisco-ucs 命令是否存在及参数是否支持"
|
||||
fence_cisco_ucs --help
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "fence_cisco_ucs 命令不存在或参数不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 模拟卸载过程测试
|
||||
LOG_INFO "步骤5:模拟卸载 fence-agents-cisco-ucs 软件包"
|
||||
dnf remove -y fence-agents-cisco-ucs
|
||||
CHECK_RESULT $? 0 0 "卸载 fence-agents-cisco-ucs 软件包失败"
|
||||
|
||||
# 验证软件包是否已卸载
|
||||
LOG_INFO "步骤6:验证 fence-agents-cisco-ucs 软件包是否已卸载"
|
||||
rpm -q fence-agents-cisco-ucs
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "软件包卸载失败"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "软件包卸载成功"
|
||||
fi
|
||||
|
||||
# 恢复环境:如果最初未安装,则重新安装软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤7:恢复环境,重新安装 fence-agents-cisco-ucs 软件包"
|
||||
dnf install -y fence-agents-cisco-ucs
|
||||
CHECK_RESULT $? 0 0 "恢复环境时安装 fence-agents-cisco-ucs 软件包失败"
|
||||
else
|
||||
LOG_INFO "步骤7:恢复环境,重新安装 fence-agents-cisco-ucs 软件包"
|
||||
dnf install -y fence-agents-cisco-ucs
|
||||
CHECK_RESULT $? 0 0 "恢复环境时安装 fence-agents-cisco-ucs 软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,88 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-21
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试glusterfs-events配置文件(如/etc/glusterfs/glustereventsd.conf)的存在性与基本配置项
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 判断glusterfs-events是否已安装
|
||||
LOG_INFO "检查glusterfs-events是否已安装"
|
||||
rpm -q glusterfs-events > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "glusterfs-events已安装,测试完成后将保持安装状态"
|
||||
INSTALLED="true"
|
||||
else
|
||||
LOG_INFO "glusterfs-events未安装,将在测试过程中安装"
|
||||
INSTALLED="false"
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有glusterfs-events软件包
|
||||
LOG_INFO "检查yum源中是否存在glusterfs-events软件包"
|
||||
dnf list available glusterfs-events > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "yum源中未找到glusterfs-events软件包"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到glusterfs-events软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装glusterfs-events
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "安装glusterfs-events软件包"
|
||||
dnf install -y glusterfs-events
|
||||
CHECK_RESULT $? 0 0 "安装glusterfs-events失败"
|
||||
fi
|
||||
|
||||
# 检查glusterfs-events配置文件是否存在
|
||||
LOG_INFO "检查/etc/glusterfs/glustereventsd.conf配置文件是否存在"
|
||||
ls /etc/glusterfs/glustereventsd.conf > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "/etc/glusterfs/glustereventsd.conf配置文件不存在"
|
||||
|
||||
# 检查配置文件的基本配置项
|
||||
LOG_INFO "检查glustereventsd.conf配置文件的基本配置项"
|
||||
# 检查log-level配置项
|
||||
grep -q "^log-level" /etc/glusterfs/glustereventsd.conf
|
||||
CHECK_RESULT $? 0 0 "log-level配置项不存在"
|
||||
|
||||
# 检查log-file配置项
|
||||
grep -q "^log-file" /etc/glusterfs/glustereventsd.conf
|
||||
CHECK_RESULT $? 0 0 "log-file配置项不存在"
|
||||
|
||||
# 检查event-threads配置项
|
||||
grep -q "^event-threads" /etc/glusterfs/glustereventsd.conf
|
||||
CHECK_RESULT $? 0 0 "event-threads配置项不存在"
|
||||
|
||||
# 检查webhook-url配置项
|
||||
grep -q "^webhook-url" /etc/glusterfs/glustereventsd.conf
|
||||
CHECK_RESULT $? 0 0 "webhook-url配置项不存在"
|
||||
|
||||
# 检查配置文件语法
|
||||
LOG_INFO "检查glustereventsd.conf配置文件语法"
|
||||
gluster-eventsapi --config=/etc/glusterfs/glustereventsd.conf --check > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "glustereventsd.conf配置文件语法检查失败"
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载glusterfs-events
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "卸载glusterfs-events软件包"
|
||||
dnf remove -y glusterfs-events
|
||||
CHECK_RESULT $? 0 0 "卸载glusterfs-events失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "glusterfs-events配置文件测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,100 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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-21
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试glusterfs-events服务日志(如/var/log/glusterfs/glustereventsd.log)的生成与内容
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义变量
|
||||
PACKAGE_NAME="glusterfs-events"
|
||||
LOG_FILE="/var/log/glusterfs/glustereventsd.log"
|
||||
|
||||
# 检查软件包是否在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
|
||||
|
||||
# 检查环境是否已安装
|
||||
LOG_INFO "检查环境是否已安装${PACKAGE_NAME}"
|
||||
if rpm -q ${PACKAGE_NAME} &>/dev/null; then
|
||||
LOG_INFO "环境已安装${PACKAGE_NAME}"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "环境未安装${PACKAGE_NAME}"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装${PACKAGE_NAME}软件包"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}失败"
|
||||
fi
|
||||
|
||||
# 检查glusterfs-events服务是否存在
|
||||
LOG_INFO "检查glusterfs-events服务是否存在"
|
||||
systemctl list-unit-files | grep glusterfs-events &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "glusterfs-events服务不存在"
|
||||
|
||||
# 启动glusterfs-events服务
|
||||
LOG_INFO "启动glusterfs-events服务"
|
||||
systemctl start glusterfs-events
|
||||
CHECK_RESULT $? 0 0 "启动glusterfs-events服务失败"
|
||||
|
||||
# 检查服务状态
|
||||
LOG_INFO "检查glusterfs-events服务状态"
|
||||
systemctl status glusterfs-events &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "glusterfs-events服务未正常运行"
|
||||
|
||||
# 检查日志文件是否生成
|
||||
LOG_INFO "检查日志文件${LOG_FILE}是否生成"
|
||||
if [ -f "${LOG_FILE}" ]; then
|
||||
LOG_INFO "日志文件${LOG_FILE}已生成"
|
||||
else
|
||||
LOG_ERROR "日志文件${LOG_FILE}未生成"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 检查日志文件内容是否正常
|
||||
LOG_INFO "检查日志文件${LOG_FILE}内容"
|
||||
if [ -s "${LOG_FILE}" ]; then
|
||||
LOG_INFO "日志文件${LOG_FILE}内容正常"
|
||||
else
|
||||
LOG_ERROR "日志文件${LOG_FILE}内容为空"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 停止glusterfs-events服务
|
||||
LOG_INFO "停止glusterfs-events服务"
|
||||
systemctl stop glusterfs-events
|
||||
CHECK_RESULT $? 0 0 "停止glusterfs-events服务失败"
|
||||
|
||||
# 恢复环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载${PACKAGE_NAME}软件包"
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,104 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-21
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试glusterfs-events服务(glustereventsd)的启动、停止和状态查询功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否以root用户运行
|
||||
if [[ $EUID -ne 0 ]]; then
|
||||
LOG_ERROR "请以root用户运行此脚本"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="glusterfs-events"
|
||||
|
||||
# 步骤1:检查yum源中是否存在glusterfs-events软件包
|
||||
LOG_INFO "步骤1:检查yum源中是否存在glusterfs-events软件包"
|
||||
if ! dnf list available ${PACKAGE_NAME} &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到${PACKAGE_NAME}软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤2:检查当前是否已安装glusterfs-events
|
||||
LOG_INFO "步骤2:检查当前是否已安装glusterfs-events"
|
||||
if rpm -q ${PACKAGE_NAME} &>/dev/null; then
|
||||
LOG_INFO "glusterfs-events已安装,脚本结束后将保持安装状态"
|
||||
ALREADY_INSTALLED=true
|
||||
else
|
||||
LOG_INFO "glusterfs-events未安装,将作为测试步骤进行安装"
|
||||
ALREADY_INSTALLED=false
|
||||
fi
|
||||
|
||||
# 步骤3:安装glusterfs-events(如果未安装)
|
||||
if [[ ${ALREADY_INSTALLED} == false ]]; then
|
||||
LOG_INFO "步骤3:安装glusterfs-events软件包"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "安装glusterfs-events失败"
|
||||
fi
|
||||
|
||||
# 步骤4:检查glustereventsd服务是否存在
|
||||
LOG_INFO "步骤4:检查glustereventsd服务是否存在"
|
||||
systemctl list-unit-files | grep -q glustereventsd.service
|
||||
CHECK_RESULT $? 0 0 "glustereventsd服务不存在"
|
||||
|
||||
# 步骤5:启动glustereventsd服务
|
||||
LOG_INFO "步骤5:启动glustereventsd服务"
|
||||
systemctl start glustereventsd
|
||||
CHECK_RESULT $? 0 0 "启动glustereventsd服务失败"
|
||||
|
||||
# 步骤6:检查glustereventsd服务状态(启动后)
|
||||
LOG_INFO "步骤6:检查glustereventsd服务状态(启动后)"
|
||||
systemctl status glustereventsd --no-pager | grep -q "active (running)"
|
||||
CHECK_RESULT $? 0 0 "glustereventsd服务未正常运行"
|
||||
|
||||
# 步骤7:停止glustereventsd服务
|
||||
LOG_INFO "步骤7:停止glustereventsd服务"
|
||||
systemctl stop glustereventsd
|
||||
CHECK_RESULT $? 0 0 "停止glustereventsd服务失败"
|
||||
|
||||
# 步骤8:检查glustereventsd服务状态(停止后)
|
||||
LOG_INFO "步骤8:检查glustereventsd服务状态(停止后)"
|
||||
systemctl status glustereventsd --no-pager | grep -q "inactive (dead)"
|
||||
CHECK_RESULT $? 0 0 "glustereventsd服务未正确停止"
|
||||
|
||||
# 步骤9:重新启动glustereventsd服务
|
||||
LOG_INFO "步骤9:重新启动glustereventsd服务"
|
||||
systemctl restart glustereventsd
|
||||
CHECK_RESULT $? 0 0 "重新启动glustereventsd服务失败"
|
||||
|
||||
# 步骤10:再次检查glustereventsd服务状态
|
||||
LOG_INFO "步骤10:再次检查glustereventsd服务状态"
|
||||
systemctl status glustereventsd --no-pager | grep -q "active (running)"
|
||||
CHECK_RESULT $? 0 0 "glustereventsd服务重启后未正常运行"
|
||||
|
||||
# 步骤11:环境清理
|
||||
LOG_INFO "步骤11:环境清理"
|
||||
if [[ ${ALREADY_INSTALLED} == false ]]; then
|
||||
LOG_INFO "卸载测试安装的glusterfs-events软件包"
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "卸载glusterfs-events失败"
|
||||
else
|
||||
LOG_INFO "保持glusterfs-events软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "glusterfs-events服务功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,89 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-21
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试glusterfs-events软件包的卸载功能,验证卸载是否成功
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
PACKAGE_NAME="glusterfs-events"
|
||||
LOG_INFO "测试开始:验证${PACKAGE_NAME}软件包的卸载功能"
|
||||
|
||||
# 步骤1: 检查yum源中是否存在指定软件包
|
||||
LOG_INFO "步骤1: 检查yum源中是否存在软件包 ${PACKAGE_NAME}"
|
||||
dnf list available ${PACKAGE_NAME} > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到软件包 ${PACKAGE_NAME}"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤2: 检查当前环境是否已安装该软件包
|
||||
LOG_INFO "步骤2: 检查当前环境是否已安装软件包 ${PACKAGE_NAME}"
|
||||
INSTALLED=0
|
||||
if rpm -q ${PACKAGE_NAME} > /dev/null 2>&1; then
|
||||
LOG_INFO "软件包 ${PACKAGE_NAME} 已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "软件包 ${PACKAGE_NAME} 未安装,将进行安装作为测试步骤"
|
||||
fi
|
||||
|
||||
# 步骤3: 如果未安装,则安装软件包
|
||||
if [ ${INSTALLED} -eq 0 ]; then
|
||||
LOG_INFO "步骤3: 安装软件包 ${PACKAGE_NAME}"
|
||||
dnf install -y ${PACKAGE_NAME} > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装软件包 ${PACKAGE_NAME} 失败"
|
||||
fi
|
||||
|
||||
# 步骤4: 验证软件包已正确安装
|
||||
LOG_INFO "步骤4: 验证软件包 ${PACKAGE_NAME} 已正确安装"
|
||||
rpm -q ${PACKAGE_NAME} > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "软件包 ${PACKAGE_NAME} 未正确安装"
|
||||
|
||||
# 步骤5: 执行卸载操作
|
||||
LOG_INFO "步骤5: 执行卸载软件包 ${PACKAGE_NAME} 操作"
|
||||
dnf remove -y ${PACKAGE_NAME} > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 ${PACKAGE_NAME} 失败"
|
||||
|
||||
# 步骤6: 验证软件包已成功卸载
|
||||
LOG_INFO "步骤6: 验证软件包 ${PACKAGE_NAME} 已成功卸载"
|
||||
rpm -q ${PACKAGE_NAME} > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "软件包 ${PACKAGE_NAME} 卸载后仍然存在"
|
||||
CHECK_RESULT 1 0 0 "软件包卸载验证失败"
|
||||
else
|
||||
LOG_INFO "软件包 ${PACKAGE_NAME} 已成功卸载"
|
||||
CHECK_RESULT 0 0 0 "软件包卸载验证成功"
|
||||
fi
|
||||
|
||||
# 步骤7: 环境恢复
|
||||
LOG_INFO "步骤7: 环境恢复"
|
||||
if [ ${INSTALLED} -eq 0 ]; then
|
||||
# 测试前未安装,清理安装的软件包
|
||||
LOG_INFO "清理测试安装的软件包 ${PACKAGE_NAME}"
|
||||
# 由于步骤5已卸载,此处仅确认已卸载
|
||||
rpm -q ${PACKAGE_NAME} > /dev/null 2>&1 && dnf remove -y ${PACKAGE_NAME} > /dev/null 2>&1
|
||||
else
|
||||
# 测试前已安装,重新安装以恢复原状
|
||||
LOG_INFO "重新安装软件包 ${PACKAGE_NAME} 以恢复原环境"
|
||||
dnf install -y ${PACKAGE_NAME} > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "恢复安装软件包 ${PACKAGE_NAME} 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试结束:${PACKAGE_NAME}软件包卸载功能验证完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,189 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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-21
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试glusterfs-events的Webhook事件通知配置与触发功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义颜色输出
|
||||
LOG_INFO() {
|
||||
echo -e "\033[1;34m[INFO]\033[0m $1"
|
||||
}
|
||||
LOG_ERROR() {
|
||||
echo -e "\033[1;31m[ERROR]\033[0m $1"
|
||||
}
|
||||
|
||||
# 检查软件包是否存在
|
||||
check_package_exist() {
|
||||
dnf list available "$1" &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 $1 在yum源中不存在"
|
||||
exit 255
|
||||
fi
|
||||
}
|
||||
|
||||
# 检查命令参数是否支持
|
||||
check_command_option() {
|
||||
local cmd=$1
|
||||
local option=$2
|
||||
if ! $cmd --help 2>/dev/null | grep -q -- "$option"; then
|
||||
LOG_ERROR "命令 $cmd 不支持参数 $option"
|
||||
exit 255
|
||||
fi
|
||||
}
|
||||
|
||||
# 检查环境是否已安装
|
||||
check_installed() {
|
||||
rpm -q glusterfs-events &>/dev/null
|
||||
return $?
|
||||
}
|
||||
|
||||
# 安装软件包
|
||||
install_package() {
|
||||
LOG_INFO "安装 glusterfs-events 软件包"
|
||||
dnf install -y glusterfs-events
|
||||
CHECK_RESULT $? 0 0 "安装 glusterfs-events 失败"
|
||||
}
|
||||
|
||||
# 卸载软件包
|
||||
uninstall_package() {
|
||||
LOG_INFO "卸载 glusterfs-events 软件包"
|
||||
dnf remove -y glusterfs-events
|
||||
CHECK_RESULT $? 0 0 "卸载 glusterfs-events 失败"
|
||||
}
|
||||
|
||||
# 清理环境
|
||||
cleanup() {
|
||||
LOG_INFO "清理测试环境"
|
||||
# 停止服务
|
||||
systemctl stop glustereventsd &>/dev/null
|
||||
# 删除测试配置文件
|
||||
rm -f /etc/glusterevents/eventsconfig.json
|
||||
# 删除测试日志
|
||||
rm -f /var/log/glusterevents/webhook_test.log
|
||||
}
|
||||
|
||||
# 主函数
|
||||
main() {
|
||||
LOG_INFO "开始测试 glusterfs-events 的 Webhook 事件通知配置与触发功能"
|
||||
|
||||
# 检查软件包是否存在
|
||||
LOG_INFO "检查 glusterfs-events 软件包是否在yum源中"
|
||||
check_package_exist "glusterfs-events"
|
||||
|
||||
# 记录初始安装状态
|
||||
local originally_installed=false
|
||||
if check_installed; then
|
||||
originally_installed=true
|
||||
LOG_INFO "检测到 glusterfs-events 已安装"
|
||||
else
|
||||
LOG_INFO "检测到 glusterfs-events 未安装"
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装
|
||||
if ! $originally_installed; then
|
||||
install_package
|
||||
fi
|
||||
|
||||
# 检查命令参数
|
||||
LOG_INFO "检查 gluster-eventsapi 命令参数是否支持"
|
||||
check_command_option "gluster-eventsapi" "webhook"
|
||||
check_command_option "gluster-eventsapi" "add"
|
||||
check_command_option "gluster-eventsapi" "list"
|
||||
check_command_option "gluster-eventsapi" "delete"
|
||||
|
||||
# 启动服务
|
||||
LOG_INFO "启动 glustereventsd 服务"
|
||||
systemctl start glustereventsd
|
||||
CHECK_RESULT $? 0 0 "启动 glustereventsd 服务失败"
|
||||
|
||||
# 等待服务启动
|
||||
sleep 2
|
||||
|
||||
# 检查服务状态
|
||||
LOG_INFO "检查 glustereventsd 服务状态"
|
||||
systemctl is-active glustereventsd
|
||||
CHECK_RESULT $? 0 0 "glustereventsd 服务未运行"
|
||||
|
||||
# 配置Webhook
|
||||
LOG_INFO "配置Webhook事件通知"
|
||||
gluster-eventsapi webhook add --name test-webhook --url http://localhost:8080/webhook --secret test-secret
|
||||
CHECK_RESULT $? 0 0 "添加Webhook配置失败"
|
||||
|
||||
# 列出Webhook配置
|
||||
LOG_INFO "列出Webhook配置"
|
||||
gluster-eventsapi webhook list | grep -q "test-webhook"
|
||||
CHECK_RESULT $? 0 0 "Webhook配置未成功添加"
|
||||
|
||||
# 创建测试卷以触发事件
|
||||
LOG_INFO "创建测试卷以触发事件"
|
||||
mkdir -p /mnt/test_volume
|
||||
gluster volume create test_volume localhost:/mnt/test_volume force
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "测试卷创建成功,将触发卷创建事件"
|
||||
# 启动卷
|
||||
gluster volume start test_volume
|
||||
|
||||
# 等待事件触发
|
||||
sleep 3
|
||||
|
||||
# 检查事件日志
|
||||
LOG_INFO "检查事件日志"
|
||||
if [ -f /var/log/glusterevents/events.log ]; then
|
||||
tail -n 10 /var/log/glusterevents/events.log | grep -i "volume.*create"
|
||||
CHECK_RESULT $? 0 0 "未检测到卷创建事件"
|
||||
fi
|
||||
|
||||
# 停止并删除测试卷
|
||||
LOG_INFO "清理测试卷"
|
||||
gluster volume stop test_volume force
|
||||
gluster volume delete test_volume
|
||||
rm -rf /mnt/test_volume
|
||||
else
|
||||
LOG_INFO "测试卷创建失败(可能是环境限制),跳过事件触发测试"
|
||||
fi
|
||||
|
||||
# 删除Webhook配置
|
||||
LOG_INFO "删除Webhook配置"
|
||||
gluster-eventsapi webhook delete --name test-webhook
|
||||
CHECK_RESULT $? 0 0 "删除Webhook配置失败"
|
||||
|
||||
# 停止服务
|
||||
LOG_INFO "停止 glustereventsd 服务"
|
||||
systemctl stop glustereventsd
|
||||
CHECK_RESULT $? 0 0 "停止 glustereventsd 服务失败"
|
||||
|
||||
# 清理环境
|
||||
cleanup
|
||||
|
||||
# 如果最初未安装,则卸载软件包
|
||||
if ! $originally_installed; then
|
||||
uninstall_package
|
||||
else
|
||||
LOG_INFO "保持原有安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "glusterfs-events Webhook事件通知配置与触发功能测试完成"
|
||||
}
|
||||
|
||||
# 执行主函数
|
||||
main
|
||||
exit $?
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,76 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-01
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试kata-integration软件包的重启功能,验证服务是否能正常重启
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装kata-integration软件包
|
||||
LOG_INFO "检查是否已安装kata-integration软件包"
|
||||
if dnf list installed kata-integration &>/dev/null; then
|
||||
LOG_INFO "kata-integration已安装"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "kata-integration未安装"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有kata-integration软件包
|
||||
LOG_INFO "检查yum源中是否有kata-integration软件包"
|
||||
if ! dnf list available kata-integration &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到kata-integration软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装kata-integration
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "开始安装kata-integration软件包"
|
||||
dnf install -y kata-integration
|
||||
CHECK_RESULT $? 0 0 "安装kata-integration失败"
|
||||
fi
|
||||
|
||||
# 检查重启命令是否支持
|
||||
LOG_INFO "检查重启命令是否支持"
|
||||
if ! command -v systemctl &>/dev/null; then
|
||||
LOG_ERROR "systemctl命令不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 重启kata服务并验证
|
||||
LOG_INFO "重启kata服务并验证"
|
||||
systemctl restart kata.service
|
||||
CHECK_RESULT $? 0 0 "重启kata服务失败"
|
||||
|
||||
# 验证服务是否正常运行
|
||||
LOG_INFO "验证kata服务是否正常运行"
|
||||
systemctl is-active kata.service | grep -q "active"
|
||||
CHECK_RESULT $? 0 0 "kata服务未正常运行"
|
||||
|
||||
# 恢复环境:如果脚本开始时未安装,则卸载kata-integration
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载kata-integration软件包以恢复环境"
|
||||
dnf remove -y kata-integration
|
||||
CHECK_RESULT $? 0 0 "卸载kata-integration失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,71 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-01
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试kata-integration软件包的启动功能,验证服务是否能正常启动
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试kata-integration软件包的启动功能,验证服务是否能正常启动
|
||||
|
||||
LOG_INFO "开始测试kata-integration软件包的启动功能"
|
||||
|
||||
# 检查yum源中是否存在kata-integration软件包
|
||||
LOG_INFO "检查yum源中是否存在kata-integration软件包"
|
||||
dnf list available kata-integration &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在kata-integration软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装kata-integration
|
||||
LOG_INFO "检查是否已安装kata-integration"
|
||||
rpm -q kata-integration &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
installed=true
|
||||
LOG_INFO "kata-integration已安装"
|
||||
else
|
||||
installed=false
|
||||
LOG_INFO "kata-integration未安装,将进行安装"
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装kata-integration
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装kata-integration软件包"
|
||||
dnf install -y kata-integration
|
||||
CHECK_RESULT $? 0 0 "安装kata-integration失败"
|
||||
fi
|
||||
|
||||
# 启动kata服务并检查状态
|
||||
LOG_INFO "启动kata服务并检查状态"
|
||||
systemctl start kata
|
||||
CHECK_RESULT $? 0 0 "启动kata服务失败"
|
||||
|
||||
systemctl status kata &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "kata服务未正常运行"
|
||||
|
||||
# 如果脚本开始时未安装kata-integration,则在结束时卸载
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载kata-integration软件包"
|
||||
dnf remove -y kata-integration
|
||||
CHECK_RESULT $? 0 0 "卸载kata-integration失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试kata-integration软件包的启动功能完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,64 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-01
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试kata-integration软件包的状态查看功能,验证服务状态是否能正常查看
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查kata-integration软件包是否已安装
|
||||
LOG_INFO "检查kata-integration软件包是否已安装"
|
||||
if rpm -q kata-integration &>/dev/null; then
|
||||
LOG_INFO "kata-integration软件包已安装"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "kata-integration软件包未安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在kata-integration软件包
|
||||
LOG_INFO "检查yum源中是否存在kata-integration软件包"
|
||||
if ! dnf list available kata-integration &>/dev/null; then
|
||||
LOG_ERROR "yum源中不存在kata-integration软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装kata-integration软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装kata-integration软件包"
|
||||
dnf install -y kata-integration
|
||||
CHECK_RESULT $? 0 0 "安装kata-integration软件包失败"
|
||||
fi
|
||||
|
||||
# 验证服务状态查看功能
|
||||
LOG_INFO "验证服务状态查看功能"
|
||||
systemctl status kata-integration --no-pager
|
||||
CHECK_RESULT $? 0 0 "查看kata-integration服务状态失败"
|
||||
|
||||
# 如果脚本开始时未安装,则在结束时卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载kata-integration软件包"
|
||||
dnf remove -y kata-integration
|
||||
CHECK_RESULT $? 0 0 "卸载kata-integration软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,73 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-01
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试kata-integration软件包的停止功能,验证服务是否能正常停止
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试kata-integration软件包的停止功能,验证服务是否能正常停止"
|
||||
|
||||
# 检查是否已安装kata-integration
|
||||
if dnf list installed kata-integration &>/dev/null; then
|
||||
LOG_INFO "kata-integration已安装,测试结束后将保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "kata-integration未安装,将在测试步骤中安装并在结束时卸载"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有kata-integration软件包
|
||||
if ! dnf list available kata-integration &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到kata-integration软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装kata-integration
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "正在安装kata-integration软件包"
|
||||
dnf install -y kata-integration
|
||||
CHECK_RESULT $? 0 0 "安装kata-integration失败"
|
||||
fi
|
||||
|
||||
# 检查kata-integration服务是否存在
|
||||
if ! systemctl list-unit-files | grep -q kata-integration.service; then
|
||||
LOG_ERROR "kata-integration服务不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 停止kata-integration服务
|
||||
LOG_INFO "正在停止kata-integration服务"
|
||||
systemctl stop kata-integration
|
||||
CHECK_RESULT $? 0 0 "停止kata-integration服务失败"
|
||||
|
||||
# 验证服务是否已停止
|
||||
LOG_INFO "验证kata-integration服务是否已停止"
|
||||
systemctl is-active kata-integration | grep -q "inactive"
|
||||
CHECK_RESULT $? 0 0 "kata-integration服务未成功停止"
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载kata-integration
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "正在卸载kata-integration软件包"
|
||||
dnf remove -y kata-integration
|
||||
CHECK_RESULT $? 0 0 "卸载kata-integration失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,82 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-15
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试libbytesize-help软件包提供了帮助文档
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
PACKAGE_NAME="libbytesize-help"
|
||||
TEST_COMMAND="bshelp"
|
||||
PARAMETER="--help"
|
||||
|
||||
LOG_INFO "开始测试:检查${PACKAGE_NAME}软件包是否提供帮助文档"
|
||||
|
||||
LOG_INFO "步骤1:检查yum源中是否存在${PACKAGE_NAME}软件包"
|
||||
dnf list available ${PACKAGE_NAME} > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到${PACKAGE_NAME}软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查系统是否已安装${PACKAGE_NAME}软件包"
|
||||
rpm -q ${PACKAGE_NAME} > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
INSTALLED="true"
|
||||
LOG_INFO "软件包已安装,测试完成后将保持安装状态"
|
||||
else
|
||||
INSTALLED="false"
|
||||
LOG_INFO "软件包未安装,将作为测试步骤安装"
|
||||
fi
|
||||
|
||||
if [ "${INSTALLED}" = "false" ]; then
|
||||
LOG_INFO "步骤3:安装${PACKAGE_NAME}软件包"
|
||||
dnf install -y ${PACKAGE_NAME} > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}软件包失败"
|
||||
LOG_INFO "安装${PACKAGE_NAME}软件包成功"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:检查${TEST_COMMAND}命令是否存在"
|
||||
which ${TEST_COMMAND} > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "${TEST_COMMAND}命令未找到"
|
||||
|
||||
LOG_INFO "步骤5:检查${TEST_COMMAND}命令是否支持${PARAMETER}参数"
|
||||
${TEST_COMMAND} ${PARAMETER} > /dev/null 2>&1
|
||||
if [ $? -eq 255 ]; then
|
||||
LOG_ERROR "${TEST_COMMAND}命令不支持${PARAMETER}参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤6:执行${TEST_COMMAND} ${PARAMETER}命令,验证帮助文档"
|
||||
${TEST_COMMAND} ${PARAMETER} > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "执行${TEST_COMMAND} ${PARAMETER}命令失败"
|
||||
LOG_INFO "执行${TEST_COMMAND} ${PARAMETER}命令成功,帮助文档正常显示"
|
||||
|
||||
LOG_INFO "步骤7:清理测试环境"
|
||||
if [ "${INSTALLED}" = "false" ]; then
|
||||
LOG_INFO "卸载测试安装的${PACKAGE_NAME}软件包"
|
||||
dnf remove -y ${PACKAGE_NAME} > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}软件包失败"
|
||||
LOG_INFO "卸载${PACKAGE_NAME}软件包成功,环境已恢复"
|
||||
else
|
||||
LOG_INFO "保持${PACKAGE_NAME}软件包的安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:${PACKAGE_NAME}软件包提供的帮助文档功能正常"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,78 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-15
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试libbytesize-help软件包能够成功安装
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试libbytesize-help软件包安装功能"
|
||||
LOG_INFO "检查当前环境是否已安装libbytesize-help软件包"
|
||||
|
||||
if rpm -q libbytesize-help &>/dev/null; then
|
||||
LOG_INFO "libbytesize-help软件包已安装,测试过程中将保持安装状态"
|
||||
INSTALLED_BEFORE_TEST=true
|
||||
else
|
||||
LOG_INFO "libbytesize-help软件包未安装,将在测试过程中安装"
|
||||
INSTALLED_BEFORE_TEST=false
|
||||
fi
|
||||
|
||||
LOG_INFO "检查yum源中是否存在libbytesize-help软件包"
|
||||
if ! dnf list available libbytesize-help &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到libbytesize-help软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED_BEFORE_TEST" = "false" ]; then
|
||||
LOG_INFO "执行安装libbytesize-help软件包"
|
||||
dnf install -y libbytesize-help
|
||||
CHECK_RESULT $? 0 0 "安装libbytesize-help软件包失败"
|
||||
LOG_INFO "libbytesize-help软件包安装成功"
|
||||
fi
|
||||
|
||||
LOG_INFO "验证libbytesize-help软件包功能"
|
||||
LOG_INFO "检查libbytesize-help命令是否可用"
|
||||
if ! command -v bs-help &>/dev/null; then
|
||||
LOG_ERROR "bs-help命令不存在"
|
||||
if [ "$INSTALLED_BEFORE_TEST" = "false" ]; then
|
||||
LOG_INFO "清理测试环境,卸载libbytesize-help软件包"
|
||||
dnf remove -y libbytesize-help
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "测试bs-help命令基本功能"
|
||||
bs-help --help &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "bs-help --help命令执行失败"
|
||||
|
||||
LOG_INFO "测试bs-help命令特定参数"
|
||||
bs-help units &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "bs-help units命令执行失败"
|
||||
|
||||
if [ "$INSTALLED_BEFORE_TEST" = "false" ]; then
|
||||
LOG_INFO "清理测试环境,卸载libbytesize-help软件包"
|
||||
dnf remove -y libbytesize-help
|
||||
CHECK_RESULT $? 0 0 "卸载libbytesize-help软件包失败"
|
||||
LOG_INFO "libbytesize-help软件包卸载成功"
|
||||
else
|
||||
LOG_INFO "保持libbytesize-help软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "libbytesize-help软件包安装测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,77 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-15
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试libbytesize-help软件包安装后包含预期文件
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装libbytesize-help软件包
|
||||
LOG_INFO "检查是否已安装libbytesize-help软件包"
|
||||
rpm -q libbytesize-help > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "libbytesize-help软件包已安装,将保持安装状态"
|
||||
already_installed=1
|
||||
else
|
||||
LOG_INFO "libbytesize-help软件包未安装,将在测试中安装"
|
||||
already_installed=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有libbytesize-help软件包
|
||||
LOG_INFO "检查yum源中是否有libbytesize-help软件包"
|
||||
dnf list available libbytesize-help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "yum源中未找到libbytesize-help软件包"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到libbytesize-help软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $already_installed -eq 0 ]; then
|
||||
LOG_INFO "安装libbytesize-help软件包"
|
||||
dnf install -y libbytesize-help
|
||||
CHECK_RESULT $? 0 0 "安装libbytesize-help软件包失败"
|
||||
fi
|
||||
|
||||
# 检查libbytesize-help软件包是否包含预期的文件
|
||||
LOG_INFO "检查libbytesize-help软件包是否包含预期的文件"
|
||||
rpm -ql libbytesize-help | grep -q "/usr/share/help/"
|
||||
CHECK_RESULT $? 0 0 "libbytesize-help软件包未包含预期的帮助文件"
|
||||
|
||||
# 检查特定文件是否存在
|
||||
LOG_INFO "检查/usr/share/help/C/libbytesize/目录是否存在"
|
||||
[ -d "/usr/share/help/C/libbytesize/" ]
|
||||
CHECK_RESULT $? 0 0 "/usr/share/help/C/libbytesize/目录不存在"
|
||||
|
||||
LOG_INFO "检查/usr/share/help/C/libbytesize/index.docbook文件是否存在"
|
||||
[ -f "/usr/share/help/C/libbytesize/index.docbook" ]
|
||||
CHECK_RESULT $? 0 0 "/usr/share/help/C/libbytesize/index.docbook文件不存在"
|
||||
|
||||
# 如果测试前未安装,则卸载软件包
|
||||
if [ $already_installed -eq 0 ]; then
|
||||
LOG_INFO "卸载libbytesize-help软件包"
|
||||
dnf remove -y libbytesize-help
|
||||
CHECK_RESULT $? 0 0 "卸载libbytesize-help软件包失败"
|
||||
LOG_INFO "已恢复环境,libbytesize-help软件包已卸载"
|
||||
else
|
||||
LOG_INFO "保持libbytesize-help软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user