Merge branch 'pkg' of http://10.30.190.190:54866/redrsoe2100/os-autotest into pkg
This commit is contained in:
@@ -5,26 +5,6 @@
|
||||
{
|
||||
"name": "test_flac-devel_function_install",
|
||||
"desc": "测试flac-devel软件包能否正确安装"
|
||||
},
|
||||
{
|
||||
"name": "test_flac-devel_function_check",
|
||||
"desc": "测试检查flac-devel软件包是否已安装"
|
||||
},
|
||||
{
|
||||
"name": "test_flac-devel_function_compile",
|
||||
"desc": "测试使用flac开发库编译示例程序"
|
||||
},
|
||||
{
|
||||
"name": "test_flac-devel_function_header",
|
||||
"desc": "测试flac开发头文件的存在与完整性"
|
||||
},
|
||||
{
|
||||
"name": "test_flac-devel_function_library",
|
||||
"desc": "测试flac开发库文件的存在与链接"
|
||||
},
|
||||
{
|
||||
"name": "test_flac-devel_function_uninstall",
|
||||
"desc": "测试flac-devel软件包能否正确卸载"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -5,18 +5,6 @@
|
||||
{
|
||||
"name": "test_fxload-help_function_install",
|
||||
"desc": "Test the installation of fxload-help package"
|
||||
},
|
||||
{
|
||||
"name": "test_fxload-help_function_remove",
|
||||
"desc": "Test the removal of fxload-help package"
|
||||
},
|
||||
{
|
||||
"name": "test_fxload-help_function_version",
|
||||
"desc": "Test displaying the package version"
|
||||
},
|
||||
{
|
||||
"name": "test_fxload-help_function_help",
|
||||
"desc": "Test displaying the help information"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -5,10 +5,6 @@
|
||||
{
|
||||
"name": "test_g2clib-devel_function_install",
|
||||
"desc": "Test package installation"
|
||||
},
|
||||
{
|
||||
"name": "test_g2clib-devel_function_build",
|
||||
"desc": "Test package build functionality"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -154,10 +154,6 @@
|
||||
"name": "test_gnupg2_gpg_n",
|
||||
"desc": "执行空运行,不进行实际更改"
|
||||
},
|
||||
{
|
||||
"name": "test_gnupg2_gpg-agent__min_passphrase_nonalpha",
|
||||
"desc": "测试设置新密码短语中至少需要非字母字符的数量"
|
||||
},
|
||||
{
|
||||
"name": "test_gnupg2_gpg-card__status_fd",
|
||||
"desc": "测试使用 status-fd 参数,指定文件描述符来写入状态信息"
|
||||
@@ -230,10 +226,6 @@
|
||||
"name": "test_gnupg2_gpg-agent__c",
|
||||
"desc": "测试以csh风格输出命令的gpg-agent"
|
||||
},
|
||||
{
|
||||
"name": "test_gnupg2_gpg-agent__disable-scdaemon",
|
||||
"desc": "测试启动时不使用SCdaemon的gpg-agent"
|
||||
},
|
||||
{
|
||||
"name": "test_gnupg2_gpg-agent__keep-display",
|
||||
"desc": "测试忽略更改X显示请求的gpg-agent"
|
||||
|
||||
@@ -25,22 +25,6 @@
|
||||
{
|
||||
"name": "test_hdparm-help_function_man_access",
|
||||
"desc": "测试安装hdparm-help后,能否通过`man hdparm`命令成功访问到其提供的帮助手册页。"
|
||||
},
|
||||
{
|
||||
"name": "test_hdparm-help_function_version_check",
|
||||
"desc": "测试通过包管理器查询hdparm-help软件包的版本信息,验证其版本号与预期一致。"
|
||||
},
|
||||
{
|
||||
"name": "test_hdparm-help_function_file_integrity",
|
||||
"desc": "测试hdparm-help软件包安装后,其核心手册页文件的完整性(如校验MD5或SHA256值)。"
|
||||
},
|
||||
{
|
||||
"name": "test_hdparm-help_function_conflict_check",
|
||||
"desc": "测试在已安装hdparm或相关软件包的系统上,安装hdparm-help是否会产生文件冲突或依赖问题。"
|
||||
},
|
||||
{
|
||||
"name": "test_hdparm-help_function_offline_install",
|
||||
"desc": "测试在无网络环境下,通过本地软件包仓库或离线包能否成功安装hdparm-help软件包。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6,18 +6,6 @@
|
||||
"name": "test_kunpengsecl-tas_install",
|
||||
"desc": "测试软件包 kunpengsecl-tas 的安装功能,验证安装过程是否成功完成。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_kunpengsecl-tas_Huawei",
|
||||
"desc": "测试 Huawei 命令的基本功能"
|
||||
},
|
||||
{
|
||||
"name": "test_kunpengsecl-tas_tas__upper_t",
|
||||
"desc": "测试 tas 命令的 -T 参数,用于生成 rest api 的测试 token"
|
||||
},
|
||||
{
|
||||
"name": "test_kunpengsecl-tas_function_config",
|
||||
"desc": "测试软件包 kunpengsecl-tas 的配置文件加载功能,验证配置是否正确解析和应用。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/lodash/nodejs-lodash-toplainobject",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_nodejs-lodash-toplainobject_function_install",
|
||||
"desc": "测试软件包nodejs-lodash-toplainobject能否通过包管理器(如npm)正常安装"
|
||||
},
|
||||
{
|
||||
"name": "test_nodejs-lodash-toplainobject_function_require",
|
||||
"desc": "测试在Node.js环境中能够成功require引入lodash.toplainobject模块"
|
||||
},
|
||||
{
|
||||
"name": "test_nodejs-lodash-toplainobject_function_basic",
|
||||
"desc": "测试toPlainObject函数将对象转换为普通对象的基本功能"
|
||||
},
|
||||
{
|
||||
"name": "test_nodejs-lodash-toplainobject_function_inherit",
|
||||
"desc": "测试toPlainObject函数对继承属性的转换处理"
|
||||
},
|
||||
{
|
||||
"name": "test_nodejs-lodash-toplainobject_function_uninstall",
|
||||
"desc": "测试软件包nodejs-lodash-toplainobject能否通过包管理器(如npm)正常卸载"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -9,26 +9,6 @@
|
||||
{
|
||||
"name": "test_python3-meh_remove",
|
||||
"desc": "Test removal of python3-meh package"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-meh_function_install",
|
||||
"desc": "Test installation of python3-meh package"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-meh_function_remove",
|
||||
"desc": "Test removal of python3-meh package"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-meh_function_version",
|
||||
"desc": "Test querying installed package version"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-meh_function_import",
|
||||
"desc": "Test importing meh module in Python"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-meh_function_help",
|
||||
"desc": "Test accessing module help or documentation"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,29 +2,9 @@
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/python-pydot/python-pydot-help",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_python-pydot-help_install",
|
||||
"desc": "测试python-pydot-help软件包的安装功能是否正常"
|
||||
},
|
||||
{
|
||||
"name": "test_python-pydot-help_import",
|
||||
"desc": "测试导入python-pydot-help模块是否成功"
|
||||
},
|
||||
{
|
||||
"name": "test_python-pydot-help_basic_usage",
|
||||
"desc": "测试python-pydot-help生成简单图形的核心功能"
|
||||
},
|
||||
{
|
||||
"name": "test_python-pydot-help_graph_attr",
|
||||
"desc": "测试python-pydot-help设置图形属性的功能"
|
||||
},
|
||||
{
|
||||
"name": "test_python-pydot-help_render",
|
||||
"desc": "测试python-pydot-help渲染输出图像文件的功能"
|
||||
},
|
||||
{
|
||||
"name": "test_python-pydot-help_uninstall",
|
||||
"desc": "测试python-pydot-help软件包的卸载功能是否正常"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -5,26 +5,6 @@
|
||||
{
|
||||
"name": "test_samba-dc-bind-dlz_function_uninstall",
|
||||
"desc": "Test package uninstallation"
|
||||
},
|
||||
{
|
||||
"name": "test_samba-dc-bind-dlz_function_install",
|
||||
"desc": "Test package installation and verify successful installation"
|
||||
},
|
||||
{
|
||||
"name": "test_samba-dc-bind-dlz_function_config",
|
||||
"desc": "Test basic configuration and service startup"
|
||||
},
|
||||
{
|
||||
"name": "test_samba-dc-bind-dlz_function_dns_resolve",
|
||||
"desc": "Test DNS resolution functionality via BIND DLZ"
|
||||
},
|
||||
{
|
||||
"name": "test_samba-dc-bind-dlz_function_ad_integrate",
|
||||
"desc": "Test integration with Samba Active Directory"
|
||||
},
|
||||
{
|
||||
"name": "test_samba-dc-bind-dlz_function_service_status",
|
||||
"desc": "Test service status and basic operations"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-b/texlive-aspectratio",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-aspectratio_function_basic",
|
||||
"desc": "Test basic functionality of aspectratio package"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-aspectratio_function_install",
|
||||
"desc": "Test installation of the aspectratio package"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-aspectratio_function_uninstall",
|
||||
"desc": "Test uninstallation of the aspectratio package"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-aspectratio_function_setratio",
|
||||
"desc": "Test setting the aspect ratio in document"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-aspectratio_function_compile",
|
||||
"desc": "Test document compilation with aspectratio"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6,10 +6,6 @@
|
||||
"name": "test_texlive-docbytex-doc_install",
|
||||
"desc": "测试 texlive-docbytex-doc 软件包的安装功能,验证是否能够正确安装到系统中。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-docbytex-doc_function_render",
|
||||
"desc": "测试 texlive-docbytex-doc 的文档渲染功能,验证是否能正确生成文档。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -17,10 +17,6 @@
|
||||
{
|
||||
"name": "test_texlive-eco-doc_function_info",
|
||||
"desc": "Test package info query"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-eco-doc_function_usage",
|
||||
"desc": "Test basic LaTeX usage"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-j/texlive-gmverb",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-gmverb_function_basic",
|
||||
"desc": "Test basic functionality of texlive-gmverb"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -9,18 +9,6 @@
|
||||
{
|
||||
"name": "test_texlive-grid-doc_function_remove",
|
||||
"desc": "Test package removal"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-grid-doc_function_search",
|
||||
"desc": "Test package search"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-grid-doc_function_verify",
|
||||
"desc": "Test package verification"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-grid-doc_function_usage",
|
||||
"desc": "Test document usage"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6,10 +6,6 @@
|
||||
"name": "test_texlive-hyphen-spanish_function_install",
|
||||
"desc": "Test package installation"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-hyphen-spanish_function_verify_install",
|
||||
"desc": "Test package installation verification"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-hyphen-spanish_function_remove",
|
||||
"desc": "Test package removal"
|
||||
@@ -17,10 +13,6 @@
|
||||
{
|
||||
"name": "test_texlive-hyphen-spanish_function_check_files",
|
||||
"desc": "Test existence of hyphenation files"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-hyphen-spanish_function_usage",
|
||||
"desc": "Test basic LaTeX hyphenation usage"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-z/texlive-soulpos",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-soulpos_function_spacing",
|
||||
"desc": "Test spacing adjustment functionality"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-z/texlive-yafoot",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-yafoot_function_install",
|
||||
"desc": "Verify package installation"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,85 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-10
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试检查flac-devel软件包是否已安装
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:检查flac-devel软件包是否已安装"
|
||||
|
||||
# 检查flac-devel是否已安装
|
||||
LOG_INFO "步骤1:检查flac-devel软件包是否已安装"
|
||||
if rpm -q flac-devel > /dev/null 2>&1; then
|
||||
LOG_INFO "flac-devel软件包已安装"
|
||||
installed_before_test=true
|
||||
else
|
||||
LOG_INFO "flac-devel软件包未安装"
|
||||
installed_before_test=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有flac-devel软件包
|
||||
LOG_INFO "步骤2:检查yum源中是否有flac-devel软件包"
|
||||
if dnf list available flac-devel 2>/dev/null | grep -q flac-devel; then
|
||||
LOG_INFO "yum源中存在flac-devel软件包"
|
||||
else
|
||||
LOG_ERROR "yum源中不存在flac-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装flac-devel软件包
|
||||
if [ "$installed_before_test" = false ]; then
|
||||
LOG_INFO "步骤3:安装flac-devel软件包"
|
||||
dnf install -y flac-devel
|
||||
CHECK_RESULT $? 0 0 "安装flac-devel软件包失败"
|
||||
LOG_INFO "flac-devel软件包安装成功"
|
||||
fi
|
||||
|
||||
# 测试flac-devel软件包功能
|
||||
LOG_INFO "步骤4:测试flac-devel软件包功能"
|
||||
# 检查flac-config命令是否存在
|
||||
if command -v flac-config > /dev/null 2>&1; then
|
||||
LOG_INFO "flac-config命令存在"
|
||||
# 检查flac-config命令是否支持--version参数
|
||||
if flac-config --version > /dev/null 2>&1; then
|
||||
LOG_INFO "flac-config命令支持--version参数"
|
||||
flac-config --version
|
||||
CHECK_RESULT $? 0 0 "flac-config --version执行失败"
|
||||
else
|
||||
LOG_ERROR "flac-config命令不支持--version参数"
|
||||
exit 255
|
||||
fi
|
||||
else
|
||||
LOG_ERROR "flac-config命令不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 环境恢复
|
||||
LOG_INFO "步骤5:环境恢复"
|
||||
if [ "$installed_before_test" = false ]; then
|
||||
LOG_INFO "卸载flac-devel软件包"
|
||||
dnf remove -y flac-devel
|
||||
CHECK_RESULT $? 0 0 "卸载flac-devel软件包失败"
|
||||
LOG_INFO "flac-devel软件包卸载成功"
|
||||
else
|
||||
LOG_INFO "保持flac-devel软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:flac-devel软件包功能检查通过"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,105 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-10
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用flac开发库编译示例程序
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试使用flac开发库编译示例程序"
|
||||
|
||||
# 检查flac-devel软件包是否在yum源中
|
||||
LOG_INFO "检查flac-devel软件包是否在yum源中"
|
||||
dnf list available flac-devel > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到flac-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装flac-devel
|
||||
LOG_INFO "检查是否已安装flac-devel"
|
||||
rpm -q flac-devel > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "flac-devel已安装,测试结束后保持安装状态"
|
||||
already_installed=1
|
||||
else
|
||||
LOG_INFO "flac-devel未安装,将安装作为测试步骤"
|
||||
already_installed=0
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装flac-devel
|
||||
if [ $already_installed -eq 0 ]; then
|
||||
LOG_INFO "安装flac-devel软件包"
|
||||
dnf install -y flac-devel
|
||||
CHECK_RESULT $? 0 0 "安装flac-devel失败"
|
||||
fi
|
||||
|
||||
# 创建测试编译目录
|
||||
LOG_INFO "创建测试编译目录"
|
||||
test_dir="/tmp/flac_test_$$"
|
||||
mkdir -p $test_dir
|
||||
CHECK_RESULT $? 0 0 "创建测试目录失败"
|
||||
|
||||
# 创建示例C程序
|
||||
LOG_INFO "创建使用flac库的示例程序"
|
||||
cat > $test_dir/test_flac.c << "EOF"
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <FLAC/stream_encoder.h>
|
||||
|
||||
int main() {
|
||||
FLAC__StreamEncoder *encoder = FLAC__stream_encoder_new();
|
||||
if (encoder == NULL) {
|
||||
printf("Failed to create FLAC encoder\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
printf("FLAC encoder created successfully\n");
|
||||
FLAC__stream_encoder_delete(encoder);
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
|
||||
# 编译示例程序
|
||||
LOG_INFO "编译示例程序"
|
||||
cd $test_dir
|
||||
gcc -o test_flac test_flac.c -lFLAC -lm
|
||||
CHECK_RESULT $? 0 0 "编译示例程序失败"
|
||||
|
||||
# 运行编译的程序
|
||||
LOG_INFO "运行编译的程序"
|
||||
./test_flac
|
||||
CHECK_RESULT $? 0 0 "运行编译的程序失败"
|
||||
|
||||
# 清理测试目录
|
||||
LOG_INFO "清理测试目录"
|
||||
cd /
|
||||
rm -rf $test_dir
|
||||
CHECK_RESULT $? 0 0 "清理测试目录失败"
|
||||
|
||||
# 如果测试前未安装,则卸载flac-devel
|
||||
if [ $already_installed -eq 0 ]; then
|
||||
LOG_INFO "卸载flac-devel软件包"
|
||||
dnf remove -y flac-devel
|
||||
CHECK_RESULT $? 0 0 "卸载flac-devel失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试使用flac开发库编译示例程序完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,94 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-10
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试flac开发头文件的存在与完整性
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试flac开发头文件的存在与完整性
|
||||
|
||||
# 检查是否已安装flac-devel
|
||||
LOG_INFO "检查是否已安装flac-devel软件包"
|
||||
rpm -q flac-devel > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "flac-devel已安装,标记为已安装状态"
|
||||
INSTALLED="true"
|
||||
else
|
||||
LOG_INFO "flac-devel未安装,标记为未安装状态"
|
||||
INSTALLED="false"
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有flac-devel软件包
|
||||
LOG_INFO "检查yum源中是否有flac-devel软件包"
|
||||
dnf list available flac-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "yum源中未找到flac-devel软件包"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到flac-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装flac-devel
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "开始安装flac-devel软件包"
|
||||
dnf install -y flac-devel
|
||||
CHECK_RESULT $? 0 0 "安装flac-devel失败"
|
||||
LOG_INFO "flac-devel安装成功"
|
||||
fi
|
||||
|
||||
# 检查flac开发头文件是否存在
|
||||
LOG_INFO "检查flac开发头文件是否存在"
|
||||
ls /usr/include/FLAC/all.h > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "FLAC/all.h头文件不存在"
|
||||
ls /usr/include/FLAC/assert.h > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "FLAC/assert.h头文件不存在"
|
||||
ls /usr/include/FLAC/callback.h > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "FLAC/callback.h头文件不存在"
|
||||
ls /usr/include/FLAC/export.h > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "FLAC/export.h头文件不存在"
|
||||
ls /usr/include/FLAC/format.h > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "FLAC/format.h头文件不存在"
|
||||
ls /usr/include/FLAC/metadata.h > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "FLAC/metadata.h头文件不存在"
|
||||
ls /usr/include/FLAC/ordinals.h > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "FLAC/ordinals.h头文件不存在"
|
||||
ls /usr/include/FLAC/stream_decoder.h > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "FLAC/stream_decoder.h头文件不存在"
|
||||
ls /usr/include/FLAC/stream_encoder.h > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "FLAC/stream_encoder.h头文件不存在"
|
||||
|
||||
# 检查头文件完整性(简单的内容检查)
|
||||
LOG_INFO "检查flac头文件完整性"
|
||||
grep -q "Copyright" /usr/include/FLAC/all.h
|
||||
CHECK_RESULT $? 0 0 "FLAC/all.h头文件内容不完整"
|
||||
grep -q "#ifndef FLAC__EXPORT_H" /usr/include/FLAC/export.h
|
||||
CHECK_RESULT $? 0 0 "FLAC/export.h头文件内容不完整"
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载flac-devel
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "清理环境:卸载flac-devel软件包"
|
||||
dnf remove -y flac-devel
|
||||
CHECK_RESULT $? 0 0 "卸载flac-devel失败"
|
||||
LOG_INFO "环境已恢复到测试前状态"
|
||||
else
|
||||
LOG_INFO "测试前已安装flac-devel,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:flac开发头文件存在且完整"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,105 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-10
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试flac开发库文件的存在与链接
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试flac开发库文件的存在与链接
|
||||
|
||||
LOG_INFO "开始测试flac开发库文件的存在与链接"
|
||||
|
||||
# 检查是否已经安装flac-devel
|
||||
LOG_INFO "检查flac-devel是否已经安装"
|
||||
if rpm -q flac-devel > /dev/null 2>&1; then
|
||||
LOG_INFO "flac-devel已经安装,测试后将保持安装状态"
|
||||
already_installed=1
|
||||
else
|
||||
LOG_INFO "flac-devel未安装,将在测试过程中安装"
|
||||
already_installed=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有flac-devel软件包
|
||||
LOG_INFO "检查yum源中是否有flac-devel软件包"
|
||||
if ! dnf list available flac-devel > /dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中没有flac-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装flac-devel
|
||||
if [ $already_installed -eq 0 ]; then
|
||||
LOG_INFO "安装flac-devel软件包"
|
||||
dnf install -y flac-devel
|
||||
CHECK_RESULT $? 0 0 "安装flac-devel失败"
|
||||
fi
|
||||
|
||||
# 测试flac开发库文件是否存在
|
||||
LOG_INFO "测试flac开发库文件是否存在"
|
||||
if [ -f /usr/include/FLAC/all.h ]; then
|
||||
LOG_INFO "FLAC头文件存在: /usr/include/FLAC/all.h"
|
||||
else
|
||||
LOG_ERROR "FLAC头文件不存在: /usr/include/FLAC/all.h"
|
||||
CHECK_RESULT 1 0 0 "FLAC头文件不存在"
|
||||
fi
|
||||
|
||||
if [ -f /usr/lib64/libFLAC.so ] || [ -f /usr/lib/libFLAC.so ]; then
|
||||
LOG_INFO "FLAC库文件存在"
|
||||
else
|
||||
LOG_ERROR "FLAC库文件不存在"
|
||||
CHECK_RESULT 1 0 0 "FLAC库文件不存在"
|
||||
fi
|
||||
|
||||
# 测试库文件是否能正确链接
|
||||
LOG_INFO "测试FLAC库文件是否能正确链接"
|
||||
cat > test_flac.c << "EOF"
|
||||
#include <FLAC/all.h>
|
||||
#include <stdio.h>
|
||||
|
||||
int main() {
|
||||
printf("FLAC version: %s\n", FLAC__VERSION_STRING);
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
|
||||
# 编译测试程序
|
||||
LOG_INFO "编译测试程序"
|
||||
gcc -o test_flac test_flac.c -lFLAC
|
||||
CHECK_RESULT $? 0 0 "编译FLAC测试程序失败"
|
||||
|
||||
# 运行测试程序
|
||||
LOG_INFO "运行测试程序"
|
||||
./test_flac
|
||||
CHECK_RESULT $? 0 0 "运行FLAC测试程序失败"
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f test_flac.c test_flac
|
||||
|
||||
# 如果测试前未安装,则卸载flac-devel
|
||||
if [ $already_installed -eq 0 ]; then
|
||||
LOG_INFO "卸载flac-devel软件包"
|
||||
dnf remove -y flac-devel
|
||||
CHECK_RESULT $? 0 0 "卸载flac-devel失败"
|
||||
else
|
||||
LOG_INFO "测试前已安装flac-devel,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "flac开发库文件的存在与链接测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,151 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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-10
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试flac-devel软件包能否正确卸载
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义日志函数(如果未定义)
|
||||
if ! type LOG_INFO &>/dev/null; then
|
||||
LOG_INFO() {
|
||||
echo "[INFO] $*"
|
||||
}
|
||||
fi
|
||||
|
||||
if ! type LOG_ERROR &>/dev/null; then
|
||||
LOG_ERROR() {
|
||||
echo "[ERROR] $*"
|
||||
}
|
||||
fi
|
||||
|
||||
# 定义检查结果函数(如果未定义)
|
||||
if ! type CHECK_RESULT &>/dev/null; then
|
||||
CHECK_RESULT() {
|
||||
local actual=$1
|
||||
local expected=$2
|
||||
local error_code=$3
|
||||
local message=$4
|
||||
|
||||
if [ "$actual" -eq "$expected" ]; then
|
||||
LOG_INFO "检查通过: $message"
|
||||
else
|
||||
LOG_ERROR "检查失败: $message (期望: $expected, 实际: $actual)"
|
||||
exit $error_code
|
||||
fi
|
||||
}
|
||||
fi
|
||||
|
||||
# 定义SSH_CMD函数(如果未定义)
|
||||
if ! type SSH_CMD &>/dev/null; then
|
||||
SSH_CMD() {
|
||||
local cmd=$1
|
||||
local node_ip=$2
|
||||
local node_password=$3
|
||||
local node_user=$4
|
||||
|
||||
LOG_INFO "在节点 $node_ip 上执行命令: $cmd"
|
||||
# 这里使用sshpass模拟SSH连接,实际环境中可能需要调整
|
||||
sshpass -p "$node_password" ssh -o StrictHostKeyChecking=no "$node_user@$node_ip" "$cmd"
|
||||
return $?
|
||||
}
|
||||
fi
|
||||
|
||||
# 主测试函数
|
||||
test_flac_devel_uninstall() {
|
||||
local package_name="flac-devel"
|
||||
local installed_before_test=false
|
||||
|
||||
LOG_INFO "开始测试: 测试flac-devel软件包能否正确卸载"
|
||||
|
||||
# 步骤1: 检查软件包是否在yum源中
|
||||
LOG_INFO "步骤1: 检查yum源中是否存在 $package_name 软件包"
|
||||
dnf list available "$package_name" &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在 $package_name 软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum源中存在 $package_name 软件包"
|
||||
|
||||
# 步骤2: 检查当前是否已安装
|
||||
LOG_INFO "步骤2: 检查 $package_name 是否已安装"
|
||||
if rpm -q "$package_name" &>/dev/null; then
|
||||
LOG_INFO "$package_name 已安装"
|
||||
installed_before_test=true
|
||||
else
|
||||
LOG_INFO "$package_name 未安装"
|
||||
installed_before_test=false
|
||||
fi
|
||||
|
||||
# 步骤3: 如果未安装,则先安装
|
||||
if [ "$installed_before_test" = false ]; then
|
||||
LOG_INFO "步骤3: 安装 $package_name 软件包"
|
||||
dnf install -y "$package_name"
|
||||
CHECK_RESULT $? 0 0 "安装 $package_name 失败"
|
||||
LOG_INFO "安装 $package_name 成功"
|
||||
else
|
||||
LOG_INFO "步骤3: 跳过安装,软件包已存在"
|
||||
fi
|
||||
|
||||
# 步骤4: 验证软件包已安装
|
||||
LOG_INFO "步骤4: 验证 $package_name 已安装"
|
||||
rpm -q "$package_name"
|
||||
CHECK_RESULT $? 0 0 "验证 $package_name 安装状态失败"
|
||||
LOG_INFO "验证 $package_name 安装成功"
|
||||
|
||||
# 步骤5: 卸载软件包
|
||||
LOG_INFO "步骤5: 卸载 $package_name 软件包"
|
||||
dnf remove -y "$package_name"
|
||||
CHECK_RESULT $? 0 0 "卸载 $package_name 失败"
|
||||
LOG_INFO "卸载 $package_name 成功"
|
||||
|
||||
# 步骤6: 验证软件包已卸载
|
||||
LOG_INFO "步骤6: 验证 $package_name 已卸载"
|
||||
rpm -q "$package_name" &>/dev/null
|
||||
local uninstall_check=$?
|
||||
if [ $uninstall_check -eq 0 ]; then
|
||||
LOG_ERROR "验证失败: $package_name 仍然存在"
|
||||
CHECK_RESULT 1 0 1 "$package_name 卸载验证失败"
|
||||
else
|
||||
LOG_INFO "验证成功: $package_name 已卸载"
|
||||
CHECK_RESULT 0 0 0 "$package_name 卸载验证成功"
|
||||
fi
|
||||
|
||||
# 步骤7: 环境恢复
|
||||
LOG_INFO "步骤7: 恢复测试环境"
|
||||
if [ "$installed_before_test" = true ]; then
|
||||
LOG_INFO "恢复安装 $package_name"
|
||||
dnf install -y "$package_name"
|
||||
CHECK_RESULT $? 0 0 "恢复安装 $package_name 失败"
|
||||
LOG_INFO "环境恢复完成: $package_name 已重新安装"
|
||||
else
|
||||
LOG_INFO "环境恢复: 保持 $package_name 未安装状态"
|
||||
# 确保软件包确实未安装
|
||||
if rpm -q "$package_name" &>/dev/null; then
|
||||
dnf remove -y "$package_name"
|
||||
CHECK_RESULT $? 0 0 "清理 $package_name 失败"
|
||||
fi
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成: flac-devel软件包卸载功能测试通过"
|
||||
}
|
||||
|
||||
# 执行测试
|
||||
test_flac_devel_uninstall
|
||||
}
|
||||
|
||||
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-03-21
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test displaying the help information
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义日志函数(实际环境中可能已定义,此处仅为防止未定义而提供,实际使用时若已定义可删除)
|
||||
LOG_INFO() {
|
||||
echo "[INFO] $*"
|
||||
}
|
||||
LOG_ERROR() {
|
||||
echo "[ERROR] $*"
|
||||
}
|
||||
|
||||
# 定义软件包名称和命令
|
||||
PACKAGE_NAME="fxload"
|
||||
COMMAND="fxload"
|
||||
EXPECTED_PARAM="--help"
|
||||
|
||||
# 步骤1:检查yum源中是否存在指定软件包
|
||||
LOG_INFO "步骤1:检查yum源中是否存在软件包 $PACKAGE_NAME"
|
||||
dnf list available $PACKAGE_NAME &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到软件包 $PACKAGE_NAME"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤2:检查系统是否已安装该软件包
|
||||
LOG_INFO "步骤2:检查系统是否已安装软件包 $PACKAGE_NAME"
|
||||
INSTALLED=0
|
||||
if rpm -q $PACKAGE_NAME &>/dev/null; then
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 已安装"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 未安装"
|
||||
fi
|
||||
|
||||
# 步骤3:如果未安装,则安装软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤3:安装软件包 $PACKAGE_NAME"
|
||||
dnf install -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
|
||||
fi
|
||||
|
||||
# 步骤4:检查命令是否支持 --help 参数
|
||||
LOG_INFO "步骤4:检查命令 $COMMAND 是否支持参数 $EXPECTED_PARAM"
|
||||
$COMMAND $EXPECTED_PARAM &>/dev/null
|
||||
if [ $? -eq 255 ]; then
|
||||
LOG_ERROR "命令 $COMMAND 不支持参数 $EXPECTED_PARAM 或参数不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤5:执行命令并验证输出
|
||||
LOG_INFO "步骤5:执行命令 $COMMAND $EXPECTED_PARAM 并验证输出"
|
||||
OUTPUT=$($COMMAND $EXPECTED_PARAM 2>&1)
|
||||
if echo "$OUTPUT" | grep -q "usage\|Usage\|help\|Help"; then
|
||||
LOG_INFO "命令 $COMMAND $EXPECTED_PARAM 执行成功,输出包含帮助信息"
|
||||
else
|
||||
LOG_ERROR "命令 $COMMAND $EXPECTED_PARAM 执行失败,输出未包含帮助信息"
|
||||
CHECK_RESULT 1 0 0 "命令输出验证失败"
|
||||
fi
|
||||
|
||||
# 步骤6:清理环境,如果脚本开始时未安装,则卸载软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤6:卸载软件包 $PACKAGE_NAME"
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
|
||||
else
|
||||
LOG_INFO "步骤6:软件包 $PACKAGE_NAME 在脚本执行前已安装,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test displaying the help information"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,92 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-21
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test the removal of fxload-help package
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已经安装fxload-help
|
||||
LOG_INFO "检查是否已安装fxload-help软件包"
|
||||
rpm -q fxload-help > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "fxload-help已安装,测试后将保持安装状态"
|
||||
already_installed=1
|
||||
else
|
||||
LOG_INFO "fxload-help未安装,将在测试过程中安装"
|
||||
already_installed=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有fxload-help软件包
|
||||
LOG_INFO "检查yum源中是否有fxload-help软件包"
|
||||
dnf list available fxload-help > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到fxload-help软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试fxload-help命令的help参数
|
||||
LOG_INFO "测试fxload-help命令的help参数"
|
||||
fxload --help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "fxload-help命令的help参数测试失败"
|
||||
|
||||
# 测试fxload-help命令的无效参数
|
||||
LOG_INFO "测试fxload-help命令的无效参数"
|
||||
fxload --invalid-param > /dev/null 2>&1
|
||||
if [ $? -ne 255 ]; then
|
||||
LOG_ERROR "fxload-help命令的无效参数测试失败"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果之前未安装,则安装fxload-help
|
||||
if [ $already_installed -eq 0 ]; then
|
||||
LOG_INFO "安装fxload-help软件包"
|
||||
dnf install -y fxload-help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装fxload-help软件包失败"
|
||||
fi
|
||||
|
||||
# 验证fxload-help安装成功
|
||||
LOG_INFO "验证fxload-help安装成功"
|
||||
rpm -q fxload-help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "fxload-help安装验证失败"
|
||||
|
||||
# 测试fxload-help命令功能
|
||||
LOG_INFO "测试fxload-help命令基本功能"
|
||||
fxload --help | grep -i "usage" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "fxload-help命令基本功能测试失败"
|
||||
|
||||
# 如果之前未安装,测试结束后卸载软件包
|
||||
if [ $already_installed -eq 0 ]; then
|
||||
LOG_INFO "卸载fxload-help软件包"
|
||||
dnf remove -y fxload-help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载fxload-help软件包失败"
|
||||
|
||||
# 验证卸载成功
|
||||
LOG_INFO "验证fxload-help卸载成功"
|
||||
rpm -q fxload-help > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "fxload-help卸载验证失败"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
LOG_INFO "保持fxload-help安装状态,不进行卸载"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:fxload-help软件包移除测试成功"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,78 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-21
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test displaying the package version
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:显示软件包版本"
|
||||
|
||||
# 检查环境是否已安装fxload
|
||||
LOG_INFO "检查fxload是否已安装"
|
||||
if rpm -q fxload &>/dev/null; then
|
||||
LOG_INFO "fxload已安装,测试后保持安装状态"
|
||||
ALREADY_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "fxload未安装,将在测试过程中安装"
|
||||
ALREADY_INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有fxload软件包
|
||||
LOG_INFO "检查yum源中是否有fxload软件包"
|
||||
if ! dnf list available fxload &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到fxload软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装fxload
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装fxload软件包"
|
||||
dnf install -y fxload
|
||||
CHECK_RESULT $? 0 0 "安装fxload失败"
|
||||
fi
|
||||
|
||||
# 测试显示版本参数
|
||||
LOG_INFO "测试fxload --version参数"
|
||||
if ! fxload --help | grep -q "\-\-version"; then
|
||||
LOG_ERROR "fxload不支持--version参数"
|
||||
# 清理环境
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载fxload软件包"
|
||||
dnf remove -y fxload
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行版本查询命令
|
||||
LOG_INFO "执行fxload --version命令"
|
||||
fxload --version
|
||||
CHECK_RESULT $? 0 0 "执行fxload --version失败"
|
||||
|
||||
# 清理环境
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "测试完成,卸载fxload软件包"
|
||||
dnf remove -y fxload
|
||||
CHECK_RESULT $? 0 0 "卸载fxload失败"
|
||||
else
|
||||
LOG_INFO "测试完成,保持fxload安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试结束"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,72 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-08
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package build functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试脚本:test_g2clib-devel_function_build
|
||||
|
||||
LOG_INFO "开始测试:Test package build functionality"
|
||||
|
||||
# 检查环境是否已安装g2clib-devel
|
||||
LOG_INFO "检查g2clib-devel是否已安装"
|
||||
if dnf list installed g2clib-devel &>/dev/null; then
|
||||
LOG_INFO "g2clib-devel已安装,测试结束后保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "g2clib-devel未安装,测试结束后将卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有g2clib-devel
|
||||
LOG_INFO "检查yum源中是否存在g2clib-devel"
|
||||
if ! dnf list available g2clib-devel &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到g2clib-devel,退出测试"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装g2clib-devel(如果未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装g2clib-devel"
|
||||
dnf install -y g2clib-devel
|
||||
CHECK_RESULT $? 0 0 "安装g2clib-devel失败"
|
||||
fi
|
||||
|
||||
# 测试构建功能
|
||||
LOG_INFO "测试g2clib-devel的构建功能"
|
||||
if ! command -v g2clib-build &>/dev/null; then
|
||||
LOG_ERROR "g2clib-build命令不存在或不支持,退出测试"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "执行g2clib-build命令"
|
||||
g2clib-build
|
||||
CHECK_RESULT $? 0 0 "g2clib-build命令执行失败"
|
||||
|
||||
# 清理环境(如果测试前未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载g2clib-devel"
|
||||
dnf remove -y g2clib-devel
|
||||
CHECK_RESULT $? 0 0 "卸载g2clib-devel失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test package build functionality"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,83 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-09
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试启动时不使用SCdaemon的gpg-agent
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 判断是否已安装gnupg2和gpg-agent
|
||||
LOG_INFO "检查是否已安装gnupg2和gpg-agent"
|
||||
if rpm -q gnupg2 >/dev/null 2>&1; then
|
||||
LOG_INFO "gnupg2已安装"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "gnupg2未安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有gnupg2软件包
|
||||
LOG_INFO "检查yum源中是否有gnupg2软件包"
|
||||
if ! dnf list available gnupg2 >/dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中没有gnupg2软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装gnupg2
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装gnupg2软件包"
|
||||
dnf install -y gnupg2
|
||||
CHECK_RESULT $? 0 0 "安装gnupg2失败"
|
||||
fi
|
||||
|
||||
# 检查gpg-agent是否支持--disable-scdaemon参数
|
||||
LOG_INFO "检查gpg-agent是否支持--disable-scdaemon参数"
|
||||
if ! gpg-agent --help 2>&1 | grep -q "disable-scdaemon"; then
|
||||
LOG_ERROR "gpg-agent不支持--disable-scdaemon参数"
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载gnupg2软件包"
|
||||
dnf remove -y gnupg2
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试启动时不使用SCdaemon的gpg-agent
|
||||
LOG_INFO "测试启动时不使用SCdaemon的gpg-agent"
|
||||
gpg-agent --daemon --disable-scdaemon
|
||||
CHECK_RESULT $? 0 0 "启动gpg-agent失败"
|
||||
|
||||
# 检查gpg-agent进程是否在运行
|
||||
LOG_INFO "检查gpg-agent进程是否在运行"
|
||||
ps aux | grep -q "[g]pg-agent --daemon --disable-scdaemon"
|
||||
CHECK_RESULT $? 0 0 "gpg-agent进程未运行"
|
||||
|
||||
# 停止gpg-agent进程
|
||||
LOG_INFO "停止gpg-agent进程"
|
||||
gpgconf --kill gpg-agent
|
||||
CHECK_RESULT $? 0 0 "停止gpg-agent失败"
|
||||
|
||||
# 环境恢复:如果之前未安装,则卸载gnupg2
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载gnupg2软件包"
|
||||
dnf remove -y gnupg2
|
||||
CHECK_RESULT $? 0 0 "卸载gnupg2失败"
|
||||
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 : 2026-01-31
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试设置新密码短语中至少需要非字母字符的数量
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:测试设置新密码短语中至少需要非字母字符的数量"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="gnupg2"
|
||||
|
||||
# 检查环境是否已安装gnupg2
|
||||
LOG_INFO "步骤1:检查gnupg2是否已安装"
|
||||
if rpm -q $PACKAGE_NAME &>/dev/null; then
|
||||
LOG_INFO "gnupg2已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED_BEFORE=1
|
||||
else
|
||||
LOG_INFO "gnupg2未安装,将在测试过程中安装并在结束时卸载"
|
||||
INSTALLED_BEFORE=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有gnupg2软件包
|
||||
LOG_INFO "步骤2:检查yum源中是否有gnupg2软件包"
|
||||
if ! dnf list available $PACKAGE_NAME &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到gnupg2软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装gnupg2
|
||||
if [ $INSTALLED_BEFORE -eq 0 ]; then
|
||||
LOG_INFO "步骤3:安装gnupg2软件包"
|
||||
dnf install -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "安装gnupg2失败"
|
||||
fi
|
||||
|
||||
# 检查gpg-agent是否支持--min-passphrase-nonalpha参数
|
||||
LOG_INFO "步骤4:检查gpg-agent是否支持--min-passphrase-nonalpha参数"
|
||||
gpg-agent --help | grep -q -- "--min-passphrase-nonalpha"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "gpg-agent不支持--min-passphrase-nonalpha参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试设置新密码短语中至少需要非字母字符的数量
|
||||
LOG_INFO "步骤5:测试设置新密码短语中至少需要非字母字符的数量"
|
||||
gpg-agent --min-passphrase-nonalpha 2 --daemon
|
||||
CHECK_RESULT $? 0 0 "设置非字母字符数量失败"
|
||||
|
||||
# 清理环境:如果之前未安装,则卸载gnupg2
|
||||
if [ $INSTALLED_BEFORE -eq 0 ]; then
|
||||
LOG_INFO "步骤6:卸载gnupg2软件包"
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "卸载gnupg2失败"
|
||||
else
|
||||
LOG_INFO "步骤6:保持gnupg2安装状态,无需卸载"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:测试设置新密码短语中至少需要非字母字符的数量"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,159 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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-31
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试在已安装hdparm或相关软件包的系统上,安装hdparm-help是否会产生文件冲突或依赖问题。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装hdparm或相关软件包
|
||||
LOG_INFO "检查系统是否已安装hdparm或相关软件包"
|
||||
|
||||
# 定义软件包名称
|
||||
HDPARM_PKG="hdparm"
|
||||
HDPARM_HELP_PKG="hdparm-help"
|
||||
MAIN_PKG_INSTALLED=0
|
||||
HELP_PKG_INSTALLED=0
|
||||
|
||||
# 检查hdparm是否已安装
|
||||
if rpm -q ${HDPARM_PKG} > /dev/null 2>&1; then
|
||||
LOG_INFO "检测到系统已安装${HDPARM_PKG}"
|
||||
MAIN_PKG_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "系统未安装${HDPARM_PKG}"
|
||||
fi
|
||||
|
||||
# 检查hdparm-help是否已安装
|
||||
if rpm -q ${HDPARM_HELP_PKG} > /dev/null 2>&1; then
|
||||
LOG_INFO "检测到系统已安装${HDPARM_HELP_PKG}"
|
||||
HELP_PKG_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "系统未安装${HDPARM_HELP_PKG}"
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有hdparm-help软件包
|
||||
LOG_INFO "检查yum源中是否有${HDPARM_HELP_PKG}软件包"
|
||||
if ! dnf search ${HDPARM_HELP_PKG} 2>/dev/null | grep -q "${HDPARM_HELP_PKG}"; then
|
||||
LOG_ERROR "yum源中未找到${HDPARM_HELP_PKG}软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum源中存在${HDPARM_HELP_PKG}软件包"
|
||||
|
||||
# 检查yum源中是否有hdparm软件包
|
||||
LOG_INFO "检查yum源中是否有${HDPARM_PKG}软件包"
|
||||
if ! dnf search ${HDPARM_PKG} 2>/dev/null | grep -q "${HDPARM_PKG}"; then
|
||||
LOG_ERROR "yum源中未找到${HDPARM_PKG}软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum源中存在${HDPARM_PKG}软件包"
|
||||
|
||||
# 记录初始安装状态
|
||||
INITIAL_MAIN_PKG=${MAIN_PKG_INSTALLED}
|
||||
INITIAL_HELP_PKG=${HELP_PKG_INSTALLED}
|
||||
|
||||
# 如果hdparm未安装,则安装它作为测试前提
|
||||
if [ ${MAIN_PKG_INSTALLED} -eq 0 ]; then
|
||||
LOG_INFO "安装${HDPARM_PKG}软件包作为测试前提"
|
||||
dnf install -y ${HDPARM_PKG}
|
||||
CHECK_RESULT $? 0 0 "安装${HDPARM_PKG}失败"
|
||||
MAIN_PKG_INSTALLED=1
|
||||
fi
|
||||
|
||||
# 测试安装hdparm-help
|
||||
LOG_INFO "测试安装${HDPARM_HELP_PKG}软件包"
|
||||
dnf install -y ${HDPARM_HELP_PKG}
|
||||
INSTALL_RESULT=$?
|
||||
|
||||
# 检查安装结果
|
||||
if [ ${INSTALL_RESULT} -eq 0 ]; then
|
||||
LOG_INFO "${HDPARM_HELP_PKG}安装成功"
|
||||
HELP_PKG_INSTALLED=1
|
||||
|
||||
# 验证hdparm-help是否成功安装
|
||||
LOG_INFO "验证${HDPARM_HELP_PKG}是否成功安装"
|
||||
rpm -q ${HDPARM_HELP_PKG}
|
||||
CHECK_RESULT $? 0 0 "${HDPARM_HELP_PKG}安装验证失败"
|
||||
|
||||
# 检查是否有文件冲突
|
||||
LOG_INFO "检查安装${HDPARM_HELP_PKG}后是否有文件冲突"
|
||||
CONFLICTS=$(rpm -q --conflicts ${HDPARM_HELP_PKG} 2>/dev/null)
|
||||
if [ -n "${CONFLICTS}" ]; then
|
||||
LOG_INFO "检测到以下文件冲突:${CONFLICTS}"
|
||||
else
|
||||
LOG_INFO "未检测到文件冲突"
|
||||
fi
|
||||
|
||||
# 检查依赖关系
|
||||
LOG_INFO "检查${HDPARM_HELP_PKG}的依赖关系"
|
||||
rpm -q --requires ${HDPARM_HELP_PKG}
|
||||
CHECK_RESULT $? 0 0 "检查${HDPARM_HELP_PKG}依赖关系失败"
|
||||
|
||||
# 测试hdparm-help提供的功能
|
||||
LOG_INFO "测试${HDPARM_HELP_PKG}提供的帮助功能"
|
||||
if command -v hdparm >/dev/null 2>&1; then
|
||||
hdparm --help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "hdparm --help命令执行失败"
|
||||
fi
|
||||
else
|
||||
LOG_ERROR "${HDPARM_HELP_PKG}安装失败,退出码:${INSTALL_RESULT}"
|
||||
|
||||
# 检查是否为依赖问题
|
||||
if [ ${INSTALL_RESULT} -eq 1 ]; then
|
||||
LOG_ERROR "可能是依赖问题导致安装失败"
|
||||
fi
|
||||
|
||||
# 检查是否为冲突问题
|
||||
dnf install -y ${HDPARM_HELP_PKG} 2>&1 | grep -i "conflict"
|
||||
CONFLICT_CHECK=$?
|
||||
if [ ${CONFLICT_CHECK} -eq 0 ]; then
|
||||
LOG_ERROR "检测到软件包冲突"
|
||||
fi
|
||||
fi
|
||||
|
||||
# 环境恢复
|
||||
LOG_INFO "开始恢复测试环境"
|
||||
|
||||
# 如果测试前未安装hdparm-help,则卸载它
|
||||
if [ ${INITIAL_HELP_PKG} -eq 0 ] && [ ${HELP_PKG_INSTALLED} -eq 1 ]; then
|
||||
LOG_INFO "卸载测试安装的${HDPARM_HELP_PKG}软件包"
|
||||
dnf remove -y ${HDPARM_HELP_PKG}
|
||||
CHECK_RESULT $? 0 0 "卸载${HDPARM_HELP_PKG}失败"
|
||||
fi
|
||||
|
||||
# 如果测试前未安装hdparm,则卸载它
|
||||
if [ ${INITIAL_MAIN_PKG} -eq 0 ] && [ ${MAIN_PKG_INSTALLED} -eq 1 ]; then
|
||||
LOG_INFO "卸载测试安装的${HDPARM_PKG}软件包"
|
||||
dnf remove -y ${HDPARM_PKG}
|
||||
CHECK_RESULT $? 0 0 "卸载${HDPARM_PKG}失败"
|
||||
fi
|
||||
|
||||
# 验证环境已恢复
|
||||
LOG_INFO "验证测试环境已恢复"
|
||||
if [ ${INITIAL_HELP_PKG} -eq 0 ]; then
|
||||
rpm -q ${HDPARM_HELP_PKG} > /dev/null 2>&1
|
||||
CHECK_RESULT $? 1 0 "环境恢复失败:${HDPARM_HELP_PKG}未被正确卸载"
|
||||
fi
|
||||
|
||||
if [ ${INITIAL_MAIN_PKG} -eq 0 ]; then
|
||||
rpm -q ${HDPARM_PKG} > /dev/null 2>&1
|
||||
CHECK_RESULT $? 1 0 "环境恢复失败:${HDPARM_PKG}未被正确卸载"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,84 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-31
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试hdparm-help软件包安装后,其核心手册页文件的完整性(如校验MD5或SHA256值)。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装hdparm-help软件包
|
||||
LOG_INFO "检查hdparm-help软件包是否已安装"
|
||||
if rpm -q hdparm-help &> /dev/null; then
|
||||
LOG_INFO "hdparm-help软件包已安装,标记为保持安装状态"
|
||||
KEEP_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "hdparm-help软件包未安装"
|
||||
KEEP_INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有hdparm-help软件包
|
||||
LOG_INFO "检查yum源中是否有hdparm-help软件包"
|
||||
if ! dnf list available hdparm-help &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到hdparm-help软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装hdparm-help软件包
|
||||
if [ $KEEP_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "开始安装hdparm-help软件包"
|
||||
dnf install -y hdparm-help
|
||||
CHECK_RESULT $? 0 0 "安装hdparm-help软件包失败"
|
||||
LOG_INFO "hdparm-help软件包安装成功"
|
||||
fi
|
||||
|
||||
# 检查hdparm-help软件包的核心手册页文件
|
||||
LOG_INFO "检查hdparm-help软件包的核心手册页文件"
|
||||
rpm -ql hdparm-help | grep -E "\.(gz|bz2|xz)$" > /tmp/hdparm-help-files.txt
|
||||
CHECK_RESULT $? 0 0 "获取hdparm-help软件包文件列表失败"
|
||||
|
||||
# 校验核心手册页文件的完整性
|
||||
LOG_INFO "开始校验核心手册页文件的完整性"
|
||||
while IFS= read -r file; do
|
||||
if [ -f "$file" ]; then
|
||||
# 使用rpm -V验证文件完整性
|
||||
rpm -V hdparm-help "$file" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "文件 $file 完整性校验失败"
|
||||
LOG_INFO "文件 $file 完整性校验通过"
|
||||
else
|
||||
LOG_ERROR "文件 $file 不存在"
|
||||
exit 1
|
||||
fi
|
||||
done < /tmp/hdparm-help-files.txt
|
||||
|
||||
# 清理临时文件
|
||||
LOG_INFO "清理临时文件"
|
||||
rm -f /tmp/hdparm-help-files.txt
|
||||
|
||||
# 如果测试前未安装,则在测试结束后卸载软件包
|
||||
if [ $KEEP_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "测试前未安装hdparm-help,现在卸载软件包"
|
||||
dnf remove -y hdparm-help
|
||||
CHECK_RESULT $? 0 0 "卸载hdparm-help软件包失败"
|
||||
LOG_INFO "hdparm-help软件包卸载成功"
|
||||
else
|
||||
LOG_INFO "测试前已安装hdparm-help,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,77 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-31
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试在无网络环境下,通过本地软件包仓库或离线包能否成功安装hdparm-help软件包。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装hdparm-help
|
||||
LOG_INFO "检查hdparm-help是否已安装"
|
||||
rpm -q hdparm-help > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "hdparm-help已安装,脚本结束后保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "hdparm-help未安装,将在测试后卸载"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有hdparm-help软件包
|
||||
LOG_INFO "检查yum源中是否有hdparm-help软件包"
|
||||
dnf list available hdparm-help > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到hdparm-help软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查hdparm-help命令参数
|
||||
LOG_INFO "检查hdparm-help命令参数"
|
||||
hdparm --help > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "hdparm-help命令参数不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装hdparm-help软件包
|
||||
LOG_INFO "开始安装hdparm-help软件包"
|
||||
dnf install -y hdparm-help
|
||||
CHECK_RESULT $? 0 0 "安装hdparm-help失败"
|
||||
|
||||
# 验证hdparm-help是否安装成功
|
||||
LOG_INFO "验证hdparm-help是否安装成功"
|
||||
rpm -q hdparm-help
|
||||
CHECK_RESULT $? 0 0 "hdparm-help未安装成功"
|
||||
|
||||
# 测试hdparm-help命令功能
|
||||
LOG_INFO "测试hdparm-help命令功能"
|
||||
hdparm --help | grep -q "Usage"
|
||||
CHECK_RESULT $? 0 0 "hdparm-help命令功能异常"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED_BEFORE" = "false" ]; then
|
||||
LOG_INFO "清理环境,卸载hdparm-help软件包"
|
||||
dnf remove -y hdparm-help
|
||||
CHECK_RESULT $? 0 0 "卸载hdparm-help失败"
|
||||
else
|
||||
LOG_INFO "保持hdparm-help安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,122 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-31
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试通过包管理器查询hdparm-help软件包的版本信息,验证其版本号与预期一致。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义颜色输出(如果LOG_INFO/LOG_ERROR未定义则定义基本版本)
|
||||
if ! command -v LOG_INFO >/dev/null 2>&1; then
|
||||
LOG_INFO() {
|
||||
echo "[INFO] $*"
|
||||
}
|
||||
fi
|
||||
|
||||
if ! command -v LOG_ERROR >/dev/null 2>&1; then
|
||||
LOG_ERROR() {
|
||||
echo "[ERROR] $*" >&2
|
||||
}
|
||||
fi
|
||||
|
||||
# 定义软件包名称和命令
|
||||
PACKAGE_NAME="hdparm"
|
||||
COMMAND="hdparm"
|
||||
EXPECTED_VERSION="9.65" # 根据实际需求调整预期版本
|
||||
|
||||
# 步骤1: 检查环境是否已安装hdparm
|
||||
LOG_INFO "步骤1: 检查是否已安装hdparm软件包"
|
||||
if command -v $COMMAND >/dev/null 2>&1; then
|
||||
LOG_INFO "hdparm已安装,标记为无需清理"
|
||||
NEED_CLEANUP=0
|
||||
else
|
||||
LOG_INFO "hdparm未安装,标记为需要清理"
|
||||
NEED_CLEANUP=1
|
||||
fi
|
||||
|
||||
# 步骤2: 检查yum源中是否存在hdparm软件包
|
||||
LOG_INFO "步骤2: 检查yum源中是否存在hdparm软件包"
|
||||
if ! dnf list available $PACKAGE_NAME --quiet >/dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中未找到hdparm软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤3: 如果未安装,则安装hdparm
|
||||
if [ $NEED_CLEANUP -eq 1 ]; then
|
||||
LOG_INFO "步骤3: 安装hdparm软件包"
|
||||
dnf install -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "安装hdparm失败"
|
||||
fi
|
||||
|
||||
# 步骤4: 检查hdparm命令是否支持--help参数
|
||||
LOG_INFO "步骤4: 检查hdparm命令是否支持--help参数"
|
||||
if ! $COMMAND --help >/dev/null 2>&1; then
|
||||
LOG_ERROR "hdparm命令不支持--help参数"
|
||||
# 如果之前安装了软件包,需要卸载
|
||||
if [ $NEED_CLEANUP -eq 1 ]; then
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤5: 获取hdparm的版本信息
|
||||
LOG_INFO "步骤5: 获取hdparm的版本信息"
|
||||
VERSION_OUTPUT=$($COMMAND --version 2>&1)
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "获取hdparm版本信息失败"
|
||||
if [ $NEED_CLEANUP -eq 1 ]; then
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 步骤6: 从版本输出中提取版本号
|
||||
LOG_INFO "步骤6: 从版本输出中提取版本号"
|
||||
VERSION=$(echo "$VERSION_OUTPUT" | grep -oP "v\d+\.\d+" | head -1 | sed "s/v//")
|
||||
if [ -z "$VERSION" ]; then
|
||||
LOG_ERROR "无法从输出中提取版本号"
|
||||
if [ $NEED_CLEANUP -eq 1 ]; then
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_INFO "提取到的版本号为: $VERSION"
|
||||
|
||||
# 步骤7: 验证版本号是否符合预期
|
||||
LOG_INFO "步骤7: 验证版本号是否符合预期"
|
||||
if [ "$VERSION" = "$EXPECTED_VERSION" ]; then
|
||||
LOG_INFO "版本号验证通过: 期望 $EXPECTED_VERSION, 实际 $VERSION"
|
||||
else
|
||||
LOG_ERROR "版本号验证失败: 期望 $EXPECTED_VERSION, 实际 $VERSION"
|
||||
if [ $NEED_CLEANUP -eq 1 ]; then
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 步骤8: 清理环境(如果之前安装了软件包)
|
||||
if [ $NEED_CLEANUP -eq 1 ]; then
|
||||
LOG_INFO "步骤8: 卸载hdparm软件包"
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "卸载hdparm失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,113 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-04
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 Huawei 命令的基本功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装指定软件包
|
||||
check_package_installed() {
|
||||
local package_name=$1
|
||||
if dnf list installed "$package_name" &>/dev/null; then
|
||||
LOG_INFO "软件包 $package_name 已安装"
|
||||
return 0
|
||||
else
|
||||
LOG_INFO "软件包 $package_name 未安装"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# 检查yum源中是否有指定软件包
|
||||
check_package_available() {
|
||||
local package_name=$1
|
||||
if dnf list available "$package_name" &>/dev/null; then
|
||||
LOG_INFO "yum源中存在软件包 $package_name"
|
||||
return 0
|
||||
else
|
||||
LOG_ERROR "yum源中不存在软件包 $package_name"
|
||||
exit 255
|
||||
fi
|
||||
}
|
||||
|
||||
# 安装指定软件包
|
||||
install_package() {
|
||||
local package_name=$1
|
||||
LOG_INFO "开始安装软件包 $package_name"
|
||||
dnf install -y "$package_name"
|
||||
CHECK_RESULT $? 0 0 "安装软件包 $package_name 失败"
|
||||
}
|
||||
|
||||
# 卸载指定软件包
|
||||
uninstall_package() {
|
||||
local package_name=$1
|
||||
LOG_INFO "开始卸载软件包 $package_name"
|
||||
dnf remove -y "$package_name"
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 $package_name 失败"
|
||||
}
|
||||
|
||||
# 执行命令并检查结果,支持参数检查与命令执行结果检查
|
||||
execute_command() {
|
||||
local command=$1
|
||||
local expected_exit_code=${2:-0}
|
||||
|
||||
# 检查命令是否存在或参数是否支持
|
||||
if ! command -v "${command%% *}" &>/dev/null; then
|
||||
LOG_ERROR "命令 ${command%% *} 不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行命令并检查结果
|
||||
eval "$command"
|
||||
|
||||
CHECK_RESULT $? $expected_exit_code 255 \
|
||||
"执行命令 $command 失败"
|
||||
}
|
||||
|
||||
main() {
|
||||
LOG_INFO "测试 Huawei 命令的基本功能"
|
||||
|
||||
PACKAGE_NAME="kunpengsecl-tas"
|
||||
|
||||
# 判断环境是否已安装
|
||||
if check_package_installed "$PACKAGE_NAME"; then
|
||||
INSTALLED=true
|
||||
else
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 如果未安装,则进行安装
|
||||
if ! "$INSTALLED"; then
|
||||
check_package_available "$PACKAGE_NAME"
|
||||
install_package "$PACKAGE_NAME"
|
||||
fi
|
||||
|
||||
LOG_INFO "开始执行 Huawei TAS 相关测试命令..."
|
||||
|
||||
execute_command "Huawei --version" 0
|
||||
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
uninstall_package "$PACKAGE_NAME"
|
||||
fi
|
||||
}
|
||||
|
||||
main "$@"
|
||||
|
||||
}
|
||||
|
||||
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-04
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包 kunpengsecl-tas 的配置文件加载功能,验证配置是否正确解析和应用。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 kunpengsecl-tas 的配置文件加载功能"
|
||||
|
||||
# 检查是否已安装 kunpengsecl-tas
|
||||
LOG_INFO "检查 kunpengsecl-tas 是否已安装"
|
||||
if dnf list installed kunpengsecl-tas &>/dev/null; then
|
||||
LOG_INFO "kunpengsecl-tas 已安装"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "kunpengsecl-tas 未安装"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有 kunpengsecl-tas 软件包
|
||||
LOG_INFO "检查 yum 源中是否有 kunpengsecl-tas 软件包"
|
||||
if ! dnf list available kunpengsecl-tas &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 kunpengsecl-tas 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装 kunpengsecl-tas 软件包"
|
||||
dnf install -y kunpengsecl-tas
|
||||
CHECK_RESULT $? 0 0 "安装 kunpengsecl-tas 失败"
|
||||
fi
|
||||
|
||||
# 测试配置文件加载功能
|
||||
LOG_INFO "测试配置文件加载功能"
|
||||
tas_config="/etc/kunpengsecl/tas/config.yaml"
|
||||
if [ ! -f "$tas_config" ]; then
|
||||
LOG_ERROR "配置文件 $tas_config 不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 验证配置是否正确解析和应用
|
||||
LOG_INFO "验证配置是否正确解析和应用"
|
||||
tas_output=$(tas --config "$tas_config" --validate)
|
||||
CHECK_RESULT $? 0 0 "配置文件验证失败"
|
||||
|
||||
# 清理环境:如果脚本开始时未安装,则卸载软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载 kunpengsecl-tas 软件包"
|
||||
dnf remove -y kunpengsecl-tas
|
||||
CHECK_RESULT $? 0 0 "卸载 kunpengsecl-tas 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,72 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-04
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 tas 命令的 -T 参数,用于生成 rest api 的测试 token
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 测试 tas 命令的 -T 参数,用于生成 rest api 的测试 token
|
||||
|
||||
LOG_INFO "开始测试 tas 命令的 -T 参数"
|
||||
|
||||
# 检查是否已安装 kunpengsecl-tas 软件包
|
||||
LOG_INFO "检查 kunpengsecl-tas 是否已安装"
|
||||
if rpm -q kunpengsecl-tas &>/dev/null; then
|
||||
LOG_INFO "kunpengsecl-tas 已安装"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "kunpengsecl-tas 未安装"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 如果未安装,尝试从 yum 源安装
|
||||
if ! $installed; then
|
||||
LOG_INFO "尝试从 yum 源安装 kunpengsecl-tas"
|
||||
if ! dnf list available kunpengsecl-tas &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 kunpengsecl-tas 软件包"
|
||||
exit 255
|
||||
fi
|
||||
dnf install -y kunpengsecl-tas
|
||||
CHECK_RESULT $? 0 0 "安装 kunpengsecl-tas 失败"
|
||||
fi
|
||||
|
||||
# 检查 tas 命令是否支持 -T 参数
|
||||
LOG_INFO "检查 tas 命令是否支持 -T 参数"
|
||||
tas -h | grep -q -- "-T" || {
|
||||
LOG_ERROR "tas 命令不支持 -T 参数"
|
||||
exit 255
|
||||
}
|
||||
|
||||
#执行 tas -T,生成测试 token
|
||||
LOG_INFO "执行 tas -T 生成测试 token"
|
||||
tas -T
|
||||
CHECK_RESULT $? 0 0 "tas -T 执行失败"
|
||||
|
||||
#清理环境
|
||||
if ! $installed; then
|
||||
LOG_INFO "卸载 kunpengsecl-tas"
|
||||
dnf remove -y kunpengsecl-tas
|
||||
CHECK_RESULT $? 0 0 "卸载 kunpengsecl-tas失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,147 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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 : 测试toPlainObject函数将对象转换为普通对象的基本功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试环境准备
|
||||
LOG_INFO "开始测试nodejs-lodash的toPlainObject函数基本功能"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="nodejs-lodash"
|
||||
LOG_INFO "检查${PACKAGE_NAME}软件包是否在yum源中"
|
||||
|
||||
# 检查yum源中是否存在该软件包
|
||||
if ! dnf list available ${PACKAGE_NAME} &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到${PACKAGE_NAME}软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "检查当前环境是否已安装${PACKAGE_NAME}"
|
||||
|
||||
# 检查是否已安装
|
||||
INSTALLED=false
|
||||
if rpm -q ${PACKAGE_NAME} &>/dev/null; then
|
||||
LOG_INFO "${PACKAGE_NAME}已安装"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "${PACKAGE_NAME}未安装,将作为测试步骤安装"
|
||||
fi
|
||||
|
||||
# 安装软件包(如果未安装)
|
||||
if [ "${INSTALLED}" = "false" ]; then
|
||||
LOG_INFO "安装${PACKAGE_NAME}软件包"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}失败"
|
||||
fi
|
||||
|
||||
# 测试toPlainObject函数基本功能
|
||||
LOG_INFO "测试toPlainObject函数将对象转换为普通对象的基本功能"
|
||||
|
||||
# 创建测试脚本
|
||||
TEST_SCRIPT="/tmp/test_lodash.js"
|
||||
cat > ${TEST_SCRIPT} << "EOF"
|
||||
const _ = require("lodash");
|
||||
|
||||
// 测试1:普通对象转换
|
||||
function testBasicObject() {
|
||||
const obj = { a: 1, b: 2 };
|
||||
const plainObj = _.toPlainObject(obj);
|
||||
console.log("Test 1 - Basic object conversion:");
|
||||
console.log("Original:", obj);
|
||||
console.log("Result:", plainObj);
|
||||
console.log("Type of result:", typeof plainObj);
|
||||
console.log("Is plain object?", _.isPlainObject(plainObj));
|
||||
console.log("");
|
||||
}
|
||||
|
||||
// 测试2:嵌套对象转换
|
||||
function testNestedObject() {
|
||||
const obj = { a: 1, b: { c: 2, d: { e: 3 } } };
|
||||
const plainObj = _.toPlainObject(obj);
|
||||
console.log("Test 2 - Nested object conversion:");
|
||||
console.log("Original:", obj);
|
||||
console.log("Result:", plainObj);
|
||||
console.log("Is plain object?", _.isPlainObject(plainObj));
|
||||
console.log("Is nested object plain?", _.isPlainObject(plainObj.b.d));
|
||||
console.log("");
|
||||
}
|
||||
|
||||
// 测试3:数组转换
|
||||
function testArrayConversion() {
|
||||
const arr = [1, 2, 3];
|
||||
const plainObj = _.toPlainObject(arr);
|
||||
console.log("Test 3 - Array conversion:");
|
||||
console.log("Original array:", arr);
|
||||
console.log("Result:", plainObj);
|
||||
console.log("Is plain object?", _.isPlainObject(plainObj));
|
||||
console.log("");
|
||||
}
|
||||
|
||||
// 测试4:函数参数转换
|
||||
function testFunctionArguments() {
|
||||
function testFunc(a, b) {
|
||||
const plainObj = _.toPlainObject(arguments);
|
||||
console.log("Test 4 - Function arguments conversion:");
|
||||
console.log("Arguments:", arguments);
|
||||
console.log("Result:", plainObj);
|
||||
console.log("Is plain object?", _.isPlainObject(plainObj));
|
||||
console.log("");
|
||||
}
|
||||
testFunc("x", "y");
|
||||
}
|
||||
|
||||
// 执行所有测试
|
||||
try {
|
||||
testBasicObject();
|
||||
testNestedObject();
|
||||
testArrayConversion();
|
||||
testFunctionArguments();
|
||||
console.log("All tests completed successfully");
|
||||
process.exit(0);
|
||||
} catch (error) {
|
||||
console.error("Test failed:", error);
|
||||
process.exit(1);
|
||||
}
|
||||
EOF
|
||||
|
||||
LOG_INFO "执行toPlainObject函数测试"
|
||||
node ${TEST_SCRIPT}
|
||||
CHECK_RESULT $? 0 0 "toPlainObject函数基本功能测试失败"
|
||||
|
||||
# 清理测试脚本
|
||||
LOG_INFO "清理测试脚本"
|
||||
rm -f ${TEST_SCRIPT}
|
||||
|
||||
# 环境恢复
|
||||
LOG_INFO "恢复测试环境"
|
||||
|
||||
# 如果测试前未安装,则卸载软件包
|
||||
if [ "${INSTALLED}" = "false" ]; then
|
||||
LOG_INFO "卸载${PACKAGE_NAME}软件包"
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}失败"
|
||||
else
|
||||
LOG_INFO "保持${PACKAGE_NAME}已安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,110 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-22
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试toPlainObject函数对继承属性的转换处理
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 环境初始化
|
||||
LOG_INFO "开始测试:测试toPlainObject函数对继承属性的转换处理"
|
||||
LOG_INFO "步骤1:检查是否已安装nodejs和lodash"
|
||||
if dnf list installed nodejs > /dev/null 2>&1 && dnf list installed nodejs-lodash > /dev/null 2>&1; then
|
||||
LOG_INFO "nodejs和lodash已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "nodejs和lodash未安装,将在测试前安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
LOG_INFO "步骤2:检查yum源中是否有nodejs和nodejs-lodash软件包"
|
||||
if ! dnf list available nodejs > /dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中未找到nodejs软件包"
|
||||
exit 255
|
||||
fi
|
||||
if ! dnf list available nodejs-lodash > /dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中未找到nodejs-lodash软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装软件包(如果未安装)
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤3:安装nodejs和nodejs-lodash"
|
||||
dnf install -y nodejs nodejs-lodash
|
||||
CHECK_RESULT $? 0 0 "安装nodejs和nodejs-lodash失败"
|
||||
fi
|
||||
|
||||
# 创建测试脚本
|
||||
LOG_INFO "步骤4:创建测试脚本test_lodash.js"
|
||||
cat > /tmp/test_lodash.js << "EOF"
|
||||
const _ = require("lodash");
|
||||
// 创建一个父类
|
||||
function Parent() {
|
||||
this.parentProp = "parentValue";
|
||||
}
|
||||
// 创建一个子类
|
||||
function Child() {
|
||||
this.childProp = "childValue";
|
||||
}
|
||||
// 设置继承
|
||||
Child.prototype = new Parent();
|
||||
Child.prototype.constructor = Child;
|
||||
|
||||
// 创建子类实例
|
||||
const childInstance = new Child();
|
||||
// 使用toPlainObject转换
|
||||
const plainObject = _.toPlainObject(childInstance);
|
||||
|
||||
console.log("parentProp in plainObject:", plainObject.parentProp);
|
||||
console.log("childProp in plainObject:", plainObject.childProp);
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "创建测试脚本失败"
|
||||
|
||||
# 执行测试
|
||||
LOG_INFO "步骤5:执行测试脚本"
|
||||
node /tmp/test_lodash.js > /tmp/test_output.txt 2>&1
|
||||
CHECK_RESULT $? 0 0 "执行测试脚本失败"
|
||||
|
||||
# 检查测试结果
|
||||
LOG_INFO "步骤6:检查测试结果"
|
||||
if grep -q "parentProp in plainObject: parentValue" /tmp/test_output.txt && grep -q "childProp in plainObject: childValue" /tmp/test_output.txt; then
|
||||
LOG_INFO "测试通过:toPlainObject正确转换了继承属性"
|
||||
else
|
||||
LOG_ERROR "测试失败:toPlainObject未能正确转换继承属性"
|
||||
cat /tmp/test_output.txt
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 环境清理
|
||||
LOG_INFO "步骤7:清理临时文件"
|
||||
rm -f /tmp/test_lodash.js /tmp/test_output.txt
|
||||
CHECK_RESULT $? 0 0 "清理临时文件失败"
|
||||
|
||||
# 卸载软件包(如果测试前未安装)
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤8:卸载nodejs和nodejs-lodash"
|
||||
dnf remove -y nodejs nodejs-lodash
|
||||
CHECK_RESULT $? 0 0 "卸载nodejs和nodejs-lodash失败"
|
||||
else
|
||||
LOG_INFO "步骤8:保持nodejs和nodejs-lodash安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:测试toPlainObject函数对继承属性的转换处理"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,129 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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 : 测试软件包nodejs-lodash-toplainobject能否通过包管理器(如npm)正常安装
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查当前环境是否已安装nodejs-lodash-toplainobject
|
||||
LOG_INFO "开始测试:验证nodejs-lodash-toplainobject能否通过包管理器正常安装"
|
||||
LOG_INFO "步骤1:检查当前环境是否已安装nodejs-lodash-toplainobject软件包"
|
||||
if rpm -q nodejs-lodash-toplainobject &>/dev/null; then
|
||||
LOG_INFO "检测到nodejs-lodash-toplainobject已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "当前环境未安装nodejs-lodash-toplainobject,将在测试过程中安装"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在nodejs-lodash-toplainobject软件包
|
||||
LOG_INFO "步骤2:检查yum源中是否存在nodejs-lodash-toplainobject软件包"
|
||||
if ! dnf list available nodejs-lodash-toplainobject &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到nodejs-lodash-toplainobject软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum源中存在nodejs-lodash-toplainobject软件包"
|
||||
|
||||
# 安装nodejs-lodash-toplainobject软件包(如果未安装)
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "步骤3:通过dnf安装nodejs-lodash-toplainobject软件包"
|
||||
dnf install -y nodejs-lodash-toplainobject
|
||||
CHECK_RESULT $? 0 0 "安装nodejs-lodash-toplainobject失败"
|
||||
LOG_INFO "nodejs-lodash-toplainobject软件包安装成功"
|
||||
fi
|
||||
|
||||
# 验证nodejs-lodash-toplainobject软件包是否已正确安装
|
||||
LOG_INFO "步骤4:验证nodejs-lodash-toplainobject软件包是否已正确安装"
|
||||
rpm -q nodejs-lodash-toplainobject
|
||||
CHECK_RESULT $? 0 0 "验证nodejs-lodash-toplainobject软件包安装状态失败"
|
||||
|
||||
# 测试通过包管理器(如npm)正常安装lodash的toplainobject功能
|
||||
LOG_INFO "步骤5:测试通过npm安装lodash并验证toplainobject功能"
|
||||
# 检查npm命令是否可用
|
||||
if ! command -v npm &>/dev/null; then
|
||||
LOG_ERROR "npm命令未找到,无法进行包管理器安装测试"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 创建一个临时目录用于测试
|
||||
TEST_DIR=$(mktemp -d)
|
||||
cd "$TEST_DIR" || exit 1
|
||||
|
||||
# 初始化npm项目
|
||||
LOG_INFO "在临时目录中初始化npm项目"
|
||||
npm init -y
|
||||
CHECK_RESULT $? 0 0 "npm初始化失败"
|
||||
|
||||
# 安装lodash软件包
|
||||
LOG_INFO "通过npm安装lodash软件包"
|
||||
npm install lodash
|
||||
CHECK_RESULT $? 0 0 "npm安装lodash失败"
|
||||
|
||||
# 创建一个简单的测试脚本来验证toplainobject功能
|
||||
LOG_INFO "创建测试脚本验证lodash的toplainobject功能"
|
||||
cat > test_toplainobject.js << "EOF"
|
||||
const _ = require("lodash");
|
||||
|
||||
function Foo() {
|
||||
this.a = 1;
|
||||
}
|
||||
|
||||
Foo.prototype.b = 2;
|
||||
|
||||
const foo = new Foo();
|
||||
const plainObj = _.toPlainObject(foo);
|
||||
|
||||
console.log("Testing toPlainObject function...");
|
||||
console.log("Original object:", foo);
|
||||
console.log("Plain object:", plainObj);
|
||||
|
||||
if (plainObj.a === 1 && !plainObj.hasOwnProperty("b")) {
|
||||
console.log("SUCCESS: toPlainObject function works correctly");
|
||||
process.exit(0);
|
||||
} else {
|
||||
console.log("FAILURE: toPlainObject function does not work as expected");
|
||||
process.exit(1);
|
||||
}
|
||||
EOF
|
||||
|
||||
# 执行测试脚本
|
||||
LOG_INFO "执行测试脚本验证toplainobject功能"
|
||||
node test_toplainobject.js
|
||||
CHECK_RESULT $? 0 0 "lodash的toplainobject功能测试失败"
|
||||
|
||||
LOG_INFO "lodash的toplainobject功能测试成功"
|
||||
|
||||
# 清理临时测试目录
|
||||
LOG_INFO "清理临时测试目录"
|
||||
cd /tmp || exit 1
|
||||
rm -rf "$TEST_DIR"
|
||||
|
||||
# 环境恢复:如果测试前未安装,则卸载软件包
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "步骤6:恢复测试环境,卸载测试安装的nodejs-lodash-toplainobject软件包"
|
||||
dnf remove -y nodejs-lodash-toplainobject
|
||||
CHECK_RESULT $? 0 0 "卸载nodejs-lodash-toplainobject失败"
|
||||
LOG_INFO "nodejs-lodash-toplainobject软件包已成功卸载"
|
||||
else
|
||||
LOG_INFO "步骤6:测试前已安装nodejs-lodash-toplainobject,保持安装状态不变"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:nodejs-lodash-toplainobject能通过包管理器正常安装"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,103 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-22
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试在Node.js环境中能够成功require引入lodash.toplainobject模块
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 环境检查:检查Node.js是否已安装
|
||||
LOG_INFO "检查Node.js是否已安装"
|
||||
if command -v node &> /dev/null; then
|
||||
LOG_INFO "Node.js已安装,脚本结束后将保持安装状态"
|
||||
NODEJS_INSTALLED=true
|
||||
else
|
||||
LOG_INFO "Node.js未安装,将在测试步骤中安装"
|
||||
NODEJS_INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有Node.js软件包
|
||||
LOG_INFO "检查yum源中是否有Node.js软件包"
|
||||
if ! dnf list available nodejs &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到Node.js软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果Node.js未安装,则安装Node.js
|
||||
if [ "$NODEJS_INSTALLED" = false ]; then
|
||||
LOG_INFO "安装Node.js"
|
||||
dnf install -y nodejs
|
||||
CHECK_RESULT $? 0 0 "安装Node.js失败"
|
||||
fi
|
||||
|
||||
# 检查Node.js环境
|
||||
LOG_INFO "检查Node.js环境"
|
||||
node --version
|
||||
CHECK_RESULT $? 0 0 "Node.js环境检查失败"
|
||||
|
||||
# 创建测试目录
|
||||
LOG_INFO "创建测试目录"
|
||||
mkdir -p /tmp/test_nodejs_lodash
|
||||
cd /tmp/test_nodejs_lodash
|
||||
CHECK_RESULT $? 0 0 "创建测试目录失败"
|
||||
|
||||
# 初始化npm项目
|
||||
LOG_INFO "初始化npm项目"
|
||||
npm init -y
|
||||
CHECK_RESULT $? 0 0 "初始化npm项目失败"
|
||||
|
||||
# 安装lodash.toplainobject模块
|
||||
LOG_INFO "安装lodash.toplainobject模块"
|
||||
npm install lodash.toplainobject
|
||||
CHECK_RESULT $? 0 0 "安装lodash.toplainobject模块失败"
|
||||
|
||||
# 创建测试脚本
|
||||
LOG_INFO "创建测试脚本"
|
||||
cat > test_require.js << "EOF"
|
||||
const toPlainObject = require("lodash.toplainobject");
|
||||
if (typeof toPlainObject === "function") {
|
||||
console.log("SUCCESS: lodash.toplainobject模块成功引入");
|
||||
process.exit(0);
|
||||
} else {
|
||||
console.error("FAILURE: lodash.toplainobject模块引入失败");
|
||||
process.exit(1);
|
||||
}
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "创建测试脚本失败"
|
||||
|
||||
# 执行测试脚本
|
||||
LOG_INFO "执行测试脚本"
|
||||
node test_require.js
|
||||
CHECK_RESULT $? 0 0 "测试脚本执行失败,无法成功require引入lodash.toplainobject模块"
|
||||
|
||||
# 清理测试目录
|
||||
LOG_INFO "清理测试目录"
|
||||
cd /
|
||||
rm -rf /tmp/test_nodejs_lodash
|
||||
CHECK_RESULT $? 0 0 "清理测试目录失败"
|
||||
|
||||
# 如果Node.js是本次脚本安装的,则卸载Node.js
|
||||
if [ "$NODEJS_INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载Node.js"
|
||||
dnf remove -y nodejs
|
||||
CHECK_RESULT $? 0 0 "卸载Node.js失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Node.js环境中能够成功require引入lodash.toplainobject模块"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,68 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-21
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test accessing module help or documentation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装python3-meh软件包
|
||||
LOG_INFO "检查python3-meh软件包是否已安装"
|
||||
rpm -q python3-meh > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "python3-meh已安装,记录当前状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "python3-meh未安装,将在测试过程中安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在python3-meh软件包
|
||||
LOG_INFO "检查yum源中是否存在python3-meh软件包"
|
||||
dnf list available python3-meh > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在python3-meh软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装python3-meh软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装python3-meh软件包"
|
||||
dnf install -y python3-meh
|
||||
CHECK_RESULT $? 0 0 "安装python3-meh失败"
|
||||
fi
|
||||
|
||||
# 测试访问模块帮助或文档
|
||||
LOG_INFO "测试访问python3-meh模块帮助"
|
||||
python3 -c "import meh; help(meh)" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "访问python3-meh模块帮助失败"
|
||||
|
||||
LOG_INFO "测试访问python3-meh模块文档"
|
||||
python3 -c "import meh; print(meh.__doc__)" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "访问python3-meh模块文档失败"
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载python3-meh软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载python3-meh软件包"
|
||||
dnf remove -y python3-meh
|
||||
CHECK_RESULT $? 0 0 "卸载python3-meh失败"
|
||||
else
|
||||
LOG_INFO "保持python3-meh软件包安装状态"
|
||||
fi
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,68 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-21
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test importing meh module in Python
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:在Python中导入meh模块"
|
||||
LOG_INFO "步骤1:检查是否已安装python3-meh软件包"
|
||||
dnf list installed python3-meh > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "python3-meh已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "python3-meh未安装,将在测试过程中安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查yum源中是否有python3-meh软件包"
|
||||
dnf list available python3-meh > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中未找到python3-meh软件包"
|
||||
|
||||
LOG_INFO "步骤3:安装python3-meh软件包"
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
dnf install -y python3-meh > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装python3-meh失败"
|
||||
LOG_INFO "python3-meh安装成功"
|
||||
else
|
||||
LOG_INFO "python3-meh已安装,跳过安装步骤"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:检查python3命令是否支持-c参数"
|
||||
python3 -c "print("test")" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "python3命令不支持-c参数"
|
||||
|
||||
LOG_INFO "步骤5:在Python中导入meh模块"
|
||||
python3 -c "import meh; print("导入meh模块成功")" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "导入meh模块失败"
|
||||
|
||||
LOG_INFO "步骤6:清理环境"
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载python3-meh软件包"
|
||||
dnf remove -y python3-meh > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载python3-meh失败"
|
||||
LOG_INFO "python3-meh卸载成功"
|
||||
else
|
||||
LOG_INFO "脚本开始时python3-meh已安装,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,72 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-21
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test installation of python3-meh package
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
# 步骤1:检查yum源中是否存在python3-meh包
|
||||
LOG_INFO "步骤1:检查yum源中是否存在python3-meh包"
|
||||
if ! dnf list available python3-meh &>/dev/null; then
|
||||
LOG_ERROR "python3-meh包在yum源中不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤2:检查是否已安装python3-meh
|
||||
LOG_INFO "步骤2:检查是否已安装python3-meh"
|
||||
if rpm -q python3-meh &>/dev/null; then
|
||||
LOG_INFO "python3-meh已安装,标记为已存在"
|
||||
already_installed=1
|
||||
else
|
||||
LOG_INFO "python3-meh未安装,标记为未存在"
|
||||
already_installed=0
|
||||
fi
|
||||
|
||||
# 步骤3:如果未安装,则安装python3-meh
|
||||
if [ $already_installed -eq 0 ]; then
|
||||
LOG_INFO "步骤3:安装python3-meh包"
|
||||
dnf install -y python3-meh
|
||||
CHECK_RESULT $? 0 0 "安装python3-meh失败"
|
||||
fi
|
||||
|
||||
# 步骤4:验证python3-meh安装成功
|
||||
LOG_INFO "步骤4:验证python3-meh安装成功"
|
||||
rpm -q python3-meh
|
||||
CHECK_RESULT $? 0 0 "验证python3-meh安装失败"
|
||||
|
||||
# 步骤5:测试python3-meh基本功能
|
||||
LOG_INFO "步骤5:测试python3-meh基本功能"
|
||||
python3 -c "import meh; print(meh.__version__)" 2>/dev/null || true
|
||||
# 注意:这里不检查结果,因为某些版本可能没有__version__属性,仅作为功能测试
|
||||
|
||||
# 步骤6:清理环境,如果脚本开始时未安装,则卸载python3-meh
|
||||
if [ $already_installed -eq 0 ]; then
|
||||
LOG_INFO "步骤6:清理环境,卸载python3-meh包"
|
||||
dnf remove -y python3-meh
|
||||
CHECK_RESULT $? 0 0 "卸载python3-meh失败"
|
||||
LOG_INFO "环境已恢复到初始状态"
|
||||
else
|
||||
LOG_INFO "步骤6:环境已安装python3-meh,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,79 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-21
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test removal of python3-meh package
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:测试python3-meh包的移除功能"
|
||||
LOG_INFO "步骤1:检查yum源中是否存在python3-meh软件包"
|
||||
dnf list available python3-meh > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到python3-meh软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum源中存在python3-meh软件包"
|
||||
|
||||
LOG_INFO "步骤2:检查当前是否已安装python3-meh软件包"
|
||||
rpm -q python3-meh > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "python3-meh软件包已安装,测试结束后将保持安装状态"
|
||||
INSTALLED_BEFORE_TEST=1
|
||||
else
|
||||
LOG_INFO "python3-meh软件包未安装,将在测试前安装并在测试后卸载"
|
||||
INSTALLED_BEFORE_TEST=0
|
||||
fi
|
||||
|
||||
if [ $INSTALLED_BEFORE_TEST -eq 0 ]; then
|
||||
LOG_INFO "步骤3:安装python3-meh软件包"
|
||||
dnf install -y python3-meh
|
||||
CHECK_RESULT $? 0 0 "安装python3-meh软件包失败"
|
||||
LOG_INFO "python3-meh软件包安装成功"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:验证python3-meh软件包是否正常安装"
|
||||
rpm -q python3-meh
|
||||
CHECK_RESULT $? 0 0 "验证python3-meh软件包安装状态失败"
|
||||
|
||||
LOG_INFO "步骤5:测试移除python3-meh软件包"
|
||||
dnf remove -y python3-meh
|
||||
CHECK_RESULT $? 0 0 "移除python3-meh软件包失败"
|
||||
LOG_INFO "python3-meh软件包移除成功"
|
||||
|
||||
LOG_INFO "步骤6:验证python3-meh软件包是否已移除"
|
||||
rpm -q python3-meh > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "python3-meh软件包移除后仍然存在"
|
||||
exit 1
|
||||
fi
|
||||
LOG_INFO "python3-meh软件包已成功移除"
|
||||
|
||||
LOG_INFO "步骤7:环境恢复"
|
||||
if [ $INSTALLED_BEFORE_TEST -eq 0 ]; then
|
||||
LOG_INFO "测试前未安装python3-meh,无需恢复安装"
|
||||
else
|
||||
LOG_INFO "恢复安装python3-meh软件包"
|
||||
dnf install -y python3-meh
|
||||
CHECK_RESULT $? 0 0 "恢复安装python3-meh软件包失败"
|
||||
LOG_INFO "python3-meh软件包恢复安装成功"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:python3-meh包的移除功能测试通过"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,73 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-21
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test querying installed package version
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 判断Python3-meh软件包是否已安装
|
||||
LOG_INFO "检查Python3-meh软件包是否已安装"
|
||||
if dnf list installed python3-meh &>/dev/null; then
|
||||
LOG_INFO "Python3-meh软件包已安装"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "Python3-meh软件包未安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在python3-meh软件包
|
||||
LOG_INFO "检查yum源中是否存在python3-meh软件包"
|
||||
if ! dnf list available python3-meh &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到python3-meh软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装python3-meh软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装python3-meh软件包"
|
||||
dnf install -y python3-meh
|
||||
CHECK_RESULT $? 0 0 "安装python3-meh软件包失败"
|
||||
LOG_INFO "python3-meh软件包安装成功"
|
||||
fi
|
||||
|
||||
# 测试查询已安装软件包版本功能
|
||||
LOG_INFO "测试查询python3-meh软件包版本"
|
||||
rpm -q python3-meh
|
||||
CHECK_RESULT $? 0 0 "查询python3-meh软件包版本失败"
|
||||
|
||||
# 检查查询结果是否符合预期
|
||||
VERSION_OUTPUT=$(rpm -q python3-meh)
|
||||
if [[ "$VERSION_OUTPUT" =~ python3-meh-.* ]]; then
|
||||
LOG_INFO "版本查询成功: $VERSION_OUTPUT"
|
||||
else
|
||||
LOG_ERROR "版本查询结果不符合预期: $VERSION_OUTPUT"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 环境恢复:如果脚本开始时未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "恢复环境:卸载python3-meh软件包"
|
||||
dnf remove -y python3-meh
|
||||
CHECK_RESULT $? 0 0 "卸载python3-meh软件包失败"
|
||||
LOG_INFO "环境恢复完成"
|
||||
else
|
||||
LOG_INFO "保持python3-meh软件包安装状态"
|
||||
fi
|
||||
}
|
||||
|
||||
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-24
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试python-pydot-help生成简单图形的核心功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查python-pydot-help是否已安装
|
||||
LOG_INFO "检查python-pydot-help是否已安装"
|
||||
rpm -q python-pydot-help > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "python-pydot-help已安装,脚本结束后保持安装状态"
|
||||
INSTALLED_FLAG=1
|
||||
else
|
||||
LOG_INFO "python-pydot-help未安装,测试过程中会安装,脚本结束后会卸载"
|
||||
INSTALLED_FLAG=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有python-pydot-help软件包
|
||||
LOG_INFO "检查yum源中是否有python-pydot-help软件包"
|
||||
dnf list available python-pydot-help > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中没有python-pydot-help软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装python-pydot-help
|
||||
if [ $INSTALLED_FLAG -eq 0 ]; then
|
||||
LOG_INFO "安装python-pydot-help软件包"
|
||||
dnf install -y python-pydot-help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装python-pydot-help失败"
|
||||
fi
|
||||
|
||||
# 测试python-pydot-help的help命令
|
||||
LOG_INFO "测试python-pydot-help的help命令"
|
||||
python-pydot-help --help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "python-pydot-help --help命令执行失败"
|
||||
|
||||
# 测试python-pydot-help生成简单图形的核心功能
|
||||
LOG_INFO "测试python-pydot-help生成简单图形的核心功能"
|
||||
python -c "
|
||||
import pydot
|
||||
graph = pydot.Dot(graph_type="digraph")
|
||||
node_a = pydot.Node("Node A", style="filled", fillcolor="red")
|
||||
node_b = pydot.Node("Node B", style="filled", fillcolor="green")
|
||||
graph.add_node(node_a)
|
||||
graph.add_node(node_b)
|
||||
edge = pydot.Edge(node_a, node_b, label="Edge")
|
||||
graph.add_edge(edge)
|
||||
graph.write_png("test_graph.png")
|
||||
" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "生成简单图形失败"
|
||||
|
||||
# 验证生成的图形文件是否存在
|
||||
LOG_INFO "验证生成的图形文件是否存在"
|
||||
if [ -f "test_graph.png" ]; then
|
||||
LOG_INFO "成功生成test_graph.png文件"
|
||||
rm -f test_graph.png
|
||||
else
|
||||
LOG_ERROR "未找到生成的test_graph.png文件"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理环境
|
||||
if [ $INSTALLED_FLAG -eq 0 ]; then
|
||||
LOG_INFO "卸载python-pydot-help软件包"
|
||||
dnf remove -y python-pydot-help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载python-pydot-help失败"
|
||||
else
|
||||
LOG_INFO "保持python-pydot-help安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,71 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-24
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试python-pydot-help设置图形属性的功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试python-pydot-help设置图形属性的功能"
|
||||
|
||||
# 检查是否已安装python3-pydot
|
||||
LOG_INFO "检查是否已安装python3-pydot"
|
||||
if rpm -q python3-pydot > /dev/null 2>&1; then
|
||||
LOG_INFO "python3-pydot已安装"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "python3-pydot未安装"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有python3-pydot包
|
||||
LOG_INFO "检查yum源中是否有python3-pydot包"
|
||||
if ! dnf list available python3-pydot > /dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中没有python3-pydot包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装python3-pydot
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装python3-pydot"
|
||||
dnf install -y python3-pydot
|
||||
CHECK_RESULT $? 0 0 "安装python3-pydot失败"
|
||||
fi
|
||||
|
||||
# 测试python-pydot-help设置图形属性的功能
|
||||
LOG_INFO "测试python-pydot-help设置图形属性的功能"
|
||||
python3 -c "
|
||||
import pydot
|
||||
graph = pydot.Dot(graph_type="digraph")
|
||||
graph.set("rankdir", "LR")
|
||||
graph.set("label", "测试图形")
|
||||
graph.set("fontsize", "10")
|
||||
print("图形属性设置成功")
|
||||
" 2>&1
|
||||
CHECK_RESULT $? 0 0 "python-pydot-help设置图形属性功能测试失败"
|
||||
|
||||
# 如果之前未安装,则卸载python3-pydot
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载python3-pydot"
|
||||
dnf remove -y python3-pydot
|
||||
CHECK_RESULT $? 0 0 "卸载python3-pydot失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,82 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-24
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试python-pydot-help软件包的安装功能是否正常
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试python-pydot-help软件包安装功能
|
||||
LOG_INFO "开始测试python-pydot-help软件包的安装功能"
|
||||
|
||||
# 检查软件包是否已在yum源中
|
||||
LOG_INFO "检查yum源中是否存在python-pydot-help软件包"
|
||||
dnf list available python-pydot-help > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在python-pydot-help软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum源中存在python-pydot-help软件包"
|
||||
|
||||
# 检查当前环境是否已安装python-pydot-help
|
||||
LOG_INFO "检查当前环境是否已安装python-pydot-help"
|
||||
rpm -q python-pydot-help > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "环境已安装python-pydot-help,跳过安装步骤"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "环境未安装python-pydot-help,开始安装"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
# 如果未安装,则执行安装
|
||||
if [ "$INSTALLED_BEFORE" = "false" ]; then
|
||||
LOG_INFO "执行python-pydot-help软件包安装"
|
||||
dnf install -y python-pydot-help
|
||||
CHECK_RESULT $? 0 0 "python-pydot-help软件包安装失败"
|
||||
LOG_INFO "python-pydot-help软件包安装成功"
|
||||
fi
|
||||
|
||||
# 验证软件包安装是否成功
|
||||
LOG_INFO "验证python-pydot-help软件包是否正常安装"
|
||||
rpm -q python-pydot-help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "python-pydot-help软件包未正确安装"
|
||||
|
||||
# 测试软件包基本功能
|
||||
LOG_INFO "测试python-pydot-help软件包基本功能"
|
||||
python3 -c "import pydot" 2>&1 | grep -q "ModuleNotFoundError"
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "python-pydot-help软件包功能异常,无法导入pydot模块"
|
||||
exit 1
|
||||
fi
|
||||
LOG_INFO "python-pydot-help软件包功能正常"
|
||||
|
||||
# 清理环境
|
||||
LOG_INFO "清理测试环境"
|
||||
if [ "$INSTALLED_BEFORE" = "false" ]; then
|
||||
LOG_INFO "卸载测试安装的python-pydot-help软件包"
|
||||
dnf remove -y python-pydot-help
|
||||
CHECK_RESULT $? 0 0 "python-pydot-help软件包卸载失败"
|
||||
LOG_INFO "python-pydot-help软件包卸载成功"
|
||||
else
|
||||
LOG_INFO "环境已安装python-pydot-help,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "python-pydot-help软件包安装功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,101 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-24
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试python-pydot-help渲染输出图像文件的功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="python3-pydot"
|
||||
|
||||
# 步骤1:检查yum源中是否存在指定的软件包
|
||||
LOG_INFO "步骤1:检查yum源中是否存在软件包 $PACKAGE_NAME"
|
||||
if ! dnf list available $PACKAGE_NAME &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到软件包 $PACKAGE_NAME"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤2:检查环境是否已经安装该软件包
|
||||
LOG_INFO "步骤2:检查环境是否已经安装软件包 $PACKAGE_NAME"
|
||||
if rpm -q $PACKAGE_NAME &>/dev/null; then
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 已经安装,脚本结束后将保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 未安装,将在测试步骤中安装,并在脚本结束前卸载"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
# 步骤3:如果未安装,则安装软件包
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "步骤3:安装软件包 $PACKAGE_NAME"
|
||||
dnf install -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
|
||||
fi
|
||||
|
||||
# 步骤4:测试pydot的help命令参数
|
||||
LOG_INFO "步骤4:测试pydot的help命令参数"
|
||||
if ! python3 -m pydot -h &>/dev/null; then
|
||||
LOG_ERROR "pydot的help命令参数不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤5:使用pydot生成一个简单的DOT文件并渲染输出图像
|
||||
LOG_INFO "步骤5:使用pydot生成一个简单的DOT文件并渲染输出图像"
|
||||
cat > test_graph.dot << "EOF"
|
||||
digraph G {
|
||||
A -> B;
|
||||
A -> C;
|
||||
B -> D;
|
||||
C -> D;
|
||||
}
|
||||
EOF
|
||||
|
||||
python3 -c "
|
||||
import pydot
|
||||
graphs = pydot.graph_from_dot_file("test_graph.dot")
|
||||
graph = graphs[0]
|
||||
graph.write_png("test_graph.png")
|
||||
"
|
||||
CHECK_RESULT $? 0 0 "使用pydot渲染输出图像文件失败"
|
||||
|
||||
# 步骤6:检查生成的图像文件是否存在
|
||||
LOG_INFO "步骤6:检查生成的图像文件是否存在"
|
||||
if [ -f "test_graph.png" ]; then
|
||||
LOG_INFO "图像文件 test_graph.png 生成成功"
|
||||
else
|
||||
LOG_ERROR "图像文件 test_graph.png 未生成"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 步骤7:清理测试生成的文件
|
||||
LOG_INFO "步骤7:清理测试生成的文件"
|
||||
rm -f test_graph.dot test_graph.png
|
||||
|
||||
# 步骤8:如果测试前未安装,则在测试结束后卸载软件包
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "步骤8:卸载软件包 $PACKAGE_NAME"
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,66 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-24
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试python-pydot-help软件包的卸载功能是否正常
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试python-pydot-help软件包的卸载功能是否正常"
|
||||
LOG_INFO "步骤1:检查yum源中是否存在python-pydot-help软件包"
|
||||
if ! dnf list available python-pydot-help &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到python-pydot-help软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "步骤2:检查系统是否已安装python-pydot-help软件包"
|
||||
if rpm -q python-pydot-help &>/dev/null; then
|
||||
LOG_INFO "python-pydot-help软件包已安装,测试结束后将保持安装状态"
|
||||
INSTALLED_BEFORE=1
|
||||
else
|
||||
LOG_INFO "python-pydot-help软件包未安装,将进行安装测试"
|
||||
INSTALLED_BEFORE=0
|
||||
LOG_INFO "步骤3:安装python-pydot-help软件包"
|
||||
dnf install -y python-pydot-help
|
||||
CHECK_RESULT $? 0 0 "安装python-pydot-help软件包失败"
|
||||
fi
|
||||
LOG_INFO "步骤4:验证python-pydot-help软件包安装成功"
|
||||
rpm -q python-pydot-help
|
||||
CHECK_RESULT $? 0 0 "验证python-pydot-help软件包安装失败"
|
||||
LOG_INFO "步骤5:执行python-pydot-help软件包卸载"
|
||||
dnf remove -y python-pydot-help
|
||||
CHECK_RESULT $? 0 0 "卸载python-pydot-help软件包失败"
|
||||
LOG_INFO "步骤6:验证python-pydot-help软件包已卸载"
|
||||
if rpm -q python-pydot-help &>/dev/null; then
|
||||
LOG_ERROR "python-pydot-help软件包卸载后仍然存在"
|
||||
CHECK_RESULT 1 0 0 "python-pydot-help软件包卸载验证失败"
|
||||
else
|
||||
LOG_INFO "python-pydot-help软件包已成功卸载"
|
||||
CHECK_RESULT $? 0 0 "python-pydot-help软件包卸载验证失败"
|
||||
fi
|
||||
if [ $INSTALLED_BEFORE -eq 0 ]; then
|
||||
LOG_INFO "步骤7:恢复环境,重新安装python-pydot-help软件包"
|
||||
dnf install -y python-pydot-help
|
||||
CHECK_RESULT $? 0 0 "恢复安装python-pydot-help软件包失败"
|
||||
else
|
||||
LOG_INFO "步骤7:环境恢复,重新安装python-pydot-help软件包"
|
||||
dnf install -y python-pydot-help
|
||||
CHECK_RESULT $? 0 0 "重新安装python-pydot-help软件包失败"
|
||||
fi
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,145 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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 : Test integration with Samba Active Directory
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义日志函数
|
||||
LOG_INFO() {
|
||||
echo "[INFO] $*"
|
||||
}
|
||||
|
||||
LOG_ERROR() {
|
||||
echo "[ERROR] $*"
|
||||
}
|
||||
|
||||
# 定义检查结果函数
|
||||
CHECK_RESULT() {
|
||||
local actual=$1
|
||||
local expected=$2
|
||||
local exit_code=$3
|
||||
local error_msg=$4
|
||||
|
||||
if [ "$actual" -eq "$expected" ]; then
|
||||
LOG_INFO "检查通过"
|
||||
else
|
||||
LOG_ERROR "$error_msg"
|
||||
exit $exit_code
|
||||
fi
|
||||
}
|
||||
|
||||
# 定义SSH命令函数
|
||||
SSH_CMD() {
|
||||
local cmd=$1
|
||||
local node_ip=$2
|
||||
local node_password=$3
|
||||
local node_user=$4
|
||||
|
||||
sshpass -p "$node_password" ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null "$node_user"@"$node_ip" "$cmd"
|
||||
}
|
||||
|
||||
# 测试开始
|
||||
LOG_INFO "开始测试:Samba Active Directory集成测试"
|
||||
|
||||
# 检查是否已安装Samba AD DC相关软件包
|
||||
LOG_INFO "检查环境是否已安装Samba AD DC相关软件包"
|
||||
if rpm -q samba-dc-bind-dlz &>/dev/null; then
|
||||
LOG_INFO "Samba AD DC相关软件包已安装,测试结束后将保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "Samba AD DC相关软件包未安装,将在测试过程中安装"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有samba-dc-bind-dlz软件包
|
||||
LOG_INFO "检查yum源中是否有samba-dc-bind-dlz软件包"
|
||||
if dnf list available samba-dc-bind-dlz &>/dev/null; then
|
||||
LOG_INFO "yum源中存在samba-dc-bind-dlz软件包"
|
||||
else
|
||||
LOG_ERROR "yum源中不存在samba-dc-bind-dlz软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "安装samba-dc-bind-dlz软件包"
|
||||
dnf install -y samba-dc-bind-dlz
|
||||
CHECK_RESULT $? 0 0 "安装samba-dc-bind-dlz软件包失败"
|
||||
fi
|
||||
|
||||
# 检查Samba AD DC服务是否正常运行
|
||||
LOG_INFO "检查Samba AD DC服务是否正常运行"
|
||||
systemctl is-active samba &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "Samba AD DC服务未运行"
|
||||
|
||||
# 测试Samba AD DC与Bind DLZ的集成
|
||||
LOG_INFO "测试Samba AD DC与Bind DLZ的集成"
|
||||
# 检查samba-tool命令是否可用
|
||||
LOG_INFO "检查samba-tool命令是否可用"
|
||||
samba-tool --version &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "samba-tool命令不可用"
|
||||
|
||||
# 测试域控制器功能
|
||||
LOG_INFO "测试域控制器功能"
|
||||
# 尝试列出域用户(假设域已配置)
|
||||
LOG_INFO "尝试列出域用户"
|
||||
samba-tool user list &>/dev/null
|
||||
# 此命令可能失败如果域未配置,所以不检查结果,仅记录日志
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "域控制器功能正常"
|
||||
else
|
||||
LOG_INFO "域控制器功能测试未完成(可能需要域配置)"
|
||||
fi
|
||||
|
||||
# 测试Bind DLZ集成
|
||||
LOG_INFO "测试Bind DLZ集成"
|
||||
# 检查named服务是否运行
|
||||
LOG_INFO "检查named服务是否运行"
|
||||
systemctl is-active named &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "named服务正在运行"
|
||||
# 测试DNS查询
|
||||
LOG_INFO "测试DNS查询功能"
|
||||
dig @127.0.0.1 localhost &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "DNS查询失败"
|
||||
else
|
||||
LOG_INFO "named服务未运行,跳过DNS查询测试"
|
||||
fi
|
||||
|
||||
# 测试AD集成功能
|
||||
LOG_INFO "测试AD集成功能"
|
||||
# 检查Samba AD DC与Bind DLZ的配置集成
|
||||
LOG_INFO "检查Samba AD DC与Bind DLZ的配置集成"
|
||||
if [ -f /etc/samba/smb.conf ] && grep -q "dlz" /etc/samba/smb.conf; then
|
||||
LOG_INFO "Samba配置中包含DLZ设置"
|
||||
else
|
||||
LOG_INFO "Samba配置中未找到DLZ设置(可能需要手动配置)"
|
||||
fi
|
||||
|
||||
# 如果测试前未安装,则卸载软件包
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "卸载samba-dc-bind-dlz软件包"
|
||||
dnf remove -y samba-dc-bind-dlz
|
||||
CHECK_RESULT $? 0 0 "卸载samba-dc-bind-dlz软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Samba Active Directory集成测试"
|
||||
}
|
||||
|
||||
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-25
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic configuration and service startup
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试Samba域控制器bind-dlz功能配置"
|
||||
|
||||
# 检查环境是否已安装
|
||||
LOG_INFO "检查Samba和BIND相关软件包是否已安装"
|
||||
if dnf list installed samba-dc-bind-dlz 2>/dev/null | grep -q "samba-dc-bind-dlz"; then
|
||||
INSTALLED="true"
|
||||
LOG_INFO "检测到samba-dc-bind-dlz已安装"
|
||||
else
|
||||
INSTALLED="false"
|
||||
LOG_INFO "未检测到samba-dc-bind-dlz安装"
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有软件包
|
||||
LOG_INFO "检查yum源中是否存在samba-dc-bind-dlz软件包"
|
||||
if ! dnf list available samba-dc-bind-dlz 2>/dev/null | grep -q "samba-dc-bind-dlz"; then
|
||||
LOG_ERROR "yum源中未找到samba-dc-bind-dlz软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "开始安装samba-dc-bind-dlz软件包"
|
||||
dnf install -y samba-dc-bind-dlz
|
||||
CHECK_RESULT $? 0 0 "安装samba-dc-bind-dlz失败"
|
||||
LOG_INFO "samba-dc-bind-dlz安装成功"
|
||||
fi
|
||||
|
||||
# 检查samba-tool命令是否存在
|
||||
LOG_INFO "检查samba-tool命令是否可用"
|
||||
if ! command -v samba-tool >/dev/null 2>&1; then
|
||||
LOG_ERROR "samba-tool命令不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试基本配置
|
||||
LOG_INFO "测试Samba域控制器基本配置"
|
||||
samba-tool domain provision --use-rfc2307 --realm=TESTDOMAIN.COM --domain=TESTDOMAIN --server-role=dc --dns-backend=BIND9_DLZ --adminpass=Passw0rd
|
||||
CHECK_RESULT $? 0 0 "Samba域控制器配置失败"
|
||||
|
||||
# 检查配置文件是否存在
|
||||
LOG_INFO "检查Samba配置文件"
|
||||
if [ ! -f /etc/samba/smb.conf ]; then
|
||||
LOG_ERROR "Samba配置文件不存在"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 测试服务启动
|
||||
LOG_INFO "启动Samba服务"
|
||||
systemctl start samba
|
||||
CHECK_RESULT $? 0 0 "启动Samba服务失败"
|
||||
|
||||
LOG_INFO "检查Samba服务状态"
|
||||
systemctl status samba >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "Samba服务未正常运行"
|
||||
|
||||
# 测试BIND服务
|
||||
LOG_INFO "检查BIND服务配置"
|
||||
if [ ! -f /etc/named.conf ]; then
|
||||
LOG_ERROR "BIND配置文件不存在"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_INFO "启动BIND服务"
|
||||
systemctl start named
|
||||
CHECK_RESULT $? 0 0 "启动BIND服务失败"
|
||||
|
||||
LOG_INFO "检查BIND服务状态"
|
||||
systemctl status named >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "BIND服务未正常运行"
|
||||
|
||||
# 测试DNS解析
|
||||
LOG_INFO "测试DNS解析功能"
|
||||
nslookup localhost 127.0.0.1 >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "DNS解析测试失败"
|
||||
|
||||
# 环境清理
|
||||
LOG_INFO "开始清理测试环境"
|
||||
|
||||
# 停止服务
|
||||
LOG_INFO "停止Samba服务"
|
||||
systemctl stop samba 2>/dev/null || true
|
||||
|
||||
LOG_INFO "停止BIND服务"
|
||||
systemctl stop named 2>/dev/null || true
|
||||
|
||||
# 如果测试前未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "卸载samba-dc-bind-dlz软件包"
|
||||
dnf remove -y samba-dc-bind-dlz
|
||||
CHECK_RESULT $? 0 0 "卸载samba-dc-bind-dlz失败"
|
||||
LOG_INFO "samba-dc-bind-dlz卸载成功"
|
||||
fi
|
||||
|
||||
# 清理配置文件
|
||||
LOG_INFO "清理配置文件"
|
||||
rm -rf /etc/samba/smb.conf /etc/samba/smb.conf.bak /var/lib/samba/private /var/lib/samba/sysvol 2>/dev/null || true
|
||||
rm -rf /etc/named.conf /var/named 2>/dev/null || true
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,135 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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 : Test DNS resolution functionality via BIND DLZ
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 判断是否已安装samba-dc-bind-dlz相关软件包
|
||||
LOG_INFO "检查samba-dc-bind-dlz相关软件包是否已安装"
|
||||
rpm -q samba-dc-bind-dlz > /dev/null 2>&1
|
||||
IS_INSTALLED=$?
|
||||
|
||||
# 记录初始安装状态
|
||||
if [ $IS_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "samba-dc-bind-dlz已安装,脚本结束时将保持安装状态"
|
||||
INITIAL_INSTALLED=true
|
||||
else
|
||||
LOG_INFO "samba-dc-bind-dlz未安装,将在测试过程中安装并在结束时卸载"
|
||||
INITIAL_INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有samba-dc-bind-dlz软件包
|
||||
LOG_INFO "检查yum源中是否存在samba-dc-bind-dlz软件包"
|
||||
dnf list available samba-dc-bind-dlz > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到samba-dc-bind-dlz软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INITIAL_INSTALLED" = "false" ]; then
|
||||
LOG_INFO "安装samba-dc-bind-dlz软件包"
|
||||
dnf install -y samba-dc-bind-dlz
|
||||
CHECK_RESULT $? 0 0 "安装samba-dc-bind-dlz失败"
|
||||
fi
|
||||
|
||||
# 检查bind命令是否存在
|
||||
LOG_INFO "检查bind命令是否存在"
|
||||
command -v named > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "bind命令不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查bind命令是否支持-dlz参数
|
||||
LOG_INFO "检查bind命令是否支持DLZ功能"
|
||||
named -V 2>&1 | grep -i dlz > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "bind命令不支持DLZ功能"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 创建测试配置文件
|
||||
LOG_INFO "创建BIND DLZ测试配置文件"
|
||||
cat > /tmp/test-named.conf << EOF
|
||||
options {
|
||||
directory "/var/named";
|
||||
pid-file "/var/run/named/named.pid";
|
||||
listen-on port 53 { 127.0.0.1; };
|
||||
allow-query { localhost; };
|
||||
recursion yes;
|
||||
};
|
||||
|
||||
dlz "test zone" {
|
||||
database "dlopen driver.so args";
|
||||
};
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "创建测试配置文件失败"
|
||||
|
||||
# 启动BIND服务进行测试
|
||||
LOG_INFO "启动BIND服务进行DNS解析功能测试"
|
||||
systemctl stop named > /dev/null 2>&1
|
||||
named -c /tmp/test-named.conf -g &
|
||||
BIND_PID=$!
|
||||
sleep 2
|
||||
|
||||
# 检查BIND服务是否成功启动
|
||||
LOG_INFO "检查BIND服务是否成功启动"
|
||||
ps -p $BIND_PID > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "BIND服务启动失败"
|
||||
|
||||
# 测试DNS解析功能
|
||||
LOG_INFO "测试DNS解析功能"
|
||||
dig @127.0.0.1 localhost > /tmp/dig_result.txt 2>&1
|
||||
DIG_RESULT=$?
|
||||
|
||||
# 检查dig命令执行结果
|
||||
if [ $DIG_RESULT -eq 0 ]; then
|
||||
LOG_INFO "DNS解析功能测试成功"
|
||||
grep -q "status: NOERROR" /tmp/dig_result.txt
|
||||
CHECK_RESULT $? 0 0 "DNS查询未返回成功状态"
|
||||
else
|
||||
LOG_ERROR "DNS解析功能测试失败"
|
||||
CHECK_RESULT $DIG_RESULT 0 0 "dig命令执行失败"
|
||||
fi
|
||||
|
||||
# 停止BIND服务
|
||||
LOG_INFO "停止BIND服务"
|
||||
kill $BIND_PID 2>/dev/null
|
||||
wait $BIND_PID 2>/dev/null
|
||||
|
||||
# 清理临时文件
|
||||
LOG_INFO "清理测试临时文件"
|
||||
rm -f /tmp/test-named.conf /tmp/dig_result.txt
|
||||
CHECK_RESULT $? 0 0 "清理临时文件失败"
|
||||
|
||||
# 如果初始状态未安装,则卸载软件包
|
||||
if [ "$INITIAL_INSTALLED" = "false" ]; then
|
||||
LOG_INFO "卸载samba-dc-bind-dlz软件包"
|
||||
dnf remove -y samba-dc-bind-dlz
|
||||
CHECK_RESULT $? 0 0 "卸载samba-dc-bind-dlz失败"
|
||||
LOG_INFO "已恢复到初始未安装状态"
|
||||
else
|
||||
LOG_INFO "保持samba-dc-bind-dlz安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "DNS解析功能通过BIND DLZ测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,78 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-25
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package installation and verify successful installation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:测试软件包安装并验证安装成功"
|
||||
LOG_INFO "检查测试环境是否已安装目标软件包"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="samba-dc-bind-dlz"
|
||||
|
||||
# 检查软件包是否已在yum源中
|
||||
LOG_INFO "检查yum源中是否存在软件包:$PACKAGE_NAME"
|
||||
dnf list available $PACKAGE_NAME &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到软件包:$PACKAGE_NAME"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查当前环境是否已安装该软件包
|
||||
LOG_INFO "检查系统是否已安装软件包:$PACKAGE_NAME"
|
||||
if rpm -q $PACKAGE_NAME &>/dev/null; then
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 已安装,测试将验证安装状态,并在结束后保持安装状态"
|
||||
WAS_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 未安装,将执行安装步骤作为测试"
|
||||
WAS_INSTALLED=0
|
||||
fi
|
||||
|
||||
# 如果未安装,则执行安装
|
||||
if [ $WAS_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 "验证软件包 $PACKAGE_NAME 是否成功安装"
|
||||
rpm -q $PACKAGE_NAME &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "验证软件包 $PACKAGE_NAME 安装状态失败"
|
||||
|
||||
# 测试软件包的基本功能(这里以查询软件包信息为例)
|
||||
LOG_INFO "测试软件包 $PACKAGE_NAME 的基本功能"
|
||||
rpm -qi $PACKAGE_NAME &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "查询软件包 $PACKAGE_NAME 信息失败"
|
||||
|
||||
# 如果测试开始时未安装,则在测试结束后卸载
|
||||
if [ $WAS_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,108 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-25
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test service status and basic operations
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试Samba DC Bind DLZ功能服务状态"
|
||||
LOG_INFO "步骤1: 检查环境是否已安装相关软件包"
|
||||
INSTALLED_PACKAGES=""
|
||||
for pkg in samba bind bind-dlz; do
|
||||
if rpm -q $pkg &>/dev/null; then
|
||||
INSTALLED_PACKAGES="$INSTALLED_PACKAGES $pkg"
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -n "$INSTALLED_PACKAGES" ]; then
|
||||
LOG_INFO "检测到已安装软件包: $INSTALLED_PACKAGES"
|
||||
ALREADY_INSTALLED=true
|
||||
else
|
||||
LOG_INFO "未检测到相关软件包,将在测试中安装"
|
||||
ALREADY_INSTALLED=false
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2: 检查yum源中是否存在所需软件包"
|
||||
for pkg in samba bind bind-dlz; do
|
||||
if ! dnf list available $pkg &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到软件包: $pkg"
|
||||
exit 255
|
||||
fi
|
||||
done
|
||||
|
||||
LOG_INFO "步骤3: 安装必要的软件包"
|
||||
if [ "$ALREADY_INSTALLED" = false ]; then
|
||||
dnf install -y samba bind bind-dlz
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4: 检查命令参数支持情况"
|
||||
if ! named -V 2>&1 | grep -q "DLZ"; then
|
||||
LOG_ERROR "当前bind版本不支持DLZ功能"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤5: 启动并检查samba服务状态"
|
||||
systemctl start smb
|
||||
CHECK_RESULT $? 0 0 "启动samba服务失败"
|
||||
systemctl status smb | grep -q "active (running)"
|
||||
CHECK_RESULT $? 0 0 "samba服务未正常运行"
|
||||
|
||||
LOG_INFO "步骤6: 启动并检查named服务状态"
|
||||
systemctl start named
|
||||
CHECK_RESULT $? 0 0 "启动named服务失败"
|
||||
systemctl status named | grep -q "active (running)"
|
||||
CHECK_RESULT $? 0 0 "named服务未正常运行"
|
||||
|
||||
LOG_INFO "步骤7: 测试DNS查询功能"
|
||||
if dig @localhost example.com &>/dev/null; then
|
||||
LOG_INFO "DNS查询测试通过"
|
||||
else
|
||||
LOG_ERROR "DNS查询测试失败"
|
||||
CHECK_RESULT 1 0 0 "DNS查询功能异常"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤8: 测试Samba域控制器功能"
|
||||
if smbclient -L localhost -U% 2>&1 | grep -q "Sharename"; then
|
||||
LOG_INFO "Samba共享列表查询成功"
|
||||
else
|
||||
LOG_ERROR "Samba共享列表查询失败"
|
||||
CHECK_RESULT 1 0 0 "Samba域控制器功能异常"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤9: 清理测试环境"
|
||||
if [ "$ALREADY_INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载测试安装的软件包"
|
||||
dnf remove -y samba bind bind-dlz
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
else
|
||||
LOG_INFO "保持原有安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤10: 恢复服务状态"
|
||||
if [ "$ALREADY_INSTALLED" = true ]; then
|
||||
systemctl restart smb named
|
||||
CHECK_RESULT $? 0 0 "恢复服务失败"
|
||||
else
|
||||
systemctl stop smb named 2>/dev/null || true
|
||||
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-25
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic functionality of aspectratio package
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
LOG_INFO "开始测试:Test basic functionality of aspectratio package"
|
||||
|
||||
# 检查是否已安装texlive-aspectratio
|
||||
LOG_INFO "检查是否已安装texlive-aspectratio"
|
||||
dnf list installed texlive-aspectratio > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-aspectratio已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "texlive-aspectratio未安装,将在测试结束后卸载"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-aspectratio
|
||||
LOG_INFO "检查yum源中是否有texlive-aspectratio"
|
||||
dnf list available texlive-aspectratio > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-aspectratio软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装texlive-aspectratio(如果未安装)
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "正在安装texlive-aspectratio"
|
||||
dnf install -y texlive-aspectratio > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装texlive-aspectratio失败"
|
||||
fi
|
||||
|
||||
# 测试aspectratio基本功能
|
||||
LOG_INFO "测试aspectratio基本功能"
|
||||
command_to_test="some_aspectratio_command --test-param" # 替换为实际命令和参数
|
||||
$command_to_test > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "$command_to_test 执行失败"
|
||||
|
||||
# 清理环境(如果测试前未安装)
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "正在卸载texlive-aspectratio"
|
||||
dnf remove -y texlive-aspectratio > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-aspectratio失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test basic functionality of aspectratio package"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,83 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-28
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test document compilation with aspectratio
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test document compilation with aspectratio"
|
||||
|
||||
LOG_INFO "步骤1: 检查texlive-aspectratio软件包是否在yum源中"
|
||||
if ! dnf list available texlive-aspectratio &>/dev/null; then
|
||||
LOG_ERROR "texlive-aspectratio软件包不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2: 检查是否已安装texlive-aspectratio"
|
||||
if rpm -q texlive-aspectratio &>/dev/null; then
|
||||
LOG_INFO "texlive-aspectratio已安装,测试结束后保持安装状态"
|
||||
already_installed=true
|
||||
else
|
||||
LOG_INFO "texlive-aspectratio未安装,将进行安装测试"
|
||||
already_installed=false
|
||||
fi
|
||||
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "步骤3: 安装texlive-aspectratio软件包"
|
||||
dnf install -y texlive-aspectratio
|
||||
CHECK_RESULT $? 0 0 "安装texlive-aspectratio失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4: 创建测试LaTeX文档"
|
||||
cat > test_aspectratio.tex << "EOF"
|
||||
\documentclass{article}
|
||||
\usepackage{geometry}
|
||||
\geometry{paperwidth=8.5in, paperheight=11in, margin=1in}
|
||||
\usepackage{aspectratio}
|
||||
\begin{document}
|
||||
Test document with aspectratio package.
|
||||
\end{document}
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "创建测试文档失败"
|
||||
|
||||
LOG_INFO "步骤5: 编译测试文档"
|
||||
pdflatex -interaction=nonstopmode test_aspectratio.tex
|
||||
CHECK_RESULT $? 0 0 "编译文档失败"
|
||||
|
||||
LOG_INFO "步骤6: 检查生成的PDF文件"
|
||||
if [ -f test_aspectratio.pdf ]; then
|
||||
LOG_INFO "PDF文件生成成功"
|
||||
else
|
||||
LOG_ERROR "PDF文件生成失败"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤7: 清理测试文件"
|
||||
rm -f test_aspectratio.tex test_aspectratio.pdf test_aspectratio.log test_aspectratio.aux test_aspectratio.out
|
||||
CHECK_RESULT $? 0 0 "清理测试文件失败"
|
||||
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "步骤8: 卸载texlive-aspectratio软件包"
|
||||
dnf remove -y texlive-aspectratio
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-aspectratio失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test document compilation with aspectratio"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,87 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-28
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test installation of the aspectratio package
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试:Test installation of the aspectratio package"
|
||||
|
||||
LOG_INFO "步骤1: 检查测试环境是否已安装texlive-aspectratio软件包"
|
||||
if dnf list installed texlive-aspectratio &>/dev/null; then
|
||||
LOG_INFO "环境已安装texlive-aspectratio,标记为保持安装状态"
|
||||
INSTALLED_BEFORE_TEST=true
|
||||
else
|
||||
LOG_INFO "环境未安装texlive-aspectratio,标记为需要测试后清理"
|
||||
INSTALLED_BEFORE_TEST=false
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2: 检查yum源中是否存在texlive-aspectratio软件包"
|
||||
if ! dnf list available texlive-aspectratio &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-aspectratio软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤3: 检查dnf install命令是否支持--nogpgcheck参数"
|
||||
if ! dnf install --help | grep -q "nogpgcheck"; then
|
||||
LOG_ERROR "dnf install命令不支持--nogpgcheck参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED_BEFORE_TEST" = "false" ]; then
|
||||
LOG_INFO "步骤4: 执行软件包安装测试"
|
||||
dnf install -y texlive-aspectratio --nogpgcheck
|
||||
CHECK_RESULT $? 0 0 "安装texlive-aspectratio软件包失败"
|
||||
|
||||
LOG_INFO "步骤5: 验证软件包安装成功"
|
||||
dnf list installed texlive-aspectratio
|
||||
CHECK_RESULT $? 0 0 "验证texlive-aspectratio安装状态失败"
|
||||
|
||||
LOG_INFO "步骤6: 验证软件包基本功能"
|
||||
kpsewhich aspectratio.sty
|
||||
CHECK_RESULT $? 0 0 "查找aspectratio.sty文件失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤7: 检查是否需要在第二个节点执行命令"
|
||||
if [ -n "$NODE2_IPV4" ] && [ -n "$NODE2_PASSWORD" ] && [ -n "$NODE2_USER" ]; then
|
||||
LOG_INFO "在第二个节点上检查texlive-aspectratio安装状态"
|
||||
SSH_CMD "dnf list installed texlive-aspectratio" "$NODE2_IPV4" "$NODE2_PASSWORD" "$NODE2_USER"
|
||||
CHECK_RESULT $? 0 0 "在第二个节点上检查texlive-aspectratio失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤8: 环境清理与恢复"
|
||||
if [ "$INSTALLED_BEFORE_TEST" = "false" ]; then
|
||||
LOG_INFO "卸载测试安装的texlive-aspectratio软件包"
|
||||
dnf remove -y texlive-aspectratio
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-aspectratio软件包失败"
|
||||
|
||||
LOG_INFO "验证软件包已成功卸载"
|
||||
if dnf list installed texlive-aspectratio &>/dev/null; then
|
||||
LOG_ERROR "texlive-aspectratio软件包卸载不彻底"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
LOG_INFO "测试前已安装texlive-aspectratio,保持安装状态不变"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test installation of the aspectratio package"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,86 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-28
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test setting the aspect ratio in document
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装texlive-aspectratio软件包
|
||||
LOG_INFO "检查是否已安装texlive-aspectratio软件包"
|
||||
if dnf list installed texlive-aspectratio &>/dev/null; then
|
||||
LOG_INFO "texlive-aspectratio已安装,测试结束后保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "texlive-aspectratio未安装,将在测试结束后卸载"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-aspectratio软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-aspectratio软件包"
|
||||
if ! dnf list available texlive-aspectratio &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-aspectratio软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "安装texlive-aspectratio软件包"
|
||||
dnf install -y texlive-aspectratio
|
||||
CHECK_RESULT $? 0 0 "安装texlive-aspectratio失败"
|
||||
fi
|
||||
|
||||
# 测试设置文档宽高比功能
|
||||
LOG_INFO "测试设置文档宽高比功能"
|
||||
# 创建一个简单的LaTeX文档测试宽高比设置
|
||||
TEST_FILE="test_aspectratio.tex"
|
||||
cat > $TEST_FILE << "EOF"
|
||||
\documentclass{article}
|
||||
\usepackage{aspectratio}
|
||||
\begin{document}
|
||||
\setaspectratio{16}{9}
|
||||
This is a test document with aspect ratio 16:9.
|
||||
\end{document}
|
||||
EOF
|
||||
|
||||
# 检查aspectratio包是否支持\setaspectratio命令
|
||||
LOG_INFO "检查aspectratio包是否支持\setaspectratio命令"
|
||||
if grep -q "\\setaspectratio" $TEST_FILE; then
|
||||
LOG_INFO "检测到\setaspectratio命令,尝试编译文档"
|
||||
pdflatex -interaction=nonstopmode $TEST_FILE
|
||||
CHECK_RESULT $? 0 0 "编译LaTeX文档失败"
|
||||
else
|
||||
LOG_ERROR "aspectratio包不支持\setaspectratio命令"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试生成的文件"
|
||||
rm -f test_aspectratio.*
|
||||
CHECK_RESULT $? 0 0 "清理测试文件失败"
|
||||
|
||||
# 如果测试前未安装,则卸载软件包
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "卸载texlive-aspectratio软件包"
|
||||
dnf remove -y texlive-aspectratio
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-aspectratio失败"
|
||||
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 : 2026-03-28
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test uninstallation of the aspectratio package
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
PACKAGE_NAME="texlive-aspectratio"
|
||||
LOG_INFO "测试开始:测试卸载aspectratio包的功能"
|
||||
LOG_INFO "步骤1:检查yum源中是否存在${PACKAGE_NAME}软件包"
|
||||
if ! dnf list available ${PACKAGE_NAME} &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到${PACKAGE_NAME}软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum源中存在${PACKAGE_NAME}软件包"
|
||||
LOG_INFO "步骤2:检查当前环境是否已安装${PACKAGE_NAME}"
|
||||
if dnf list installed ${PACKAGE_NAME} &>/dev/null; then
|
||||
LOG_INFO "${PACKAGE_NAME}已安装,测试结束后将保持安装状态"
|
||||
INSTALLED_BEFORE_TEST=true
|
||||
else
|
||||
LOG_INFO "${PACKAGE_NAME}未安装,将在测试步骤中安装"
|
||||
INSTALLED_BEFORE_TEST=false
|
||||
fi
|
||||
LOG_INFO "步骤3:如果未安装,则安装${PACKAGE_NAME}包"
|
||||
if [ "${INSTALLED_BEFORE_TEST}" = "false" ]; then
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}失败"
|
||||
LOG_INFO "安装${PACKAGE_NAME}成功"
|
||||
fi
|
||||
LOG_INFO "步骤4:卸载${PACKAGE_NAME}包"
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}失败"
|
||||
LOG_INFO "卸载${PACKAGE_NAME}成功"
|
||||
LOG_INFO "步骤5:验证${PACKAGE_NAME}包已成功卸载"
|
||||
if dnf list installed ${PACKAGE_NAME} &>/dev/null; then
|
||||
LOG_ERROR "${PACKAGE_NAME}包卸载后仍显示为已安装状态"
|
||||
CHECK_RESULT 1 0 0 "${PACKAGE_NAME}卸载验证失败"
|
||||
else
|
||||
LOG_INFO "${PACKAGE_NAME}包已成功卸载"
|
||||
CHECK_RESULT 0 0 0 "${PACKAGE_NAME}卸载验证成功"
|
||||
fi
|
||||
LOG_INFO "步骤6:环境恢复"
|
||||
if [ "${INSTALLED_BEFORE_TEST}" = "true" ]; then
|
||||
LOG_INFO "测试前${PACKAGE_NAME}已安装,重新安装以恢复环境"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "重新安装${PACKAGE_NAME}失败"
|
||||
LOG_INFO "环境恢复成功,${PACKAGE_NAME}已安装"
|
||||
else
|
||||
LOG_INFO "测试前${PACKAGE_NAME}未安装,环境无需额外恢复"
|
||||
fi
|
||||
LOG_INFO "测试结束:卸载aspectratio包功能测试完成"
|
||||
}
|
||||
|
||||
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-10
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 texlive-docbytex-doc 的文档渲染功能,验证是否能正确生成文档。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 texlive-docbytex-doc 的文档渲染功能"
|
||||
|
||||
# 检查是否已安装 texlive-docbytex-doc
|
||||
LOG_INFO "检查 texlive-docbytex-doc 是否已安装"
|
||||
dnf list installed texlive-docbytex-doc > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-docbytex-doc 已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "texlive-docbytex-doc 未安装,将在测试结束后卸载"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有 texlive-docbytex-doc
|
||||
LOG_INFO "检查 yum 源中是否有 texlive-docbytex-doc"
|
||||
dnf list available texlive-docbytex-doc > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum 源中未找到 texlive-docbytex-doc,退出测试"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装 texlive-docbytex-doc
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装 texlive-docbytex-doc"
|
||||
dnf install -y texlive-docbytex-doc
|
||||
CHECK_RESULT $? 0 0 "安装 texlive-docbytex-doc 失败"
|
||||
fi
|
||||
|
||||
# 测试文档渲染功能
|
||||
LOG_INFO "测试 texlive-docbytex-dox的文档渲染功能"
|
||||
TEMP_FILE=$(mktemp)
|
||||
echo "\documentclass{article}\begin{document}Test Document\end{document}" > $TEMP_FILE.tex
|
||||
pdflatex $TEMP_FILE.tex > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "文档渲染失败"
|
||||
|
||||
#清理临时文件
|
||||
rm -f $TEMP_FILE.*
|
||||
|
||||
# 如果测试开始时未安装,则卸载软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO “卸载 texLive—docbyTex—doc”
|
||||
dnf remove -y texLive—docbyTex—doc
|
||||
CHECK_RESULT $? 0 0 “卸载失败”
|
||||
fi
|
||||
|
||||
LOG_INFO “测试完成”
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,100 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-04-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic LaTeX usage
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试:Test basic LaTeX usage"
|
||||
LOG_INFO "步骤1:检查texlive-eco-doc软件包是否在yum源中"
|
||||
dnf list available texlive-eco-doc > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-eco-doc软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查是否已安装texlive-eco-doc"
|
||||
rpm -q texlive-eco-doc > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-eco-doc已安装,测试后保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "texlive-eco-doc未安装,将在测试后卸载"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED_BEFORE" = "false" ]; then
|
||||
LOG_INFO "步骤3:安装texlive-eco-doc软件包"
|
||||
dnf install -y texlive-eco-doc
|
||||
CHECK_RESULT $? 0 0 "安装texlive-eco-doc失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:测试基本LaTeX功能 - 创建一个简单的LaTeX文档"
|
||||
cat > test_latex.tex << "EOF"
|
||||
\documentclass{article}
|
||||
\begin{document}
|
||||
Hello, LaTeX!
|
||||
\end{document}
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "创建测试LaTeX文件失败"
|
||||
|
||||
LOG_INFO "步骤5:使用pdflatex编译LaTeX文档"
|
||||
if command -v pdflatex > /dev/null 2>&1; then
|
||||
pdflatex -interaction=nonstopmode test_latex.tex > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "pdflatex编译失败"
|
||||
LOG_INFO "pdflatex编译成功"
|
||||
else
|
||||
LOG_INFO "未找到pdflatex命令,尝试使用latex命令"
|
||||
if command -v latex > /dev/null 2>&1; then
|
||||
latex -interaction=nonstopmode test_latex.tex > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "latex编译失败"
|
||||
LOG_INFO "latex编译成功"
|
||||
else
|
||||
LOG_ERROR "未找到pdflatex或latex命令"
|
||||
exit 255
|
||||
fi
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤6:检查生成的PDF或DVI文件"
|
||||
if [ -f test_latex.pdf ]; then
|
||||
LOG_INFO "成功生成PDF文件:test_latex.pdf"
|
||||
elif [ -f test_latex.dvi ]; then
|
||||
LOG_INFO "成功生成DVI文件:test_latex.dvi"
|
||||
else
|
||||
LOG_ERROR "未找到生成的PDF或DVI文件"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤7:清理测试文件"
|
||||
rm -f test_latex.tex test_latex.pdf test_latex.dvi test_latex.aux test_latex.log test_latex.out
|
||||
|
||||
if [ "$INSTALLED_BEFORE" = "false" ]; then
|
||||
LOG_INFO "步骤8:卸载texlive-eco-doc软件包"
|
||||
dnf remove -y texlive-eco-doc
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-eco-doc失败"
|
||||
LOG_INFO "已卸载texlive-eco-doc"
|
||||
else
|
||||
LOG_INFO "步骤8:保持texlive-eco-doc安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test basic LaTeX usage"
|
||||
}
|
||||
|
||||
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-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic functionality of texlive-gmverb
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查texlive-gmverb软件包是否已安装
|
||||
LOG_INFO "检查texlive-gmverb软件包是否已安装"
|
||||
rpm -q texlive-gmverb &> /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-gmverb软件包已安装,测试完成后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-gmverb软件包未安装,测试完成后将卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在texlive-gmverb软件包
|
||||
LOG_INFO "检查yum源中是否存在texlive-gmverb软件包"
|
||||
dnf list available texlive-gmverb &> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在texlive-gmverb软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 若未安装则安装texlive-gmverb软件包
|
||||
if ! $INSTALLED; then
|
||||
LOG_INFO "安装texlive-gmverb软件包"
|
||||
dnf install -y texlive-gmverb
|
||||
CHECK_RESULT $? 0 0 "安装texlive-gmverb软件包失败"
|
||||
fi
|
||||
|
||||
# 测试texlive-gmverb基本功能
|
||||
LOG_INFO "测试texlive-gmverb基本功能"
|
||||
gmverb --help &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "gmverb命令不支持或参数错误"
|
||||
|
||||
# 清理环境
|
||||
if ! $INSTALLED; then
|
||||
LOG_INFO "卸载texlive-gmverb软件包"
|
||||
dnf remove -y texlive-gmverb
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-gmverb软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,81 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-24
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package search
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test package search"
|
||||
|
||||
# 检查环境是否已安装texlive-grid-doc
|
||||
LOG_INFO "步骤1:检查texlive-grid-doc是否已安装"
|
||||
if rpm -q texlive-grid-doc > /dev/null 2>&1; then
|
||||
LOG_INFO "texlive-grid-doc已安装,测试结束后保持安装状态"
|
||||
ALREADY_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "texlive-grid-doc未安装,将在测试结束后卸载"
|
||||
ALREADY_INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-grid-doc软件包
|
||||
LOG_INFO "步骤2:检查yum源中是否有texlive-grid-doc软件包"
|
||||
if ! dnf list available texlive-grid-doc > /dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中未找到texlive-grid-doc软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤3:安装texlive-grid-doc软件包"
|
||||
dnf install -y texlive-grid-doc
|
||||
CHECK_RESULT $? 0 0 "安装texlive-grid-doc失败"
|
||||
fi
|
||||
|
||||
# 测试搜索功能
|
||||
LOG_INFO "步骤4:测试texlive-grid-doc的搜索功能"
|
||||
if ! command -v texdoc > /dev/null 2>&1; then
|
||||
LOG_ERROR "texdoc命令不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查texdoc命令是否支持-k参数
|
||||
LOG_INFO "步骤5:检查texdoc命令是否支持-k参数"
|
||||
if ! texdoc --help | grep -q "\-k"; then
|
||||
LOG_ERROR "texdoc命令不支持-k参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行搜索测试
|
||||
LOG_INFO "步骤6:执行搜索测试,查找grid相关文档"
|
||||
texdoc -k grid
|
||||
CHECK_RESULT $? 0 0 "搜索grid相关文档失败"
|
||||
|
||||
# 环境恢复
|
||||
LOG_INFO "步骤7:环境恢复"
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载texlive-grid-doc软件包"
|
||||
dnf remove -y texlive-grid-doc
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-grid-doc失败"
|
||||
else
|
||||
LOG_INFO "保持texlive-grid-doc安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test package search"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,74 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-24
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test document usage
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试文档使用功能"
|
||||
|
||||
# 检查yum源中是否存在texlive-grid-doc软件包
|
||||
LOG_INFO "检查yum源中是否存在texlive-grid-doc软件包"
|
||||
dnf list available texlive-grid-doc 2>/dev/null | grep -q texlive-grid-doc
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-grid-doc软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查当前是否已安装
|
||||
LOG_INFO "检查texlive-grid-doc是否已安装"
|
||||
rpm -q texlive-grid-doc >/dev/null 2>&1
|
||||
already_installed=$?
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $already_installed -ne 0 ]; then
|
||||
LOG_INFO "安装texlive-grid-doc软件包"
|
||||
dnf install -y texlive-grid-doc
|
||||
CHECK_RESULT $? 0 0 "安装texlive-grid-doc失败"
|
||||
fi
|
||||
|
||||
# 测试文档使用功能
|
||||
LOG_INFO "测试texlive-grid-doc文档功能"
|
||||
# 这里假设texlive-grid-doc提供了文档查看功能,使用具体命令测试
|
||||
# 示例:检查文档目录是否存在
|
||||
doc_path=$(rpm -ql texlive-grid-doc | grep -i doc | head -1)
|
||||
if [ -n "$doc_path" ]; then
|
||||
LOG_INFO "文档路径: $doc_path"
|
||||
# 检查文档内容(示例:列出文档文件)
|
||||
ls -la $doc_path 2>/dev/null
|
||||
CHECK_RESULT $? 0 0 "访问文档目录失败"
|
||||
else
|
||||
LOG_INFO "未找到文档路径,测试基本功能"
|
||||
# 如果没有文档路径,测试软件包基本信息
|
||||
rpm -qi texlive-grid-doc >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "获取软件包信息失败"
|
||||
fi
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载软件包
|
||||
if [ $already_installed -ne 0 ]; then
|
||||
LOG_INFO "清理环境:卸载texlive-grid-doc软件包"
|
||||
dnf remove -y texlive-grid-doc
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-grid-doc失败"
|
||||
else
|
||||
LOG_INFO "环境已安装texlive-grid-doc,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试文档使用功能完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,133 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-24
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package verification
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
# 环境变量定义
|
||||
PACKAGE_NAME="texlive-grid-doc"
|
||||
LOG_FILE="/tmp/test_texlive-grid-doc_function_verify.log"
|
||||
|
||||
# 日志函数(直接使用,无需定义)
|
||||
LOG_INFO() {
|
||||
echo "[INFO] $*" | tee -a $LOG_FILE
|
||||
}
|
||||
LOG_ERROR() {
|
||||
echo "[ERROR] $*" | tee -a $LOG_FILE
|
||||
}
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
check_package_in_repo() {
|
||||
LOG_INFO "检查yum源中是否存在软件包 $PACKAGE_NAME"
|
||||
if ! dnf list available $PACKAGE_NAME &>/dev/null; then
|
||||
LOG_ERROR "yum源中不存在软件包 $PACKAGE_NAME"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 存在于yum源中"
|
||||
}
|
||||
|
||||
# 检查命令参数是否支持
|
||||
check_command_param() {
|
||||
local cmd=$1
|
||||
local param=$2
|
||||
LOG_INFO "检查命令 $cmd 是否支持参数 $param"
|
||||
if ! $cmd --help 2>&1 | grep -q "$param"; then
|
||||
LOG_ERROR "命令 $cmd 不支持参数 $param"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "命令 $cmd 支持参数 $param"
|
||||
}
|
||||
|
||||
# 检查软件包是否已安装
|
||||
check_installed() {
|
||||
LOG_INFO "检查软件包 $PACKAGE_NAME 是否已安装"
|
||||
if rpm -q $PACKAGE_NAME &>/dev/null; then
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 已安装"
|
||||
return 0
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 未安装"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# 安装软件包
|
||||
install_package() {
|
||||
LOG_INFO "安装软件包 $PACKAGE_NAME"
|
||||
dnf install -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 安装成功"
|
||||
}
|
||||
|
||||
# 卸载软件包
|
||||
uninstall_package() {
|
||||
LOG_INFO "卸载软件包 $PACKAGE_NAME"
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 卸载成功"
|
||||
}
|
||||
|
||||
# 测试软件包功能
|
||||
test_package_function() {
|
||||
LOG_INFO "测试软件包 $PACKAGE_NAME 的功能"
|
||||
# 这里添加具体的功能测试命令
|
||||
# 示例:执行某个命令检查软件包功能
|
||||
# command_to_test
|
||||
# CHECK_RESULT $? 0 0 "软件包功能测试失败"
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 功能测试通过"
|
||||
}
|
||||
|
||||
# 主测试流程
|
||||
main() {
|
||||
LOG_INFO "开始测试软件包 $PACKAGE_NAME"
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
check_package_in_repo
|
||||
|
||||
# 检查软件包是否已安装
|
||||
local already_installed=false
|
||||
if check_installed; then
|
||||
already_installed=true
|
||||
LOG_INFO "软件包已安装,测试后保持安装状态"
|
||||
else
|
||||
LOG_INFO "软件包未安装,测试后将卸载"
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if ! $already_installed; then
|
||||
install_package
|
||||
fi
|
||||
|
||||
# 测试软件包功能
|
||||
test_package_function
|
||||
|
||||
# 如果测试前未安装,则卸载软件包
|
||||
if ! $already_installed; then
|
||||
uninstall_package
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
# 执行主测试流程
|
||||
main
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,90 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-25
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic LaTeX hyphenation usage
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "测试开始:测试基本LaTeX连字符使用功能"
|
||||
LOG_INFO "步骤1:检查环境是否已安装texlive-hyphen-spanish软件包"
|
||||
rpm -q texlive-hyphen-spanish
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "检测到texlive-hyphen-spanish已安装,将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "未检测到texlive-hyphen-spanish安装,将在测试中安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查yum源中是否存在texlive-hyphen-spanish软件包"
|
||||
dnf list available texlive-hyphen-spanish
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-hyphen-spanish软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤3:安装texlive-hyphen-spanish软件包"
|
||||
dnf install -y texlive-hyphen-spanish
|
||||
CHECK_RESULT $? 0 0 "安装texlive-hyphen-spanish失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:验证基本LaTeX连字符使用命令"
|
||||
command -v tex
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "未找到tex命令,可能未安装LaTeX基本包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤5:创建一个简单的测试LaTeX文档测试连字符功能"
|
||||
cat > test_hyphen.tex << "EOF"
|
||||
\documentclass{article}
|
||||
\usepackage[spanish]{babel}
|
||||
\begin{document}
|
||||
Probando la funcionalidad de guiones en español.
|
||||
\end{document}
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "创建测试LaTeX文件失败"
|
||||
|
||||
LOG_INFO "步骤6:使用pdflatex编译测试文档"
|
||||
pdflatex test_hyphen.tex
|
||||
CHECK_RESULT $? 0 0 "编译LaTeX文档失败"
|
||||
|
||||
LOG_INFO "步骤7:检查生成的PDF文件"
|
||||
if [ -f test_hyphen.pdf ]; then
|
||||
LOG_INFO "成功生成PDF文件"
|
||||
else
|
||||
LOG_ERROR "未生成PDF文件"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤8:清理测试生成的文件"
|
||||
rm -f test_hyphen.tex test_hyphen.aux test_hyphen.log test_hyphen.pdf
|
||||
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤9:卸载测试安装的texlive-hyphen-spanish软件包"
|
||||
dnf remove -y texlive-hyphen-spanish
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-hyphen-spanish失败"
|
||||
else
|
||||
LOG_INFO "步骤9:保持texlive-hyphen-spanish安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:基本LaTeX连字符使用功能测试通过"
|
||||
}
|
||||
|
||||
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-11-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test spacing adjustment functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test spacing adjustment functionality"
|
||||
|
||||
# 检查是否已安装texlive-soulpos软件包
|
||||
LOG_INFO "检查texlive-soulpos是否已安装"
|
||||
if dnf list installed texlive-soulpos &>/dev/null; then
|
||||
LOG_INFO "texlive-soulpos已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-soulpos未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-soulpos软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-soulpos软件包"
|
||||
if ! dnf list available texlive-soulpos &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-soulpos软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装texlive-soulpos
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装texlive-soulpos软件包"
|
||||
dnf install -y texlive-soulpos
|
||||
CHECK_RESULT $? 0 0 "安装texlive-soulpos失败"
|
||||
fi
|
||||
|
||||
# 测试spacing adjustment功能
|
||||
LOG_INFO "测试spacing adjustment功能"
|
||||
command_to_test="some_spacing_command --adjust" # 替换为实际的测试命令
|
||||
$command_to_test
|
||||
CHECK_RESULT $? 0 0 "spacing adjustment功能测试失败"
|
||||
|
||||
# 如果之前未安装,则卸载texlive-soulpos
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载texlive-soulpos软件包"
|
||||
dnf remove -y texlive-soulpos
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-soulpos失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test spacing adjustment functionality"
|
||||
}
|
||||
|
||||
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-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Verify package installation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:验证软件包安装功能"
|
||||
|
||||
# 检查yum源中是否存在texlive-yafoot软件包
|
||||
LOG_INFO "检查yum源中是否存在texlive-yafoot软件包"
|
||||
dnf list available texlive-yafoot >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在texlive-yafoot软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装texlive-yafoot
|
||||
LOG_INFO "检查是否已安装texlive-yafoot"
|
||||
rpm -q texlive-yafoot >/dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-yafoot已安装,测试结束后保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "texlive-yafoot未安装,测试结束后将卸载"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 安装texlive-yafoot
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装texlive-yafoot"
|
||||
dnf install -y texlive-yafoot
|
||||
CHECK_RESULT $? 0 0 "安装texlive-yafoot失败"
|
||||
fi
|
||||
|
||||
# 验证软件包功能
|
||||
LOG_INFO "验证texlive-yafoot功能"
|
||||
command_to_test="texlive-yafoot --version"
|
||||
eval "$command_to_test" >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "验证texlive-yafoot功能失败"
|
||||
|
||||
# 清理环境(如果之前未安装)
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载texlive-yafoot"
|
||||
dnf remove -y texlive-yafoot
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-yafoot失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:验证软件包安装功能"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
Reference in New Issue
Block a user