This commit is contained in:
2026-04-15 19:24:21 +08:00
69 changed files with 0 additions and 4484 deletions

View File

@@ -2,94 +2,14 @@
"path": "$OET_PATH/testcases/function_test/pkg_test/erlang/erlang-dialyzer",
"machine num": 1,
"cases": [
{
"name": "test_erlang-dialyzer_dialyzer__add_to_plt",
"desc": "测试使用--add_to_plt参数将文件添加到PLT"
},
{
"name": "test_erlang-dialyzer_dialyzer__apps",
"desc": "测试使用--apps参数指定应用程序进行分析"
},
{
"name": "test_erlang-dialyzer_dialyzer__build_plt",
"desc": "测试使用--build_plt参数构建新的PLT"
},
{
"name": "test_erlang-dialyzer_dialyzer__check_plt",
"desc": "测试使用--check_plt参数检查PLT的一致性"
},
{
"name": "test_erlang-dialyzer_dialyzer__upper_d",
"desc": "测试使用-D参数定义宏"
},
{
"name": "test_erlang-dialyzer_dialyzer__dump_callgraph",
"desc": "测试使用--dump_callgraph参数导出调用图"
},
{
"name": "test_erlang-dialyzer_dialyzer__error_location",
"desc": "测试使用--error_location参数指定错误位置格式"
},
{
"name": "test_erlang-dialyzer_dialyzer__fullpath",
"desc": "测试使用--fullpath参数显示完整文件路径"
},
{
"name": "test_erlang-dialyzer_dialyzer__get_warnings",
"desc": "测试使用--get_warnings参数获取警告信息"
},
{
"name": "test_erlang-dialyzer_dialyzer__gui",
"desc": "测试使用--gui参数启动GUI界面"
},
{
"name": "test_erlang-dialyzer_typer__help",
"desc": "测试 typer 命令的 --help 参数"
},
{
"name": "test_erlang-dialyzer_typer__version",
"desc": "测试 typer 命令的 --version 参数"
},
{
"name": "test_erlang-dialyzer_typer__plt",
"desc": "测试 typer 命令的 --plt 参数"
},
{
"name": "test_erlang-dialyzer_typer__edoc",
"desc": "测试 typer 命令的 --edoc 参数"
},
{
"name": "test_erlang-dialyzer_typer__show",
"desc": "测试 typer 命令的 --show 参数"
},
{
"name": "test_erlang-dialyzer_typer__show_exported",
"desc": "测试 typer 命令的 --show-exported 参数"
},
{
"name": "test_erlang-dialyzer_typer__annotate",
"desc": "测试 typer 命令的 --annotate 参数"
},
{
"name": "test_erlang-dialyzer_typer__annotate_inc_files",
"desc": "测试 typer 命令的 --annotate-inc-files 参数"
},
{
"name": "test_erlang-dialyzer_typer__annotate_in_place",
"desc": "测试 typer 命令的 --annotate-in-place 参数"
},
{
"name": "test_erlang-dialyzer_typer__Ddefine",
"desc": "测试 typer 命令的 -Ddefine 参数组合(自定义宏定义)"
},
{
"name": "test_erlang-dialyzer-typer_-I",
"desc": "测试 typer 命令的 -I include_dir包含目录的参数组合"
},
{
"name": "test_erlang-dialyzer_function_plt_update",
"desc": "测试使用--update_plt参数更新PLT"
},
{
"name": "test_erlang-dialyzer_dialyzer__v",
"desc": "测试 dialyzer 命令的版本信息输出"
@@ -101,42 +21,6 @@
{
"name": "test_erlang-dialyzer_dialyzer__q",
"desc": "测试 dialyzer 命令的安静模式"
},
{
"name": "test_erlang-dialyzer_dialyzer__src",
"desc": "测试 dialyzer 命令从 Erlang 源代码进行分析"
},
{
"name": "test_erlang-dialyzer_dialyzer__o_outfile",
"desc": "测试 dialyzer 命令将分析结果输出到指定文件"
},
{
"name": "test_erlang-dialyzer_dialyzer__raw",
"desc": "测试 dialyzer 命令输出原始分析结果"
},
{
"name": "test_erlang-dialyzer_dialyzer__plt_info",
"desc": "测试 dialyzer 命令打印 plt 信息并退出"
},
{
"name": "test_erlang-dialyzer_dialyzer__remove_from_plt",
"desc": "测试 dialyzer 命令从 plt 中移除指定文件的信息"
},
{
"name": "test_erlang-dialyzer_typer__show-exported",
"desc": "测试 typer 命令的 --show-exported 参数"
},
{
"name": "test_erlang-dialyzer_typer__annotate-inc-files",
"desc": "测试 typer 命令的 --annotate-inc-files 参数"
},
{
"name": "test_erlang-dialyzer_typer__annotate-in-place",
"desc": "测试 typer 命令的 --annotate-in-place 参数"
},
{
"name": "test_erlang-dialyzer_function_plt_remove",
"desc": "测试使用--remove_from_plt参数从PLT中移除文件"
}
]
}

View File

@@ -5,10 +5,6 @@
{
"name": "test_h2-javadoc_function_install",
"desc": "Test the installation of h2-javadoc package"
},
{
"name": "test_h2-javadoc_function_search",
"desc": "Test the search functionality of h2-javadoc package"
}
]
}

View File

@@ -9,26 +9,6 @@
{
"name": "test_libwnck3-help_function_check_installed",
"desc": "测试检查libwnck3-help软件包是否已安装验证包管理器的查询功能。"
},
{
"name": "test_libwnck3-help_function_install",
"desc": "测试libwnck3-help软件包的安装功能验证能否通过包管理器成功安装。"
},
{
"name": "test_libwnck3-help_function_usage",
"desc": "测试libwnck3-help软件包的基本使用功能验证帮助文档是否正确显示。"
},
{
"name": "test_libwnck3-help_function_version",
"desc": "测试libwnck3-help软件包的版本查询功能验证能否正确获取软件包版本信息。"
},
{
"name": "test_libwnck3-help_function_man_page",
"desc": "测试libwnck3-help软件包的man手册页功能验证手册页是否存在且内容可访问。"
},
{
"name": "test_libwnck3-help_function_info_page",
"desc": "测试libwnck3-help软件包的信息页功能验证info文档是否存在且内容可访问。"
}
]
}

View File

@@ -2,10 +2,6 @@
"path": "$OET_PATH/testcases/function_test/pkg_test/mstflint/mstflint-help",
"machine num": 1,
"cases": [
{
"name": "test_mstflint-help_function_install",
"desc": "测试使用系统包管理器如yum或apt安装mstflint-help软件包是否成功。"
},
{
"name": "test_mstflint-help_function_uninstall",
"desc": "测试使用系统包管理器卸载mstflint-help软件包并验证相关文件是否被移除。"
@@ -14,10 +10,6 @@
"name": "test_mstflint-help_function_check_install",
"desc": "测试使用包管理器查询命令如rpm -q或dpkg -l验证mstflint-help软件包是否已正确安装。"
},
{
"name": "test_mstflint-help_function_manpage",
"desc": "测试安装后mstflint-help的手册页man page是否可以正常访问和显示。"
},
{
"name": "test_mstflint-help_function_basic_usage",
"desc": "测试运行mstflint-help命令检查其是否能显示基本的帮助信息或版本号。"

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/python-anyio/python3-anyio",
"machine num": 1,
"cases": [
{
"name": "test_python3-anyio_function_async",
"desc": "Test basic async functionality"
}
]
}

View File

@@ -2,22 +2,6 @@
"path": "$OET_PATH/testcases/function_test/pkg_test/python-pexpect/python3-pexpect",
"machine num": 1,
"cases": [
{
"name": "test_python3-pexpect_function_spawn",
"desc": "Test spawning a new process"
},
{
"name": "test_python3-pexpect_function_expect",
"desc": "Test expect pattern matching"
},
{
"name": "test_python3-pexpect_function_send",
"desc": "Test sending input to process"
},
{
"name": "test_python3-pexpect_function_interact",
"desc": "Test interactive mode"
},
{
"name": "test_python3-pexpect_function_timeout",
"desc": "Test timeout handling"

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/qt5-doc/qt5-qtquickcontrols2-doc",
"machine num": 1,
"cases": [
{
"name": "test_qt5-qtquickcontrols2-doc_function_doc_access",
"desc": "Verify access to documentation files"
}
]
}

View File

@@ -1,26 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-d/texlive-cantarell",
"machine num": 1,
"cases": [
{
"name": "test_texlive-cantarell_function_install",
"desc": "Test package installation"
},
{
"name": "test_texlive-cantarell_function_verify_install",
"desc": "Verify package is installed"
},
{
"name": "test_texlive-cantarell_function_remove",
"desc": "Test package removal"
},
{
"name": "test_texlive-cantarell_function_font_list",
"desc": "List available Cantarell fonts"
},
{
"name": "test_texlive-cantarell_function_doc_access",
"desc": "Access package documentation"
}
]
}

View File

@@ -2,33 +2,9 @@
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-j/texlive-graphics-cfg",
"machine num": 1,
"cases": [
{
"name": "test_texlive-graphics-cfg_function_config",
"desc": "Test configuration file parsing"
},
{
"name": "test_texlive-graphics-cfg_function_install",
"desc": "Test package installation"
},
{
"name": "test_texlive-graphics-cfg_function_uninstall",
"desc": "Test package removal"
},
{
"name": "test_texlive-graphics-cfg_function_version",
"desc": "Test version query"
},
{
"name": "test_texlive-graphics-cfg_function_file_list",
"desc": "Test installed file list"
},
{
"name": "test_texlive-graphics-cfg_function_conf_exist",
"desc": "Test config file presence"
},
{
"name": "test_texlive-graphics-cfg_function_help",
"desc": "Test help documentation"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-s/texlive-ptex-fonts",
"machine num": 1,
"cases": [
{
"name": "test_texlive-ptex-fonts_function_uninstall",
"desc": "Test package removal"
}
]
}

View File

@@ -10,21 +10,9 @@
"name": "test_ustr-help_function_uninstall",
"desc": "Test package uninstallation"
},
{
"name": "test_ustr-help_function_basic_usage",
"desc": "Test basic help functionality and command output"
},
{
"name": "test_ustr-help_function_version_check",
"desc": "Test displaying package version information"
},
{
"name": "test_ustr-help_function_install_check",
"desc": "Test verification of package installation status"
},
{
"name": "test_ustr-help_function_man_page",
"desc": "Test accessibility of manual page for the package"
}
]
}

View File

@@ -1,65 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-29
# @License : Mulan PSL v2
# @Desc : 测试 typer 命令的 -I include_dir包含目录的参数组合
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 typer 命令的 -I include_dir包含目录的参数组合"
# 检查软件包是否已安装
LOG_INFO "检查 erlang-dialyzer-typer 软件包是否已安装"
if ! dnf list installed erlang-dialyzer-typer &> /dev/null; then
LOG_INFO "软件包未安装,准备安装"
# 检查 yum 源中是否有该软件包
if ! dnf list available erlang-dialyzer-typer &> /dev/null; then
LOG_ERROR "yum 源中未找到 erlang-dialyzer-typer 软件包"
exit 255
fi
# 安装软件包
dnf install -y erlang-dialyzer-typer
CHECK_RESULT $? 0 0 "安装 erlang-dialyzer-typer 软件包失败"
# 标记需要卸载
NEED_UNINSTALL=1
else
LOG_INFO "软件包已安装,无需重复安装"
fi
# 测试 -I 参数
LOG_INFO "测试 typer -I include_dir 参数"
TEST_DIR="/tmp/test_include_dir"
mkdir -p $TEST_DIR
CHECK_RESULT $? 0 0 "创建测试目录失败"
# 执行 typer -I 命令
LOG_INFO "执行 typer -I $TEST_DIR"
typer -I $TEST_DIR > /dev/null 2>&1
CHECK_RESULT $? 0 0 "typer -I include_dir 参数测试失败"
# 清理测试目录
rm -rf $TEST_DIR
CHECK_RESULT $? 0 0 "清理测试目录失败"
# 如果之前安装了软件包,则卸载
if [ "$NEED_UNINSTALL" -eq 1 ]; then
LOG_INFO "卸载 erlang-dialyzer-typer 软件包"
dnf remove -y erlang-dialyzer-typer
CHECK_RESULT $?,
}
main "$@"

View File

@@ -1,81 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-29
# @License : Mulan PSL v2
# @Desc : 测试使用--add_to_plt参数将文件添加到PLT
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:测试使用--add_to_plt参数将文件添加到PLT"
# 检查是否已安装erlang-dialyzer
LOG_INFO "检查erlang-dialyzer是否已安装"
if dnf list installed erlang-dialyzer &>/dev/null; then
LOG_INFO "erlang-dialyzer已安装脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "erlang-dialyzer未安装将在测试结束后卸载"
INSTALLED=false
fi
# 检查yum源中是否有erlang-dialyzer
LOG_INFO "检查yum源中是否有erlang-dialyzer"
if ! dnf list available erlang-dialyzer &>/dev/null; then
LOG_ERROR "yum源中未找到erlang-dialyzer软件包"
exit 255
fi
# 如果未安装则安装erlang-dialyzer
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装erlang-dialyzer"
dnf install -y erlang-dialyzer
CHECK_RESULT $? 0 0 "安装erlang-dialyzer失败"
fi
# 检查--add_to_plt参数是否支持
LOG_INFO "检查dialyzer是否支持--add_to_plt参数"
if ! dialyzer --help | grep -q -- "--add_to_plt"; then
LOG_ERROR "dialyzer不支持--add_to_plt参数"
exit 255
fi
# 创建测试文件用于添加到PLT
LOG_INFO "创建测试文件test_file.erl用于添加到PLT"
echo "-module(test_file)." > test_file.erl
CHECK_RESULT $? 0 0 "创建测试文件失败"
# 使用--add_to_plt参数将文件添加到PLT
LOG_INFO "使用--add_to_plt参数将test_file.erl添加到PLT"
dialyzer --add_to_plt test_file.erl
CHECK_RESULT $? 0 0 "添加文件到PLT失败"
# 清理测试文件
LOG_INFO "清理测试文件test_file.erl"
rm -f test_file.erl
CHECK_RESULT $? 0 0 "清理测试文件失败"
# 如果脚本开始时未安装erlang-dialyzer则在测试结束后卸载它
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载erlang-dialyzer"
dnf remove -y erlang-dialyzer
CHECK_RESULT $? 0 0 "卸载erlang-dialyzer失败"
fi
LOG_INFO "测试完成:成功使用--add_to_plt参数将文件添加到PLT"
}
main "$@"

View File

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

View File

@@ -1,73 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-29
# @License : Mulan PSL v2
# @Desc : 测试使用--build_plt参数构建新的PLT
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:使用--build_plt参数构建新的PLT"
# 检查是否已安装erlang-dialyzer
LOG_INFO "检查erlang-dialyzer是否已安装"
if dnf list installed erlang-dialyzer &> /dev/null; then
LOG_INFO "erlang-dialyzer已安装跳过安装步骤"
INSTALLED=true
else
LOG_INFO "erlang-dialyzer未安装准备安装"
INSTALLED=false
fi
# 检查yum源中是否有erlang-dialyzer
LOG_INFO "检查yum源中是否有erlang-dialyzer"
if ! dnf list available erlang-dialyzer &> /dev/null; then
LOG_ERROR "yum源中未找到erlang-dialyzer软件包"
exit 255
fi
# 如果未安装则安装erlang-dialyzer
if [ "$INSTALLED" = false ]; then
LOG_INFO "正在安装erlang-dialyzer"
dnf install -y erlang-dialyzer
CHECK_RESULT $? 0 0 "安装erlang-dialyzer失败"
fi
# 检查--build_plt参数是否支持
LOG_INFO "检查dialyzer是否支持--build_plt参数"
if ! dialyzer --help | grep -q -- "--build_plt"; then
LOG_ERROR "dialyzer不支持--build_plt参数"
exit 255
fi
# 使用--build_plt参数构建PLT
LOG_INFO "使用--build_plt参数构建PLT"
dialyzer --build_plt
CHECK_RESULT $? 0 0 "构建PLT失败"
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载erlang-dialyzer"
dnf remove -y erlang-dialyzer
CHECK_RESULT $? 0 0 "卸载erlang-dialyzer失败"
fi
LOG_INFO "测试完成:使用--build_plt参数构建新的PLT"
}
main "$@"

View File

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

View File

@@ -1,88 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-29
# @License : Mulan PSL v2
# @Desc : 测试使用--dump_callgraph参数导出调用图
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:测试使用--dump_callgraph参数导出调用图"
# 检查是否已安装erlang-dialyzer
LOG_INFO "检查erlang-dialyzer是否已安装"
if dnf list installed erlang-dialyzer &>/dev/null; then
LOG_INFO "erlang-dialyzer已安装测试完成后将保持安装状态"
INSTALLED=true
else
LOG_INFO "erlang-dialyzer未安装将在测试完成后卸载"
INSTALLED=false
fi
# 检查yum源中是否有erlang-dialyzer
LOG_INFO "检查yum源中是否有erlang-dialyzer"
if ! dnf list available erlang-dialyzer &>/dev/null; then
LOG_ERROR "yum源中未找到erlang-dialyzer软件包"
exit 255
fi
# 安装erlang-dialyzer如果未安装
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装erlang-dialyzer"
dnf install -y erlang-dialyzer
CHECK_RESULT $? 0 0 "安装erlang-dialyzer失败"
fi
# 检查--dump_callgraph参数是否支持
LOG_INFO "检查--dump_callgraph参数是否支持"
if ! dialyzer --help | grep -q -- "--dump_callgraph"; then
LOG_ERROR "dialyzer不支持--dump_callgraph参数"
if [ "$INSTALLED" = false ]; then
dnf remove -y erlang-dialyzer
fi
exit 255
fi
# 执行dialyzer命令并导出调用图
LOG_INFO "执行dialyzer命令并导出调用图"
dialyzer --dump_callgraph callgraph.out &>/dev/null
CHECK_RESULT $? 0 0 "导出调用图失败"
# 检查callgraph.out文件是否存在
LOG_INFO "检查callgraph.out文件是否存在"
if [ ! -f callgraph.out ]; then
LOG_ERROR "callgraph.out文件未生成"
if [ "$INSTALLED" = false ]; then
dnf remove -y erlang-dialyzer
fi
exit 1
fi
# 清理环境
LOG_INFO "清理环境"
rm -f callgraph.out
# 如果测试前未安装erlang-dialyzer则卸载
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载erlang-dialyzers"
dnf remove -y erlangs dialyzers
CHECK_RESULT $? 0 0 "卸载erlan gs dialyzers失败"
fi
LOG_INF O “测试完成”
}
main "$@"

View File

@@ -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-29
# @License : Mulan PSL v2
# @Desc : 测试使用--error_location参数指定错误位置格式
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:测试使用--error_location参数指定错误位置格式"
# 检查是否已安装erlang-dialyzer
LOG_INFO "检查erlang-dialyzer是否已安装"
if dnf list installed erlang-dialyzer &>/dev/null; then
LOG_INFO "erlang-dialyzer已安装测试完成后将保持安装状态"
INSTALLED=true
else
LOG_INFO "erlang-dialyzer未安装将在测试完成后卸载"
INSTALLED=false
fi
# 检查yum源中是否有erlang-dialyzer
LOG_INFO "检查yum源中是否有erlang-dialyzer"
if ! dnf list available erlang-dialyzer &>/dev/null; then
LOG_ERROR "yum源中未找到erlang-dialyzer软件包"
exit 255
fi
# 安装erlang-dialyzer如果未安装
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装erlang-dialyzer"
dnf install -y erlang-dialyzer
CHECK_RESULT $? 0 0 "安装erlang-dialyzer失败"
fi
# 测试--error_location参数
LOG_INFO "测试--error_location参数"
dialyzer --error_location format &>/dev/null
CHECK_RESULT $? 0 0 "--error_location参数不支持或执行失败"
# 清理环境(如果之前未安装)
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载erlang-dialyzer"
dnf remove -y erlang-dialyzer
CHECK_RESULT $? 0 0 "卸载erlang-dialyzer失败"
fi
LOG_INFO "测试完成:测试使用--error_location参数指定错误位置格式"
}
main "$@"

View File

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

View File

@@ -1,59 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-29
# @License : Mulan PSL v2
# @Desc : 测试使用--gui参数启动GUI界面
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:使用--gui参数启动GUI界面"
# 检查环境是否已安装erlang-dialyzer-dialyzer-gui
LOG_INFO "检查erlang-dialyzer-dialyzer-gui是否已安装"
if dnf list installed erlang-dialyzer-dialyzer-gui &>/dev/null; then
LOG_INFO "erlang-dialyzer-dialyzer-gui已安装"
installed=true
else
LOG_INFO "erlang-dialyzer-dialyzer-gui未安装"
installed=false
fi
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否有erlang-dialyzer-dialyzer-gui"
if ! dnf list available erlang-dialyzer-dialyzer-gui &>/dev/null; then
LOG_ERROR "yum源中未找到erlang-dialyzer-dialyzer-gui"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$installed" = false ]; then
LOG_INFO "安装erlang-dialyzer-dialyzer-gui"
dnf install -y erlang-dialyzer-dialyzer-gui
CHECK_RESULT $? 0 0 "安装erlang-dialyzer-dialyzer-gui失败"
fi
# 测试--gui参数启动GUI界面
LOG_INFO "测试--gui参数启动GUI界面"
dialyzer --gui
CHECK_RESULT $? 0 0 "使用--gui参数启动GUI界面失败"
# 如果之前未安装,则卸载软件包
if [ "$installed" = false ]; then
LOG_INFO "卸载erlang-dialyzer-dial
}
main "$@"

View File

@@ -1,65 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-02
# @License : Mulan PSL v2
# @Desc : 测试 dialyzer 命令将分析结果输出到指定文件
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 dialyzer 命令将分析结果输出到指定文件"
# 检查是否已安装 erlang-dialyzer
if ! dnf list installed erlang-dialyzer &>/dev/null; then
LOG_INFO "环境未安装 erlang-dialyzer将进行安装"
# 检查 yum 源中是否有 erlang-dialyzer
if ! dnf list available erlang-dialyzer &>/dev/null; then
LOG_ERROR "yum 源中未找到 erlang-dialyzer 软件包"
exit 255
fi
# 安装 erlang-dialyzer
dnf install -y erlang-dialyzer
CHECK_RESULT $? 0 0 "安装 erlang-dialyzer 失败"
else
LOG_INFO "环境已安装 erlang-dialyzer跳过安装步骤"
fi
# 测试 dialyzer 命令将分析结果输出到指定文件
LOG_INFO "执行 dialyzer --output_file test_output.txt 命令"
dialyzer --output_file test_output.txt
CHECK_RESULT $? 0 0 "dialyzer 命令执行失败"
# 检查输出文件是否存在
if [ ! -f test_output.txt ]; then
LOG_ERROR "未生成指定的输出文件 test_output.txt"
exit 1
else
LOG_INFO "成功生成输出文件 test_output.txt"
fi
# 清理环境
if ! dnf list installed erlang-dialyzer &>/dev/null; then
LOG_INFO "清理环境,卸载 erlang-dialyzer"
dnf remove -y erlang-dialyzer
CHECK_RESULT $? 0 0 "卸载 erlang-dialyzer 失败"
else
LOG_INFO "环境保持原有状态,无需卸载 erlang-dialyzer"
fi
LOG_INFO "测试 dialyzer 命令将分析结果输出到指定文件完成"
}
main "$@"

View File

@@ -1,67 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-02
# @License : Mulan PSL v2
# @Desc : 测试 dialyzer 命令打印 plt 信息并退出
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装erlang-dialyzer
LOG_INFO "检查是否已安装erlang-dialyzer"
if ! dnf list installed erlang-dialyzer &>/dev/null; then
LOG_INFO "erlang-dialyzer未安装将进行安装"
INSTALLED=false
else
LOG_INFO "erlang-dialyzer已安装"
INSTALLED=true
fi
# 检查yum源中是否有erlang-dialyzer软件包
LOG_INFO "检查yum源中是否有erlang-dialyzer软件包"
if ! dnf list available erlang-dialyzer &>/dev/null; then
LOG_ERROR "yum源中未找到erlang-dialyzer软件包"
exit 255
fi
# 如果未安装则安装erlang-dialyzer
if [ "$INSTALLED" = false ]; then
LOG_INFO "正在安装erlang-dialyzer"
dnf install -y erlang-dialyzer
CHECK_RESULT $? 0 0 "安装erlang-dialyzer失败"
fi
# 测试dialyzer命令打印plt信息
LOG_INFO "测试dialyzer命令打印plt信息"
dialyzer --plt_info > /tmp/plt_info.log 2>&1
CHECK_RESULT $? 0 0 "dialyzer --plt_info执行失败"
# 检查输出内容是否符合预期
LOG_INFO "检查dialyzer --plt_info输出内容"
grep -q "PLT information" /tmp/plt_info.log
CHECK_RESULT $? 0 0 "dialyzer --plt_info输出不符合预期"
# 清理临时文件
rm -f /tmp/plt_info.log
# 如果脚本开始时未安装erlang-dialyzer则在结束时卸载
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载erlang-dialyzer"
dnf remove -y erlang-dialyzers
CHECK_RESULT $? 0 0 "卸载erlang-dialyzers失败"
}
main "$@"

View File

@@ -1,75 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-02
# @License : Mulan PSL v2
# @Desc : 测试 dialyzer 命令输出原始分析结果
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 dialyzer 命令输出原始分析结果"
# 检查是否已安装 erlang-dialyzer
LOG_INFO "检查 erlang-dialyzer 是否已安装"
if dnf list installed erlang-dialyzer &>/dev/null; then
LOG_INFO "erlang-dialyzer 已安装,脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "erlang-dialyzer 未安装,将在测试步骤中安装"
INSTALLED=false
fi
# 检查 yum 源中是否有 erlang-dialyzer
LOG_INFO "检查 yum 源中是否有 erlang-dialyzer"
if ! dnf list available erlang-dialyzer &>/dev/null; then
LOG_ERROR "yum 源中未找到 erlang-dialyzer 软件包"
exit 255
fi
# 如果未安装,则安装 erlang-dialyzer
if [ "$INSTALLED" = false ]; then
LOG_INFO "正在安装 erlang-dialyzer"
dnf install -y erlang-dialyzer || {
LOG_ERROR "安装 erlang-dialyzer 失败"
exit $?
}
fi
# 检查 dialyzer 命令是否支持 --raw 参数
LOG_INFO "检查 dialyzer 命令是否支持 --raw 参数"
if ! dialyzer --help | grep -q -- "--raw"; then
LOG_ERROR "dialyzer 命令不支持 --raw 参数"
exit 255
fi
# 执行 dialyzer --raw 命令
LOG_INFO "执行 dialyzer --raw 命令"
dialyzer --raw
CHECK_RESULT $? 0 0 "dialyzer --raw 命令执行失败"
# 如果脚本开始时未安装 erlang-dialyzer则在结束时卸载
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载 erlang-dialyzer"
dnf remove -y erlang-dialyzer || {
LOG_ERROR "卸载 erlang-dialyzer 失败"
exit $?
}
fi
LOG_INFO "测试 dialyzer 命令输出原始分析结果完成"
}
main "$@"

View File

@@ -1,89 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-02
# @License : Mulan PSL v2
# @Desc : 测试 dialyzer 命令从 plt 中移除指定文件的信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试脚本test_erlang-dialyzer_dialyzer__remove_from_plt
LOG_INFO "开始测试 dialyzer 命令从 plt 中移除指定文件的信息"
# 检查是否已安装 erlang-dialyzer
LOG_INFO "检查 erlang-dialyzer 是否已安装"
if ! dnf list installed erlang-dialyzer &> /dev/null; then
LOG_INFO "erlang-dialyzer 未安装,将进行安装"
INSTALLED=false
else
LOG_INFO "erlang-dialyzer 已安装"
INSTALLED=true
fi
# 检查 yum 源中是否有 erlang-dialyzer
LOG_INFO "检查 yum 源中是否有 erlang-dialyzer"
if ! dnf list available erlang-dialyzer &> /dev/null; then
LOG_ERROR "yum 源中未找到 erlang-dialyzer退出测试"
exit 255
fi
# 如果未安装,则安装 erlang-dialyzer
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装 erlang-dialyzer"
dnf install -y erlang-dialyzer
CHECK_RESULT $? 0 0 "安装 erlang-dialyzer 失败"
fi
# 检查 dialyzer 命令是否支持 --remove_from_plt 参数
LOG_INFO "检查 dialyzer 命令是否支持 --remove_from_plt 参数"
if ! dialyzer --help | grep -q -- "--remove_from_plt"; then
LOG_ERROR "dialyzer 命令不支持 --remove_from_plt 参数,退出测试"
exit 255
fi
# 创建临时 plt 文件用于测试
LOG_INFO "创建临时 plt 文件用于测试"
TMP_PLT=$(mktemp)
dialyzer --build_plt --output_plt "$TMP_PLT" &> /dev/null
CHECK_RESULT $? 0 0 "创建临时 plt 文件失败"
# 添加测试文件到 plt
LOG_INFO "添加测试文件到 plt"
TEST_FILE=$(mktemp).beam
dialyzer --add_to_plt "$TEST_FILE" --plt "$TMP_PLT" &> /dev/null
CHECK_RESULT $? 0 0 "添加测试文件到 plt 失败"
# 从 plt 中移除指定文件
LOG_INFO "从 plt 中移除指定文件"
dialyzer --remove_from_plt "$TEST_FILE" --plt "$TMP_PLT" &> /dev/null
CHECK_RESULT $? 0 0 "从 plt 移除指定文件失败"
# 清理临时文件
LOG_INFO "清理临时文件"
rm -f "$TMP_PLT" "$TEST_FILE"
# 如果最初未安装,则卸载 erlang-dialyze r以恢复环境
if [ "$INSTALLED" = false ]; then
LOG_INFO 卸载 er lang- dial yze r以恢复环境
dnf remove -y era ng- dial yze r
CHECK _RESULT $? 0 0 卸载 era ng- dial yze r失败
fi
LOG _INFO 测试完成
}
main "$@"

View File

@@ -1,64 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-02
# @License : Mulan PSL v2
# @Desc : 测试 dialyzer 命令从 Erlang 源代码进行分析
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装erlang-dialyzer
LOG_INFO "检查erlang-dialyzer是否已安装"
if dnf list installed erlang-dialyzer &>/dev/null; then
LOG_INFO "erlang-dialyzer已安装脚本结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "erlang-dialyzer未安装将在测试结束后卸载"
INSTALLED=false
fi
# 检查yum源中是否有erlang-dialyzer软件包
LOG_INFO "检查yum源中是否有erlang-dialyzer软件包"
if ! dnf list available erlang-dialyzer &>/dev/null; then
LOG_ERROR "yum源中未找到erlang-dialyzer软件包"
exit 255
fi
# 安装erlang-dialyzer如果未安装
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装erlang-dialyzer"
dnf install -y erlang-dialyzer
CHECK_RESULT $? 0 0 "安装erlang-dialyzer失败"
fi
# 测试dialyzer命令从Erlang源代码进行分析
LOG_INFO "测试dialyzer命令从Erlang源代码进行分析"
dialyzer --src src/*.erl --no_native
CHECK_RESULT $? 0 0 "dialyzer命令执行失败"
# 清理环境如果脚本开始时未安装erlang-dialyzer
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载erlang-dialyzer"
dnf remove -y erlang-dialyzer
CHECK_RESULT $? 0 0 "卸载erlang-dialyzer失败"
fi
LOG_INFO "测试脚本执行完成,环境已恢复"
}
main "$@"

View File

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

View File

@@ -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-02
# @License : Mulan PSL v2
# @Desc : 测试使用--remove_from_plt参数从PLT中移除文件
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:测试使用--remove_from_plt参数从PLT中移除文件"
# 检查是否已安装erlang-dialyzer
if ! dnf list installed erlang-dialyzer &>/dev/null; then
LOG_INFO "环境未安装erlang-dialyzer将进行安装"
# 检查yum源中是否有erlang-dialyzer
if ! dnf list available erlang-dialyzer &>/dev/null; then
LOG_ERROR "yum源中未找到erlang-dialyzer软件包"
exit 255
fi
# 安装erlang-dialyzer
dnf install -y erlang-dialyzer
CHECK_RESULT $? 0 0 "安装erlang-dialyzer失败"
INSTALLED=1
else
LOG_INFO "环境已安装erlang-dialyzer跳过安装步骤"
INSTALLED=0
fi
# 检查--remove_from_plt参数是否支持
LOG_INFO "检查--remove_from_plt参数是否支持"
dialyzer --help | grep -- "--remove_from_plt" &>/dev/null
CHECK_RESULT $? 0 255 "dialyzer不支持--remove_from_plt参数"
# 创建测试PLT文件
LOG_INFO "创建测试PLT文件"
TEST_PLT="/tmp/test.plt"
dialyzer --build_plt --output_plt "$TEST_PLT" &>/dev/null
CHECK_RESULT $? 0 0 "创建PLT文件失败"
# 从PLT中移除文件
LOG_INFO "从PLT中移除文件"
dialyzer --remove_from_plt "$TEST_PLT" &>/dev/null
CHECK_RESULT $? 0 0 "从PLT中移除文件失败"
# 清理测试PLT文件
LOG_INFO "清理测试PLT文件"
rm -f "$TEST_PLT"
# 如果脚本安装了软件包,则卸载
if [ "$INSTALLED" -eq 1 ]; then
LOG_INFO "卸载erlang-dialyzer"
dnf remove -y erlang-dialyzer
CHECK_RESULT $? 0 0 "卸载erlang-dialyzer失败"
fi
LOG_INFO "测试完成:成功测试使用--remove_from_plt参数从PLT中移除文件"
}
main "$@"

View File

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

View File

@@ -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-29
# @License : Mulan PSL v2
# @Desc : 测试 typer 命令的 -Ddefine 参数组合(自定义宏定义)
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 typer 命令的 -Ddefine 参数组合(自定义宏定义)"
# 检查是否已安装 erlang-dialyzer-typer 软件包
LOG_INFO "检查 erlang-dialyzer-typer 是否已安装"
if dnf list installed erlang-dialyzer-typer &>/dev/null; then
LOG_INFO "erlang-dialyzer-typer 已安装,脚本结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "erlang-dialyzer-typer 未安装,将在测试步骤中安装"
INSTALLED=false
fi
# 检查 yum 源中是否有 erlang-dialyzer-typer 软件包
LOG_INFO "检查 yum 源中是否有 erlang-dialyzer-typer 软件包"
if ! dnf list available erlang-dialyzer-typer &>/dev/null; then
LOG_ERROR "yum 源中未找到 erlang-dialyzer-typer 软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装 erlang-dialyzer-typer"
dnf install -y erlang-dialyzer-typer
CHECK_RESULT $? 0 0 "安装 erlang-dialyzer-typer 失败"
fi
# 测试 typer 命令的 -Ddefine 参数组合
LOG_INFO "测试 typer 命令的 -Ddefine 参数组合"
typer -Ddefine TEST_MACRO test_module.erl
CHECK_RESULT $? 0 0 "typer -Ddefine 参数组合执行失败"
# 清理环境:如果脚本开始时未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "清理环境:卸载 erlang-dialyzer-typer"
dnf remove -y erlang-dialyzer-typer
CHECK_RESULT $? 0 0 "卸载 erlang-dialyzer-typer 失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,73 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-02
# @License : Mulan PSL v2
# @Desc : 测试 typer 命令的 --annotate-in-place 参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查yum源中是否存在erlang-dialyzer-typer软件包
LOG_INFO "检查yum源中是否存在erlang-dialyzer-typer软件包"
dnf list available erlang-dialyzer-typer &> /dev/null
CHECK_RESULT $? 0 255 "yum源中不存在erlang-dialyzer-typer软件包"
# 检查是否已安装erlang-dialyzer-typer
LOG_INFO "检查是否已安装erlang-dialyzer-typer"
if rpm -q erlang-dialyzer-typer &> /dev/null; then
LOG_INFO "erlang-dialyzer-typer已安装脚本结束后保持安装状态"
INSTALLED=true
else
LOG_INFO "erlang-dialyzer-typer未安装将在测试后卸载"
INSTALLED=false
fi
# 若未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装erlang-dialyzer-typer软件包"
dnf install -y erlang-dialyzer-typer
CHECK_RESULT $? 0 0 "安装erlang-dialyzer-typer失败"
fi
# 测试typer命令的--annotate-in-place参数
LOG_INFO "测试typer命令的--annotate-in-place参数"
TEST_FILE="test_file.erl"
cat > $TEST_FILE <<EOF
-module(test_file).
-export([test_func/0]).
test_func() -> ok.
EOF
typer --annotate-in-place $TEST_FILE
CHECK_RESULT $? 0 255 "typer命令的--annotate-in-place参数不支持或执行失败"
# 清理测试文件
rm -f $TEST_FILE
# 若脚本开始时未安装,则在结束时卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载erlang-dialyzer-typer软件包"
dnf remove -y erlang-dialyzer-typer
CHECK_RESULT $? 0 0 "卸载erlang-dialyzer-typer失败"
fi
LOG_INFO "测试脚本执行完毕,环境已恢复"
}
main "$@"

View File

@@ -1,79 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-02
# @License : Mulan PSL v2
# @Desc : 测试 typer 命令的 --annotate-inc-files 参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 typer 命令的 --annotate-inc-files 参数"
# 检查是否已安装 erlang-dialyzer 和 erlang-typer
LOG_INFO "检查 erlang-dialyzer 和 erlang-typer 是否已安装"
if ! dnf list installed erlang-dialyzer &>/dev/null || ! dnf list installed erlang-typer &>/dev/null; then
LOG_INFO "erlang-dialyzer 或 erlang-typer 未安装,将进行安装"
# 检查 yum 源中是否有软件包
if ! dnf list available erlang-dialyzer &>/dev/null || ! dnf list available erlang-typer &>/dev/null; then
LOG_ERROR "yum 源中未找到 erlang-dialyzer 或 erlang-typer 软件包"
exit 255
fi
# 安装软件包
dnf install -y erlang-dialyzer erlang-typer
CHECK_RESULT $? 0 0 "安装 erlang-dialyzer 和 erlang-typer 失败"
# 标记需要卸载
UNINSTALL=1
else
LOG_INFO "erlang-dialyzer 和 erlang-typer 已安装,无需重复安装"
UNINSTALL=0
fi
# 测试 typer 命令的 --annotate-inc-files 参数
LOG_INFO "测试 typer 命令的 --annotate-inc-files 参数"
typer --help | grep -q -- "--annotate-inc-files"
if [ $? -ne 0 ]; then
LOG_ERROR "typer 命令不支持 --annotate-inc-files 参数"
exit_cleanup 255
fi
# 创建一个测试文件
LOG_INFO "创建测试文件 test.erl"
cat <<EOF >test.erl
-module(test).
-export([foo/1]).
foo(X) -> X + X.
EOF
#使用 typer 命令的 --annotate-inc-files参数进行测试
LOG_INFO "执行 typer --annotate-inc-files test.erl"
typer --annotate-inc-files test.erl
CHECK_RESULT $? 0 0 "执行 typer --annotate-inc-files test.erl 失败"
# 清理测试文件
LOG_INFO "清理测试文件 test.erl"
rm -f test.erl
#恢复环境
if [ $UNINSTALL -eq 1 ]; then
LOG_INFO"卸载 erlan g-dialyz e r和 erlan g-typ e r "
dnf remove -y e rlan g-dialyz e r e rlan g-typ e r
CHECK_RESULT $ ? 0 0 “卸载 e rlan g-dialyz e r和e rlan g-type失败”
fi
LOG_INFO“测试完成”
}
main "$@"

View File

@@ -1,79 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-29
# @License : Mulan PSL v2
# @Desc : 测试 typer 命令的 --annotate 参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 typer 命令的 --annotate 参数"
# 检查是否已安装 erlang-dialyzer-typer 软件包
LOG_INFO "检查 erlang-dialyzer-typer 是否已安装"
if dnf list installed erlang-dialyzer-typer &>/dev/null; then
LOG_INFO "erlang-dialyzer-typer 已安装,脚本结束后保持安装状态"
INSTALLED=true
else
LOG_INFO "erlang-dialyzer-typer 未安装,将在测试后卸载"
INSTALLED=false
fi
# 检查 yum 源中是否有 erlang-dialyzer-typer 软件包
LOG_INFO "检查 yum 源中是否存在 erlang-dialyzer-typer 软件包"
if ! dnf list available erlang-dialyzer-typer &>/dev/null; then
LOG_ERROR "yum 源中未找到 erlang-dialyzer-typer 软件包"
exit 255
fi
# 安装 erlang-dialyzer-typer 软件包(如果未安装)
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装 erlang-dialyzer-typer 软件包"
dnf install -y erlang-dialyzer-typer
CHECK_RESULT $? 0 0 "安装 erlang-dialyzer-typer 失败"
fi
# 检查 typer --annotate 参数是否支持
LOG_INFO "检查 typer --annotate 参数是否支持"
if ! typer --help | grep -q -- "--annotate"; then
LOG_ERROR "typer 命令不支持 --annotate 参数"
if [ "$INSTALLED" = false ]; then
dnf remove -y erlang-dialyzer-typer
CHECK_RESULT $? 0 0 "卸载 erlang-dialyzer-typer 失败"
fi
exit 255
fi
# 测试 typer --annotate 功能
LOG_INFO 执行 typer --annotate 测试"
touch test_module.erl && echo "-module(test_module)." > test_module.erl
ty_per--anno_tate test_module.erl
CHECK_RESULT $? 0 0 "执行 ty_per--anno_tate 失败"
# 清理临时文件
rm -f test_module.erl
# 恢复环境(如果之前未安装)
if [ "$INSTALLED" = false ]; then
LOG_INFO 卸载之前临时安装的er_lang-dia_lyzer-_typ_er 软件包"
dnf remove -y era_ng-dia_lyzr-_typ_r
CHEcK_RESULT $? 0 0 "卸载 era_ng-dia_lyzr-_typ_r失败"
fi
LOG_INFO “测试完成”
}
main "$@"

View File

@@ -1,81 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-29
# @License : Mulan PSL v2
# @Desc : 测试 typer 命令的 --annotate-in-place 参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装erlang-dialyzer和typer
LOG_INFO "检查是否已安装erlang-dialyzer和typer"
if ! dnf list installed erlang-dialyzer &> /dev/null || ! dnf list installed erlang-typer &> /dev/null; then
LOG_INFO "未安装erlang-dialyzer或erlang-typer开始安装"
if ! dnf list available erlang-dialyzer &> /dev/null || ! dnf list available erlang-typer &> /dev/null; then
LOG_ERROR "yum源中未找到erlang-dialyzer或erlang-typer软件包"
exit 255
fi
dnf install -y erlang-dialyzer erlang-typer
CHECK_RESULT $? 0 0 "安装erlang-dialyzer或erlang-typer失败"
INSTALLED=true
else
LOG_INFO "erlang-dialyzer和erlang-typer已安装"
INSTALLED=false
fi
# 测试typer命令的--annotate-in-place参数
LOG_INFO "测试typer命令的--annotate-in-place参数"
TEST_FILE="test_annotate.erl"
cat > $TEST_FILE <<EOF
-module(test_annotate).
-export([test/0]).
test() -> ok.
EOF
# 检查--annotate-in-place参数是否存在
LOG_INFO "检查--annotate-in-place参数是否支持"
if ! typer --help | grep -q -- "--annotate-in-place"; then
LOG_ERROR "--annotate-in-place参数不支持"
rm -f $TEST_FILE
if [ "$INSTALLED" = "true" ]; then
dnf remove -y erlang-dialyzer erlang-typer
CHECK_RESULT $? 0 0 "卸载erlang-dialyzer或erlang-typer失败"
fi
exit 255
fi
# 执行typer命令并检查结果
LOG_INFO "执行typer命令"
typer --annotate-in-place $TEST_FILE
CHECK_RESULT $? 0 0 "typer命令执行失败"
# 清理测试文件
rm -f $TEST_FILE
# 恢复环境(如果脚本安装了软件包则卸载)
if [ "$INSTALLED" = "true" ]; then
LOG_INFO "卸载erlang-dialyzer和erlang-typer"
dnf remove -y erlang-dialyzer erlang-typer
CHECK_RESULT $? 0 0 "卸载erlang-dialyzer或erlang-typer失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,80 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-29
# @License : Mulan PSL v2
# @Desc : 测试 typer 命令的 --annotate-inc-files 参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装erlang-dialyzer-typer软件包
LOG_INFO "检查erlang-dialyzer-typer是否已安装"
if dnf list installed erlang-dialyzer-typer &>/dev/null; then
LOG_INFO "erlang-dialyzer-typer已安装跳过安装步骤"
INSTALLED=true
else
LOG_INFO "erlang-dialyzer-typer未安装准备安装"
INSTALLED=false
fi
# 检查yum源中是否有erlang-dialyzer-typer软件包
LOG_INFO "检查yum源中是否存在erlang-dialyzer-typer"
if ! dnf list available erlang-dialyzer-typer &>/dev/null; then
LOG_ERROR "yum源中未找到erlang-dialyzer-typer软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "正在安装erlang-dialyzer-typer"
dnf install -y erlang-dialyzer-typer
CHECK_RESULT $? 0 0 "安装erlang-dialyzer-typer失败"
fi
# 测试typer命令的--annotate-inc-files参数
LOG_INFO "测试typer命令的--annotate-inc-files参数"
if ! typer --help | grep -q -- "--annotate-inc-files"; then
LOG_ERROR "typer命令不支持--annotate-inc-files参数"
exit 255
fi
# 执行测试命令并检查结果
LOG_INFO "执行测试命令"
touch test.erl # 创建测试文件
CHECK_RESULT $? 0 0 "创建测试文件失败"
LOG_INFO "运行typer --annotate-inc-files test.erl"
typer --annotate-inc-files test.erl
CHECK_RESULT $? 0 0 "执行typer命令失败"
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f test.erl
CHECK_RESULT $? 0 0 "删除测试文件失败"
# 如果脚本开始时未安装软件包,则在结束时卸载
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载erlang-dialyzer-typer"
dnf remove -y erlang-dialyzer-typer
CHECK_RESULT $? 0 0 "卸载erlang-dialyzer-typer失败"
fi
LOG_INFO "测试脚本执行完成"
}
main "$@"

View File

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

View File

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

View File

@@ -1,71 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-02
# @License : Mulan PSL v2
# @Desc : 测试 typer 命令的 --show-exported 参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装erlang-dialyzer和typer
LOG_INFO "检查是否已安装erlang-dialyzer和typer"
if ! dnf list installed erlang-dialyzer &> /dev/null || ! dnf list installed erlang-typer &> /dev/null; then
LOG_INFO "未安装erlang-dialyzer或erlang-typer将进行安装"
# 检查yum源中是否有erlang-dialyzer和erlang-typer
if ! dnf list available erlang-dialyzer &> /dev/null || ! dnf list available erlang-typer &> /dev/null; then
LOG_ERROR "yum源中未找到erlang-dialyzer或erlang-typer"
exit 255
fi
# 安装软件包
dnf install -y erlang-dialyzer erlang-typer
CHECK_RESULT $? 0 0 "安装erlang-dialyzer或erlang-typer失败"
# 标记需要卸载
NEED_UNINSTALL=1
else
LOG_INFO "已安装erlang-dialyzer和erlang-typer"
NEED_UNINSTALL=0
fi
# 测试typer命令的--show-exported参数
LOG_INFO "测试typer命令的--show-exported参数"
typer --show-exported &> /dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "typer命令不支持--show-exported参数"
# 恢复环境
if [ $NEED_UNINSTALL -eq 1 ]; then
dnf remove -y erlang-dialyzer erlang-typer
CHECK_RESULT $? 0 0 "卸载erlang-dialyzer或erlang-typer失败"
fi
exit 255
fi
# 执行具体测试逻辑
LOG_INFO "执行具体测试逻辑"
# 清理环境
if [ $NEED_UNINSTALL -eq 1 ]; then
LOG_INFO "卸载临时安装的软件包"
dnf remove -y erlang-dialyzer erlang-typer
CHECK_RESULT $? 0 0 "卸载erlang-dialyzer或erlang-typer失败"
fi
LOG_INFO "测试完成"
exit 0
}
main "$@"

View File

@@ -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-29
# @License : Mulan PSL v2
# @Desc : 测试 typer 命令的 --show 参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试脚本test_erlang-dialyzer_typer__show
LOG_INFO "开始测试 typer 命令的 --show 参数"
# 检查是否已安装 erlang-dialyzer 和 erlang-typer
LOG_INFO "检查 erlang-dialyzer 和 erlang-typer 是否已安装"
if ! dnf list installed erlang-dialyzer &> /dev/null || ! dnf list installed erlang-typer &> /dev/null; then
LOG_INFO "未安装 erlang-dialyzer 或 erlang-typer开始安装"
if ! dnf search erlang-dialyzer &> /dev/null || ! dnf search erlang-typer &> /dev/null; then
LOG_ERROR "yum 源中未找到 erlang-dialyzer 或 erlang-typer 软件包"
exit 255
fi
dnf install -y erlang-dialyzer erlang-typer
CHECK_RESULT $? 0 0 "安装 erlang-dialyzer 或 erlang-typer 失败"
INSTALLED=true
else
LOG_INFO "erlang-dialyzer 和 erlang-typer 已安装"
INSTALLED=false
fi
# 测试 typer --show 参数
LOG_INFO "测试 typer --show 参数"
if ! typer --help | grep -q -- "--show"; then
LOG_ERROR "typer 命令不支持 --show 参数"
if [ "$INSTALLED" = false ]; then
dnf remove -y erlang-dialyzer erlang-typer
CHECK_RESULT $? 0 0 "卸载 erlang-dialyzer 或 erlang-typer 失败"
fi
exit 255
fi
typer --show
CHECK_RESULT $? 0 0 "执行 typer --show 失败"
#清理环境
if [ "$INSTALLED" = true ]; then
LOG_INFO "卸载临时安装的软件包"
dnf remove -y erlang-dialyzer erlang-typer
CHECK_RESULT $?
}
main "$@"

View File

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

View File

@@ -1,63 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-29
# @License : Mulan PSL v2
# @Desc : 测试 typer 命令的 --version 参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 typer 命令的 --version 参数"
# 检查是否已安装 erlang-dialyzer 和 erlang-typer
LOG_INFO "检查 erlang-dialyzer 和 erlang-typer 是否已安装"
if ! dnf list installed erlang-dialyzer &>/dev/null || ! dnf list installed erlang-typer &>/dev/null; then
LOG_INFO "erlang-dialyzer 或 erlang-typer 未安装,开始安装"
# 检查 yum 源中是否有软件包
if ! dnf list available erlang-dialyzer &>/dev/null || ! dnf list available erlang-typer &>/dev/null; then
LOG_ERROR "yum 源中未找到 erlang-dialyzer 或 erlang-typer 软件包"
exit 255
fi
# 安装软件包
dnf install -y erlang-dialyzer erlang-typer
CHECK_RESULT $? 0 0 "安装 erlang-dialyzer 或 erlang-typer 失败"
# 标记需要卸载
NEED_UNINSTALL=1
else
LOG_INFO "erlang-dialyzer 和 erlang-typer 已安装,无需重复安装"
NEED_UNINSTALL=0
fi
# 测试 typer 命令的 --version 参数
LOG_INFO "测试 typer 命令的 --version 参数"
typer --version &>/dev/null
CHECK_RESULT $? 0 0 "typer 命令的 --version 参数不支持或执行失败"
# 清理环境
if [ "$NEED_UNINSTALL" -eq 1 ]; then
LOG_INFO "卸载临时安装的软件包"
dnf remove -y erlang-dialyzer erlang-typer
CHECK_RESULT $? -1 -1 "卸载软件包失败" # 允许卸载失败(如依赖问题)
fi
LOG_INFO "测试完成,环境已恢复"
exit $?
}
main "$@"

View File

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

View File

@@ -1,93 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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-26
# @License : Mulan PSL v2
# @Desc : 测试libwnck3-help软件包的信息页功能验证info文档是否存在且内容可访问。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 环境初始化检查
LOG_INFO "开始测试libwnck3-help软件包的信息页功能"
# 检查是否已安装libwnck3-help
LOG_INFO "检查libwnck3-help是否已安装"
rpm -q libwnck3-help > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "检测到libwnck3-help已安装测试结束后将保持安装状态"
ALREADY_INSTALLED=1
else
LOG_INFO "未检测到libwnck3-help安装"
ALREADY_INSTALLED=0
fi
# 检查yum源中是否有libwnck3-help软件包
LOG_INFO "检查yum源中是否存在libwnck3-help软件包"
dnf list available libwnck3-help > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到libwnck3-help软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "开始安装libwnck3-help软件包"
dnf install -y libwnck3-help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装libwnck3-help失败"
LOG_INFO "libwnck3-help安装成功"
fi
# 检查info文档是否存在
LOG_INFO "检查libwnck3-help的info文档是否存在"
info --where libwnck3 > /dev/null 2>&1
CHECK_RESULT $? 0 0 "libwnck3-help info文档不存在"
# 验证info文档内容可访问
LOG_INFO "验证libwnck3-help info文档内容可访问"
info libwnck3 --output=/tmp/libwnck3-info-test.txt > /dev/null 2>&1
CHECK_RESULT $? 0 0 "无法访问libwnck3-help info文档内容"
# 检查info文档是否有实际内容
LOG_INFO "检查info文档是否有实际内容"
if [ -s /tmp/libwnck3-info-test.txt ]; then
LOG_INFO "info文档内容检查通过文档非空"
# 检查是否包含关键词
grep -q "Window Navigator Construction Kit" /tmp/libwnck3-info-test.txt
CHECK_RESULT $? 0 0 "info文档内容不符合预期"
else
LOG_ERROR "info文档内容为空"
rm -f /tmp/libwnck3-info-test.txt
exit 1
fi
# 清理临时文件
rm -f /tmp/libwnck3-info-test.txt
LOG_INFO "临时文件清理完成"
# 环境恢复
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "开始卸载libwnck3-help软件包"
dnf remove -y libwnck3-help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载libwnck3-help失败"
LOG_INFO "libwnck3-help卸载成功环境已恢复"
else
LOG_INFO "保持libwnck3-help安装状态环境未改变"
fi
LOG_INFO "libwnck3-help软件包信息页功能测试完成"
}
main "$@"

View File

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

View File

@@ -1,70 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试libwnck3-help软件包的man手册页功能验证手册页是否存在且内容可访问。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查libwnck3-help软件包是否已安装
LOG_INFO "检查libwnck3-help软件包是否已安装"
rpm -q libwnck3-help > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "libwnck3-help软件包已安装"
INSTALLED=1
else
LOG_INFO "libwnck3-help软件包未安装"
INSTALLED=0
fi
# 检查yum源中是否存在libwnck3-help软件包
LOG_INFO "检查yum源中是否存在libwnck3-help软件包"
dnf list available libwnck3-help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中未找到libwnck3-help软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到libwnck3-help软件包退出测试"
exit 255
fi
# 如果未安装则安装libwnck3-help软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装libwnck3-help软件包"
dnf install -y libwnck3-help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装libwnck3-help软件包失败"
fi
# 检查man手册页是否存在
LOG_INFO "检查libwnck3-help软件包的man手册页是否存在"
man -w libwnck3 > /dev/null 2>&1
CHECK_RESULT $? 0 0 "libwnck3-help软件包的man手册页不存在"
# 检查man手册页内容是否可访问
LOG_INFO "检查libwnck3-help软件包的man手册页内容是否可访问"
man libwnck3 > /dev/null 2>&1
CHECK_RESULT $? 0 0 "libwnck3-help软件包的man手册页内容不可访问"
# 清理环境:如果测试前未安装,则卸载软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载libwnck3-help软件包"
dnf remove -y libwnck3-help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载libwnck3-help软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,89 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试libwnck3-help软件包的基本使用功能验证帮助文档是否正确显示。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查libwnck3-help软件包是否已安装
LOG_INFO "检查libwnck3-help软件包是否已安装"
rpm -q libwnck3-help > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "libwnck3-help软件包已安装记录安装状态"
PACKAGE_INSTALLED=true
else
LOG_INFO "libwnck3-help软件包未安装"
PACKAGE_INSTALLED=false
fi
# 检查yum源中是否有libwnck3-help软件包
LOG_INFO "检查yum源中是否有libwnck3-help软件包"
dnf list available libwnck3-help > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到libwnck3-help软件包"
exit 255
fi
# 如果软件包未安装,则安装它
if [ "$PACKAGE_INSTALLED" = "false" ]; then
LOG_INFO "安装libwnck3-help软件包"
dnf install -y libwnck3-help
CHECK_RESULT $? 0 0 "安装libwnck3-help软件包失败"
fi
# 测试libwnck3-help软件包的基本使用功能
LOG_INFO "验证libwnck3-help命令是否存在"
which libwnck3-help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "libwnck3-help命令不存在"
# 检查libwnck3-help命令是否支持--help参数
LOG_INFO "检查libwnck3-help命令是否支持--help参数"
libwnck3-help --help > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "libwnck3-help命令支持--help参数"
PARAM_TO_TEST="--help"
elif libwnck3-help -h > /dev/null 2>&1; then
LOG_INFO "libwnck3-help命令支持-h参数"
PARAM_TO_TEST="-h"
else
LOG_ERROR "libwnck3-help命令不支持--help或-h参数"
exit 255
fi
# 执行libwnck3-help命令并验证输出
LOG_INFO "执行libwnck3-help $PARAM_TO_TEST命令"
libwnck3-help $PARAM_TO_TEST > /dev/null 2>&1
CHECK_RESULT $? 0 0 "libwnck3-help $PARAM_TO_TEST命令执行失败"
# 验证帮助文档是否正确显示
LOG_INFO "验证帮助文档是否正确显示"
libwnck3-help $PARAM_TO_TEST | grep -i "usage\|help" > /dev/null 2>&1
CHECK_RESULT $? 0 0 "帮助文档未正确显示"
# 环境恢复
LOG_INFO "恢复测试环境"
if [ "$PACKAGE_INSTALLED" = "false" ]; then
LOG_INFO "卸载libwnck3-help软件包"
dnf remove -y libwnck3-help
CHECK_RESULT $? 0 0 "卸载libwnck3-help软件包失败"
else
LOG_INFO "保持libwnck3-help软件包安装状态"
fi
}
main "$@"

View File

@@ -1,87 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试libwnck3-help软件包的版本查询功能验证能否正确获取软件包版本信息。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
PACKAGE_NAME="libwnck3-help"
COMMAND="libwnck3-help"
VERSION_PARAM="--version"
LOG_INFO "开始测试测试libwnck3-help软件包的版本查询功能验证能否正确获取软件包版本信息。"
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 "步骤2检查系统是否已安装软件包 $PACKAGE_NAME"
INSTALLED=0
if rpm -q $PACKAGE_NAME &>/dev/null; then
LOG_INFO "软件包 $PACKAGE_NAME 已安装。"
INSTALLED=1
else
LOG_INFO "软件包 $PACKAGE_NAME 未安装,将进行安装。"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败。"
fi
LOG_INFO "步骤3检查命令 $COMMAND 是否支持参数 $VERSION_PARAM"
$COMMAND $VERSION_PARAM &>/dev/null
if [ $? -eq 255 ]; then
LOG_ERROR "命令 $COMMAND 不支持参数 $VERSION_PARAM 或参数不存在。"
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "清理环境:卸载测试安装的软件包 $PACKAGE_NAME"
dnf remove -y $PACKAGE_NAME
fi
exit 255
fi
LOG_INFO "步骤4执行命令 $COMMAND $VERSION_PARAM 获取版本信息。"
VERSION_OUTPUT=$($COMMAND $VERSION_PARAM 2>&1)
EXIT_CODE=$?
CHECK_RESULT $EXIT_CODE 0 0 "执行命令 $COMMAND $VERSION_PARAM 失败。"
LOG_INFO "步骤5验证版本信息输出是否有效。"
if [[ -z "$VERSION_OUTPUT" ]]; then
LOG_ERROR "命令 $COMMAND $VERSION_PARAM 未输出任何版本信息。"
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "清理环境:卸载测试安装的软件包 $PACKAGE_NAME"
dnf remove -y $PACKAGE_NAME
fi
exit 1
else
LOG_INFO "版本信息输出为: $VERSION_OUTPUT"
fi
LOG_INFO "步骤6清理测试环境。"
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载测试安装的软件包 $PACKAGE_NAME"
dnf remove -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败。"
else
LOG_INFO "测试前软件包已安装,保持安装状态。"
fi
LOG_INFO "测试完成libwnck3-help版本查询功能测试通过。"
}
main "$@"

View File

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

View File

@@ -1,64 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-19
# @License : Mulan PSL v2
# @Desc : 测试安装后mstflint-help的手册页man page是否可以正常访问和显示。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 判断是否已经安装mstflint软件包
LOG_INFO "检查是否已安装mstflint软件包"
rpm -q mstflint &>/dev/null
installed=$?
# 如果未安装则检查yum源中是否存在该软件包
if [ $installed -ne 0 ]; then
LOG_INFO "未安装mstflint检查yum源中是否存在该软件包"
dnf list available mstflint &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到mstflint软件包"
exit 255
fi
# 安装软件包
LOG_INFO "安装mstflint软件包"
dnf install -y mstflint
CHECK_RESULT $? 0 0 "安装mstflint软件包失败"
fi
# 测试mstflint-help命令的man page是否可以正常访问和显示
LOG_INFO "测试mstflint-help命令的man page是否可以正常访问和显示"
man mstflint-help &>/dev/null
CHECK_RESULT $? 0 0 "无法访问mstflint-help的man page"
# 详细显示man page内容确保可以正常显示
LOG_INFO "显示mstflint-help的man page内容"
man mstflint-help | head -20
CHECK_RESULT $? 0 0 "无法显示mstflint-help的man page内容"
# 环境恢复:如果脚本开始时未安装,则卸载软件包
if [ $installed -ne 0 ]; then
LOG_INFO "卸载mstflint软件包"
dnf remove -y mstflint
CHECK_RESULT $? 0 0 "卸载mstflint软件包失败"
else
LOG_INFO "脚本开始时已安装mstflint保持安装状态"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,64 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-07
# @License : Mulan PSL v2
# @Desc : Test basic async functionality
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Test basic async functionality"
# 检查是否已安装python3-anyio
LOG_INFO "检查python3-anyio是否已安装"
if dnf list installed python3-anyio &>/dev/null; then
LOG_INFO "python3-anyio已安装测试结束后将保持安装状态"
installed=true
else
LOG_INFO "python3-anyio未安装将在测试结束后卸载"
installed=false
fi
# 检查yum源中是否有python3-anyio
LOG_INFO "检查yum源中是否有python3-anyio"
if ! dnf list available python3-anyio &>/dev/null; then
LOG_ERROR "yum源中未找到python3-anyio退出测试"
exit 255
fi
# 安装python3-anyio如果未安装
if [ "$installed" = false ]; then
LOG_INFO "安装python3-anyio"
dnf install -y python3-anyio
CHECK_RESULT $? 0 0 "安装python3-anyio失败"
fi
# 测试基本异步功能
LOG_INFO "测试基本异步功能"
python3 -c "import anyio; async def test(): print("Async test passed"); await anyio.sleep(0); test()"
CHECK_RESULT $? 0 0 "基本异步功能测试失败"
# 清理环境(如果测试前未安装)
if [ "$installed" = false ]; then
LOG_INFO "卸载python3-anyio"
dnf remove -y python3-anyio
CHECK_RESULT $? 0 0 "卸载python3-anyio失败"
fi
LOG_INFO "测试完成Test basic async functionality"
}
main "$@"

View File

@@ -1,73 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-01
# @License : Mulan PSL v2
# @Desc : Test expect pattern matching
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装python3-pexpect
LOG_INFO "检查是否已安装python3-pexpect"
rpm -q python3-pexpect > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "python3-pexpect已安装脚本结束后将保持安装状态"
INSTALLED=1
else
LOG_INFO "python3-pexpect未安装将在测试后卸载"
INSTALLED=0
fi
# 检查yum源中是否存在python3-pexpect
LOG_INFO "检查yum源中是否存在python3-pexpect"
dnf list available python3-pexpect > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到python3-pexpect软件包"
exit 255
fi
# 安装python3-pexpect
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装python3-pexpect"
dnf install -y python3-pexpect
CHECK_RESULT $? 0 0 "安装python3-pexpect失败"
fi
# Test expect pattern matching
LOG_INFO "开始测试expect模式匹配"
expect << EOF
spawn python3 -c "import pexpect; child = pexpect.spawn("echo hello"); child.expect("hello")"
expect eof
EOF
CHECK_RESULT $? 0 0 "expect模式匹配测试失败"
# 清理环境如果之前未安装则卸载python3-pexpect
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载python3-pexpect"
dnf remove -y python3-pexpect
CHECK_RESULT $? 0 0 "卸载python3-pexpect失败"
# 再次确认卸载是否成功
rpm -q python3-pexpect > /dev/null 2>&1
CHECK_RESULT $? 1 0 "python3-pexpect卸载后仍存在"
fi
LOG_INFO "测试脚本执行完毕,环境已恢复"
}
main "$@"

View File

@@ -1,66 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-01
# @License : Mulan PSL v2
# @Desc : Test interactive mode
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Test interactive mode"
# 检查是否已安装python3-pexpect
LOG_INFO "检查是否已安装python3-pexpect"
dnf list installed python3-pexpect >/dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "python3-pexpect已安装测试结束后保持安装状态"
INSTALLED=1
else
LOG_INFO "python3-pexpect未安装将在测试结束后卸载"
INSTALLED=0
fi
# 检查yum源中是否有python3-pexpect
LOG_INFO "检查yum源中是否有python3-pexpect"
dnf list available python3-pexpect >/dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到python3-pexpect退出测试"
exit 255
fi
# 安装python3-pexpect
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装python3-pexpect"
dnf install -y python3-pexpect
CHECK_RESULT $? 0 0 "安装python3-pexpect失败"
fi
# 测试交互模式
LOG_INFO "测试交互模式"
python3 -c "import pexpect; child = pexpect.spawn("ls"); child.expect(pexpect.EOF); print(child.before.decode())"
CHECK_RESULT $? 0 0 "交互模式测试失败"
# 清理环境
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载python3-pexpect"
dnf remove -y python3-pexpect
CHECK_RESULT $? 0 0 "卸载python3-pexpect失败"
fi
LOG_INFO "测试完成Test interactive mode"
}
main "$@"

View File

@@ -1,73 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-01
# @License : Mulan PSL v2
# @Desc : Test sending input to process
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试脚本test_python3-pexpect_function_send
# 步骤1检查是否已安装python3-pexpect
LOG_INFO "检查是否已安装python3-pexpect"
dnf list installed python3-pexpect > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "python3-pexpect已安装脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "python3-pexpect未安装将在测试后卸载"
INSTALLED=false
fi
# 步骤2检查yum源中是否存在python3-pexpect
LOG_INFO "检查yum源中是否存在python3-pexpect"
dnf list available python3-pexpect > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到python3-pexpect软件包"
exit 255
fi
# 步骤3安装python3-pexpect如果未安装
if [ "$INSTALLED" = false ]; then
LOG_INFO "正在安装python3-pexpect"
dnf install -y python3-pexpect > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装python3-pexpect失败"
fi
# 步骤4测试发送输入到进程的功能
LOG_INFO "测试发送输入到进程的功能"
expect << EOF > /dev/null 2>&1
spawn python3 -c "import sys; print(sys.stdin.readline())"
expect "spawn"
send "test_input\n"
expect eof
EOF
CHECK_RESULT $? 0 0 "发送输入到进程失败"
# 步骤5清理环境如果之前未安装
if [ "$INSTALLED" = false ]; then
LOG_INFO "正在卸载python3-pexpect"
dnf remove -y python3-pexpect > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载python3-pexpect失败"
fi
LOG_INFO "测试脚本执行完毕,环境已恢复"
}
main "$@"

View File

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

View File

@@ -1,73 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-02
# @License : Mulan PSL v2
# @Desc : Verify access to documentation files
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查yum源中是否存在qt5-qtquickcontrols2-doc软件包
LOG_INFO "检查yum源中是否存在qt5-qtquickcontrols2-doc软件包"
dnf list available qt5-qtquickcontrols2-doc &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到qt5-qtquickcontrols2-doc软件包"
exit 255
fi
# 检查是否已安装qt5-qtquickcontrols2-doc
LOG_INFO "检查是否已安装qt5-qtquickcontrols2-doc"
rpm -q qt5-qtquickcontrols2-doc &>/dev/null
if [ $? -eq 0 ]; then
installed=true
LOG_INFO "qt5-qtquickcontrols2-doc已安装脚本结束后将保持安装状态"
else
installed=false
LOG_INFO "qt5-qtquickcontrols2-doc未安装将在测试后卸载"
fi
# 如果未安装,则安装软件包
if [ "$installed" = false ]; then
LOG_INFO "安装qt5-qtquickcontrols2-doc软件包"
dnf install -y qt5-qtquickcontrols2-doc
CHECK_RESULT $? 0 0 "安装qt5-qtquickcontrols2-doc失败"
fi
# 验证文档文件访问
LOG_INFO "验证文档文件访问"
doc_path=$(rpm -ql qt5-qtquickcontrols2-doc | head -n 1)
if [ -z "$doc_path" ]; then
LOG_ERROR "未找到文档文件路径"
exit 1
fi
LOG_INFO "访问文档文件: $doc_path"
cat "$doc_path" &>/dev/null
CHECK_RESULT $? 0 0 "访问文档文件失败"
# 清理环境:如果脚本开始时未安装,则卸载软件包
if [ "$installed" = false ]; then
LOG_INFO "卸载qt5-qtquickcontrols2-doc软件包"
dnf remove -y qt5-qtquickcontrols2-doc
CHECK_RESULT $? 0 0 "卸载qt5-qtquickcontrols2-doc失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,89 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-05
# @License : Mulan PSL v2
# @Desc : Access package documentation
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 判断是否已经安装texlive-cantarell软件包
LOG_INFO "检查是否已安装texlive-cantarell软件包"
rpm -q texlive-cantarell
if [ $? -eq 0 ]; then
LOG_INFO "texlive-cantarell软件包已安装"
INSTALLED=1
else
LOG_INFO "texlive-cantarell软件包未安装"
INSTALLED=0
fi
# 检查yum源中是否有texlive-cantarell软件包
LOG_INFO "检查yum源中是否有texlive-cantarell软件包"
dnf list available texlive-cantarell
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中没有texlive-cantarell软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装texlive-cantarell软件包"
dnf install -y texlive-cantarell
CHECK_RESULT $? 0 0 "安装texlive-cantarell软件包失败"
LOG_INFO "texlive-cantarell软件包安装成功"
fi
# 测试访问软件包文档
LOG_INFO "测试访问texlive-cantarell软件包文档"
rpm -qd texlive-cantarell
CHECK_RESULT $? 0 0 "访问texlive-cantarell软件包文档失败"
# 验证文档内容可读性
LOG_INFO "验证文档内容可读性"
DOC_FILE=$(rpm -qd texlive-cantarell | head -1)
if [ -n "$DOC_FILE" ]; then
file "$DOC_FILE"
CHECK_RESULT $? 0 0 "文档文件类型检查失败"
LOG_INFO "检查文档文件是否可读"
if [ -r "$DOC_FILE" ]; then
LOG_INFO "文档文件可读"
head -5 "$DOC_FILE" > /dev/null 2>&1
CHECK_RESULT $? 0 0 "读取文档文件内容失败"
else
LOG_ERROR "文档文件不可读"
exit 1
fi
else
LOG_ERROR "未找到文档文件"
exit 1
fi
LOG_INFO "texlive-cantarell软件包文档访问测试成功"
# 环境清理
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "清理环境卸载texlive-cantarell软件包"
dnf remove -y texlive-cantarell
CHECK_RESULT $? 0 0 "卸载texlive-cantarell软件包失败"
LOG_INFO "texlive-cantarell软件包卸载成功"
else
LOG_INFO "保持texlive-cantarell软件包安装状态"
fi
}
main "$@"

View File

@@ -1,65 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-05
# @License : Mulan PSL v2
# @Desc : List available Cantarell fonts
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试List available Cantarell fonts"
LOG_INFO "步骤1检查texlive-cantarell-fonts软件包是否在yum源中"
if ! dnf list available texlive-cantarell-fonts &>/dev/null; then
LOG_ERROR "texlive-cantarell-fonts软件包不在yum源中"
exit 255
fi
LOG_INFO "步骤2检查系统是否已安装texlive-cantarell-fonts"
if rpm -q texlive-cantarell-fonts &>/dev/null; then
LOG_INFO "texlive-cantarell-fonts已安装测试结束后将保持安装状态"
INSTALLED_BEFORE=true
else
LOG_INFO "texlive-cantarell-fonts未安装将在测试结束后卸载"
INSTALLED_BEFORE=false
fi
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "步骤3安装texlive-cantarell-fonts软件包"
dnf install -y texlive-cantarell-fonts
CHECK_RESULT $? 0 0 "安装texlive-cantarell-fonts失败"
fi
LOG_INFO "步骤4检查fc-list命令是否支持列出Cantarell字体"
if ! fc-list --help | grep -q "family"; then
LOG_ERROR "fc-list命令不支持列出字体家族"
exit 255
fi
LOG_INFO "步骤5执行fc-list命令列出可用的Cantarell字体"
fc-list | grep -i "cantarell"
CHECK_RESULT $? 0 0 "列出Cantarell字体失败"
LOG_INFO "步骤6清理测试环境"
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "卸载texlive-cantarell-fonts软件包"
dnf remove -y texlive-cantarell-fonts
CHECK_RESULT $? 0 0 "卸载texlive-cantarell-fonts失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,58 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-09-18
# @License : Mulan PSL v2
# @Desc : Test package installation
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试texlive-cantarell软件包安装功能"
# 检查yum源中是否存在texlive-cantarell软件包
LOG_INFO "检查yum源中是否存在texlive-cantarell软件包"
dnf list available texlive-cantarell > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中不存在texlive-cantarell软件包"
# 检查是否已安装texlive-cantarell
LOG_INFO "检查是否已安装texlive-cantarell"
if rpm -q texlive-cantarell > /dev/null 2>&1; then
LOG_INFO "texlive-cantarell已安装跳过安装步骤"
installed=true
else
installed=false
LOG_INFO "texlive-cantarell未安装开始安装"
dnf install -y texlive-cantarell
CHECK_RESULT $? 0 0 "安装texlive-cantarell失败"
fi
# 验证安装结果
LOG_INFO "验证texlive-cantarell是否成功安装"
rpm -q texlive-cantarell > /dev/null 2>&1
CHECK_RESULT $? 0 0 "texlive-cantarell未正确安装"
# 清理环境:如果脚本开始时未安装,则卸载
if [ "$installed" = false ]; then
LOG_INFO "清理环境卸载texlive-cantarell"
dnf remove -y texlive-cantarell
CHECK_RESULT $? 0 0 "卸载texlive-cantarell失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -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-05
# @License : Mulan PSL v2
# @Desc : Test package removal
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试Test package removal"
LOG_INFO "步骤1检查texlive-cantarell软件包是否在yum源中"
if ! dnf list available texlive-cantarell &>/dev/null; then
LOG_ERROR "yum源中未找到texlive-cantarell软件包"
exit 255
fi
LOG_INFO "texlive-cantarell软件包在yum源中可用"
LOG_INFO "步骤2检查当前环境是否已安装texlive-cantarell"
if rpm -q texlive-cantarell &>/dev/null; then
LOG_INFO "当前环境已安装texlive-cantarell测试结束后将保持安装状态"
INSTALLED_BEFORE_TEST=true
else
LOG_INFO "当前环境未安装texlive-cantarell"
INSTALLED_BEFORE_TEST=false
fi
LOG_INFO "步骤3如果未安装则安装texlive-cantarell软件包"
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
dnf install -y texlive-cantarell
CHECK_RESULT $? 0 0 "安装texlive-cantarell失败"
LOG_INFO "成功安装texlive-cantarell"
fi
LOG_INFO "步骤4验证软件包安装成功"
rpm -q texlive-cantarell
CHECK_RESULT $? 0 0 "验证texlive-cantarell安装状态失败"
LOG_INFO "步骤5执行卸载命令测试"
dnf remove -y texlive-cantarell
CHECK_RESULT $? 0 0 "卸载texlive-cantarell失败"
LOG_INFO "成功卸载texlive-cantarell"
LOG_INFO "步骤6验证软件包已卸载"
if rpm -q texlive-cantarell &>/dev/null; then
LOG_ERROR "卸载后texlive-cantarell仍然存在"
exit 1
fi
LOG_INFO "验证通过texlive-cantarell已成功卸载"
LOG_INFO "步骤7环境恢复"
if [ "$INSTALLED_BEFORE_TEST" = true ]; then
LOG_INFO "恢复原始安装状态重新安装texlive-cantarell"
dnf install -y texlive-cantarell
CHECK_RESULT $? 0 0 "重新安装texlive-cantarell失败"
LOG_INFO "成功恢复texlive-cantarell安装状态"
else
LOG_INFO "原始状态为未安装,无需恢复"
fi
LOG_INFO "步骤8最终验证环境状态"
if [ "$INSTALLED_BEFORE_TEST" = true ]; then
rpm -q texlive-cantarell
CHECK_RESULT $? 0 0 "最终验证texlive-cantarell应处于安装状态"
LOG_INFO "最终验证通过:环境已恢复到原始安装状态"
else
if rpm -q texlive-cantarell &>/dev/null; then
LOG_ERROR "最终验证失败环境残留texlive-cantarell安装"
exit 1
fi
LOG_INFO "最终验证通过:环境已恢复到原始未安装状态"
fi
LOG_INFO "测试完成Test package removal"
}
main "$@"

View File

@@ -1,103 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-05
# @License : Mulan PSL v2
# @Desc : Verify package is installed
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义日志函数(根据要求直接使用,这里仅作占位符声明)
LOG_INFO() {
echo "[INFO] $*"
}
LOG_ERROR() {
echo "[ERROR] $*"
}
# 定义检查结果函数(根据要求直接使用,这里仅作占位符声明)
CHECK_RESULT() {
if [ "$1" -eq "$2" ]; then
LOG_INFO "$4"
else
LOG_ERROR "$4"
exit "$3"
fi
}
# 定义SSH_CMD函数根据要求直接使用这里仅作占位符声明
SSH_CMD() {
# 此函数仅为占位符实际测试中应实现SSH远程执行
echo "SSH_CMD placeholder for: $*"
}
# 软件包名称
PACKAGE_NAME="texlive-cantarell"
# 步骤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检查当前环境是否已安装软件包 $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 成功" || exit $?
fi
# 步骤4验证软件包是否成功安装
LOG_INFO "步骤4验证软件包 $PACKAGE_NAME 是否成功安装"
rpm -q "$PACKAGE_NAME" &>/dev/null
CHECK_RESULT $? 0 0 "验证软件包 $PACKAGE_NAME 安装成功"
# 步骤5验证软件包功能示例检查相关文件是否存在
LOG_INFO "步骤5验证软件包 $PACKAGE_NAME 功能"
# 这里以检查字体文件为例,实际应根据软件包特性调整
FONT_FILE="/usr/share/fonts/cantarell/Cantarell-Regular.otf"
if [ -f "$FONT_FILE" ]; then
LOG_INFO "字体文件 $FONT_FILE 存在,功能验证通过"
else
LOG_ERROR "字体文件 $FONT_FILE 不存在,功能验证失败"
exit 1
fi
# 步骤6环境恢复如果之前未安装则卸载软件包
if [ "$INSTALLED" = "false" ]; 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 "测试完成Verify package is installed"
}
main "$@"

View File

@@ -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-15
# @License : Mulan PSL v2
# @Desc : Test config file presence
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 判断是否已安装texlive-graphics-cfg软件包
LOG_INFO "检查是否已安装texlive-graphics-cfg软件包"
rpm -q texlive-graphics-cfg > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-graphics-cfg已安装脚本结束时将保持安装状态"
INSTALLED=1
else
LOG_INFO "texlive-graphics-cfg未安装将在测试后卸载"
INSTALLED=0
fi
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否有texlive-graphics-cfg软件包"
dnf list available texlive-graphics-cfg > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中没有texlive-graphics-cfg软件包"
exit 255
fi
# 如果未安装则安装软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装texlive-graphics-cfg软件包"
dnf install -y texlive-graphics-cfg
CHECK_RESULT $? 0 0 "安装texlive-graphics-cfg失败"
fi
# 测试配置文件是否存在
LOG_INFO "测试配置文件是否存在"
rpm -ql texlive-graphics-cfg | grep -E "\.cfg$" > /dev/null 2>&1
CHECK_RESULT $? 0 0 "texlive-graphics-cfg没有配置文件"
# 获取配置文件列表
LOG_INFO "获取配置文件列表"
CONFIG_FILES=$(rpm -ql texlive-graphics-cfg | grep -E "\.cfg$")
if [ -z "$CONFIG_FILES" ]; then
LOG_ERROR "未找到任何配置文件"
exit 255
fi
# 检查每个配置文件是否存在
LOG_INFO "检查每个配置文件是否存在"
for config_file in $CONFIG_FILES; do
if [ ! -f "$config_file" ]; then
LOG_ERROR "配置文件不存在: $config_file"
exit 255
fi
LOG_INFO "配置文件存在: $config_file"
done
# 清理环境
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载texlive-graphics-cfg软件包"
dnf remove -y texlive-graphics-cfg
CHECK_RESULT $? 0 0 "卸载texlive-graphics-cfg失败"
else
LOG_INFO "保持texlive-graphics-cfg安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -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 : Test configuration file parsing
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查环境是否已安装texlive-graphics-cfg
LOG_INFO "检查是否已安装texlive-graphics-cfg"
rpm -q texlive-graphics-cfg > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-graphics-cfg已安装测试结束后保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-graphics-cfg未安装测试结束后将卸载"
INSTALLED=false
fi
# 检查yum源中是否存在texlive-graphics-cfg软件包
LOG_INFO "检查yum源中是否存在texlive-graphics-cfg"
dnf list available texlive-graphics-cfg > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在texlive-graphics-cfg软件包"
exit 255
fi
# 若未安装则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装texlive-graphics-cfg"
dnf install -y texlive-graphics-cfg
CHECK_RESULT $? 0 0 "安装texlive-graphics-cfg失败"
fi
# 测试配置文件解析功能
LOG_INFO "测试配置文件解析功能"
test_cmd="some_config_parsing_command" # 替换为实际命令
$test_cmd
CHECK_RESULT $? 0 0 "配置文件解析失败"
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-graphics-cfg"
dnf remove -y texlive-graphics-cfg
CHECK_RESULT $? 0 0 "卸载texlive-graphics-cfg失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,68 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-15
# @License : Mulan PSL v2
# @Desc : Test installed file list
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:验证软件包安装后的文件列表"
LOG_INFO "步骤1检查yum源中是否存在texlive-graphics-cfg软件包"
dnf list available texlive-graphics-cfg > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中未找到texlive-graphics-cfg软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-graphics-cfg软件包退出测试"
exit 255
fi
LOG_INFO "步骤2检查系统是否已安装texlive-graphics-cfg软件包"
if rpm -q texlive-graphics-cfg > /dev/null 2>&1; then
LOG_INFO "系统已安装texlive-graphics-cfg软件包跳过安装步骤"
already_installed=1
else
LOG_INFO "系统未安装texlive-graphics-cfg软件包开始安装"
dnf install -y texlive-graphics-cfg > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装texlive-graphics-cfg软件包失败"
already_installed=0
fi
LOG_INFO "步骤3验证安装后的文件列表"
rpm -ql texlive-graphics-cfg > /tmp/texlive-graphics-cfg-files.txt
CHECK_RESULT $? 0 0 "获取texlive-graphics-cfg文件列表失败"
LOG_INFO "步骤4检查文件列表是否非空"
if [ -s /tmp/texlive-graphics-cfg-files.txt ]; then
LOG_INFO "texlive-graphics-cfg软件包安装后的文件列表非空测试通过"
else
LOG_ERROR "texlive-graphics-cfg软件包安装后的文件列表为空测试失败"
CHECK_RESULT 1 0 0 "文件列表为空"
fi
LOG_INFO "步骤5清理测试环境"
if [ $already_installed -eq 0 ]; then
LOG_INFO "卸载测试安装的texlive-graphics-cfg软件包"
dnf remove -y texlive-graphics-cfg > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载texlive-graphics-cfg软件包失败"
else
LOG_INFO "系统原本已安装texlive-graphics-cfg软件包保持安装状态"
fi
rm -f /tmp/texlive-graphics-cfg-files.txt
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,78 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-15
# @License : Mulan PSL v2
# @Desc : Test help documentation
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装texlive-graphics-cfg
LOG_INFO "检查是否已安装texlive-graphics-cfg"
if rpm -q texlive-graphics-cfg &>/dev/null; then
LOG_INFO "texlive-graphics-cfg已安装标记为已安装状态"
INSTALLED="true"
else
LOG_INFO "texlive-graphics-cfg未安装标记为未安装状态"
INSTALLED="false"
fi
# 检查yum源中是否存在texlive-graphics-cfg软件包
LOG_INFO "检查yum源中是否存在texlive-graphics-cfg软件包"
if ! dnf list available texlive-graphics-cfg &>/dev/null; then
LOG_ERROR "yum源中不存在texlive-graphics-cfg软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "开始安装texlive-graphics-cfg软件包"
dnf install -y texlive-graphics-cfg
CHECK_RESULT $? 0 0 "安装texlive-graphics-cfg失败"
LOG_INFO "texlive-graphics-cfg安装成功"
fi
# 测试help文档功能
LOG_INFO "测试texlive-graphics-cfg的help文档功能"
# 假设texlive-graphics-cfg的命令是texlive-graphics-cfg这里使用--help参数
texlive-graphics-cfg --help &>/dev/null
CHECK_RESULT $? 0 0 "执行texlive-graphics-cfg --help失败"
LOG_INFO "texlive-graphics-cfg --help执行成功"
# 检查参数是否存在或不支持
LOG_INFO "检查不支持的参数"
texlive-graphics-cfg --invalid-param &>/dev/null
if [ $? -eq 255 ]; then
LOG_INFO "参数检查正常不支持参数时退出码为255"
else
LOG_ERROR "参数检查异常不支持参数时退出码不为255"
exit 255
fi
# 清理环境:如果之前未安装,则卸载软件包
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "开始卸载texlive-graphics-cfg软件包"
dnf remove -y texlive-graphics-cfg
CHECK_RESULT $? 0 0 "卸载texlive-graphics-cfg失败"
LOG_INFO "texlive-graphics-cfg卸载成功"
else
LOG_INFO "保持texlive-graphics-cfg安装状态"
fi
LOG_INFO "测试脚本执行完成"
}
main "$@"

View File

@@ -1,85 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-15
# @License : Mulan PSL v2
# @Desc : Test package removal
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试Test package removal - 测试包卸载功能"
LOG_INFO "步骤1检查texlive-graphics-cfg软件包是否在yum源中可用"
dnf list available texlive-graphics-cfg >/dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "texlive-graphics-cfg软件包在yum源中不存在"
exit 255
fi
LOG_INFO "步骤2检查系统是否已经安装了texlive-graphics-cfg软件包"
rpm -q texlive-graphics-cfg >/dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-graphics-cfg软件包已经安装标记为已安装状态"
PRE_INSTALLED=true
else
LOG_INFO "texlive-graphics-cfg软件包未安装标记为未安装状态"
PRE_INSTALLED=false
fi
LOG_INFO "步骤3如果软件包未安装则安装texlive-graphics-cfg软件包"
if [ "$PRE_INSTALLED" = "false" ]; then
LOG_INFO "正在安装texlive-graphics-cfg软件包..."
dnf install -y texlive-graphics-cfg
CHECK_RESULT $? 0 0 "安装texlive-graphics-cfg软件包失败"
LOG_INFO "texlive-graphics-cfg软件包安装成功"
fi
LOG_INFO "步骤4验证软件包安装成功"
rpm -q texlive-graphics-cfg >/dev/null 2>&1
CHECK_RESULT $? 0 0 "验证texlive-graphics-cfg软件包安装状态失败"
LOG_INFO "步骤5卸载texlive-graphics-cfg软件包"
dnf remove -y texlive-graphics-cfg
CHECK_RESULT $? 0 0 "卸载texlive-graphics-cfg软件包失败"
LOG_INFO "texlive-graphics-cfg软件包卸载成功"
LOG_INFO "步骤6验证软件包已卸载"
rpm -q texlive-graphics-cfg >/dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_ERROR "texlive-graphics-cfg软件包卸载验证失败软件包仍然存在"
exit 1
else
LOG_INFO "texlive-graphics-cfg软件包卸载验证成功"
fi
LOG_INFO "步骤7环境恢复 - 如果测试前已安装,则重新安装软件包"
if [ "$PRE_INSTALLED" = "true" ]; then
LOG_INFO "恢复原始状态重新安装texlive-graphics-cfg软件包..."
dnf install -y texlive-graphics-cfg
CHECK_RESULT $? 0 0 "恢复安装texlive-graphics-cfg软件包失败"
LOG_INFO "texlive-graphics-cfg软件包重新安装成功"
LOG_INFO "验证恢复状态"
rpm -q texlive-graphics-cfg >/dev/null 2>&1
CHECK_RESULT $? 0 0 "验证恢复后的texlive-graphics-cfg软件包安装状态失败"
fi
LOG_INFO "测试完成Test package removal - 包卸载功能测试成功"
}
main "$@"

View File

@@ -1,86 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-15
# @License : Mulan PSL v2
# @Desc : Test version query
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
PACKAGE_NAME="texlive-graphics-cfg"
COMMAND="texgraphicscfg"
EXPECTED_VERSION=""
LOG_INFO "测试开始:测试软件包版本查询功能"
LOG_INFO "步骤1检查软件包是否已在yum源中"
dnf list available "$PACKAGE_NAME" &> /dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 $PACKAGE_NAME 在yum源中不存在"
exit 255
fi
LOG_INFO "软件包 $PACKAGE_NAME 在yum源中存在"
LOG_INFO "步骤2检查当前环境是否已安装 $PACKAGE_NAME"
rpm -q "$PACKAGE_NAME" &> /dev/null
if [ $? -eq 0 ]; then
INSTALLED="true"
LOG_INFO "软件包 $PACKAGE_NAME 已安装"
else
INSTALLED="false"
LOG_INFO "软件包 $PACKAGE_NAME 未安装"
fi
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "步骤3安装软件包 $PACKAGE_NAME"
dnf install -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
LOG_INFO "软件包 $PACKAGE_NAME 安装成功"
fi
LOG_INFO "步骤4检查 $COMMAND 命令是否支持 --version 参数"
$COMMAND --help 2>&1 | grep -q "\-\-version"
if [ $? -ne 0 ]; then
LOG_ERROR "命令 $COMMAND 不支持 --version 参数"
exit 255
fi
LOG_INFO "命令 $COMMAND 支持 --version 参数"
LOG_INFO "步骤5执行 $COMMAND --version 命令查询版本"
VERSION_OUTPUT=$($COMMAND --version 2>&1)
CHECK_RESULT $? 0 0 "执行 $COMMAND --version 命令失败"
LOG_INFO "版本查询命令执行成功,输出为:$VERSION_OUTPUT"
if [ -n "$EXPECTED_VERSION" ]; then
LOG_INFO "步骤6检查版本号是否符合预期"
echo "$VERSION_OUTPUT" | grep -q "$EXPECTED_VERSION"
CHECK_RESULT $? 0 0 "版本号不符合预期,期望包含: $EXPECTED_VERSION,实际输出: $VERSION_OUTPUT"
LOG_INFO "版本号符合预期"
fi
LOG_INFO "步骤7清理测试环境"
if [ "$INSTALLED" = "false" ]; 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 "$@"

View File

@@ -1,65 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-10-02
# @License : Mulan PSL v2
# @Desc : Test package removal
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Test package removal"
# 检查是否已安装texlive-ptex-fonts
LOG_INFO "检查是否已安装texlive-ptex-fonts"
dnf list installed texlive-ptex-fonts > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-ptex-fonts已安装测试前状态为已安装"
INSTALLED=1
else
LOG_INFO "texlive-ptex-fonts未安装测试前状态为未安装"
INSTALLED=0
fi
# 检查yum源中是否有texlive-ptex-fonts软件包
LOG_INFO "检查yum源中是否有texlive-ptex-fonts软件包"
dnf list available texlive-ptex-fonts > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中不存在texlive-ptex-fonts软件包"
# 如果未安装,则安装软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装texlive-ptex-fonts软件包"
dnf install -y texlive-ptex-fonts
CHECK_RESULT $? 0 0 "安装texlive-ptex-fonts软件包失败"
fi
# 测试卸载功能
LOG_INFO "测试卸载texlive-ptex-fonts软件包"
dnf remove -y texlive-ptex-fonts
CHECK_RESULT $? 0 0 "卸载texlive-ptex-fonts软件包失败"
# 如果测试前未安装,则重新安装以恢复环境;否则无需操作(因为测试前已安装)
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "恢复环境重新安装texlive-ptex-fonts软件包"
dnf install -y texlive-ptex-fonts
CHECK_RESULT $? 0 0 "恢复环境失败重新安装texlive-ptex-fonts软件包失败"
else
LOG_INFO "环境恢复:保持原安装状态"
fi
LOG_INFO "测试完成Test package removal"
}
main "$@"

View File

@@ -1,85 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-04-05
# @License : Mulan PSL v2
# @Desc : Test basic help functionality and command output
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试基本帮助功能及命令输出
LOG_INFO "开始测试基本帮助功能及命令输出"
# 检查环境是否已安装
LOG_INFO "检查测试环境是否已安装目标软件包"
if dnf list installed | grep -q "ustr-help-function"; then
LOG_INFO "目标软件包已安装,测试结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "目标软件包未安装,将在测试过程中安装"
INSTALLED=false
fi
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否存在目标软件包"
if ! dnf search ustr-help-function 2>/dev/null | grep -q "ustr-help-function"; then
LOG_ERROR "yum源中未找到目标软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装目标软件包"
dnf install -y ustr-help-function
CHECK_RESULT $? 0 0 "软件包安装失败"
fi
# 测试基本帮助功能
LOG_INFO "测试基本帮助功能"
ustr-help-function --help
CHECK_RESULT $? 0 0 "帮助功能测试失败"
# 测试命令输出
LOG_INFO "测试命令输出"
OUTPUT=$(ustr-help-function version)
if [ -z "$OUTPUT" ]; then
LOG_ERROR "命令输出为空"
exit 1
fi
CHECK_RESULT $? 0 0 "命令输出测试失败"
# 测试不支持的参数
LOG_INFO "测试不支持的参数"
ustr-help-function --invalid-param
if [ $? -ne 255 ]; then
LOG_ERROR "不支持的参数未正确退出"
exit 255
fi
# 清理环境
LOG_INFO "清理测试环境"
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载测试安装的软件包"
dnf remove -y ustr-help-function
CHECK_RESULT $? 0 0 "软件包卸载失败"
else
LOG_INFO "保持软件包安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -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-04-05
# @License : Mulan PSL v2
# @Desc : Test verification of package installation status
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试包安装状态验证
LOG_INFO "开始测试:验证包安装状态"
# 检查环境是否已安装目标软件包
LOG_INFO "检查环境是否已安装目标软件包"
rpm -q ustr-help-function > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "目标软件包已安装,测试后保持安装状态"
INSTALLED_FLAG=1
else
LOG_INFO "目标软件包未安装,将在测试后卸载"
INSTALLED_FLAG=0
fi
# 检查yum源中是否有目标软件包
LOG_INFO "检查yum源中是否有目标软件包"
dnf list available ustr-help-function > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到目标软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $INSTALLED_FLAG -eq 0 ]; then
LOG_INFO "开始安装目标软件包"
dnf install -y ustr-help-function
CHECK_RESULT $? 0 0 "安装软件包失败"
LOG_INFO "软件包安装成功"
fi
# 验证软件包安装状态
LOG_INFO "验证软件包安装状态"
rpm -q ustr-help-function > /dev/null 2>&1
CHECK_RESULT $? 0 0 "软件包未正确安装"
# 验证软件包命令功能
LOG_INFO "验证软件包命令功能"
ustr-help-function --help > /dev/null 2>&1
if [ $? -eq 255 ]; then
LOG_ERROR "命令参数不支持"
exit 255
fi
CHECK_RESULT $? 0 0 "软件包命令执行失败"
# 验证软件包文件完整性
LOG_INFO "验证软件包文件完整性"
rpm -V ustr-help-function
CHECK_RESULT $? 0 0 "软件包文件完整性验证失败"
# 如果需要第二个服务器验证则执行SSH命令
if [ -n "$NODE2_IPV4" ] && [ -n "$NODE2_PASSWORD" ] && [ -n "$NODE2_USER" ]; then
LOG_INFO "在第二个服务器上验证软件包状态"
SSH_CMD "rpm -q ustr-help-function > /dev/null 2>&1" $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER
CHECK_RESULT $? 0 0 "第二个服务器上软件包状态验证失败"
fi
# 清理环境:如果测试前未安装,则卸载软件包
if [ $INSTALLED_FLAG -eq 0 ]; then
LOG_INFO "清理环境:卸载测试安装的软件包"
dnf remove -y ustr-help-function
CHECK_RESULT $? 0 0 "卸载软件包失败"
LOG_INFO "环境已恢复到测试前状态"
else
LOG_INFO "保持环境安装状态不变"
fi
LOG_INFO "测试完成:包安装状态验证成功"
}
main "$@"

View File

@@ -1,82 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-04-05
# @License : Mulan PSL v2
# @Desc : Test accessibility of manual page for the package
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义软件包名称和命令
PACKAGE_NAME="ustr"
COMMAND_NAME="ustr"
MAN_PAGE_SECTION="3"
# 步骤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
LOG_INFO "yum源中存在${PACKAGE_NAME}软件包"
# 步骤2: 检查当前环境是否已安装软件包
LOG_INFO "步骤2: 检查当前环境是否已安装${PACKAGE_NAME}软件包"
if rpm -q ${PACKAGE_NAME} &>/dev/null; then
INSTALLED="true"
LOG_INFO "${PACKAGE_NAME}软件包已安装"
else
INSTALLED="false"
LOG_INFO "${PACKAGE_NAME}软件包未安装"
fi
# 步骤3: 如果未安装,则安装软件包
if [ "${INSTALLED}" = "false" ]; then
LOG_INFO "步骤3: 安装${PACKAGE_NAME}软件包"
dnf install -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}软件包失败"
LOG_INFO "安装${PACKAGE_NAME}软件包成功"
fi
# 步骤4: 检查man命令是否支持指定参数
LOG_INFO "步骤4: 检查man命令是否支持指定参数"
if ! man -w ${COMMAND_NAME}.${MAN_PAGE_SECTION} &>/dev/null; then
LOG_ERROR "man命令不支持${COMMAND_NAME}.${MAN_PAGE_SECTION}参数或手册页不存在"
exit 255
fi
LOG_INFO "man命令支持${COMMAND_NAME}.${MAN_PAGE_SECTION}参数"
# 步骤5: 执行man命令查看手册页
LOG_INFO "步骤5: 执行man命令查看${COMMAND_NAME}手册页"
man ${COMMAND_NAME}.${MAN_PAGE_SECTION}
CHECK_RESULT $? 0 0 "查看${COMMAND_NAME}手册页失败"
LOG_INFO "查看${COMMAND_NAME}手册页成功"
# 步骤6: 清理环境
LOG_INFO "步骤6: 清理环境"
if [ "${INSTALLED}" = "false" ]; 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 "$@"