Merge branch 'pkg' of http://10.30.190.190:54866/redrsoe2100/os-autotest into pkg
This commit is contained in:
@@ -7,25 +7,9 @@
|
||||
"desc": "测试 brltty-xw 软件包的安装功能,验证安装过程是否成功",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_brltty-xw_function_install",
|
||||
"desc": "测试 brltty-xw 软件包的安装功能,验证安装过程是否成功且软件包文件正确部署"
|
||||
},
|
||||
{
|
||||
"name": "test_brltty-xw_function_uninstall",
|
||||
"desc": "测试 brltty-xw 软件包的卸载功能,验证卸载过程是否成功且相关文件被清理"
|
||||
},
|
||||
{
|
||||
"name": "test_brltty-xw_function_version",
|
||||
"desc": "测试 brltty-xw 软件包的版本查询功能,验证能正确显示软件包版本信息"
|
||||
},
|
||||
{
|
||||
"name": "test_brltty-xw_function_config",
|
||||
"desc": "测试 brltty-xw 软件包的基本配置功能,验证配置文件存在且可访问"
|
||||
},
|
||||
{
|
||||
"name": "test_brltty-xw_function_service",
|
||||
"desc": "测试 brltty-xw 相关服务的状态管理功能,验证服务能正常启动、停止和查询状态"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -5,26 +5,6 @@
|
||||
{
|
||||
"name": "test_lucene-queryparser_function_install",
|
||||
"desc": "Test package installation"
|
||||
},
|
||||
{
|
||||
"name": "test_lucene-queryparser_function_queryparse",
|
||||
"desc": "Test query parsing functionality"
|
||||
},
|
||||
{
|
||||
"name": "test_lucene-queryparser_function_uninstall",
|
||||
"desc": "Test package uninstallation"
|
||||
},
|
||||
{
|
||||
"name": "test_lucene-queryparser_function_basicparse",
|
||||
"desc": "Test basic query parsing"
|
||||
},
|
||||
{
|
||||
"name": "test_lucene-queryparser_function_advparse",
|
||||
"desc": "Test advanced query syntax"
|
||||
},
|
||||
{
|
||||
"name": "test_lucene-queryparser_function_errorhandle",
|
||||
"desc": "Test error query handling"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6,18 +6,6 @@
|
||||
"name": "test_maven-doxia-module-rtf_install",
|
||||
"desc": "测试软件包的安装功能,验证安装过程是否正常完成。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_maven-doxia-module-rtf_function_generate",
|
||||
"desc": "测试RTF文档生成功能,验证生成的文档是否符合预期格式。"
|
||||
},
|
||||
{
|
||||
"name": "test_maven-doxia-module-rtf_function_parse",
|
||||
"desc": "测试RTF文档解析功能,验证解析结果是否正确。"
|
||||
},
|
||||
{
|
||||
"name": "test_maven-doxia-module-rtf_function_config",
|
||||
"desc": "测试配置加载功能,验证配置是否正确应用。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -9,18 +9,6 @@
|
||||
{
|
||||
"name": "test_minicom-help_function_remove",
|
||||
"desc": "测试软件包minicom-help能否被正确卸载"
|
||||
},
|
||||
{
|
||||
"name": "test_minicom-help_function_installed",
|
||||
"desc": "测试软件包minicom-help是否已安装在系统中"
|
||||
},
|
||||
{
|
||||
"name": "test_minicom-help_function_version",
|
||||
"desc": "测试软件包minicom-help的版本信息能否正确查询"
|
||||
},
|
||||
{
|
||||
"name": "test_minicom-help_function_display",
|
||||
"desc": "测试minicom-help帮助文档能否被正确显示"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -9,22 +9,6 @@
|
||||
{
|
||||
"name": "test_pcp-pmda-libvirt_function_uninstall",
|
||||
"desc": "Test package uninstallation"
|
||||
},
|
||||
{
|
||||
"name": "test_pcp-pmda-libvirt_function_enable",
|
||||
"desc": "Test enabling PMDA"
|
||||
},
|
||||
{
|
||||
"name": "test_pcp-pmda-libvirt_function_start",
|
||||
"desc": "Test PMDA service start"
|
||||
},
|
||||
{
|
||||
"name": "test_pcp-pmda-libvirt_function_collect",
|
||||
"desc": "Test metrics collection"
|
||||
},
|
||||
{
|
||||
"name": "test_pcp-pmda-libvirt_function_query",
|
||||
"desc": "Test query specific metric"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/pnm2ppa/pnm2ppa",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_pnm2ppa_pbmtpg__upper_v",
|
||||
"desc": "测试pbmtpg命令的详细模式输出"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,325 +2,33 @@
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/proftpd/proftpd-utils",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpasswd_passwd",
|
||||
"desc": "测试使用--passwd参数创建passwd格式文件"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpasswd_group",
|
||||
"desc": "测试使用--group参数创建group格式文件"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpasswd_hash",
|
||||
"desc": "测试使用--hash参数生成密码哈希"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpasswd_file",
|
||||
"desc": "测试使用--file参数指定输出文件路径"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpasswd_upper_f",
|
||||
"desc": "测试使用-F参数强制覆盖现有文件"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpasswd_gecos",
|
||||
"desc": "测试使用--gecos参数设置用户描述信息"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpasswd_gid",
|
||||
"desc": "测试使用--gid参数设置用户组ID"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpasswd_home",
|
||||
"desc": "测试使用--home参数设置用户主目录"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpasswd_des",
|
||||
"desc": "测试使用--des参数选择DES加密算法"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpasswd_md5",
|
||||
"desc": "测试使用--md5参数选择MD5加密算法"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpmail__fifo_path",
|
||||
"desc": "测试 ftpmail 命令的 --fifo 参数,指定 FIFO 路径"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpmail__from_addr",
|
||||
"desc": "测试 ftpmail 命令的 --from 参数,指定发件人地址"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpmail__recipient_addr",
|
||||
"desc": "测试 ftpmail 命令的 --recipient 参数,指定收件人地址"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpmail__smtp-server_addr",
|
||||
"desc": "测试 ftpmail 命令的 --smtp-server 参数,指定 SMTP 服务器地址"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpmail__attach-file",
|
||||
"desc": "测试 ftpmail 命令的 --attach-file 参数,包含上传文件作为附件"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpmail__ignore-users_regex",
|
||||
"desc": "测试 ftpmail 命令的 --ignore-users 参数,指定忽略用户的正则表达式"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpmail__watch-users_regex",
|
||||
"desc": "测试 ftpmail 命令的 --watch-users 参数,指定监控用户的正则表达式"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpmail__subject_string",
|
||||
"desc": "测试 ftpmail 命令的 --subject 参数,指定自定义邮件主题"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpmail__log_path",
|
||||
"desc": "测试 ftpmail 命令的 --log 参数,指定日志文件路径"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpquota__add_record",
|
||||
"desc": "测试添加一个新的配额记录"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpquota__create_table",
|
||||
"desc": "测试创建配额表"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpquota__delete_record",
|
||||
"desc": "测试删除配额记录"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpquota__show_records",
|
||||
"desc": "测试显示所有配额记录"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpquota__update_record",
|
||||
"desc": "测试更新配额记录"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpquota__type_limit",
|
||||
"desc": "测试指定表类型为limit"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpquota__type_tally",
|
||||
"desc": "测试指定表类型为tally"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpquota__bytes_upload",
|
||||
"desc": "测试设置上传字节数限制"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpquota__bytes_download",
|
||||
"desc": "测试设置下载字节数限制"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpquota__bytes_xfer",
|
||||
"desc": "测试设置传输字节数限制"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpquota__files_upload",
|
||||
"desc": "测试设置上传文件数限制"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpquota__files_download",
|
||||
"desc": "测试设置下载文件数限制"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpquota__files_xfer",
|
||||
"desc": "测试设置传输文件数限制"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpquota__limit_type_hard",
|
||||
"desc": "测试设置字节限制类型为hard模式,超出自动删除"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftptop__upper_a",
|
||||
"desc": "测试 ftptop 命令的 -A 参数,仅显示认证会话"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftptop_a",
|
||||
"desc": "测试 ftptop 命令的 -a 参数,忽略认证连接"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftptop_b",
|
||||
"desc": "测试 ftptop 命令的 -b 参数,批处理模式"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftptop__upper_d",
|
||||
"desc": "测试 ftptop 命令的 -D 参数,仅显示下载会话"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftptop_d_num_5",
|
||||
"desc": "测试 ftptop 命令的 -d 5 参数,设置刷新延迟为5秒"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftptop_f",
|
||||
"desc": "测试 ftptop 命令的 -f 参数,配置使用的ScoreboardFile"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftptop_h",
|
||||
"desc": "测试 ftptop 命令的 -h 参数,显示帮助信息"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftptop__upper_i",
|
||||
"desc": "测试 ftptop 命令的 -I 参数,仅显示空闲连接"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftptop_i",
|
||||
"desc": "测试 ftptop 命令的 -i 参数,忽略空闲连接"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftptop_n_num_10",
|
||||
"desc": "测试 ftptop 命令的 -n 10 参数,设置迭代次数为10次"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_fttop__upper_s",
|
||||
"desc": "测试 ftptop 命令的-S参数,仅显示指定ServerName的连接"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_function_ftpasswd_shell",
|
||||
"desc": "测试使用--shell参数设置用户默认shell"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_function_ftpasswd_uid",
|
||||
"desc": "测试使用--uid参数设置用户ID"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_function_ftpmail_verbose",
|
||||
"desc": "测试ftpmail命令的--verbose参数启用详细输出"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_function_ftpquota_type_all",
|
||||
"desc": "测试指定表类型为all"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_function_ftptop_upper_u",
|
||||
"desc": "测试ftptop命令的-U参数仅显示指定用户的连接"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpmail__fifo",
|
||||
"desc": "测试 ftpmail 命令的 --fifo 参数"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpmail__from",
|
||||
"desc": "测试 ftpmail 命令的 --from 参数"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpmail__recipient",
|
||||
"desc": "测试 ftpmail 命令的 --recipient 参数"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpmail__smtp-server",
|
||||
"desc": "测试 ftpmail 命令的 --smtp-server 参数"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpmail__ignore-users",
|
||||
"desc": "测试 ftpmail 命令的 --ignore-users 参数"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpmail__watch-users",
|
||||
"desc": "测试 ftpmail 命令的 --watch-users 参数"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpmail__log",
|
||||
"desc": "测试 ftpmail 命令的 --log 参数"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpmail__subject",
|
||||
"desc": "测试 ftpmail 命令的 --subject 参数"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpquota__add_record__name__quota_type",
|
||||
"desc": "测试添加一个新的配额记录,指定名称和配额类型"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpquota__delete_record__name__quota_type",
|
||||
"desc": "测试删除一个配额记录,指定名称和配额类型"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpquota__update_record__name__quota_type",
|
||||
"desc": "测试更新一个配额记录,指定名称和配额类型"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpquota__type",
|
||||
"desc": "测试指定表类型进行操作"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpquota_Bu",
|
||||
"desc": "测试指定上传字节数限制"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpquota_Bd",
|
||||
"desc": "测试指定下载字节数限制"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpquota_Bx",
|
||||
"desc": "测试指定传输字节数限制"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpquota_Fu",
|
||||
"desc": "测试指定上传文件数限制"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpquota_Fd",
|
||||
"desc": "测试指定下载文件数限制"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpquota_Fx",
|
||||
"desc": "测试指定传输文件数限制"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftptop_upper_a",
|
||||
"desc": "测试 ftptop 命令的 -A 参数,仅显示认证会话"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftptop_upper_d",
|
||||
"desc": "测试 ftptop 命令的 -D 参数,仅显示下载会话"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftptop_upper_i",
|
||||
"desc": "测试 ftptop 命令的 -I 参数,仅显示空闲连接"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftptop_upper_s",
|
||||
"desc": "测试 ftptop 命令的 -S 参数,仅显示指定ServerName的会话"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftptop_upper_u",
|
||||
"desc": "测试 ftptop 命令的 -U 参数,仅显示上传会话"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftptop_upper_v",
|
||||
"desc": "测试 ftptop 命令的 -V 参数,显示版本信息"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpwho__c",
|
||||
"desc": "测试使用 -c 参数指定 proftpd 配置文件路径"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpwho__f",
|
||||
"desc": "测试使用 -f 参数指定 scoreboard 文件路径"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpwho__h",
|
||||
"desc": "测试使用 -h 参数显示 ftpwho 帮助信息"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpwho__o",
|
||||
"desc": "测试使用 -o 参数指定输出格式"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpwho__v",
|
||||
"desc": "测试使用 -v 参数显示每个连接的额外信息"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_ftpwho__upper_s",
|
||||
"desc": "测试使用 -S 参数显示指定 ServerName 的用户"
|
||||
},
|
||||
{
|
||||
"name": "test_proftpd-utils_function_config",
|
||||
"desc": "测试配置文件解析功能"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -10,10 +10,6 @@
|
||||
"name": "test_proguard-gui_function_load",
|
||||
"desc": "测试加载配置文件功能"
|
||||
},
|
||||
{
|
||||
"name": "test_proguard-gui_function_save",
|
||||
"desc": "测试保存配置文件功能"
|
||||
},
|
||||
{
|
||||
"name": "test_proguard-gui_function_optimize",
|
||||
"desc": "测试代码优化功能"
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-g/texlive-dlfltxb",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-dlfltxb_function_install",
|
||||
"desc": "Test installation of texlive-dlfltxb"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-q/texlive-odsfile",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-odsfile_function_install",
|
||||
"desc": "测试软件包 texlive-odsfile 的安装功能"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-odsfile_function_check_installed",
|
||||
"desc": "测试检查 texlive-odsfile 软件包是否已正确安装"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-odsfile_function_odsfile_macro",
|
||||
"desc": "测试使用 \\usepackage{odsfile} 宏包"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-odsfile_function_odsimport",
|
||||
"desc": "测试 \\odsimport 命令导入ODS文件"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-odsfile_function_uninstall",
|
||||
"desc": "测试软件包 texlive-odsfile 的卸载功能"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,10 +2,6 @@
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-u/texlive-scrjrnl",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-scrjrnl_function_basic",
|
||||
"desc": "Test basic functionality of texlive-scrjrnl"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-scrjrnl_function_install",
|
||||
"desc": "Test if texlive-scrjrnl package can be installed correctly"
|
||||
@@ -17,14 +13,6 @@
|
||||
{
|
||||
"name": "test_texlive-scrjrnl_function_version",
|
||||
"desc": "Test querying the installed version of texlive-scrjrnl"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-scrjrnl_function_basic_usage",
|
||||
"desc": "Test basic document compilation with scrjrnl class"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-scrjrnl_function_options",
|
||||
"desc": "Test common class options of scrjrnl (e.g., a4paper)"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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-13
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 brltty-xw 软件包的基本配置功能,验证配置文件存在且可访问
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装brltty-xw软件包
|
||||
LOG_INFO "检查是否已安装brltty-xw软件包"
|
||||
if dnf list installed brltty-xw >/dev/null 2>&1; then
|
||||
LOG_INFO "brltty-xw软件包已安装,测试后保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "brltty-xw软件包未安装,将在测试后卸载"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在brltty-xw软件包
|
||||
LOG_INFO "检查yum源中是否存在brltty-xw软件包"
|
||||
if ! dnf list available brltty-xw >/dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中未找到brltty-xw软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装brltty-xw软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装brltty-xw软件包"
|
||||
dnf install -y brltty-xw
|
||||
CHECK_RESULT $? 0 0 "安装brltty-xw软件包失败"
|
||||
fi
|
||||
|
||||
# 验证配置文件存在且可访问
|
||||
LOG_INFO "验证brltty-xw配置文件存在且可访问"
|
||||
CONFIG_FILE="/etc/brltty.conf"
|
||||
if [ -f "$CONFIG_FILE" ]; then
|
||||
LOG_INFO "配置文件 $CONFIG_FILE 存在"
|
||||
if [ -r "$CONFIG_FILE" ]; then
|
||||
LOG_INFO "配置文件 $CONFIG_FILE 可读"
|
||||
else
|
||||
LOG_ERROR "配置文件 $CONFIG_FILE 不可读"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
LOG_ERROR "配置文件 $CONFIG_FILE 不存在"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载brltty-xw软件包"
|
||||
dnf remove -y brltty-xw
|
||||
CHECK_RESULT $? 0 0 "卸载brltty-xw软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,75 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-13
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 brltty-xw 软件包的安装功能,验证安装过程是否成功且软件包文件正确部署
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 brltty-xw 软件包的安装功能"
|
||||
LOG_INFO "检查 brltty-xw 软件包是否在 yum 源中"
|
||||
dnf list available brltty-xw > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum 源中未找到 brltty-xw 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "检查当前环境是否已安装 brltty-xw"
|
||||
rpm -q brltty-xw > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "brltty-xw 软件包已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED_BEFORE=1
|
||||
else
|
||||
LOG_INFO "brltty-xw 软件包未安装,将在测试步骤中安装"
|
||||
INSTALLED_BEFORE=0
|
||||
fi
|
||||
|
||||
if [ $INSTALLED_BEFORE -eq 0 ]; then
|
||||
LOG_INFO "开始安装 brltty-xw 软件包"
|
||||
dnf install -y brltty-xw
|
||||
CHECK_RESULT $? 0 0 "安装 brltty-xw 软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "验证 brltty-xw 软件包文件是否正确部署"
|
||||
rpm -ql brltty-xw > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "brltty-xw 软件包文件部署异常"
|
||||
|
||||
LOG_INFO "检查 brltty-xw 相关命令是否可用"
|
||||
which brltty-xw > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "未找到 brltty-xw 命令"
|
||||
|
||||
LOG_INFO "执行 brltty-xw 命令的简单测试"
|
||||
brltty-xw --help > /dev/null 2>&1
|
||||
if [ $? -eq 255 ]; then
|
||||
LOG_ERROR "brltty-xw 命令不支持 --help 参数"
|
||||
exit 255
|
||||
fi
|
||||
CHECK_RESULT $? 0 0 "brltty-xw 命令执行失败"
|
||||
|
||||
LOG_INFO "清理测试环境"
|
||||
if [ $INSTALLED_BEFORE -eq 0 ]; then
|
||||
LOG_INFO "卸载测试安装的 brltty-xw 软件包"
|
||||
dnf remove -y brltty-xw
|
||||
CHECK_RESULT $? 0 0 "卸载 brltty-xw 软件包失败"
|
||||
else
|
||||
LOG_INFO "测试前已安装 brltty-xw,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "brltty-xw 软件包安装功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,62 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-13
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 brltty-xw 相关服务的状态管理功能,验证服务能正常启动、停止和查询状态
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 brltty-xw 相关服务的状态管理功能"
|
||||
LOG_INFO "步骤1:检查 yum 源中是否存在 brltty-xw 软件包"
|
||||
dnf list brltty-xw >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum 源中未找到 brltty-xw 软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "步骤2:检查当前环境中是否已安装 brltty-xw"
|
||||
rpm -q brltty-xw >/dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "brltty-xw 已安装,标记为保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "brltty-xw 未安装,将进行安装"
|
||||
INSTALLED=0
|
||||
LOG_INFO "步骤3:安装 brltty-xw 软件包"
|
||||
dnf install -y brltty-xw
|
||||
CHECK_RESULT $? 0 0 "安装 brltty-xw 失败"
|
||||
fi
|
||||
LOG_INFO "步骤4:验证服务能正常启动"
|
||||
systemctl start brltty-xw.service
|
||||
CHECK_RESULT $? 0 0 "启动 brltty-xw 服务失败"
|
||||
LOG_INFO "步骤5:验证服务能正常查询状态"
|
||||
systemctl status brltty-xw.service >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "查询 brltty-xw 服务状态失败"
|
||||
LOG_INFO "步骤6:验证服务能正常停止"
|
||||
systemctl stop brltty-xw.service
|
||||
CHECK_RESULT $? 0 0 "停止 brltty-xw 服务失败"
|
||||
LOG_INFO "步骤7:清理环境,恢复到之前的状态"
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载 brltty-xw 软件包"
|
||||
dnf remove -y brltty-xw
|
||||
CHECK_RESULT $? 0 0 "卸载 brltty-xw 失败"
|
||||
else
|
||||
LOG_INFO "保持 brltty-xw 的安装状态"
|
||||
fi
|
||||
LOG_INFO "brltty-xw 服务状态管理功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,90 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-13
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 brltty-xw 软件包的版本查询功能,验证能正确显示软件包版本信息
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 判断软件包是否已安装
|
||||
LOG_INFO "检查 brltty-xw 软件包是否已安装"
|
||||
if dnf list installed brltty-xw &>/dev/null; then
|
||||
LOG_INFO "brltty-xw 软件包已安装,脚本结束后将保持安装状态"
|
||||
already_installed=1
|
||||
else
|
||||
LOG_INFO "brltty-xw 软件包未安装,将在测试步骤中安装"
|
||||
already_installed=0
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否存在 brltty-xw 软件包
|
||||
LOG_INFO "检查 yum 源中是否存在 brltty-xw 软件包"
|
||||
if ! dnf list available brltty-xw &>/dev/null; then
|
||||
LOG_ERROR "yum 源中不存在 brltty-xw 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ ${already_installed} -eq 0 ]; then
|
||||
LOG_INFO "安装 brltty-xw 软件包"
|
||||
dnf install -y brltty-xw
|
||||
CHECK_RESULT $? 0 0 "安装 brltty-xw 软件包失败"
|
||||
fi
|
||||
|
||||
# 测试版本查询功能
|
||||
LOG_INFO "测试 brltty-xw 软件包的版本查询功能"
|
||||
# 检查命令是否支持 --version 参数
|
||||
if ! brltty-xw --help 2>&1 | grep -q -- "--version"; then
|
||||
LOG_ERROR "brltty-xw 命令不支持 --version 参数"
|
||||
# 如果之前未安装,需要卸载
|
||||
if [ ${already_installed} -eq 0 ]; then
|
||||
LOG_INFO "清理环境,卸载 brltty-xw 软件包"
|
||||
dnf remove -y brltty-xw
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行版本查询命令
|
||||
version_output=$(brltty-xw --version 2>&1)
|
||||
CHECK_RESULT $? 0 0 "执行 brltty-xw --version 命令失败"
|
||||
|
||||
# 验证版本信息是否正确显示
|
||||
LOG_INFO "验证版本信息是否正确显示"
|
||||
if [ -z "${version_output}" ]; then
|
||||
LOG_ERROR "版本查询输出为空"
|
||||
# 如果之前未安装,需要卸载
|
||||
if [ ${already_installed} -eq 0 ]; then
|
||||
LOG_INFO "清理环境,卸载 brltty-xw 软件包"
|
||||
dnf remove -y brltty-xw
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_INFO "版本查询输出: ${version_output}"
|
||||
|
||||
# 清理环境
|
||||
if [ ${already_installed} -eq 0 ]; then
|
||||
LOG_INFO "清理环境,卸载 brltty-xw 软件包"
|
||||
dnf remove -y brltty-xw
|
||||
CHECK_RESULT $? 0 0 "卸载 brltty-xw 软件包失败"
|
||||
else
|
||||
LOG_INFO "保持 brltty-xw 软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,126 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-22
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test advanced query syntax
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试高级查询语法
|
||||
LOG_INFO "开始测试高级查询语法功能"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="lucene-queryparser"
|
||||
|
||||
# 检查软件包是否已在yum源中
|
||||
LOG_INFO "检查软件包是否在yum源中"
|
||||
dnf list available $PACKAGE_NAME 2>/dev/null | grep -q $PACKAGE_NAME
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 $PACKAGE_NAME 不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查当前是否已安装
|
||||
LOG_INFO "检查软件包是否已安装"
|
||||
rpm -q $PACKAGE_NAME >/dev/null 2>&1
|
||||
PACKAGE_INSTALLED=$?
|
||||
|
||||
# 记录初始安装状态
|
||||
if [ $PACKAGE_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 已安装,测试后保持安装状态"
|
||||
NEED_CLEANUP=0
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 未安装,测试后需要卸载"
|
||||
NEED_CLEANUP=1
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $NEED_CLEANUP -eq 1 ]; then
|
||||
LOG_INFO "安装软件包 $PACKAGE_NAME"
|
||||
dnf install -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
fi
|
||||
|
||||
# 测试基本查询功能
|
||||
LOG_INFO "测试基本查询功能"
|
||||
lucene-queryparser --help >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "lucene-queryparser命令不可用"
|
||||
|
||||
# 测试高级查询语法 - 通配符查询
|
||||
LOG_INFO "测试通配符查询语法"
|
||||
echo "test*query" | lucene-queryparser --test 2>&1 | grep -q "wildcard"
|
||||
CHECK_RESULT $? 0 0 "通配符查询语法不支持"
|
||||
|
||||
# 测试高级查询语法 - 范围查询
|
||||
LOG_INFO "测试范围查询语法"
|
||||
echo "[value1 TO value2]" | lucene-queryparser --test 2>&1 | grep -q "range"
|
||||
CHECK_RESULT $? 0 0 "范围查询语法不支持"
|
||||
|
||||
# 测试高级查询语法 - 模糊查询
|
||||
LOG_INFO "测试模糊查询语法"
|
||||
echo "term~0.8" | lucene-queryparser --test 2>&1 | grep -q "fuzzy"
|
||||
CHECK_RESULT $? 0 0 "模糊查询语法不支持"
|
||||
|
||||
# 测试高级查询语法 - 布尔查询
|
||||
LOG_INFO "测试布尔查询语法"
|
||||
echo "term1 AND term2" | lucene-queryparser --test 2>&1 | grep -q "boolean"
|
||||
CHECK_RESULT $? 0 0 "布尔查询语法不支持"
|
||||
|
||||
# 测试高级查询语法 - 分组查询
|
||||
LOG_INFO "测试分组查询语法"
|
||||
echo "(term1 OR term2) AND term3" | lucene-queryparser --test 2>&1 | grep -q "group"
|
||||
CHECK_RESULT $? 0 0 "分组查询语法不支持"
|
||||
|
||||
# 测试高级查询语法 - 字段查询
|
||||
LOG_INFO "测试字段查询语法"
|
||||
echo "title:term" | lucene-queryparser --test 2>&1 | grep -q "field"
|
||||
CHECK_RESULT $? 0 0 "字段查询语法不支持"
|
||||
|
||||
# 测试高级查询语法 - 短语查询
|
||||
LOG_INFO "测试短语查询语法"
|
||||
echo "\"phrase query\"" | lucene-queryparser --test 2>&1 | grep -q "phrase"
|
||||
CHECK_RESULT $? 0 0 "短语查询语法不支持"
|
||||
|
||||
# 测试高级查询语法 - 提升查询
|
||||
LOG_INFO "测试提升查询语法"
|
||||
echo "term^2.0" | lucene-queryparser --test 2>&1 | grep -q "boost"
|
||||
CHECK_RESULT $? 0 0 "提升查询语法不支持"
|
||||
|
||||
# 测试高级查询语法 - 必需/禁止查询
|
||||
LOG_INFO "测试必需/禁止查询语法"
|
||||
echo "+required -prohibited" | lucene-queryparser --test 2>&1 | grep -q "required"
|
||||
CHECK_RESULT $? 0 0 "必需/禁止查询语法不支持"
|
||||
|
||||
# 测试高级查询语法 - 转义字符
|
||||
LOG_INFO "测试转义字符处理"
|
||||
echo "special\\:characters" | lucene-queryparser --test 2>&1 | grep -q "escaped"
|
||||
CHECK_RESULT $? 0 0 "转义字符处理不支持"
|
||||
|
||||
# 清理环境
|
||||
LOG_INFO "清理测试环境"
|
||||
if [ $NEED_CLEANUP -eq 1 ]; then
|
||||
LOG_INFO "卸载软件包 $PACKAGE_NAME"
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
else
|
||||
LOG_INFO "保持软件包 $PACKAGE_NAME 的安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "高级查询语法测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,89 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-22
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic query parsing
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试基础查询解析功能
|
||||
LOG_INFO "开始测试基础查询解析功能"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="lucene-queryparser"
|
||||
LOG_INFO "检查软件包 ${PACKAGE_NAME} 是否在yum源中"
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
dnf list available ${PACKAGE_NAME} > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 ${PACKAGE_NAME} 不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "软件包 ${PACKAGE_NAME} 在yum源中可用"
|
||||
|
||||
# 检查是否已安装
|
||||
IS_INSTALLED=0
|
||||
rpm -q ${PACKAGE_NAME} > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "软件包 ${PACKAGE_NAME} 已安装"
|
||||
IS_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "软件包 ${PACKAGE_NAME} 未安装,将进行安装"
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ ${IS_INSTALLED} -eq 0 ]; then
|
||||
LOG_INFO "开始安装软件包 ${PACKAGE_NAME}"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "安装软件包 ${PACKAGE_NAME} 失败"
|
||||
LOG_INFO "软件包 ${PACKAGE_NAME} 安装成功"
|
||||
fi
|
||||
|
||||
# 测试基础查询解析功能
|
||||
LOG_INFO "测试基础查询解析功能"
|
||||
# 这里假设有一个测试命令,实际使用时需要替换为实际的测试命令
|
||||
TEST_COMMAND="lucene-queryparser-test"
|
||||
LOG_INFO "执行测试命令: ${TEST_COMMAND}"
|
||||
|
||||
# 检查命令是否存在
|
||||
which ${TEST_COMMAND} > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "命令 ${TEST_COMMAND} 不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行测试命令
|
||||
${TEST_COMMAND} --basic-parse
|
||||
CHECK_RESULT $? 0 0 "基础查询解析测试失败"
|
||||
|
||||
LOG_INFO "基础查询解析测试成功"
|
||||
|
||||
# 清理环境
|
||||
LOG_INFO "开始清理测试环境"
|
||||
if [ ${IS_INSTALLED} -eq 0 ]; then
|
||||
LOG_INFO "卸载软件包 ${PACKAGE_NAME}"
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 ${PACKAGE_NAME} 失败"
|
||||
LOG_INFO "软件包 ${PACKAGE_NAME} 卸载成功"
|
||||
else
|
||||
LOG_INFO "保持软件包 ${PACKAGE_NAME} 的安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试基础查询解析功能完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,94 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-22
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test error query handling
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test error query handling"
|
||||
|
||||
# 步骤1:检查yum源中是否存在lucene-queryparser软件包
|
||||
LOG_INFO "步骤1:检查yum源中是否存在lucene-queryparser软件包"
|
||||
dnf list available lucene-queryparser 2>/dev/null | grep -q "lucene-queryparser"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到lucene-queryparser软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤2:检查系统是否已安装lucene-queryparser
|
||||
LOG_INFO "步骤2:检查系统是否已安装lucene-queryparser"
|
||||
rpm -q lucene-queryparser >/dev/null 2>&1
|
||||
already_installed=$?
|
||||
|
||||
if [ $already_installed -eq 0 ]; then
|
||||
LOG_INFO "lucene-queryparser已安装,测试结束后将保持安装状态"
|
||||
need_cleanup=0
|
||||
else
|
||||
LOG_INFO "lucene-queryparser未安装,将进行安装测试"
|
||||
need_cleanup=1
|
||||
fi
|
||||
|
||||
# 步骤3:如果未安装,则安装软件包
|
||||
if [ $need_cleanup -eq 1 ]; then
|
||||
LOG_INFO "步骤3:安装lucene-queryparser软件包"
|
||||
dnf install -y lucene-queryparser
|
||||
CHECK_RESULT $? 0 0 "安装lucene-queryparser失败"
|
||||
fi
|
||||
|
||||
# 步骤4:测试错误查询处理功能
|
||||
LOG_INFO "步骤4:测试错误查询处理功能"
|
||||
|
||||
# 步骤4.1:测试不支持的参数
|
||||
LOG_INFO "步骤4.1:测试不支持的参数"
|
||||
lucene-queryparser --invalid-param 2>/dev/null
|
||||
if [ $? -eq 255 ]; then
|
||||
LOG_INFO "不支持参数测试通过"
|
||||
else
|
||||
LOG_ERROR "不支持参数测试失败"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤4.2:测试无效查询语法
|
||||
LOG_INFO "步骤4.2:测试无效查询语法"
|
||||
lucene-queryparser "invalid:[" 2>&1 | grep -q "ParseException"
|
||||
CHECK_RESULT $? 0 0 "无效查询语法处理失败"
|
||||
|
||||
# 步骤4.3:测试空查询
|
||||
LOG_INFO "步骤4.3:测试空查询"
|
||||
lucene-queryparser "" 2>&1 | grep -q "Empty query"
|
||||
CHECK_RESULT $? 0 0 "空查询处理失败"
|
||||
|
||||
# 步骤4.4:测试特殊字符处理
|
||||
LOG_INFO "步骤4.4:测试特殊字符处理"
|
||||
lucene-queryparser "test&|!(){}[]^\"~*?:\" 2>&1 | grep -q "parsed successfully"
|
||||
CHECK_RESULT $? 0 0 "特殊字符处理失败"
|
||||
|
||||
# 步骤5:清理测试环境
|
||||
LOG_INFO "步骤5:清理测试环境"
|
||||
if [ $need_cleanup -eq 1 ]; then
|
||||
LOG_INFO "卸载测试安装的lucene-queryparser软件包"
|
||||
dnf remove -y lucene-queryparser
|
||||
CHECK_RESULT $? 0 0 "卸载lucene-queryparser失败"
|
||||
else
|
||||
LOG_INFO "保持原有的lucene-queryparser安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test error query handling"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,69 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test query parsing functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test query parsing functionality"
|
||||
|
||||
# 检查是否已安装lucene-queryparser
|
||||
if dnf list installed lucene-queryparser &>/dev/null; then
|
||||
LOG_INFO "lucene-queryparser已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "lucene-queryparser未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在lucene-queryparser
|
||||
LOG_INFO "检查yum源中是否存在lucene-queryparser"
|
||||
if ! dnf list available lucene-queryparser &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到lucene-queryparser软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装lucene-queryparser(如果未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在安装lucene-queryparser"
|
||||
dnf install -y lucene-queryparser
|
||||
CHECK_RESULT $? 0 0 "安装lucene-queryparser失败"
|
||||
fi
|
||||
|
||||
# 测试query parsing功能
|
||||
LOG_INFO "测试query parsing功能"
|
||||
queryparse_output=$(command_to_test_queryparse_functionality)
|
||||
CHECK_RESULT $? 0 0 "执行查询解析功能失败"
|
||||
|
||||
# 验证输出是否符合预期(假设预期输出包含"success")
|
||||
if [[ "$queryparse_output" != *"success"* ]]; then
|
||||
LOG_ERROR "查询解析功能输出不符合预期"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理环境(如果测试前未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载lucene-queryparser"
|
||||
dnf remove -y lucene-queryparser
|
||||
CHECK_RESULT $? 0 0 "卸载lucene-queryparser失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test query parsing functionality"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,105 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-22
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package uninstallation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义日志函数(假设LOG_INFO和LOG_ERROR已定义,这里仅作示例)
|
||||
LOG_INFO() {
|
||||
echo "[INFO] $1"
|
||||
}
|
||||
|
||||
LOG_ERROR() {
|
||||
echo "[ERROR] $1"
|
||||
}
|
||||
|
||||
# 定义CHECK_RESULT函数(假设已定义,这里仅作示例)
|
||||
CHECK_RESULT() {
|
||||
if [ $1 -ne $2 ]; then
|
||||
LOG_ERROR "$4"
|
||||
exit $3
|
||||
fi
|
||||
}
|
||||
|
||||
# 定义SSH_CMD函数(假设已定义,这里仅作示例)
|
||||
SSH_CMD() {
|
||||
# 模拟SSH执行命令
|
||||
echo "Executing on remote node: $1"
|
||||
}
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="lucene-queryparser"
|
||||
|
||||
# 步骤1: 检查环境是否已安装软件包
|
||||
LOG_INFO "步骤1: 检查环境是否已安装软件包"
|
||||
if rpm -q $PACKAGE_NAME &>/dev/null; then
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 已安装,脚本结束时将保持安装状态。"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 未安装,将在测试步骤中安装。"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 步骤2: 检查yum源中是否有该软件包
|
||||
LOG_INFO "步骤2: 检查yum源中是否有软件包 $PACKAGE_NAME"
|
||||
dnf list available $PACKAGE_NAME &>/dev/null
|
||||
if [ $? -ne 0 ]; 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: 执行测试命令(这里以查询软件包信息为例)
|
||||
LOG_INFO "步骤4: 执行测试命令(查询软件包信息)"
|
||||
rpm -qi $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 $? "查询软件包信息失败"
|
||||
|
||||
# 步骤5: 测试卸载软件包(如果之前未安装)
|
||||
LOG_INFO "步骤5: 测试卸载软件包 $PACKAGE_NAME"
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 $? "卸载软件包 $PACKAGE_NAME 失败"
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 卸载成功。"
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 在测试前已安装,跳过卸载步骤。"
|
||||
fi
|
||||
|
||||
# 步骤6: 验证卸载结果(如果执行了卸载)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤6: 验证软件包 $PACKAGE_NAME 是否已卸载"
|
||||
rpm -q $PACKAGE_NAME &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "软件包 $PACKAGE_NAME 卸载失败"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 已成功卸载。"
|
||||
fi
|
||||
fi
|
||||
|
||||
# 步骤7: 环境恢复(如果之前未安装,则已卸载;如果已安装,则保持安装状态)
|
||||
LOG_INFO "步骤7: 环境恢复完成,脚本结束。"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,73 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-10
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试配置加载功能,验证配置是否正确应用。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 测试配置加载功能,验证配置是否正确应用
|
||||
|
||||
# 步骤1:检查是否已安装maven-doxia-module-rtf
|
||||
LOG_INFO "检查是否已安装maven-doxia-module-rtf"
|
||||
if dnf list installed maven-doxia-module-rtf &>/dev/null; then
|
||||
LOG_INFO "maven-doxia-module-rtf已安装,脚本结束时保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "maven-doxia-module-rtf未安装,将在测试后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 步骤2:检查yum源中是否存在maven-doxia-module-rtf
|
||||
LOG_INFO "检查yum源中是否存在maven-doxia-module-rtf"
|
||||
if ! dnf list available maven-doxia-module-rtf &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到maven-doxia-module-rtf软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤3:安装maven-doxia-module-rtf
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装maven-doxia-module-rtf"
|
||||
dnf install -y maven-doxia-module-rtf
|
||||
CHECK_RESULT $? 0 0 "安装maven-doxia-module-rtf失败"
|
||||
fi
|
||||
|
||||
# 步骤4:验证配置加载功能
|
||||
LOG_INFO "验证配置加载功能"
|
||||
# 假设使用某个命令验证配置加载,这里用示例命令代替实际命令
|
||||
CONFIG_CHECK_CMD="some-config-check-command --validate"
|
||||
if ! command -v some-config-check-command &>/dev/null; then
|
||||
LOG_ERROR "命令some-config-check-command不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
$CONFIG_CHECK_CMD
|
||||
CHECK_RESULT $? 0 0 "配置加载功能验证失败"
|
||||
|
||||
# 步骤5:清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载maven-doxia-module-rtf"
|
||||
dnf remove -y maven-doxia-module-rtf
|
||||
CHECK_RESULT $? 0 0 "卸载maven-doxia-module-rtf失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,66 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-10
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试RTF文档生成功能,验证生成的文档是否符合预期格式。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装maven-doxia-module-rtf
|
||||
LOG_INFO "检查是否已安装maven-doxia-module-rtf"
|
||||
dnf list installed maven-doxia-module-rtf > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "maven-doxia-module-rtf已安装,脚本结束后保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "maven-doxia-module-rtf未安装,将在测试后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在maven-doxia-module-rtf
|
||||
LOG_INFO "检查yum源中是否存在maven-doxia-module-rtf"
|
||||
dnf list available maven-doxia-module-rtf > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到maven-doxia-module-rtf软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装maven-doxia-module-rtf(如果未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装maven-doxia-module-rtf"
|
||||
dnf install -y maven-doxia-module-rtf > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装maven-doxia-module-rtf失败"
|
||||
fi
|
||||
|
||||
# 验证RTF文档生成功能
|
||||
LOG_INFO "验证RTF文档生成功能是否符合预期格式"
|
||||
mvn doxia:generate -Dformat=rtf > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "RTF文档生成失败"
|
||||
|
||||
# 清理环境(如果脚本开始时未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载maven-doxia-module-rtf"
|
||||
dnf remove -y maven-doxia-module-rtf > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载maven-doxia-module-rtf失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,73 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-10
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试RTF文档解析功能,验证解析结果是否正确。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装maven-doxia-module-rtf
|
||||
LOG_INFO "检查是否已安装maven-doxia-module-rtf"
|
||||
if dnf list installed maven-doxia-module-rtf &> /dev/null; then
|
||||
LOG_INFO "maven-doxia-module-rtf已安装,脚本结束时将保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "maven-doxia-module-rtf未安装,将在测试结束后卸载"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有maven-doxia-module-rtf软件包
|
||||
LOG_INFO "检查yum源中是否有maven-doxia-module-rtf软件包"
|
||||
if ! dnf list available maven-doxia-module-rtf &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到maven-doxia-module-rtf软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装maven-doxia-module-rtf软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "开始安装maven-doxia-module-rtf软件包"
|
||||
dnf install -y maven-doxia-module-rtf
|
||||
CHECK_RESULT $? 0 0 "安装maven-doxia-module-rtf失败"
|
||||
fi
|
||||
|
||||
# 测试RTF文档解析功能
|
||||
LOG_INFO "测试RTF文档解析功能,验证解析结果是否正确"
|
||||
# 假设测试命令为doxia-rtf-parse,参数为test.rtf
|
||||
if ! command -v doxia-rtf-parse &> /dev/null; then
|
||||
LOG_ERROR "命令doxia-rtf-parse不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
doxia-rtf-parse test.rtf > /tmp/rtf_parse_result.txt
|
||||
CHECK_RESULT $? 0 0 "RTF文档解析失败"
|
||||
|
||||
# 验证解析结果
|
||||
LOG_INFO "验证RTF文档解析结果"
|
||||
grep -q "expected_content" /tmp/rtf_parse_result.txt
|
||||
CHECK_RESULT $? 0 0 "解析结果不符合预期"
|
||||
|
||||
# 清理临时文件
|
||||
rm -f /tmp/rtf_parse_result.txt
|
||||
|
||||
# 卸载软件包(如果脚本开始时未安装)
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载maven-doxia-module-rtf软件包"
|
||||
dnf remove -y maven-doxia-module-rtf
|
||||
CHECK_RESULT $? 0 0 "卸载maven-doxia-module
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,98 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-19
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试minicom-help帮助文档能否被正确显示
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已经安装minicom
|
||||
LOG_INFO "检查minicom是否已经安装"
|
||||
rpm -q minicom > /dev/null 2>&1
|
||||
minicom_installed=$?
|
||||
|
||||
# 如果未安装,则进行安装
|
||||
if [ $minicom_installed -ne 0 ]; then
|
||||
LOG_INFO "minicom未安装,开始安装"
|
||||
# 检查yum源中是否有minicom包
|
||||
LOG_INFO "检查yum源中是否有minicom软件包"
|
||||
dnf list available minicom > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "yum源中没有minicom软件包"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中没有minicom软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装minicom
|
||||
LOG_INFO "开始安装minicom"
|
||||
dnf install -y minicom
|
||||
CHECK_RESULT $? 0 0 "minicom安装失败"
|
||||
LOG_INFO "minicom安装成功"
|
||||
|
||||
# 设置安装标记,用于脚本结束时卸载
|
||||
need_uninstall=1
|
||||
else
|
||||
LOG_INFO "minicom已经安装"
|
||||
need_uninstall=0
|
||||
fi
|
||||
|
||||
# 测试minicom的help参数
|
||||
LOG_INFO "测试minicom的help参数"
|
||||
minicom --help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "minicom --help命令执行失败"
|
||||
|
||||
LOG_INFO "测试minicom的-h参数"
|
||||
minicom -h > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "minicom -h命令执行失败"
|
||||
|
||||
# 测试不支持的参数
|
||||
LOG_INFO "测试minicom不支持的参数"
|
||||
minicom --invalid-param > /dev/null 2>&1
|
||||
if [ $? -eq 255 ]; then
|
||||
LOG_ERROR "minicom不支持--invalid-param参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 验证help输出包含关键信息
|
||||
LOG_INFO "验证help输出内容"
|
||||
help_output=$(minicom --help 2>&1)
|
||||
echo "$help_output" | grep -q "Usage:"
|
||||
CHECK_RESULT $? 0 0 "help输出中没有找到Usage信息"
|
||||
|
||||
echo "$help_output" | grep -q "Options:"
|
||||
CHECK_RESULT $? 0 0 "help输出中没有找到Options信息"
|
||||
|
||||
echo "$help_output" | grep -q "minicom"
|
||||
CHECK_RESULT $? 0 0 "help输出中没有找到minicom相关信息"
|
||||
|
||||
LOG_INFO "minicom help帮助文档显示测试完成"
|
||||
|
||||
# 环境清理
|
||||
LOG_INFO "开始环境清理"
|
||||
if [ $need_uninstall -eq 1 ]; then
|
||||
LOG_INFO "卸载minicom"
|
||||
dnf remove -y minicom
|
||||
CHECK_RESULT $? 0 0 "minicom卸载失败"
|
||||
LOG_INFO "minicom卸载成功"
|
||||
else
|
||||
LOG_INFO "保持minicom安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "环境清理完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,94 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-19
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包minicom-help是否已安装在系统中
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:检查minicom-help软件包是否已安装"
|
||||
|
||||
# 检查minicom-help是否已安装
|
||||
LOG_INFO "步骤1:检查minicom-help是否已安装"
|
||||
rpm -q minicom-help > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "minicom-help已安装,跳过安装步骤"
|
||||
installed_before_test=true
|
||||
else
|
||||
LOG_INFO "minicom-help未安装,将在测试中安装"
|
||||
installed_before_test=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有minicom-help软件包
|
||||
LOG_INFO "步骤2:检查yum源中是否有minicom-help软件包"
|
||||
dnf list available minicom-help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "yum源中没有找到minicom-help软件包"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中没有minicom-help软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装minicom-help
|
||||
if [ "$installed_before_test" = false ]; then
|
||||
LOG_INFO "步骤3:安装minicom-help软件包"
|
||||
dnf install -y minicom-help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装minicom-help失败"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "安装minicom-help失败"
|
||||
exit $?
|
||||
fi
|
||||
LOG_INFO "minicom-help安装成功"
|
||||
fi
|
||||
|
||||
# 验证minicom-help是否已正确安装
|
||||
LOG_INFO "步骤4:验证minicom-help是否已正确安装"
|
||||
rpm -q minicom-help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "minicom-help未正确安装"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "minicom-help未正确安装"
|
||||
exit $?
|
||||
fi
|
||||
LOG_INFO "minicom-help已正确安装"
|
||||
|
||||
# 检查minicom-help命令是否可用
|
||||
LOG_INFO "步骤5:检查minicom-help命令是否可用"
|
||||
minicom-help --help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "minicom-help命令不可用或参数不支持"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "minicom-help命令不可用或参数不支持"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "minicom-help命令可用"
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载minicom-help
|
||||
if [ "$installed_before_test" = false ]; then
|
||||
LOG_INFO "步骤6:清理环境,卸载minicom-help"
|
||||
dnf remove -y minicom-help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载minicom-help失败"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "卸载minicom-help失败"
|
||||
exit $?
|
||||
fi
|
||||
LOG_INFO "minicom-help卸载成功"
|
||||
else
|
||||
LOG_INFO "步骤6:保持minicom-help安装状态,无需卸载"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:minicom-help软件包安装状态符合预期"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,63 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-19
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包minicom-help的版本信息能否正确查询
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试minicom-help软件包版本查询功能"
|
||||
LOG_INFO "检查yum源中是否存在minicom-help软件包"
|
||||
if ! dnf list available minicom-help &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到minicom-help软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "检查系统是否已安装minicom-help"
|
||||
if rpm -q minicom-help &>/dev/null; then
|
||||
LOG_INFO "minicom-help已安装,测试后保持安装状态"
|
||||
already_installed=true
|
||||
else
|
||||
LOG_INFO "minicom-help未安装,开始安装软件包"
|
||||
dnf install -y minicom-help
|
||||
CHECK_RESULT $? 0 0 "minicom-help安装失败"
|
||||
already_installed=false
|
||||
fi
|
||||
|
||||
LOG_INFO "测试minicom-help版本查询命令"
|
||||
minicom-help --version
|
||||
CHECK_RESULT $? 0 0 "minicom-help版本查询失败"
|
||||
|
||||
LOG_INFO "检查--version参数是否被支持"
|
||||
if ! minicom-help --help 2>&1 | grep -q "\-\-version"; then
|
||||
LOG_ERROR "minicom-help不支持--version参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "清理测试环境"
|
||||
if [ "$already_installed" = "false" ]; then
|
||||
LOG_INFO "卸载minicom-help软件包"
|
||||
dnf remove -y minicom-help
|
||||
CHECK_RESULT $? 0 0 "minicom-help卸载失败"
|
||||
else
|
||||
LOG_INFO "保持minicom-help安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "minicom-help版本查询测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,146 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# 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-21
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test metrics collection
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试指标收集功能
|
||||
|
||||
LOG_INFO "开始测试指标收集功能"
|
||||
|
||||
# 检查是否已安装pcp-pmda-libvirt
|
||||
LOG_INFO "检查pcp-pmda-libvirt是否已安装"
|
||||
if rpm -q pcp-pmda-libvirt &>/dev/null; then
|
||||
LOG_INFO "pcp-pmda-libvirt已安装,标记为需要保持安装状态"
|
||||
INSTALLED_BEFORE_TEST=true
|
||||
else
|
||||
LOG_INFO "pcp-pmda-libvirt未安装"
|
||||
INSTALLED_BEFORE_TEST=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有pcp-pmda-libvirt包
|
||||
LOG_INFO "检查yum源中是否有pcp-pmda-libvirt包"
|
||||
if ! dnf list available pcp-pmda-libvirt &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到pcp-pmda-libvirt包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
LOG_INFO "安装pcp-pmda-libvirt包"
|
||||
dnf install -y pcp-pmda-libvirt
|
||||
CHECK_RESULT $? 0 0 "安装pcp-pmda-libvirt失败"
|
||||
fi
|
||||
|
||||
# 检查pmda-libvirt是否已注册
|
||||
LOG_INFO "检查pmda-libvirt是否已注册到PCP"
|
||||
if ! pminfo | grep -q libvirt; then
|
||||
LOG_INFO "pmda-libvirt未注册,尝试注册"
|
||||
|
||||
# 检查/var/lib/pcp/pmdas/libvirt目录是否存在
|
||||
if [ -d "/var/lib/pcp/pmdas/libvirt" ]; then
|
||||
LOG_INFO "进入/var/lib/pcp/pmdas/libvirt目录执行安装"
|
||||
cd /var/lib/pcp/pmdas/libvirt
|
||||
|
||||
# 检查Install脚本是否存在
|
||||
if [ ! -f "./Install" ]; then
|
||||
LOG_ERROR "未找到Install脚本"
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
dnf remove -y pcp-pmda-libvirt
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查Install脚本是否支持remove参数
|
||||
if ! grep -q "remove" ./Install; then
|
||||
LOG_ERROR "Install脚本不支持remove参数"
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
dnf remove -y pcp-pmda-libvirt
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行安装
|
||||
LOG_INFO "执行Install脚本安装pmda-libvirt"
|
||||
./Install
|
||||
CHECK_RESULT $? 0 0 "安装pmda-libvirt失败"
|
||||
else
|
||||
LOG_ERROR "/var/lib/pcp/pmdas/libvirt目录不存在"
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
dnf remove -y pcp-pmda-libvirt
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
else
|
||||
LOG_INFO "pmda-libvirt已注册"
|
||||
fi
|
||||
|
||||
# 等待pmda启动
|
||||
LOG_INFO "等待pmda-libvirt启动"
|
||||
sleep 2
|
||||
|
||||
# 测试指标收集
|
||||
LOG_INFO "测试libvirt指标收集功能"
|
||||
|
||||
# 检查是否有libvirt相关的指标
|
||||
LOG_INFO "检查libvirt相关指标"
|
||||
pminfo libvirt
|
||||
CHECK_RESULT $? 0 0 "获取libvirt指标失败"
|
||||
|
||||
# 测试具体指标收集
|
||||
LOG_INFO "测试具体指标收集"
|
||||
pmprobe libvirt.domain.count
|
||||
CHECK_RESULT $? 0 0 "收集libvirt.domain.count指标失败"
|
||||
|
||||
# 测试多个指标
|
||||
LOG_INFO "测试多个指标同时收集"
|
||||
pmprobe libvirt.domain.count libvirt.domain.state
|
||||
CHECK_RESULT $? 0 0 "同时收集多个指标失败"
|
||||
|
||||
# 测试指标值获取
|
||||
LOG_INFO "测试指标值获取"
|
||||
pminfo -f libvirt.domain.count
|
||||
CHECK_RESULT $? 0 0 "获取指标值失败"
|
||||
|
||||
# 如果测试前未安装,则在测试结束后卸载
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
LOG_INFO "测试完成,清理测试环境"
|
||||
|
||||
# 如果已经注册了pmda,先卸载
|
||||
LOG_INFO "检查是否需要卸载pmda-libvirt"
|
||||
if pminfo | grep -q libvirt; then
|
||||
LOG_INFO "卸载pmda-libvirt"
|
||||
if [ -d "/var/lib/pcp/pmdas/libvirt" ]; then
|
||||
cd /var/lib/pcp/pmdas/libvirt
|
||||
./Install -R
|
||||
CHECK_RESULT $? 0 0 "卸载pmda-libvirt失败"
|
||||
fi
|
||||
fi
|
||||
|
||||
LOG_INFO "卸载pcp-pmda-libvirt包"
|
||||
dnf remove -y pcp-pmda-libvirt
|
||||
CHECK_RESULT $? 0 0 "卸载pcp-pmda-libvirt包失败"
|
||||
else
|
||||
LOG_INFO "测试完成,保持原安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "指标收集功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,167 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# 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-21
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test enabling PMDA
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义颜色变量用于日志输出
|
||||
LOG_INFO() {
|
||||
echo -e "\033[32m[INFO]\033[0m $*"
|
||||
}
|
||||
|
||||
LOG_ERROR() {
|
||||
echo -e "\033[31m[ERROR]\033[0m $*"
|
||||
}
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
check_package_in_repo() {
|
||||
local package_name="$1"
|
||||
dnf list available "$package_name" &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 $package_name 不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
}
|
||||
|
||||
# 检查命令参数是否存在
|
||||
check_command_param() {
|
||||
local command="$1"
|
||||
local param="$2"
|
||||
|
||||
# 使用--help检查参数是否支持
|
||||
if $command --help 2>&1 | grep -q "\s$param\s"; then
|
||||
return 0
|
||||
else
|
||||
LOG_ERROR "命令 $command 不支持参数 $param"
|
||||
exit 255
|
||||
fi
|
||||
}
|
||||
|
||||
# 检查环境是否已安装
|
||||
check_installation() {
|
||||
LOG_INFO "检查pcp-pmda-libvirt是否已安装"
|
||||
rpm -q pcp-pmda-libvirt &>/dev/null
|
||||
local installed=$?
|
||||
|
||||
if [ $installed -eq 0 ]; then
|
||||
LOG_INFO "pcp-pmda-libvirt已安装"
|
||||
INSTALLED_BEFORE_TEST=1
|
||||
else
|
||||
LOG_INFO "pcp-pmda-libvirt未安装"
|
||||
INSTALLED_BEFORE_TEST=0
|
||||
fi
|
||||
}
|
||||
|
||||
# 安装软件包
|
||||
install_package() {
|
||||
local package_name="$1"
|
||||
|
||||
LOG_INFO "安装软件包: $package_name"
|
||||
check_package_in_repo "$package_name"
|
||||
|
||||
dnf install -y "$package_name"
|
||||
CHECK_RESULT $? 0 0 "安装 $package_name 失败"
|
||||
}
|
||||
|
||||
# 卸载软件包
|
||||
uninstall_package() {
|
||||
local package_name="$1"
|
||||
|
||||
LOG_INFO "卸载软件包: $package_name"
|
||||
dnf remove -y "$package_name"
|
||||
CHECK_RESULT $? 0 0 "卸载 $package_name 失败"
|
||||
}
|
||||
|
||||
# 清理环境
|
||||
cleanup_environment() {
|
||||
LOG_INFO "开始清理测试环境"
|
||||
|
||||
# 如果测试前未安装,测试后需要卸载
|
||||
if [ $INSTALLED_BEFORE_TEST -eq 0 ]; then
|
||||
uninstall_package "pcp-pmda-libvirt"
|
||||
else
|
||||
LOG_INFO "保持pcp-pmda-libvirt安装状态"
|
||||
fi
|
||||
}
|
||||
|
||||
# 主测试函数
|
||||
test_enable_pmda() {
|
||||
LOG_INFO "开始测试: 启用PMDA"
|
||||
|
||||
# 步骤1: 检查环境安装状态
|
||||
check_installation
|
||||
|
||||
# 步骤2: 如果未安装则安装
|
||||
if [ $INSTALLED_BEFORE_TEST -eq 0 ]; then
|
||||
install_package "pcp-pmda-libvirt"
|
||||
fi
|
||||
|
||||
# 步骤3: 检查pmda命令是否可用
|
||||
LOG_INFO "检查pmda命令是否可用"
|
||||
which pmda &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "pmda命令不可用"
|
||||
|
||||
# 步骤4: 检查pmda命令的libvirt参数
|
||||
LOG_INFO "检查pmda命令的libvirt参数支持"
|
||||
check_command_param "pmda" "libvirt"
|
||||
|
||||
# 步骤5: 尝试启用libvirt PMDA
|
||||
LOG_INFO "尝试启用libvirt PMDA"
|
||||
pmda libvirt --help &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "启用libvirt PMDA失败"
|
||||
|
||||
# 步骤6: 检查PMDA是否成功启用
|
||||
LOG_INFO "检查PMDA是否成功启用"
|
||||
pcp | grep -i libvirt &>/dev/null
|
||||
local check_result=$?
|
||||
|
||||
# 如果pcp命令不存在,使用其他方式检查
|
||||
if [ $check_result -eq 127 ]; then
|
||||
LOG_INFO "使用替代方法检查PMDA状态"
|
||||
systemctl list-unit-files | grep -i pcp &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "PMDA启用状态检查失败"
|
||||
else
|
||||
CHECK_RESULT $check_result 0 0 "PMDA未成功启用"
|
||||
fi
|
||||
|
||||
LOG_INFO "PMDA启用测试完成"
|
||||
}
|
||||
|
||||
# 主程序
|
||||
main() {
|
||||
# 初始化变量
|
||||
INSTALLED_BEFORE_TEST=0
|
||||
|
||||
# 设置错误处理
|
||||
set -e
|
||||
|
||||
# 执行测试
|
||||
test_enable_pmda
|
||||
|
||||
# 清理环境
|
||||
cleanup_environment
|
||||
|
||||
LOG_INFO "测试脚本执行完成"
|
||||
}
|
||||
|
||||
# 执行主程序
|
||||
main
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,179 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# 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-21
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test query specific metric
|
||||
# ############################################
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
# 检查命令是否存在
|
||||
check_command() {
|
||||
command -v "$1" >/dev/null 2>&1
|
||||
return $?
|
||||
}
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
check_package_in_repo() {
|
||||
local package_name="$1"
|
||||
dnf list available "$package_name" >/dev/null 2>&1
|
||||
return $?
|
||||
}
|
||||
|
||||
# 检查参数是否支持
|
||||
check_param_support() {
|
||||
local cmd="$1"
|
||||
local param="$2"
|
||||
$cmd --help 2>&1 | grep -q "\<$param\>"
|
||||
return $?
|
||||
}
|
||||
|
||||
# 安装软件包
|
||||
install_package() {
|
||||
local package_name="$1"
|
||||
LOG_INFO "正在安装软件包: $package_name"
|
||||
dnf install -y "$package_name" >/dev/null 2>&1
|
||||
return $?
|
||||
}
|
||||
|
||||
# 卸载软件包
|
||||
uninstall_package() {
|
||||
local package_name="$1"
|
||||
LOG_INFO "正在卸载软件包: $package_name"
|
||||
dnf remove -y "$package_name" >/dev/null 2>&1
|
||||
return $?
|
||||
}
|
||||
|
||||
# 检查libvirt服务状态
|
||||
check_libvirt_status() {
|
||||
systemctl is-active libvirtd >/dev/null 2>&1
|
||||
return $?
|
||||
}
|
||||
|
||||
# 启动libvirt服务
|
||||
start_libvirt_service() {
|
||||
LOG_INFO "正在启动libvirt服务"
|
||||
systemctl start libvirtd >/dev/null 2>&1
|
||||
return $?
|
||||
}
|
||||
|
||||
# 停止libvirt服务
|
||||
stop_libvirt_service() {
|
||||
LOG_INFO "正在停止libvirt服务"
|
||||
systemctl stop libvirtd >/dev/null 2>&1
|
||||
return $?
|
||||
}
|
||||
|
||||
# 主测试函数
|
||||
test_query_specific_metric() {
|
||||
local test_package="pcp-pmda-libvirt"
|
||||
local need_cleanup=0
|
||||
local libvirt_was_running=0
|
||||
|
||||
# 步骤1: 检查软件包是否在yum源中
|
||||
LOG_INFO "步骤1: 检查软件包是否在yum源中"
|
||||
check_package_in_repo "$test_package"
|
||||
CHECK_RESULT $? 0 0 "软件包 $test_package 不在yum源中"
|
||||
|
||||
# 步骤2: 检查环境是否已安装
|
||||
LOG_INFO "步骤2: 检查环境是否已安装"
|
||||
if check_command "pmdalibvirt"; then
|
||||
LOG_INFO "检测到 $test_package 已安装"
|
||||
need_cleanup=0
|
||||
else
|
||||
LOG_INFO "未检测到 $test_package,将在测试中安装"
|
||||
need_cleanup=1
|
||||
fi
|
||||
|
||||
# 步骤3: 检查libvirt服务状态
|
||||
LOG_INFO "步骤3: 检查libvirt服务状态"
|
||||
if check_libvirt_status; then
|
||||
LOG_INFO "libvirt服务正在运行"
|
||||
libvirt_was_running=1
|
||||
else
|
||||
LOG_INFO "libvirt服务未运行,将启动服务"
|
||||
start_libvirt_service
|
||||
CHECK_RESULT $? 0 0 "启动libvirt服务失败"
|
||||
fi
|
||||
|
||||
# 步骤4: 如果未安装,则安装软件包
|
||||
if [ $need_cleanup -eq 1 ]; then
|
||||
LOG_INFO "步骤4: 安装 $test_package 软件包"
|
||||
install_package "$test_package"
|
||||
CHECK_RESULT $? 0 0 "安装 $test_package 失败"
|
||||
fi
|
||||
|
||||
# 步骤5: 检查pmdalibvirt命令参数是否支持
|
||||
LOG_INFO "步骤5: 检查pmdalibvirt命令参数是否支持"
|
||||
check_param_support "pmdalibvirt" "-h"
|
||||
CHECK_RESULT $? 0 0 "pmdalibvirt命令不支持-h参数"
|
||||
|
||||
# 步骤6: 测试查询特定指标
|
||||
LOG_INFO "步骤6: 测试查询特定指标"
|
||||
# 首先获取可用的指标列表
|
||||
local metrics_output
|
||||
metrics_output=$(pmdalibvirt -l 2>/dev/null)
|
||||
CHECK_RESULT $? 0 0 "获取libvirt指标列表失败"
|
||||
|
||||
# 从指标列表中提取第一个指标进行测试
|
||||
local first_metric
|
||||
first_metric=$(echo "$metrics_output" | grep -E "^[a-zA-Z]" | head -1 | awk "{print $1}")
|
||||
if [ -z "$first_metric" ]; then
|
||||
LOG_ERROR "未找到可用的libvirt指标"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_INFO "使用指标 $first_metric 进行测试"
|
||||
|
||||
# 步骤7: 执行查询命令
|
||||
LOG_INFO "步骤7: 执行查询命令"
|
||||
pmdalibvirt -q "$first_metric" >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "查询指标 $first_metric 失败"
|
||||
|
||||
LOG_INFO "指标查询测试成功"
|
||||
|
||||
# 步骤8: 清理环境
|
||||
LOG_INFO "步骤8: 清理环境"
|
||||
|
||||
# 如果之前libvirt服务未运行,则停止它
|
||||
if [ $libvirt_was_running -eq 0 ]; then
|
||||
stop_libvirt_service
|
||||
CHECK_RESULT $? 0 0 "停止libvirt服务失败"
|
||||
fi
|
||||
|
||||
# 如果测试中安装了软件包,则卸载它
|
||||
if [ $need_cleanup -eq 1 ]; then
|
||||
uninstall_package "$test_package"
|
||||
CHECK_RESULT $? 0 0 "卸载 $test_package 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
# 执行测试
|
||||
test_query_specific_metric
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,71 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-21
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test PMDA service start
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试PMDA服务启动功能"
|
||||
|
||||
LOG_INFO "检查当前环境是否已安装pcp-pmda-libvirt软件包"
|
||||
if dnf list installed | grep -q "pcp-pmda-libvirt"; then
|
||||
LOG_INFO "环境已安装pcp-pmda-libvirt,标记为已安装状态"
|
||||
INSTALLED="true"
|
||||
else
|
||||
LOG_INFO "环境未安装pcp-pmda-libvirt"
|
||||
INSTALLED="false"
|
||||
fi
|
||||
|
||||
LOG_INFO "检查yum源中是否有pcp-pmda-libvirt软件包"
|
||||
if ! dnf list available | grep -q "pcp-pmda-libvirt"; then
|
||||
LOG_ERROR "yum源中未找到pcp-pmda-libvirt软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "开始安装pcp-pmda-libvirt软件包"
|
||||
dnf install -y pcp-pmda-libvirt
|
||||
CHECK_RESULT $? 0 0 "安装pcp-pmda-libvirt失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "检查pcp-pmda-libvirt服务是否支持start参数"
|
||||
if ! pcp-pmda-libvirt --help 2>&1 | grep -q "start"; then
|
||||
LOG_ERROR "pcp-pmda-libvirt不支持start参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "启动pcp-pmda-libvirt服务"
|
||||
pcp-pmda-libvirt start
|
||||
CHECK_RESULT $? 0 0 "启动pcp-pmda-libvirt服务失败"
|
||||
|
||||
LOG_INFO "检查pcp-pmda-libvirt服务状态"
|
||||
systemctl status pcp-pmda-libvirt
|
||||
CHECK_RESULT $? 0 0 "pcp-pmda-libvirt服务未正常运行"
|
||||
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "测试完成,清理安装的pcp-pmda-libvirt软件包"
|
||||
dnf remove -y pcp-pmda-libvirt
|
||||
CHECK_RESULT $? 0 0 "卸载pcp-pmda-libvirt失败"
|
||||
else
|
||||
LOG_INFO "测试完成,保持原安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "PMDA服务启动功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,91 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-25
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试pbmtpg命令的详细模式输出
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试pbmtpg命令的详细模式输出
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="netpbm"
|
||||
|
||||
# 检查yum源中是否有该软件包
|
||||
LOG_INFO "检查yum源中是否有${PACKAGE_NAME}软件包"
|
||||
dnf list available ${PACKAGE_NAME} > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中没有找到${PACKAGE_NAME}软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装
|
||||
LOG_INFO "检查${PACKAGE_NAME}是否已安装"
|
||||
rpm -q ${PACKAGE_NAME} > /dev/null 2>&1
|
||||
INSTALLED=$?
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ ${INSTALLED} -ne 0 ]; then
|
||||
LOG_INFO "安装${PACKAGE_NAME}软件包"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}失败"
|
||||
fi
|
||||
|
||||
# 检查pbmtpg命令是否存在
|
||||
LOG_INFO "检查pbmtpg命令是否存在"
|
||||
which pbmtpg > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "pbmtpg命令不存在"
|
||||
# 如果是新安装的,需要卸载
|
||||
if [ ${INSTALLED} -ne 0 ]; then
|
||||
LOG_INFO "卸载${PACKAGE_NAME}软件包"
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查pbmtpg命令是否支持-v参数
|
||||
LOG_INFO "检查pbmtpg命令是否支持-v参数"
|
||||
pbmtpg -v 2>&1 | grep -q "invalid option\|illegal option\|unrecognized option"
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "pbmtpg命令不支持-v参数"
|
||||
# 如果是新安装的,需要卸载
|
||||
if [ ${INSTALLED} -ne 0 ]; then
|
||||
LOG_INFO "卸载${PACKAGE_NAME}软件包"
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试pbmtpg命令的详细模式输出
|
||||
LOG_INFO "测试pbmtpg命令的详细模式输出"
|
||||
pbmtpg -v 2>&1 | head -5
|
||||
CHECK_RESULT $? 0 0 "pbmtpg -v命令执行失败"
|
||||
|
||||
# 清理环境
|
||||
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 "$@"
|
||||
@@ -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-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用--des参数选择DES加密算法
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 test_proftpd-utils_ftpasswd_des 脚本"
|
||||
|
||||
# 检查是否已安装 proftpd-utils 包
|
||||
LOG_INFO "检查 proftpd-utils 是否已安装"
|
||||
if rpm -q proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "proftpd-utils 已安装,测试完成后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "proftpd-utils 未安装,将在测试完成后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有 proftpd-utils 包
|
||||
LOG_INFO "检查 yum 源中是否有 proftpd-utils 包"
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 proftpd-utils 包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装 proftpd-utils 包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在安装 proftpd-utils"
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装 proftpd-utils 失败"
|
||||
fi
|
||||
|
||||
# 测试 ftpasswd 命令是否支持 --des 参数
|
||||
LOG_INFO "测试 ftpasswd 命令是否支持 --des 参数"
|
||||
if ! ftpasswd --help | grep -q -- "--des"; then
|
||||
LOG_ERROR "ftpasswd 命令不支持 --des 参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 使用 --des 参数测试加密功能
|
||||
LOG_INFO "使用 --des 参数测试加密功能"
|
||||
TEST_PASSWORD="test123"
|
||||
ENCRYPTED=$(ftpasswd --des --password "$TEST_PASSWORD" --stdout)
|
||||
CHECK_RESULT $? 0 0 "使用 --des 参数加密失败"
|
||||
|
||||
# 验证加密结果是否符合预期
|
||||
LOG_INFO "验证加密结果是否符合预期"
|
||||
if [ -z "$ENCRYPTED" ]; then
|
||||
LOG_ERROR "加密结果为空"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "加密成功,结果为: $ENCRYPTED"
|
||||
fi
|
||||
|
||||
#清理环境,如果之前未安装则卸载 proftpd-utils
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在卸载 proftpd-utils "
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 “卸载 proftpds utils失败”
|
||||
fi
|
||||
|
||||
LOG_INFO “测试完成”
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,83 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用--file参数指定输出文件路径
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查proftpd-utils软件包是否已安装
|
||||
LOG_INFO "检查proftpd-utils软件包是否已安装"
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "proftpd-utils未安装,将进行安装"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "proftpd-utils已安装,无需重复安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在proftpd-utils软件包
|
||||
LOG_INFO "检查yum源中是否存在proftpd-utils软件包"
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum源中不存在proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装proftpd-utils
|
||||
if [ $INSTALLED -eq 1 ]; then
|
||||
LOG_INFO "开始安装proftpd-utils"
|
||||
dnf install -y proftpd-utils &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
fi
|
||||
|
||||
# 测试--file参数指定输出文件路径
|
||||
LOG_INFO "测试--file参数指定输出文件路径"
|
||||
TEMP_FILE="/tmp/test_ftpasswd_file_output"
|
||||
|
||||
# 执行ftpasswd命令并指定输出文件
|
||||
LOG_INFO "执行ftpasswd --file $TEMP_FILE"
|
||||
if ! ftpasswd --file "$TEMP_FILE" &>/dev/null; then
|
||||
LOG_ERROR "--file参数不支持或执行失败"
|
||||
# 如果是因为参数不支持,则退出码为255;否则按命令实际退出码退出
|
||||
if [ $? -eq 255 ]; then
|
||||
exit 255
|
||||
else
|
||||
exit $?
|
||||
fi
|
||||
fi
|
||||
|
||||
# 检查输出文件是否存在
|
||||
LOG_INFO "检查输出文件$TEMP_FILE是否存在"
|
||||
CHECK_RESULT $(test -f "$TEMP_FILE"; echo $?) 0 0 "输出文件未生成"
|
||||
|
||||
# 清理临时文件
|
||||
LOG_INFO "清理临时文件$TEMP_FILE"
|
||||
rm -f "$TEMP_FILE"
|
||||
|
||||
# 如果脚本开始时未安装proftpd-utils,则卸载
|
||||
if [ $INSTALLED -eq 1 ]; then
|
||||
LOG_INFO "卸载proftpd-utils"
|
||||
dnf remove -y proftpd-utils &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,83 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用--gecos参数设置用户描述信息
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装proftpd-utils
|
||||
LOG_INFO "检查是否已安装proftpd-utils"
|
||||
rpm -q proftpd-utils > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "proftpd-utils已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "proftpd-utils未安装,将在测试结束后卸载"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有proftpd-utils
|
||||
LOG_INFO "检查yum源中是否有proftpd-utils"
|
||||
dnf list available proftpd-utils > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils,退出码255"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装proftpd-utils(如果未安装)
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装proftpd-utils"
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
fi
|
||||
|
||||
# 测试--gecos参数设置用户描述信息
|
||||
LOG_INFO "测试--gecos参数设置用户描述信息"
|
||||
USERNAME="testuser"
|
||||
GECOS="Test User Description"
|
||||
|
||||
# 创建用户并设置描述信息
|
||||
ftpasswd --passwd --name $USERNAME --uid 1001 --gid 1001 --home /tmp/$USERNAME --shell /bin/bash --gecos "$GECOS"
|
||||
CHECK_RESULT $? 0 0 "使用--gecos参数设置用户描述信息失败"
|
||||
|
||||
# 验证描述信息是否设置成功
|
||||
LOG_INFO "验证描述信息是否设置成功"
|
||||
ACTUAL_GECOS=$(getent passwd $USERNAME | cut -d: -f5)
|
||||
if [ "$ACTUAL_GECOS" != "$GECOS" ]; then
|
||||
LOG_ERROR "--gecos参数设置的用户描述信息与实际不符,退出码1"
|
||||
exit 1
|
||||
fi
|
||||
CHECK_RESULT $? 0 0 "--gecos参数设置的用户描述信息验证失败"
|
||||
|
||||
# 清理测试用户
|
||||
LOG_INFO "清理测试用户"
|
||||
userdel -r $USERNAME > /dev/null 2>&1
|
||||
|
||||
# 卸载proftpd-utils(如果脚本开始时未安装)
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载proftpd-utils"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,67 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用--hash参数生成密码哈希
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查proftpd-utils是否已安装
|
||||
LOG_INFO "检查proftpd-utils是否已安装"
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "proftpd-utils未安装,准备安装"
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "proftpd-utils已安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 测试--hash参数生成密码哈希
|
||||
LOG_INFO "测试使用--hash参数生成密码哈希"
|
||||
if ! ftpasswd --help | grep -q -- "--hash"; then
|
||||
LOG_ERROR "ftpasswd命令不支持--hash参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
HASH_OUTPUT=$(ftpasswd --hash testpassword 2>&1)
|
||||
CHECK_RESULT $? 0 0 "生成密码哈希失败"
|
||||
|
||||
# 验证哈希输出格式
|
||||
if [[ ! "$HASH_OUTPUT" =~ ^[0-9a-f]{32}$ ]]; then
|
||||
LOG_ERROR "生成的密码哈希格式不正确"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_INFO "生成的密码哈希: $HASH_OUTPUT"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" -eq 1 ]; then
|
||||
LOG_INFO "卸载proftpd-utils"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,77 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用--home参数设置用户主目录
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试使用--home参数设置用户主目录"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查proftpd-utils软件包是否已安装"
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "proftpd-utils未安装,准备安装"
|
||||
# 检查yum源中是否有该软件包
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装软件包
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "proftpd-utils已安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 测试--home参数设置用户主目录功能
|
||||
LOG_INFO "测试--home参数设置用户主目录功能"
|
||||
TEST_HOME="/tmp/test_home"
|
||||
mkdir -p $TEST_HOME
|
||||
CHECK_RESULT $? 0 0 "创建测试目录失败"
|
||||
|
||||
# 使用ftpasswd命令设置用户主目录
|
||||
LOG_INFO "执行ftpasswd命令设置用户主目录"
|
||||
ftpasswd --passwd --name testuser --home $TEST_HOME --uid 1000 --gid 1000 --shell /bin/bash
|
||||
CHECK_RESULT $? 0 0 "执行ftpasswd命令失败"
|
||||
|
||||
# 验证用户主目录是否设置成功
|
||||
LOG_INFO "验证用户主目录是否设置成功"
|
||||
if [ -d "$TEST_HOME" ]; then
|
||||
LOG_INFO "用户主目录设置成功: $TEST_HOME"
|
||||
else
|
||||
LOG_ERROR "用户主目录设置失败: $TEST_HOME"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理测试环境
|
||||
LOG_INFO "清理测试环境"
|
||||
rm -rf $TEST_HOME
|
||||
|
||||
# 如果脚本开始时安装了软件包,则在结束时卸载
|
||||
if [ "$INSTALLED" -eq 1 ]; then
|
||||
LOG_INFO "卸载proftpd-utils软件包"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,73 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用--md5参数选择MD5加密算法
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
LOG_INFO "开始测试 test_proftpd-utils_ftpasswd_md5 脚本"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
if rpm -q proftpd-utils > /dev/null; then
|
||||
LOG_INFO "proftpd-utils 已安装,测试结束后保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "proftpd-utils 未安装,测试结束后将卸载"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有 proftpd-utils 软件包
|
||||
LOG_INFO "检查 yum 源中是否有 proftpd-utils 软件包"
|
||||
if ! dnf list available proftpd-utils > /dev/null 2>&1; then
|
||||
LOG_ERROR "yum 源中未找到 proftpd-utils 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装 proftpd-utils
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "正在安装 proftpd-utils"
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装 proftpd-utils 失败"
|
||||
fi
|
||||
|
||||
# 测试 ftpasswd --md5 参数功能
|
||||
LOG_INFO "测试 ftpasswd --md5 参数功能"
|
||||
output=$(ftpasswd --md5 --passwd --name testuser --uid 1000 --home /home/testuser --shell /bin/bash 2>&1)
|
||||
CHECK_RESULT $? 0 0 "执行 ftpasswd --md5 失败"
|
||||
|
||||
#验证输出是否包含 MD5 hash(假设成功执行会生成类似内容)
|
||||
if [[ "$output" == *"MD5"* ]]; then
|
||||
LOG_INFO "--md5参数功能测试通过"
|
||||
else
|
||||
LOG_ERROR "--md5参数功能测试失败,输出未包含MD5信息"
|
||||
CHECK_RESULT $? 1 0 "--md5参数功能异常"
|
||||
fi
|
||||
|
||||
# 清理环境(如果最初未安装则卸载)
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "正在卸载 proftpd-utils"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 卸载proftpd-utils失败
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本 test_proftpd_util_ftpassword_md5 执行完成"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,71 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用--passwd参数创建passwd格式文件
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:测试使用--passwd参数创建passwd格式文件"
|
||||
|
||||
# 检查是否已安装proftpd-utils
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "环境未安装proftpd-utils,将进行安装"
|
||||
# 检查yum源中是否有proftpd-utils
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装proftpd-utils
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "环境已安装proftpd-utils"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 测试--passwd参数
|
||||
LOG_INFO "测试--passwd参数创建passwd格式文件"
|
||||
ftpasswd --passwd --name=testuser --uid=1000 --gid=1000 --home=/home/testuser --shell=/bin/bash --file=/tmp/test_passwd
|
||||
CHECK_RESULT $? 0 0 "使用--passwd参数创建passwd格式文件失败"
|
||||
|
||||
# 检查文件是否存在且内容正确
|
||||
if [ -f "/tmp/test_passwd" ]; then
|
||||
LOG_INFO "验证passwd文件内容"
|
||||
grep -q "testuser:x:1000:1000::/home/testuser:/bin/bash" /tmp/test_passwd
|
||||
CHECK_RESULT $? 0 0 "passwd文件内容不正确"
|
||||
else
|
||||
LOG_ERROR "未生成passwd文件"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理临时文件
|
||||
LOG_INFO "清理临时文件"
|
||||
rm -f /tmp/test_passwd
|
||||
|
||||
# 如果脚本开始时未安装proftpd-utils,则卸载
|
||||
if [ "$INSTALLED" -eq 1 ]; then
|
||||
LOG_INFO "卸载proftpd-utils"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:测试使用--passwd参数创建passwd格式文件"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,71 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用-F参数强制覆盖现有文件
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试test_proftpd-utils_ftpasswd_upper_f"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查proftpd-utils是否已安装"
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "proftpd-utils未安装,准备安装"
|
||||
# 检查yum源中是否有该软件包
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装软件包
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
# 标记需要卸载
|
||||
UNINSTALL=1
|
||||
else
|
||||
LOG_INFO "proftpd-utils已安装,无需重新安装"
|
||||
fi
|
||||
|
||||
# 测试-F参数强制覆盖现有文件
|
||||
LOG_INFO "测试使用-F参数强制覆盖现有文件"
|
||||
# 创建测试文件
|
||||
echo "test" > testfile.txt
|
||||
|
||||
# 第一次执行ftpasswd命令
|
||||
LOG_INFO "第一次执行ftpasswd命令"
|
||||
ftpasswd --passwd --file=testfile.txt --name=testuser --uid=1000 --home=/tmp --shell=/bin/false
|
||||
CHECK_RESULT $? 0 0 "第一次执行ftpasswd命令失败"
|
||||
|
||||
# 第二次执行ftpasswd命令,使用-F参数强制覆盖
|
||||
LOG_INFO "第二次执行ftpasswd命令,使用-F参数强制覆盖"
|
||||
ftpasswd --passwd --file=testfile.txt --name=testuser --uid=1000 --home=/tmp --shell=/bin/false -F
|
||||
CHECK_RESULT $? 0 0 "第二次执行ftpasswd命令(带-F参数)失败"
|
||||
|
||||
# 清理测试文件
|
||||
rm -f testfile.txt
|
||||
|
||||
# 如果之前安装了软件包,则卸载
|
||||
if [ "$UNINSTALL" == "1" ]; then
|
||||
LOG_INFO "卸载proftpd-utils"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,75 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 ftpmail 命令的 --attach-file 参数,包含上传文件作为附件
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装proftpd-utils软件包
|
||||
LOG_INFO "检查是否已安装proftpd-utils软件包"
|
||||
rpm -q proftpd-utils > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "proftpd-utils已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "proftpd-utils未安装,将在测试结束后卸载"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在proftpd-utils软件包
|
||||
LOG_INFO "检查yum源中是否存在proftpd-utils软件包"
|
||||
dnf list available proftpd-utils > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中不存在proftpd-utils软件包"
|
||||
|
||||
# 安装proftpd-utils软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "开始安装proftpd-utils软件包"
|
||||
dnf install -y proftpd-utils > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
fi
|
||||
|
||||
# 检查ftpmail命令是否支持--attach-file参数
|
||||
LOG_INFO "检查ftpmail命令是否支持--attach-file参数"
|
||||
ftpmail --help | grep -- "--attach-file" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "ftpmail命令不支持--attach-file参数"
|
||||
|
||||
# 创建测试文件
|
||||
LOG_INFO "创建测试文件test_file.txt"
|
||||
echo "This is a test file for ftpmail --attach-file" > test_file.txt
|
||||
CHECK_RESULT $? 0 0 "创建测试文件失败"
|
||||
|
||||
# 测试ftpmail --attach-file参数
|
||||
LOG_INFO "测试ftpmail --attach-file参数"
|
||||
TEST_EMAIL="test@example.com"
|
||||
ftpmail --attach-file test_file.txt "$TEST_EMAIL" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "执行ftpmail --attach-file失败"
|
||||
|
||||
#清理测试文件
|
||||
LOG_INFO "清理测试文件test_file.txt"
|
||||
rm -f test_file.txt
|
||||
CHECK_RESULT $? 0 0 "清理测试文件失败"
|
||||
|
||||
#卸载proftpd-utils软件包(如果脚本开始时未安装)
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO “卸载pro ftp d-u tils”
|
||||
dnf remove - y pro ftp d-u tils > / dev / null 2 >&1
|
||||
CHECK_RESULT $ ? 0 0 “卸载pro ftp d-u tils失败”
|
||||
fi
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,80 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-13
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 ftpmail 命令的 --fifo 参数
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装proftpd-utils软件包
|
||||
LOG_INFO "检查是否已安装proftpd-utils软件包"
|
||||
rpm -q proftpd-utils >/dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "proftpd-utils已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "proftpd-utils未安装,脚本结束后将卸载"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有proftpd-utils软件包
|
||||
LOG_INFO "检查yum源中是否有proftpd-utils软件包"
|
||||
dnf list available proftpd-utils >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装proftpd-utils软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装proftpd-utils软件包"
|
||||
dnf install -y proftpd-utils >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
fi
|
||||
|
||||
# 测试ftpmail命令的--fifo参数是否存在
|
||||
LOG_INFO "测试ftpmail命令的--fifo参数是否存在"
|
||||
ftpmail --help 2>&1 | grep -q -- "--fifo"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "ftpmail命令不支持--fifo参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试使用--fifo参数执行命令
|
||||
LOG_INFO "测试使用--fifo参数执行命令"
|
||||
TMP_FIFO=$(mktemp -u)
|
||||
mkfifo "$TMP_FIFO"
|
||||
CHECK_RESULT $? 0 0 "创建FIFO文件失败"
|
||||
|
||||
(echo "Test message" > "$TMP_FIFO") &
|
||||
LOG_INFO "执行ftpmail --fifo $TMP_FIFO"
|
||||
ftpmail --fifo "$TMP_FIFO" >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "执行ftpmail --fifo失败"
|
||||
|
||||
# 清理临时文件
|
||||
rm -f "$TMP_FIFO"
|
||||
CHECK_RESULT $? 0 0 "删除FIFO文件失败"
|
||||
|
||||
#卸载proftpd-utils软件包(如果之前未安装)
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载proftpd-utils软件包"
|
||||
dnf remove -y proftpd-utils >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,74 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 ftpmail 命令的 --fifo 参数,指定 FIFO 路径
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装proftpd-utils软件包
|
||||
LOG_INFO "检查是否已安装proftpd-utils软件包"
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "proftpd-utils未安装,将进行安装"
|
||||
INSTALLED=false
|
||||
else
|
||||
LOG_INFO "proftpd-utils已安装"
|
||||
INSTALLED=true
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有proftpd-utils软件包
|
||||
LOG_INFO "检查yum源中是否有proftpd-utils软件包"
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装proftpd-utils
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在安装proftpd-utils软件包"
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
fi
|
||||
|
||||
# 测试ftpmail命令的--fifo参数
|
||||
LOG_INFO "测试ftpmail命令的--fifo参数"
|
||||
FIFO_PATH="/tmp/test_fifo"
|
||||
mkfifo "$FIFO_PATH" || { LOG_ERROR "创建FIFO文件失败"; exit 1; }
|
||||
|
||||
LOG_INFO "执行ftpmail命令并指定FIFO路径"
|
||||
if ! ftpmail --fifo "$FIFO_PATH" &>/dev/null; then
|
||||
LOG_ERROR "ftpmail命令不支持--fifo参数或参数无效"
|
||||
rm -f "$FIFO_PATH"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 清理FIFO文件
|
||||
rm -f "$FIFO_PATH"
|
||||
|
||||
# 如果脚本开始时未安装,则卸载proftpd-utils
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载proftpd-utils软件包"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
exit 0
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,68 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-13
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 ftpmail 命令的 --from 参数
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装proftpd-utils软件包
|
||||
LOG_INFO "检查是否已安装proftpd-utils软件包"
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "proftpd-utils未安装,开始安装"
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "proftpd-utils已安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 测试ftpmail命令的--from参数
|
||||
LOG_INFO "测试ftpmail命令的--from参数"
|
||||
if ! ftpmail --help | grep -q -- "--from"; then
|
||||
LOG_ERROR "ftpmail命令不支持--from参数"
|
||||
if [ $INSTALLED -eq 1 ]; then
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行测试命令并检查结果
|
||||
LOG_INFO "执行带--from参数的ftpmail命令"
|
||||
TEST_EMAIL="test@example.com"
|
||||
ftpmail --from "$TEST_EMAIL" &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "执行带--from参数的ftpmail命令失败"
|
||||
|
||||
# 清理环境,恢复到之前的状态
|
||||
if [ $INSTALLED -eq 1 ]; then
|
||||
LOG_INFO "卸载proftpd-utils软件包"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,66 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 ftpmail 命令的 --from 参数,指定发件人地址
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
LOG_INFO "开始测试 ftpmail 命令的 --from 参数,指定发件人地址"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "环境未安装 proftpd-utils,将进行安装"
|
||||
# 检查 yum 源中是否有该软件包
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 proftpd-utils 软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装软件包
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装 proftpd-utils 失败"
|
||||
# 标记需要卸载
|
||||
UNINSTALL_NEEDED=1
|
||||
else
|
||||
LOG_INFO "环境已安装 proftpd-utils,无需重复安装"
|
||||
UNINSTALL_NEEDED=0
|
||||
fi
|
||||
|
||||
# 检查 ftpmail 命令是否支持 --from 参数
|
||||
if ! ftpmail --help | grep -q -- "--from"; then
|
||||
LOG_ERROR "ftpmail 命令不支持 --from 参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试 ftpmail --from 参数
|
||||
LOG_INFO "测试 ftpmail --from 参数"
|
||||
ftpmail --from test@example.com
|
||||
CHECK_RESULT $? 0 0 "ftpmail --from 参数测试失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$UNINSTALL_NEEDED" -eq 1 ]; then
|
||||
LOG_INFO "卸载 proftpd-utils"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载 proftpd-utils 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,80 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-13
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 ftpmail 命令的 --ignore-users 参数
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装proftpd-utils
|
||||
LOG_INFO "检查是否已安装proftpd-utils"
|
||||
rpm -q proftpd-utils
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "proftpd-utils已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "proftpd-utils未安装,将在测试结束后卸载"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有proftpd-utils
|
||||
LOG_INFO "检查yum源中是否有proftpd-utils"
|
||||
dnf list available proftpd-utils > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils,退出码255"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装proftpd-utils(如果未安装)
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "正在安装proftpd-utils"
|
||||
dnf install -y proftpd-utils > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
fi
|
||||
|
||||
# 检查ftpmail命令是否存在
|
||||
LOG_INFO "检查ftpmail命令是否存在"
|
||||
which ftpmail > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "ftpmail命令不存在"
|
||||
|
||||
# 检查--ignore-users参数是否支持
|
||||
LOG_INFO "检查--ignore-users参数是否支持"
|
||||
ftpmail --help | grep -- "--ignore-users" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "--ignore-users参数不支持"
|
||||
|
||||
# 测试--ignore-users参数
|
||||
LOG_INFO "测试--ignore-users参数"
|
||||
echo "test@example.com" > test_users.txt
|
||||
ftpmail --ignore-users test_users.txt test@example.com > /dev/null 2>&1
|
||||
|
||||
# 预期结果为忽略test@example.com,返回成功(退出码0)
|
||||
CHECK_RESULT $? 0 0 "--ignore-users参数测试失败"
|
||||
|
||||
# 清理临时文件
|
||||
rm -f test_users.txt
|
||||
|
||||
# 卸载proftpd-utils(如果脚本开始时未安装)
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "正在卸载proftpd-utils"
|
||||
dnf remove -y proftpd-utils > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,76 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 ftpmail 命令的 --ignore-users 参数,指定忽略用户的正则表达式
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查环境是否已安装proftpd-utils软件包
|
||||
LOG_INFO "检查是否已安装proftpd-utils软件包..."
|
||||
rpm -q proftpd-utils > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "proftpd-utils已安装,脚本结束后将保持安装状态。"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "proftpd-utils未安装,脚本结束后将卸载。"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有proftpd-utils软件包
|
||||
LOG_INFO "检查yum源中是否存在proftpd-utils软件包..."
|
||||
dnf list available proftpd-utils > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils软件包,退出码255。"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装proftpd-utils软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "正在安装proftpd-utils软件包..."
|
||||
dnf install -y proftpd-utils > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
fi
|
||||
|
||||
# 测试ftpmail命令的--ignore-users参数是否支持
|
||||
LOG_INFO "测试--ignore-users参数是否支持..."
|
||||
ftpmail --help | grep -q -- "--ignore-users"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "--ignore-users参数不支持,退出码255。"
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
dnf remove -y proftpd-utils > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试--ignore-users参数的正则表达式功能
|
||||
LOG_INFO "测试--ignore-users参数的正则表达式功能..."
|
||||
ftpmail --ignore-users "testuser" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "--ignore-users正则表达式功能测试失败"
|
||||
|
||||
#清理环境
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "清理环境,卸载proftpd-utils软件包..."
|
||||
dnf remove -y proftpd-utils > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 \"卸载pro ftp utils失败\"
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,67 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-13
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 ftpmail 命令的 --log 参数
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装proftpd-utils软件包
|
||||
LOG_INFO "检查是否已安装proftpd-utils软件包"
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "proftpd-utils未安装,将进行安装"
|
||||
INSTALLED=0
|
||||
else
|
||||
LOG_INFO "proftpd-utils已安装"
|
||||
INSTALLED=1
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有proftpd-utils软件包
|
||||
LOG_INFO "检查yum源中是否有proftpd-utils软件包"
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装proftpd-utils
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装proftpd-utils软件包"
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
fi
|
||||
|
||||
# 测试ftpmail命令的--log参数
|
||||
LOG_INFO "测试ftpmail命令的--log参数"
|
||||
if ! ftpmail --help | grep -q -- "--log"; then
|
||||
LOG_ERROR "ftpmail命令不支持--log参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行带--log参数的ftpmail命令
|
||||
LOG_INFO "执行带--log参数的ftpmail命令"
|
||||
ftpmail --log test.log
|
||||
CHECK_RESULT $? 0 0 "执行带--log参数的ftpmail命令失败"
|
||||
|
||||
# 清理环境:如果脚本开始时未安装,则卸载proftpd-utils
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载proftpd-utils软件包"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,73 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 ftpmail 命令的 --log 参数,指定日志文件路径
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 ftpmail 命令的 --log 参数,指定日志文件路径"
|
||||
|
||||
# 检查是否已安装 proftpd-utils 软件包
|
||||
LOG_INFO "检查 proftpd-utils 是否已安装"
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "proftpd-utils 未安装,准备安装"
|
||||
# 检查 yum 源中是否有 proftpd-utils
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 proftpd-utils 软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装 proftpd-utils
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装 proftpd-utils 失败"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "proftpd-utils 已安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 测试 ftpmail 命令的 --log 参数
|
||||
LOG_INFO "测试 ftpmail 命令的 --log 参数"
|
||||
LOG_FILE="/tmp/ftpmail_test.log"
|
||||
ftpmail --log "$LOG_FILE" &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "ftpmail 命令执行失败"
|
||||
|
||||
# 检查日志文件是否生成
|
||||
LOG_INFO "检查日志文件是否生成"
|
||||
if [ -f "$LOG_FILE" ]; then
|
||||
LOG_INFO "日志文件已生成: $LOG_FILE"
|
||||
else
|
||||
LOG_ERROR "日志文件未生成"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理日志文件
|
||||
LOG_INFO "清理日志文件"
|
||||
rm -f "$LOG_FILE"
|
||||
CHECK_RESULT $? 0 0 "清理日志文件失败"
|
||||
|
||||
# 恢复环境
|
||||
if [ "$INSTALLED" = true ]; then
|
||||
LOG_INFO "卸载 proftpd-utils"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载 proftpd-utils 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,68 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 ftpmail 命令的 --recipient 参数,指定收件人地址
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 ftpmail 命令的 --recipient 参数,指定收件人地址"
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
LOG_INFO "检查 proftpd-utils 软件包是否在yum源中"
|
||||
dnf list available proftpd-utils &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "proftpd-utils 软件包不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查环境是否已安装 proftpd-utils
|
||||
LOG_INFO "检查环境是否已安装 proftpd-utils"
|
||||
rpm -q proftpd-utils &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
installed=true
|
||||
LOG_INFO "proftpd-utils 已安装"
|
||||
else
|
||||
installed=false
|
||||
LOG_INFO "proftpd-utils 未安装,将进行安装"
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装 proftpd-utils"
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装 proftpd-utils 失败"
|
||||
fi
|
||||
|
||||
# 测试 ftpmail --recipient 参数是否存在或支持
|
||||
LOG_INFO "测试 ftpmail --recipient 参数是否存在或支持"
|
||||
ftpmail --help | grep -- "--recipient" &>/dev/null
|
||||
CHECK_RESULT $? 0 255 "ftpmail --recipient 参数不存在或不支持"
|
||||
|
||||
# 执行 ftpmail --recipient test@example.com
|
||||
LOG_INFO "执行 ftpmail --recipient test@example.com"
|
||||
ftpmail --recipient test@example.com
|
||||
CHECK_RESULT $? 0 0 "执行 ftpmail --recipient test@example.com失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载 proftpd-utils"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载 proftpd-utils 失败"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,69 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-13
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 ftpmail 命令的 --smtp-server 参数
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装proftpd-utils软件包
|
||||
LOG_INFO "检查是否已安装proftpd-utils软件包"
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "proftpd-utils未安装,将进行安装"
|
||||
INSTALLED=0
|
||||
else
|
||||
LOG_INFO "proftpd-utils已安装"
|
||||
INSTALLED=1
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有proftpd-utils软件包
|
||||
LOG_INFO "检查yum源中是否有proftpd-utils软件包"
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装proftpd-utils
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装proftpd-utils软件包"
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
fi
|
||||
|
||||
# 测试ftpmail命令的--smtp-server参数
|
||||
LOG_INFO "测试ftpmail命令的--smtp-server参数"
|
||||
if ! ftpmail --help | grep -q -- "--smtp-server"; then
|
||||
LOG_ERROR "ftpmail命令不支持--smtp-server参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 模拟使用--smtp-server参数
|
||||
LOG_INFO "执行ftpmail --smtp-server example.com"
|
||||
ftpmail --smtp-server example.com &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "执行ftpmail --smtp-server失败"
|
||||
|
||||
# 清理环境:如果脚本开始时未安装,则卸载proftpd-utils
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载proftpd-utils软件包"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,69 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 ftpmail 命令的 --smtp-server 参数,指定 SMTP 服务器地址
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装proftpd-utils
|
||||
LOG_INFO "检查是否已安装proftpd-utils"
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "proftpd-utils未安装,将进行安装"
|
||||
INSTALLED=false
|
||||
else
|
||||
LOG_INFO "proftpd-utils已安装"
|
||||
INSTALLED=true
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有proftpd-utils
|
||||
LOG_INFO "检查yum源中是否有proftpd-utils"
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装proftpd-utils
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装proftpd-utils"
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
fi
|
||||
|
||||
# 测试ftpmail命令的--smtp-server参数
|
||||
LOG_INFO "测试ftpmail命令的--smtp-server参数"
|
||||
if ! ftpmail --help | grep -q -- "--smtp-server"; then
|
||||
LOG_ERROR "ftpmail命令不支持--smtp-server参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行测试命令(假设SMTP服务器地址为example.com)
|
||||
LOG_INFO "执行测试命令:指定SMTP服务器地址为example.com"
|
||||
ftpmail --smtp-server example.com
|
||||
CHECK_RESULT $? 0 0 "指定SMTP服务器地址失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载proftpd-utils"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,67 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 ftpmail 命令的 --subject 参数,指定自定义邮件主题
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查环境是否已安装proftpd-utils软件包
|
||||
LOG_INFO "检查是否已安装proftpd-utils软件包..."
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "proftpd-utils未安装,准备安装..."
|
||||
# 检查yum源中是否有proftpd-utils
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装proftpd-utils
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "proftpd-utils已安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 测试ftpmail命令的--subject参数
|
||||
LOG_INFO "测试ftpmail命令的--subject参数..."
|
||||
# 检查--subject参数是否支持
|
||||
if ! ftpmail --help | grep -q -- "--subject"; then
|
||||
LOG_ERROR "ftpmail命令不支持--subject参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行ftpmail命令并指定自定义邮件主题
|
||||
TEST_SUBJECT="TestSubject"
|
||||
LOG_INFO "执行命令:ftpmail --subject \"$TEST_SUBJECT\""
|
||||
ftpmail --subject "$TEST_SUBJECT" &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "执行ftpmail命令失败"
|
||||
|
||||
# 清理环境(如果脚本开始时安装了软件包)
|
||||
if [ $INSTALLED -eq 1 ]; then
|
||||
LOG_INFO "卸载proftpd-utils软件包..."
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,69 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-13
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 ftpmail 命令的 --watch-users 参数
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查软件包是否已安装
|
||||
if ! rpm -q proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "环境未安装proftpd-utils,开始安装..."
|
||||
# 检查yum源中是否存在proftpd-utils
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装软件包
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "环境已安装proftpd-utils"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 测试ftpmail命令的--watch-users参数
|
||||
LOG_INFO "测试ftpmail命令的--watch-users参数"
|
||||
if ! ftpmail --help | grep -q -- "--watch-users"; then
|
||||
LOG_ERROR "ftpmail命令不支持--watch-users参数"
|
||||
# 清理环境
|
||||
if [ $INSTALLED -eq 1 ]; then
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行ftpmail --watch-users命令并检查结果
|
||||
LOG_INFO "执行ftpmail --watch-users命令"
|
||||
ftpmail --watch-users
|
||||
CHECK_RESULT $? 0 0 "执行ftpmail --watch-users失败"
|
||||
|
||||
# 清理环境
|
||||
if [ $INSTALLED -eq 1 ]; then
|
||||
LOG_INFO "清理环境,卸载proftpd-utils"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,85 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 ftpmail 命令的 --watch-users 参数,指定监控用户的正则表达式
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装proftpd-utils软件包
|
||||
LOG_INFO "检查是否已安装proftpd-utils软件包"
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "proftpd-utils未安装,将进行安装"
|
||||
INSTALLED=false
|
||||
else
|
||||
LOG_INFO "proftpd-utils已安装"
|
||||
INSTALLED=true
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有proftpd-utils软件包
|
||||
LOG_INFO "检查yum源中是否有proftpd-utils软件包"
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 若未安装则安装proftpd-utils
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装proftpd-utils"
|
||||
dnf install -y proftpd-utils &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
fi
|
||||
|
||||
# 测试--watch-users参数是否支持
|
||||
LOG_INFO "测试--watch-users参数是否支持"
|
||||
if ! ftpmail --help | grep -q -- "--watch-users"; then
|
||||
LOG_ERROR "--watch-users参数不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试指定监控用户的正则表达式功能
|
||||
LOG_INFO "测试指定监控用户的正则表达式功能"
|
||||
TEST_USER="testuser"$(date +%s)
|
||||
LOG_INFO "创建测试用户:$TEST_USER"
|
||||
useradd $TEST_USER
|
||||
CHECK_RESULT $? 0 0 "创建测试用户失败"
|
||||
|
||||
LOG_INFO "执行ftpmail --watch-users "^${TEST_USER}$"命令"
|
||||
ftpmail --watch-users "^${TEST_USER}$" &>/dev/null &
|
||||
PID=$!
|
||||
sleep 2
|
||||
CHECK_RESULT $? 0 0 "执行ftpmail --watch-users命令失败"
|
||||
|
||||
# 清理测试用户和进程
|
||||
LOG_INFO "清理测试用户和进程"
|
||||
kill -9 $PID &>/dev/null
|
||||
userdel -r $TEST_USER &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "清理测试用户失败"
|
||||
|
||||
# 若脚本开始时未安装proftpd-utils,则卸载
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载proftpd-utils以恢复环境"
|
||||
dnf remove -y proftpd-utils &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,62 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-13
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试指定下载字节数限制
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试指定下载字节数限制功能"
|
||||
|
||||
# 检查是否已安装proftpd-utils软件包
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "环境未安装proftpd-utils,将进行安装"
|
||||
# 检查yum源中是否有proftpd-utils
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装proftpd-utils
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "环境已安装proftpd-utils"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 测试ftpquota命令的-Bd参数是否存在
|
||||
LOG_INFO "检查ftpquota命令的-Bd参数支持情况"
|
||||
ftpquota --help | grep -q -- "-Bd"
|
||||
CHECK_RESULT $? 0 0 "ftpquota命令不支持-Bd参数"
|
||||
|
||||
# 执行ftpquota命令测试下载字节数限制功能
|
||||
LOG_INFO "执行ftpquota -Bd测试下载字节数限制"
|
||||
ftpquota -Bd 1024
|
||||
CHECK_RESULT $? 0 0 "ftpquota -Bd执行失败"
|
||||
|
||||
# 清理环境,如果脚本开始时未安装则卸载软件包
|
||||
if [ $INSTALLED -eq 1 ]; then
|
||||
LOG_INFO "卸载proftpd-utils软件包"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试指定下载字节数限制功能完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,74 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-13
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试指定上传字节数限制
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装proftpd-utils
|
||||
LOG_INFO "检查是否已安装proftpd-utils"
|
||||
rpm -q proftpd-utils
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "proftpd-utils已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "proftpd-utils未安装,将在测试步骤中安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有proftpd-utils
|
||||
LOG_INFO "检查yum源中是否有proftpd-utils"
|
||||
dnf list available proftpd-utils > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils,退出码255"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装proftpd-utils
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "开始安装proftpd-utils"
|
||||
dnf install -y proftpd-utils > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
fi
|
||||
|
||||
# 测试指定上传字节数限制功能
|
||||
LOG_INFO "测试指定上传字节数限制功能"
|
||||
ftpquota --help | grep "upload-limit" > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "ftpquota命令不支持upload-limit参数,退出码255"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 创建临时测试文件并设置上传限制为100KB
|
||||
LOG_INFO "创建临时测试文件并设置上传限制为100KB"
|
||||
echo "test data" > testfile.txt
|
||||
ftpquota --upload-limit=100 testfile.txt
|
||||
CHECK_RESULT $? 0 0 "设置上传限制失败"
|
||||
|
||||
# 清理临时文件和环境恢复
|
||||
LOG_INFO "清理临时文件和环境恢复"
|
||||
rm -f testfile.txt
|
||||
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载proftpd-utils"
|
||||
dnf remove -y proftpd-utils > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,66 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-13
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试指定传输字节数限制
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装proftpd-utils软件包
|
||||
LOG_INFO "检查是否已安装proftpd-utils软件包"
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "proftpd-utils未安装,将进行安装"
|
||||
# 检查yum源中是否有proftpd-utils软件包
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装proftpd-utils
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
# 标记为需要卸载
|
||||
NEED_UNINSTALL=1
|
||||
else
|
||||
LOG_INFO "proftpd-utils已安装,无需重新安装"
|
||||
fi
|
||||
|
||||
# 测试指定传输字节数限制功能
|
||||
LOG_INFO "测试指定传输字节数限制功能"
|
||||
# 检查ftpquota命令是否支持-B参数
|
||||
if ! ftpquota --help | grep -q "\-B"; then
|
||||
LOG_ERROR "ftpquota命令不支持-B参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行ftpquota命令测试传输字节数限制
|
||||
LOG_INFO "执行ftpquota -B 1000000测试传输字节数限制"
|
||||
ftpquota -B 1000000
|
||||
CHECK_RESULT $? 0 0 "设置传输字节数限制失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$NEED_UNINSTALL" -eq 1 ]; then
|
||||
LOG_INFO "卸载proftpd-utils软件包"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,62 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-13
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试指定下载文件数限制
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试指定下载文件数限制功能"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
if ! rpm -q proftpd-utils >/dev/null 2>&1; then
|
||||
LOG_INFO "环境未安装proftpd-utils,准备安装"
|
||||
# 检查yum源中是否有该软件包
|
||||
if ! dnf list available proftpd-utils >/dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装软件包
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "环境已安装proftpd-utils"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 测试ftpquota命令的参数支持情况
|
||||
LOG_INFO "检查ftpquota命令是否支持-Fd参数"
|
||||
ftpquota --help | grep -q -- "-Fd"
|
||||
CHECK_RESULT $? 0 0 "ftpquota命令不支持-Fd参数"
|
||||
|
||||
# 测试指定下载文件数限制功能
|
||||
LOG_INFO "测试指定下载文件数限制功能"
|
||||
ftpquota -Fd /path/to/config >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "设置下载文件数限制失败"
|
||||
|
||||
# 清理环境,如果脚本开始时未安装则卸载软件包
|
||||
if [ $INSTALLED -eq 1 ]; then
|
||||
LOG_INFO "清理环境,卸载proftpd-utils"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,74 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-13
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试指定上传文件数限制
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试指定上传文件数限制功能"
|
||||
|
||||
# 检查是否已安装proftpd-utils软件包
|
||||
LOG_INFO "检查proftpd-utils是否已安装"
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "proftpd-utils未安装,将进行安装"
|
||||
# 检查yum源中是否有proftpd-utils
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装proftpd-utils
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "proftpd-utils已安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查ftpquota命令是否存在
|
||||
LOG_INFO "检查ftpquota命令是否存在"
|
||||
if ! command -v ftpquota &>/dev/null; then
|
||||
LOG_ERROR "ftpquota命令不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试指定上传文件数限制功能
|
||||
LOG_INFO "测试指定上传文件数限制功能"
|
||||
ftpquota --set-file-limit 10 /tmp/test_quota.txt &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "设置上传文件数限制失败"
|
||||
|
||||
# 验证设置是否生效
|
||||
LOG_INFO "验证上传文件数限制是否生效"
|
||||
ftpquota --get-file-limit /tmp/test_quota.txt | grep -q "10"
|
||||
CHECK_RESULT $? 0 0 "上传文件数限制未生效"
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f /tmp/test_quota.txt
|
||||
|
||||
# 如果脚本开始时未安装proftpd-utils,则在结束时卸载
|
||||
if [ $INSTALLED -eq 1 ]; then
|
||||
LOG_INFO "卸载proftpd-utils"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,63 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-13
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试指定传输文件数限制
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试指定传输文件数限制
|
||||
LOG_INFO "开始测试:测试指定传输文件数限制"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "环境未安装proftpd-utils,将进行安装"
|
||||
# 检查yum源中是否有该软件包
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装软件包
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "环境已安装proftpd-utils"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查ftpquota命令是否支持-F参数
|
||||
LOG_INFO "检查ftpquota命令是否支持-F参数"
|
||||
ftpquota --help | grep -q -- "-F"
|
||||
CHECK_RESULT $? 0 0 "ftpquota命令不支持-F参数"
|
||||
|
||||
# 测试指定传输文件数限制
|
||||
LOG_INFO "测试指定传输文件数限制"
|
||||
ftpquota -F 10
|
||||
CHECK_RESULT $? 0 0 "设置传输文件数限制失败"
|
||||
|
||||
# 清理环境
|
||||
if [ $INSTALLED -eq 1 ]; then
|
||||
LOG_INFO "卸载proftpd-utils"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:测试指定传输文件数限制"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,69 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试添加一个新的配额记录
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:添加一个新的配额记录"
|
||||
|
||||
# 检查是否已安装proftpd-utils软件包
|
||||
LOG_INFO "检查proftpd-utils是否已安装"
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "proftpd-utils未安装,准备安装"
|
||||
# 检查yum源中是否有proftpd-utils
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装proftpd-utils
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
# 标记为需要卸载
|
||||
NEED_UNINSTALL=1
|
||||
else
|
||||
LOG_INFO "proftpd-utils已安装"
|
||||
NEED_UNINSTALL=0
|
||||
fi
|
||||
|
||||
# 测试添加配额记录
|
||||
LOG_INFO "测试添加配额记录"
|
||||
ftpquota --add-record --user testuser --limit 100M /mnt/ftp
|
||||
CHECK_RESULT $? 0 0 "添加配额记录失败"
|
||||
|
||||
# 验证配额记录是否存在
|
||||
LOG_INFO "验证配额记录是否存在"
|
||||
ftpquota --list | grep -q "testuser.*100M.*/mnt/ftp"
|
||||
CHECK_RESULT $? 0 0 "配额记录未正确添加"
|
||||
|
||||
# 清理环境:删除测试配额记录
|
||||
LOG_INFO "清理测试配额记录"
|
||||
ftpquota --delete-record --user testuser /mnt/ftp
|
||||
CHECK_RESULT $? 0 0 "删除配额记录失败"
|
||||
|
||||
# 如果之前未安装,则卸载proftpd-utils
|
||||
if [ $NEED_UNINSTALL -eq 1 ]; then
|
||||
LOG_INFO "卸载proftpd-utils"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:添加一个新的配额记录"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,58 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试设置下载字节数限制
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:测试设置下载字节数限制"
|
||||
|
||||
# 检查是否已安装proftpd-utils
|
||||
LOG_INFO "检查是否已安装proftpd-utils"
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "proftpd-utils未安装,将进行安装"
|
||||
# 检查yum源中是否有proftpd-utils
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils,退出测试"
|
||||
exit 255
|
||||
fi
|
||||
# 安装proftpd-utils
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "proftpd-utils已安装,无需重新安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 测试设置下载字节数限制
|
||||
LOG_INFO "测试设置下载字节数限制"
|
||||
ftpquota --bytes-download 1000 /tmp/test_quota.txt &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "设置下载字节数限制失败"
|
||||
|
||||
# 清理环境
|
||||
if [ $INSTALLED -eq 1 ]; then
|
||||
LOG_INFO "卸载proftpd-utils"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:测试设置下载字节数限制"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,62 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试设置上传字节数限制
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装proftpd-utils软件包
|
||||
LOG_INFO "检查是否已安装proftpd-utils软件包"
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "proftpd-utils未安装,将进行安装"
|
||||
INSTALLED=0
|
||||
else
|
||||
LOG_INFO "proftpd-utils已安装"
|
||||
INSTALLED=1
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有proftpd-utils软件包
|
||||
LOG_INFO "检查yum源中是否有proftpd-utils软件包"
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum源中没有proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装proftpd-utils软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装proftpd-utils软件包"
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
fi
|
||||
|
||||
# 测试设置上传字节数限制
|
||||
LOG_INFO "测试设置上传字节数限制"
|
||||
ftpquota --bytes-upload 1024
|
||||
CHECK_RESULT $? 0 0 "设置上传字节数限制失败"
|
||||
|
||||
# 清理环境
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载proftpd-utils软件包"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,60 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试设置传输字节数限制
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装proftpd-utils
|
||||
LOG_INFO "检查是否已安装proftpd-utils"
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "proftpd-utils未安装,将进行安装"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "proftpd-utils已安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有proftpd-utils
|
||||
LOG_INFO "检查yum源中是否有proftpd-utils"
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装proftpd-utils(如果未安装)
|
||||
if [ $INSTALLED -eq 1 ]; then
|
||||
LOG_INFO "正在安装proftpd-utils"
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
fi
|
||||
|
||||
# 测试设置传输字节数限制
|
||||
LOG_INFO "测试设置传输字节数限制"
|
||||
ftpquota --bytes-xfer 1000 /tmp/test_quota.txt &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "设置传输字节数限制失败"
|
||||
|
||||
# 清理环境(如果之前未安装)
|
||||
if [ $INSTALLED -eq 1 ]; then
|
||||
LOG_INFO "卸载proftpd-utils"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,73 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试创建配额表
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试创建配额表功能"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查proftpd-utils软件包是否已安装"
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "proftpd-utils未安装,开始安装"
|
||||
if ! dnf list proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "proftpd-utils已安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 测试创建配额表功能
|
||||
LOG_INFO "测试创建配额表功能"
|
||||
ftpquota --create-table /etc/proftpd/quota.table
|
||||
CHECK_RESULT $? 0 0 "创建配额表失败"
|
||||
|
||||
# 检查配额表文件是否存在
|
||||
LOG_INFO "检查配额表文件是否存在"
|
||||
if [ -f /etc/proftpd/quota.table ]; then
|
||||
LOG_INFO "配额表文件创建成功"
|
||||
else
|
||||
LOG_ERROR "配额表文件未创建"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" -eq 1 ]; then
|
||||
LOG_INFO "卸载proftpd-utils软件包"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
|
||||
# 清理创建的配额表文件
|
||||
if [ -f /etc/proftpd/quota.table ]; then
|
||||
rm -f /etc/proftpd/quota.table
|
||||
CHECK_RESULT $? 0 0 "删除配额表文件失败"
|
||||
fi
|
||||
else
|
||||
LOG_INFO "保持proftpd-utils软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试创建配额表功能完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,52 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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() {
|
||||
# 检查是否已安装proftpd-utils
|
||||
LOG_INFO "检查是否已安装proftpd-utils"
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "proftpd-utils未安装,开始安装"
|
||||
if ! dnf list proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
dnf install -y proftpd-utils || { LOG_ERROR "安装proftpd-utils失败"; exit 1; }
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "proftpd-utils已安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 测试删除配额记录功能
|
||||
LOG_INFO "测试删除配额记录功能"
|
||||
ftpquota --delete-record testuser || { LOG_ERROR "删除配额记录失败"; exit 1; }
|
||||
CHECK_RESULT $? 0 0 "删除配额记录失败"
|
||||
|
||||
# 清理环境
|
||||
if [ $INSTALLED -eq 1 ]; then
|
||||
LOG_INFO "卸载proftpd-utils"
|
||||
dnf remove -y proftpd-utils || { LOG_ERROR "卸载proftpd-utils失败"; exit 1; }
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,66 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试设置下载文件数限制
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查yum源中是否存在proftpd-utils软件包
|
||||
LOG_INFO "检查yum源中是否存在proftpd-utils软件包"
|
||||
dnf list available proftpd-utils > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装proftpd-utils
|
||||
LOG_INFO "检查是否已安装proftpd-utils"
|
||||
rpm -q proftpd-utils > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "proftpd-utils已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "proftpd-utils未安装,将在测试步骤中安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 若未安装则安装proftpd-utils
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装proftpd-utils"
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
fi
|
||||
|
||||
# 测试设置下载文件数限制功能
|
||||
LOG_INFO "测试设置下载文件数限制功能"
|
||||
ftpquota --files-download=100 > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "设置下载文件数限制失败"
|
||||
|
||||
# 清理环境
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载proftpd-utils"
|
||||
dnf remove -y proftpd-utils > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,64 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试设置上传文件数限制
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装proftpd-utils
|
||||
LOG_INFO "检查是否已安装proftpd-utils"
|
||||
rpm -q proftpd-utils
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "proftpd-utils已安装"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "proftpd-utils未安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有proftpd-utils
|
||||
LOG_INFO "检查yum源中是否有proftpd-utils"
|
||||
dnf list available proftpd-utils
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 若未安装则安装proftpd-utils
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装proftpd-utils"
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
fi
|
||||
|
||||
# 测试设置上传文件数限制
|
||||
LOG_INFO "测试设置上传文件数限制"
|
||||
ftpquota --files-upload 100
|
||||
CHECK_RESULT $? 0 0 "设置上传文件数限制失败"
|
||||
|
||||
# 恢复环境
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载proftpd-utils"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,61 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试设置传输文件数限制
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查proftpd-utils是否已安装
|
||||
LOG_INFO "检查proftpd-utils是否已安装"
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "proftpd-utils未安装,开始安装"
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "proftpd-utils已安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 测试设置传输文件数限制功能
|
||||
LOG_INFO "测试设置传输文件数限制功能"
|
||||
ftpquota --files-xfer 100 /mnt/ftp
|
||||
CHECK_RESULT $? 0 0 "设置传输文件数限制失败"
|
||||
|
||||
# 验证设置是否生效
|
||||
LOG_INFO "验证传输文件数限制是否生效"
|
||||
ftpquota --show /mnt/ftp | grep -q "files-xfer:100"
|
||||
CHECK_RESULT $? 0 0 "传输文件数限制未生效"
|
||||
|
||||
# 清理环境
|
||||
if [ $INSTALLED -eq 1 ]; then
|
||||
LOG_INFO "卸载proftpd-utils"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,86 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试设置字节限制类型为hard模式,超出自动删除
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试设置字节限制类型为hard模式,超出自动删除"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查proftpd-utils软件包是否已安装"
|
||||
if rpm -q proftpd-utils >/dev/null 2>&1; then
|
||||
LOG_INFO "proftpd-utils软件包已安装"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "proftpd-utils软件包未安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有proftpd-utils软件包
|
||||
LOG_INFO "检查yum源中是否有proftpd-utils软件包"
|
||||
if ! dnf list available proftpd-utils >/dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装proftpd-utils软件包"
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils软件包失败"
|
||||
fi
|
||||
|
||||
# 检查ftpquota命令是否支持--limit-type参数
|
||||
LOG_INFO "检查ftpquota命令是否支持--limit-type参数"
|
||||
if ! ftpquota --help | grep -q -- "--limit-type"; then
|
||||
LOG_ERROR "ftpquota命令不支持--limit-type参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 创建测试目录和文件
|
||||
LOG_INFO "创建测试目录和文件"
|
||||
TEST_DIR="/tmp/ftpquota_test"
|
||||
mkdir -p "$TEST_DIR"
|
||||
echo "test content" > "$TEST_DIR/testfile"
|
||||
|
||||
# 设置字节限制类型为hard模式
|
||||
LOG_INFO "设置字节限制类型为hard模式,超出自动删除"
|
||||
ftpquota --path "$TEST_DIR" --limit-type hard --bytes-limit 10
|
||||
CHECK_RESULT $? 0 0 "设置字节限制类型为hard模式失败"
|
||||
|
||||
# 测试超出限制是否自动删除
|
||||
LOG_INFO "测试超出限制是否自动删除"
|
||||
echo "additional content" >> "$TEST_DIR/testfile"
|
||||
CHECK_RESULT $? 0 0 "超出限制未自动删除"
|
||||
|
||||
# 清理测试目录和文件
|
||||
LOG_INFO "清理测试目录和文件"
|
||||
rm -rf "$TEST_DIR"
|
||||
|
||||
# 如果脚本开始时未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载proftpd-utils软件包"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试设置字节限制类型为hard模式,超出自动删除完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,64 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试显示所有配额记录
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装proftpd-utils软件包
|
||||
LOG_INFO "检查是否已安装proftpd-utils软件包"
|
||||
rpm -q proftpd-utils > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "proftpd-utils已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "proftpd-utils未安装,脚本结束时将卸载"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有proftpd-utils软件包
|
||||
LOG_INFO "检查yum源中是否有proftpd-utils软件包"
|
||||
dnf list available proftpd-utils > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装则安装proftpd-utils
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "开始安装proftpd-utils"
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
fi
|
||||
|
||||
# 测试显示所有配额记录功能
|
||||
LOG_INFO "测试显示所有配额记录功能"
|
||||
ftpquota --show-records > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "显示配额记录失败"
|
||||
|
||||
# 清理环境
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载proftpd-utils"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,68 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试指定表类型为limit
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装proftpd-utils软件包
|
||||
LOG_INFO "检查是否已安装proftpd-utils软件包"
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "proftpd-utils未安装,准备安装"
|
||||
# 检查yum源中是否有proftpd-utils软件包
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装proftpd-utils
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
# 标记为需要卸载
|
||||
NEED_UNINSTALL=1
|
||||
else
|
||||
LOG_INFO "proftpd-utils已安装,无需重复安装"
|
||||
fi
|
||||
|
||||
# 测试指定表类型为limit的功能
|
||||
LOG_INFO "测试指定表类型为limit的功能"
|
||||
ftpquota --type limit --help &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "ftpquota命令不支持--type limit参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行ftpquota命令测试limit类型功能
|
||||
LOG_INFO "执行ftpquota命令测试limit类型功能"
|
||||
ftpquota --type limit --show
|
||||
CHECK_RESULT $? 0 0 "ftpquota --type limit执行失败"
|
||||
|
||||
# 清理环境:如果之前未安装proftpd-utils,则卸载
|
||||
if [ "$NEED_UNINSTALL" -eq 1 ]; then
|
||||
LOG_INFO "卸载proftpd-utils软件包"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
else
|
||||
LOG_INFO "保持proftpd-utils的安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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 : 测试更新配额记录
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试更新配额记录功能"
|
||||
|
||||
# 检查是否已安装proftpd-utils软件包
|
||||
LOG_INFO "检查proftpd-utils是否已安装"
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "proftpd-utils未安装,将进行安装"
|
||||
# 检查yum源中是否有该软件包
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装软件包
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
# 标记为需要卸载
|
||||
NEED_UNINSTALL=1
|
||||
else
|
||||
LOG_INFO "proftpd-utils已安装,无需重复安装"
|
||||
NEED_UNINSTALL=0
|
||||
fi
|
||||
|
||||
# 测试更新配额记录功能
|
||||
LOG_INFO "测试更新配额记录功能"
|
||||
ftpquota --update-record /path/to/quota.conf testuser 1000 2000 3000 4000
|
||||
CHECK_RESULT $? 0 0 "更新配额记录失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$NEED_UNINSTALL" -eq 1 ]; then
|
||||
LOG_INFO "卸载proftpd-utils"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试更新配额记录功能完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,64 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 ftptop 命令的 -A 参数,仅显示认证会话
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装proftpd-utils软件包
|
||||
LOG_INFO "检查是否已安装proftpd-utils软件包"
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "proftpd-utils未安装,将进行安装"
|
||||
INSTALLED=false
|
||||
else
|
||||
LOG_INFO "proftpd-utils已安装"
|
||||
INSTALLED=true
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在proftpd-utils软件包
|
||||
LOG_INFO "检查yum源中是否存在proftpd-utils软件包"
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装proftpd-utils
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在安装proftpd-utils"
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
fi
|
||||
|
||||
# 测试ftptop命令的-A参数
|
||||
LOG_INFO "测试ftptop命令的-A参数,仅显示认证会话"
|
||||
ftptop -A &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "ftptop命令的-A参数不支持或执行失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载proftpd-utils"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,66 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 ftptop 命令的 -D 参数,仅显示下载会话
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查环境是否已安装proftpd-utils软件包
|
||||
LOG_INFO "检查是否已安装proftpd-utils软件包..."
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "proftpd-utils未安装,开始安装..."
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils软件包,退出..."
|
||||
exit 255
|
||||
fi
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "proftpd-utils已安装,跳过安装步骤..."
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查ftptop命令是否支持-D参数
|
||||
LOG_INFO "检查ftptop命令是否支持-D参数..."
|
||||
if ! ftptop --help | grep -q "\-D"; then
|
||||
LOG_ERROR "ftptop命令不支持-D参数,退出..."
|
||||
if [ $INSTALLED -eq 1 ]; then
|
||||
dnf remove -y proftpd-utils
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行ftptop -D命令并检查结果
|
||||
LOG_INFO "执行ftptop -D命令,仅显示下载会话..."
|
||||
ftptop -D &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "执行ftptop -D命令失败"
|
||||
|
||||
# 清理环境:如果脚本安装了软件包则卸载
|
||||
if [ $INSTALLED -eq 1 ]; then
|
||||
LOG_INFO "卸载proftpd-utils软件包..."
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕,环境已恢复..."
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,80 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 ftptop 命令的 -I 参数,仅显示空闲连接
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查proftpd-utils是否已安装
|
||||
LOG_INFO "检查proftpd-utils是否已安装"
|
||||
rpm -q proftpd-utils > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "proftpd-utils已安装,脚本结束时将保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "proftpd-utils未安装,将在测试结束后卸载"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在proftpd-utils包
|
||||
LOG_INFO "检查yum源中是否存在proftpd-utils包"
|
||||
dnf list available proftpd-utils > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 若未安装则安装proftpd-utils
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装proftpd-utils"
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
fi
|
||||
|
||||
# 测试ftptop命令的-I参数
|
||||
LOG_INFO "测试ftptop命令的-I参数,仅显示空闲连接"
|
||||
ftptop -I > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "ftptop命令不支持-I参数"
|
||||
# 恢复环境
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载proftpd-utils"
|
||||
dnf remove -y proftpd-utils > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 模拟空闲连接并验证输出(此处仅为示例,实际测试可能需要真实环境)
|
||||
LOG_INFO "模拟空闲连接并验证ftptop -I输出"
|
||||
timeout 5 ftptop -I | grep -q "IDLE"
|
||||
CHECK_RESULT $? 0 0 "ftptop -I未正确显示空闲连接"
|
||||
|
||||
# 恢复环境(若脚本开始时未安装则卸载)
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载proftpd-utils"
|
||||
dnf remove -y proftpd-utils > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,74 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 ftptop 命令的 -a 参数,忽略认证连接
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装proftpd-utils
|
||||
LOG_INFO "检查是否已安装proftpd-utils"
|
||||
rpm -q proftpd-utils > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "proftpd-utils已安装,脚本结束后保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "proftpd-utils未安装,将在脚本结束后卸载"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有proftpd-utils
|
||||
LOG_INFO "检查yum源中是否有proftpd-utils"
|
||||
dnf list available proftpd-utils > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils,退出"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装proftpd-utils
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装proftpd-utils"
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
fi
|
||||
|
||||
# 检查ftptop命令是否支持-a参数
|
||||
LOG_INFO "检查ftptop命令是否支持-a参数"
|
||||
ftptop --help | grep -q "\-a"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "ftptop命令不支持-a参数,退出"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行ftptop -a命令
|
||||
LOG_INFO "执行ftptop -a命令,忽略认证连接"
|
||||
ftptop -a > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "ftptop -a命令执行失败"
|
||||
|
||||
# 清理环境:如果脚本开始时未安装proftpd-utils,则卸载
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载proftpd-utils"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,62 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 ftptop 命令的 -b 参数,批处理模式
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 ftptop 命令的 -b 参数,批处理模式"
|
||||
|
||||
# 检查是否已安装 proftpd-utils 包
|
||||
LOG_INFO "检查 proftpd-utils 是否已安装"
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "proftpd-utils 未安装,将进行安装"
|
||||
# 检查 yum 源中是否有该软件包
|
||||
LOG_INFO "检查 yum 源中是否存在 proftpd-utils"
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 proftpd-utils,退出测试"
|
||||
exit 255
|
||||
fi
|
||||
# 安装 proftpd-utils
|
||||
LOG_INFO "安装 proftpd-utils"
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装 proftpd-utils 失败"
|
||||
else
|
||||
LOG_INFO "proftpd-utils 已安装,无需重复安装"
|
||||
fi
|
||||
|
||||
# 测试 ftptop -b 参数
|
||||
LOG_INFO "测试 ftptop -b 参数"
|
||||
if ! ftptop -b &>/dev/null; then
|
||||
LOG_ERROR "ftptop -b 参数不支持或执行失败"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 清理环境(如果测试前未安装 proftpd-utils)
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "清理环境,卸载 proftpd-utils"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载 proftpd-utils 失败"
|
||||
else
|
||||
LOG_INFO "保持环境状态,不卸载 proftpd-utils"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试 ftptop -b 参数完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,66 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 ftptop 命令的 -d 5 参数,设置刷新延迟为5秒
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装proftpd-utils软件包
|
||||
LOG_INFO "检查是否已安装proftpd-utils软件包"
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "proftpd-utils未安装,开始安装"
|
||||
# 检查yum源中是否有proftpd-utils
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装proftpd-utils
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
# 标记为测试安装,需要在脚本结束时卸载
|
||||
TEST_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "proftpd-utils已安装"
|
||||
TEST_INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查ftptop命令是否支持-d参数
|
||||
LOG_INFO "检查ftptop命令是否支持-d参数"
|
||||
if ! ftptop --help | grep -q "\-d"; then
|
||||
LOG_ERROR "ftptop命令不支持-d参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试ftptop -d 5命令
|
||||
LOG_INFO "测试ftptop -d 5命令,设置刷新延迟为5秒"
|
||||
timeout 10 ftptop -d 5
|
||||
CHECK_RESULT $? 0 0 "执行ftptop -d 5失败"
|
||||
|
||||
# 清理环境
|
||||
if [ $TEST_INSTALLED -eq 1 ]; then
|
||||
LOG_INFO "卸载proftpd-utils软件包"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,67 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 ftptop 命令的 -f 参数,配置使用的ScoreboardFile
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装proftpd-utils软件包
|
||||
LOG_INFO "检查是否已安装proftpd-utils软件包"
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "proftpd-utils未安装,准备安装"
|
||||
# 检查yum源中是否有proftpd-utils
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装proftpd-utils
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "proftpd-utils已安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 测试ftptop命令的-f参数
|
||||
LOG_INFO "测试ftptop命令的-f参数"
|
||||
# 创建临时ScoreboardFile
|
||||
SCOREBOARD_FILE=$(mktemp)
|
||||
LOG_INFO "创建临时ScoreboardFile: $SCOREBOARD_FILE"
|
||||
|
||||
# 执行ftptop -f命令并检查结果
|
||||
ftptop -f "$SCOREBOARD_FILE" &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "执行ftptop -f命令失败"
|
||||
|
||||
# 清理临时文件
|
||||
LOG_INFO "清理临时文件"
|
||||
rm -f "$SCOREBOARD_FILE"
|
||||
|
||||
# 如果脚本开始时未安装proftpd-utils,则在结束时卸载
|
||||
if [ "$INSTALLED" -eq 1 ]; then
|
||||
LOG_INFO "卸载proftpd-utils软件包"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,73 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 ftptop 命令的 -i 参数,忽略空闲连接
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装proftpd-utils软件包
|
||||
LOG_INFO "检查是否已安装proftpd-utils软件包"
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "proftpd-utils未安装,将进行安装"
|
||||
installed=false
|
||||
else
|
||||
LOG_INFO "proftpd-utils已安装"
|
||||
installed=true
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有proftpd-utils软件包
|
||||
LOG_INFO "检查yum源中是否有proftpd-utils软件包"
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum源中无proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 若未安装则安装proftpd-utils
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装proftpd-utils"
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
fi
|
||||
|
||||
# 测试ftptop命令的-i参数
|
||||
LOG_INFO "测试ftptop命令的-i参数,忽略空闲连接"
|
||||
if ! ftptop -i &>/dev/null; then
|
||||
LOG_ERROR "ftptop命令不支持-i参数"
|
||||
# 若未安装则卸载proftpd-utils
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载proftpd-utils"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
CHECK_RESULT $? 0 0 "ftptop -i命令执行失败"
|
||||
|
||||
# 若未安装则卸载proftpd-utils
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载proftpd-utils"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
exit 0
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,71 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 ftptop 命令的 -n 10 参数,设置迭代次数为10次
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 ftptop 命令的 -n 10 参数,设置迭代次数为10次"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查 proftpd-utils 是否已安装"
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "proftpd-utils 未安装,将进行安装"
|
||||
INSTALLED=false
|
||||
else
|
||||
LOG_INFO "proftpd-utils 已安装"
|
||||
INSTALLED=true
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有 proftpd-utils
|
||||
LOG_INFO "检查 yum 源中是否有 proftpd-utils"
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 proftpd-utils"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在安装 proftpd-utils"
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装 proftpd-utils 失败"
|
||||
fi
|
||||
|
||||
# 检查 ftptop 命令是否支持 -n 参数
|
||||
LOG_INFO "检查 ftptop 命令是否支持 -n 参数"
|
||||
if ! ftptop --help | grep -q -- "-n"; then
|
||||
LOG_ERROR "ftptop 命令不支持 -n 参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行 ftptop -n 10 命令
|
||||
LOG_INFO "执行 ftptop -n 10 命令"
|
||||
ftptop -n 10
|
||||
CHECK_RESULT $? 0 0 "执行 ftptop -n 10 失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 proftpd-utils"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载 proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,79 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-13
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 ftptop 命令的 -A 参数,仅显示认证会话
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装proftpd-utils软件包
|
||||
LOG_INFO "检查是否已安装proftpd-utils软件包"
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "proftpd-utils未安装,准备安装"
|
||||
# 检查yum源中是否有proftpd-utils软件包
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装proftpd-utils
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
# 标记需要卸载
|
||||
UNINSTALL=true
|
||||
else
|
||||
LOG_INFO "proftpd-utils已安装,无需重复安装"
|
||||
UNINSTALL=false
|
||||
fi
|
||||
|
||||
# 测试ftptop命令的-A参数功能
|
||||
LOG_INFO "测试ftptop命令的-A参数功能"
|
||||
# 检查ftptop命令是否存在
|
||||
if ! command -v ftptop &>/dev/null; then
|
||||
LOG_ERROR "未找到ftptop命令"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行带-A参数的ftptop命令并捕获输出(模拟会话)
|
||||
LOG_INFO "执行ftptop -A命令"
|
||||
output=$(ftptop -A 2>&1)
|
||||
ret=$?
|
||||
# 检查命令是否支持-A参数(通过返回值和输出判断)
|
||||
if [ $ret -ne 0 ]; then
|
||||
if [[ "$output" == *"invalid option"* ]] || [[ "$output" == *"unrecognized option"* ]]; then
|
||||
LOG_ERROR "ftptop命令不支持-A参数"
|
||||
exit 255
|
||||
else
|
||||
LOG_ERROR "执行ftptop -A命令失败"
|
||||
exit $ret
|
||||
fi
|
||||
fi
|
||||
|
||||
# 验证输出是否符合预期(示例:检查输出是否包含认证会话相关字段)
|
||||
LOG_INFO "验证输出内容是否符合预期(仅显示认证会话)"
|
||||
if [[ "$output" == *"authenticated sessions"* ]]; then
|
||||
LOG_INFO "测试通过:输出包含认证会话信息"
|
||||
else
|
||||
LOG_ERROR "测试失败:输出未包含预期的认证会话信息"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 环境清理
|
||||
if [ "$UNINSTALL" = true ]; then
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,71 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-13
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 ftptop 命令的 -D 参数,仅显示下载会话
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装 proftpd-utils 软件包
|
||||
LOG_INFO "检查是否已安装 proftpd-utils 软件包"
|
||||
rpm -q proftpd-utils > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "proftpd-utils 已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "proftpd-utils 未安装,脚本结束后将卸载"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否存在 proftpd-utils 软件包
|
||||
LOG_INFO "检查 yum 源中是否存在 proftpd-utils 软件包"
|
||||
dnf list available proftpd-utils > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum 源中未找到 proftpd-utils 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装 proftpd-utils 软件包(如果未安装)
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "正在安装 proftpd-utils"
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装 proftpd-utils 失败"
|
||||
fi
|
||||
|
||||
# 测试 ftptop 命令的 -D 参数功能
|
||||
LOG_INFO "测试 ftptop 命令的 -D 参数功能"
|
||||
ftptop -D > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "不支持 ftptop 命令的 -D 参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 验证 ftptop -D 仅显示下载会话(模拟测试)
|
||||
LOG_INFO "验证 ftptop -D 仅显示下载会话"
|
||||
CHECK_RESULT $? 0 0 "验证失败"
|
||||
|
||||
# 清理环境(如果最初未安装)
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载 proftpd-utils"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载 proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,65 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-13
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 ftptop 命令的 -I 参数,仅显示空闲连接
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 ftptop 命令的 -I 参数,仅显示空闲连接"
|
||||
|
||||
# 检查是否已安装 proftpd-utils 软件包
|
||||
LOG_INFO "检查 proftpd-utils 是否已安装"
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "proftpd-utils 未安装,准备安装"
|
||||
# 检查 yum 源中是否有 proftpd-utils
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 proftpd-utils 软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装 proftpd-utils
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装 proftpd-utils 失败"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "proftpd-utils 已安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查 ftptop -I 参数是否存在
|
||||
LOG_INFO "检查 ftptop -I 参数是否支持"
|
||||
if ! ftptop --help | grep -q "\-I"; then
|
||||
LOG_ERROR "ftptop -I 参数不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行 ftptop -I,仅显示空闲连接
|
||||
LOG_INFO "执行 ftptop -I,仅显示空闲连接"
|
||||
ftptop -I > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "执行 ftptop -I 失败"
|
||||
|
||||
# 清理环境,如果脚本开始时安装了软件包则卸载
|
||||
if [ "$INSTALLED" -eq 1 ]; then
|
||||
LOG_INFO "卸载 proftpd-utils"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载 proftpd-utils 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,85 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-13
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 ftptop 命令的 -S 参数,仅显示指定ServerName的会话
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
LOG_INFO "开始测试 ftptop 命令的 -S 参数,仅显示指定ServerName的会话"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
if ! rpm -q proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "环境未安装 proftpd-utils,将进行安装"
|
||||
# 检查yum源中是否有该软件包
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到 proftpd-utils 软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装软件包
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装 proftpd-utils 失败"
|
||||
# 标记需要卸载
|
||||
UNINSTALL_NEEDED=1
|
||||
else
|
||||
LOG_INFO "环境已安装 proftpd-utils,无需重复安装"
|
||||
UNINSTALL_NEEDED=0
|
||||
fi
|
||||
|
||||
# 检查 ftptop 命令是否存在
|
||||
if ! command -v ftptop &>/dev/null; then
|
||||
LOG_ERROR "ftptop 命令不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试 ftptop -S 参数
|
||||
LOG_INFO "测试 ftptop -S 参数"
|
||||
SERVER_NAME="test_server"
|
||||
# 模拟一个会话(需确保proftpd服务运行并有会话)
|
||||
LOG_INFO "模拟一个会话到 $SERVER_NAME"
|
||||
|
||||
# SSH到第二个节点执行命令(假设需要)
|
||||
# SSH_CMD "command_to_simulate_session" $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER
|
||||
|
||||
# 执行 ftptop -S $SERVER_NAME,检查是否仅显示指定ServerName的会话
|
||||
ftptop -S "$SERVER_NAME" > /tmp/ftptop_output.txt
|
||||
CHECK_RESULT $? 0 0 "执行 ftptop -S 失败"
|
||||
|
||||
# 检查输出是否符合预期
|
||||
if grep -q "$SERVER_NAME" /tmp/ftptop_output.txt; then
|
||||
LOG_INFO "ftptop -S $SERVER_NAME成功显示指定ServerName的会话"
|
||||
else
|
||||
LOG_ERROR "ftptop -S $SERVER_NAME未能显示指定ServerName的会话"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理临时文件
|
||||
rm -f /tmp/ftptop_output.txt
|
||||
|
||||
#恢复环境
|
||||
if [ "$UNINSTALL_NEEDED" -eq 1 ]; then
|
||||
LOG_INFO "卸载 proftpd-utils"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载 proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,74 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-13
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 ftptop 命令的 -U 参数,仅显示上传会话
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装proftpd-utils
|
||||
LOG_INFO "检查是否已安装proftpd-utils"
|
||||
rpm -q proftpd-utils > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "proftpd-utils已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "proftpd-utils未安装,脚本结束时将卸载"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有proftpd-utils
|
||||
LOG_INFO "检查yum源中是否有proftpd-utils"
|
||||
dnf list available proftpd-utils > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils,退出码255"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装proftpd-utils
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装proftpd-utils"
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
fi
|
||||
|
||||
# 检查ftptop命令是否支持-U参数
|
||||
LOG_INFO "检查ftptop命令是否支持-U参数"
|
||||
man ftptop | grep -q "\-U" > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "ftptop命令不支持-U参数,退出码255"
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试ftptop命令的-U参数
|
||||
LOG_INFO "测试ftptop命令的-U参数,仅显示上传会话"
|
||||
timeout 5 ftptop -U > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "执行ftptop -U失败"
|
||||
|
||||
# 恢复环境
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载proftpd-utils"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 00"卸载pro ft pd utils失败"
|
||||
fi
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,64 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-13
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 ftptop 命令的 -V 参数,显示版本信息
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 ftptop 命令的 -V 参数,显示版本信息"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查 proftpd-utils 软件包是否已安装"
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "proftpd-utils 未安装,将进行安装"
|
||||
INSTALLED=false
|
||||
else
|
||||
LOG_INFO "proftpd-utils 已安装"
|
||||
INSTALLED=true
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有 proftpd-utils
|
||||
LOG_INFO "检查 yum 源中是否有 proftpd-utils"
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 proftpd-utils 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在安装 proftpd-utils"
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装 proftpd-utils 失败"
|
||||
fi
|
||||
|
||||
# 测试 ftptop -V 参数
|
||||
LOG_INFO "测试 ftptop -V 参数,显示版本信息"
|
||||
ftptop -V
|
||||
CHECK_RESULT $? 0 0 "执行 ftptop -V 失败"
|
||||
|
||||
# 恢复环境:如果脚本开始时未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "恢复环境:卸载 proftpd-utils"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载 proftpd-utils 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,66 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-13
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用 -c 参数指定 proftpd 配置文件路径
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 proftpd-utils 的 ftpwho -c 参数功能"
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
LOG_INFO "检查 yum 源中是否存在 proftpd-utils 软件包"
|
||||
dnf list available proftpd-utils &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum 源中未找到 proftpd-utils 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装 proftpd-utils
|
||||
LOG_INFO "检查系统中是否已安装 proftpd-utils"
|
||||
rpm -q proftpd-utils &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
installed=true
|
||||
LOG_INFO "proftpd-utils 已安装"
|
||||
else
|
||||
installed=false
|
||||
LOG_INFO "proftpd-utils 未安装,将进行安装"
|
||||
fi
|
||||
|
||||
# 若未安装则安装软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装 proftpd-utils"
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装 proftpd-utils 失败"
|
||||
fi
|
||||
|
||||
# 测试 ftpwho -c 参数功能
|
||||
LOG_INFO "测试 ftpwho -c /etc/proftpd.conf"
|
||||
ftpwho -c /etc/proftpd.conf &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "ftpwho -c 参数测试失败"
|
||||
|
||||
# 清理环境:若之前未安装则卸载软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载 proftpd-utils"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载 proftpd-utils 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,74 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-13
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用 -f 参数指定 scoreboard 文件路径
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装proftpd-utils软件包
|
||||
LOG_INFO "检查是否已安装proftpd-utils软件包"
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "proftpd-utils未安装,将进行安装"
|
||||
# 检查yum源中是否有proftpd-utils
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装proftpd-utils
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
# 标记需要卸载
|
||||
UNINSTALL=1
|
||||
else
|
||||
LOG_INFO "proftpd-utils已安装,无需重复安装"
|
||||
UNINSTALL=0
|
||||
fi
|
||||
|
||||
# 测试使用 -f 参数指定 scoreboard 文件路径
|
||||
LOG_INFO "测试使用 -f 参数指定 scoreboard 文件路径"
|
||||
# 创建临时scoreboard文件
|
||||
TMP_SCOREBOARD=$(mktemp)
|
||||
LOG_INFO "创建临时scoreboard文件: $TMP_SCOREBOARD"
|
||||
|
||||
# 测试ftpwho命令的-f参数支持情况
|
||||
if ! ftpwho --help | grep -q -- "-f"; then
|
||||
LOG_ERROR "ftpwho命令不支持-f参数"
|
||||
rm -f "$TMP_SCOREBOARD"
|
||||
[ "$UNINSTALL" -eq 1 ] && dnf remove -y proftpd-utils
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行ftpwho命令并检查结果
|
||||
LOG_INFO "执行ftpwho -f $TMP_SCOREBOARD"
|
||||
ftpwho -f "$TMP_SCOREBOARD" &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "ftpwho命令执行失败"
|
||||
|
||||
# 清理临时文件和环境恢复
|
||||
LOG_INFO "清理临时文件和环境恢复"
|
||||
rm -f "$TMP_SCOREBOARD"
|
||||
if [ "$UNINSTALL" -eq 1 ]; then
|
||||
LOG_INFO "卸载proftpd-utils软件包"
|
||||
dnf remove -y proftpd-utils
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,68 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-13
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用 -h 参数显示 ftpwho 帮助信息
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查yum源中是否存在proftpd-utils软件包
|
||||
LOG_INFO "检查yum源中是否存在proftpd-utils软件包"
|
||||
dnf list available proftpd-utils &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装proftpd-utils
|
||||
LOG_INFO "检查是否已安装proftpd-utils"
|
||||
rpm -q proftpd-utils &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
installed=true
|
||||
LOG_INFO "proftpd-utils已安装"
|
||||
else
|
||||
installed=false
|
||||
LOG_INFO "proftpd-utils未安装,将进行安装"
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装proftpd-utils
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "正在安装proftpd-utils"
|
||||
dnf install -y proftpd-utils &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
fi
|
||||
|
||||
# 测试ftpwho命令的-h参数是否可用
|
||||
LOG_INFO "测试ftpwho命令的-h参数是否可用"
|
||||
ftpwho -h &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "ftpwho命令不支持-h参数"
|
||||
|
||||
# 根据初始状态决定是否卸载proftpd-utils
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "正在卸载proftpd-utils"
|
||||
dnf remove -y proftpd-utils &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
else
|
||||
LOG_INFO "保持proftpd-utils的安装状态不变"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,60 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-13
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用 -o 参数指定输出格式
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 test_proftpd-utils_ftpwho__o 脚本"
|
||||
|
||||
# 检查是否已安装 proftpd-utils 软件包
|
||||
LOG_INFO "检查 proftpd-utils 是否已安装"
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "proftpd-utils 未安装,将进行安装"
|
||||
# 检查 yum 源中是否有该软件包
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 proftpd-utils 软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装软件包
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装 proftpd-utils 失败"
|
||||
# 标记为需要卸载
|
||||
UNINSTALL=1
|
||||
else
|
||||
LOG_INFO "proftpd-utils 已安装,无需重新安装"
|
||||
UNINSTALL=0
|
||||
fi
|
||||
|
||||
# 测试 ftpwho -o 参数
|
||||
LOG_INFO "测试 ftpwho -o 参数"
|
||||
ftpwho -o &>/dev/null
|
||||
if [ $? -eq 255 ]; then
|
||||
LOG_ERROR "ftpwho -o 参数不支持或不存在"
|
||||
exit 255
|
||||
fi
|
||||
CHECK_RESULT $? 0 0 "ftpwho -o 执行失败"
|
||||
|
||||
# 清理环境:如果脚本开始时未安装 proftpd-utils,则卸载
|
||||
if [ $UNINSTALL -eq 1 ]; then
|
||||
LOG_INFO "卸载 proftpd-utils"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? ————————————————————————————————————————————————————————————————
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,72 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-13
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用 -S 参数显示指定 ServerName 的用户
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 test_proftpd-utils_ftpwho__upper_s"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查 proftpd-utils 是否已安装"
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "proftpd-utils 未安装,将进行安装"
|
||||
INSTALLED=false
|
||||
else
|
||||
LOG_INFO "proftpd-utils 已安装"
|
||||
INSTALLED=true
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有 proftpd-utils
|
||||
LOG_INFO "检查 yum 源中是否有 proftpd-utils"
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 proftpd-utils"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装 proftpd-utils
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装 proftpd-utils"
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装 proftpd-utils 失败"
|
||||
fi
|
||||
|
||||
# 测试 ftpwho -S 参数
|
||||
LOG_INFO "测试 ftpwho -S 参数"
|
||||
ftpwho -S &>/dev/null
|
||||
if [ $? -eq 255 ]; then
|
||||
LOG_ERROR "ftpwho 不支持 -S 参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行 ftpwho -S 命令并检查结果
|
||||
LOG_INFO "执行 ftpwho -S 命令"
|
||||
ftpwho -S
|
||||
CHECK_RESULT $? 0 0 "ftpwho -S 命令执行失败"
|
||||
|
||||
# 恢复环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 proftpd-utils"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载 proftpd-utils 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试 test_proftpd-utils_ftpwho__upper_s 完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,57 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-13
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用 -v 参数显示每个连接的额外信息
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试proftpd-utils软件包的ftpwho命令-v参数功能"
|
||||
|
||||
# 检查proftpd-utils是否已安装
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "proftpd-utils未安装,将进行安装"
|
||||
# 检查yum源中是否有proftpd-utils
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装proftpd-utils
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
# 标记需要卸载
|
||||
NEED_UNINSTALL=1
|
||||
else
|
||||
LOG_INFO "proftpd-utils已安装,无需重复安装"
|
||||
fi
|
||||
|
||||
# 测试ftpwho -v命令
|
||||
LOG_INFO "测试ftpwho -v命令"
|
||||
ftpwho -v &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "ftpwho -v命令执行失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$NEED_UNINSTALL" == "1" ]; then
|
||||
LOG_INFO "卸载proftpd-utils"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,60 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 ftptop 命令的-S参数,仅显示指定ServerName的连接
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查proftpd-utils是否已安装
|
||||
LOG_INFO "检查proftpd-utils是否已安装"
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "proftpd-utils未安装,开始安装"
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "proftpd-utils已安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 测试ftptop命令的-S参数功能
|
||||
LOG_INFO "测试ftptop命令的-S参数功能"
|
||||
# 模拟一个ServerName为test_server的连接(假设已存在)
|
||||
LOG_INFO "模拟ServerName为test_server的连接"
|
||||
# 使用-S参数仅显示指定ServerName的连接
|
||||
LOG_INFO "执行ftptop -S test_server"
|
||||
ftptop -S test_server &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "ftptop -S参数不支持或执行失败"
|
||||
|
||||
# 清理环境:如果脚本开始时未安装proftpd-utils,则卸载
|
||||
if [ $INSTALLED -eq 1 ]; then
|
||||
LOG_INFO "卸载proftpd-utils"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,62 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-13
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试配置文件解析功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装proftpd-utils软件包
|
||||
LOG_INFO "检查是否已安装proftpd-utils软件包"
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "proftpd-utils未安装,将进行安装"
|
||||
INSTALLED=false
|
||||
else
|
||||
LOG_INFO "proftpd-utils已安装"
|
||||
INSTALLED=true
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在proftpd-utils软件包
|
||||
LOG_INFO "检查yum源中是否存在proftpd-utils软件包"
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum源中不存在proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装proftpd-utils
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装proftpd-utils软件包"
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
fi
|
||||
|
||||
# 测试配置文件解析功能
|
||||
LOG_INFO "测试配置文件解析功能"
|
||||
ftpwho -h &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "ftpwho命令不支持-h参数"
|
||||
|
||||
# 清理环境:如果脚本开始时未安装,则卸载proftpd-utils
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载proftpd-utils软件包"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,66 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用--shell参数设置用户默认shell
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试使用--shell参数设置用户默认shell"
|
||||
|
||||
# 检查是否已安装proftpd-utils软件包
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "环境未安装proftpd-utils,将进行安装"
|
||||
# 检查yum源中是否有proftpd-utils软件包
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装proftpd-utils
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
else
|
||||
LOG_INFO "环境已安装proftpd-utils"
|
||||
fi
|
||||
|
||||
# 测试ftpasswd命令的--shell参数
|
||||
LOG_INFO "测试使用--shell参数设置用户默认shell"
|
||||
user="testuser"
|
||||
shell="/bin/bash"
|
||||
output=$(ftpasswd --passwd --name "$user" --shell "$shell" --uid 1000 --gid 1000 --home /home/"$user" --file /etc/proftpd/ftpd.passwd)
|
||||
CHECK_RESULT $? 0 0 "设置用户默认shell失败"
|
||||
|
||||
# 验证设置的默认shell是否正确
|
||||
LOG_INFO "验证设置的默认shell是否正确"
|
||||
grep_output=$(grep "^$user:" /etc/proftpd/ftpd.passwd | cut -d: -f7)
|
||||
CHECK_RESULT "$grep_output" "$shell" 0 "设置的默认shell与预期不符"
|
||||
|
||||
# 清理测试用户
|
||||
LOG_INFO "清理测试用户"
|
||||
sed -i "/^$user:/d" /etc/proftpd/ftpd.passwd
|
||||
CHECK_RESULT $? 0 0 "清理测试用户失败"
|
||||
|
||||
# 如果脚本开始时安装了软件包,则在结束时卸载
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "脚本开始时未安装proftpd-utils,无需卸载"
|
||||
else
|
||||
LOG_INFO "脚本开始时安装了proftpd-utils,将进行卸载"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd utils失败"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,71 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用--uid参数设置用户ID
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装proftpd-utils软件包
|
||||
LOG_INFO "检查是否已安装proftpd-utils软件包"
|
||||
rpm -q proftpd-utils >/dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "proftpd-utils已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "proftpd-utils未安装,脚本结束后将卸载"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有proftpd-utils软件包
|
||||
LOG_INFO "检查yum源中是否有proftpd-utils软件包"
|
||||
dnf list available proftpd-utils >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中没有proftpd-utils软件包,退出"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装proftpd-utils软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装proftpd-utils软件包"
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
fi
|
||||
|
||||
# 测试--uid参数设置用户ID
|
||||
LOG_INFO "测试--uid参数设置用户ID"
|
||||
ftpasswd --passwd --name testuser --uid 1001 --home /home/testuser --shell /bin/bash --file /etc/proftpd/ftpd.passwd
|
||||
CHECK_RESULT $? 0 0 "使用--uid参数设置用户ID失败"
|
||||
|
||||
# 验证用户ID是否设置成功
|
||||
LOG_INFO "验证用户ID是否设置成功"
|
||||
grep "testuser" /etc/proftpd/ftpd.passwd | grep -q "1001"
|
||||
CHECK_RESULT $? 0 0 "用户ID未正确设置"
|
||||
|
||||
# 清理测试数据
|
||||
LOG_INFO "清理测试数据"
|
||||
rm -f /etc/proftpd/ftpd.passwd
|
||||
|
||||
# 如果脚本开始时未安装proftpd-utils,则卸载
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载proftpd-utils软件包"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,66 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试ftpmail命令的--verbose参数启用详细输出
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试ftpmail命令的--verbose参数启用详细输出"
|
||||
|
||||
# 检查proftpd-utils软件包是否已安装
|
||||
LOG_INFO "检查proftpd-utils软件包是否已安装"
|
||||
if ! rpm -q proftpd-utils >/dev/null 2>&1; then
|
||||
LOG_INFO "proftpd-utils未安装,开始安装"
|
||||
# 检查yum源中是否有proftpd-utils软件包
|
||||
if ! dnf list available proftpd-utils >/dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "proftpd-utils已安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 测试ftpmail命令的--verbose参数
|
||||
LOG_INFO "测试ftpmail命令的--verbose参数"
|
||||
if ! ftpmail --help | grep -q -- "--verbose"; then
|
||||
LOG_ERROR "ftpmail命令不支持--verbose参数"
|
||||
if [ $INSTALLED -eq 1 ]; then
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
ftpmail --verbose >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "执行ftpmail --verbose失败"
|
||||
|
||||
# 清理环境
|
||||
if [ $INSTALLED -eq 1 ]; then
|
||||
LOG_INFO "清理环境,卸载proftpd-utils"
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,62 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试指定表类型为all
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装proftpd-utils
|
||||
if ! dnf list installed proftpd-utils &>/dev/null; then
|
||||
LOG_INFO "环境未安装proftpd-utils,将进行安装并测试后卸载"
|
||||
INSTALLED=false
|
||||
else
|
||||
LOG_INFO "环境已安装proftpd-utils,测试后将保持安装状态"
|
||||
INSTALLED=true
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有proftpd-utils
|
||||
if ! dnf list available proftpd-utils &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到proftpd-utils软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装proftpd-utils
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在安装proftpd-utils..."
|
||||
dnf install -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "安装proftpd-utils失败"
|
||||
fi
|
||||
|
||||
# 测试ftpquota命令的type参数为all
|
||||
LOG_INFO "测试ftpquota命令的type参数为all..."
|
||||
ftpquota --type all &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "ftpquota命令不支持type参数为all"
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载proftpd-utils
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在卸载proftpd-utils..."
|
||||
dnf remove -y proftpd-utils
|
||||
CHECK_RESULT $? 0 0 "卸载proftpd-utils失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user