Merge branch 'pkg' of http://10.30.190.190:54866/redrsoe2100/os-autotest into pkg
This commit is contained in:
@@ -21,14 +21,6 @@
|
||||
{
|
||||
"name": "test_fribidi-devel_function_version",
|
||||
"desc": "Verify the package version matches"
|
||||
},
|
||||
{
|
||||
"name": "test_fribidi-devel_function_link",
|
||||
"desc": "Test linking a program with library"
|
||||
},
|
||||
{
|
||||
"name": "test_fribidi-devel_function_build",
|
||||
"desc": "Test building a sample application"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -5,10 +5,6 @@
|
||||
{
|
||||
"name": "test_jzlib-devel_function_install",
|
||||
"desc": "Test installation of jzlib-devel package"
|
||||
},
|
||||
{
|
||||
"name": "test_jzlib-devel_function_compress",
|
||||
"desc": "Test compression functionality of jzlib-devel"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,25 +2,9 @@
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/libsmbios/libsmbios-help",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_libsmbios-help_function_install",
|
||||
"desc": "测试 libsmbios-help 软件包能否正常安装"
|
||||
},
|
||||
{
|
||||
"name": "test_libsmbios-help_function_uninstall",
|
||||
"desc": "测试 libsmbios-help 软件包能否正常卸载"
|
||||
},
|
||||
{
|
||||
"name": "test_libsmbios-help_function_check_installed",
|
||||
"desc": "测试 libsmbios-help 软件包是否正确安装并可查询版本信息"
|
||||
},
|
||||
{
|
||||
"name": "test_libsmbios-help_function_help_content",
|
||||
"desc": "测试 libsmbios-help 软件包提供的帮助文档内容可访问性"
|
||||
},
|
||||
{
|
||||
"name": "test_libsmbios-help_function_man_page",
|
||||
"desc": "测试 libsmbios-help 软件包的 man 手册页是否存在并可查看"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -9,18 +9,6 @@
|
||||
{
|
||||
"name": "test_perl-Glib-help_remove",
|
||||
"desc": "测试 perl-Glib-help 软件包是否能够被干净地卸载。"
|
||||
},
|
||||
{
|
||||
"name": "test_perl-Glib-help_basic_help",
|
||||
"desc": "测试 perl-Glib-help 提供的 Glib 模块基础帮助文档功能是否可用。"
|
||||
},
|
||||
{
|
||||
"name": "test_perl-Glib-help_pod_docs",
|
||||
"desc": "测试通过 perldoc 命令访问 Glib 模块的 POD 文档是否正常。"
|
||||
},
|
||||
{
|
||||
"name": "test_perl-Glib-help_version",
|
||||
"desc": "测试 perl-Glib-help 软件包是否提供了正确的版本信息。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,26 +2,10 @@
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/python-mergedeep/python3-mergedeep",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_python3-mergedeep_function_merge",
|
||||
"desc": "Test merging two dictionaries"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-mergedeep_function_install",
|
||||
"desc": "Test installation of the package"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-mergedeep_function_import",
|
||||
"desc": "Test importing the package"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-mergedeep_function_merge_list",
|
||||
"desc": "Test merging lists"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-mergedeep_function_strategy",
|
||||
"desc": "Test merge strategies"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-mergedeep_function_uninstall",
|
||||
"desc": "Test uninstallation of package"
|
||||
|
||||
@@ -6,26 +6,6 @@
|
||||
"name": "test_python3-pyasn1_install",
|
||||
"desc": "测试python3-pyasn1软件包的安装功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_python3-pyasn1_function_install",
|
||||
"desc": "测试python3-pyasn1软件包的安装功能"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-pyasn1_function_import",
|
||||
"desc": "测试python3-pyasn1模块能否正常导入"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-pyasn1_function_encode",
|
||||
"desc": "测试ASN.1数据结构的基本编码功能"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-pyasn1_function_decode",
|
||||
"desc": "测试ASN.1数据结构的基本解码功能"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-pyasn1_function_uninstall",
|
||||
"desc": "测试python3-pyasn1软件包的卸载功能"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -9,18 +9,6 @@
|
||||
{
|
||||
"name": "test_texlive-graphviz_function_uninstall",
|
||||
"desc": "Test package removal"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-graphviz_function_check_installed",
|
||||
"desc": "Verify package is installed"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-graphviz_function_generate_dot",
|
||||
"desc": "Test dot command generates output"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-graphviz_function_latex_integration",
|
||||
"desc": "Test LaTeX document compilation with dot"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-x/texlive-thalie",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-thalie_function_install",
|
||||
"desc": "Test installation of texlive-thalie"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-y/texlive-annee-scolaire",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-annee-scolaire_function_install",
|
||||
"desc": "Test package installation"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,107 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-22
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test building a sample application
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test building a sample application"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="fribidi-devel"
|
||||
|
||||
# 步骤1: 检查yum源中是否有fribidi-devel软件包
|
||||
LOG_INFO "步骤1: 检查yum源中是否有${PACKAGE_NAME}软件包"
|
||||
if ! dnf list available ${PACKAGE_NAME} &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到${PACKAGE_NAME}软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤2: 检查当前环境是否已安装fribidi-devel
|
||||
LOG_INFO "步骤2: 检查当前环境是否已安装${PACKAGE_NAME}"
|
||||
if rpm -q ${PACKAGE_NAME} &>/dev/null; then
|
||||
LOG_INFO "${PACKAGE_NAME}已安装,标记为已安装状态"
|
||||
INSTALLED="true"
|
||||
else
|
||||
LOG_INFO "${PACKAGE_NAME}未安装,标记为未安装状态"
|
||||
INSTALLED="false"
|
||||
fi
|
||||
|
||||
# 步骤3: 如果未安装,则安装软件包
|
||||
if [ "${INSTALLED}" = "false" ]; then
|
||||
LOG_INFO "步骤3: 安装${PACKAGE_NAME}软件包"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}失败"
|
||||
fi
|
||||
|
||||
# 步骤4: 验证软件包安装成功
|
||||
LOG_INFO "步骤4: 验证${PACKAGE_NAME}软件包安装成功"
|
||||
rpm -q ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "${PACKAGE_NAME}软件包未正确安装"
|
||||
|
||||
# 步骤5: 测试构建示例应用程序
|
||||
LOG_INFO "步骤5: 测试构建示例应用程序"
|
||||
# 创建一个简单的C源文件来测试fribidi-devel
|
||||
cat > test_fribidi.c << "EOF"
|
||||
#include <stdio.h>
|
||||
#include <fribidi.h>
|
||||
|
||||
int main() {
|
||||
FriBidiChar str[] = {0x05D0, 0x05D1, 0x05D2, 0}; // 一些希伯来语字符
|
||||
FriBidiCharType pbase_dir = FRIBIDI_TYPE_ON;
|
||||
FriBidiChar out[4];
|
||||
FriBidiParType base_dir = FRIBIDI_PAR_LTR;
|
||||
FriBidiLevel level;
|
||||
FriBidiCharType *types;
|
||||
FriBidiBracketType *btypes;
|
||||
FriBidiFlags flags = 0;
|
||||
|
||||
fribidi_log2vis(str, 3, &pbase_dir, out, NULL, NULL, NULL);
|
||||
printf("测试通过: fribidi库可以正常链接和调用\n");
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
|
||||
# 编译测试程序
|
||||
LOG_INFO "编译测试程序"
|
||||
gcc -o test_fribidi test_fribidi.c $(pkg-config --cflags --libs fribidi)
|
||||
CHECK_RESULT $? 0 0 "编译测试程序失败"
|
||||
|
||||
# 运行测试程序
|
||||
LOG_INFO "运行测试程序"
|
||||
./test_fribidi
|
||||
CHECK_RESULT $? 0 0 "运行测试程序失败"
|
||||
|
||||
# 步骤6: 清理测试文件
|
||||
LOG_INFO "步骤6: 清理测试文件"
|
||||
rm -f test_fribidi.c test_fribidi
|
||||
|
||||
# 步骤7: 如果测试开始前未安装,则卸载软件包
|
||||
if [ "${INSTALLED}" = "false" ]; then
|
||||
LOG_INFO "步骤7: 卸载${PACKAGE_NAME}软件包"
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}失败"
|
||||
LOG_INFO "环境已恢复到测试前状态"
|
||||
else
|
||||
LOG_INFO "步骤7: 测试开始前已安装${PACKAGE_NAME},保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test building a sample application"
|
||||
}
|
||||
|
||||
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-02-22
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test linking a program with library
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:链接程序与库"
|
||||
|
||||
# 步骤1:检查环境中是否已安装 fribidi-devel 软件包
|
||||
LOG_INFO "检查 fribidi-devel 软件包是否已安装"
|
||||
if rpm -q fribidi-devel > /dev/null 2>&1; then
|
||||
LOG_INFO "fribidi-devel 已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "fribidi-devel 未安装,将在测试步骤中安装"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
# 步骤2:检查 yum 源中是否有 fribidi-devel 软件包
|
||||
LOG_INFO "检查 yum 源中是否有 fribidi-devel 软件包"
|
||||
if ! dnf list available fribidi-devel > /dev/null 2>&1; then
|
||||
LOG_ERROR "yum 源中未找到 fribidi-devel 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤3:如果未安装,则安装 fribidi-devel 软件包
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "安装 fribidi-devel 软件包"
|
||||
dnf install -y fribidi-devel
|
||||
CHECK_RESULT $? 0 0 "安装 fribidi-devel 失败"
|
||||
fi
|
||||
|
||||
# 步骤4:创建一个简单的 C 程序来测试链接
|
||||
LOG_INFO "创建测试 C 程序"
|
||||
cat > test_linking.c << "EOF"
|
||||
#include <fribidi.h>
|
||||
int main() {
|
||||
FriBidiChar str[] = {0x05D0, 0x05D1, 0x05D2};
|
||||
FriBidiChar out[3];
|
||||
FriBidiParType base = FRIBIDI_PAR_ON;
|
||||
fribidi_log2vis(str, 3, &base, out, NULL, NULL, NULL);
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
|
||||
# 步骤5:编译测试程序,检查链接库是否成功
|
||||
LOG_INFO "编译测试程序以验证链接"
|
||||
gcc test_linking.c -o test_linking -lfribidi
|
||||
CHECK_RESULT $? 0 0 "编译链接失败,可能是库文件未正确链接"
|
||||
|
||||
# 步骤6:运行测试程序以验证功能
|
||||
LOG_INFO "运行测试程序以验证功能"
|
||||
./test_linking
|
||||
CHECK_RESULT $? 0 0 "测试程序运行失败,可能是库功能异常"
|
||||
|
||||
# 步骤7:清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f test_linking.c test_linking
|
||||
|
||||
# 步骤8:如果之前未安装 fribidi-devel,则卸载软件包
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "卸载 fribidi-devel 软件包"
|
||||
dnf remove -y fribidi-devel
|
||||
CHECK_RESULT $? 0 0 "卸载 fribidi-devel 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:链接程序与库"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,76 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test compression functionality of jzlib-devel
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 jzlib-devel 的压缩功能"
|
||||
|
||||
# 检查 jzlib-devel 是否已安装
|
||||
LOG_INFO "检查 jzlib-devel 是否已安装"
|
||||
if dnf list installed jzlib-devel &>/dev/null; then
|
||||
LOG_INFO "jzlib-devel 已安装,测试结束后保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "jzlib-devel 未安装,测试结束后将卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有 jzlib-devel
|
||||
LOG_INFO "检查 yum 源中是否有 jzlib-devel"
|
||||
if ! dnf list available jzlib-devel &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 jzlib-devel 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装 jzlib-devel
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装 jzlib-devel"
|
||||
dnf install -y jzlib-devel
|
||||
CHECK_RESULT $? 0 0 "安装 jzlib-devel 失败"
|
||||
fi
|
||||
|
||||
# 测试压缩功能
|
||||
LOG_INFO "测试压缩功能"
|
||||
echo "test data" > test_input.txt
|
||||
jzlib-compress test_input.txt test_output.jz
|
||||
CHECK_RESULT $? 0 0 "压缩功能测试失败"
|
||||
|
||||
# 验证压缩文件
|
||||
LOG_INFO "验证压缩文件"
|
||||
if [ ! -f test_output.jz ]; then
|
||||
LOG_ERROR "压缩文件未生成"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理临时文件
|
||||
LOG_INFO "清理临时文件"
|
||||
rm -f test_input.txt test_output.jz
|
||||
|
||||
# 如果测试前未安装,则卸载 jzlib-devel
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 jzlib-devel"
|
||||
dnf remove -y jzlib-devel
|
||||
CHECK_RESULT $? 0 0 "卸载 jzlib-devel 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,86 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-22
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 libsmbios-help 软件包是否正确安装并可查询版本信息
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义软件包名称和命令
|
||||
PACKAGE_NAME="libsmbios-help"
|
||||
COMMAND="smbios-sys-info"
|
||||
COMMAND_OPTION="--version"
|
||||
|
||||
# 步骤1:检查软件包是否已在yum源中
|
||||
LOG_INFO "步骤1:检查软件包是否在yum源中"
|
||||
dnf list available $PACKAGE_NAME &> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 $PACKAGE_NAME 不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤2:检查当前环境是否已安装软件包
|
||||
LOG_INFO "步骤2:检查当前环境是否已安装软件包"
|
||||
rpm -q $PACKAGE_NAME &> /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 已安装,标记为保持安装状态"
|
||||
KEEP_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 未安装,标记为需要清理"
|
||||
KEEP_INSTALLED=0
|
||||
fi
|
||||
|
||||
# 步骤3:如果未安装,则安装软件包
|
||||
if [ $KEEP_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤3:安装软件包 $PACKAGE_NAME"
|
||||
dnf install -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
|
||||
fi
|
||||
|
||||
# 步骤4:检查命令是否存在
|
||||
LOG_INFO "步骤4:检查命令 $COMMAND 是否存在"
|
||||
which $COMMAND &> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "命令 $COMMAND 不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤5:检查命令参数是否支持
|
||||
LOG_INFO "步骤5:检查命令参数 $COMMAND_OPTION 是否支持"
|
||||
$COMMAND --help 2>&1 | grep -q "$COMMAND_OPTION"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "命令 $COMMAND 不支持参数 $COMMAND_OPTION"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤6:执行命令查询版本信息
|
||||
LOG_INFO "步骤6:执行命令查询版本信息"
|
||||
$COMMAND $COMMAND_OPTION
|
||||
CHECK_RESULT $? 0 0 "执行命令 $COMMAND $COMMAND_OPTION 失败"
|
||||
|
||||
# 步骤7:清理环境
|
||||
LOG_INFO "步骤7:清理环境"
|
||||
if [ $KEEP_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载软件包 $PACKAGE_NAME"
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 保持安装状态,无需卸载"
|
||||
fi
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,80 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-22
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 libsmbios-help 软件包提供的帮助文档内容可访问性
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已经安装了libsmbios-help软件包
|
||||
LOG_INFO "检查libsmbios-help软件包是否已安装"
|
||||
rpm -q libsmbios-help > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "libsmbios-help软件包已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "libsmbios-help软件包未安装,将在测试前安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有libsmbios-help软件包
|
||||
LOG_INFO "检查yum源中是否有libsmbios-help软件包"
|
||||
dnf list available libsmbios-help > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到libsmbios-help软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装libsmbios-help软件包"
|
||||
dnf install -y libsmbios-help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装libsmbios-help软件包失败"
|
||||
fi
|
||||
|
||||
# 测试libsmbios-help软件包提供的帮助文档内容可访问性
|
||||
LOG_INFO "测试libsmbios-help软件包提供的帮助文档内容可访问性"
|
||||
rpm -ql libsmbios-help | grep -E "\.(txt|html|pdf|md)$" > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "帮助文档文件存在,开始检查可访问性"
|
||||
for doc_file in $(rpm -ql libsmbios-help | grep -E "\.(txt|html|pdf|md)$"); do
|
||||
if [ -f "$doc_file" ]; then
|
||||
head -n 5 "$doc_file" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "帮助文档文件 $doc_file 不可访问"
|
||||
else
|
||||
LOG_ERROR "帮助文档文件 $doc_file 不存在"
|
||||
exit 255
|
||||
fi
|
||||
done
|
||||
LOG_INFO "所有帮助文档文件均可访问"
|
||||
else
|
||||
LOG_ERROR "未找到帮助文档文件"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载libsmbios-help软件包"
|
||||
dnf remove -y libsmbios-help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载libsmbios-help软件包失败"
|
||||
LOG_INFO "环境已恢复到测试前状态"
|
||||
else
|
||||
LOG_INFO "测试前已安装libsmbios-help软件包,保持安装状态"
|
||||
fi
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,73 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-22
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 libsmbios-help 软件包能否正常安装
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 libsmbios-help 软件包安装功能"
|
||||
|
||||
LOG_INFO "步骤1: 检查系统中是否已安装 libsmbios-help 软件包"
|
||||
if rpm -q libsmbios-help >/dev/null 2>&1; then
|
||||
LOG_INFO "检测到 libsmbios-help 已安装,将在测试结束后保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "未检测到 libsmbios-help 安装,将在测试结束后卸载"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2: 检查 yum 源中是否存在 libsmbios-help 软件包"
|
||||
if ! dnf list available libsmbios-help >/dev/null 2>&1; then
|
||||
LOG_ERROR "yum 源中未找到 libsmbios-help 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤3: 安装 libsmbios-help 软件包"
|
||||
dnf install -y libsmbios-help
|
||||
CHECK_RESULT $? 0 0 "安装 libsmbios-help 失败"
|
||||
|
||||
LOG_INFO "步骤4: 验证 libsmbios-help 安装成功"
|
||||
rpm -q libsmbios-help
|
||||
CHECK_RESULT $? 0 0 "验证 libsmbios-help 安装失败"
|
||||
|
||||
LOG_INFO "步骤5: 测试 libsmbios-help 命令的基本功能"
|
||||
if ! command -v libsmbios-help >/dev/null 2>&1; then
|
||||
LOG_ERROR "libsmbios-help 命令未找到"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤6: 检查 libsmbios-help 命令是否支持 --help 参数"
|
||||
if ! libsmbios-help --help >/dev/null 2>&1; then
|
||||
LOG_ERROR "libsmbios-help 不支持 --help 参数"
|
||||
exit 255
|
||||
fi
|
||||
CHECK_RESULT $? 0 0 "执行 libsmbios-help --help 失败"
|
||||
|
||||
LOG_INFO "步骤7: 清理测试环境"
|
||||
if [ "$INSTALLED_BEFORE" = "false" ]; then
|
||||
LOG_INFO "卸载测试安装的 libsmbios-help 软件包"
|
||||
dnf remove -y libsmbios-help
|
||||
CHECK_RESULT $? 0 0 "卸载 libsmbios-help 失败"
|
||||
else
|
||||
LOG_INFO "保持原有 libsmbios-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-03-22
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 libsmbios-help 软件包的 man 手册页是否存在并可查看
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义变量
|
||||
PACKAGE_NAME="libsmbios-help"
|
||||
MAN_PAGE="libsmbios.7"
|
||||
|
||||
# 步骤1: 检查是否已安装软件包
|
||||
LOG_INFO "步骤1: 检查是否已安装软件包"
|
||||
if rpm -q $PACKAGE_NAME &>/dev/null; then
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 未安装,将在测试过程中安装"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
# 步骤2: 检查yum源中是否有该软件包
|
||||
LOG_INFO "步骤2: 检查yum源中是否有软件包 $PACKAGE_NAME"
|
||||
if ! dnf list available $PACKAGE_NAME &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到软件包 $PACKAGE_NAME"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤3: 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "步骤3: 安装软件包 $PACKAGE_NAME"
|
||||
dnf install -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
|
||||
fi
|
||||
|
||||
# 步骤4: 检查man手册页是否存在
|
||||
LOG_INFO "步骤4: 检查man手册页 $MAN_PAGE 是否存在"
|
||||
man -w $MAN_PAGE &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "man手册页 $MAN_PAGE 不存在"
|
||||
|
||||
# 步骤5: 查看man手册页内容
|
||||
LOG_INFO "步骤5: 查看man手册页 $MAN_PAGE 内容"
|
||||
man $MAN_PAGE | head -20 &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "查看man手册页 $MAN_PAGE 失败"
|
||||
|
||||
# 步骤6: 如果之前未安装,则卸载软件包
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "步骤6: 卸载软件包 $PACKAGE_NAME"
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,83 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-20
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 perl-Glib-help 提供的 Glib 模块基础帮助文档功能是否可用。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 判断是否已安装perl-Glib-help软件包
|
||||
LOG_INFO "检查是否已安装perl-Glib-help软件包"
|
||||
rpm -q perl-Glib-help > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "perl-Glib-help已安装,标记为已安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "perl-Glib-help未安装,标记为未安装状态"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有perl-Glib-help软件包
|
||||
LOG_INFO "检查yum源中是否有perl-Glib-help软件包"
|
||||
dnf list available perl-Glib-help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "yum源中未找到perl-Glib-help软件包"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到perl-Glib-help软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "安装perl-Glib-help软件包"
|
||||
dnf install -y perl-Glib-help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装perl-Glib-help软件包失败"
|
||||
fi
|
||||
|
||||
# 测试Glib模块基础帮助文档功能
|
||||
LOG_INFO "测试Glib模块基础帮助文档功能是否可用"
|
||||
perldoc Glib > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "perldoc Glib命令执行失败,基础帮助文档功能不可用"
|
||||
|
||||
# 测试Glib模块的特定帮助文档功能
|
||||
LOG_INFO "测试Glib模块的特定帮助文档功能"
|
||||
perldoc Glib::Object > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "perldoc Glib::Object命令执行失败,特定帮助文档功能不可用"
|
||||
|
||||
# 测试Glib模块的函数帮助文档功能
|
||||
LOG_INFO "测试Glib模块的函数帮助文档功能"
|
||||
perldoc -f Glib::Version::check > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "perldoc -f Glib::Version::check命令执行失败,函数帮助文档功能不可用"
|
||||
|
||||
# 测试Glib模块的变量帮助文档功能
|
||||
LOG_INFO "测试Glib模块的变量帮助文档功能"
|
||||
perldoc -v "$Glib::VERSION" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "perldoc -v "\$Glib::VERSION"命令执行失败,变量帮助文档功能不可用"
|
||||
|
||||
# 清理环境
|
||||
LOG_INFO "清理测试环境"
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "卸载perl-Glib-help软件包"
|
||||
dnf remove -y perl-Glib-help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载perl-Glib-help软件包失败"
|
||||
else
|
||||
LOG_INFO "保持perl-Glib-help软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,perl-Glib-help提供的Glib模块基础帮助文档功能可用"
|
||||
}
|
||||
|
||||
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-02-20
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试通过 perldoc 命令访问 Glib 模块的 POD 文档是否正常。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查环境是否已安装perl-Glib包
|
||||
LOG_INFO "检查是否已安装perl-Glib包"
|
||||
rpm -qa | grep -q "^perl-Glib-"
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "检测到perl-Glib已安装,标记为已安装状态"
|
||||
INSTALLED_FLAG=1
|
||||
else
|
||||
LOG_INFO "未检测到perl-Glib安装,标记为未安装状态"
|
||||
INSTALLED_FLAG=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有perl-Glib包
|
||||
LOG_INFO "检查yum源中是否存在perl-Glib包"
|
||||
dnf list available perl-Glib 2>&1 | grep -q "perl-Glib"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到perl-Glib包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装perl-Glib包
|
||||
if [ $INSTALLED_FLAG -eq 0 ]; then
|
||||
LOG_INFO "开始安装perl-Glib包"
|
||||
dnf install -y perl-Glib
|
||||
CHECK_RESULT $? 0 0 "安装perl-Glib包失败"
|
||||
LOG_INFO "perl-Glib包安装成功"
|
||||
fi
|
||||
|
||||
# 测试perldoc命令访问Glib模块的POD文档
|
||||
LOG_INFO "测试通过perldoc命令访问Glib模块的POD文档"
|
||||
perldoc -h 2>&1 | grep -q "Usage:"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "perldoc命令参数不支持或不存在"
|
||||
# 清理环境
|
||||
if [ $INSTALLED_FLAG -eq 0 ]; then
|
||||
LOG_INFO "清理环境:卸载perl-Glib包"
|
||||
dnf remove -y perl-Glib
|
||||
CHECK_RESULT $? 0 0 "卸载perl-Glib包失败"
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
perldoc Glib 2>&1 | head -20 | grep -q "Glib"
|
||||
CHECK_RESULT $? 0 0 "通过perldoc访问Glib模块POD文档失败"
|
||||
LOG_INFO "通过perldoc访问Glib模块POD文档成功"
|
||||
|
||||
# 环境恢复:如果测试前未安装,则卸载perl-Glib包
|
||||
if [ $INSTALLED_FLAG -eq 0 ]; then
|
||||
LOG_INFO "清理环境:卸载perl-Glib包"
|
||||
dnf remove -y perl-Glib
|
||||
CHECK_RESULT $? 0 0 "卸载perl-Glib包失败"
|
||||
LOG_INFO "环境恢复完成"
|
||||
else
|
||||
LOG_INFO "测试前已安装perl-Glib包,保持安装状态"
|
||||
fi
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,67 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-20
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 perl-Glib-help 软件包是否提供了正确的版本信息。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 perl-Glib-help 软件包的版本信息"
|
||||
LOG_INFO "检查 perl-Glib-help 软件包是否在 yum 源中"
|
||||
if ! dnf list available perl-Glib-help &> /dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 perl-Glib-help 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "检查当前是否已安装 perl-Glib-help 软件包"
|
||||
if rpm -q perl-Glib-help &> /dev/null; then
|
||||
LOG_INFO "perl-Glib-help 软件包已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "perl-Glib-help 软件包未安装,将进行安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装 perl-Glib-help 软件包"
|
||||
dnf install -y perl-Glib-help
|
||||
CHECK_RESULT $? 0 0 "安装 perl-Glib-help 软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "检查 perl-Glib-help 软件包提供的帮助命令"
|
||||
if ! command -v perl-Glib-help &> /dev/null; then
|
||||
LOG_ERROR "perl-Glib-help 命令不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "测试 perl-Glib-help 的版本信息"
|
||||
perl-Glib-help --version
|
||||
CHECK_RESULT $? 0 0 "获取 perl-Glib-help 版本信息失败"
|
||||
|
||||
LOG_INFO "清理测试环境"
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 perl-Glib-help 软件包"
|
||||
dnf remove -y perl-Glib-help
|
||||
CHECK_RESULT $? 0 0 "卸载 perl-Glib-help 软件包失败"
|
||||
else
|
||||
LOG_INFO "测试开始前已安装 perl-Glib-help,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,80 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-04-01
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test importing the package
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test importing the package"
|
||||
|
||||
LOG_INFO "步骤1:检查环境中是否已安装python3-mergedeep软件包"
|
||||
if dnf list installed python3-mergedeep &>/dev/null; then
|
||||
LOG_INFO "python3-mergedeep软件包已安装,将保持安装状态"
|
||||
INSTALLED_BEFORE=1
|
||||
else
|
||||
LOG_INFO "python3-mergedeep软件包未安装,将在测试过程中安装"
|
||||
INSTALLED_BEFORE=0
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查yum源中是否有python3-mergedeep软件包"
|
||||
if ! dnf list available python3-mergedeep &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到python3-mergedeep软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ ${INSTALLED_BEFORE} -eq 0 ]; then
|
||||
LOG_INFO "步骤3:安装python3-mergedeep软件包"
|
||||
dnf install -y python3-mergedeep
|
||||
CHECK_RESULT $? 0 0 "安装python3-mergedeep软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:测试导入mergedeep包"
|
||||
python3 -c "import mergedeep; print("导入mergedeep成功")"
|
||||
CHECK_RESULT $? 0 0 "导入mergedeep包失败"
|
||||
|
||||
LOG_INFO "步骤5:测试mergedeep.merge函数是否存在"
|
||||
python3 -c "from mergedeep import merge; print("导入merge函数成功")"
|
||||
CHECK_RESULT $? 0 0 "导入merge函数失败"
|
||||
|
||||
LOG_INFO "步骤6:测试mergedeep.merge函数基本功能"
|
||||
python3 -c "
|
||||
from mergedeep import merge
|
||||
dict1 = {"a": 1}
|
||||
dict2 = {"b": 2}
|
||||
result = merge({}, dict1, dict2)
|
||||
expected = {"a": 1, "b": 2}
|
||||
if result == expected:
|
||||
print("merge函数基本功能测试通过")
|
||||
else:
|
||||
print("merge函数基本功能测试失败")
|
||||
exit(1)
|
||||
"
|
||||
CHECK_RESULT $? 0 0 "mergedeep.merge函数基本功能测试失败"
|
||||
|
||||
if [ ${INSTALLED_BEFORE} -eq 0 ]; then
|
||||
LOG_INFO "步骤7:清理环境,卸载python3-mergedeep软件包"
|
||||
dnf remove -y python3-mergedeep
|
||||
CHECK_RESULT $? 0 0 "卸载python3-mergedeep软件包失败"
|
||||
else
|
||||
LOG_INFO "步骤7:保持python3-mergedeep软件包安装状态,无需卸载"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test importing the package"
|
||||
}
|
||||
|
||||
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 : 2025-12-03
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test merging two dictionaries
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test merging two dictionaries"
|
||||
|
||||
# 检查是否已安装python3-mergedeep
|
||||
if dnf list installed python3-mergedeep &>/dev/null; then
|
||||
LOG_INFO "python3-mergedeep已安装,测试结束后保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "python3-mergedeep未安装,测试结束后将卸载"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有python3-mergedeep
|
||||
LOG_INFO "检查yum源中是否有python3-mergedeep"
|
||||
if ! dnf list available python3-mergedeep &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到python3-mergedeep"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装python3-mergedeep(如果未安装)
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装python3-mergedeep"
|
||||
dnf install -y python3-mergedeep
|
||||
CHECK_RESULT $? 0 0 "安装python3-mergedeep失败"
|
||||
fi
|
||||
|
||||
# 测试合并两个字典的功能
|
||||
LOG_INFO "测试合并两个字典的功能"
|
||||
cat <<EOF > test_merge.py
|
||||
from mergedeeplib import merge
|
||||
|
||||
dict1 = {"a": 1, "b": 2}
|
||||
dict2 = {"b": 3, "c": 4}
|
||||
result = merge(dict1, dict2)
|
||||
print(result)
|
||||
EOF
|
||||
|
||||
python3 test_merge.py > merge_result.txt
|
||||
CHECK_RESULT $? 0 0 "执行合并字典测试失败"
|
||||
|
||||
expected_result="{"a": 1, "b": 3, "c": 4}"
|
||||
actual_result=$(cat merge_result.txt)
|
||||
if [ "$actual_result" != "$expected_result" ]; then
|
||||
LOG_ERROR "合并字典结果不符合预期"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "合并字典结果符合预期:$actual_result"
|
||||
fi
|
||||
|
||||
# 清理临时文件
|
||||
rm -f test_merge.py merge_result.txt
|
||||
|
||||
# 卸载python3-mergedeep(如果最初未安装)
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载python3-mergedeep"
|
||||
dnf remove -y python3-mergedeep
|
||||
CHECK_RESULT $? 0 0 "卸载python3-mergedeep失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test merging two dictionaries"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,97 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-04-01
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test merging lists
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试python3-mergedeep函数merge_list功能"
|
||||
LOG_INFO "检查python3-mergedeep软件包是否已在yum源中"
|
||||
if ! dnf list python3-mergedeep &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到python3-mergedeep软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "检查系统是否已安装python3-mergedeep"
|
||||
if rpm -q python3-mergedeep &> /dev/null; then
|
||||
LOG_INFO "python3-mergedeep已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "python3-mergedeep未安装,将进行安装作为测试步骤"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "开始安装python3-mergedeep软件包"
|
||||
dnf install -y python3-mergedeep
|
||||
CHECK_RESULT $? 0 0 "安装python3-mergedeep失败"
|
||||
LOG_INFO "python3-mergedeep安装成功"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试merge_list函数:合并两个简单列表"
|
||||
cat > test_merge_list.py << "EOF"
|
||||
from mergedeep import merge
|
||||
list1 = [1, 2, 3]
|
||||
list2 = [4, 5, 6]
|
||||
result = []
|
||||
merge(result, list1, list2)
|
||||
print(result)
|
||||
EOF
|
||||
python3 test_merge_list.py
|
||||
CHECK_RESULT $? 0 0 "执行python脚本失败"
|
||||
|
||||
LOG_INFO "测试merge_list函数:合并嵌套列表"
|
||||
cat > test_merge_nested_list.py << "EOF"
|
||||
from mergedeep import merge
|
||||
list1 = [[1, 2], [3, 4]]
|
||||
list2 = [[5, 6], [7, 8]]
|
||||
result = []
|
||||
merge(result, list1, list2)
|
||||
print(result)
|
||||
EOF
|
||||
python3 test_merge_nested_list.py
|
||||
CHECK_RESULT $? 0 0 "执行python脚本失败"
|
||||
|
||||
LOG_INFO "测试merge_list函数:合并包含字典的列表"
|
||||
cat > test_merge_list_with_dict.py << "EOF"
|
||||
from mergedeep import merge
|
||||
list1 = [{"a": 1}, {"b": 2}]
|
||||
list2 = [{"c": 3}, {"d": 4}]
|
||||
result = []
|
||||
merge(result, list1, list2)
|
||||
print(result)
|
||||
EOF
|
||||
python3 test_merge_list_with_dict.py
|
||||
CHECK_RESULT $? 0 0 "执行python脚本失败"
|
||||
|
||||
LOG_INFO "清理临时测试文件"
|
||||
rm -f test_merge_list.py test_merge_nested_list.py test_merge_list_with_dict.py
|
||||
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "测试完成,卸载python3-mergedeep软件包"
|
||||
dnf remove -y python3-mergedeep
|
||||
CHECK_RESULT $? 0 0 "卸载python3-mergedeep失败"
|
||||
LOG_INFO "python3-mergedeep卸载成功,环境已恢复"
|
||||
else
|
||||
LOG_INFO "测试完成,保持python3-mergedeep安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "python3-mergedeep merge_list函数测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,124 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-04-01
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test merge strategies
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试合并策略
|
||||
|
||||
LOG_INFO "开始测试 merge strategies"
|
||||
|
||||
# 环境检查:检查是否已安装python3-mergedeep
|
||||
LOG_INFO "检查python3-mergedeep是否已安装"
|
||||
if dnf list installed python3-mergedeep &>/dev/null; then
|
||||
LOG_INFO "python3-mergedeep已安装,测试后保持安装状态"
|
||||
already_installed=true
|
||||
else
|
||||
LOG_INFO "python3-mergedeep未安装,将在测试后卸载"
|
||||
already_installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有该软件包
|
||||
LOG_INFO "检查yum源中是否有python3-mergedeep软件包"
|
||||
if ! dnf search python3-mergedeep 2>/dev/null | grep -q "python3-mergedeep"; then
|
||||
LOG_ERROR "yum源中未找到python3-mergedeep软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "安装python3-mergedeep软件包"
|
||||
dnf install -y python3-mergedeep
|
||||
CHECK_RESULT $? 0 0 "安装python3-mergedeep失败"
|
||||
fi
|
||||
|
||||
# 测试merge strategies功能
|
||||
LOG_INFO "测试merge strategies功能"
|
||||
|
||||
# 创建测试Python脚本
|
||||
LOG_INFO "创建测试Python脚本"
|
||||
cat > /tmp/test_merge_strategy.py << "EOF"
|
||||
from mergedeep import merge, Strategy
|
||||
|
||||
dict1 = {"a": 1, "b": {"x": 10, "y": 20}}
|
||||
dict2 = {"b": {"y": 30, "z": 40}, "c": 3}
|
||||
|
||||
# 测试REPLACE策略
|
||||
result_replace = merge({}, dict1, dict2, strategy=Strategy.REPLACE)
|
||||
print(f"REPLACE策略结果: {result_replace}")
|
||||
|
||||
# 测试ADDITIVE策略
|
||||
result_additive = merge({}, dict1, dict2, strategy=Strategy.ADDITIVE)
|
||||
print(f"ADDITIVE策略结果: {result_additive}")
|
||||
|
||||
# 测试TYPESAFE策略
|
||||
result_typesafe = merge({}, dict1, dict2, strategy=Strategy.TYPESAFE)
|
||||
print(f"TYPESAFE策略结果: {result_typesafe}")
|
||||
|
||||
# 验证结果
|
||||
expected_replace = {"a": 1, "b": {"y": 30, "z": 40}, "c": 3}
|
||||
expected_additive = {"a": 1, "b": {"x": 10, "y": 30, "z": 40}, "c": 3}
|
||||
expected_typesafe = {"a": 1, "b": {"x": 10, "y": 30, "z": 40}, "c": 3}
|
||||
|
||||
assert result_replace == expected_replace, f"REPLACE策略失败: {result_replace}"
|
||||
assert result_additive == expected_additive, f"ADDITIVE策略失败: {result_additive}"
|
||||
assert result_typesafe == expected_typesafe, f"TYPESAFE策略失败: {result_typesafe}"
|
||||
|
||||
print("所有merge策略测试通过")
|
||||
EOF
|
||||
|
||||
# 执行测试脚本
|
||||
LOG_INFO "执行merge策略测试"
|
||||
python3 /tmp/test_merge_strategy.py
|
||||
CHECK_RESULT $? 0 0 "merge策略测试失败"
|
||||
|
||||
# 测试命令行参数(如果存在)
|
||||
LOG_INFO "检查python3-mergedeep是否支持命令行参数"
|
||||
if python3 -m mergedeep --help &>/dev/null; then
|
||||
LOG_INFO "测试命令行帮助"
|
||||
python3 -m mergedeep --help
|
||||
CHECK_RESULT $? 0 0 "获取命令行帮助失败"
|
||||
|
||||
# 测试不支持的参数
|
||||
LOG_INFO "测试不支持的参数"
|
||||
if python3 -m mergedeep --invalid-param &>/dev/null; then
|
||||
LOG_ERROR "不支持的参数未正确处理"
|
||||
exit 255
|
||||
fi
|
||||
else
|
||||
LOG_INFO "python3-mergedeep不支持命令行接口,跳过命令行测试"
|
||||
fi
|
||||
|
||||
# 清理临时文件
|
||||
LOG_INFO "清理临时文件"
|
||||
rm -f /tmp/test_merge_strategy.py
|
||||
|
||||
# 环境恢复
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "卸载python3-mergedeep软件包"
|
||||
dnf remove -y python3-mergedeep
|
||||
CHECK_RESULT $? 0 0 "卸载python3-mergedeep失败"
|
||||
else
|
||||
LOG_INFO "保持python3-mergedeep安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "merge strategies测试完成"
|
||||
}
|
||||
|
||||
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-28
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试ASN.1数据结构的基本解码功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试ASN.1数据结构的基本解码功能"
|
||||
|
||||
# 检查pyasn1软件包是否在yum源中
|
||||
LOG_INFO "检查yum源中是否存在python3-pyasn1软件包"
|
||||
dnf list python3-pyasn1 &> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在python3-pyasn1软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装python3-pyasn1
|
||||
LOG_INFO "检查python3-pyasn1是否已安装"
|
||||
rpm -q python3-pyasn1 &> /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "python3-pyasn1已安装,测试完成后将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "python3-pyasn1未安装,将安装软件包作为测试步骤"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装python3-pyasn1
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装python3-pyasn1软件包"
|
||||
dnf install -y python3-pyasn1
|
||||
CHECK_RESULT $? 0 0 "安装python3-pyasn1失败"
|
||||
fi
|
||||
|
||||
# 测试ASN.1数据结构的基本解码功能
|
||||
LOG_INFO "执行ASN.1数据结构基本解码功能测试"
|
||||
python3 -c "
|
||||
from pyasn1.codec.der import decoder
|
||||
from pyasn1.type import univ
|
||||
|
||||
# 定义一个简单的ASN.1整数
|
||||
asn1_int = univ.Integer(12345)
|
||||
encoded = asn1_int.encode()
|
||||
|
||||
# 解码
|
||||
decoded, _ = decoder.decode(encoded, asn1Spec=univ.Integer())
|
||||
print("解码成功,解码后的值为:", decoded)
|
||||
if decoded == asn1_int:
|
||||
print("解码值与原始值一致,测试通过")
|
||||
else:
|
||||
print("解码值与原始值不一致,测试失败")
|
||||
exit(1)
|
||||
"
|
||||
CHECK_RESULT $? 0 0 "ASN.1数据结构基本解码功能测试失败"
|
||||
|
||||
# 如果测试前未安装,则卸载软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载python3-pyasn1软件包"
|
||||
dnf remove -y python3-pyasn1
|
||||
CHECK_RESULT $? 0 0 "卸载python3-pyasn1失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "ASN.1数据结构基本解码功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,56 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-28
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试ASN.1数据结构的基本编码功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试ASN.1数据结构的基本编码功能"
|
||||
LOG_INFO "步骤1: 检查环境是否已安装python3-pyasn1软件包"
|
||||
if dnf list installed python3-pyasn1 &>/dev/null; then
|
||||
LOG_INFO "python3-pyasn1已安装,测试结束后保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "python3-pyasn1未安装,将在测试前安装,测试后卸载"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
LOG_INFO "步骤2: 检查yum源中是否有python3-pyasn1软件包"
|
||||
if ! dnf list available python3-pyasn1 &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到python3-pyasn1软件包"
|
||||
exit 255
|
||||
fi
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "步骤3: 安装python3-pyasn1软件包"
|
||||
dnf install -y python3-pyasn1
|
||||
CHECK_RESULT $? 0 0 "安装python3-pyasn1失败"
|
||||
fi
|
||||
LOG_INFO "步骤4: 测试ASN.1数据结构的基本编码功能"
|
||||
python3 -c "from pyasn1.codec.ber import encoder; from pyasn1.type import univ; import sys; integer = univ.Integer(12345); encoded = encoder.encode(integer); sys.exit(0) if encoded else sys.exit(1)"
|
||||
CHECK_RESULT $? 0 0 "ASN.1数据结构编码功能测试失败"
|
||||
LOG_INFO "步骤5: 清理环境"
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "卸载python3-pyasn1软件包"
|
||||
dnf remove -y python3-pyasn1
|
||||
CHECK_RESULT $? 0 0 "卸载python3-pyasn1失败"
|
||||
else
|
||||
LOG_INFO "测试前已安装,保持安装状态"
|
||||
fi
|
||||
LOG_INFO "ASN.1数据结构的基本编码功能测试完成"
|
||||
}
|
||||
|
||||
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-28
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试python3-pyasn1模块能否正常导入
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试python3-pyasn1模块能否正常导入"
|
||||
|
||||
LOG_INFO "1. 检查yum源中是否存在python3-pyasn1包"
|
||||
if ! dnf list available python3-pyasn1 &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到python3-pyasn1包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum源中存在python3-pyasn1包"
|
||||
|
||||
LOG_INFO "2. 检查当前环境是否已安装python3-pyasn1"
|
||||
if rpm -q python3-pyasn1 &>/dev/null; then
|
||||
LOG_INFO "检测到python3-pyasn1已安装,测试结束后将保持安装状态"
|
||||
INSTALLED_BEFORE_TEST=true
|
||||
else
|
||||
LOG_INFO "未检测到python3-pyasn1安装,将在测试过程中安装"
|
||||
INSTALLED_BEFORE_TEST=false
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
LOG_INFO "3. 安装python3-pyasn1包"
|
||||
dnf install -y python3-pyasn1
|
||||
CHECK_RESULT $? 0 0 "安装python3-pyasn1失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "4. 测试python3-pyasn1模块导入功能"
|
||||
python3 -c "import pyasn1"
|
||||
CHECK_RESULT $? 0 0 "导入pyasn1模块失败"
|
||||
|
||||
LOG_INFO "5. 清理测试环境"
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
LOG_INFO "卸载测试安装的python3-pyasn1包"
|
||||
dnf remove -y python3-pyasn1
|
||||
CHECK_RESULT $? 0 0 "卸载python3-pyasn1失败"
|
||||
LOG_INFO "环境已恢复至测试前状态"
|
||||
else
|
||||
LOG_INFO "测试前已安装python3-pyasn1,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:python3-pyasn1模块能够正常导入"
|
||||
}
|
||||
|
||||
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-28
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试python3-pyasn1软件包的安装功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试python3-pyasn1软件包的安装功能"
|
||||
LOG_INFO "步骤1: 检查yum源中是否存在python3-pyasn1软件包"
|
||||
dnf list available python3-pyasn1 > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到python3-pyasn1软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum源中存在python3-pyasn1软件包"
|
||||
|
||||
LOG_INFO "步骤2: 检查当前环境是否已安装python3-pyasn1"
|
||||
rpm -q python3-pyasn1 > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "当前环境已安装python3-pyasn1,测试结束后将保持安装状态"
|
||||
installed_before_test=true
|
||||
else
|
||||
LOG_INFO "当前环境未安装python3-pyasn1,将进行安装测试"
|
||||
installed_before_test=false
|
||||
fi
|
||||
|
||||
if [ "$installed_before_test" = false ]; then
|
||||
LOG_INFO "步骤3: 安装python3-pyasn1软件包"
|
||||
dnf install -y python3-pyasn1
|
||||
CHECK_RESULT $? 0 0 "安装python3-pyasn1失败"
|
||||
LOG_INFO "python3-pyasn1安装成功"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4: 验证python3-pyasn1基本功能"
|
||||
python3 -c "import pyasn1; print(pyasn1.__version__)" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "python3-pyasn1导入失败,基本功能异常"
|
||||
|
||||
LOG_INFO "步骤5: 清理测试环境"
|
||||
if [ "$installed_before_test" = false ]; then
|
||||
LOG_INFO "卸载测试安装的python3-pyasn1软件包"
|
||||
dnf remove -y python3-pyasn1
|
||||
CHECK_RESULT $? 0 0 "卸载python3-pyasn1失败"
|
||||
LOG_INFO "python3-pyasn1卸载成功,环境已恢复"
|
||||
else
|
||||
LOG_INFO "测试前已安装python3-pyasn1,保持安装状态,无需卸载"
|
||||
fi
|
||||
|
||||
LOG_INFO "python3-pyasn1软件包安装功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,131 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-28
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试python3-pyasn1软件包的卸载功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义日志函数(如果未定义)
|
||||
if ! command -v LOG_INFO &> /dev/null; then
|
||||
LOG_INFO() {
|
||||
echo "[INFO] $*"
|
||||
}
|
||||
fi
|
||||
if ! command -v LOG_ERROR &> /dev/null; then
|
||||
LOG_ERROR() {
|
||||
echo "[ERROR] $*"
|
||||
}
|
||||
fi
|
||||
|
||||
# 定义检查结果函数(如果未定义)
|
||||
if ! command -v CHECK_RESULT &> /dev/null; then
|
||||
CHECK_RESULT() {
|
||||
local actual=$1
|
||||
local expected=$2
|
||||
local index=$3
|
||||
local message=$4
|
||||
if [ $actual -eq $expected ]; then
|
||||
LOG_INFO "检查点 $index 通过: $message"
|
||||
else
|
||||
LOG_ERROR "检查点 $index 失败: $message"
|
||||
exit $actual
|
||||
fi
|
||||
}
|
||||
fi
|
||||
|
||||
# 定义SSH_CMD函数(如果未定义)
|
||||
if ! command -v SSH_CMD &> /dev/null; then
|
||||
SSH_CMD() {
|
||||
local cmd=$1
|
||||
local ip=$2
|
||||
local password=$3
|
||||
local user=${4:-root}
|
||||
sshpass -p "$password" ssh -o StrictHostKeyChecking=no "$user@$ip" "$cmd"
|
||||
}
|
||||
fi
|
||||
|
||||
# 软件包名称
|
||||
PACKAGE_NAME="python3-pyasn1"
|
||||
|
||||
LOG_INFO "开始测试python3-pyasn1软件包的卸载功能"
|
||||
|
||||
# 步骤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=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 1 "安装$PACKAGE_NAME软件包"
|
||||
LOG_INFO "成功安装$PACKAGE_NAME软件包"
|
||||
else
|
||||
LOG_INFO "步骤3:跳过安装,软件包已存在"
|
||||
fi
|
||||
|
||||
# 步骤4:验证软件包安装成功
|
||||
LOG_INFO "步骤4:验证$PACKAGE_NAME软件包安装成功"
|
||||
rpm -q "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 2 "验证$PACKAGE_NAME软件包安装"
|
||||
|
||||
# 步骤5:卸载软件包
|
||||
LOG_INFO "步骤5:卸载$PACKAGE_NAME软件包"
|
||||
dnf remove -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 3 "卸载$PACKAGE_NAME软件包"
|
||||
LOG_INFO "成功卸载$PACKAGE_NAME软件包"
|
||||
|
||||
# 步骤6:验证软件包已卸载
|
||||
LOG_INFO "步骤6:验证$PACKAGE_NAME软件包已卸载"
|
||||
rpm -q "$PACKAGE_NAME"
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "$PACKAGE_NAME软件包卸载失败"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "$PACKAGE_NAME软件包已成功卸载"
|
||||
fi
|
||||
|
||||
# 步骤7:环境恢复
|
||||
LOG_INFO "步骤7:恢复环境"
|
||||
if [ "$INSTALLED_BEFORE" = "true" ]; then
|
||||
LOG_INFO "重新安装$PACKAGE_NAME软件包以恢复原始状态"
|
||||
dnf install -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 4 "重新安装$PACKAGE_NAME软件包"
|
||||
LOG_INFO "环境已恢复,$PACKAGE_NAME软件包已安装"
|
||||
else
|
||||
LOG_INFO "环境已恢复,$PACKAGE_NAME软件包保持未安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试python3-pyasn1软件包的卸载功能完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,99 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Verify package is installed
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义颜色变量(如果需要)
|
||||
LOG_INFO() {
|
||||
echo "[INFO] $1"
|
||||
}
|
||||
|
||||
LOG_ERROR() {
|
||||
echo "[ERROR] $1"
|
||||
}
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="texlive-graphviz"
|
||||
|
||||
# 步骤1:检查软件包是否已在yum源中
|
||||
LOG_INFO "检查软件包 ${PACKAGE_NAME} 是否在yum源中"
|
||||
dnf list available ${PACKAGE_NAME} &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 ${PACKAGE_NAME} 不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤2:检查软件包是否已安装
|
||||
LOG_INFO "检查软件包 ${PACKAGE_NAME} 是否已安装"
|
||||
rpm -q ${PACKAGE_NAME} &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "软件包 ${PACKAGE_NAME} 已安装"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "软件包 ${PACKAGE_NAME} 未安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 步骤3:如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "安装软件包 ${PACKAGE_NAME}"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "安装软件包 ${PACKAGE_NAME} 失败"
|
||||
fi
|
||||
|
||||
# 步骤4:验证软件包已正确安装
|
||||
LOG_INFO "验证软件包 ${PACKAGE_NAME} 已正确安装"
|
||||
rpm -q ${PACKAGE_NAME} &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "软件包 ${PACKAGE_NAME} 未正确安装"
|
||||
|
||||
# 步骤5:检查软件包中的关键命令是否可用
|
||||
LOG_INFO "检查软件包 ${PACKAGE_NAME} 中的关键命令是否可用"
|
||||
# 这里假设graphviz包中的dot命令是关键命令
|
||||
command -v dot &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "关键命令 dot 不可用"
|
||||
|
||||
# 步骤6:运行一个简单的命令测试功能
|
||||
LOG_INFO "运行简单命令测试软件包功能"
|
||||
dot -V &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "软件包功能测试失败"
|
||||
|
||||
# 步骤7:清理环境(如果之前未安装)
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "卸载软件包 ${PACKAGE_NAME}"
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 ${PACKAGE_NAME} 失败"
|
||||
|
||||
# 验证软件包已被卸载
|
||||
LOG_INFO "验证软件包 ${PACKAGE_NAME} 已被卸载"
|
||||
rpm -q ${PACKAGE_NAME} &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "软件包 ${PACKAGE_NAME} 卸载失败"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "软件包 ${PACKAGE_NAME} 已成功卸载"
|
||||
fi
|
||||
else
|
||||
LOG_INFO "保持软件包 ${PACKAGE_NAME} 的安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:验证软件包安装功能通过"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,94 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test dot command generates output
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已经安装了texlive-graphviz
|
||||
LOG_INFO "检查是否已安装texlive-graphviz"
|
||||
rpm -q texlive-graphviz > /dev/null 2>&1
|
||||
is_installed=$?
|
||||
|
||||
# 如果未安装,则尝试安装
|
||||
if [ $is_installed -ne 0 ]; then
|
||||
LOG_INFO "texlive-graphviz未安装,尝试从yum源安装"
|
||||
# 检查yum源中是否有该软件包
|
||||
dnf list available texlive-graphviz > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-graphviz软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装软件包
|
||||
dnf install -y texlive-graphviz
|
||||
CHECK_RESULT $? 0 0 "安装texlive-graphviz失败"
|
||||
LOG_INFO "texlive-graphviz安装成功"
|
||||
else
|
||||
LOG_INFO "texlive-graphviz已安装,跳过安装步骤"
|
||||
fi
|
||||
|
||||
# 测试dot命令生成输出
|
||||
LOG_INFO "测试dot命令生成输出"
|
||||
# 创建一个简单的dot文件
|
||||
cat > test_graph.dot << EOF
|
||||
digraph G {
|
||||
A -> B;
|
||||
B -> C;
|
||||
C -> A;
|
||||
}
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "创建测试dot文件失败"
|
||||
|
||||
# 使用dot命令生成PNG图片
|
||||
dot -Tpng test_graph.dot -o test_graph.png
|
||||
CHECK_RESULT $? 0 0 "dot命令生成PNG失败"
|
||||
|
||||
# 检查生成的PNG文件是否存在
|
||||
if [ -f test_graph.png ]; then
|
||||
LOG_INFO "成功生成PNG文件"
|
||||
# 检查文件是否非空
|
||||
if [ -s test_graph.png ]; then
|
||||
LOG_INFO "生成的PNG文件非空,测试通过"
|
||||
else
|
||||
LOG_ERROR "生成的PNG文件为空"
|
||||
CHECK_RESULT 1 0 0 "生成的PNG文件为空"
|
||||
fi
|
||||
else
|
||||
LOG_ERROR "未生成PNG文件"
|
||||
CHECK_RESULT 1 0 0 "未生成PNG文件"
|
||||
fi
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f test_graph.dot test_graph.png
|
||||
CHECK_RESULT $? 0 0 "清理测试文件失败"
|
||||
|
||||
# 如果脚本开始时未安装,则在结束时卸载软件包
|
||||
if [ $is_installed -ne 0 ]; then
|
||||
LOG_INFO "卸载texlive-graphviz"
|
||||
dnf remove -y texlive-graphviz
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-graphviz失败"
|
||||
LOG_INFO "texlive-graphviz卸载成功"
|
||||
else
|
||||
LOG_INFO "保持texlive-graphviz安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
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-02-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test LaTeX document compilation with dot
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试LaTeX文档与dot图的集成编译功能"
|
||||
|
||||
# 检查texlive-graphviz软件包是否在yum源中
|
||||
LOG_INFO "检查yum源中是否存在texlive-graphviz软件包"
|
||||
dnf list available texlive-graphviz &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "yum源中未找到texlive-graphviz软件包,测试无法继续"
|
||||
|
||||
# 检查环境是否已安装texlive-graphviz
|
||||
LOG_INFO "检查当前环境是否已安装texlive-graphviz"
|
||||
if dnf list installed texlive-graphviz &>/dev/null; then
|
||||
LOG_INFO "环境已安装texlive-graphviz,测试结束后将保持安装状态"
|
||||
INSTALLED_ALREADY=1
|
||||
else
|
||||
LOG_INFO "环境未安装texlive-graphviz,将进行安装"
|
||||
INSTALLED_ALREADY=0
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $INSTALLED_ALREADY -eq 0 ]; then
|
||||
LOG_INFO "安装texlive-graphviz软件包"
|
||||
dnf install -y texlive-graphviz
|
||||
CHECK_RESULT $? 0 0 "安装texlive-graphviz失败"
|
||||
fi
|
||||
|
||||
# 创建测试LaTeX文档
|
||||
LOG_INFO "创建测试LaTeX文档"
|
||||
cat > test_dot.tex << "EOF"
|
||||
\documentclass{article}
|
||||
\usepackage{tikz}
|
||||
\usetikzlibrary{graphs,graphdrawing}
|
||||
\usegdlibrary{trees}
|
||||
\begin{document}
|
||||
\begin{tikzpicture}
|
||||
\graph [tree layout] {
|
||||
a -> {b, c} -> d
|
||||
};
|
||||
\end{tikzpicture}
|
||||
\end{document}
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "创建测试LaTeX文档失败"
|
||||
|
||||
# 尝试编译LaTeX文档
|
||||
LOG_INFO "使用pdflatex编译LaTeX文档(包含dot图)"
|
||||
pdflatex -interaction=nonstopmode test_dot.tex &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "LaTeX文档编译失败"
|
||||
|
||||
# 检查生成的PDF文件
|
||||
LOG_INFO "检查生成的PDF文件"
|
||||
if [ -f test_dot.pdf ]; then
|
||||
LOG_INFO "PDF文件生成成功"
|
||||
else
|
||||
LOG_ERROR "PDF文件未生成"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理生成的中间文件
|
||||
LOG_INFO "清理编译生成的中间文件"
|
||||
rm -f test_dot.aux test_dot.log test_dot.pdf test_dot.tex
|
||||
|
||||
# 如果测试前未安装,则卸载软件包
|
||||
if [ $INSTALLED_ALREADY -eq 0 ]; then
|
||||
LOG_INFO "卸载texlive-graphviz软件包"
|
||||
dnf remove -y texlive-graphviz
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-graphviz失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,61 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test installation of texlive-thalie
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查texlive-thalie是否已安装
|
||||
LOG_INFO "检查texlive-thalie是否已安装"
|
||||
rpm -q texlive-thalie > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-thalie已安装,跳过安装步骤"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "texlive-thalie未安装,准备安装"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-thalie软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-thalie软件包"
|
||||
dnf list available texlive-thalie > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中未找到texlive-thalie软件包"
|
||||
|
||||
# 安装texlive-thalie
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "开始安装texlive-thalie"
|
||||
dnf install -y texlive-thalie > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装texlive-thalie失败"
|
||||
fi
|
||||
|
||||
# 验证texlive-thalie功能
|
||||
LOG_INFO "验证texlive-thalie功能"
|
||||
command -v tex > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "tex命令不存在或不支持"
|
||||
|
||||
# 清理环境(如果之前未安装)
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "清理环境,卸载texlive-thalie"
|
||||
dnf remove -y texlive-thalie > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-thalie失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,71 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package installation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试软件包安装功能"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
if dnf list installed texlive-annee-scolaire &>/dev/null; then
|
||||
LOG_INFO "软件包 texlive-annee-scolaire 已安装"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "软件包 texlive-annee-scolaire 未安装"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有该软件包
|
||||
LOG_INFO "检查yum源中是否存在 texlive-annee-scolaire 软件包"
|
||||
if ! dnf list available texlive-annee-scolaire &>/dev/null; then
|
||||
LOG_ERROR "yum源中不存在 texlive-annee-scolaire 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则进行安装
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "开始安装 texlive-annee-scolaire 软件包"
|
||||
dnf install -y texlive-annee-scolaire
|
||||
CHECK_RESULT $? 0 0 "安装 texlive-annee-scolaire 软件包失败"
|
||||
fi
|
||||
|
||||
# 测试命令参数
|
||||
LOG_INFO "测试命令参数"
|
||||
texlive-annee-scolaire --invalid-param &>/dev/null
|
||||
if [ $? -ne 255 ]; then
|
||||
LOG_ERROR "命令参数检查失败"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查命令是否成功执行
|
||||
LOG_INFO "执行测试命令"
|
||||
texlive-annee-scolaire --version &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "执行 texlive-annee-scolaire --version 失败"
|
||||
|
||||
# 如果之前未安装,则卸载软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载 texlive-annee-scolaire 软件包"
|
||||
dnf remove -y texlive-annee-scolaire
|
||||
CHECK_RESULT $? 0 0 "卸载 texlive-annee-scolaire 软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
Reference in New Issue
Block a user