This commit is contained in:
2026-04-16 12:37:32 +08:00
462 changed files with 0 additions and 49146 deletions

View File

@@ -38,10 +38,6 @@
{
"name": "test_dpdk_dpdk-devbind__status_dev_crypto",
"desc": "打印加密设备的当前状态"
},
{
"name": "test_dpdk_function_devbind_status",
"desc": "测试dpdk-devbind命令查看所有网络设备状态的功能。"
}
]
}

View File

@@ -2,29 +2,9 @@
"path": "$OET_PATH/testcases/function_test/pkg_test/drbd/drbd-xen",
"machine num": 1,
"cases": [
{
"name": "test_drbd-xen_function_install",
"desc": "测试软件包drbd-xen的安装功能验证其是否能成功安装到系统中。"
},
{
"name": "test_drbd-xen_function_remove",
"desc": "测试软件包drbd-xen的卸载功能验证其是否能被完全且干净地移除。"
},
{
"name": "test_drbd-xen_function_status",
"desc": "测试drbd-xen相关服务如drbd的状态查询功能。"
},
{
"name": "test_drbd-xen_function_primary",
"desc": "测试将drbd资源设置为Primary角色的功能。"
},
{
"name": "test_drbd-xen_function_secondary",
"desc": "测试将drbd资源设置为Secondary角色的功能。"
},
{
"name": "test_drbd-xen_function_verify_conf",
"desc": "测试验证drbd-xen配置文件语法正确性的功能。"
}
]
}

View File

@@ -1,26 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/google-noto-fonts/google-noto-sans-cham-fonts",
"machine num": 1,
"cases": [
{
"name": "test_google-noto-sans-cham-fonts_function_install",
"desc": "测试google-noto-sans-cham-fonts软件包能否被成功安装。"
},
{
"name": "test_google-noto-sans-cham-fonts_function_uninstall",
"desc": "测试google-noto-sans-cham-fonts软件包能否被成功卸载。"
},
{
"name": "test_google-noto-sans-cham-fonts_function_font_file",
"desc": "测试软件包安装后主要的Cham字体文件如NotoSansCham-Regular.ttf是否存在于系统字体目录中。"
},
{
"name": "test_google-noto-sans-cham-fonts_function_font_list",
"desc": "测试系统字体缓存或列表中是否包含Noto Sans Cham字体。"
},
{
"name": "test_google-noto-sans-cham-fonts_function_display",
"desc": "测试能否使用Noto Sans Cham字体渲染基本的占语Cham字符。"
}
]
}

View File

@@ -2,293 +2,13 @@
"path": "$OET_PATH/testcases/function_test/pkg_test/hadoop/hadoop-yarn",
"machine num": 1,
"cases": [
{
"name": "test_hadoop-yarn_container-executor_upper_v",
"desc": "测试 container-executor 命令的 -V 参数"
},
{
"name": "test_hadoop-yarn_oom-listener_default",
"desc": "测试 oom-listener 命令的默认行为"
},
{
"name": "test_hadoop-yarn_test-container-executor_help",
"desc": "测试帮助命令"
},
{
"name": "test_hadoop-yarn_yarn_--help",
"desc": "测试 yarn 命令的 --help 参数,验证是否能正确显示帮助信息"
},
{
"name": "test_hadoop-yarn_yarn_--debug",
"desc": "测试 yarn 命令的 --debug 参数,验证是否能正确开启调试模式"
},
{
"name": "test_hadoop-yarn_yarn_--config_dir",
"desc": "测试 yarn 命令的 --config 参数,验证是否能正确指定 Hadoop 配置目录"
},
{
"name": "test_hadoop-yarn_yarn_--daemon_start",
"desc": "测试 yarn 命令的 --daemon start 参数,验证是否能正确启动守护进程"
},
{
"name": "test_hadoop-yarn_yarn_--daemon_status",
"desc": "测试 yarn 命令的 --daemon status 参数,验证是否能正确查看守护进程状态"
},
{
"name": "test_hadoop-yarn_yarn_--daemon_stop",
"desc": "测试 yarn 命令的 --daemon stop 参数,验证是否能正确停止守护进程"
},
{
"name": "test_hadoop-yarn_yarn_--loglevel_level",
"desc": "测试 yarn 命令的 --loglevel 参数,验证是否能正确设置日志级别"
},
{
"name": "test_hadoop-yarn_function_resourcemanager",
"desc": "测试 resourcemanager 功能是否正常启动和运行"
},
{
"name": "test_hadoop-yarn_test-container-executor__help",
"desc": "测试 test-container-executor 命令的帮助文档功能"
},
{
"name": "test_hadoop-yarn_yarn_--hostnames_list_of_host_names",
"desc": "测试 yarn 命令的 --hostnames 参数,指定工作模式下的主机列表"
},
{
"name": "test_hadoop-yarn_yarn_--hosts_filename",
"desc": "测试 yarn 命令的 --hosts 参数,指定工作模式下的主机文件列表"
},
{
"name": "test_hadoop-yarn_yarn_--workers",
"desc": "测试 yarn 命令的 --workers 参数,开启工作模式"
},
{
"name": "test_hadoop-yarn_function_nodemanager",
"desc": "测试 nodemanager 功能是否正常启动和运行"
},
{
"name": "test_hadoop-yarn_container-executor_help",
"desc": "测试container-executor命令的help参数用于显示帮助信息"
},
{
"name": "test_hadoop-yarn_container-executor_version",
"desc": "测试container-executor命令的version参数用于显示版本信息"
},
{
"name": "test_hadoop-yarn_oom-listener__upper_v",
"desc": "使用-V参数运行oom-listener命令验证其版本信息显示功能"
},
{
"name": "test_hadoop-yarn_oom-listener__v",
"desc": "使用-v参数运行oom-listener命令验证其详细信息输出功能"
},
{
"name": "test_hadoop-yarn_test-container-executor__upper_v",
"desc": "测试使用-V参数显示版本信息"
},
{
"name": "test_hadoop-yarn_test-container-executor__h",
"desc": "测试使用-h参数显示帮助信息"
},
{
"name": "test_hadoop-yarn_test-container-executor__upper_r",
"desc": "测试使用-R参数指定运行模式"
},
{
"name": "test_hadoop-yarn_test-container-executor__upper_d",
"desc": "测试使用-D参数指定配置属性"
},
{
"name": "test_hadoop-yarn_test-container-executor__upper_u",
"desc": "测试使用-U参数指定用户"
},
{
"name": "test_hadoop-yarn_yarn__help",
"desc": "测试yarn命令的帮助信息"
},
{
"name": "test_hadoop-yarn_yarn__daemon_start",
"desc": "测试以守护进程模式启动yarn"
},
{
"name": "test_hadoop-yarn_yarn__daemon_stop",
"desc": "测试停止yarn守护进程"
},
{
"name": "test_hadoop-yarn_yarn__daemon_status",
"desc": "测试查看yarn守护进程状态"
},
{
"name": "test_hadoop-yarn_yarn__config_dir",
"desc": "测试指定Hadoop配置目录"
},
{
"name": "test_hadoop-yarn_yarn__debug",
"desc": "测试开启shell脚本调试模式"
},
{
"name": "test_hadoop-yarn_yarn__loglevel_level",
"desc": "测试设置命令的日志级别"
},
{
"name": "test_hadoop-yarn_yarn__workers",
"desc": "测试开启工作节点模式"
},
{
"name": "test_hadoop-yarn_yarn__hostnames_list",
"desc": "测试指定工作节点模式下的主机列表"
},
{
"name": "test_hadoop-yarn_yarn__hosts_filename",
"desc": "测试指定包含工作节点主机列表的文件"
},
{
"name": "test_hadoop-yarn_yarn_app",
"desc": "测试查看应用程序报告"
},
{
"name": "test_hadoop-yarn_yarn_application",
"desc": "测试查看应用程序报告(长格式)"
},
{
"name": "test_hadoop-yarn_yarn_applicationattempt",
"desc": "测试查看应用程序尝试报告"
},
{
"name": "test_hadoop-yarn_yarn_classpath",
"desc": "测试打印运行hadoop jar所需的类路径"
},
{
"name": "test_hadoop-yarn_yarn_cluster",
"desc": "测试打印集群信息"
},
{
"name": "test_hadoop-yarn_yarn_container",
"desc": "测试打印容器报告"
},
{
"name": "test_hadoop-yarn_yarn_envvars",
"desc": "测试显示计算出的Hadoop环境变量"
},
{
"name": "test_hadoop-yarn_yarn_jar_jar",
"desc": "测试运行一个jar文件"
},
{
"name": "test_hadoop-yarn_yarn_logs",
"desc": "测试转储容器日志"
},
{
"name": "test_hadoop-yarn_yarn_node",
"desc": "测试打印节点报告"
},
{
"name": "test_hadoop-yarn_yarn_nodeattributes",
"desc": "测试节点属性命令行客户端"
},
{
"name": "test_hadoop-yarn_yarn_queue",
"desc": "测试打印队列信息"
},
{
"name": "test_hadoop-yarn_yarn_rmadmin",
"desc": "测试运行资源管理器管理工具"
},
{
"name": "test_hadoop-yarn_yarn_schedulerconf",
"desc": "测试更新调度器配置"
},
{
"name": "test_hadoop-yarn_yarn_top",
"desc": "测试查看集群信息top命令"
},
{
"name": "test_hadoop-yarn_yarn_version",
"desc": "测试打印yarn版本信息"
},
{
"name": "test_hadoop-yarn_yarn_daemonlog",
"desc": "测试获取/设置每个守护进程的日志级别"
},
{
"name": "test_hadoop-yarn_yarn_scmadmin",
"desc": "测试共享缓存管理器管理工具"
},
{
"name": "test_hadoop-yarn_yarn_fs2cs",
"desc": "测试将公平调度器配置转换为容量调度器配置(实验性)"
},
{
"name": "test_hadoop-yarn_yarn_timelinereader",
"desc": "测试运行时间轴读取器服务器"
},
{
"name": "test_hadoop-yarn_yarn_nodemanager",
"desc": "测试在每个工作节点上运行节点管理器"
},
{
"name": "test_hadoop-yarn_yarn_proxyserver",
"desc": "测试运行Web应用程序代理服务器"
},
{
"name": "test_hadoop-yarn_yarn_registrydns",
"desc": "测试运行注册表DNS服务器"
},
{
"name": "test_hadoop-yarn_yarn_resourcemanager",
"desc": "测试运行资源管理器"
},
{
"name": "test_hadoop-yarn_yarn_router",
"desc": "测试运行路由器守护进程"
},
{
"name": "test_hadoop-yarn_yarn_sharedcachemanager",
"desc": "测试运行共享缓存管理器守护进程"
},
{
"name": "test_hadoop-yarn_yarn_timelineserver",
"desc": "测试运行时间轴服务器"
},
{
"name": "test_hadoop-yarn_function_install",
"desc": "测试软件包安装功能"
},
{
"name": "test_hadoop-yarn_function_uninstall",
"desc": "测试软件包卸载功能"
},
{
"name": "test_hadoop-yarn_function_check_installed",
"desc": "测试检查软件包是否已安装"
},
{
"name": "test_hadoop-yarn_function_start_rm",
"desc": "测试启动资源管理器服务"
},
{
"name": "test_hadoop-yarn_function_start_nm",
"desc": "测试启动节点管理器服务"
},
{
"name": "test_hadoop-yarn_function_submit_job",
"desc": "测试提交YARN作业"
},
{
"name": "test_hadoop-yarn_function_job_status",
"desc": "测试查询YARN作业状态"
},
{
"name": "test_hadoop-yarn_function_kill_job",
"desc": "测试终止YARN作业"
},
{
"name": "test_hadoop-yarn_function_view_logs",
"desc": "测试查看作业容器日志"
},
{
"name": "test_hadoop-yarn_function_cluster_info",
"desc": "测试查看YARN集群信息"
}
]
}

View File

@@ -1,26 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/hadoop/libhdfs",
"machine num": 1,
"cases": [
{
"name": "test_libhdfs_function_open",
"desc": "Test opening a file in HDFS"
},
{
"name": "test_libhdfs_function_read",
"desc": "Test reading a file in HDFS"
},
{
"name": "test_libhdfs_function_write",
"desc": "Test writing to a file in HDFS"
},
{
"name": "test_libhdfs_function_close",
"desc": "Test closing a file in HDFS"
},
{
"name": "test_libhdfs_function_stat",
"desc": "Test getting file status in HDFS"
}
]
}

View File

@@ -1,26 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/kyotocabinet/kyotocabinet-help",
"machine num": 1,
"cases": [
{
"name": "test_kyotocabinet-help_function_basic",
"desc": "Test basic functionality of kyotocabinet-help"
},
{
"name": "test_kyotocabinet-help_function_open",
"desc": "Test opening a database with kyotocabinet-help"
},
{
"name": "test_kyotocabinet-help_function_set",
"desc": "Test setting a key-value pair"
},
{
"name": "test_kyotocabinet-help_function_get",
"desc": "Test retrieving a value by key"
},
{
"name": "test_kyotocabinet-help_function_del",
"desc": "Test deleting a key-value pair"
}
]
}

View File

@@ -10,18 +10,6 @@
{
"name": "test_libnfs-help_function_uninstall",
"desc": "测试libnfs-help软件包的卸载功能验证是否能够从系统中完全移除。"
},
{
"name": "test_libnfs-help_function_check_version",
"desc": "测试libnfs-help软件包的版本查询功能验证能否正确显示其版本信息。"
},
{
"name": "test_libnfs-help_function_help_info",
"desc": "测试libnfs-help软件包的帮助信息功能验证执行帮助命令能否正常输出使用说明。"
},
{
"name": "test_libnfs-help_function_file_exist",
"desc": "测试libnfs-help软件包的核心文件是否存在验证安装后关键文件如手册页、文档是否已部署。"
}
]
}

View File

@@ -53,54 +53,6 @@
{
"name": "test_python3-librepo_function_install",
"desc": "测试软件包安装功能"
},
{
"name": "test_python3-librepo_function_remove",
"desc": "测试软件包卸载功能"
},
{
"name": "test_python3-librepo_function_update",
"desc": "测试软件包更新功能"
},
{
"name": "test_python3-librepo_function_query",
"desc": "测试软件包查询功能"
},
{
"name": "test_python3-librepo_function_verify",
"desc": "测试软件包完整性验证"
},
{
"name": "test_python3-librepo_function_repolist",
"desc": "测试列出可用软件仓库"
},
{
"name": "test_python3-librepo_function_repoconfig",
"desc": "测试仓库配置文件读取"
},
{
"name": "test_python3-librepo_function_repodata",
"desc": "测试仓库元数据下载"
},
{
"name": "test_python3-librepo_function_repoclean",
"desc": "测试清理缓存数据"
},
{
"name": "test_python3-librepo_function_repohandle",
"desc": "测试仓库句柄基本操作"
},
{
"name": "test_python3-librepo_function_pkgimport",
"desc": "测试导入本地软件包"
},
{
"name": "test_python3-librepo_function_pkgexport",
"desc": "测试导出软件包信息"
},
{
"name": "test_python3-librepo_function_pkgverify",
"desc": "测试软件包签名验证"
}
]
}

View File

@@ -1,46 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/openwebbeans/openwebbeans-test",
"machine num": 1,
"cases": [
{
"name": "test_openwebbeans-test_function_di",
"desc": "Test dependency injection functionality"
},
{
"name": "test_openwebbeans-test_function_event",
"desc": "Test event handling functionality"
},
{
"name": "test_openwebbeans-test_function_install",
"desc": "Test installation of the openwebbeans-test package"
},
{
"name": "test_openwebbeans-test_function_uninstall",
"desc": "Test uninstallation of the openwebbeans-test package"
},
{
"name": "test_openwebbeans-test_function_version",
"desc": "Test checking the installed package version"
},
{
"name": "test_openwebbeans-test_function_help",
"desc": "Test accessing the package help or usage information"
},
{
"name": "test_openwebbeans-test_function_basic_bean",
"desc": "Test basic bean creation and injection"
},
{
"name": "test_openwebbeans-test_function_scope",
"desc": "Test bean scope functionality (e.g., @ApplicationScoped, @RequestScoped)"
},
{
"name": "test_openwebbeans-test_function_interceptor",
"desc": "Test interceptor binding and execution"
},
{
"name": "test_openwebbeans-test_function_alternatives",
"desc": "Test the use of @Alternative and selection"
}
]
}

View File

@@ -14,17 +14,9 @@
"name": "test_p11-kit-help_function_check_installed",
"desc": "Verify if p11-kit-help is installed"
},
{
"name": "test_p11-kit-help_function_update",
"desc": "Test updating p11-kit-help package"
},
{
"name": "test_p11-kit-help_function_verify",
"desc": "Verify package integrity and files"
},
{
"name": "test_p11-kit-help_function_help_content",
"desc": "Check help content availability and format"
}
]
}

View File

@@ -1,970 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/poppler/poppler-utils",
"machine num": 1,
"cases": [
{
"name": "test_poppler-utils_pdfattach_replace",
"desc": "测试使用-replace参数替换已存在的同名附件"
},
{
"name": "test_poppler-utils_pdfattach_upper_v",
"desc": "测试使用-v参数打印版本和版权信息"
},
{
"name": "test_poppler-utils_pdfattach_h",
"desc": "测试使用-h参数打印帮助信息"
},
{
"name": "test_poppler-utils_pdfattach_help",
"desc": "测试使用-help参数打印帮助信息"
},
{
"name": "test_poppler-utils_pdfattach_special_double_help",
"desc": "测试使用--help参数打印帮助信息"
},
{
"name": "test_poppler-utils_pdfattach_special_question",
"desc": "测试使用-?参数打印帮助信息"
},
{
"name": "test_poppler-utils_pdfdetach__list",
"desc": "测试pdfdetach命令的-list参数用于列出PDF文件中所有嵌入文件"
},
{
"name": "test_poppler-utils_pdfdetach__save_num_1",
"desc": "测试pdfdetach命令的-save参数用于通过文件编号如1保存指定的嵌入文件"
},
{
"name": "test_poppler-utils_pdfdetach__savefile_filename",
"desc": "测试pdfdetach命令的-savefile参数用于通过文件名保存指定的嵌入文件"
},
{
"name": "test_poppler-utils_pdfdetach__saveall",
"desc": "测试pdfdetach命令的-saveall参数用于保存PDF文件中所有嵌入文件"
},
{
"name": "test_poppler-utils_pdfdetach__o_outputname",
"desc": "测试pdfdetach命令的-o参数用于指定保存嵌入文件的输出文件名"
},
{
"name": "test_poppler-utils_pdfdetach__enc_encoding",
"desc": "测试pdfdetach命令的-enc参数用于指定输出文本的编码名称"
},
{
"name": "test_poppler-utils_pdfdetach__opw_ownerpass",
"desc": "测试pdfdetach命令的-opw参数用于提供加密PDF文件的所有者密码"
},
{
"name": "test_poppler-utils_pdfdetach__upw_userpass",
"desc": "测试pdfdetach命令的-upw参数用于提供加密PDF文件的用户密码"
},
{
"name": "test_poppler-utils_pdfdetach__upper_v",
"desc": "测试pdfdetach命令的-v参数用于打印版权和版本信息"
},
{
"name": "test_poppler-utils_pdfdetach__h",
"desc": "测试pdfdetach命令的-h参数用于打印使用信息"
},
{
"name": "test_poppler-utils_pdfdetach__help",
"desc": "测试pdfdetach命令的-help参数用于打印使用信息"
},
{
"name": "test_poppler-utils_pdfdetach__special__help",
"desc": "测试pdfdetach命令的--help参数用于打印使用信息"
},
{
"name": "test_poppler-utils_pdffonts_h",
"desc": "测试pdffonts命令的-h参数用于打印使用信息"
},
{
"name": "test_poppler-utils_pdffonts_help",
"desc": "测试pdffonts命令的-help参数用于打印使用信息"
},
{
"name": "test_poppler-utils_pdffonts__help",
"desc": "测试pdffonts命令的--help参数用于打印使用信息"
},
{
"name": "test_poppler-utils_pdffonts_special_",
"desc": "测试pdffonts命令的-?参数,用于打印使用信息"
},
{
"name": "test_poppler-utils_pdffonts_v",
"desc": "测试pdffonts命令的-v参数用于打印版本和版权信息"
},
{
"name": "test_poppler-utils_pdffonts_f_num_1",
"desc": "测试pdffonts命令的-f参数指定从第1页开始检查字体"
},
{
"name": "test_poppler-utils_pdffonts_l_num_10",
"desc": "测试pdffonts命令的-l参数指定检查到第10页为止"
},
{
"name": "test_poppler-utils_pdffonts_f_l",
"desc": "测试pdffonts命令的-f和-l参数组合指定检查第5到第15页的字体"
},
{
"name": "test_poppler-utils_pdffonts_subst",
"desc": "测试pdffonts命令的-subst参数用于显示字体替换信息"
},
{
"name": "test_poppler-utils_pdffonts_opw",
"desc": "测试pdffonts命令的-opw参数为加密PDF文件提供所有者密码"
},
{
"name": "test_poppler-utils_pdffonts_upw",
"desc": "测试pdffonts命令的-upw参数为加密PDF文件提供用户密码"
},
{
"name": "test_poppler-utils_pdfimages_f",
"desc": "测试 -f 参数指定从PDF文件的第一页开始提取图像"
},
{
"name": "test_poppler-utils_pdfimages_l",
"desc": "测试 -l 参数指定提取PDF文件的最后一页图像"
},
{
"name": "test_poppler-utils_pdfimages_png",
"desc": "测试 -png 参数将默认输出格式更改为PNG"
},
{
"name": "test_poppler-utils_pdfimages_tiff",
"desc": "测试 -tiff 参数将默认输出格式更改为TIFF"
},
{
"name": "test_poppler-utils_pdfimages_j",
"desc": "测试 -j 参数将JPEG图像保存为JPEG文件"
},
{
"name": "test_poppler-utils_pdfimages_jp2",
"desc": "测试 -jp2 参数将JPEG2000图像保存为JP2文件"
},
{
"name": "test_poppler-utils_pdfimages_jbig2",
"desc": "测试 -jbig2 参数将JBIG2图像保存为JBIG2文件"
},
{
"name": "test_poppler-utils_pdfimages_ccitt",
"desc": "测试 -ccitt 参数将CCITT图像保存为CCITT文件"
},
{
"name": "test_poppler-utils_pdfimages_all",
"desc": "测试 -all 参数,启用所有支持的图像格式输出"
},
{
"name": "test_poppler-utils_pdfimages_list",
"desc": "测试 -list 参数列出PDF文件中的图像信息而不保存"
},
{
"name": "test_poppler-utils_pdfimages_opw",
"desc": "测试 -opw 参数为加密PDF文件指定所有者密码"
},
{
"name": "test_poppler-utils_pdfimages_upw",
"desc": "测试 -upw 参数为加密PDF文件指定用户密码"
},
{
"name": "test_poppler-utils_pdfimages_p",
"desc": "测试 -p 参数,在输出文件名中包含页码"
},
{
"name": "test_poppler-utils_pdfimages_q",
"desc": "测试 -q 参数,静默模式,不打印任何消息或错误"
},
{
"name": "test_poppler-utils_pdfimages_upper_v",
"desc": "测试 -v 参数,打印版权和版本信息"
},
{
"name": "test_poppler-utils_pdfimages_h",
"desc": "测试 -h 参数,打印使用帮助信息"
},
{
"name": "test_poppler-utils_pdfimages_help",
"desc": "测试 -help 参数,打印使用帮助信息"
},
{
"name": "test_poppler-utils_pdfimages_special_help",
"desc": "测试 --help 参数,打印使用帮助信息"
},
{
"name": "test_poppler-utils_pdfimages_special_question",
"desc": "测试 -? 参数,打印使用帮助信息"
},
{
"name": "test_poppler-utils_pdfimages_f_l",
"desc": "测试 -f 和 -l 参数组合指定提取PDF文件的特定页面范围图像"
},
{
"name": "test_poppler-utils_pdfinfo__v",
"desc": "测试pdfinfo命令的版本和版权信息输出"
},
{
"name": "test_poppler-utils_pdfinfo__h",
"desc": "测试pdfinfo命令的用法帮助信息输出"
},
{
"name": "test_poppler-utils_pdfinfo__help",
"desc": "测试pdfinfo命令的用法帮助信息输出长格式"
},
{
"name": "test_poppler-utils_pdfinfo__question",
"desc": "测试pdfinfo命令的用法帮助信息输出问号格式"
},
{
"name": "test_poppler-utils_pdfinfo_f",
"desc": "测试pdfinfo命令指定起始页码"
},
{
"name": "test_poppler-utils_pdfinfo_l",
"desc": "测试pdfinfo命令指定结束页码"
},
{
"name": "test_poppler-utils_pdfinfo_box",
"desc": "测试pdfinfo命令打印页面边界框"
},
{
"name": "test_poppler-utils_pdfinfo_meta",
"desc": "测试pdfinfo命令以XML格式打印文档元数据"
},
{
"name": "test_poppler-utils_pdfinfo_custom",
"desc": "测试pdfinfo命令打印自定义和标准元数据"
},
{
"name": "test_poppler-utils_pdfinfo_js",
"desc": "测试pdfinfo命令打印PDF中的所有JavaScript"
},
{
"name": "test_poppler-utils_pdfinfo_struct",
"desc": "测试pdfinfo命令打印逻辑文档结构针对标记文件"
},
{
"name": "test_poppler-utils_pdfinfo_struct_text",
"desc": "测试pdfinfo命令打印文档结构及文本内容针对标记文件"
},
{
"name": "test_poppler-utils_pdfinfo_isodates",
"desc": "测试pdfinfo命令以ISO-8601格式打印日期"
},
{
"name": "test_poppler-utils_pdfinfo_rawdates",
"desc": "测试pdfinfo命令直接从PDF文件打印未解码的日期字符串"
},
{
"name": "test_poppler-utils_pdfinfo_dests",
"desc": "测试pdfinfo命令打印PDF中的所有命名目标"
},
{
"name": "test_poppler-utils_pdfinfo_url",
"desc": "测试pdfinfo命令打印PDF对象内的所有URL不扫描文本内容"
},
{
"name": "test_poppler-utils_pdfinfo_enc",
"desc": "测试pdfinfo命令指定输出文本编码"
},
{
"name": "test_poppler-utils_pdfinfo_listenc",
"desc": "测试pdfinfo命令列出可用编码"
},
{
"name": "test_poppler-utils_pdfinfo_opw",
"desc": "测试pdfinfo命令指定所有者密码用于加密文件"
},
{
"name": "test_poppler-utils_pdfinfo_upw",
"desc": "测试pdfinfo命令指定用户密码用于加密文件"
},
{
"name": "test_poppler-utils_pdfinfo_f_l",
"desc": "测试pdfinfo命令同时指定起始和结束页码"
},
{
"name": "test_poppler-utils_pdfinfo_box_meta",
"desc": "测试pdfinfo命令同时打印页面边界框和文档元数据"
},
{
"name": "test_poppler-utils_pdfinfo_custom_isodates",
"desc": "测试pdfinfo命令同时打印自定义元数据和ISO格式日期"
},
{
"name": "test_poppler-utils_pdfinfo_enc_opw",
"desc": "测试pdfinfo命令同时指定输出编码和所有者密码"
},
{
"name": "test_poppler-utils_pdfseparate__v",
"desc": "测试pdfseparate命令的版本信息输出"
},
{
"name": "test_poppler-utils_pdfseparate__h",
"desc": "测试pdfseparate命令的帮助信息输出"
},
{
"name": "test_poppler-utils_pdfseparate__help",
"desc": "测试pdfseparate命令的长格式帮助信息输出"
},
{
"name": "test_poppler-utils_pdfseparate___help",
"desc": "测试pdfseparate命令的双横杠帮助信息输出"
},
{
"name": "test_poppler-utils_pdfseparate__f__num_1__l__num_5",
"desc": "测试pdfseparate命令提取PDF第1页到第5页的功能"
},
{
"name": "test_poppler-utils_pdfseparate__f__num_3",
"desc": "测试pdfseparate命令从第3页开始提取PDF页面的功能"
},
{
"name": "test_poppler-utils_pdfseparate__l__num_10",
"desc": "测试pdfseparate命令提取PDF到第10页为止的功能"
},
{
"name": "test_poppler-utils_pdfsig_v",
"desc": "测试pdfsig命令的版本和版权信息输出功能"
},
{
"name": "test_poppler-utils_pdfsig_h",
"desc": "测试pdfsig命令打印帮助信息的功能"
},
{
"name": "test_poppler-utils_pdfsig_help",
"desc": "测试pdfsig命令打印帮助信息的功能"
},
{
"name": "test_poppler-utils_pdfsig__upper__upper_help",
"desc": "测试pdfsig命令打印帮助信息的功能"
},
{
"name": "test_poppler-utils_pdfsig_special_question",
"desc": "测试pdfsig命令打印帮助信息的功能"
},
{
"name": "test_poppler-utils_pdfsig_list_backends",
"desc": "测试pdfsig命令列出可用加密签名后端的功能"
},
{
"name": "test_poppler-utils_pdfsig_nssdir",
"desc": "测试pdfsig命令指定NSS数据库目录路径的功能"
},
{
"name": "test_poppler-utils_pdfsig_nss_pwd",
"desc": "测试pdfsig命令指定NSS数据库访问密码的功能"
},
{
"name": "test_poppler-utils_pdfsig_nocert",
"desc": "测试pdfsig命令禁用证书验证的功能"
},
{
"name": "test_poppler-utils_pdfsig_no_ocsp",
"desc": "测试pdfsig命令禁用在线OCSP证书吊销检查的功能"
},
{
"name": "test_poppler-utils_pdfsig_aia",
"desc": "测试pdfsig命令使用AIA扩展获取证书的功能"
},
{
"name": "test_poppler-utils_pdfsig_dump",
"desc": "测试pdfsig命令将所有签名转储到当前目录的功能"
},
{
"name": "test_poppler-utils_pdfsig_add_signature",
"desc": "测试pdfsig命令向文档添加新签名的功能"
},
{
"name": "test_poppler-utils_pdfsig_new_signature_field_name",
"desc": "测试pdfsig命令为新添加的签名指定字段名称的功能"
},
{
"name": "test_poppler-utils_pdfsig_sign",
"desc": "测试pdfsig命令在指定签名字段按名称或编号对文档进行签名的功能"
},
{
"name": "test_poppler-utils_pdfsig_etsi",
"desc": "测试pdfsig命令创建ETSI.CAdES.detached类型签名的功能"
},
{
"name": "test_poppler-utils_pdfsig_backend",
"desc": "测试pdfsig命令指定用于签名/验证的后端的功能"
},
{
"name": "test_poppler-utils_pdfsig_nick",
"desc": "测试pdfsig命令使用指定昵称/指纹的证书进行签名的功能"
},
{
"name": "test_poppler-utils_pdfsig_kpw",
"desc": "测试pdfsig命令指定签名密钥密码的功能"
},
{
"name": "test_poppler-utils_pdfsig_digest",
"desc": "测试pdfsig命令指定摘要算法的功能"
},
{
"name": "test_poppler-utils_pdfsig_reason",
"desc": "测试pdfsig命令指定签名原因的功能"
},
{
"name": "test_poppler-utils_pdfsig_list_nicks",
"desc": "测试pdfsig命令列出NSS数据库中可用昵称的功能"
},
{
"name": "test_poppler-utils_pdfsig_opw",
"desc": "测试pdfsig命令指定所有者密码用于加密文件的功能"
},
{
"name": "test_poppler-utils_pdfsig_upw",
"desc": "测试pdfsig命令指定用户密码用于加密文件的功能"
},
{
"name": "test_poppler-utils_pdftocairo_png",
"desc": "测试pdftocairo生成PNG图片文件的功能"
},
{
"name": "test_poppler-utils_pdftocairo_jpeg",
"desc": "测试pdftocairo生成JPEG图片文件的功能"
},
{
"name": "test_poppler-utils_pdftocairo_tiff",
"desc": "测试pdftocairo生成TIFF图片文件的功能"
},
{
"name": "test_poppler-utils_pdftocairo_ps",
"desc": "测试pdftocairo生成PostScript文件的功能"
},
{
"name": "test_poppler-utils_pdftocairo_eps",
"desc": "测试pdftocairo生成EPS文件的功能"
},
{
"name": "test_poppler-utils_pdftocairo_pdf",
"desc": "测试pdftocairo生成PDF文件的功能"
},
{
"name": "test_poppler-utils_pdftocairo_svg",
"desc": "测试pdftocairo生成SVG文件的功能"
},
{
"name": "test_poppler-utils_pdftocairo_f_num_1",
"desc": "测试pdftocairo从第1页开始转换的功能"
},
{
"name": "test_poppler-utils_pdftocairo_l_num_10",
"desc": "测试pdftocairo转换到第10页为止的功能"
},
{
"name": "test_poppler-utils_pdftocairo_o",
"desc": "测试pdftocairo仅转换奇数页的功能"
},
{
"name": "test_poppler-utils_pdftocairo_e",
"desc": "测试pdftocairo仅转换偶数页的功能"
},
{
"name": "test_poppler-utils_pdftocairo_singlefile",
"desc": "测试pdftocairo仅输出第一页且文件名不加页码的功能"
},
{
"name": "test_poppler-utils_pdftocairo_r_num_300",
"desc": "测试pdftocairo设置输出分辨率为300 PPI的功能"
},
{
"name": "test_poppler-utils_pdftocairo_scale_to_num_1000",
"desc": "测试pdftocairo缩放页面以适应1000x1000像素框的功能"
},
{
"name": "test_poppler-utils_pdftocairo_mono",
"desc": "测试pdftocairo生成单色图片的功能"
},
{
"name": "test_poppler-utils_pdftocairo_gray",
"desc": "测试pdftocairo生成灰度图片的功能"
},
{
"name": "test_poppler-utils_pdftocairo_transp",
"desc": "测试pdftocairo为PNG图片生成透明背景的功能"
},
{
"name": "test_poppler-utils_pdftocairo_cropbox",
"desc": "测试pdftocairo使用CropBox而非MediaBox的功能"
},
{
"name": "test_poppler-utils_pdftocairo_paper_A4",
"desc": "测试pdftocairo设置纸张大小为A4的功能"
},
{
"name": "test_poppler-utils_pdftocairo_nocrop",
"desc": "测试pdftocairo不裁剪页面至CropBox的功能"
},
{
"name": "test_poppler-utils_pdftocairo_upper_q",
"desc": "测试pdftocairo静默模式不输出信息的功能"
},
{
"name": "test_poppler-utils_pdftocairo_upper_v",
"desc": "测试pdftocairo打印版本和版权信息的功能"
},
{
"name": "test_poppler-utils_pdftocairo_h",
"desc": "测试pdftocairo打印帮助信息的功能"
},
{
"name": "test_poppler-utils_pdftohtml_f",
"desc": "测试-f参数指定转换的起始页码"
},
{
"name": "test_poppler-utils_pdftohtml_l",
"desc": "测试-l参数指定转换的结束页码"
},
{
"name": "test_poppler-utils_pdftohtml_q",
"desc": "测试-q参数不打印任何消息或错误"
},
{
"name": "test_poppler-utils_pdftohtml_h",
"desc": "测试-h参数打印使用信息"
},
{
"name": "test_poppler-utils_pdftohtml_help",
"desc": "测试-help参数打印使用信息"
},
{
"name": "test_poppler-utils_pdftohtml__help",
"desc": "测试--help参数打印使用信息"
},
{
"name": "test_poppler-utils_pdftohtml_p",
"desc": "测试-p参数将.pdf链接替换为.html链接"
},
{
"name": "test_poppler-utils_pdftohtml_c",
"desc": "测试-c参数生成复杂文档"
},
{
"name": "test_poppler-utils_pdftohtml_s",
"desc": "测试-s参数生成包含所有页面的单一文档"
},
{
"name": "test_poppler-utils_pdftohtml_dataurls",
"desc": "测试-dataurls参数在HTML中使用data URL而非外部图片"
},
{
"name": "test_poppler-utils_pdftohtml_i",
"desc": "测试-i参数忽略图片"
},
{
"name": "test_poppler-utils_pdftohtml_noframes",
"desc": "测试-noframes参数不生成框架"
},
{
"name": "test_poppler-utils_pdftohtml_stdout",
"desc": "测试-stdout参数使用标准输出"
},
{
"name": "test_poppler-utils_pdftohtml_zoom",
"desc": "测试-zoom参数缩放PDF文档"
},
{
"name": "test_poppler-utils_pdftohtml_xml",
"desc": "测试-xml参数输出用于XML后处理"
},
{
"name": "test_poppler-utils_pdftohtml_noroundcoord",
"desc": "测试-noroundcoord参数不四舍五入坐标仅限XML输出"
},
{
"name": "test_poppler-utils_pdftohtml_hidden",
"desc": "测试-hidden参数输出隐藏文本"
},
{
"name": "test_poppler-utils_pdftohtml_nomerge",
"desc": "测试-nomerge参数不合并段落"
},
{
"name": "test_poppler-utils_pdftohtml_enc",
"desc": "测试-enc参数指定输出文本编码名称"
},
{
"name": "test_poppler-utils_pdftohtml_fmt",
"desc": "测试-fmt参数指定Splash输出的图片文件格式png或jpg"
},
{
"name": "test_poppler-utils_pdftohtml_upper_v",
"desc": "测试-v参数打印版权和版本信息"
},
{
"name": "test_poppler-utils_pdftohtml_opw",
"desc": "测试-opw参数指定所有者密码用于加密文件"
},
{
"name": "test_poppler-utils_pdftohtml_upw",
"desc": "测试-upw参数指定用户密码用于加密文件"
},
{
"name": "test_poppler-utils_pdftohtml_nodrm",
"desc": "测试-nodrm参数覆盖文档DRM设置"
},
{
"name": "test_poppler-utils_pdftohtml_wbt",
"desc": "测试-wbt参数指定断词阈值"
},
{
"name": "test_poppler-utils_pdftohtml_fontfullname",
"desc": "测试-fontfullname参数输出字体全名"
},
{
"name": "test_poppler-utils_pdftoppm_f",
"desc": "测试 pdftoppm 命令的 -f 参数,指定从第几页开始转换"
},
{
"name": "test_poppler-utils_pdftoppm_l",
"desc": "测试 pdftoppm 命令的 -l 参数,指定转换到第几页结束"
},
{
"name": "test_poppler-utils_pdftoppm_o",
"desc": "测试 pdftoppm 命令的 -o 参数,仅转换奇数页"
},
{
"name": "test_poppler-utils_pdftoppm_e",
"desc": "测试 pdftoppm 命令的 -e 参数,仅转换偶数页"
},
{
"name": "test_poppler-utils_pdftoppm_singlefile",
"desc": "测试 pdftoppm 命令的 -singlefile 参数,只转换第一页且文件名不加页码"
},
{
"name": "test_poppler-utils_pdftoppm_scale-dimension-before-rotation",
"desc": "测试 pdftoppm 命令的 -scale-dimension-before-rotation 参数对旋转的PDF在旋转前调整尺寸"
},
{
"name": "test_poppler-utils_pdftoppm_r",
"desc": "测试 pdftoppm 命令的 -r 参数设置分辨率DPI"
},
{
"name": "test_poppler-utils_pdftoppm_rx",
"desc": "测试 pdftoppm 命令的 -rx 参数设置X轴分辨率DPI"
},
{
"name": "test_poppler-utils_pdftoppm_ry",
"desc": "测试 pdftoppm 命令的 -ry 参数设置Y轴分辨率DPI"
},
{
"name": "test_poppler-utils_pdftoppm_scale-to",
"desc": "测试 pdftoppm 命令的 -scale-to 参数,将页面缩放至指定像素的方框内"
},
{
"name": "test_poppler-utils_pdftoppm_scale-to-x",
"desc": "测试 pdftoppm 命令的 -scale-to-x 参数,将页面水平缩放至指定像素"
},
{
"name": "test_poppler-utils_pdftoppm_scale-to-y",
"desc": "测试 pdftoppm 命令的 -scale-to-y 参数,将页面垂直缩放至指定像素"
},
{
"name": "test_poppler-utils_pdftoppm_x",
"desc": "测试 pdftoppm 命令的 -x 参数设置裁剪区域左上角的X坐标"
},
{
"name": "test_poppler-utils_pdftoppm_y",
"desc": "测试 pdftoppm 命令的 -y 参数设置裁剪区域左上角的Y坐标"
},
{
"name": "test_poppler-utils_pdftoppm_upper_w",
"desc": "测试 pdftoppm 命令的 -W 参数,设置裁剪区域的宽度(像素)"
},
{
"name": "test_poppler-utils_pdftoppm_upper_h",
"desc": "测试 pdftoppm 命令的 -H 参数,设置裁剪区域的高度(像素)"
},
{
"name": "test_poppler-utils_pdftoppm_sz",
"desc": "测试 pdftoppm 命令的 -sz 参数,设置正方形裁剪区域的边长(像素)"
},
{
"name": "test_poppler-utils_pdftoppm_cropbox",
"desc": "测试 pdftoppm 命令的 -cropbox 参数,使用裁剪框而非媒体框"
},
{
"name": "test_poppler-utils_pdftoppm_hide-annotations",
"desc": "测试 pdftoppm 命令的 -hide-annotations 参数,不显示注释"
},
{
"name": "test_poppler-utils_pdftoppm_mono",
"desc": "测试 pdftoppm 命令的 -mono 参数生成单色PBM文件"
},
{
"name": "test_poppler-utils_pdftoppm_gray",
"desc": "测试 pdftoppm 命令的 -gray 参数生成灰度PGM文件"
},
{
"name": "test_poppler-utils_pdftoppm_png",
"desc": "测试 pdftoppm 命令的 -png 参数生成PNG文件"
},
{
"name": "test_poppler-utils_pdftoppm_jpeg",
"desc": "测试 pdftoppm 命令的 -jpeg 参数生成JPEG文件"
},
{
"name": "test_poppler-utils_pdftoppm_jpegcmyk",
"desc": "测试 pdftoppm 命令的 -jpegcmyk 参数生成CMYK JPEG文件"
},
{
"name": "test_poppler-utils_pdftoppm_tiff",
"desc": "测试 pdftoppm 命令的 -tiff 参数生成TIFF文件"
},
{
"name": "test_poppler-utils_pdftoppm_q",
"desc": "测试 pdftoppm 命令的 -q 参数,不打印任何消息或错误"
},
{
"name": "test_poppler-utils_pdftoppm_progress",
"desc": "测试 pdftoppm 命令的 -progress 参数,打印进度信息"
},
{
"name": "test_poppler-utils_pdftoppm_v",
"desc": "测试 pdftoppm 命令的 -v 参数,打印版权和版本信息"
},
{
"name": "test_poppler-utils_pdftoppm_h",
"desc": "测试 pdftoppm 命令的 -h 参数,打印使用信息"
},
{
"name": "test_poppler-utils_pdftoppm_help",
"desc": "测试 pdftoppm 命令的 -help 参数,打印使用信息"
},
{
"name": "test_poppler-utils_pdftoppm__upper_help",
"desc": "测试 pdftoppm 命令的 --help 参数,打印使用信息"
},
{
"name": "test_poppler-utils_pdftoppm_special_question",
"desc": "测试 pdftoppm 命令的 -? 参数,打印使用信息"
},
{
"name": "test_poppler-utils_pdftops_f",
"desc": "测试 pdftops 命令的 -f 参数,指定起始打印页码"
},
{
"name": "test_poppler-utils_pdftops_l",
"desc": "测试 pdftops 命令的 -l 参数,指定结束打印页码"
},
{
"name": "test_poppler-utils_pdftops_level1",
"desc": "测试 pdftops 命令的 -level1 参数,生成 Level 1 PostScript"
},
{
"name": "test_poppler-utils_pdftops_eps",
"desc": "测试 pdftops 命令的 -eps 参数,生成 Encapsulated PostScript"
},
{
"name": "test_poppler-utils_pdftops_r",
"desc": "测试 pdftops 命令的 -r 参数,指定光栅化分辨率"
},
{
"name": "test_poppler-utils_pdftops_paper",
"desc": "测试 pdftops 命令的 -paper 参数,指定纸张大小"
},
{
"name": "test_poppler-utils_pdftops_duplex",
"desc": "测试 pdftops 命令的 -duplex 参数,启用双面打印"
},
{
"name": "test_poppler-utils_pdftops_q",
"desc": "测试 pdftops 命令的 -q 参数,不打印任何消息或错误"
},
{
"name": "test_poppler-utils_pdftops_upper_v",
"desc": "测试 pdftops 命令的 -v 参数,打印版权和版本信息"
},
{
"name": "test_poppler-utils_pdftops_h",
"desc": "测试 pdftops 命令的 -h 参数,打印使用信息"
},
{
"name": "test_poppler-utils_pdftops_f_l",
"desc": "测试 pdftops 命令的 -f 和 -l 参数组合,指定打印页码范围"
},
{
"name": "test_poppler-utils_pdftops_level1_eps",
"desc": "测试 pdftops 命令的 -level1 和 -eps 参数组合,生成 Level 1 封装的 PostScript"
},
{
"name": "test_poppler-utils_pdftops_r_paper",
"desc": "测试 pdftops 命令的 -r 和 -paper 参数组合,指定分辨率和纸张大小"
},
{
"name": "test_poppler-utils_pdftops_nocrop_nocenter",
"desc": "测试 pdftops 命令的 -nocrop 和 -nocenter 参数组合,不裁剪页面且不居中"
},
{
"name": "test_poppler-utils_pdftops_optimizecolorspace",
"desc": "测试 pdftops 命令的 -optimizecolorspace 参数优化灰色RGB图像的色彩空间"
},
{
"name": "test_poppler-utils_pdftotext_f",
"desc": "测试指定起始页码进行转换"
},
{
"name": "test_poppler-utils_pdftotext_l",
"desc": "测试指定结束页码进行转换"
},
{
"name": "test_poppler-utils_pdftotext_f_l",
"desc": "测试同时指定起始和结束页码进行转换"
},
{
"name": "test_poppler-utils_pdftotext_r",
"desc": "测试设置分辨率进行转换"
},
{
"name": "test_poppler-utils_pdftotext_x_y_upper_w_upper_h",
"desc": "测试指定裁剪区域进行转换"
},
{
"name": "test_poppler-utils_pdftotext_layout",
"desc": "测试保持原始物理布局进行转换"
},
{
"name": "test_poppler-utils_pdftotext_fixed",
"desc": "测试以固定宽度字体模式进行转换"
},
{
"name": "test_poppler-utils_pdftotext_raw",
"desc": "测试保持内容流顺序进行转换"
},
{
"name": "test_poppler-utils_pdftotext_nodiag",
"desc": "测试丢弃对角线文本进行转换"
},
{
"name": "test_poppler-utils_pdftotext_htmlmeta",
"desc": "测试生成包含元信息的简单HTML文件"
},
{
"name": "test_poppler-utils_pdftotext_tsv",
"desc": "测试生成包含边界框元信息的简单TSV文件"
},
{
"name": "test_poppler-utils_pdftotext_enc",
"desc": "测试指定输出文本编码"
},
{
"name": "test_poppler-utils_pdftotext_listenc",
"desc": "测试列出可用编码"
},
{
"name": "test_poppler-utils_pdftotext_eol",
"desc": "测试指定输出行尾符"
},
{
"name": "test_poppler-utils_pdftotext_nopgbrk",
"desc": "测试不在页面间插入分页符"
},
{
"name": "test_poppler-utils_pdftotext_bbox",
"desc": "测试输出每个单词的边界框和页面尺寸到HTML"
},
{
"name": "test_poppler-utils_pdftotext_bbox_layout",
"desc": "测试输出包含额外布局边界框数据的HTML"
},
{
"name": "test_poppler-utils_pdftotext_cropbox",
"desc": "测试使用裁剪框而非媒体框"
},
{
"name": "test_poppler-utils_pdftotext_colspacing",
"desc": "测试设置列间距判定阈值"
},
{
"name": "test_poppler-utils_pdftotext_opw",
"desc": "测试使用所有者密码打开加密文件"
},
{
"name": "test_poppler-utils_pdftotext_upw",
"desc": "测试使用用户密码打开加密文件"
},
{
"name": "test_poppler-utils_pdftotext_q",
"desc": "测试静默模式,不打印任何信息或错误"
},
{
"name": "test_poppler-utils_pdftotext_v",
"desc": "测试打印版本和版权信息"
},
{
"name": "test_poppler-utils_pdftotext_h",
"desc": "测试打印帮助信息"
},
{
"name": "test_poppler-utils_pdfunite__v",
"desc": "测试pdfunite命令的-v参数用于打印版本和版权信息"
},
{
"name": "test_poppler-utils_pdfunite__h",
"desc": "测试pdfunite命令的-h参数用于打印使用信息"
},
{
"name": "test_poppler-utils_pdfunite_help",
"desc": "测试pdfunite命令的-help参数用于打印使用信息"
},
{
"name": "test_poppler-utils_pdfunite___help",
"desc": "测试pdfunite命令的--help参数用于打印使用信息"
},
{
"name": "test_poppler-utils_pdfunite_merge_two_pdfs",
"desc": "测试pdfunite命令合并两个PDF源文件到一个目标PDF文件"
},
{
"name": "test_poppler-utils_pdfunite_merge_multiple_pdfs",
"desc": "测试pdfunite命令合并多个PDF源文件到一个目标PDF文件"
},
{
"name": "test_poppler-utils_function_install_check",
"desc": "检查软件包是否已正确安装"
},
{
"name": "test_poppler-utils_function_pdfinfo_basic",
"desc": "使用pdfinfo命令获取PDF文档基本信息"
},
{
"name": "test_poppler-utils_function_pdftotext_extract",
"desc": "使用pdftotext命令从PDF中提取文本内容"
},
{
"name": "test_poppler-utils_function_pdftoppm_convert",
"desc": "使用pdftoppm命令将PDF页面转换为PNG图片"
},
{
"name": "test_poppler-utils_function_pdfimages_extract",
"desc": "使用pdfimages命令从PDF中提取所有图像"
},
{
"name": "test_poppler-utils_function_pdftocairo_convert",
"desc": "使用pdftocairo命令将PDF转换为SVG格式"
},
{
"name": "test_poppler-utils_function_pdfunite_merge",
"desc": "使用pdfunite命令合并多个PDF文件"
},
{
"name": "test_poppler-utils_function_pdfseparate_split",
"desc": "使用pdfseparate命令将PDF文件拆分为单页文件"
},
{
"name": "test_poppler-utils_function_pdffonts_list",
"desc": "使用pdffonts命令列出PDF文件中使用的字体"
},
{
"name": "test_poppler-utils_function_pdfattach_add",
"desc": "使用pdfattach命令向PDF添加附件文件"
},
{
"name": "test_poppler-utils_function_pdfdetach_list",
"desc": "使用pdfdetach命令列出PDF中的嵌入文件"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/python-docker-pycreds/python3-docker-pycreds",
"machine num": 1,
"cases": [
{
"name": "test_python3-docker-pycreds_function_auth",
"desc": "Test authentication functionality"
}
]
}

View File

@@ -10,217 +10,9 @@
"name": "test_python3-hug_hug__v",
"desc": "测试 hug 命令的 -v 参数,显示版本信息"
},
{
"name": "test_python3-hug_hug__f_file",
"desc": "测试 hug 命令的 -f 参数,指定文件"
},
{
"name": "test_python3-hug_hug__m_module",
"desc": "测试 hug 命令的 -m 参数,指定模块"
},
{
"name": "test_python3-hug_hug__ho_host",
"desc": "测试 hug 命令的 -ho 参数,指定主机"
},
{
"name": "test_python3-hug_hug__p_port",
"desc": "测试 hug 命令的 -p 参数,指定端口号"
},
{
"name": "test_python3-hug_hug__n",
"desc": "测试 hug 命令的 -n 参数,禁用 404 文档"
},
{
"name": "test_python3-hug_hug__ma",
"desc": "测试 hug 命令的 -ma 参数,手动重载"
},
{
"name": "test_python3-hug_hug__i_interval",
"desc": "测试 hug 命令的 -i 参数,指定间隔时间"
},
{
"name": "test_python3-hug_hug__c_command",
"desc": "测试 hug 命令的 -c 参数,指定命令"
},
{
"name": "test_python3-hug_hug__s",
"desc": "测试 hug 命令的 -s 参数,静默模式"
},
{
"name": "test_python3-hug_hug-3__h",
"desc": "测试显示帮助信息"
},
{
"name": "test_python3-hug_hug-3__v",
"desc": "测试显示程序版本号"
},
{
"name": "test_python3-hug_hug-3__f_file",
"desc": "测试指定文件参数"
},
{
"name": "test_python3-hug_hug-3__m_module",
"desc": "测试指定模块参数"
},
{
"name": "test_python3-hug_hug-3__ho_host",
"desc": "测试指定主机参数"
},
{
"name": "test_python3-hug_hug-3__p_port",
"desc": "测试指定端口参数"
},
{
"name": "test_python3-hug_hug-3__n",
"desc": "测试禁用404文档参数"
},
{
"name": "test_python3-hug_hug-3__ma",
"desc": "测试手动重载参数"
},
{
"name": "test_python3-hug_hug-3__i_interval",
"desc": "测试指定间隔参数"
},
{
"name": "test_python3-hug_hug-3__c_command",
"desc": "测试指定命令参数"
},
{
"name": "test_python3-hug_hug-3__s",
"desc": "测试静默模式参数"
},
{
"name": "test_python3-hug_function_api",
"desc": "测试API接口功能"
},
{
"name": "test_python3-hug_hug_h",
"desc": "测试显示帮助信息"
},
{
"name": "test_python3-hug_hug_v",
"desc": "测试显示程序版本号"
},
{
"name": "test_python3-hug_hug_f",
"desc": "测试指定文件启动"
},
{
"name": "test_python3-hug_hug_m",
"desc": "测试指定模块启动"
},
{
"name": "test_python3-hug_hug_ho",
"desc": "测试指定主机地址"
},
{
"name": "test_python3-hug_hug_p",
"desc": "测试指定端口号"
},
{
"name": "test_python3-hug_hug_n",
"desc": "测试禁用404文档"
},
{
"name": "test_python3-hug_hug_ma",
"desc": "测试手动重载模式"
},
{
"name": "test_python3-hug_hug_i",
"desc": "测试指定轮询间隔"
},
{
"name": "test_python3-hug_hug_c",
"desc": "测试指定启动命令"
},
{
"name": "test_python3-hug_hug_s",
"desc": "测试静默模式"
},
{
"name": "test_python3-hug_hug_f_m",
"desc": "测试同时指定文件和模块"
},
{
"name": "test_python3-hug_hug_ho_p",
"desc": "测试同时指定主机和端口"
},
{
"name": "test_python3-hug_hug_n_ma",
"desc": "测试同时禁用404文档并启用手动重载"
},
{
"name": "test_python3-hug_hug_i_c",
"desc": "测试同时指定轮询间隔和启动命令"
},
{
"name": "test_python3-hug_hug_s_n",
"desc": "测试同时启用静默模式和禁用404文档"
},
{
"name": "test_python3-hug_hug_f_ho_p",
"desc": "测试同时指定文件、主机和端口"
},
{
"name": "test_python3-hug_hug_m_i_s",
"desc": "测试同时指定模块、轮询间隔和静默模式"
},
{
"name": "test_python3-hug_hug-3__f",
"desc": "测试指定API文件"
},
{
"name": "test_python3-hug_hug-3__m",
"desc": "测试指定API模块"
},
{
"name": "test_python3-hug_hug-3__ho",
"desc": "测试指定服务器监听主机"
},
{
"name": "test_python3-hug_hug-3__p",
"desc": "测试指定服务器监听端口"
},
{
"name": "test_python3-hug_hug-3__i",
"desc": "测试指定自动重载间隔"
},
{
"name": "test_python3-hug_hug-3__c",
"desc": "测试指定启动命令"
},
{
"name": "test_python3-hug_hug-3__f__ho__p",
"desc": "测试组合指定文件、主机和端口启动服务器"
},
{
"name": "test_python3-hug_function_install",
"desc": "测试软件包安装功能"
},
{
"name": "test_python3-hug_function_uninstall",
"desc": "测试软件包卸载功能"
},
{
"name": "test_python3-hug_function_import",
"desc": "测试导入hug模块"
},
{
"name": "test_python3-hug_function_version",
"desc": "测试获取hug版本号"
},
{
"name": "test_python3-hug_function_basic_api",
"desc": "测试创建基础API"
},
{
"name": "test_python3-hug_function_api_cli",
"desc": "测试API命令行接口"
},
{
"name": "test_python3-hug_function_api_http",
"desc": "测试API HTTP接口"
}
]
}

View File

@@ -1,26 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/python-logutils/help",
"machine num": 1,
"cases": [
{
"name": "test_help_function_basic",
"desc": "Test basic help functionality"
},
{
"name": "test_help_function_args",
"desc": "Test help with arguments"
},
{
"name": "test_help_function_flags",
"desc": "Test help with flags"
},
{
"name": "test_help_function_output",
"desc": "Test help output format"
},
{
"name": "test_help_function_error",
"desc": "Test help error handling"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/qt6-qtserialport/qt6-qtserialport-devel",
"machine num": 1,
"cases": [
{
"name": "test_qt6-qtserialport-devel_function_serialport",
"desc": "Test serial port basic functionality"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-a/texlive-12many-doc",
"machine num": 1,
"cases": [
{
"name": "test_texlive-12many-doc_function_basic",
"desc": "Test basic functionality"
}
]
}

View File

@@ -1,26 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-e/texlive-collection-music",
"machine num": 1,
"cases": [
{
"name": "test_texlive-collection-music_function_package_install",
"desc": "测试 texlive-collection-music 软件包能否成功安装"
},
{
"name": "test_texlive-collection-music_function_package_remove",
"desc": "测试 texlive-collection-music 软件包能否被完整卸载"
},
{
"name": "test_texlive-collection-music_function_contains_musictex",
"desc": "测试软件包是否包含核心音乐排版包 musictex 及其相关文件"
},
{
"name": "test_texlive-collection-music_function_contains_packages",
"desc": "测试软件包是否包含其他常用音乐排版组件(如 musixtex, pmx, lilypond"
},
{
"name": "test_texlive-collection-music_function_basic_compile",
"desc": "测试使用软件包中的工具(如 musictex 或 musixtex能否编译一个简单的乐谱示例文件"
}
]
}

View File

@@ -9,14 +9,6 @@
{
"name": "test_texlive-mathpunctspace_function_remove",
"desc": "Test package removal"
},
{
"name": "test_texlive-mathpunctspace_function_check",
"desc": "Check package availability"
},
{
"name": "test_texlive-mathpunctspace_function_usage",
"desc": "Test basic package usage"
}
]
}

View File

@@ -2,21 +2,9 @@
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-u/texlive-sf298-doc",
"machine num": 1,
"cases": [
{
"name": "test_texlive-sf298-doc_function_install",
"desc": "Test package installation"
},
{
"name": "test_texlive-sf298-doc_function_remove",
"desc": "Test package removal"
},
{
"name": "test_texlive-sf298-doc_function_check_files",
"desc": "Check if documentation files exist"
},
{
"name": "test_texlive-sf298-doc_function_latex_compile",
"desc": "Test compiling a sample SF298 form"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-v/texlive-showdim-doc",
"machine num": 1,
"cases": [
{
"name": "test_texlive-showdim-doc_function_dim",
"desc": "Test dimension calculation functionality"
}
]
}

View File

@@ -1,14 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-v/texlive-struktex-doc",
"machine num": 1,
"cases": [
{
"name": "test_texlive-struktex-doc_function_install",
"desc": "Test package installation"
},
{
"name": "test_texlive-struktex-doc_function_basic",
"desc": "Test basic functionality"
}
]
}

View File

@@ -6,22 +6,6 @@
"name": "test_texlive-translation-dcolumn-fr-doc_install",
"desc": "测试软件包 texlive-translation-dcolumn-fr-doc 的安装功能,验证是否能够成功安装到系统中。",
"machine num": 1
},
{
"name": "test_texlive-translation-dcolumn-fr-doc_function_install",
"desc": "测试软件包 texlive-translation-dcolumn-fr-doc 的安装功能,验证是否能够通过包管理器成功安装。"
},
{
"name": "test_texlive-translation-dcolumn-fr-doc_function_uninstall",
"desc": "测试软件包 texlive-translation-dcolumn-fr-doc 的卸载功能,验证是否能够从系统中完全移除。"
},
{
"name": "test_texlive-translation-dcolumn-fr-doc_function_check_installed",
"desc": "测试验证软件包 texlive-translation-dcolumn-fr-doc 是否已正确安装到系统中。"
},
{
"name": "test_texlive-translation-dcolumn-fr-doc_function_doc_existence",
"desc": "测试软件包安装后其核心文档文件如README、手册是否存在于预期的系统路径下。"
}
]
}

View File

@@ -1,34 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-y/texlive-hitszbeamer",
"machine num": 1,
"cases": [
{
"name": "test_texlive-hitszbeamer_function_basic",
"desc": "Test basic functionality of texlive-hitszbeamer"
},
{
"name": "test_texlive-hitszbeamer_function_install",
"desc": "Test installation of texlive-hitszbeamer package"
},
{
"name": "test_texlive-hitszbeamer_function_uninstall",
"desc": "Test uninstallation of texlive-hitszbeamer package"
},
{
"name": "test_texlive-hitszbeamer_function_check_installed",
"desc": "Check if texlive-hitszbeamer is installed"
},
{
"name": "test_texlive-hitszbeamer_function_basic_compile",
"desc": "Test basic compilation with hitszbeamer document class"
},
{
"name": "test_texlive-hitszbeamer_function_theme_options",
"desc": "Test applying different theme options in hitszbeamer"
},
{
"name": "test_texlive-hitszbeamer_function_logo_usage",
"desc": "Test logo inclusion functionality in hitszbeamer"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-z/texlive-xtab",
"machine num": 1,
"cases": [
{
"name": "test_texlive-xtab_function_install",
"desc": "Test package installation"
}
]
}

View File

@@ -2,10 +2,6 @@
"path": "$OET_PATH/testcases/function_test/pkg_test/utf8proc/utf8proc-devel",
"machine num": 1,
"cases": [
{
"name": "test_utf8proc-devel_function_install",
"desc": "Test installation of utf8proc-devel package"
},
{
"name": "test_utf8proc-devel_function_uninstall",
"desc": "Test uninstallation of utf8proc-devel package"
@@ -17,14 +13,6 @@
{
"name": "test_utf8proc-devel_function_library",
"desc": "Test presence of library files"
},
{
"name": "test_utf8proc-devel_function_pkgconfig",
"desc": "Test pkg-config file availability"
},
{
"name": "test_utf8proc-devel_function_compile",
"desc": "Test basic compile and link with library"
}
]
}

View File

@@ -1,14 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/xstream/xstream-javadoc",
"machine num": 1,
"cases": [
{
"name": "test_xstream-javadoc_function_parse",
"desc": "Test parsing functionality"
},
{
"name": "test_xstream-javadoc_function_serialize",
"desc": "Test serialization functionality"
}
]
}

View File

@@ -1,62 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-24
# @License : Mulan PSL v2
# @Desc : 测试dpdk-devbind命令查看所有网络设备状态的功能。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试dpdk-devbind命令查看所有网络设备状态的功能"
LOG_INFO "步骤1检查dpdk软件包是否已在yum源中"
if ! dnf list available dpdk 2>/dev/null | grep -q dpdk; then
LOG_ERROR "yum源中未找到dpdk软件包"
exit 255
fi
LOG_INFO "步骤2检查dpdk-devbind命令参数是否支持"
if ! dpdk-devbind --help 2>/dev/null | grep -q "\-\-status"; then
LOG_ERROR "dpdk-devbind命令不支持--status参数"
exit 255
fi
LOG_INFO "步骤3检查dpdk是否已安装"
if ! command -v dpdk-devbind &> /dev/null; then
LOG_INFO "dpdk未安装开始安装"
dnf install -y dpdk
CHECK_RESULT $? 0 0 "dpdk安装失败"
INSTALLED_FLAG=1
else
LOG_INFO "dpdk已安装"
INSTALLED_FLAG=0
fi
LOG_INFO "步骤4执行dpdk-devbind --status命令查看所有网络设备状态"
dpdk-devbind --status
CHECK_RESULT $? 0 0 "执行dpdk-devbind --status命令失败"
LOG_INFO "步骤5环境恢复"
if [ "$INSTALLED_FLAG" -eq 1 ]; then
LOG_INFO "卸载dpdk软件包"
dnf remove -y dpdk
CHECK_RESULT $? 0 0 "dpdk卸载失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,68 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-06
# @License : Mulan PSL v2
# @Desc : 测试软件包drbd-xen的安装功能验证其是否能成功安装到系统中。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义变量
PKG_NAME="drbd-xen"
LOG_INFO "开始测试软件包 ${PKG_NAME} 的安装功能"
LOG_INFO "步骤1检查当前环境是否已安装 ${PKG_NAME}"
rpm -q ${PKG_NAME} > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "检测到 ${PKG_NAME} 已安装,测试结束后将保持安装状态"
INSTALLED=1
else
LOG_INFO "检测到 ${PKG_NAME} 未安装,将在测试过程中安装并在结束前卸载"
INSTALLED=0
fi
LOG_INFO "步骤2检查 yum 源中是否存在 ${PKG_NAME} 软件包"
dnf list available ${PKG_NAME} > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum 源中不存在 ${PKG_NAME} 软件包"
LOG_INFO "步骤3测试安装 ${PKG_NAME} 软件包"
if [ ${INSTALLED} -eq 0 ]; then
dnf install -y ${PKG_NAME} > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装 ${PKG_NAME} 失败"
LOG_INFO "安装 ${PKG_NAME} 成功"
else
LOG_INFO "${PKG_NAME} 已安装,跳过安装步骤"
fi
LOG_INFO "步骤4验证 ${PKG_NAME} 是否成功安装"
rpm -q ${PKG_NAME} > /dev/null 2>&1
CHECK_RESULT $? 0 0 "${PKG_NAME} 未正确安装"
LOG_INFO "步骤5验证 ${PKG_NAME} 相关命令是否可用"
if command -v drbdadm > /dev/null 2>&1; then
LOG_INFO "drbdadm 命令可用"
else
LOG_ERROR "drbdadm 命令不可用"
exit 255
fi
LOG_INFO "步骤6清理测试环境"
if [ ${INSTALLED} -eq 0 ]; then
LOG_INFO "卸载测试安装的 ${PKG_NAME} 软件包"
dnf remove -y ${PKG_NAME} > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载 ${PKG_NAME} 失败"
LOG_INFO "卸载 ${PKG_NAME} 成功"
else
LOG_INFO "测试前 ${PKG_NAME} 已安装,保持安装状态"
fi
LOG_INFO "测试完成,${PKG_NAME} 安装功能验证通过"
}
main "$@"

View File

@@ -1,99 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-06
# @License : Mulan PSL v2
# @Desc : 测试将drbd资源设置为Primary角色的功能。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 判断环境是否已安装drbd-xen软件包
LOG_INFO "检查是否已安装drbd-xen软件包"
if dnf list installed drbd-xen &>/dev/null; then
LOG_INFO "drbd-xen已安装标记为环境已安装状态"
ENV_INSTALLED=1
else
LOG_INFO "drbd-xen未安装标记为环境未安装状态"
ENV_INSTALLED=0
fi
# 检查yum源中是否有drbd-xen软件包
LOG_INFO "检查yum源中是否有drbd-xen软件包"
if ! dnf list available drbd-xen &>/dev/null; then
LOG_ERROR "yum源中未找到drbd-xen软件包"
exit 255
fi
# 如果环境未安装则安装drbd-xen
if [ $ENV_INSTALLED -eq 0 ]; then
LOG_INFO "开始安装drbd-xen软件包"
dnf install -y drbd-xen
CHECK_RESULT $? 0 0 "安装drbd-xen失败"
LOG_INFO "drbd-xen安装成功"
fi
# 检查drbdadm命令是否支持primary参数
LOG_INFO "检查drbdadm命令是否支持primary参数"
if ! drbdadm primary --help &>/dev/null; then
LOG_ERROR "drbdadm命令不支持primary参数"
exit 255
fi
# 创建测试用的drbd资源配置文件
LOG_INFO "创建测试用的drbd资源配置文件"
cat > /tmp/test-resource.res << EOF
resource test-resource {
device /dev/drbd0;
disk /dev/sdb1;
meta-disk internal;
on node1 {
address 192.168.1.10:7788;
}
on node2 {
address 192.168.1.11:7788;
}
}
EOF
# 检查配置文件语法
LOG_INFO "检查drbd配置文件语法"
drbdadm dump test-resource /tmp/test-resource.res
CHECK_RESULT $? 0 0 "drbd配置文件语法检查失败"
# 模拟将drbd资源设置为Primary角色
LOG_INFO "模拟将drbd资源设置为Primary角色"
drbdadm primary test-resource --dry-run
CHECK_RESULT $? 0 0 "将drbd资源设置为Primary角色失败"
# 清理测试配置文件
LOG_INFO "清理测试配置文件"
rm -f /tmp/test-resource.res
CHECK_RESULT $? 0 0 "清理测试配置文件失败"
# 如果测试前环境未安装则卸载drbd-xen
if [ $ENV_INSTALLED -eq 0 ]; then
LOG_INFO "卸载drbd-xen软件包"
dnf remove -y drbd-xen
CHECK_RESULT $? 0 0 "卸载drbd-xen失败"
LOG_INFO "drbd-xen卸载成功"
else
LOG_INFO "保持drbd-xen安装状态"
fi
LOG_INFO "测试将drbd资源设置为Primary角色的功能完成"
}
main "$@"

View File

@@ -1,104 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-06
# @License : Mulan PSL v2
# @Desc : 测试将drbd资源设置为Secondary角色的功能。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义软件包名称和命令
PACKAGE_NAME="drbd-xen"
DRBDADM_CMD="/sbin/drbdadm"
RESOURCE_NAME="test_res"
NODE2_IPV4="192.168.1.100"
NODE2_PASSWORD="password"
NODE2_USER="root"
# 步骤1检查环境是否已安装软件包
LOG_INFO "步骤1检查环境是否已安装软件包"
if dnf list installed | grep -q "$PACKAGE_NAME"; then
LOG_INFO "软件包 $PACKAGE_NAME 已安装,脚本结束时将保持安装状态"
INSTALLED="true"
else
LOG_INFO "软件包 $PACKAGE_NAME 未安装,将在测试过程中安装"
INSTALLED="false"
fi
# 步骤2检查yum源中是否有软件包
LOG_INFO "步骤2检查yum源中是否有软件包"
if ! dnf list available | grep -q "$PACKAGE_NAME"; then
LOG_ERROR "yum源中未找到软件包 $PACKAGE_NAME"
exit 255
fi
# 步骤3安装软件包如果未安装
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "步骤3安装软件包 $PACKAGE_NAME"
dnf install -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
fi
# 步骤4检查drbdadm命令是否存在
LOG_INFO "步骤4检查drbdadm命令是否存在"
if [ ! -x "$DRBDADM_CMD" ]; then
LOG_ERROR "命令 $DRBDADM_CMD 不存在或不可执行"
exit 255
fi
# 步骤5检查drbdadm是否支持secondary参数
LOG_INFO "步骤5检查drbdadm是否支持secondary参数"
if ! "$DRBDADM_CMD" --help 2>&1 | grep -q "secondary"; then
LOG_ERROR "命令 $DRBDADM_CMD 不支持secondary参数"
exit 255
fi
# 步骤6在第二个服务器上创建测试资源
LOG_INFO "步骤6在第二个服务器上创建测试资源"
SSH_CMD "$DRBDADM_CMD create-md $RESOURCE_NAME" $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER
CHECK_RESULT $? 0 0 "在第二个服务器上创建测试资源失败"
# 步骤7在本地节点设置资源为Secondary角色
LOG_INFO "步骤7在本地节点设置资源为Secondary角色"
"$DRBDADM_CMD" secondary "$RESOURCE_NAME"
CHECK_RESULT $? 0 0 "设置资源为Secondary角色失败"
# 步骤8验证资源角色是否为Secondary
LOG_INFO "步骤8验证资源角色是否为Secondary"
ROLE=$("$DRBDADM_CMD" role "$RESOURCE_NAME" | awk "{print $1}")
if [ "$ROLE" = "Secondary" ]; then
LOG_INFO "资源角色已成功设置为Secondary"
else
LOG_ERROR "资源角色设置失败,当前角色为 $ROLE"
exit 1
fi
# 步骤9清理测试资源
LOG_INFO "步骤9清理测试资源"
SSH_CMD "$DRBDADM_CMD down $RESOURCE_NAME" $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER
CHECK_RESULT $? 0 0 "清理第二个服务器上的测试资源失败"
# 步骤10卸载软件包如果测试前未安装
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "步骤10卸载软件包 $PACKAGE_NAME"
dnf remove -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
fi
LOG_INFO "测试脚本执行完成"
}
main "$@"

View File

@@ -1,71 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-06
# @License : Mulan PSL v2
# @Desc : 测试drbd-xen相关服务如drbd的状态查询功能。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 判断是否已安装drbd-xen相关软件包
LOG_INFO "检查是否已安装drbd-xen相关软件包"
rpm -q drbd-xen >/dev/null 2>&1
installed=$?
# 定义软件包名称
PACKAGE_NAME="drbd-xen"
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否有$PACKAGE_NAME软件包"
dnf list available $PACKAGE_NAME >/dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中未找到$PACKAGE_NAME软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到$PACKAGE_NAME软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $installed -ne 0 ]; then
LOG_INFO "安装$PACKAGE_NAME软件包"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装$PACKAGE_NAME失败"
fi
# 测试drbd服务状态查询功能
LOG_INFO "测试drbd服务状态查询功能"
systemctl status drbd.service >/dev/null 2>&1
CHECK_RESULT $? 0 0 "查询drbd服务状态失败"
if [ $? -ne 0 ]; then
LOG_ERROR "drbd服务状态查询失败"
# 根据Linux命令退出码标准含义退出
exit $?
fi
LOG_INFO "drbd服务状态查询成功"
# 清理环境:如果之前未安装,则卸载软件包
if [ $installed -ne 0 ]; then
LOG_INFO "卸载$PACKAGE_NAME软件包"
dnf remove -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "卸载$PACKAGE_NAME失败"
else
LOG_INFO "保持$PACKAGE_NAME软件包安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,155 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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 : 测试验证drbd-xen配置文件语法正确性的功能。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试验证drbd-xen配置文件语法正确性的功能"
# 定义软件包名称
PACKAGE_NAME="drbd-xen"
# 检查是否已安装
if rpm -q $PACKAGE_NAME &> /dev/null; then
LOG_INFO "检测到$PACKAGE_NAME已安装,测试完成后将保持安装状态"
INSTALLED_BEFORE_TEST=true
else
LOG_INFO "检测到$PACKAGE_NAME未安装,将在测试过程中安装,并在测试结束后卸载"
INSTALLED_BEFORE_TEST=false
fi
# 检查yum源中是否存在该软件包
LOG_INFO "步骤1检查yum源中是否存在$PACKAGE_NAME软件包"
if ! dnf list available $PACKAGE_NAME &> /dev/null; then
LOG_ERROR "yum源中未找到$PACKAGE_NAME软件包"
exit 255
fi
LOG_INFO "yum源中存在$PACKAGE_NAME软件包"
# 如果未安装,则安装软件包
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
LOG_INFO "步骤2安装$PACKAGE_NAME软件包"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装$PACKAGE_NAME失败"
LOG_INFO "$PACKAGE_NAME软件包安装成功"
fi
# 检查drbd-xen命令是否存在
LOG_INFO "步骤3检查drbd-xen命令是否可用"
if ! command -v drbd-xen &> /dev/null; then
LOG_ERROR "drbd-xen命令未找到"
exit 255
fi
LOG_INFO "drbd-xen命令可用"
# 检查drbd-xen命令是否支持--help参数
LOG_INFO "步骤4检查drbd-xen命令是否支持--help参数"
if ! drbd-xen --help &> /dev/null; then
LOG_ERROR "drbd-xen命令不支持--help参数或执行失败"
exit 255
fi
LOG_INFO "drbd-xen命令支持--help参数"
# 测试验证配置文件语法正确性的功能
LOG_INFO "步骤5测试验证配置文件语法正确性的功能"
# 创建一个临时的正确配置文件
TEMP_CONF=$(mktemp)
cat > $TEMP_CONF << EOF
resource r0 {
protocol C;
startup {
wfc-timeout 30;
degr-wfc-timeout 15;
}
net {
cram-hmac-alg sha1;
shared-secret "secret";
}
on node1 {
device /dev/drbd0;
disk /dev/vg0/lv0;
address 192.168.1.1:7788;
meta-disk internal;
}
on node2 {
device /dev/drbd0;
disk /dev/vg0/lv0;
address 192.168.1.2:7788;
meta-disk internal;
}
}
EOF
# 使用drbd-xen验证配置文件语法
drbd-xen -c $TEMP_CONF -t
CHECK_RESULT $? 0 0 "验证正确的配置文件语法失败"
# 创建一个有语法错误的临时配置文件
TEMP_BAD_CONF=$(mktemp)
cat > $TEMP_BAD_CONF << EOF
resource r0 {
protocol C;
startup {
wfc-timeout 30;
degr-wfc-timeout 15;
}
net {
cram-hmac-alg sha1;
shared-secret "secret";
}
on node1 {
device /dev/drbd0;
disk /dev/vg0/lv0;
address 192.168.1.1:7788;
meta-disk internal;
# 缺少闭合大括号
}
EOF
# 验证有语法错误的配置文件,预期失败
LOG_INFO "步骤6测试验证有语法错误的配置文件"
drbd-xen -c $TEMP_BAD_CONF -t
# 检查命令是否执行失败(非零退出码)
if [ $? -eq 0 ]; then
LOG_ERROR "验证有语法错误的配置文件未按预期失败"
CHECK_RESULT 1 0 0 "验证有语法错误的配置文件未按预期失败"
else
LOG_INFO "验证有语法错误的配置文件按预期失败"
CHECK_RESULT $? 0 1 "验证有语法错误的配置文件未按预期失败"
fi
# 清理临时文件
LOG_INFO "步骤7清理临时文件"
rm -f $TEMP_CONF $TEMP_BAD_CONF
CHECK_RESULT $? 0 0 "清理临时文件失败"
# 如果测试前未安装,则在测试结束后卸载软件包
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
LOG_INFO "步骤8卸载$PACKAGE_NAME软件包"
dnf remove -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "卸载$PACKAGE_NAME失败"
LOG_INFO "$PACKAGE_NAME软件包卸载成功"
else
LOG_INFO "测试前$PACKAGE_NAME已安装,测试后保持安装状态,无需卸载"
fi
LOG_INFO "测试验证drbd-xen配置文件语法正确性的功能完成"
}
main "$@"

View File

@@ -1,107 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-04
# @License : Mulan PSL v2
# @Desc : 测试能否使用Noto Sans Cham字体渲染基本的占语Cham字符。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试测试能否使用Noto Sans Cham字体渲染基本的占语Cham字符"
LOG_INFO "步骤1检查环境中是否已安装google-noto-sans-cham-fonts软件包"
if rpm -q google-noto-sans-cham-fonts &>/dev/null; then
LOG_INFO "软件包已安装,测试后保持安装状态"
INSTALLED_BEFORE=true
else
LOG_INFO "软件包未安装,将在测试过程中安装"
INSTALLED_BEFORE=false
fi
LOG_INFO "步骤2检查yum源中是否存在google-noto-sans-cham-fonts软件包"
if ! dnf list available google-noto-sans-cham-fonts &>/dev/null; then
LOG_ERROR "yum源中未找到google-noto-sans-cham-fonts软件包"
exit 255
fi
LOG_INFO "步骤3安装google-noto-sans-cham-fonts软件包"
if [ "$INSTALLED_BEFORE" = false ]; then
dnf install -y google-noto-sans-cham-fonts
CHECK_RESULT $? 0 0 "安装google-noto-sans-cham-fonts失败"
fi
LOG_INFO "步骤4检查fc-list命令是否可用"
if ! command -v fc-list &>/dev/null; then
LOG_ERROR "fc-list命令不存在"
if [ "$INSTALLED_BEFORE" = false ]; then
dnf remove -y google-noto-sans-cham-fonts
fi
exit 255
fi
LOG_INFO "步骤5使用fc-list检查Noto Sans Cham字体是否已正确安装并可用"
fc-list | grep -i "Noto Sans Cham" &>/dev/null
CHECK_RESULT $? 0 0 "未找到Noto Sans Cham字体"
LOG_INFO "步骤6创建一个简单的占语字符测试文件"
TEST_TEXT="ꨀꨁꨂꨃꨄꨅꨆꨇꨈꨉ"
TEST_FILE="/tmp/cham_test.txt"
echo "$TEST_TEXT" > "$TEST_FILE"
CHECK_RESULT $? 0 0 "创建测试文件失败"
LOG_INFO "步骤7使用Noto Sans Cham字体渲染占语字符"
if command -v pango-view &>/dev/null; then
RENDER_OUTPUT="/tmp/cham_render.png"
pango-view --font="Noto Sans Cham" --text="$TEST_TEXT" --output="$RENDER_OUTPUT" --dpi=96
RENDER_EXIT_CODE=$?
if [ $RENDER_EXIT_CODE -ne 0 ]; then
LOG_ERROR "pango-view渲染失败退出码: $RENDER_EXIT_CODE"
CHECK_RESULT $RENDER_EXIT_CODE 0 0 "使用pango-view渲染占语字符失败"
else
LOG_INFO "使用pango-view渲染成功"
if [ -f "$RENDER_OUTPUT" ]; then
file "$RENDER_OUTPUT" | grep -q "PNG image"
CHECK_RESULT $? 0 0 "生成的渲染文件不是有效的PNG图像"
LOG_INFO "成功生成PNG格式的渲染图像"
fi
fi
else
LOG_INFO "pango-view命令未找到尝试使用其他方法验证字体"
LOG_INFO "使用fc-match验证字体"
fc-match "Noto Sans Cham" &>/dev/null
CHECK_RESULT $? 0 0 "fc-match验证Noto Sans Cham字体失败"
fi
LOG_INFO "步骤8清理临时测试文件"
rm -f "$TEST_FILE" "$RENDER_OUTPUT" 2>/dev/null
LOG_INFO "临时文件已清理"
LOG_INFO "步骤9恢复测试环境"
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "卸载测试安装的google-noto-sans-cham-fonts软件包"
dnf remove -y google-noto-sans-cham-fonts
CHECK_RESULT $? 0 0 "卸载google-noto-sans-cham-fonts失败"
LOG_INFO "环境已恢复至测试前状态"
else
LOG_INFO "环境保持原有安装状态"
fi
LOG_INFO "测试完成Noto Sans Cham字体能够正确渲染基本的占语字符"
}
main "$@"

View File

@@ -1,78 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-04
# @License : Mulan PSL v2
# @Desc : 测试google-noto-sans-cham-fonts软件包能否被成功安装。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试google-noto-sans-cham-fonts软件包能否被成功安装。"
LOG_INFO "步骤1: 检查yum源中是否存在google-noto-sans-cham-fonts软件包"
dnf list available google-noto-sans-cham-fonts > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到google-noto-sans-cham-fonts软件包"
exit 255
fi
LOG_INFO "步骤2: 检查当前是否已安装google-noto-sans-cham-fonts"
rpm -q google-noto-sans-cham-fonts > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "google-noto-sans-cham-fonts已安装测试将保持安装状态"
INSTALLED_BEFORE=true
else
LOG_INFO "google-noto-sans-cham-fonts未安装将执行安装测试"
INSTALLED_BEFORE=false
fi
if [ "$INSTALLED_BEFORE" = "false" ]; then
LOG_INFO "步骤3: 安装google-noto-sans-cham-fonts软件包"
dnf install -y google-noto-sans-cham-fonts
CHECK_RESULT $? 0 0 "安装google-noto-sans-cham-fonts失败"
LOG_INFO "步骤4: 验证google-noto-sans-cham-fonts安装成功"
rpm -q google-noto-sans-cham-fonts
CHECK_RESULT $? 0 0 "验证google-noto-sans-cham-fonts安装状态失败"
LOG_INFO "步骤5: 测试完成后卸载google-noto-sans-cham-fonts"
dnf remove -y google-noto-sans-cham-fonts
CHECK_RESULT $? 0 0 "卸载google-noto-sans-cham-fonts失败"
else
LOG_INFO "步骤3: 已安装状态,跳过安装和卸载步骤"
fi
LOG_INFO "步骤6: 环境恢复检查"
if [ "$INSTALLED_BEFORE" = "true" ]; then
rpm -q google-noto-sans-cham-fonts > /dev/null 2>&1
CHECK_RESULT $? 0 0 "环境未恢复到初始安装状态"
LOG_INFO "环境已恢复: 保持google-noto-sans-cham-fonts安装状态"
else
rpm -q google-noto-sans-cham-fonts > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_ERROR "环境未恢复: google-noto-sans-cham-fonts未被正确卸载"
exit 1
else
LOG_INFO "环境已恢复: google-noto-sans-cham-fonts未安装"
fi
fi
LOG_INFO "google-noto-sans-cham-fonts软件包安装测试完成"
}
main "$@"

View File

@@ -1,110 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试container-executor命令的help参数用于显示帮助信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查脚本是否以root用户运行
if [[ $(id -u) -ne 0 ]]; then
LOG_ERROR "此脚本需要root权限运行"
exit 1
fi
# 定义软件包名称
PACKAGE_NAME="hadoop-yarn"
# 步骤1: 检查yum源中是否存在指定软件包
LOG_INFO "步骤1: 检查yum源中是否存在${PACKAGE_NAME}软件包"
dnf list available ${PACKAGE_NAME} &>/dev/null
if [[ $? -ne 0 ]]; then
LOG_ERROR "yum源中未找到${PACKAGE_NAME}软件包"
exit 255
fi
LOG_INFO "yum源中存在${PACKAGE_NAME}软件包"
# 步骤2: 检查环境是否已安装软件包
LOG_INFO "步骤2: 检查环境是否已安装${PACKAGE_NAME}软件包"
INSTALLED=false
rpm -q ${PACKAGE_NAME} &>/dev/null
if [[ $? -eq 0 ]]; then
LOG_INFO "${PACKAGE_NAME}软件包已安装"
INSTALLED=true
else
LOG_INFO "${PACKAGE_NAME}软件包未安装"
fi
# 步骤3: 如果未安装则安装软件包
if [[ ${INSTALLED} == false ]]; then
LOG_INFO "步骤3: 安装${PACKAGE_NAME}软件包"
dnf install -y ${PACKAGE_NAME} &>/dev/null
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}软件包失败"
LOG_INFO "${PACKAGE_NAME}软件包安装成功"
fi
# 步骤4: 查找container-executor命令路径
LOG_INFO "步骤4: 查找container-executor命令路径"
CONTAINER_EXECUTOR_PATH=$(find /usr -name "container-executor" -type f 2>/dev/null | head -1)
if [[ -z "${CONTAINER_EXECUTOR_PATH}" ]]; then
LOG_ERROR "未找到container-executor命令"
exit 1
fi
LOG_INFO "找到container-executor命令: ${CONTAINER_EXECUTOR_PATH}"
# 步骤5: 测试container-executor命令的help参数
LOG_INFO "步骤5: 测试container-executor命令的help参数"
# 尝试使用--help参数
${CONTAINER_EXECUTOR_PATH} --help &>/dev/null
HELP_EXIT_CODE=$?
# 尝试使用-h参数如果--help失败
if [[ ${HELP_EXIT_CODE} -ne 0 ]]; then
${CONTAINER_EXECUTOR_PATH} -h &>/dev/null
HELP_EXIT_CODE=$?
fi
# 检查help参数是否支持
if [[ ${HELP_EXIT_CODE} -eq 0 ]]; then
LOG_INFO "container-executor命令支持help参数"
# 实际执行help命令并检查输出
${CONTAINER_EXECUTOR_PATH} --help 2>&1 | head -5 &>/dev/null
CHECK_RESULT $? 0 0 "container-executor --help命令执行失败"
LOG_INFO "container-executor --help命令执行成功显示帮助信息"
elif [[ ${HELP_EXIT_CODE} -eq 255 ]]; then
LOG_ERROR "container-executor命令不支持help参数"
exit 255
else
LOG_ERROR "container-executor help命令执行失败退出码: ${HELP_EXIT_CODE}"
exit ${HELP_EXIT_CODE}
fi
# 步骤6: 清理环境
LOG_INFO "步骤6: 清理环境"
if [[ ${INSTALLED} == false ]]; then
LOG_INFO "卸载测试安装的${PACKAGE_NAME}软件包"
dnf remove -y ${PACKAGE_NAME} &>/dev/null
CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}软件包失败"
LOG_INFO "${PACKAGE_NAME}软件包卸载成功"
else
LOG_INFO "保持${PACKAGE_NAME}软件包安装状态"
fi
LOG_INFO "测试脚本执行完成"
}
main "$@"

View File

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

View File

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

View File

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

View File

@@ -1,65 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试查看YARN集群信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试查看YARN集群信息功能"
LOG_INFO "检查是否已安装hadoop-yarn"
if rpm -q hadoop-yarn &>/dev/null; then
LOG_INFO "hadoop-yarn已安装跳过安装步骤"
INSTALLED=true
else
LOG_INFO "hadoop-yarn未安装将进行安装"
INSTALLED=false
fi
LOG_INFO "检查yum源中是否有hadoop-yarn软件包"
if ! dnf list available hadoop-yarn &>/dev/null; then
LOG_ERROR "yum源中未找到hadoop-yarn软件包"
exit 255
fi
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装hadoop-yarn软件包"
dnf install -y hadoop-yarn
CHECK_RESULT $? 0 0 "安装hadoop-yarn失败"
fi
LOG_INFO "检查yarn命令是否存在"
if ! command -v yarn &>/dev/null; then
LOG_ERROR "yarn命令不存在"
exit 255
fi
LOG_INFO "查看YARN集群信息"
yarn cluster --list
CHECK_RESULT $? 0 0 "查看YARN集群信息失败"
LOG_INFO "清理环境"
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载hadoop-yarn软件包"
dnf remove -y hadoop-yarn
CHECK_RESULT $? 0 0 "卸载hadoop-yarn失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

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

View File

@@ -1,102 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试查询YARN作业状态
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义软件包名称和命令
PACKAGE_NAME="hadoop-yarn"
COMMAND="yarn"
SUBCOMMAND="application"
ACTION="-status"
# 步骤1检查环境是否已安装
LOG_INFO "步骤1检查Hadoop YARN环境是否已安装"
if dnf list installed | grep -q "^${PACKAGE_NAME}\."; then
LOG_INFO "Hadoop YARN已安装脚本结束时将保持安装状态"
ENV_INSTALLED=true
else
LOG_INFO "Hadoop YARN未安装将在测试过程中安装并在结束时卸载"
ENV_INSTALLED=false
fi
# 步骤2检查YUM源中是否存在软件包
LOG_INFO "步骤2检查YUM源中是否存在${PACKAGE_NAME}软件包"
if ! dnf list available | grep -q "^${PACKAGE_NAME}\."; then
LOG_ERROR "YUM源中不存在${PACKAGE_NAME}软件包"
exit 255
fi
# 步骤3如果环境未安装则安装软件包
if [ "$ENV_INSTALLED" = false ]; then
LOG_INFO "步骤3安装${PACKAGE_NAME}软件包"
dnf install -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}失败"
fi
# 步骤4检查yarn命令是否支持application -status参数
LOG_INFO "步骤4检查yarn命令是否支持application -status参数"
if ! ${COMMAND} ${SUBCOMMAND} --help 2>/dev/null | grep -q "\-status"; then
LOG_ERROR "yarn命令不支持application -status参数"
exit 255
fi
# 步骤5启动YARN服务如果未运行
LOG_INFO "步骤5检查并启动YARN服务"
if ! systemctl is-active --quiet resourcemanager; then
systemctl start resourcemanager
CHECK_RESULT $? 0 0 "启动YARN ResourceManager失败"
sleep 5
fi
# 步骤6提交一个测试作业
LOG_INFO "步骤6提交一个测试作业到YARN"
TEST_JOB_ID=$(yarn jar /usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar pi 1 10 2>&1 | grep -oP "application_\d+_\d+")
if [ -z "$TEST_JOB_ID" ]; then
LOG_ERROR "提交测试作业失败"
exit 1
fi
LOG_INFO "测试作业提交成功作业ID: ${TEST_JOB_ID}"
# 步骤7测试查询YARN作业状态
LOG_INFO "步骤7测试查询YARN作业状态"
${COMMAND} ${SUBCOMMAND} ${ACTION} ${TEST_JOB_ID}
CHECK_RESULT $? 0 0 "查询YARN作业状态失败"
# 步骤8清理测试作业
LOG_INFO "步骤8清理测试作业"
yarn application -kill ${TEST_JOB_ID} 2>/dev/null
# 步骤9停止YARN服务如果之前是脚本启动的
LOG_INFO "步骤9停止YARN服务"
if [ "$ENV_INSTALLED" = false ]; then
systemctl stop resourcemanager 2>/dev/null
fi
# 步骤10如果环境是脚本安装的则卸载软件包
if [ "$ENV_INSTALLED" = false ]; then
LOG_INFO "步骤10卸载${PACKAGE_NAME}软件包"
dnf remove -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}失败"
fi
LOG_INFO "测试脚本执行完成"
}
main "$@"

View File

@@ -1,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-18
# @License : Mulan PSL v2
# @Desc : 测试终止YARN作业
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试终止YARN作业"
# 检查环境是否已安装Hadoop YARN
LOG_INFO "检查Hadoop YARN是否已安装"
if dnf list installed hadoop-yarn &> /dev/null; then
LOG_INFO "Hadoop YARN已安装脚本结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "Hadoop YARN未安装将在测试中安装"
INSTALLED=false
fi
# 检查YUM源中是否有hadoop-yarn软件包
LOG_INFO "检查YUM源中是否有hadoop-yarn软件包"
if ! dnf list available hadoop-yarn &> /dev/null; then
LOG_ERROR "YUM源中没有hadoop-yarn软件包"
exit 255
fi
# 如果未安装则安装hadoop-yarn
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装hadoop-yarn软件包"
dnf install -y hadoop-yarn
CHECK_RESULT $? 0 0 "安装hadoop-yarn失败"
fi
# 启动YARN服务
LOG_INFO "启动YARN服务"
systemctl start yarn-resourcemanager
CHECK_RESULT $? 0 0 "启动YARN服务失败"
# 提交一个示例作业到YARN
LOG_INFO "提交一个示例作业到YARN"
yarn jar /usr/share/hadoop/mapreduce/hadoop-mapreduce-examples.jar pi 1 1 > /tmp/yarn_job_output.txt 2>&1 &
JOB_PID=$!
CHECK_RESULT $? 0 0 "提交YARN作业失败"
# 等待作业开始运行
LOG_INFO "等待作业开始运行"
sleep 10
# 获取作业ID
LOG_INFO "获取作业ID"
JOB_ID=$(yarn application -list | grep "application_" | awk "{print $1}" | head -n 1)
if [ -z "$JOB_ID" ]; then
LOG_ERROR "未找到YARN作业ID"
exit 1
fi
# 终止YARN作业
LOG_INFO "终止YARN作业$JOB_ID"
yarn application -kill $JOB_ID
CHECK_RESULT $? 0 0 "终止YARN作业失败"
# 验证作业是否已终止
LOG_INFO "验证作业是否已终止"
yarn application -status $JOB_ID 2>&1 | grep -q "FINISHED\|KILLED\|FAILED"
CHECK_RESULT $? 0 0 "作业未正确终止"
# 停止YARN服务
LOG_INFO "停止YARN服务"
systemctl stop yarn-resourcemanager
CHECK_RESULT $? 0 0 "停止YARN服务失败"
# 如果测试前未安装则卸载hadoop-yarn
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载hadoop-yarn软件包"
dnf remove -y hadoop-yarn
CHECK_RESULT $? 0 0 "卸载hadoop-yarn失败"
fi
LOG_INFO "测试完成终止YARN作业"
}
main "$@"

View File

@@ -1,81 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-01
# @License : Mulan PSL v2
# @Desc : 测试 nodemanager 功能是否正常启动和运行
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试脚本test_hadoop-yarn_function_nodemanager
# 步骤1检查是否已安装hadoop-yarn-nodemanager
LOG_INFO "检查是否已安装hadoop-yarn-nodemanager"
if dnf list installed hadoop-yarn-nodemanager &> /dev/null; then
LOG_INFO "hadoop-yarn-nodemanager已安装"
INSTALLED=true
else
LOG_INFO "hadoop-yarn-nodemanager未安装"
INSTALLED=false
fi
# 步骤2检查yum源中是否存在hadoop-yarn-nodemanager软件包
LOG_INFO "检查yum源中是否存在hadoop-yarn-nodemanager软件包"
if ! dnf list available hadoop-yarn-nodemanager &> /dev/null; then
LOG_ERROR "yum源中不存在hadoop-yarn-nodemanager软件包"
exit 255
fi
# 步骤3如果未安装则安装hadoop-yarn-nodemanager
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装hadoop-yarn-nodemanager"
dnf install -y hadoop-yarn-nodemanager
CHECK_RESULT $? 0 0 "安装hadoop-yarn-nodemanager失败"
fi
# 步骤4启动nodemanager服务
LOG_INFO "启动nodemanager服务"
systemctl start hadoop-yarn-nodemanager
CHECK_RESULT $? 0 0 "启动nodemanager服务失败"
# 步骤5检查nodemanager服务状态
LOG_INFO "检查nodemanager服务状态"
systemctl status hadoop-yarn-nodemanager &> /dev/null
CHECK_RESULT $? 0 0 "nodemanager服务未正常运行"
# 步骤6测试nodemanager功能是否正常例如通过jps命令检查
LOG_INFO "测试nodemanager功能是否正常"
jps | grep NodeManager &> /dev/null
CHECK_RESULT $? 0 0 "nodemanager功能异常"
# 步骤7停止nodermaner服务
LOG_INFO "停止nodemanage服务"
systemctl stop hadoop-yarm-nodeamanger
CHECK_RESULT $? 0 0 "停止nodemanger服务失败"
# 环境恢复如果脚本开始时未安装则卸载hadooep-yaen-noedmanger
if [ "$INSTALLED" = false ]; then
LOG_INFO “卸载hadooep-yaen-noedmanger”
dnf remove -y hadooep-yaen-noedmanger
CHECK_RESULT $? O O “卸载hadooep-yaen-noedmanger失败”
fi
LOG_INFO “测试完成”
}
main "$@"

View File

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

View File

@@ -1,86 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试启动节点管理器服务
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:启动节点管理器服务"
# 检查是否已安装hadoop-yarn-nodemanager
LOG_INFO "检查是否已安装hadoop-yarn-nodemanager"
if rpm -q hadoop-yarn-nodemanager > /dev/null 2>&1; then
LOG_INFO "hadoop-yarn-nodemanager已安装测试完成后将保持安装状态"
INSTALLED="true"
else
LOG_INFO "hadoop-yarn-nodemanager未安装将在测试过程中安装"
INSTALLED="false"
fi
# 检查yum源中是否有hadoop-yarn-nodemanager软件包
LOG_INFO "检查yum源中是否有hadoop-yarn-nodemanager软件包"
if ! dnf list available hadoop-yarn-nodemanager > /dev/null 2>&1; then
LOG_ERROR "yum源中未找到hadoop-yarn-nodemanager软件包"
exit 255
fi
# 如果未安装则安装hadoop-yarn-nodemanager
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "安装hadoop-yarn-nodemanager"
dnf install -y hadoop-yarn-nodemanager
CHECK_RESULT $? 0 0 "安装hadoop-yarn-nodemanager失败"
fi
# 检查节点管理器服务命令是否支持
LOG_INFO "检查节点管理器服务命令是否支持"
if ! command -v yarn-daemon.sh > /dev/null 2>&1; then
LOG_ERROR "yarn-daemon.sh命令不存在"
exit 255
fi
# 启动节点管理器服务
LOG_INFO "启动节点管理器服务"
yarn-daemon.sh start nodemanager
CHECK_RESULT $? 0 0 "启动节点管理器服务失败"
# 检查节点管理器服务是否成功启动
LOG_INFO "检查节点管理器服务是否成功启动"
sleep 3
if ! jps | grep -q NodeManager; then
LOG_ERROR "节点管理器服务未成功启动"
exit 1
fi
LOG_INFO "节点管理器服务启动成功"
# 停止节点管理器服务
LOG_INFO "停止节点管理器服务"
yarn-daemon.sh stop nodemanager
CHECK_RESULT $? 0 0 "停止节点管理器服务失败"
# 如果测试前未安装则卸载hadoop-yarn-nodemanager
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "卸载hadoop-yarn-nodemanager"
dnf remove -y hadoop-yarn-nodemanager
CHECK_RESULT $? 0 0 "卸载hadoop-yarn-nodemanager失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,81 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试启动资源管理器服务
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试启动资源管理器服务"
# 检查是否已安装hadoop-yarn资源管理器
LOG_INFO "检查是否已安装hadoop-yarn资源管理器"
if dnf list installed hadoop-yarn &>/dev/null; then
LOG_INFO "hadoop-yarn资源管理器已安装"
INSTALLED=1
else
LOG_INFO "hadoop-yarn资源管理器未安装"
INSTALLED=0
fi
# 检查yum源中是否有hadoop-yarn软件包
LOG_INFO "检查yum源中是否有hadoop-yarn软件包"
if ! dnf list available hadoop-yarn &>/dev/null; then
LOG_ERROR "yum源中没有hadoop-yarn软件包"
exit 255
fi
# 如果未安装则安装hadoop-yarn
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装hadoop-yarn资源管理器"
dnf install -y hadoop-yarn
CHECK_RESULT $? 0 0 "安装hadoop-yarn失败"
fi
# 检查资源管理器启动命令参数
LOG_INFO "检查资源管理器启动命令参数"
if ! yarn resourcemanager --help &>/dev/null; then
LOG_ERROR "资源管理器启动命令参数不存在或不支持"
exit 255
fi
# 启动资源管理器服务
LOG_INFO "启动资源管理器服务"
systemctl start hadoop-yarn-resourcemanager
CHECK_RESULT $? 0 0 "启动资源管理器服务失败"
# 检查资源管理器服务状态
LOG_INFO "检查资源管理器服务状态"
systemctl status hadoop-yarn-resourcemanager | grep -q "active (running)"
CHECK_RESULT $? 0 0 "资源管理器服务未正常运行"
# 停止资源管理器服务
LOG_INFO "停止资源管理器服务"
systemctl stop hadoop-yarn-resourcemanager
CHECK_RESULT $? 0 0 "停止资源管理器服务失败"
# 如果测试前未安装则卸载hadoop-yarn
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载hadoop-yarn资源管理器"
dnf remove -y hadoop-yarn
CHECK_RESULT $? 0 0 "卸载hadoop-yarn失败"
fi
LOG_INFO "测试启动资源管理器服务完成"
}
main "$@"

View File

@@ -1,150 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试提交YARN作业
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试测试提交YARN作业"
LOG_INFO "步骤1检查YARN相关软件包是否已在系统中安装"
rpm -qa | grep -E "^hadoop-yarn" > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "YARN相关软件包已安装测试完成后将保持安装状态"
INSTALLED=1
else
LOG_INFO "YARN相关软件包未安装将在测试过程中安装并在测试结束后卸载"
INSTALLED=0
fi
LOG_INFO "步骤2检查yum源中是否存在hadoop-yarn软件包"
dnf list available hadoop-yarn 2>&1 | grep -E "^hadoop-yarn" > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到hadoop-yarn软件包"
exit 255
fi
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "步骤3安装hadoop-yarn软件包"
dnf install -y hadoop-yarn
CHECK_RESULT $? 0 0 "安装hadoop-yarn软件包失败"
fi
LOG_INFO "步骤4检查yarn命令是否可用"
which yarn > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yarn命令不存在"
exit 255
fi
LOG_INFO "步骤5检查yarn命令是否支持提交作业的参数"
yarn jar --help 2>&1 | grep "Usage: yarn jar" > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yarn命令不支持提交作业的参数"
exit 255
fi
LOG_INFO "步骤6准备一个简单的MapReduce作业JAR文件用于测试"
cat > /tmp/TestWordCount.java << "EOF"
import java.io.IOException;
import java.util.StringTokenizer;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.Reducer;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
public class TestWordCount {
public static class TokenizerMapper extends Mapper<Object, Text, Text, IntWritable> {
private final static IntWritable one = new IntWritable(1);
private Text word = new Text();
public void map(Object key, Text value, Context context) throws IOException, InterruptedException {
StringTokenizer itr = new StringTokenizer(value.toString());
while (itr.hasMoreTokens()) {
word.set(itr.nextToken());
context.write(word, one);
}
}
}
public static class IntSumReducer extends Reducer<Text, IntWritable, Text, IntWritable> {
private IntWritable result = new IntWritable();
public void reduce(Text key, Iterable<IntWritable> values, Context context) throws IOException, InterruptedException {
int sum = 0;
for (IntWritable val : values) {
sum += val.get();
}
result.set(sum);
context.write(key, result);
}
}
public static void main(String[] args) throws Exception {
Configuration conf = new Configuration();
Job job = Job.getInstance(conf, "word count");
job.setJarByClass(TestWordCount.class);
job.setMapperClass(TokenizerMapper.class);
job.setCombinerClass(IntSumReducer.class);
job.setReducerClass(IntSumReducer.class);
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(IntWritable.class);
FileInputFormat.addInputPath(job, new Path(args[0]));
FileOutputFormat.setOutputPath(job, new Path(args[1]));
System.exit(job.waitForCompletion(true) ? 0 : 1);
}
}
EOF
javac -cp $(hadoop classpath) /tmp/TestWordCount.java
CHECK_RESULT $? 0 0 "编译测试MapReduce作业失败"
jar cf /tmp/TestWordCount.jar -C /tmp TestWordCount*.class
CHECK_RESULT $? 0 0 "打包测试MapReduce作业JAR文件失败"
LOG_INFO "步骤7准备测试数据"
echo "hello world hello hadoop hello yarn" > /tmp/test_input.txt
hadoop fs -mkdir -p /user/test/input > /dev/null 2>&1
hadoop fs -put /tmp/test_input.txt /user/test/input/ > /dev/null 2>&1
CHECK_RESULT $? 0 0 "准备测试数据失败"
LOG_INFO "步骤8提交YARN作业"
yarn jar /tmp/TestWordCount.jar TestWordCount /user/test/input /user/test/output 2>&1 | tee /tmp/yarn_submit.log
CHECK_RESULT $? 0 0 "提交YARN作业失败"
LOG_INFO "步骤9检查作业是否成功完成"
grep -E "Job .* completed successfully" /tmp/yarn_submit.log > /dev/null 2>&1
CHECK_RESULT $? 0 0 "YARN作业未成功完成"
LOG_INFO "步骤10检查作业输出结果"
hadoop fs -cat /user/test/output/part-r-00000 2>&1 | grep -E "hello\s+3" > /dev/null 2>&1
CHECK_RESULT $? 0 0 "作业输出结果不符合预期"
LOG_INFO "步骤11清理测试数据"
hadoop fs -rm -r -f /user/test/input /user/test/output > /dev/null 2>&1
rm -f /tmp/TestWordCount.java /tmp/TestWordCount*.class /tmp/TestWordCount.jar /tmp/test_input.txt /tmp/yarn_submit.log
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "步骤12卸载测试过程中安装的hadoop-yarn软件包"
dnf remove -y hadoop-yarn
CHECK_RESULT $? 0 0 "卸载hadoop-yarn软件包失败"
fi
LOG_INFO "测试完成提交YARN作业测试通过"
}
main "$@"

View File

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

View File

@@ -1,103 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试查看作业容器日志
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试查看作业容器日志功能"
LOG_INFO "步骤1检查Hadoop YARN相关软件包是否已安装"
if rpm -qa | grep -q hadoop-yarn; then
LOG_INFO "Hadoop YARN已安装测试结束后保持安装状态"
INSTALLED=true
else
LOG_INFO "Hadoop YARN未安装将在测试过程中安装"
INSTALLED=false
fi
LOG_INFO "步骤2检查yum源中是否有hadoop-yarn软件包"
if ! dnf list available hadoop-yarn 2>/dev/null | grep -q hadoop-yarn; then
LOG_ERROR "yum源中没有hadoop-yarn软件包"
exit 255
fi
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤3安装hadoop-yarn软件包"
dnf install -y hadoop-yarn
CHECK_RESULT $? 0 0 "安装hadoop-yarn失败"
fi
LOG_INFO "步骤4检查yarn logs命令是否支持"
yarn logs --help > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yarn logs命令不支持或参数错误"
exit 255
fi
LOG_INFO "步骤5启动YARN服务并提交一个测试作业"
systemctl start hadoop-yarn-resourcemanager
CHECK_RESULT $? 0 0 "启动ResourceManager失败"
systemctl start hadoop-yarn-nodemanager
CHECK_RESULT $? 0 0 "启动NodeManager失败"
LOG_INFO "提交一个简单的MapReduce作业"
hadoop jar /usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar pi 2 1000 > /tmp/mr_test.log 2>&1 &
MR_PID=$!
sleep 30
LOG_INFO "步骤6获取作业ID并测试查看日志功能"
JOB_ID=$(yarn application -list 2>/dev/null | grep -i "pi" | awk "{print $1}" | head -1)
if [ -z "$JOB_ID" ]; then
LOG_ERROR "未找到测试作业ID"
kill $MR_PID 2>/dev/null
exit 1
fi
LOG_INFO "测试查看作业容器日志"
yarn logs -applicationId $JOB_ID > /tmp/yarn_logs_test.log 2>&1
CHECK_RESULT $? 0 0 "查看作业容器日志失败"
LOG_INFO "步骤7验证日志文件内容"
if [ -s /tmp/yarn_logs_test.log ]; then
LOG_INFO "成功获取作业容器日志"
else
LOG_ERROR "获取的日志文件为空"
exit 1
fi
LOG_INFO "步骤8清理测试作业"
kill $MR_PID 2>/dev/null
yarn application -kill $JOB_ID 2>/dev/null
LOG_INFO "步骤9停止YARN服务"
systemctl stop hadoop-yarn-nodemanager
systemctl stop hadoop-yarn-resourcemanager
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤10卸载hadoop-yarn软件包"
dnf remove -y hadoop-yarn
CHECK_RESULT $? 0 0 "卸载hadoop-yarn失败"
fi
LOG_INFO "步骤11清理临时文件"
rm -f /tmp/mr_test.log /tmp/yarn_logs_test.log
LOG_INFO "测试查看作业容器日志完成"
}
main "$@"

View File

@@ -1,99 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 使用-V参数运行oom-listener命令验证其版本信息显示功能
# ############################################
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="hadoop-yarn-oom-listener"
# 步骤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
LOG_INFO "yum源中存在${PACKAGE_NAME}软件包"
# 步骤2检查当前环境是否已安装该软件包
LOG_INFO "步骤2检查当前环境是否已安装${PACKAGE_NAME}软件包"
rpm -q ${PACKAGE_NAME} > /dev/null 2>&1
if [ $? -eq 0 ]; then
INSTALLED="true"
LOG_INFO "${PACKAGE_NAME}软件包已安装"
else
INSTALLED="false"
LOG_INFO "${PACKAGE_NAME}软件包未安装"
fi
# 步骤3如果未安装则安装软件包
if [ "${INSTALLED}" = "false" ]; then
LOG_INFO "步骤3安装${PACKAGE_NAME}软件包"
dnf install -y ${PACKAGE_NAME} > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}软件包失败"
LOG_INFO "${PACKAGE_NAME}软件包安装成功"
fi
# 步骤4检查oom-listener命令是否支持-V参数
LOG_INFO "步骤4检查oom-listener命令是否支持-V参数"
oom-listener --help 2>&1 | grep -q "\-V"
if [ $? -ne 0 ]; then
LOG_ERROR "oom-listener命令不支持-V参数"
# 如果之前未安装,则需要卸载
if [ "${INSTALLED}" = "false" ]; then
dnf remove -y ${PACKAGE_NAME} > /dev/null 2>&1
LOG_INFO "已卸载${PACKAGE_NAME}软件包"
fi
exit 255
fi
LOG_INFO "oom-listener命令支持-V参数"
# 步骤5使用-V参数运行oom-listener命令验证版本信息显示功能
LOG_INFO "步骤5使用-V参数运行oom-listener命令验证版本信息显示功能"
VERSION_OUTPUT=$(oom-listener -V 2>&1)
CHECK_RESULT $? 0 0 "执行oom-listener -V命令失败"
LOG_INFO "命令输出:${VERSION_OUTPUT}"
# 检查版本信息是否包含预期内容
echo "${VERSION_OUTPUT}" | grep -q "version\|Version"
CHECK_RESULT $? 0 0 "版本信息显示不正确"
LOG_INFO "版本信息显示功能验证成功"
# 步骤6清理环境恢复到之前的状态
LOG_INFO "步骤6清理环境恢复到之前的状态"
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 "测试脚本执行完成"
}
main "$@"

View File

@@ -1,61 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 使用-v参数运行oom-listener命令验证其详细信息输出功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "测试开始:验证使用-v参数运行oom-listener命令的详细信息输出功能"
LOG_INFO "步骤1检查是否已安装hadoop-yarn-oom-listener软件包"
if rpm -q hadoop-yarn-oom-listener &> /dev/null; then
LOG_INFO "hadoop-yarn-oom-listener已安装测试结束后将保持安装状态"
INSTALLED=1
else
LOG_INFO "hadoop-yarn-oom-listener未安装将在测试前安装测试结束后卸载"
INSTALLED=0
LOG_INFO "步骤2检查yum源中是否有hadoop-yarn-oom-listener软件包"
if ! dnf list available hadoop-yarn-oom-listener &> /dev/null; then
LOG_ERROR "yum源中没有hadoop-yarn-oom-listener软件包"
exit 255
fi
LOG_INFO "步骤3安装hadoop-yarn-oom-listener软件包"
dnf install -y hadoop-yarn-oom-listener
CHECK_RESULT $? 0 0 "安装hadoop-yarn-oom-listener失败"
fi
LOG_INFO "步骤4检查oom-listener命令是否支持-v参数"
if ! oom-listener -h 2>&1 | grep -q -- "-v"; then
LOG_ERROR "oom-listener命令不支持-v参数"
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "步骤5卸载hadoop-yarn-oom-listener软件包"
dnf remove -y hadoop-yarn-oom-listener
CHECK_RESULT $? 0 0 "卸载hadoop-yarn-oom-listener失败"
fi
exit 255
fi
LOG_INFO "步骤5使用-v参数运行oom-listener命令"
oom-listener -v
CHECK_RESULT $? 0 0 "使用-v参数运行oom-listener命令失败"
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "步骤6卸载hadoop-yarn-oom-listener软件包"
dnf remove -y hadoop-yarn-oom-listener
CHECK_RESULT $? 0 0 "卸载hadoop-yarn-oom-listener失败"
fi
LOG_INFO "测试结束:验证使用-v参数运行oom-listener命令的详细信息输出功能完成"
}
main "$@"

View File

@@ -1,71 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-30
# @License : Mulan PSL v2
# @Desc : 测试 oom-listener 命令的默认行为
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查软件包是否已安装
if ! rpm -q hadoop-yarn-oom-listener &>/dev/null; then
LOG_INFO "环境未安装hadoop-yarn-oom-listener将进行安装"
# 检查yum源中是否存在软件包
if ! dnf list available hadoop-yarn-oom-listener &>/dev/null; then
LOG_ERROR "yum源中未找到hadoop-yarn-oom-listener软件包"
exit 255
fi
# 安装软件包
dnf install -y hadoop-yarn-oom-listener
CHECK_RESULT $? 0 0 "安装hadoop-yarn-oom-listener失败"
# 标记需要卸载
UNINSTALL_NEEDED=1
else
LOG_INFO "环境已安装hadoop-yarn-oom-listener"
fi
# 测试oom-listener命令的默认行为
LOG_INFO "测试oom-listener命令的默认行为"
oom-listener --help &>/dev/null
CHECK_RESULT $? 0 0 "oom-listener命令不支持--help参数"
# 执行默认命令并检查结果
LOG_INFO "执行默认的oom-listener命令"
oom-listener > /tmp/oom_listener_output.log 2>&1
CHECK_RESULT $? 0 0 "oom-listener命令执行失败"
# 检查输出文件是否存在且非空
if [ ! -s /tmp/oom_listener_output.log ]; then
LOG_ERROR "oom-listener命令未生成有效输出"
exit 1
fi
# 清理临时文件
rm -f /tmp/oom_listener_output.log
# 如果脚本安装了软件包,则在结束时卸载
if [ "$UNINSTALL_NEEDED" -eq 1 ]; then
LOG_INFO "卸载hadoop-yarn-oom-listener"
dnf remove -y hadoop-yarn-oom-listener
CHECK_RESULT $? 0 0 "卸载hadoop-yarn-oom-listener失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,64 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试使用-h参数显示帮助信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试hadoop-yarn-test-container-executor命令的-h参数帮助信息显示功能"
LOG_INFO "步骤1检查当前环境是否已安装hadoop-yarn-test-container-executor软件包"
if dnf list installed hadoop-yarn-test-container-executor &>/dev/null; then
LOG_INFO "hadoop-yarn-test-container-executor软件包已安装测试完成后将保持安装状态"
INSTALLED=true
else
LOG_INFO "hadoop-yarn-test-container-executor软件包未安装将在测试前安装并在测试后卸载"
INSTALLED=false
fi
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤2检查yum源中是否存在hadoop-yarn-test-container-executor软件包"
if ! dnf list available hadoop-yarn-test-container-executor &>/dev/null; then
LOG_ERROR "yum源中未找到hadoop-yarn-test-container-executor软件包"
exit 255
fi
LOG_INFO "步骤3安装hadoop-yarn-test-container-executor软件包"
dnf install -y hadoop-yarn-test-container-executor
CHECK_RESULT $? 0 0 "安装hadoop-yarn-test-container-executor软件包失败"
fi
LOG_INFO "步骤4执行hadoop-yarn-test-container-executor -h命令显示帮助信息"
hadoop-yarn-test-container-executor -h
CHECK_RESULT $? 0 0 "执行hadoop-yarn-test-container-executor -h命令失败"
LOG_INFO "步骤5验证-h参数输出的帮助信息是否包含预期内容"
hadoop-yarn-test-container-executor -h | grep -q "usage:"
CHECK_RESULT $? 0 0 "帮助信息中未找到"usage:"关键字"
LOG_INFO "步骤6清理测试环境"
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载hadoop-yarn-test-container-executor软件包"
dnf remove -y hadoop-yarn-test-container-executor
CHECK_RESULT $? 0 0 "卸载hadoop-yarn-test-container-executor软件包失败"
else
LOG_INFO "保持hadoop-yarn-test-container-executor软件包安装状态"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

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

View File

@@ -1,65 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试使用-D参数指定配置属性
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:测试使用-D参数指定配置属性"
LOG_INFO "步骤1检查环境是否已安装hadoop-yarn"
if rpm -qa | grep -q "hadoop-yarn"; then
LOG_INFO "hadoop-yarn已安装将保持安装状态"
ENV_INSTALLED="true"
else
LOG_INFO "hadoop-yarn未安装将在测试过程中安装"
ENV_INSTALLED="false"
fi
LOG_INFO "步骤2检查yum源中是否有hadoop-yarn软件包"
if ! dnf list available hadoop-yarn 2>/dev/null | grep -q "hadoop-yarn"; then
LOG_ERROR "yum源中没有hadoop-yarn软件包"
exit 255
fi
if [ "$ENV_INSTALLED" = "false" ]; then
LOG_INFO "步骤3安装hadoop-yarn软件包"
dnf install -y hadoop-yarn
CHECK_RESULT $? 0 0 "安装hadoop-yarn失败"
fi
LOG_INFO "步骤4检查container-executor命令是否支持-D参数"
container-executor --help 2>&1 | grep -q "\-D"
CHECK_RESULT $? 0 0 "container-executor命令不支持-D参数"
if [ $? -ne 0 ]; then
exit 255
fi
LOG_INFO "步骤5使用-D参数指定配置属性执行container-executor命令"
container-executor -Dtest.property=testvalue
CHECK_RESULT $? 0 0 "使用-D参数执行container-executor命令失败"
if [ "$ENV_INSTALLED" = "false" ]; then
LOG_INFO "步骤6卸载hadoop-yarn软件包"
dnf remove -y hadoop-yarn
CHECK_RESULT $? 0 0 "卸载hadoop-yarn失败"
fi
LOG_INFO "测试完成:测试使用-D参数指定配置属性"
}
main "$@"

View File

@@ -1,71 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试使用-R参数指定运行模式
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试使用-R参数指定运行模式"
# 检查环境是否已安装hadoop-yarn
LOG_INFO "检查hadoop-yarn是否已安装"
if dnf list installed hadoop-yarn &>/dev/null; then
LOG_INFO "hadoop-yarn已安装"
already_installed=true
else
LOG_INFO "hadoop-yarn未安装"
already_installed=false
fi
# 检查yum源中是否有hadoop-yarn软件包
LOG_INFO "检查yum源中是否有hadoop-yarn软件包"
if ! dnf list available hadoop-yarn &>/dev/null; then
LOG_ERROR "yum源中没有hadoop-yarn软件包"
exit 255
fi
# 如果未安装则安装hadoop-yarn
if [ "$already_installed" = false ]; then
LOG_INFO "安装hadoop-yarn"
dnf install -y hadoop-yarn
CHECK_RESULT $? 0 0 "安装hadoop-yarn失败"
fi
# 检查container-executor命令是否支持-R参数
LOG_INFO "检查container-executor命令是否支持-R参数"
if ! container-executor --help 2>&1 | grep -q "\-R"; then
LOG_ERROR "container-executor命令不支持-R参数"
exit 255
fi
# 测试使用-R参数指定运行模式
LOG_INFO "测试使用-R参数指定运行模式"
container-executor -R test_mode
CHECK_RESULT $? 0 0 "使用-R参数执行失败"
# 清理环境如果测试前未安装则卸载hadoop-yarn
if [ "$already_installed" = false ]; then
LOG_INFO "卸载hadoop-yarn"
dnf remove -y hadoop-yarn
CHECK_RESULT $? 0 0 "卸载hadoop-yarn失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,85 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试使用-U参数指定用户
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试使用-U参数指定用户"
# 定义软件包名称
PACKAGE_NAME="hadoop-yarn"
# 步骤1检查yum源中是否有hadoop-yarn软件包
LOG_INFO "步骤1检查yum源中是否有hadoop-yarn软件包"
if ! dnf list available "$PACKAGE_NAME" &> /dev/null; then
LOG_ERROR "yum源中没有找到$PACKAGE_NAME软件包"
exit 255
fi
# 步骤2检查当前是否已安装hadoop-yarn
LOG_INFO "步骤2检查当前是否已安装hadoop-yarn"
if rpm -q "$PACKAGE_NAME" &> /dev/null; then
LOG_INFO "$PACKAGE_NAME已安装,脚本结束时将保持安装状态"
INSTALLED_BEFORE=true
else
LOG_INFO "$PACKAGE_NAME未安装,将在测试过程中安装"
INSTALLED_BEFORE=false
fi
# 步骤3如果未安装则安装软件包
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "步骤3安装hadoop-yarn软件包"
dnf install -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "安装hadoop-yarn失败"
fi
# 步骤4测试使用-U参数指定用户
LOG_INFO "步骤4测试使用-U参数指定用户"
# 假设测试命令为container-executor使用-U参数指定用户
# 先检查命令是否存在
if ! command -v container-executor &> /dev/null; then
LOG_ERROR "container-executor命令不存在"
exit 255
fi
# 检查-U参数是否被支持
LOG_INFO "检查-U参数是否被支持"
container-executor --help | grep -q "\-U"
CHECK_RESULT $? 0 0 "container-executor命令不支持-U参数"
# 执行测试命令,使用-U参数指定一个测试用户例如testuser
LOG_INFO "执行测试命令container-executor -U testuser"
container-executor -U testuser
# 注意这里假设命令执行成功返回0失败返回非0
# 实际应根据命令的具体行为调整检查逻辑
CHECK_RESULT $? 0 0 "使用-U参数执行container-executor失败"
# 步骤5清理环境如果之前未安装则卸载软件包
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "步骤5卸载hadoop-yarn软件包"
dnf remove -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "卸载hadoop-yarn失败"
else
LOG_INFO "步骤5保持hadoop-yarn安装状态无需卸载"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

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

View File

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

View File

@@ -1,59 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-30
# @License : Mulan PSL v2
# @Desc : 测试 yarn 命令的 --config 参数,验证是否能正确指定 Hadoop 配置目录
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 yarn 命令的 --config 参数,验证是否能正确指定 Hadoop 配置目录"
# 检查是否已安装 hadoop-yarn 软件包
LOG_INFO "检查 hadoop-yarn 软件包是否已安装"
if ! dnf list installed hadoop-yarn &> /dev/null; then
LOG_INFO "hadoop-yarn 未安装,将进行安装"
# 检查 yum 源中是否有 hadoop-yarn
if ! dnf list available hadoop-yarn &> /dev/null; then
LOG_ERROR "yum 源中未找到 hadoop-yarn 软件包"
exit 255
fi
# 安装 hadoop-yarn
dnf install -y hadoop-yarn
CHECK_RESULT $? 0 0 "安装 hadoop-yarn 失败"
INSTALLED=true
else
LOG_INFO "hadoop-yarn 已安装"
INSTALLED=false
fi
# 验证 --config 参数
LOG_INFO "验证 yarn 命令的 --config 参数"
CONFIG_DIR="/tmp/hadoop-config"
mkdir -p $CONFIG_DIR
CHECK_RESULT $? 0 0 "创建配置目录失败"
# 执行 yarn 命令并指定配置目录
yarn --config $CONFIG_DIR
CHECK_RESULT $? 0 0 "yarn --config $CONFIG_DIR 执行失败"
# 清理环境
LOG_INFO "清理测试环境"
rm -rf $CONFIG_DIR
CHECK_RESULT $? 0
}
main "$@"

View File

@@ -1,78 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-30
# @License : Mulan PSL v2
# @Desc : 测试 yarn 命令的 --daemon start 参数,验证是否能正确启动守护进程
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装hadoop-yarn
LOG_INFO "检查是否已安装hadoop-yarn"
rpm -q hadoop-yarn > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "hadoop-yarn已安装脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "hadoop-yarn未安装脚本结束时将卸载"
INSTALLED=false
fi
# 检查yum源中是否有hadoop-yarn软件包
LOG_INFO "检查yum源中是否有hadoop-yarn软件包"
dnf list available hadoop-yarn > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中没有hadoop-yarn软件包"
exit 255
fi
# 如果未安装则安装hadoop-yarn
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装hadoop-yarn"
dnf install -y hadoop-yarn > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装hadoop-yarn失败"
fi
# 检查yarn命令是否支持--daemon start参数
LOG_INFO "检查yarn命令是否支持--daemon start参数"
yarn --help | grep -q "\-\-daemon start" > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yarn命令不支持--daemon start参数"
exit 255
fi
# 执行yarn --daemon start命令
LOG_INFO "执行yarn --daemon start命令"
yarn --daemon start > /dev/null 2>&1
CHECK_RESULT $? 0 0 "启动守护进程失败"
# 检查守护进程是否已启动
LOG_INFO "检查守护进程是否已启动"
ps -ef | grep yarn | grep -v grep > /dev/null 2>&1
CHECK_RESULT $? 0 0 "守护进程未启动"
# 停止守护进程以清理环境
LOG_INFO "停止守护进程以清理环境"
yarn --daemon stop > /dev/null 2>&1
# 如果脚本开始时未安装则卸载hadoop-yarn以恢复环境状态。否则保持原状。
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载hadoop-yarn以恢复环境状态"
dnf remove -y hadoop-yarn > /dev/null 2>&1
fi
}
main "$@"

View File

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

View File

@@ -1,74 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-30
# @License : Mulan PSL v2
# @Desc : 测试 yarn 命令的 --daemon stop 参数,验证是否能正确停止守护进程
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装hadoop-yarn软件包
LOG_INFO "检查是否已安装hadoop-yarn软件包"
rpm -q hadoop-yarn
if [ $? -eq 0 ]; then
LOG_INFO "hadoop-yarn已安装"
installed=true
else
LOG_INFO "hadoop-yarn未安装"
installed=false
fi
# 检查yum源中是否有hadoop-yarn软件包
LOG_INFO "检查yum源中是否有hadoop-yarn软件包"
dnf list available hadoop-yarn
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中没有hadoop-yarn软件包"
exit 255
fi
# 如果未安装则安装hadoop-yarn
if [ "$installed" = false ]; then
LOG_INFO "安装hadoop-yarn软件包"
dnf install -y hadoop-yarn
CHECK_RESULT $? 0 0 "安装hadoop-yarn失败"
fi
# 检查yarn命令的--daemon stop参数是否存在
LOG_INFO "检查yarn命令的--daemon stop参数是否存在"
yarn --help | grep -- "--daemon stop"
if [ $? -ne 0 ]; then
LOG_ERROR "yarn命令不支持--daemon stop参数"
exit 255
fi
# 执行yarn --daemon stop命令并验证结果
LOG_INFO "执行yarn --daemon stop命令"
yarn --daemon stop
CHECK_RESULT $? 0 0 "执行yarn --daemon stop失败"
# 清理环境
if [ "$installed" = false ]; then
LOG_INFO "卸载hadoop-yarn软件包"
dnf remove -y hadoop-yarn
CHECK_RESULT $? 0 0 "卸载hadoop-yarn失败"
fi
LOG_INFO "测试脚本执行完毕,环境已恢复"
}
main "$@"

View File

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

View File

@@ -1,76 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-01
# @License : Mulan PSL v2
# @Desc : 测试 yarn 命令的 --hosts 参数,指定工作模式下的主机文件列表
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查yarn是否已安装
LOG_INFO "检查yarn是否已安装"
if ! dnf list installed hadoop-yarn &>/dev/null; then
LOG_INFO "yarn未安装开始安装"
# 检查yum源中是否有hadoop-yarn包
if ! dnf list available hadoop-yarn &>/dev/null; then
LOG_ERROR "yum源中未找到hadoop-yarn包"
exit 255
fi
# 安装hadoop-yarn
dnf install -y hadoop-yarn
CHECK_RESULT $? 0 0 "安装hadoop-yarn失败"
# 标记为需要卸载
NEED_UNINSTALL=1
else
LOG_INFO "yarn已安装跳过安装步骤"
NEED_UNINSTALL=0
fi
# 测试yarn命令的--hosts参数
LOG_INFO "测试yarn命令的--hosts参数"
# 检查--hosts参数是否支持
if ! yarn --help | grep -q -- "--hosts"; then
LOG_ERROR "yarn命令不支持--hosts参数"
exit 255
fi
# 创建临时主机文件
LOG_INFO "创建临时主机文件"
echo "node1" > /tmp/hosts_file
echo "node2" >> /tmp/hosts_file
# 执行yarn命令
LOG_INFO "执行yarn命令"
yarn --hosts /tmp/hosts_file
CHECK_RESULT $? 0 0 "yarn命令执行失败"
# 清理临时文件
LOG_INFO "清理临时文件"
rm -f /tmp/hosts_file
# 恢复环境
if [ $NEED_UNINSTALL -eq 1 ]; then
LOG_INFO "卸载hadoop-yarn"
dnf remove -y hadoop-yarn
CHECK_RESULT $? 0 0 "卸载hadoop-yarn失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,75 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-30
# @License : Mulan PSL v2
# @Desc : 测试 yarn 命令的 --loglevel 参数,验证是否能正确设置日志级别
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 yarn 命令的 --loglevel 参数,验证是否能正确设置日志级别"
# 检查是否已安装 hadoop-yarn
if ! dnf list installed hadoop-yarn &> /dev/null; then
LOG_INFO "hadoop-yarn 未安装,开始安装"
if ! dnf list available hadoop-yarn &> /dev/null; then
LOG_ERROR "yum 源中未找到 hadoop-yarn 软件包"
exit 255
fi
dnf install -y hadoop-yarn
CHECK_RESULT $? 0 0 "安装 hadoop-yarn 失败"
INSTALLED=true
else
LOG_INFO "hadoop-yarn 已安装,跳过安装步骤"
INSTALLED=false
fi
# 测试 --loglevel 参数
LOG_INFO "测试 yarn --loglevel 参数"
yarn --loglevel DEBUG &> /dev/null
CHECK_RESULT $? 0 0 "yarn --loglevel DEBUG 执行失败"
yarn --loglevel INFO &> /dev/null
CHECK_RESULT $? 0 0 "yarn --loglevel INFO 执行失败"
yarn --loglevel WARN &> /dev/null
CHECK_RESULT $? 0 0 "yarn --loglevel WARN 执行失败"
yarn --loglevel ERROR &> /dev/null
CHECK_RESULT $? 0 0 "yarn --loglevel ERROR 执行失败"
yarn --loglevel FATAL &> /dev/null
CHECK_RESULT $? 0 0 "yarn --loglevel FATAL 执行失败"
# 测试不支持的参数值(预期失败)
LOG_INFO "测试不支持的日志级别参数值"
yarn --loglevel INVALID &> /dev/null
if [ $? -ne 255 ]; then
LOG_ERROR "不支持的日志级别参数值未触发退出码255"
exit 255
fi
# 清理环境(如果脚本安装了软件包)
if [ "$INSTALLED" = true ]; then
LOG_INFO "卸载 hadoop-yarn"
dnf remove -y hadoop-yarn
CHECK_RESULT $? 0 -1 "卸载 hadoop-yarn failed" # 允许卸载失败(如依赖问题)
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,82 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试指定Hadoop配置目录
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试指定Hadoop配置目录功能"
# 定义软件包名称
PACKAGE_NAME="hadoop-yarn"
# 步骤1: 检查软件包是否在yum源中
LOG_INFO "检查yum源中是否存在${PACKAGE_NAME}软件包"
if ! dnf list available ${PACKAGE_NAME} &>/dev/null; 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: 验证yarn命令的--config参数是否存在
LOG_INFO "验证yarn命令是否支持--config参数"
yarn --help 2>&1 | grep -q -- "--config"
CHECK_RESULT $? 0 0 "yarn命令不支持--config参数"
# 步骤5: 测试指定配置目录功能
LOG_INFO "测试指定配置目录功能"
TEST_CONFIG_DIR="/tmp/test_hadoop_config_$(date +%s)"
mkdir -p ${TEST_CONFIG_DIR}
yarn --config ${TEST_CONFIG_DIR} version 2>&1 | grep -q "Hadoop"
CHECK_RESULT $? 0 0 "使用--config指定目录执行yarn命令失败"
# 步骤6: 清理测试目录
LOG_INFO "清理测试创建的临时目录"
rm -rf ${TEST_CONFIG_DIR}
# 步骤7: 环境恢复
if [ "${ALREADY_INSTALLED}" = "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 "指定Hadoop配置目录测试完成"
}
main "$@"

View File

@@ -1,62 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试以守护进程模式启动yarn
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试以守护进程模式启动yarn"
LOG_INFO "检查环境是否已安装hadoop-yarn"
if dnf list installed hadoop-yarn &> /dev/null; then
LOG_INFO "hadoop-yarn已安装跳过安装步骤"
INSTALLED="true"
else
LOG_INFO "hadoop-yarn未安装开始安装"
if ! dnf list available hadoop-yarn &> /dev/null; then
LOG_ERROR "yum源中不存在hadoop-yarn软件包"
exit 255
fi
dnf install -y hadoop-yarn
CHECK_RESULT $? 0 0 "安装hadoop-yarn失败"
INSTALLED="false"
fi
LOG_INFO "检查yarn命令是否支持--daemon参数"
yarn --help 2>&1 | grep -q "\-\-daemon"
CHECK_RESULT $? 0 0 "yarn命令不支持--daemon参数"
LOG_INFO "以守护进程模式启动yarn"
yarn --daemon start
CHECK_RESULT $? 0 0 "启动yarn守护进程失败"
LOG_INFO "检查yarn守护进程是否运行"
sleep 2
if ! pgrep -f "yarn" &> /dev/null; then
LOG_ERROR "yarn守护进程未运行"
exit 1
fi
LOG_INFO "停止yarn守护进程"
yarn --daemon stop
CHECK_RESULT $? 0 0 "停止yarn守护进程失败"
LOG_INFO "清理环境"
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "卸载hadoop-yarn"
dnf remove -y hadoop-yarn
CHECK_RESULT $? 0 0 "卸载hadoop-yarn失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,98 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试查看yarn守护进程状态
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义变量
PACKAGE_NAME="hadoop-yarn"
SERVICE_NAME="yarn"
TEST_COMMAND="yarn-daemon.sh"
# 步骤1: 检查yum源中是否存在hadoop-yarn软件包
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: 检查是否已安装hadoop-yarn
LOG_INFO "检查是否已安装${PACKAGE_NAME}"
rpm -q ${PACKAGE_NAME} &>/dev/null
if [ $? -eq 0 ]; then
LOG_INFO "${PACKAGE_NAME}已安装"
INSTALLED=true
else
LOG_INFO "${PACKAGE_NAME}未安装"
INSTALLED=false
fi
# 步骤3: 如果未安装,则安装软件包
if [ "${INSTALLED}" = "false" ]; then
LOG_INFO "安装${PACKAGE_NAME}软件包"
dnf install -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}失败"
fi
# 步骤4: 检查yarn-daemon.sh命令是否存在
LOG_INFO "检查${TEST_COMMAND}命令是否存在"
which ${TEST_COMMAND} &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "${TEST_COMMAND}命令不存在"
# 如果是新安装的,需要卸载
if [ "${INSTALLED}" = "false" ]; then
LOG_INFO "卸载${PACKAGE_NAME}软件包"
dnf remove -y ${PACKAGE_NAME}
fi
exit 255
fi
# 步骤5: 测试查看yarn守护进程状态命令的参数支持
LOG_INFO "测试${TEST_COMMAND}命令的参数支持"
${TEST_COMMAND} --help 2>&1 | grep -q "status"
if [ $? -ne 0 ]; then
LOG_ERROR "${TEST_COMMAND}命令不支持status参数"
# 如果是新安装的,需要卸载
if [ "${INSTALLED}" = "false" ]; then
LOG_INFO "卸载${PACKAGE_NAME}软件包"
dnf remove -y ${PACKAGE_NAME}
fi
exit 255
fi
# 步骤6: 测试查看yarn守护进程状态
LOG_INFO "测试查看yarn守护进程状态"
${TEST_COMMAND} status resourcemanager 2>&1
CHECK_RESULT $? 0 1 "查看yarn守护进程状态失败"
# 步骤7: 环境恢复
LOG_INFO "环境恢复"
if [ "${INSTALLED}" = "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 "测试完成"
}
main "$@"

View File

@@ -1,155 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试停止yarn守护进程
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义颜色输出函数如果LOG_INFO/LOG_ERROR未定义
if ! command -v LOG_INFO &> /dev/null; then
LOG_INFO() {
echo -e "\033[32m[INFO]\033[0m $*"
}
fi
if ! command -v LOG_ERROR &> /dev/null; then
LOG_ERROR() {
echo -e "\033[31m[ERROR]\033[0m $*" >&2
}
fi
# 检查yum源中是否有指定软件包
check_package_in_repo() {
local pkg=$1
LOG_INFO "检查yum源中是否存在软件包: $pkg"
if ! dnf list available "$pkg" &> /dev/null; then
LOG_ERROR "yum源中不存在软件包: $pkg"
exit 255
fi
LOG_INFO "软件包 $pkg 存在于yum源中"
}
# 检查命令参数是否支持
check_command_param() {
local cmd=$1
local param=$2
LOG_INFO "检查命令 $cmd 是否支持参数: $param"
if ! $cmd --help 2>&1 | grep -q "\<$param\>"; then
LOG_ERROR "命令 $cmd 不支持参数: $param"
exit 255
fi
LOG_INFO "命令 $cmd 支持参数: $param"
}
# 检查环境是否已安装hadoop-yarn
check_hadoop_yarn_installed() {
LOG_INFO "检查hadoop-yarn是否已安装"
if rpm -q hadoop-yarn &> /dev/null; then
LOG_INFO "hadoop-yarn已安装"
return 0
else
LOG_INFO "hadoop-yarn未安装"
return 1
fi
}
# 安装hadoop-yarn
install_hadoop_yarn() {
LOG_INFO "开始安装hadoop-yarn"
check_package_in_repo "hadoop-yarn"
dnf install -y hadoop-yarn
CHECK_RESULT $? 0 0 "安装hadoop-yarn失败"
LOG_INFO "hadoop-yarn安装成功"
}
# 卸载hadoop-yarn
uninstall_hadoop_yarn() {
LOG_INFO "开始卸载hadoop-yarn"
dnf remove -y hadoop-yarn
CHECK_RESULT $? 0 0 "卸载hadoop-yarn失败"
LOG_INFO "hadoop-yarn卸载成功"
}
# 测试停止yarn守护进程
test_yarn_daemon_stop() {
LOG_INFO "测试停止yarn守护进程"
# 检查yarn命令是否存在
if ! command -v yarn &> /dev/null; then
LOG_ERROR "yarn命令不存在"
return 1
fi
# 检查--daemon参数是否支持
check_command_param "yarn" "--daemon"
# 尝试停止yarn守护进程
LOG_INFO "执行命令: yarn --daemon stop"
yarn --daemon stop
local yarn_exit_code=$?
# 检查命令执行结果
if [ $yarn_exit_code -eq 0 ]; then
LOG_INFO "yarn守护进程停止成功"
return 0
elif [ $yarn_exit_code -eq 255 ]; then
LOG_ERROR "命令参数错误"
exit 255
else
LOG_ERROR "yarn守护进程停止失败退出码: $yarn_exit_code"
return $yarn_exit_code
fi
}
# 主函数
main() {
LOG_INFO "开始测试: 测试停止yarn守护进程"
# 记录初始安装状态
local originally_installed=false
if check_hadoop_yarn_installed; then
originally_installed=true
fi
# 如果未安装,则安装
if ! $originally_installed; then
install_hadoop_yarn
fi
# 执行测试
test_yarn_daemon_stop
local test_result=$?
# 环境恢复
LOG_INFO "开始环境恢复"
if ! $originally_installed; then
uninstall_hadoop_yarn
else
LOG_INFO "保持hadoop-yarn安装状态"
fi
# 检查最终结果
CHECK_RESULT $test_result 0 0 "测试停止yarn守护进程失败"
LOG_INFO "测试停止yarn守护进程成功"
}
# 执行主函数
main
}
main "$@"

View File

@@ -1,78 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试开启shell脚本调试模式
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -x
LOG_INFO "开始测试测试开启shell脚本调试模式"
LOG_INFO "步骤1检查yum源中是否存在hadoop-yarn-debug软件包"
dnf list available hadoop-yarn-debug 2>/dev/null | grep -q hadoop-yarn-debug
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在hadoop-yarn-debug软件包"
exit 255
fi
LOG_INFO "步骤2检查当前环境是否已安装hadoop-yarn-debug"
rpm -q hadoop-yarn-debug >/dev/null 2>&1
is_installed=$?
if [ $is_installed -eq 0 ]; then
LOG_INFO "环境已安装hadoop-yarn-debug测试期间保持安装状态"
need_uninstall=false
else
LOG_INFO "环境未安装hadoop-yarn-debug将进行安装"
need_uninstall=true
fi
if [ "$need_uninstall" = true ]; then
LOG_INFO "步骤3安装hadoop-yarn-debug软件包"
dnf install -y hadoop-yarn-debug
CHECK_RESULT $? 0 0 "安装hadoop-yarn-debug失败"
fi
LOG_INFO "步骤4测试yarn debug命令的基本参数"
yarn debug -help >/dev/null 2>&1
CHECK_RESULT $? 0 0 "yarn debug命令不支持-help参数"
LOG_INFO "步骤5测试不支持的参数"
yarn debug --nonexistent-param 2>/dev/null
if [ $? -ne 255 ]; then
LOG_ERROR "yarn debug命令未正确处理不存在的参数"
exit 255
fi
LOG_INFO "步骤6执行实际调试命令测试"
yarn debug -list 2>&1 | grep -q "ApplicationId"
CHECK_RESULT $? 0 0 "yarn debug -list命令执行失败"
LOG_INFO "步骤7清理测试环境"
if [ "$need_uninstall" = true ]; then
LOG_INFO "卸载测试期间安装的hadoop-yarn-debug软件包"
dnf remove -y hadoop-yarn-debug
CHECK_RESULT $? 0 0 "卸载hadoop-yarn-debug失败"
else
LOG_INFO "测试前已安装hadoop-yarn-debug保持安装状态"
fi
LOG_INFO "测试完成shell脚本调试模式测试通过"
}
main "$@"

View File

@@ -1,87 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试yarn命令的帮助信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 判断是否已安装hadoop-yarn软件包
LOG_INFO "检查hadoop-yarn是否已安装"
rpm -q hadoop-yarn > /dev/null 2>&1
installed=$?
# 记录初始安装状态
if [ $installed -eq 0 ]; then
LOG_INFO "hadoop-yarn已安装脚本结束时将保持安装状态"
else
LOG_INFO "hadoop-yarn未安装将在测试后卸载"
fi
# 检查yum源中是否有hadoop-yarn软件包
LOG_INFO "检查yum源中是否有hadoop-yarn软件包"
dnf list available hadoop-yarn > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中没有hadoop-yarn软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中没有hadoop-yarn软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $installed -ne 0 ]; then
LOG_INFO "安装hadoop-yarn软件包"
dnf install -y hadoop-yarn
CHECK_RESULT $? 0 0 "安装hadoop-yarn失败"
fi
# 检查yarn命令是否存在
LOG_INFO "检查yarn命令是否存在"
which yarn > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yarn命令不存在"
# 测试yarn命令的帮助参数
LOG_INFO "测试yarn命令的help参数"
yarn --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yarn --help命令执行失败"
# 测试yarn命令的-h参数
LOG_INFO "测试yarn命令的-h参数"
yarn -h > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yarn -h命令执行失败"
# 测试yarn命令的无效参数
LOG_INFO "测试yarn命令的无效参数"
yarn --invalid-param > /dev/null 2>&1
if [ $? -eq 255 ]; then
LOG_ERROR "yarn命令不支持--invalid-param参数"
exit 255
fi
# 清理环境:如果最初未安装,则卸载软件包
if [ $installed -ne 0 ]; then
LOG_INFO "卸载hadoop-yarn软件包"
dnf remove -y hadoop-yarn
CHECK_RESULT $? 0 0 "卸载hadoop-yarn失败"
LOG_INFO "环境已恢复到初始状态"
else
LOG_INFO "保持hadoop-yarn安装状态"
fi
LOG_INFO "测试yarn命令的帮助信息完成"
}
main "$@"

View File

@@ -1,75 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试指定工作节点模式下的主机列表
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试指定工作节点模式下的主机列表功能"
LOG_INFO "1. 检查hadoop-yarn软件包是否在yum源中"
dnf list hadoop-yarn 2>&1 | grep -q "可用软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到hadoop-yarn软件包"
exit 255
fi
LOG_INFO "2. 检查是否已安装hadoop-yarn"
rpm -q hadoop-yarn > /dev/null 2>&1
installed=$?
if [ $installed -ne 0 ]; then
LOG_INFO "未检测到hadoop-yarn安装开始安装"
dnf install -y hadoop-yarn
CHECK_RESULT $? 0 0 "安装hadoop-yarn失败"
else
LOG_INFO "检测到hadoop-yarn已安装"
fi
LOG_INFO "3. 检查yarn命令的hostnames参数支持"
yarn --help 2>&1 | grep -q "hostnames"
if [ $? -ne 0 ]; then
LOG_ERROR "yarn命令不支持hostnames参数"
if [ $installed -ne 0 ]; then
LOG_INFO "清理安装的软件包"
dnf remove -y hadoop-yarn
fi
exit 255
fi
LOG_INFO "4. 执行yarn hostnames --list命令测试"
yarn hostnames --list
CHECK_RESULT $? 0 0 "执行yarn hostnames --list命令失败"
LOG_INFO "5. 测试指定工作节点模式"
yarn hostnames --list --workers
CHECK_RESULT $? 0 0 "执行yarn hostnames --list --workers命令失败"
LOG_INFO "6. 环境恢复"
if [ $installed -ne 0 ]; then
LOG_INFO "卸载测试安装的hadoop-yarn软件包"
dnf remove -y hadoop-yarn
CHECK_RESULT $? 0 0 "卸载hadoop-yarn失败"
else
LOG_INFO "保持原有安装状态,不卸载软件包"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,90 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试指定包含工作节点主机列表的文件
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:测试指定包含工作节点主机列表的文件"
LOG_INFO "步骤1检查是否已安装hadoop-yarn软件包"
rpm -q hadoop-yarn > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "hadoop-yarn已安装标记为已安装状态"
INSTALLED="true"
else
LOG_INFO "hadoop-yarn未安装标记为未安装状态"
INSTALLED="false"
fi
LOG_INFO "步骤2检查yum源中是否有hadoop-yarn软件包"
dnf list available hadoop-yarn > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中没有hadoop-yarn软件包"
exit 255
fi
LOG_INFO "步骤3如果未安装则安装hadoop-yarn"
if [ "$INSTALLED" = "false" ]; then
dnf install -y hadoop-yarn
CHECK_RESULT $? 0 0 "安装hadoop-yarn失败"
LOG_INFO "hadoop-yarn安装成功"
fi
LOG_INFO "步骤4检查yarn命令的hosts参数是否支持"
yarn --help 2>&1 | grep -q "\-\-hosts"
if [ $? -ne 0 ]; then
LOG_ERROR "yarn命令不支持hosts参数"
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "清理环境卸载hadoop-yarn"
dnf remove -y hadoop-yarn
fi
exit 255
fi
LOG_INFO "步骤5创建测试用的主机列表文件"
echo "node1.example.com" > /tmp/test_hosts.txt
echo "node2.example.com" >> /tmp/test_hosts.txt
CHECK_RESULT $? 0 0 "创建主机列表文件失败"
LOG_INFO "步骤6执行yarn命令指定hosts文件测试"
yarn --hosts /tmp/test_hosts.txt node -list > /tmp/yarn_output.txt 2>&1
CHECK_RESULT $? 0 0 "执行yarn命令失败"
LOG_INFO "yarn命令执行成功"
LOG_INFO "步骤7检查命令输出是否符合预期"
grep -q "Total Nodes" /tmp/yarn_output.txt
CHECK_RESULT $? 0 0 "yarn命令输出不符合预期"
LOG_INFO "步骤8清理临时文件"
rm -f /tmp/test_hosts.txt /tmp/yarn_output.txt
CHECK_RESULT $? 0 0 "清理临时文件失败"
LOG_INFO "步骤9根据初始状态恢复环境"
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "卸载hadoop-yarn软件包"
dnf remove -y hadoop-yarn
CHECK_RESULT $? 0 0 "卸载hadoop-yarn失败"
LOG_INFO "环境已恢复至未安装状态"
else
LOG_INFO "保持hadoop-yarn已安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,97 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试设置命令的日志级别
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义日志打印函数(实际环境中可能已定义,这里为防止未定义而提供)
LOG_INFO() {
echo "[INFO] $*"
}
LOG_ERROR() {
echo "[ERROR] $*"
}
# 测试脚本:测试设置命令的日志级别
LOG_INFO "开始测试:测试设置命令的日志级别"
# 步骤1检查yarn命令是否已安装
LOG_INFO "步骤1检查yarn命令是否已安装"
if command -v yarn > /dev/null 2>&1; then
LOG_INFO "yarn命令已安装无需重新安装"
INSTALLED=true
else
LOG_INFO "yarn命令未安装将在后续步骤安装"
INSTALLED=false
fi
# 步骤2检查yum源中是否有hadoop-yarn软件包
LOG_INFO "步骤2检查yum源中是否有hadoop-yarn软件包"
if ! dnf list available hadoop-yarn 2>/dev/null | grep -q hadoop-yarn; then
LOG_ERROR "yum源中未找到hadoop-yarn软件包"
exit 255
fi
# 步骤3如果未安装则安装hadoop-yarn软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤3安装hadoop-yarn软件包"
dnf install -y hadoop-yarn
CHECK_RESULT $? 0 0 "安装hadoop-yarn软件包失败"
fi
# 步骤4测试设置日志级别命令的参数是否存在
LOG_INFO "步骤4测试设置日志级别命令的参数是否存在"
if ! yarn --help 2>&1 | grep -q "\-\-loglevel"; then
LOG_ERROR "yarn命令不支持--loglevel参数"
exit 255
fi
# 步骤5测试设置日志级别为info
LOG_INFO "步骤5测试设置日志级别为info"
yarn --loglevel info
CHECK_RESULT $? 0 0 "设置日志级别为info失败"
# 步骤6测试设置日志级别为debug
LOG_INFO "步骤6测试设置日志级别为debug"
yarn --loglevel debug
CHECK_RESULT $? 0 0 "设置日志级别为debug失败"
# 步骤7测试设置日志级别为error
LOG_INFO "步骤7测试设置日志级别为error"
yarn --loglevel error
CHECK_RESULT $? 0 0 "设置日志级别为error失败"
# 步骤8测试设置日志级别为warn
LOG_INFO "步骤8测试设置日志级别为warn"
yarn --loglevel warn
CHECK_RESULT $? 0 0 "设置日志级别为warn失败"
# 步骤9清理环境如果之前未安装则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤9清理环境卸载hadoop-yarn软件包"
dnf remove -y hadoop-yarn
CHECK_RESULT $? 0 0 "卸载hadoop-yarn软件包失败"
else
LOG_INFO "步骤9保持hadoop-yarn软件包安装状态"
fi
LOG_INFO "测试完成:测试设置命令的日志级别"
}
main "$@"

View File

@@ -1,97 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试开启工作节点模式
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试开启工作节点模式
LOG_INFO "开始测试开启工作节点模式"
# 定义软件包名称
PACKAGE_NAME="hadoop-yarn"
# 步骤1: 检查环境是否已安装
LOG_INFO "步骤1: 检查环境是否已安装"
if rpm -q $PACKAGE_NAME &>/dev/null; then
LOG_INFO "$PACKAGE_NAME 已经安装,测试结束后将保持安装状态"
ALREADY_INSTALLED=1
else
LOG_INFO "$PACKAGE_NAME 未安装,将在测试过程中安装"
ALREADY_INSTALLED=0
fi
# 步骤2: 检查yum源中是否有该软件包
LOG_INFO "步骤2: 检查yum源中是否有该软件包"
if ! dnf list available $PACKAGE_NAME &>/dev/null; then
LOG_ERROR "yum源中没有找到 $PACKAGE_NAME 软件包"
exit 255
fi
LOG_INFO "yum源中存在 $PACKAGE_NAME 软件包"
# 步骤3: 如果未安装则安装软件包
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "步骤3: 安装 $PACKAGE_NAME 软件包"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装 $PACKAGE_NAME 失败"
LOG_INFO "$PACKAGE_NAME 安装成功"
fi
# 步骤4: 检查yarn命令是否存在
LOG_INFO "步骤4: 检查yarn命令是否存在"
if ! command -v yarn &>/dev/null; then
LOG_ERROR "yarn命令不存在"
if [ $ALREADY_INSTALLED -eq 0 ]; then
dnf remove -y $PACKAGE_NAME
fi
exit 255
fi
LOG_INFO "yarn命令存在"
# 步骤5: 检查yarn workers命令是否支持
LOG_INFO "步骤5: 检查yarn workers命令是否支持"
if ! yarn --help 2>&1 | grep -q "workers"; then
LOG_ERROR "yarn命令不支持workers参数"
if [ $ALREADY_INSTALLED -eq 0 ]; then
dnf remove -y $PACKAGE_NAME
fi
exit 255
fi
LOG_INFO "yarn命令支持workers参数"
# 步骤6: 执行yarn workers命令
LOG_INFO "步骤6: 执行yarn workers命令"
yarn workers
CHECK_RESULT $? 0 0 "执行yarn workers命令失败"
LOG_INFO "yarn workers命令执行成功"
# 步骤7: 环境恢复
LOG_INFO "步骤7: 环境恢复"
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "卸载测试期间安装的软件包"
dnf remove -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "卸载 $PACKAGE_NAME 失败"
LOG_INFO "$PACKAGE_NAME 卸载成功"
else
LOG_INFO "保持原有安装状态,不卸载软件包"
fi
LOG_INFO "测试开启工作节点模式完成"
}
main "$@"

View File

@@ -1,70 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试查看应用程序报告
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试查看应用程序报告功能"
LOG_INFO "步骤1检查Hadoop YARN相关软件包是否已在yum源中"
if ! dnf list available hadoop-yarn 2>/dev/null | grep -q hadoop-yarn; then
LOG_ERROR "yum源中未找到hadoop-yarn软件包"
exit 255
fi
LOG_INFO "步骤2检查系统是否已安装Hadoop YARN"
if rpm -q hadoop-yarn &>/dev/null; then
LOG_INFO "Hadoop YARN已安装测试结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "Hadoop YARN未安装将在测试过程中安装并在结束后卸载"
INSTALLED=false
fi
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "步骤3安装Hadoop YARN软件包"
dnf install -y hadoop-yarn
CHECK_RESULT $? 0 0 "安装Hadoop YARN失败"
fi
LOG_INFO "步骤4检查yarn命令是否支持application命令"
if ! yarn --help 2>&1 | grep -q "application"; then
LOG_ERROR "yarn命令不支持application参数"
exit 255
fi
LOG_INFO "步骤5尝试查看应用程序报告"
yarn application -list
CHECK_RESULT $? 0 0 "查看应用程序报告失败"
LOG_INFO "步骤6环境清理"
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "卸载Hadoop YARN软件包"
dnf remove -y hadoop-yarn
CHECK_RESULT $? 0 0 "卸载Hadoop YARN失败"
else
LOG_INFO "保持Hadoop YARN安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,99 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试查看应用程序报告(长格式)
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:查看应用程序报告(长格式)"
# 检查环境是否已安装Hadoop YARN
LOG_INFO "检查Hadoop YARN是否已安装"
if dnf list installed hadoop-yarn &>/dev/null; then
LOG_INFO "Hadoop YARN已安装测试后保持安装状态"
INSTALLED=true
else
LOG_INFO "Hadoop YARN未安装将在测试过程中安装"
INSTALLED=false
fi
# 检查yum源中是否有hadoop-yarn软件包
LOG_INFO "检查yum源中是否有hadoop-yarn软件包"
if ! dnf list available hadoop-yarn &>/dev/null; then
LOG_ERROR "yum源中未找到hadoop-yarn软件包"
exit 255
fi
# 如果未安装则安装hadoop-yarn
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装hadoop-yarn软件包"
dnf install -y hadoop-yarn
CHECK_RESULT $? 0 0 "安装hadoop-yarn失败"
fi
# 检查yarn命令是否支持application -status参数
LOG_INFO "检查yarn命令是否支持application -status参数"
if ! yarn application -help 2>&1 | grep -q "\-status"; then
LOG_ERROR "yarn命令不支持-application -status参数"
# 如果之前未安装,需要卸载已安装的软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载hadoop-yarn软件包"
dnf remove -y hadoop-yarn
fi
exit 255
fi
# 模拟一个YARN应用程序ID用于测试
TEST_APP_ID="application_1234567890_0001"
LOG_INFO "使用测试应用程序ID: $TEST_APP_ID 查看应用程序报告(长格式)"
# 尝试查看应用程序报告(长格式)
LOG_INFO "执行yarn application -status $TEST_APP_ID命令"
yarn application -status "$TEST_APP_ID"
CMD_EXIT_CODE=$?
# 检查命令执行结果
# 由于是测试环境,可能没有真实的应用程序,我们主要检查命令是否能正常执行
# 如果返回码是0或非255我们认为命令执行成功参数支持
if [ $CMD_EXIT_CODE -eq 255 ]; then
LOG_ERROR "yarn application -status命令执行失败参数可能不存在或不支持"
# 如果之前未安装,需要卸载已安装的软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载hadoop-yarn软件包"
dnf remove -y hadoop-yarn
fi
exit 255
elif [ $CMD_EXIT_CODE -ne 0 ]; then
LOG_INFO "yarn application -status命令执行返回非零退出码: $CMD_EXIT_CODE"
LOG_INFO "这可能是由于测试环境中没有真实的应用程序ID但命令参数支持性测试通过"
# 继续执行,不退出
fi
# 如果之前未安装,测试完成后卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "测试完成卸载hadoop-yarn软件包"
dnf remove -y hadoop-yarn
CHECK_RESULT $? 0 0 "卸载hadoop-yarn失败"
else
LOG_INFO "测试完成保持Hadoop YARN安装状态"
fi
LOG_INFO "测试查看应用程序报告(长格式)完成"
}
main "$@"

View File

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

View File

@@ -1,89 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试打印运行hadoop jar所需的类路径
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义变量
PACKAGE_NAME="hadoop-yarn"
TEST_CMD="yarn"
TEST_ARG="classpath"
# 步骤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
INSTALLED="true"
LOG_INFO "系统已安装${PACKAGE_NAME}软件包"
else
INSTALLED="false"
LOG_INFO "系统未安装${PACKAGE_NAME}软件包,将进行安装"
fi
# 步骤3: 如果未安装,则安装软件包
if [ "${INSTALLED}" = "false" ]; then
LOG_INFO "步骤3: 安装${PACKAGE_NAME}软件包"
dnf install -y ${PACKAGE_NAME} &> /dev/null
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}软件包失败"
fi
# 步骤4: 检查yarn命令是否支持classpath参数
LOG_INFO "步骤4: 检查${TEST_CMD}命令是否支持${TEST_ARG}参数"
${TEST_CMD} --help 2>&1 | grep -q "\-\-${TEST_ARG}"
if [ $? -ne 0 ]; then
LOG_ERROR "${TEST_CMD}命令不支持${TEST_ARG}参数"
# 如果之前未安装,需要卸载已安装的软件包
if [ "${INSTALLED}" = "false" ]; then
dnf remove -y ${PACKAGE_NAME} &> /dev/null
fi
exit 255
fi
# 步骤5: 执行yarn classpath命令
LOG_INFO "步骤5: 执行${TEST_CMD} ${TEST_ARG}命令"
${TEST_CMD} ${TEST_ARG} &> /dev/null
CHECK_RESULT $? 0 0 "执行${TEST_CMD} ${TEST_ARG}命令失败"
# 步骤6: 验证输出结果包含类路径信息
LOG_INFO "步骤6: 验证${TEST_CMD} ${TEST_ARG}输出包含类路径信息"
${TEST_CMD} ${TEST_ARG} | grep -q ".*\.jar.*"
CHECK_RESULT $? 0 0 "${TEST_CMD} ${TEST_ARG}输出未包含类路径信息"
# 步骤7: 环境清理
LOG_INFO "步骤7: 环境清理"
if [ "${INSTALLED}" = "false" ]; then
LOG_INFO "卸载${PACKAGE_NAME}软件包"
dnf remove -y ${PACKAGE_NAME} &> /dev/null
CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}软件包失败"
else
LOG_INFO "系统原本已安装${PACKAGE_NAME}软件包,保持安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,104 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试打印集群信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义日志函数
LOG_INFO() {
echo "[INFO] $*"
}
LOG_ERROR() {
echo "[ERROR] $*"
}
# 定义检查函数
CHECK_RESULT() {
local actual=$1
local expect=$2
shift 2
if [ "$actual" -ne "$expect" ]; then
LOG_ERROR "$*"
exit 255
fi
}
# 定义SSH命令函数
SSH_CMD() {
local cmd=$1
local node_ip=$2
local node_password=$3
local node_user=$4
sshpass -p "$node_password" ssh -o StrictHostKeyChecking=no "$node_user"@"$node_ip" "$cmd"
}
# 定义软件包名称
PACKAGE_NAME="hadoop-yarn"
# 步骤1检查yum源中是否有指定软件包
LOG_INFO "步骤1检查yum源中是否有 $PACKAGE_NAME 软件包"
dnf list available "$PACKAGE_NAME" &> /dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到 $PACKAGE_NAME 软件包"
exit 255
fi
# 步骤2检查环境是否已安装
LOG_INFO "步骤2检查环境是否已安装 $PACKAGE_NAME"
rpm -q "$PACKAGE_NAME" &> /dev/null
if [ $? -eq 0 ]; then
LOG_INFO "环境已安装 $PACKAGE_NAME,测试后保持安装状态"
INSTALLED=true
else
LOG_INFO "环境未安装 $PACKAGE_NAME,将安装并测试后卸载"
INSTALLED=false
fi
# 步骤3如果未安装则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤3安装 $PACKAGE_NAME 软件包"
dnf install -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "安装 $PACKAGE_NAME 失败"
fi
# 步骤4测试打印集群信息
LOG_INFO "步骤4测试打印集群信息"
yarn cluster --list &> /dev/null
CHECK_RESULT $? 0 0 "yarn cluster 命令不支持或参数不存在"
# 步骤5执行具体的集群信息打印命令
LOG_INFO "步骤5执行 yarn cluster -status 命令"
yarn cluster -status
CHECK_RESULT $? 0 0 "执行 yarn cluster -status 失败"
# 步骤6清理环境恢复到之前状态
LOG_INFO "步骤6清理环境恢复到之前状态"
if [ "$INSTALLED" = 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 "测试脚本执行完成"
}
main "$@"

View File

@@ -1,89 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试打印容器报告
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试脚本:测试打印容器报告
LOG_INFO "开始测试:测试打印容器报告"
# 检查环境是否已安装Hadoop YARN相关软件包
LOG_INFO "步骤1检查Hadoop YARN相关软件包是否已安装"
if dnf list installed hadoop-yarn &> /dev/null; then
LOG_INFO "Hadoop YARN已安装测试结束后将保持安装状态"
ENV_INSTALLED=true
else
LOG_INFO "Hadoop YARN未安装将在测试过程中安装并在结束后卸载"
ENV_INSTALLED=false
fi
# 检查yum源中是否有hadoop-yarn软件包
LOG_INFO "步骤2检查yum源中是否有hadoop-yarn软件包"
if ! dnf search hadoop-yarn &> /dev/null; then
LOG_ERROR "yum源中未找到hadoop-yarn软件包"
exit 255
fi
# 如果环境未安装,则安装软件包
if [ "$ENV_INSTALLED" = false ]; then
LOG_INFO "步骤3安装hadoop-yarn软件包"
dnf install -y hadoop-yarn
CHECK_RESULT $? 0 0 "安装hadoop-yarn失败"
fi
# 检查yarn命令是否存在
LOG_INFO "步骤4检查yarn命令是否存在"
if ! command -v yarn &> /dev/null; then
LOG_ERROR "yarn命令不存在"
if [ "$ENV_INSTALLED" = false ]; then
LOG_INFO "清理环境卸载hadoop-yarn软件包"
dnf remove -y hadoop-yarn
fi
exit 255
fi
# 检查yarn container命令是否支持
LOG_INFO "步骤5检查yarn container命令是否支持"
if ! yarn container --help &> /dev/null; then
LOG_ERROR "yarn container命令不支持或参数错误"
if [ "$ENV_INSTALLED" = false ]; then
LOG_INFO "清理环境卸载hadoop-yarn软件包"
dnf remove -y hadoop-yarn
fi
exit 255
fi
# 测试打印容器报告
LOG_INFO "步骤6执行yarn container -status命令打印容器报告"
yarn container -status
CHECK_RESULT $? 0 0 "执行yarn container -status命令失败"
# 清理环境:如果测试前未安装,则卸载软件包
if [ "$ENV_INSTALLED" = false ]; then
LOG_INFO "步骤7清理环境卸载hadoop-yarn软件包"
dnf remove -y hadoop-yarn
CHECK_RESULT $? 0 0 "卸载hadoop-yarn软件包失败"
else
LOG_INFO "环境保持安装状态,无需清理"
fi
LOG_INFO "测试完成:测试打印容器报告"
}
main "$@"

View File

@@ -1,68 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试获取/设置每个守护进程的日志级别
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:测试获取/设置每个守护进程的日志级别"
LOG_INFO "步骤1检查是否已安装hadoop-yarn软件包"
if dnf list installed hadoop-yarn &>/dev/null; then
LOG_INFO "hadoop-yarn已安装跳过安装步骤"
INSTALLED=true
else
LOG_INFO "hadoop-yarn未安装开始安装"
LOG_INFO "检查yum源中是否存在hadoop-yarn软件包"
if ! dnf list available hadoop-yarn &>/dev/null; then
LOG_ERROR "yum源中未找到hadoop-yarn软件包"
exit 255
fi
dnf install -y hadoop-yarn
CHECK_RESULT $? 0 0 "安装hadoop-yarn失败"
INSTALLED=false
fi
LOG_INFO "步骤2测试获取守护进程的日志级别"
yarn daemonlog -getlevel
CHECK_RESULT $? 0 0 "获取守护进程日志级别失败"
LOG_INFO "步骤3测试设置守护进程的日志级别"
yarn daemonlog -setlevel DEBUG
CHECK_RESULT $? 0 0 "设置守护进程日志级别失败"
LOG_INFO "步骤4验证设置是否生效"
yarn daemonlog -getlevel | grep -q "DEBUG"
CHECK_RESULT $? 0 0 "验证日志级别设置失败"
LOG_INFO "步骤5恢复日志级别到默认值"
yarn daemonlog -setlevel INFO
CHECK_RESULT $? 0 0 "恢复日志级别失败"
LOG_INFO "步骤6环境清理"
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "卸载hadoop-yarn软件包"
dnf remove -y hadoop-yarn
CHECK_RESULT $? 0 0 "卸载hadoop-yarn失败"
else
LOG_INFO "保持hadoop-yarn安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,77 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试显示计算出的Hadoop环境变量
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装hadoop-yarn软件包
LOG_INFO "步骤1检查hadoop-yarn软件包是否已安装"
if rpm -q hadoop-yarn &>/dev/null; then
LOG_INFO "hadoop-yarn软件包已安装脚本结束时将保持安装状态"
INSTALLED_BEFORE=true
else
LOG_INFO "hadoop-yarn软件包未安装将在测试过程中安装"
INSTALLED_BEFORE=false
fi
# 检查yum源中是否有hadoop-yarn软件包
LOG_INFO "步骤2检查yum源中是否有hadoop-yarn软件包"
dnf list available hadoop-yarn &>/dev/null
CHECK_RESULT $? 0 0 "yum源中没有hadoop-yarn软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中没有hadoop-yarn软件包"
exit 255
fi
# 如果未安装则安装hadoop-yarn软件包
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "步骤3安装hadoop-yarn软件包"
dnf install -y hadoop-yarn
CHECK_RESULT $? 0 0 "安装hadoop-yarn软件包失败"
fi
# 测试显示计算出的Hadoop环境变量
LOG_INFO "步骤4测试显示计算出的Hadoop环境变量"
# 检查yarn命令是否支持envvars参数
LOG_INFO "步骤4.1检查yarn命令是否支持envvars参数"
yarn --help 2>&1 | grep -q "envvars"
CHECK_RESULT $? 0 0 "yarn命令不支持envvars参数"
if [ $? -ne 0 ]; then
LOG_ERROR "yarn命令不支持envvars参数"
exit 255
fi
# 执行yarn envvars命令
LOG_INFO "步骤4.2执行yarn envvars命令"
yarn envvars
CHECK_RESULT $? 0 0 "执行yarn envvars命令失败"
# 清理环境如果之前未安装则卸载hadoop-yarn软件包
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "步骤5清理环境卸载hadoop-yarn软件包"
dnf remove -y hadoop-yarn
CHECK_RESULT $? 0 0 "卸载hadoop-yarn软件包失败"
else
LOG_INFO "步骤5环境已安装hadoop-yarn软件包保持安装状态无需卸载"
fi
LOG_INFO "测试完成,环境已恢复到初始状态"
}
main "$@"

View File

@@ -1,102 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试将公平调度器配置转换为容量调度器配置(实验性)
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:将公平调度器配置转换为容量调度器配置(实验性)"
LOG_INFO "步骤1检查是否已安装hadoop-yarn软件包"
if dnf list installed hadoop-yarn &> /dev/null; then
LOG_INFO "hadoop-yarn已安装测试结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "hadoop-yarn未安装将在测试中安装并在结束前卸载"
INSTALLED=false
fi
LOG_INFO "步骤2检查yum源中是否有hadoop-yarn软件包"
if ! dnf list available hadoop-yarn &> /dev/null; then
LOG_ERROR "yum源中未找到hadoop-yarn软件包"
exit 255
fi
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤3安装hadoop-yarn软件包"
dnf install -y hadoop-yarn
CHECK_RESULT $? 0 0 "安装hadoop-yarn失败"
fi
LOG_INFO "步骤4检查yarn fs2cs命令是否存在"
if ! yarn fs2cs --help &> /dev/null; then
LOG_ERROR "yarn fs2cs命令不存在或不支持"
exit 255
fi
LOG_INFO "步骤5创建测试用的公平调度器配置文件"
cat > /tmp/fair-scheduler.xml << "EOF"
<?xml version="1.0"?>
<allocations>
<queue name="root">
<queue name="queue1">
<minResources>1024 mb,1 vcores</minResources>
<maxResources>4096 mb,2 vcores</maxResources>
</queue>
<queue name="queue2">
<minResources>1024 mb,1 vcores</minResources>
<maxResources>4096 mb,2 vcores</maxResources>
</queue>
</queue>
</allocations>
EOF
CHECK_RESULT $? 0 0 "创建公平调度器配置文件失败"
LOG_INFO "步骤6执行yarn fs2cs命令进行转换"
yarn fs2cs /tmp/fair-scheduler.xml /tmp/capacity-scheduler.xml
CHECK_RESULT $? 0 0 "转换公平调度器配置为容量调度器配置失败"
LOG_INFO "步骤7检查生成的容量调度器配置文件是否存在"
if [ -f /tmp/capacity-scheduler.xml ]; then
LOG_INFO "容量调度器配置文件生成成功"
else
LOG_ERROR "容量调度器配置文件未生成"
exit 1
fi
LOG_INFO "步骤8验证生成的配置文件内容"
if grep -q "yarn.scheduler.capacity.root.queues" /tmp/capacity-scheduler.xml; then
LOG_INFO "容量调度器配置文件内容验证通过"
else
LOG_ERROR "容量调度器配置文件内容验证失败"
exit 1
fi
LOG_INFO "步骤9清理临时文件"
rm -f /tmp/fair-scheduler.xml /tmp/capacity-scheduler.xml
CHECK_RESULT $? 0 0 "清理临时文件失败"
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤10卸载hadoop-yarn软件包"
dnf remove -y hadoop-yarn
CHECK_RESULT $? 0 0 "卸载hadoop-yarn失败"
fi
LOG_INFO "测试完成:将公平调度器配置转换为容量调度器配置(实验性)"
}
main "$@"

View File

@@ -1,201 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试运行一个jar文件
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义颜色和日志函数
LOG_INFO() {
echo -e "\033[32m[INFO]\033[0m $1"
}
LOG_ERROR() {
echo -e "\033[31m[ERROR]\033[0m $1"
}
# 检查软件包是否在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 "yum源中不存在软件包: $package_name"
exit 255
fi
}
# 检查命令参数是否存在
check_command_option() {
local cmd=$1
local option=$2
LOG_INFO "检查命令 $cmd 是否支持参数: $option"
if ! $cmd --help 2>&1 | grep -q "$option"; then
LOG_ERROR "命令 $cmd 不支持参数: $option"
exit 255
fi
}
# 检查环境是否已安装hadoop-yarn
check_hadoop_yarn_installed() {
LOG_INFO "检查hadoop-yarn是否已安装"
rpm -q hadoop-yarn &> /dev/null
if [ $? -eq 0 ]; then
LOG_INFO "hadoop-yarn已安装"
HADOOP_INSTALLED=true
else
LOG_INFO "hadoop-yarn未安装"
HADOOP_INSTALLED=false
fi
}
# 安装hadoop-yarn
install_hadoop_yarn() {
LOG_INFO "开始安装hadoop-yarn"
check_package_in_repo "hadoop-yarn"
dnf install -y hadoop-yarn
CHECK_RESULT $? 0 0 "安装hadoop-yarn失败"
LOG_INFO "hadoop-yarn安装成功"
}
# 卸载hadoop-yarn
uninstall_hadoop_yarn() {
LOG_INFO "开始卸载hadoop-yarn"
dnf remove -y hadoop-yarn
CHECK_RESULT $? 0 0 "卸载hadoop-yarn失败"
LOG_INFO "hadoop-yarn卸载成功"
}
# 测试运行jar文件
test_run_jar() {
LOG_INFO "测试运行jar文件"
# 创建测试jar文件
LOG_INFO "创建测试jar文件"
cat > /tmp/TestYarn.jar << "EOF"
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.yarn.conf.YarnConfiguration;
import org.apache.hadoop.yarn.client.api.YarnClient;
import org.apache.hadoop.yarn.client.api.YarnClientFactory;
public class TestYarn {
public static void main(String[] args) {
System.out.println("TestYarn jar is running!");
System.out.println("YARN test completed successfully!");
System.exit(0);
}
}
EOF
# 编译测试jar文件简化版本实际可能需要更多依赖
LOG_INFO "编译测试jar文件"
javac -cp $(hadoop classpath) /tmp/TestYarn.java 2>/tmp/compile_error.log || {
LOG_INFO "使用简化测试方法"
# 使用一个简单的测试jar
jar -cvf /tmp/TestYarn.jar -C /tmp TestYarn.class 2>/dev/null || {
# 如果上面的方法失败使用yarn自带的示例jar
find /usr -name "*example*.jar" 2>/dev/null | head -1 > /tmp/test_jar_path.txt
TEST_JAR=$(cat /tmp/test_jar_path.txt)
if [ -n "$TEST_JAR" ] && [ -f "$TEST_JAR" ]; then
LOG_INFO "使用找到的示例jar: $TEST_JAR"
TEST_JAR_PATH="$TEST_JAR"
else
LOG_INFO "创建最简单的测试jar"
echo "public class Test { public static void main(String[] args) { System.out.println("Test passed!"); } }" > /tmp/Test.java
javac /tmp/Test.java
jar cvf /tmp/TestYarn.jar -C /tmp Test.class
TEST_JAR_PATH="/tmp/TestYarn.jar"
fi
}
}
# 检查yarn命令是否可用
LOG_INFO "检查yarn命令是否可用"
command -v yarn >/dev/null 2>&1
CHECK_RESULT $? 0 0 "yarn命令不可用"
# 检查yarn jar命令参数
check_command_option "yarn" "jar"
# 启动YARN服务如果需要
LOG_INFO "检查YARN服务状态"
systemctl status yarn-resourcemanager 2>/dev/null || {
LOG_INFO "尝试启动YARN服务"
systemctl start yarn-resourcemanager 2>/dev/null || true
systemctl start yarn-nodemanager 2>/dev/null || true
}
# 等待服务启动
sleep 3
# 测试运行jar文件
LOG_INFO "执行yarn jar命令"
if [ -n "$TEST_JAR_PATH" ] && [ -f "$TEST_JAR_PATH" ]; then
yarn jar "$TEST_JAR_PATH" 2>&1 | tee /tmp/yarn_jar_test.log
YARN_RESULT=${PIPESTATUS[0]}
else
# 尝试使用hadoop自带的示例
yarn jar /usr/share/hadoop/mapreduce/hadoop-mapreduce-examples*.jar pi 1 1 2>&1 | tee /tmp/yarn_jar_test.log
YARN_RESULT=${PIPESTATUS[0]}
fi
# 检查结果
if [ $YARN_RESULT -eq 0 ] || grep -q "Test passed\|completed successfully" /tmp/yarn_jar_test.log; then
LOG_INFO "jar文件运行测试成功"
CHECK_RESULT 0 0 0 "jar文件运行测试失败"
else
LOG_ERROR "jar文件运行测试失败"
CHECK_RESULT 1 0 0 "jar文件运行测试失败"
fi
}
# 主函数
main() {
LOG_INFO "开始测试运行一个jar文件"
# 记录初始安装状态
check_hadoop_yarn_installed
# 如果未安装,则安装
if [ "$HADOOP_INSTALLED" = "false" ]; then
install_hadoop_yarn
NEED_UNINSTALL=true
else
NEED_UNINSTALL=false
fi
# 执行测试
test_run_jar
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f /tmp/TestYarn.* /tmp/Test.* /tmp/yarn_jar_test.log /tmp/compile_error.log /tmp/test_jar_path.txt 2>/dev/null
# 如果测试前未安装,则卸载
if [ "$NEED_UNINSTALL" = "true" ]; then
uninstall_hadoop_yarn
fi
LOG_INFO "测试完成"
}
# 执行主函数
main
}
main "$@"

View File

@@ -1,81 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试转储容器日志
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:测试转储容器日志"
LOG_INFO "步骤1检查hadoop-yarn软件包是否已在yum源中"
dnf list available hadoop-yarn 2>/dev/null | grep -q hadoop-yarn
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到hadoop-yarn软件包"
exit 255
fi
LOG_INFO "hadoop-yarn软件包在yum源中存在"
LOG_INFO "步骤2检查hadoop-yarn是否已安装"
rpm -q hadoop-yarn >/dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "hadoop-yarn已安装测试后保持安装状态"
INSTALLED=1
else
LOG_INFO "hadoop-yarn未安装将安装作为测试步骤"
INSTALLED=0
LOG_INFO "步骤3安装hadoop-yarn软件包"
dnf install -y hadoop-yarn
CHECK_RESULT $? 0 0 "安装hadoop-yarn失败"
fi
LOG_INFO "步骤4检查yarn logs命令是否支持-containerId参数"
yarn logs --help 2>&1 | grep -q -- "-containerId"
if [ $? -ne 0 ]; then
LOG_ERROR "yarn logs命令不支持-containerId参数"
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "步骤5卸载hadoop-yarn软件包"
dnf remove -y hadoop-yarn
fi
exit 255
fi
LOG_INFO "yarn logs命令支持-containerId参数"
LOG_INFO "步骤5尝试使用yarn logs命令转储容器日志"
LOG_INFO "模拟一个不存在的容器ID预期命令执行失败"
yarn logs -containerId container_123456789_1234_01_000001 2>&1
EXPECTED_EXIT_CODE=$?
if [ $EXPECTED_EXIT_CODE -eq 0 ]; then
LOG_ERROR "yarn logs命令意外成功但预期应失败"
CHECK_RESULT 1 0 0 "命令退出码检查失败"
else
LOG_INFO "yarn logs命令按预期失败退出码为$EXPECTED_EXIT_CODE"
CHECK_RESULT $EXPECTED_EXIT_CODE 0 1 "命令退出码检查通过"
fi
LOG_INFO "步骤6清理测试环境"
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载hadoop-yarn软件包"
dnf remove -y hadoop-yarn
CHECK_RESULT $? 0 0 "卸载hadoop-yarn失败"
else
LOG_INFO "测试前已安装hadoop-yarn保持安装状态"
fi
LOG_INFO "测试完成:测试转储容器日志"
}
main "$@"

View File

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

View File

@@ -1,87 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试节点属性命令行客户端
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试节点属性命令行客户端"
LOG_INFO "步骤1: 检查是否已安装hadoop-yarn软件包"
if dnf list installed hadoop-yarn &>/dev/null; then
LOG_INFO "hadoop-yarn已安装跳过安装步骤"
INSTALLED=true
else
LOG_INFO "hadoop-yarn未安装将进行安装"
INSTALLED=false
fi
LOG_INFO "步骤2: 检查yum源中是否有hadoop-yarn软件包"
if ! dnf list available hadoop-yarn &>/dev/null; then
LOG_ERROR "yum源中没有hadoop-yarn软件包"
exit 255
fi
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "步骤3: 安装hadoop-yarn软件包"
dnf install -y hadoop-yarn
CHECK_RESULT $? 0 0 "安装hadoop-yarn失败"
fi
LOG_INFO "步骤4: 测试节点属性命令行客户端的基本功能"
LOG_INFO "检查yarn nodeattributes命令是否支持"
if ! yarn nodeattributes --help &>/dev/null; then
LOG_ERROR "yarn nodeattributes命令不存在或不支持"
exit 255
fi
LOG_INFO "步骤5: 执行yarn nodeattributes命令查看节点属性"
yarn nodeattributes -list
CHECK_RESULT $? 0 0 "执行yarn nodeattributes命令失败"
LOG_INFO "步骤6: 测试添加节点属性"
yarn nodeattributes -add "testattribute=testvalue"
CHECK_RESULT $? 0 0 "添加节点属性失败"
LOG_INFO "步骤7: 验证节点属性是否添加成功"
yarn nodeattributes -list | grep -q "testattribute=testvalue"
CHECK_RESULT $? 0 0 "验证节点属性添加失败"
LOG_INFO "步骤8: 测试删除节点属性"
yarn nodeattributes -remove "testattribute"
CHECK_RESULT $? 0 0 "删除节点属性失败"
LOG_INFO "步骤9: 验证节点属性是否删除成功"
if yarn nodeattributes -list | grep -q "testattribute"; then
LOG_ERROR "节点属性删除失败"
exit 1
fi
CHECK_RESULT $? 0 0 "验证节点属性删除失败"
LOG_INFO "步骤10: 清理测试环境"
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "卸载hadoop-yarn软件包"
dnf remove -y hadoop-yarn
CHECK_RESULT $? 0 0 "卸载hadoop-yarn失败"
else
LOG_INFO "保持hadoop-yarn安装状态"
fi
LOG_INFO "节点属性命令行客户端测试完成"
}
main "$@"

View File

@@ -1,91 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试在每个工作节点上运行节点管理器
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已经安装了hadoop-yarn-nodemanager
LOG_INFO "检查hadoop-yarn-nodemanager是否已安装"
rpm -q hadoop-yarn-nodemanager > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "hadoop-yarn-nodemanager已安装测试结束后保持安装状态"
INSTALLED=1
else
LOG_INFO "hadoop-yarn-nodemanager未安装将在测试过程中安装"
INSTALLED=0
fi
# 检查yum源中是否有hadoop-yarn-nodemanager包
LOG_INFO "检查yum源中是否有hadoop-yarn-nodemanager包"
dnf list available hadoop-yarn-nodemanager > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中没有hadoop-yarn-nodemanager包"
# 安装hadoop-yarn-nodemanager如果未安装
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装hadoop-yarn-nodemanager"
dnf install -y hadoop-yarn-nodemanager
CHECK_RESULT $? 0 0 "安装hadoop-yarn-nodemanager失败"
fi
# 检查nodemanager命令是否存在
LOG_INFO "检查nodemanager命令是否存在"
which nodemanager > /dev/null 2>&1
CHECK_RESULT $? 0 255 "nodemanager命令不存在"
# 测试nodemanager命令的基本参数
LOG_INFO "测试nodemanager命令的--help参数"
nodemanager --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "nodemanager --help命令执行失败"
# 测试nodemanager命令的无效参数
LOG_INFO "测试nodemanager命令的无效参数"
nodemanager --invalid-param > /dev/null 2>&1
if [ $? -ne 255 ]; then
LOG_ERROR "nodemanager命令不支持--invalid-param参数时应退出码为255"
exit 255
fi
# 测试启动nodemanager服务
LOG_INFO "测试启动nodemanager服务"
systemctl start hadoop-yarn-nodemanager
CHECK_RESULT $? 0 0 "启动nodemanager服务失败"
# 检查nodemanager服务状态
LOG_INFO "检查nodemanager服务状态"
systemctl status hadoop-yarn-nodemanager --no-pager | grep -q "active (running)"
CHECK_RESULT $? 0 0 "nodemanager服务未正常运行"
# 测试停止nodemanager服务
LOG_INFO "测试停止nodemanager服务"
systemctl stop hadoop-yarn-nodemanager
CHECK_RESULT $? 0 0 "停止nodemanager服务失败"
# 如果测试前未安装则卸载hadoop-yarn-nodemanager
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载hadoop-yarn-nodemanager"
dnf remove -y hadoop-yarn-nodemanager
CHECK_RESULT $? 0 0 "卸载hadoop-yarn-nodemanager失败"
else
LOG_INFO "测试前已安装hadoop-yarn-nodemanager保持安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,73 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试运行Web应用程序代理服务器
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试运行Web应用程序代理服务器"
LOG_INFO "步骤1: 检查环境是否已安装hadoop-yarn-proxyserver软件包"
rpm -q hadoop-yarn-proxyserver
if [ $? -eq 0 ]; then
LOG_INFO "hadoop-yarn-proxyserver已安装脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "hadoop-yarn-proxyserver未安装将在测试过程中安装"
INSTALLED=false
fi
LOG_INFO "步骤2: 检查yum源中是否有hadoop-yarn-proxyserver软件包"
dnf list available hadoop-yarn-proxyserver
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到hadoop-yarn-proxyserver软件包"
exit 255
fi
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤3: 安装hadoop-yarn-proxyserver软件包"
dnf install -y hadoop-yarn-proxyserver
CHECK_RESULT $? 0 0 "安装hadoop-yarn-proxyserver失败"
fi
LOG_INFO "步骤4: 检查hadoop-yarn-proxyserver命令参数"
yarn proxyserver --help
CHECK_RESULT $? 0 0 "hadoop-yarn-proxyserver命令参数检查失败"
LOG_INFO "步骤5: 启动Web应用程序代理服务器"
yarn proxyserver &
PROXY_PID=$!
sleep 5
LOG_INFO "步骤6: 检查Web应用程序代理服务器进程是否运行"
ps -p $PROXY_PID
CHECK_RESULT $? 0 0 "Web应用程序代理服务器进程未运行"
LOG_INFO "步骤7: 停止Web应用程序代理服务器"
kill $PROXY_PID
CHECK_RESULT $? 0 0 "停止Web应用程序代理服务器失败"
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤8: 卸载hadoop-yarn-proxyserver软件包"
dnf remove -y hadoop-yarn-proxyserver
CHECK_RESULT $? 0 0 "卸载hadoop-yarn-proxyserver失败"
fi
LOG_INFO "测试运行Web应用程序代理服务器完成"
}
main "$@"

View File

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

View File

@@ -1,77 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试运行注册表DNS服务器
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试运行注册表DNS服务器"
# 定义软件包名称
PACKAGE_NAME="hadoop-yarn-yarn_registrydns"
# 检查环境是否已安装
LOG_INFO "检查环境是否已安装软件包:$PACKAGE_NAME"
if dnf list installed "$PACKAGE_NAME" &>/dev/null; then
LOG_INFO "环境已安装软件包:$PACKAGE_NAME,测试结束后将保持安装状态"
INSTALLED_BEFORE_TEST=true
else
LOG_INFO "环境未安装软件包:$PACKAGE_NAME,测试过程中将进行安装"
INSTALLED_BEFORE_TEST=false
fi
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否有软件包$PACKAGE_NAME"
if ! dnf list available "$PACKAGE_NAME" &>/dev/null; then
LOG_ERROR "yum源中未找到软件包$PACKAGE_NAME"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
LOG_INFO "安装软件包:$PACKAGE_NAME"
dnf install -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 测试运行注册表DNS服务器
LOG_INFO "测试运行注册表DNS服务器"
yarn_registrydns --help &>/dev/null
CHECK_RESULT $? 0 0 "运行注册表DNS服务器失败"
# 检查命令参数是否存在或不支持
LOG_INFO "检查命令参数是否存在或不支持"
if ! yarn_registrydns --help 2>&1 | grep -q "usage"; then
LOG_ERROR "命令参数不存在或不支持"
exit 255
fi
# 如果需要多个服务器并在第二个服务器上执行命令使用SSH_CMD
# 示例SSH_CMD "ls" "$NODE2_IPV4" "$NODE2_PASSWORD" "$NODE2_USER"
# 清理环境:如果测试前未安装,则卸载软件包
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
LOG_INFO "卸载软件包:$PACKAGE_NAME"
dnf remove -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "卸载软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,90 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试运行资源管理器
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查环境是否已安装hadoop-yarn-resourcemanager
LOG_INFO "检查hadoop-yarn-resourcemanager是否已安装"
rpm -q hadoop-yarn-resourcemanager &> /dev/null
if [ $? -eq 0 ]; then
LOG_INFO "hadoop-yarn-resourcemanager已安装测试结束后保持安装状态"
ALREADY_INSTALLED=1
else
LOG_INFO "hadoop-yarn-resourcemanager未安装将在测试前安装"
ALREADY_INSTALLED=0
fi
# 检查yum源中是否存在hadoop-yarn-resourcemanager软件包
LOG_INFO "检查yum源中是否存在hadoop-yarn-resourcemanager软件包"
dnf list available hadoop-yarn-resourcemanager &> /dev/null
CHECK_RESULT $? 0 255 "yum源中不存在hadoop-yarn-resourcemanager软件包"
# 如果未安装则安装软件包
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "安装hadoop-yarn-resourcemanager软件包"
dnf install -y hadoop-yarn-resourcemanager
CHECK_RESULT $? 0 0 "安装hadoop-yarn-resourcemanager失败"
fi
# 检查yarn命令是否存在
LOG_INFO "检查yarn命令是否存在"
which yarn &> /dev/null
CHECK_RESULT $? 0 255 "yarn命令不存在"
# 检查yarn resourcemanager命令是否支持
LOG_INFO "检查yarn resourcemanager命令是否支持"
yarn resourcemanager --help &> /dev/null
CHECK_RESULT $? 0 255 "yarn resourcemanager命令不支持"
# 启动资源管理器
LOG_INFO "启动资源管理器"
yarn resourcemanager &
RM_PID=$!
sleep 5
# 检查资源管理器进程是否运行
LOG_INFO "检查资源管理器进程是否运行"
ps -p $RM_PID &> /dev/null
CHECK_RESULT $? 0 0 "资源管理器进程未运行"
# 检查资源管理器服务端口
LOG_INFO "检查资源管理器服务端口"
netstat -tlnp | grep :8032 &> /dev/null
CHECK_RESULT $? 0 0 "资源管理器服务端口未监听"
# 停止资源管理器
LOG_INFO "停止资源管理器"
kill $RM_PID
wait $RM_PID 2>/dev/null
# 清理环境
LOG_INFO "清理环境"
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "卸载hadoop-yarn-resourcemanager软件包"
dnf remove -y hadoop-yarn-resourcemanager
CHECK_RESULT $? 0 0 "卸载hadoop-yarn-resourcemanager失败"
else
LOG_INFO "保持hadoop-yarn-resourcemanager安装状态"
fi
LOG_INFO "测试运行资源管理器完成"
}
main "$@"

View File

@@ -1,91 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试运行资源管理器管理工具
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试运行资源管理器管理工具"
# 检查环境是否已安装hadoop-yarn软件包
LOG_INFO "检查hadoop-yarn软件包是否已安装"
rpm -q hadoop-yarn >/dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "hadoop-yarn软件包已安装测试后保持安装状态"
installed=true
else
LOG_INFO "hadoop-yarn软件包未安装将在测试过程中安装"
installed=false
fi
# 检查yum源中是否有hadoop-yarn软件包
LOG_INFO "检查yum源中是否存在hadoop-yarn软件包"
dnf list available hadoop-yarn >/dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中没有hadoop-yarn软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中没有hadoop-yarn软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$installed" = false ]; then
LOG_INFO "安装hadoop-yarn软件包"
dnf install -y hadoop-yarn >/dev/null 2>&1
CHECK_RESULT $? 0 0 "安装hadoop-yarn软件包失败"
fi
# 测试yarn rmadmin命令的基本功能
LOG_INFO "测试yarn rmadmin命令的基本功能"
yarn rmadmin -help >/dev/null 2>&1
CHECK_RESULT $? 0 0 "yarn rmadmin命令执行失败"
# 测试yarn rmadmin命令的特定参数
LOG_INFO "测试yarn rmadmin命令的-refreshNodes参数"
yarn rmadmin -refreshNodes >/dev/null 2>&1
# 注意:这里不检查结果,因为-refreshNodes可能需要特定配置
# 我们只是测试命令是否能识别该参数
# 测试不支持的参数
LOG_INFO "测试yarn rmadmin命令的不支持参数"
yarn rmadmin -invalidParam >/dev/null 2>&1
if [ $? -eq 255 ]; then
LOG_INFO "不支持参数测试通过"
else
LOG_ERROR "不支持参数测试失败"
exit 255
fi
# 如果需要多服务器测试,可以这样使用(示例)
# LOG_INFO "在第二个节点上测试yarn rmadmin命令"
# SSH_CMD "yarn rmadmin -help" $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER
# CHECK_RESULT $? 0 0 "在第二个节点上执行yarn rmadmin命令失败"
# 清理环境:如果测试前未安装,则卸载软件包
if [ "$installed" = false ]; then
LOG_INFO "卸载hadoop-yarn软件包"
dnf remove -y hadoop-yarn >/dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载hadoop-yarn软件包失败"
LOG_INFO "已恢复到测试前的环境状态"
else
LOG_INFO "保持hadoop-yarn软件包安装状态"
fi
LOG_INFO "测试运行资源管理器管理工具完成"
}
main "$@"

View File

@@ -1,73 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试运行路由器守护进程
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试运行路由器守护进程"
LOG_INFO "检查环境是否已安装hadoop-yarn-yarn-router软件包"
if rpm -q hadoop-yarn-yarn-router &> /dev/null; then
LOG_INFO "hadoop-yarn-yarn-router已安装测试完成后保持安装状态"
INSTALLED=true
else
LOG_INFO "hadoop-yarn-yarn-router未安装将在测试过程中安装并在结束后卸载"
INSTALLED=false
fi
LOG_INFO "检查yum源中是否存在hadoop-yarn-yarn-router软件包"
if ! dnf list available hadoop-yarn-yarn-router &> /dev/null; then
LOG_ERROR "yum源中未找到hadoop-yarn-yarn-router软件包"
exit 255
fi
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装hadoop-yarn-yarn-router软件包"
dnf install -y hadoop-yarn-yarn-router
CHECK_RESULT $? 0 0 "安装hadoop-yarn-yarn-router失败"
fi
LOG_INFO "检查yarn router命令参数是否支持"
yarn router --help &> /dev/null
CHECK_RESULT $? 0 255 "yarn router命令参数不支持或不存在"
LOG_INFO "启动yarn router守护进程"
yarn router &
ROUTER_PID=$!
sleep 3
LOG_INFO "检查yarn router进程是否正在运行"
ps -p $ROUTER_PID &> /dev/null
CHECK_RESULT $? 0 0 "yarn router进程启动失败"
LOG_INFO "停止yarn router守护进程"
kill $ROUTER_PID
CHECK_RESULT $? 0 0 "停止yarn router进程失败"
wait $ROUTER_PID 2>/dev/null
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载hadoop-yarn-yarn-router软件包"
dnf remove -y hadoop-yarn-yarn-router
CHECK_RESULT $? 0 0 "卸载hadoop-yarn-yarn-router失败"
fi
LOG_INFO "测试运行路由器守护进程完成"
}
main "$@"

View File

@@ -1,90 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试更新调度器配置
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试更新调度器配置"
LOG_INFO "检查环境是否已安装Hadoop YARN相关软件包"
rpm -qa | grep -E "^hadoop-yarn-|^hadoop-"
if [ $? -eq 0 ]; then
LOG_INFO "Hadoop YARN已安装脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "Hadoop YARN未安装将在测试过程中安装"
INSTALLED=false
fi
LOG_INFO "检查yum源中是否存在hadoop-yarn软件包"
dnf list available hadoop-yarn 2>/dev/null | grep -q "^hadoop-yarn"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到hadoop-yarn软件包"
exit 255
fi
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "安装hadoop-yarn软件包"
dnf install -y hadoop-yarn
CHECK_RESULT $? 0 0 "安装hadoop-yarn失败"
fi
LOG_INFO "检查yarn命令是否支持更新调度器配置参数"
yarn schedulerconf -help 2>&1 | grep -q "\-\-update"
if [ $? -ne 0 ]; then
LOG_ERROR "yarn schedulerconf命令不支持--update参数"
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "卸载hadoop-yarn软件包"
dnf remove -y hadoop-yarn
fi
exit 255
fi
LOG_INFO "备份当前调度器配置"
yarn schedulerconf -list > /tmp/scheduler_backup.conf 2>/dev/null
BACKUP_RESULT=$?
if [ $BACKUP_RESULT -ne 0 ]; then
LOG_ERROR "备份当前调度器配置失败"
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "卸载hadoop-yarn软件包"
dnf remove -y hadoop-yarn
fi
exit $BACKUP_RESULT
fi
LOG_INFO "测试更新调度器配置"
yarn schedulerconf -update -addQueue root.testQueue
CHECK_RESULT $? 0 0 "更新调度器配置失败"
LOG_INFO "验证调度器配置是否更新成功"
yarn schedulerconf -list | grep -q "root.testQueue"
CHECK_RESULT $? 0 0 "调度器配置更新后未找到root.testQueue"
LOG_INFO "恢复调度器配置"
if [ -f /tmp/scheduler_backup.conf ]; then
while read -r line; do
if [ -n "$line" ]; then
yarn schedulerconf -update -addQueue "$line" 2>/dev/null
fi
done < /tmp/scheduler_backup.conf
yarn schedulerconf -removeQueue root.testQueue 2>/dev/null
fi
LOG_INFO "清理临时文件"
rm -f /tmp/scheduler_backup.conf
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "卸载hadoop-yarn软件包"
dnf remove -y hadoop-yarn
CHECK_RESULT $? 0 0 "卸载hadoop-yarn失败"
fi
LOG_INFO "测试更新调度器配置完成"
}
main "$@"

View File

@@ -1,80 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试共享缓存管理器管理工具
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装hadoop-yarn
LOG_INFO "检查hadoop-yarn是否已安装"
if dnf list installed hadoop-yarn &>/dev/null; then
LOG_INFO "hadoop-yarn已安装脚本结束后将保持安装状态"
ALREADY_INSTALLED=1
else
LOG_INFO "hadoop-yarn未安装将在测试中安装并在结束后卸载"
ALREADY_INSTALLED=0
fi
# 检查yum源中是否有hadoop-yarn软件包
LOG_INFO "检查yum源中是否有hadoop-yarn软件包"
if ! dnf list available hadoop-yarn &>/dev/null; then
LOG_ERROR "yum源中没有hadoop-yarn软件包"
exit 255
fi
# 安装hadoop-yarn如果未安装
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "安装hadoop-yarn"
dnf install -y hadoop-yarn
CHECK_RESULT $? 0 0 "安装hadoop-yarn失败"
fi
# 测试共享缓存管理器管理工具
LOG_INFO "测试共享缓存管理器管理工具yarn scmadmin"
# 检查yarn scmadmin命令是否存在
if ! command -v yarn &>/dev/null; then
LOG_ERROR "yarn命令不存在"
exit 255
fi
# 检查scmadmin参数是否支持
LOG_INFO "检查scmadmin参数是否支持"
yarn scmadmin --help &>/dev/null
CHECK_RESULT $? 0 0 "scmadmin参数不存在或不支持"
# 执行scmadmin命令进行测试
LOG_INFO "执行yarn scmadmin -help命令"
yarn scmadmin -help
CHECK_RESULT $? 0 0 "执行yarn scmadmin -help失败"
LOG_INFO "测试共享缓存管理器管理工具完成"
# 环境清理
LOG_INFO "开始环境清理"
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "卸载hadoop-yarn"
dnf remove -y hadoop-yarn
CHECK_RESULT $? 0 0 "卸载hadoop-yarn失败"
else
LOG_INFO "保持hadoop-yarn安装状态"
fi
LOG_INFO "环境清理完成,测试脚本结束"
}
main "$@"

View File

@@ -1,81 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试运行共享缓存管理器守护进程
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试运行共享缓存管理器守护进程"
LOG_INFO "检查环境是否已安装hadoop-yarn相关软件包"
if dnf list installed hadoop-yarn > /dev/null 2>&1; then
LOG_INFO "环境已安装hadoop-yarn软件包测试后将保持安装状态"
INSTALLED=1
else
LOG_INFO "环境未安装hadoop-yarn软件包将在测试过程中安装"
INSTALLED=0
fi
LOG_INFO "检查yum源中是否存在hadoop-yarn软件包"
if ! dnf list available hadoop-yarn > /dev/null 2>&1; then
LOG_ERROR "yum源中不存在hadoop-yarn软件包"
exit 255
fi
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装hadoop-yarn软件包"
dnf install -y hadoop-yarn
CHECK_RESULT $? 0 0 "安装hadoop-yarn软件包失败"
fi
LOG_INFO "检查共享缓存管理器守护进程命令参数"
if ! yarn sharedcachemanager --help > /dev/null 2>&1; then
LOG_ERROR "共享缓存管理器守护进程命令参数不存在或不支持"
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载hadoop-yarn软件包"
dnf remove -y hadoop-yarn
fi
exit 255
fi
LOG_INFO "启动共享缓存管理器守护进程"
yarn sharedcachemanager &
PID=$!
sleep 5
LOG_INFO "检查共享缓存管理器守护进程是否运行"
if ps -p $PID > /dev/null 2>&1; then
LOG_INFO "共享缓存管理器守护进程正在运行"
else
LOG_ERROR "共享缓存管理器守护进程启动失败"
CHECK_RESULT 1 0 0 "共享缓存管理器守护进程未运行"
fi
LOG_INFO "停止共享缓存管理器守护进程"
kill $PID
CHECK_RESULT $? 0 0 "停止共享缓存管理器守护进程失败"
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载hadoop-yarn软件包"
dnf remove -y hadoop-yarn
CHECK_RESULT $? 0 0 "卸载hadoop-yarn软件包失败"
fi
LOG_INFO "测试运行共享缓存管理器守护进程完成"
}
main "$@"

View File

@@ -1,112 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : 测试运行时间轴读取器服务器
# ############################################
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 error_msg=$4
if [ $actual -ne $expect ]; then
LOG_ERROR "$error_msg"
exit $exit_code
fi
}
# 定义SSH命令函数
SSH_CMD() {
local cmd=$1
local node_ip=$2
local node_password=$3
local node_user=$4
# 这里假设SSH_CMD已经实现直接调用
sshpass -p "$node_password" ssh -o StrictHostKeyChecking=no "$node_user@$node_ip" "$cmd"
}
# 测试脚本主逻辑
main() {
# 步骤1检查环境是否已安装hadoop-yarn-yarn-timelinereader
LOG_INFO "步骤1检查hadoop-yarn-yarn-timelinereader是否已安装"
if dnf list installed hadoop-yarn-yarn-timelinereader &>/dev/null; then
LOG_INFO "hadoop-yarn-yarn-timelinereader已安装测试结束后保持安装状态"
already_installed=true
else
LOG_INFO "hadoop-yarn-yarn-timelinereader未安装将在测试中安装"
already_installed=false
fi
# 步骤2检查yum源中是否有该软件包
LOG_INFO "步骤2检查yum源中是否有hadoop-yarn-yarn-timelinereader软件包"
if ! dnf search hadoop-yarn-yarn-timelinereader &>/dev/null; then
LOG_ERROR "yum源中未找到hadoop-yarn-yarn-timelinereader软件包"
exit 255
fi
# 步骤3如果未安装则安装软件包
if [ "$already_installed" = false ]; then
LOG_INFO "步骤3安装hadoop-yarn-yarn-timelinereader软件包"
dnf install -y hadoop-yarn-yarn-timelinereader
CHECK_RESULT $? 0 255 "安装hadoop-yarn-yarn-timelinereader失败"
fi
# 步骤4测试运行时间轴读取器服务器
LOG_INFO "步骤4测试运行时间轴读取器服务器"
# 假设启动命令为hadoop-yarn-yarn-timelinereader实际命令可能需要调整
if ! command -v hadoop-yarn-yarn-timelinereader &>/dev/null; then
LOG_ERROR "hadoop-yarn-yarn-timelinereader命令不存在"
exit 255
fi
# 测试命令执行,假设--version参数存在
LOG_INFO "测试hadoop-yarn-yarn-timelinereader --version命令"
hadoop-yarn-yarn-timelinereader --version
CHECK_RESULT $? 0 1 "hadoop-yarn-yarn-timelinereader --version执行失败"
# 步骤5清理环境
LOG_INFO "步骤5清理环境"
if [ "$already_installed" = false ]; then
LOG_INFO "卸载hadoop-yarn-yarn-timelinereader软件包"
dnf remove -y hadoop-yarn-yarn-timelinereader
CHECK_RESULT $? 0 1 "卸载hadoop-yarn-yarn-timelinereader失败"
else
LOG_INFO "保持hadoop-yarn-yarn-timelinereader安装状态"
fi
LOG_INFO "测试完成"
}
# 执行主函数
main
}
main "$@"

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