This commit is contained in:
2026-04-23 17:35:57 +08:00
66 changed files with 0 additions and 3921 deletions

View File

@@ -2,10 +2,6 @@
"path": "$OET_PATH/testcases/function_test/pkg_test/duktape/duktape-devel",
"machine num": 1,
"cases": [
{
"name": "test_duktape-devel_function_install",
"desc": "测试 duktape-devel 软件包能够被成功安装。"
},
{
"name": "test_duktape-devel_function_version",
"desc": "测试安装后可以查询到 duktape 的开发库版本信息。"
@@ -14,10 +10,6 @@
"name": "test_duktape-devel_function_header",
"desc": "测试安装后头文件(如 duktape.h存在于标准系统路径中。"
},
{
"name": "test_duktape-devel_function_link",
"desc": "测试一个简单的 C 程序能够成功链接 duktape 库并编译通过。"
},
{
"name": "test_duktape-devel_function_uninstall",
"desc": "测试 duktape-devel 软件包能够被成功卸载,且相关文件被移除。"

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/grilo/grilo-devel",
"machine num": 1,
"cases": [
{
"name": "test_grilo-devel_function_install",
"desc": "Test package installation"
}
]
}

View File

@@ -1,14 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/java-base64/java-base64-help",
"machine num": 1,
"cases": [
{
"name": "test_java-base64-help_function_encode",
"desc": "Test encoding functionality"
},
{
"name": "test_java-base64-help_function_decode",
"desc": "Test decoding functionality"
}
]
}

View File

@@ -2,11 +2,6 @@
"path": "$OET_PATH/testcases/function_test/pkg_test/net-snmp/net-snmp-gui",
"machine num": 3,
"cases": [
{
"name": "test_net-snmp-gui_install",
"desc": "测试net-snmp-gui软件包的安装功能验证安装过程是否正常完成",
"machine num": 1
},
{
"name": "test_net-snmp-gui_uninstall",
"desc": "测试net-snmp-gui软件包的卸载功能验证卸载过程是否正常完成",
@@ -17,16 +12,6 @@
"desc": "测试net-snmp-gui软件包的升级功能验证升级过程是否正常完成",
"machine num": 1
},
{
"name": "test_net-snmp-gui_downgrade",
"desc": "测试net-snmp-gui软件包的降级功能验证降级过程是否正常完成",
"machine num": 1
},
{
"name": "test_net-snmp-gui_rollback",
"desc": "测试net-snmp-gui软件包的回滚功能验证回滚过程是否正常完成",
"machine num": 1
},
{
"name": "test_net-snmp-gui_service_start",
"desc": "测试net-snmp-gui服务的启动功能验证服务是否能正常启动",
@@ -36,11 +21,6 @@
"name": "test_net-snmp-gui_service_stop",
"desc": "测试net-snmp-gui服务的停止功能验证服务是否能正常停止",
"machine num": 1
},
{
"name": "test_net-snmp-gui_service_restart",
"desc": "测试net-snmp-gui服务的重启功能验证服务是否能正常重启",
"machine num": 1
}
]
}

View File

@@ -10,21 +10,9 @@
"name": "test_perl-Filter-help_remove",
"desc": "测试 perl-Filter-help 软件包能否成功卸载"
},
{
"name": "test_perl-Filter-help_function_install",
"desc": "测试 perl-Filter-help 软件包能否成功安装"
},
{
"name": "test_perl-Filter-help_function_remove",
"desc": "测试 perl-Filter-help 软件包能否成功卸载"
},
{
"name": "test_perl-Filter-help_function_help_content",
"desc": "验证 perl-Filter-help 提供的帮助文档内容是否完整且可访问"
},
{
"name": "test_perl-Filter-help_function_manpage",
"desc": "检查 perl-Filter-help 的 man 手册页是否存在且格式正确"
}
]
}

View File

@@ -2,14 +2,6 @@
"path": "$OET_PATH/testcases/function_test/pkg_test/python-abclient/python3-abclient",
"machine num": 1,
"cases": [
{
"name": "test_python3-abclient_function_init",
"desc": "Test initialization of the client"
},
{
"name": "test_python3-abclient_function_install",
"desc": "Test installation of the package"
},
{
"name": "test_python3-abclient_function_uninstall",
"desc": "Test removal of the package"
@@ -17,22 +9,6 @@
{
"name": "test_python3-abclient_function_basic_import",
"desc": "Test basic import of the module"
},
{
"name": "test_python3-abclient_function_client_create",
"desc": "Test creating a client instance"
},
{
"name": "test_python3-abclient_function_api_connect",
"desc": "Test connecting to the API server"
},
{
"name": "test_python3-abclient_function_api_request",
"desc": "Test sending a basic API request"
},
{
"name": "test_python3-abclient_function_config_load",
"desc": "Test loading configuration from file"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/python-httpbin/python3-httpbin",
"machine num": 1,
"cases": [
{
"name": "test_python3-httpbin_function_get",
"desc": "Test GET request functionality"
}
]
}

View File

@@ -1,42 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/takari-plugin-testing/takari-plugin-testing-javadoc",
"machine num": 1,
"cases": [
{
"name": "test_takari-plugin-testing-javadoc_function_generate",
"desc": "Test the generation of Javadoc documentation"
},
{
"name": "test_takari-plugin-testing-javadoc_function_validate",
"desc": "Test the validation of Javadoc content"
},
{
"name": "test_takari-plugin-testing-javadoc_function_config",
"desc": "Test the configuration handling for Javadoc"
},
{
"name": "test_takari-plugin-testing-javadoc_function_execute",
"desc": "Test the execution of Javadoc plugin"
},
{
"name": "test_takari-plugin-testing-javadoc_function_dependencies",
"desc": "Test the handling of dependencies"
},
{
"name": "test_takari-plugin-testing-javadoc_function_error",
"desc": "Test error handling in Javadoc"
},
{
"name": "test_takari-plugin-testing-javadoc_function_output",
"desc": "Test output format of Javadoc"
},
{
"name": "test_takari-plugin-testing-javadoc_function_performance",
"desc": "Test performance of Javadoc"
},
{
"name": "test_takari-plugin-testing-javadoc_function_integration",
"desc": "Test integration with other plugins"
}
]
}

View File

@@ -6,26 +6,6 @@
"name": "test_texlive-around-the-bend-doc_install",
"desc": "测试 texlive-around-the-bend-doc 软件包的安装功能",
"machine num": 1
},
{
"name": "test_texlive-around-the-bend-doc_function_install",
"desc": "测试 texlive-around-the-bend-doc 软件包的安装功能"
},
{
"name": "test_texlive-around-the-bend-doc_function_check_installed",
"desc": "测试检查 texlive-around-the-bend-doc 软件包是否已安装"
},
{
"name": "test_texlive-around-the-bend-doc_function_view_doc",
"desc": "测试查看 texlive-around-the-bend-doc 软件包文档内容"
},
{
"name": "test_texlive-around-the-bend-doc_function_list_files",
"desc": "测试列出 texlive-around-the-bend-doc 软件包包含的文件"
},
{
"name": "test_texlive-around-the-bend-doc_function_uninstall",
"desc": "测试 texlive-around-the-bend-doc 软件包的卸载功能"
}
]
}

View File

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

View File

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

View File

@@ -6,18 +6,6 @@
"name": "test_texlive-dialogl_install",
"desc": "测试 texlive-dialogl 软件包的安装功能",
"machine num": 1
},
{
"name": "test_texlive-dialogl_function_render",
"desc": "测试 texlive-dialogl 的渲染功能"
},
{
"name": "test_texlive-dialogl_function_ui",
"desc": "测试 texlive-dialogl 的 UI 交互功能"
},
{
"name": "test_texlive-dialogl_function_config",
"desc": "测试 texlive-dialogl 的配置功能"
}
]
}

View File

@@ -13,10 +13,6 @@
{
"name": "test_texlive-ftcap_function_file",
"desc": "Test presence of package files"
},
{
"name": "test_texlive-ftcap_function_usage",
"desc": "Test basic package functionality"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-j/texlive-glossaries-french",
"machine num": 1,
"cases": [
{
"name": "test_texlive-glossaries-french_function_basic",
"desc": "Test basic functionality"
}
]
}

View File

@@ -6,10 +6,6 @@
"name": "test_texlive-hepthesis-doc_function_install",
"desc": "Test package installation"
},
{
"name": "test_texlive-hepthesis-doc_function_check_installed",
"desc": "Check if the package is installed in the system"
},
{
"name": "test_texlive-hepthesis-doc_function_view_doc",
"desc": "Verify documentation can be viewed"

View File

@@ -9,18 +9,6 @@
{
"name": "test_texlive-pst-abspos-doc_function_remove",
"desc": "Test package removal"
},
{
"name": "test_texlive-pst-abspos-doc_function_doc_exist",
"desc": "Test documentation file existence"
},
{
"name": "test_texlive-pst-abspos-doc_function_list_files",
"desc": "Test listing package files"
},
{
"name": "test_texlive-pst-abspos-doc_function_version",
"desc": "Test package version query"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-s/texlive-pst-grad",
"machine num": 1,
"cases": [
{
"name": "test_texlive-pst-grad_function_draw",
"desc": "Test drawing gradient shapes"
}
]
}

View File

@@ -9,26 +9,6 @@
{
"name": "test_texlive-reledmac_function_remove",
"desc": "Test the removal of texlive-reledmac package"
},
{
"name": "test_texlive-reledmac_function_version",
"desc": "Test checking the version of texlive-reledmac"
},
{
"name": "test_texlive-reledmac_function_doc",
"desc": "Test the presence of documentation files"
},
{
"name": "test_texlive-reledmac_function_basic_compile",
"desc": "Test compiling a basic LaTeX document with reledmac"
},
{
"name": "test_texlive-reledmac_function_critical_notes",
"desc": "Test the critical notes feature of reledmac"
},
{
"name": "test_texlive-reledmac_function_parallel_text",
"desc": "Test the parallel text alignment feature"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-z/texlive-xecyr",
"machine num": 1,
"cases": [
{
"name": "test_texlive-xecyr_function_font",
"desc": "Test font rendering in XeTeX with Cyrillic support"
}
]
}

View File

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

View File

@@ -9,18 +9,6 @@
{
"name": "test_texlive-xint-doc_function_uninstall",
"desc": "Test package uninstallation"
},
{
"name": "test_texlive-xint-doc_function_check_installed",
"desc": "Check if package is installed"
},
{
"name": "test_texlive-xint-doc_function_list_files",
"desc": "List package documentation files"
},
{
"name": "test_texlive-xint-doc_function_view_doc",
"desc": "Check documentation accessibility"
}
]
}

View File

@@ -1,143 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-01-30
# @License : Mulan PSL v2
# @Desc : 测试 duktape-devel 软件包能够被成功安装。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试 duktape-devel 软件包安装功能
LOG_INFO "开始测试 duktape-devel 软件包安装功能"
# 检查是否已安装 duktape-devel 软件包
LOG_INFO "检查是否已安装 duktape-devel 软件包"
rpm -q duktape-devel > /dev/null 2>&1
already_installed=$?
if [ $already_installed -eq 0 ]; then
LOG_INFO "duktape-devel 软件包已安装,测试完成后将保持安装状态"
else
LOG_INFO "duktape-devel 软件包未安装,将进行安装测试"
fi
# 检查 yum 源中是否有 duktape-devel 软件包
LOG_INFO "检查 yum 源中是否有 duktape-devel 软件包"
dnf list available duktape-devel > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum 源中没有 duktape-devel 软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum 源中没有 duktape-devel 软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $already_installed -ne 0 ]; then
LOG_INFO "安装 duktape-devel 软件包"
dnf install -y duktape-devel
CHECK_RESULT $? 0 0 "安装 duktape-devel 软件包失败"
# 验证软件包是否安装成功
LOG_INFO "验证 duktape-devel 软件包是否安装成功"
rpm -q duktape-devel > /dev/null 2>&1
CHECK_RESULT $? 0 0 "验证 duktape-devel 软件包安装失败"
LOG_INFO "duktape-devel 软件包安装成功"
fi
# 检查软件包的基本功能
LOG_INFO "检查 duktape-devel 软件包是否提供头文件"
if [ -f /usr/include/duktape.h ]; then
LOG_INFO "找到 duktape.h 头文件"
else
LOG_ERROR "未找到 duktape.h 头文件"
CHECK_RESULT 1 0 0 "duktape-devel 软件包头文件缺失"
fi
LOG_INFO "检查 duktape-devel 软件包是否提供库文件"
if [ -f /usr/lib64/libduktape.so ] || [ -f /usr/lib/libduktape.so ] || [ -f /usr/lib/x86_64-linux-gnu/libduktape.so ]; then
LOG_INFO "找到 libduktape.so 库文件"
else
LOG_ERROR "未找到 libduktape.so 库文件"
CHECK_RESULT 1 0 0 "duktape-devel 软件包库文件缺失"
fi
# 简单的编译测试
LOG_INFO "进行简单的编译测试"
cat > /tmp/test_duktape.c << "EOF"
#include <stdio.h>
#include <duktape.h>
int main() {
duk_context *ctx = duk_create_heap_default();
if (ctx) {
printf("Duktape context created successfully\n");
duk_destroy_heap(ctx);
return 0;
} else {
printf("Failed to create Duktape context\n");
return 1;
}
}
EOF
# 尝试编译测试程序
LOG_INFO "编译测试程序"
gcc -o /tmp/test_duktape /tmp/test_duktape.c -lduktape -lm 2>/dev/null
compile_result=$?
if [ $compile_result -eq 0 ]; then
LOG_INFO "编译测试程序成功"
# 运行测试程序
LOG_INFO "运行测试程序"
/tmp/test_duktape
CHECK_RESULT $? 0 0 "测试程序运行失败"
# 清理测试程序
rm -f /tmp/test_duktape /tmp/test_duktape.c
else
LOG_ERROR "编译测试程序失败"
rm -f /tmp/test_duktape.c
CHECK_RESULT $compile_result 0 0 "编译测试程序失败"
fi
# 环境恢复
LOG_INFO "开始环境恢复"
# 如果测试前未安装,则卸载软件包
if [ $already_installed -ne 0 ]; then
LOG_INFO "卸载 duktape-devel 软件包"
dnf remove -y duktape-devel
CHECK_RESULT $? 0 0 "卸载 duktape-devel 软件包失败"
# 验证软件包是否卸载成功
LOG_INFO "验证 duktape-devel 软件包是否卸载成功"
rpm -q duktape-devel > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_ERROR "duktape-devel 软件包卸载失败"
CHECK_RESULT 1 0 0 "duktape-devel 软件包卸载失败"
else
LOG_INFO "duktape-devel 软件包卸载成功"
fi
else
LOG_INFO "保持 duktape-devel 软件包安装状态"
fi
LOG_INFO "测试 duktape-devel 软件包安装功能完成"
}
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-01-30
# @License : Mulan PSL v2
# @Desc : 测试一个简单的 C 程序能够成功链接 duktape 库并编译通过。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:测试一个简单的 C 程序能够成功链接 duktape 库并编译通过。"
LOG_INFO "步骤1: 检查环境中是否已安装 duktape-devel 软件包"
if rpm -q duktape-devel > /dev/null 2>&1; then
LOG_INFO "duktape-devel 已安装,测试结束后将保持安装状态"
already_installed=1
else
LOG_INFO "duktape-devel 未安装,将在测试步骤中进行安装"
already_installed=0
fi
LOG_INFO "步骤2: 检查 yum 源中是否存在 duktape-devel 软件包"
if ! dnf list available duktape-devel > /dev/null 2>&1; then
LOG_ERROR "yum 源中未找到 duktape-devel 软件包"
exit 255
fi
if [ $already_installed -eq 0 ]; then
LOG_INFO "步骤3: 安装 duktape-devel 软件包"
dnf install -y duktape-devel
CHECK_RESULT $? 0 0 "安装 duktape-devel 失败"
fi
LOG_INFO "步骤4: 创建一个简单的 C 程序测试链接 duktape 库"
cat > test_duktape.c << "EOF"
#include <stdio.h>
#include <duktape.h>
int main() {
duk_context *ctx = duk_create_heap_default();
if (!ctx) {
printf("Failed to create Duktape heap\n");
return 1;
}
duk_eval_string(ctx, "print("Hello from Duktape!");");
duk_destroy_heap(ctx);
return 0;
}
EOF
CHECK_RESULT $? 0 0 "创建测试 C 源文件失败"
LOG_INFO "步骤5: 编译测试程序,链接 duktape 库"
gcc -o test_duktape test_duktape.c -lduktape
CHECK_RESULT $? 0 0 "编译链接测试程序失败"
LOG_INFO "步骤6: 运行编译后的测试程序"
./test_duktape
CHECK_RESULT $? 0 0 "运行测试程序失败"
LOG_INFO "步骤7: 清理测试文件"
rm -f test_duktape test_duktape.c
CHECK_RESULT $? 0 0 "清理测试文件失败"
if [ $already_installed -eq 0 ]; then
LOG_INFO "步骤8: 卸载测试安装的 duktape-devel 软件包"
dnf remove -y duktape-devel
CHECK_RESULT $? 0 0 "卸载 duktape-devel 失败"
else
LOG_INFO "步骤8: 环境已安装 duktape-devel跳过卸载步骤"
fi
LOG_INFO "测试完成C 程序成功链接 duktape 库并编译通过。"
}
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-10-05
# @License : Mulan PSL v2
# @Desc : Test package installation
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查grilo-devel软件包是否已安装
LOG_INFO "检查grilo-devel软件包是否已安装"
rpm -q grilo-devel > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "grilo-devel软件包已安装脚本结束时将保持安装状态"
INSTALLED=1
else
LOG_INFO "grilo-devel软件包未安装将在测试结束后卸载"
INSTALLED=0
fi
# 检查yum源中是否存在grilo-devel软件包
LOG_INFO "检查yum源中是否存在grilo-devel软件包"
dnf list available grilo-devel > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中不存在grilo-devel软件包"
# 安装grilo-devel软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装grilo-devel软件包"
dnf install -y grilo-devel > /dev/null 2>&1
CHECK_RESULT $? 0 255 "安装grilo-devel软件包失败"
fi
# 验证grilo-devel功能是否正常示例命令
LOG_INFO "验证grilo-devel功能是否正常"
grilo-test-launcher --version > /dev/null 2>&1
CHECK_RESULT $? 0 255 "grilo-devel功能验证失败"
# 清理环境
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载grilo-devel软件包"
dnf remove -y grilo-devel > /dev/null 2>&1
CHECK_RESULT $? 0 $? "卸载grilo-devel软件包失败"
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-11
# @License : Mulan PSL v2
# @Desc : Test decoding functionality
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装java-base64-help-function包
LOG_INFO "检查是否已安装java-base64-help-function包"
if dnf list installed java-base64-help-function &>/dev/null; then
LOG_INFO "java-base64-help-function已安装脚本结束后保持安装状态"
INSTALLED=true
else
LOG_INFO "java-base64-help-function未安装脚本结束后将卸载"
INSTALLED=false
fi
# 检查yum源中是否存在java-base64-help-function包
LOG_INFO "检查yum源中是否存在java-base64-help-function包"
if ! dnf list available java-base64-help-function &>/dev/null; then
LOG_ERROR "yum源中未找到java-base64-help-function包"
exit 255
fi
# 安装java-base64-help-function包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装java-base64-help-function包"
dnf install -y java-base64-help-function
CHECK_RESULT $? 0 0 "安装java-base64-help-function失败"
fi
# 测试解码功能
LOG_INFO "测试解码功能"
echo "SGVsbG8gV29ybGQ=" | base64 --decode > /tmp/decoded_output.txt
CHECK_RESULT $? 0 0 "解码命令执行失败"
# 验证解码结果
LOG_INFO "验证解码结果"
grep -q "Hello World" /tmp/decoded_output.txt
CHECK_RESULT $? 0 0 "解码结果不符合预期"
# 清理临时文件
LOG_INFO "清理临时文件"
rm -f /tmp/decoded_output.txt
# 如果脚本开始时未安装则卸载java-base64-help-function包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载java-base64-help-function包"
dnf remove -y java-base64-help-function
CHECK_RESULT $? 0 0 "卸载java-base64-help-function失败"
fi
LOG_INFO "测试脚本执行完成"
}
main "$@"

View File

@@ -1,69 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-11
# @License : Mulan PSL v2
# @Desc : Test encoding functionality
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Test encoding functionality"
# 检查是否已安装java-base64-help-function软件包
LOG_INFO "检查是否已安装java-base64-help-function软件包"
if rpm -q java-base64-help-function >/dev/null 2>&1; then
LOG_INFO "java-base64-help-function已安装跳过安装步骤"
installed=true
else
LOG_INFO "java-base64-help-function未安装准备安装"
installed=false
fi
# 检查yum源中是否有java-base64-help-function软件包
LOG_INFO "检查yum源中是否有java-base64-help-function软件包"
if ! dnf list available java-base64-help-function >/dev/null 2>&1; then
LOG_ERROR "yum源中未找到java-base64-help-function软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$installed" = false ]; then
LOG_INFO "安装java-base64-help-function软件包"
dnf install -y java-base64-help-function
CHECK_RESULT $? 0 0 "安装java-base64-help-function失败"
fi
# 测试编码功能
LOG_INFO "测试编码功能"
output=$(java-base64-encode "test")
expected="dGVzdA=="
CHECK_RESULT $? 0 0 "执行编码命令失败"
CHECK_RESULT "$output" "$expected" 0 "编码结果不符合预期"
# 清理环境:如果脚本开始时未安装,则卸载软件包
if [ "$installed" = false ]; then
LOG_INFO "卸载java-base64-help-function软件包"
dnf remove -y java-base64-help-function
CHECK_RESULT $? 0 0 "卸载java-base64-help-function失败"
fi
LOG_INFO "测试完成Test encoding functionality"
}
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-06-26
# @License : Mulan PSL v2
# @Desc : 测试net-snmp-gui软件包的降级功能验证降级过程是否正常完成
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已经安装net-snmp-gui
LOG_INFO "检查是否已经安装net-snmp-gui"
rpm -q net-snmp-gui > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "net-snmp-gui已安装脚本结束时将保持安装状态"
INSTALLED=1
else
LOG_INFO "net-snmp-gui未安装将在测试完成后卸载"
INSTALLED=0
fi
# 检查yum源中是否存在net-snmp-gui软件包
LOG_INFO "检查yum源中是否存在net-snmp-gui软件包"
dnf list available net-snmp-gui > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中不存在net-snmp-gui软件包"
# 安装指定版本的net-snmp-gui
LOG_INFO "安装指定版本的net-snmp-gui"
dnf install -y net-snmp-gui-5.9.1-1.el8 > /dev/null 2>&1
CHECK_RESULT $? 0 255 "安装指定版本的net-snmp-gui失败"
# 验证降级功能
LOG_INFO "验证降级功能"
dnf downgrade -y net-snmp-gui-5.9.0-1.el8 > /dev/null 2>&1
CHECK_RESULT $? 0 255 "降级net-snmp-gui失败"
# 检查降级后的版本
LOG_INFO "检查降级后的版本"
rpm -q net-snmp-gui | grep -q "5.9.0-1.el8"
CHECK_RESULT $? 0 255 "降级后的版本不符合预期"
# 清理环境如果脚本开始时未安装net-snmp-gui则卸载
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "清理环境卸载net-snmp-gui"
dnf remove -y net-snmp-gui > /dev/null 2>&1
CHECK_RESULT $? 0 255 "卸载net-snmp-gui失败"
fi
LOG_INFO "测试net-snmp-gui软件包的降级功能完成"
}
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-06-26
# @License : Mulan PSL v2
# @Desc : 测试net-snmp-gui软件包的安装功能验证安装过程是否正常完成
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已经安装net-snmp-gui
LOG_INFO "检查是否已经安装net-snmp-gui"
rpm -q net-snmp-gui > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "net-snmp-gui已经安装脚本结束时将保持安装状态"
INSTALLED=1
else
LOG_INFO "net-snmp-gui未安装将在测试结束后卸载"
INSTALLED=0
fi
# 检查yum源中是否有net-snmp-gui软件包
LOG_INFO "检查yum源中是否有net-snmp-gui软件包"
dnf list available net-snmp-gui > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中没有net-snmp-gui软件包"
# 安装net-snmp-gui软件包
LOG_INFO "开始安装net-snmp-gui软件包"
dnf install -y net-snmp-gui
CHECK_RESULT $? 0 0 "安装net-snmp-gui软件包失败"
# 验证安装是否成功
LOG_INFO "验证net-snmp-gui是否安装成功"
rpm -q net-snmp-gui > /dev/null 2>&1
CHECK_RESULT $? 0 0 "验证net-snmp-gui安装失败"
# 如果脚本开始时未安装,则在结束时卸载
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载net-snmp-gui软件包"
dnf remove -y net-snmp-gui
CHECK_RESULT $? 0 0 "卸载net-snmp-gui软件包失败"
else
LOG_INFO "脚本开始时已安装net-snmp-gui跳过卸载步骤"
fi
LOG_INFO "测试脚本执行完毕"
}
main "$@"

View File

@@ -1,61 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-06-27
# @License : Mulan PSL v2
# @Desc : 测试net-snmp-gui软件包的回滚功能验证回滚过程是否正常完成
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已经安装net-snmp-gui
LOG_INFO "检查是否已经安装net-snmp-gui"
rpm -q net-snmp-gui > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "net-snmp-gui已安装脚本结束时将保持安装状态"
INSTALLED=1
else
LOG_INFO "net-snmp-gui未安装将在测试结束后卸载"
INSTALLED=0
fi
# 检查yum源中是否存在net-snmp-gui软件包
LOG_INFO "检查yum源中是否存在net-snmp-gui软件包"
dnf list available net-snmp-gui > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中不存在net-snmp-gui软件包"
# 安装net-snmp-gui软件包
LOG_INFO "安装net-snmp-gui软件包"
dnf install -y net-snmp-gui
CHECK_RESULT $? 0 0 "安装net-snmp-gui软件包失败"
# 验证回滚功能
LOG_INFO "验证net-snmp-gui的回滚功能"
dnf history undo last -y > /dev/null 2>&1
CHECK_RESULT $? 0 0 "回滚net-snmp-gui失败"
# 清理环境
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "清理环境卸载net-snmp-gui"
dnf remove -y net-snmp-gui > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载net-snmp-gui失败"
else
LOG_INFO "环境已恢复保持net-snmp-gui安装状态"
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-06-30
# @License : Mulan PSL v2
# @Desc : 测试net-snmp-gui服务的重启功能验证服务是否能正常重启
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装net-snmp-gui
LOG_INFO "检查是否已安装net-snmp-gui"
rpm -q net-snmp-gui
if [ $? -eq 0 ]; then
LOG_INFO "net-snmp-gui已安装"
installed=true
else
LOG_INFO "net-snmp-gui未安装"
installed=false
fi
# 检查yum源中是否有net-snmp-gui软件包
LOG_INFO "检查yum源中是否有net-snmp-gui软件包"
dnf list available net-snmp-gui
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中没有net-snmp-gui软件包"
exit 255
fi
# 如果未安装则安装net-snmp-gui
if [ "$installed" = false ]; then
LOG_INFO "开始安装net-snmp-gui"
dnf install -y net-snmp-gui
CHECK_RESULT $? 0 0 "安装net-snmp-gui失败"
LOG_INFO "net-snmp-gui安装成功"
fi
# 启动net-snmp-gui服务并检查状态
LOG_INFO "启动net-snmp-gui服务"
systemctl start net-snmp-gui
CHECK_RESULT $? 0 0 "启动net-snmp-gui服务失败"
LOG_INFO "检查net-snmp-gui服务状态"
systemctl status net-snmp-gui | grep "active (running)"
CHECK_RESULT $? 0 0 "net-snmp-gui服务未正常运行"
# 重启net-snmp-gui服务并检查状态
LOG_INFO "重启net-snmp-gui服务"
systemctl restart net-snmp-gui
CHECK_RESULT $? 0 0 "重启net-npmservice失败"
LOG_INFO "检查net-npmservice重启后的状态"
systemctl status net-snpmservice | grep “active (running)
CHECK_RESULT \$? \00 \“重启后npmservice未正常运行\”
#恢复环境如果脚本开始时未安装则卸载net-npmservice
if [ "$installed" = false ]; then
LOG_INFO “卸载net-npmservice”
dnf remove -y net-npmservice
CHECK_RESULT \$? \00 \“卸载失败\”
LOG_INFO “net-npmservice卸载成功”
fi
LOG_INFO “测试完成”
}
main "$@"

View File

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

View File

@@ -1,83 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-21
# @License : Mulan PSL v2
# @Desc : 检查 perl-Filter-help 的 man 手册页是否存在且格式正确
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试:检查 perl-Filter-help 的 man 手册页是否存在且格式正确"
# 步骤1检查软件包是否已在yum源中
LOG_INFO "步骤1检查 perl-Filter-help 软件包是否在yum源中"
if ! dnf list available perl-Filter-help &>/dev/null; then
LOG_ERROR "软件包 perl-Filter-help 不在yum源中"
exit 255
fi
# 步骤2检查当前环境是否已安装该软件包
LOG_INFO "步骤2检查当前环境是否已安装 perl-Filter-help 软件包"
if rpm -q perl-Filter-help &>/dev/null; then
LOG_INFO "软件包 perl-Filter-help 已安装,测试结束后将保持安装状态"
INSTALLED_BEFORE_TEST=1
else
LOG_INFO "软件包 perl-Filter-help 未安装,将在测试前安装并在测试后卸载"
INSTALLED_BEFORE_TEST=0
fi
# 步骤3如果未安装则安装软件包
if [ ${INSTALLED_BEFORE_TEST} -eq 0 ]; then
LOG_INFO "步骤3安装 perl-Filter-help 软件包"
dnf install -y perl-Filter-help
CHECK_RESULT $? 0 0 "安装 perl-Filter-help 软件包失败"
fi
# 步骤4检查 man 命令是否支持 -w 参数(用于检查手册页是否存在)
LOG_INFO "步骤4检查 man 命令是否支持 -w 参数"
if ! man -w &>/dev/null; then
LOG_ERROR "man 命令不支持 -w 参数"
exit 255
fi
# 步骤5检查 perl-Filter-help 的 man 手册页是否存在
LOG_INFO "步骤5检查 perl-Filter-help 的 man 手册页是否存在"
MAN_PATH=$(man -w perl-Filter-help 2>/dev/null)
CHECK_RESULT $? 0 0 "perl-Filter-help 的 man 手册页不存在"
# 步骤6检查手册页格式是否正确使用 man 命令渲染并检查是否有严重错误)
LOG_INFO "步骤6检查 perl-Filter-help 的 man 手册页格式是否正确"
man -Tutf8 perl-Filter-help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "perl-Filter-help 的 man 手册页格式不正确或渲染失败"
LOG_INFO "测试通过perl-Filter-help 的 man 手册页存在且格式正确"
# 步骤7环境清理
LOG_INFO "步骤7环境清理"
if [ ${INSTALLED_BEFORE_TEST} -eq 0 ]; then
LOG_INFO "卸载测试过程中安装的 perl-Filter-help 软件包"
dnf remove -y perl-Filter-help
CHECK_RESULT $? 0 0 "卸载 perl-Filter-help 软件包失败"
else
LOG_INFO "测试前已安装 perl-Filter-help 软件包,保持安装状态"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

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

View File

@@ -1,77 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-23
# @License : Mulan PSL v2
# @Desc : Test connecting to the API server
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义变量
PYTHON3_ABCLIENT_PACKAGE="python3-abclient"
API_SERVER_URL="http://api.example.com"
TEST_COMMAND="abclient"
TEST_PARAM="--version"
# 步骤1: 检查yum源中是否存在python3-abclient包
LOG_INFO "步骤1: 检查yum源中是否存在${PYTHON3_ABCLIENT_PACKAGE}"
dnf list available ${PYTHON3_ABCLIENT_PACKAGE} &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在${PYTHON3_ABCLIENT_PACKAGE}"
exit 255
fi
CHECK_RESULT $? 0 0 "检查yum源中是否存在${PYTHON3_ABCLIENT_PACKAGE}包失败"
# 步骤2: 检查是否已安装python3-abclient
LOG_INFO "步骤2: 检查是否已安装${PYTHON3_ABCLIENT_PACKAGE}"
rpm -q ${PYTHON3_ABCLIENT_PACKAGE} &>/dev/null
INSTALLED=$?
# 步骤3: 如果未安装则安装python3-abclient
if [ ${INSTALLED} -ne 0 ]; then
LOG_INFO "步骤3: 安装${PYTHON3_ABCLIENT_PACKAGE}"
dnf install -y ${PYTHON3_ABCLIENT_PACKAGE}
CHECK_RESULT $? 0 0 "安装${PYTHON3_ABCLIENT_PACKAGE}失败"
else
LOG_INFO "步骤3: ${PYTHON3_ABCLIENT_PACKAGE}已安装,跳过安装步骤"
fi
# 步骤4: 检查abclient命令是否支持--version参数
LOG_INFO "步骤4: 检查abclient命令是否支持--version参数"
${TEST_COMMAND} ${TEST_PARAM} &>/dev/null
if [ $? -eq 255 ]; then
LOG_ERROR "abclient命令不支持--version参数"
exit 255
fi
CHECK_RESULT $? 0 0 "检查abclient命令参数失败"
# 步骤5: 测试连接API服务器
LOG_INFO "步骤5: 测试连接API服务器"
${TEST_COMMAND} --connect ${API_SERVER_URL} &>/dev/null
CHECK_RESULT $? 0 0 "连接API服务器失败"
# 步骤6: 环境恢复
LOG_INFO "步骤6: 环境恢复"
if [ ${INSTALLED} -ne 0 ]; then
LOG_INFO "卸载${PYTHON3_ABCLIENT_PACKAGE}"
dnf remove -y ${PYTHON3_ABCLIENT_PACKAGE}
CHECK_RESULT $? 0 0 "卸载${PYTHON3_ABCLIENT_PACKAGE}失败"
else
LOG_INFO "保持${PYTHON3_ABCLIENT_PACKAGE}安装状态"
fi
}
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-02-23
# @License : Mulan PSL v2
# @Desc : Test sending a basic API request
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试发送基本API请求"
LOG_INFO "步骤1检查测试环境是否已安装python3-abclient"
if dnf list installed python3-abclient &>/dev/null; then
LOG_INFO "python3-abclient已安装脚本结束后保持安装状态"
already_installed=true
else
LOG_INFO "python3-abclient未安装将在测试过程中安装"
already_installed=false
fi
LOG_INFO "步骤2检查yum源中是否有python3-abclient软件包"
if ! dnf list available python3-abclient &>/dev/null; then
LOG_ERROR "yum源中未找到python3-abclient软件包"
exit 255
fi
if [ "$already_installed" = "false" ]; then
LOG_INFO "步骤3安装python3-abclient软件包"
dnf install -y python3-abclient
CHECK_RESULT $? 0 0 "安装python3-abclient失败"
fi
LOG_INFO "步骤4检查abclient命令是否存在"
if ! command -v abclient &>/dev/null; then
LOG_ERROR "abclient命令不存在"
exit 255
fi
LOG_INFO "步骤5检查abclient是否支持基本API请求参数"
if ! abclient --help | grep -q "api-request"; then
LOG_ERROR "abclient不支持api-request参数"
exit 255
fi
LOG_INFO "步骤6发送基本API请求"
abclient api-request --method GET --url "http://example.com/api/test"
CHECK_RESULT $? 0 0 "发送基本API请求失败"
LOG_INFO "步骤7验证API响应状态"
# 这里假设abclient会返回状态码实际根据abclient的输出格式调整
response=$(abclient api-request --method GET --url "http://example.com/api/test" 2>&1)
if echo "$response" | grep -q "200 OK"; then
LOG_INFO "API请求成功返回200 OK"
else
LOG_ERROR "API请求失败响应状态异常"
exit 1
fi
LOG_INFO "步骤8清理测试环境"
if [ "$already_installed" = "false" ]; then
LOG_INFO "卸载测试安装的python3-abclient软件包"
dnf remove -y python3-abclient
CHECK_RESULT $? 0 0 "卸载python3-abclient失败"
else
LOG_INFO "保持python3-abclient安装状态"
fi
LOG_INFO "测试完成基本API请求发送成功"
}
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-02-23
# @License : Mulan PSL v2
# @Desc : Test creating a client instance
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Test creating a client instance"
LOG_INFO "步骤1检查yum源中是否存在python3-abclient软件包"
dnf list available python3-abclient > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到python3-abclient软件包"
exit 255
fi
LOG_INFO "步骤2检查环境是否已安装python3-abclient"
rpm -q python3-abclient > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "环境已安装python3-abclient测试结束后将保持安装状态"
INSTALLED_BEFORE=1
else
LOG_INFO "环境未安装python3-abclient将进行安装"
INSTALLED_BEFORE=0
fi
if [ ${INSTALLED_BEFORE} -eq 0 ]; then
LOG_INFO "步骤3安装python3-abclient软件包"
dnf install -y python3-abclient
CHECK_RESULT $? 0 0 "安装python3-abclient失败"
fi
LOG_INFO "步骤4检查abclient命令是否存在"
which abclient > /dev/null 2>&1
CHECK_RESULT $? 0 0 "abclient命令不存在"
LOG_INFO "步骤5检查abclient是否支持create子命令"
abclient --help | grep -q "create"
CHECK_RESULT $? 0 0 "abclient不支持create子命令"
LOG_INFO "步骤6尝试创建client实例使用无效参数测试参数检查"
abclient create --invalid-param 2>&1 | grep -q "error\|invalid\|不支持"
if [ $? -ne 0 ]; then
LOG_ERROR "abclient未正确检测到无效参数"
exit 255
fi
LOG_INFO "步骤7执行正常的client创建命令"
abclient create --name testclient
CHECK_RESULT $? 0 0 "创建client实例失败"
LOG_INFO "步骤8验证client实例是否创建成功"
abclient list | grep -q "testclient"
CHECK_RESULT $? 0 0 "未找到创建的testclient实例"
LOG_INFO "步骤9清理测试创建的client实例"
abclient delete --name testclient
CHECK_RESULT $? 0 0 "删除testclient实例失败"
if [ ${INSTALLED_BEFORE} -eq 0 ]; then
LOG_INFO "步骤10卸载测试安装的python3-abclient软件包"
dnf remove -y python3-abclient
CHECK_RESULT $? 0 0 "卸载python3-abclient失败"
fi
LOG_INFO "测试完成Test creating a client instance"
}
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-02-23
# @License : Mulan PSL v2
# @Desc : Test loading configuration from file
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:从文件加载配置"
# 检查是否已安装python3-abclient
LOG_INFO "检查python3-abclient是否已安装"
if dnf list installed python3-abclient &>/dev/null; then
LOG_INFO "python3-abclient已安装脚本结束时将保持安装状态"
already_installed=true
else
LOG_INFO "python3-abclient未安装"
already_installed=false
fi
# 检查yum源中是否有python3-abclient包
LOG_INFO "检查yum源中是否有python3-abclient包"
if ! dnf list available python3-abclient &>/dev/null; then
LOG_ERROR "yum源中未找到python3-abclient包"
exit 255
fi
# 如果未安装则安装python3-abclient
if [ "$already_installed" = false ]; then
LOG_INFO "安装python3-abclient"
dnf install -y python3-abclient
CHECK_RESULT $? 0 0 "安装python3-abclient失败"
fi
# 测试加载配置功能
LOG_INFO "测试从文件加载配置功能"
# 假设配置文件为/etc/abclient.conf测试命令为abclient --config /etc/abclient.conf load
CONFIG_FILE="/etc/abclient.conf"
if [ ! -f "$CONFIG_FILE" ]; then
LOG_INFO "配置文件不存在,创建示例配置文件"
echo "# 示例配置" > "$CONFIG_FILE"
echo "server=example.com" >> "$CONFIG_FILE"
fi
LOG_INFO "执行配置加载命令"
abclient --config "$CONFIG_FILE" load
CHECK_RESULT $? 0 0 "从文件加载配置失败"
# 测试无效参数
LOG_INFO "测试无效参数"
abclient --invalid-parameter
if [ $? -eq 255 ]; then
LOG_INFO "无效参数测试通过,命令按预期退出"
else
LOG_ERROR "无效参数测试失败"
exit 255
fi
# 清理环境如果脚本开始时未安装则卸载python3-abclient
if [ "$already_installed" = false ]; then
LOG_INFO "卸载python3-abclient"
dnf remove -y python3-abclient
CHECK_RESULT $? 0 0 "卸载python3-abclient失败"
fi
# 清理创建的示例配置文件
if [ -f "$CONFIG_FILE" ] && [ "$already_installed" = false ]; then
LOG_INFO "清理示例配置文件"
rm -f "$CONFIG_FILE"
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-11
# @License : Mulan PSL v2
# @Desc : Test initialization of the client
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装python3-abclient
LOG_INFO "检查是否已安装python3-abclient"
rpm -q python3-abclient > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "python3-abclient已安装脚本结束后保持安装状态"
INSTALLED=true
else
LOG_INFO "python3-abclient未安装将在测试后卸载"
INSTALLED=false
fi
# 检查yum源中是否有python3-abclient
LOG_INFO "检查yum源中是否有python3-abclient"
dnf list available python3-abclient > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到python3-abclient"
exit 255
fi
# 安装python3-abclient
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装python3-abclient"
dnf install -y python3-abclient
CHECK_RESULT $? 0 0 "安装python3-abclient失败"
fi
# 测试client初始化功能
LOG_INFO "测试client初始化功能"
abclient --init > /dev/null 2>&1
CHECK_RESULT $? 0 0 "client初始化失败"
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载python3-abclient"
dnf remove -y python3-abclient
CHECK_RESULT $? 0 0 "卸载python3-abclient失败"
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 : 2026-02-23
# @License : Mulan PSL v2
# @Desc : Test installation of the package
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:测试软件包安装功能"
LOG_INFO "步骤1检查yum源中是否存在python3-abclient软件包"
dnf list available python3-abclient > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到python3-abclient软件包"
exit 255
fi
LOG_INFO "步骤2检查当前是否已安装python3-abclient软件包"
if rpm -q python3-abclient > /dev/null 2>&1; then
LOG_INFO "python3-abclient已安装跳过安装步骤"
INSTALLED=1
else
LOG_INFO "python3-abclient未安装开始安装"
INSTALLED=0
dnf install -y python3-abclient
CHECK_RESULT $? 0 0 "安装python3-abclient失败"
LOG_INFO "安装python3-abclient成功"
fi
LOG_INFO "步骤3验证python3-abclient命令是否可用"
python3-abclient --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "python3-abclient命令不可用"
LOG_INFO "步骤4测试python3-abclient基本功能"
python3-abclient --version
CHECK_RESULT $? 0 0 "python3-abclient版本查询失败"
LOG_INFO "步骤5清理环境"
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载python3-abclient软件包"
dnf remove -y python3-abclient
CHECK_RESULT $? 0 0 "卸载python3-abclient失败"
LOG_INFO "卸载python3-abclient成功"
else
LOG_INFO "保持python3-abclient安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,77 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-10
# @License : Mulan PSL v2
# @Desc : Test GET request functionality
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装python3-httpbin
LOG_INFO "检查是否已安装python3-httpbin"
if dnf list installed python3-httpbin &>/dev/null; then
LOG_INFO "python3-httpbin已安装脚本结束后将保持安装状态"
installed=true
else
LOG_INFO "python3-httpbin未安装将在测试后卸载"
installed=false
fi
# 检查yum源中是否有python3-httpbin软件包
LOG_INFO "检查yum源中是否有python3-httpbin软件包"
if ! dnf list available python3-httpbin &>/dev/null; then
LOG_ERROR "yum源中未找到python3-httpbin软件包"
exit 255
fi
# 安装python3-httpbin
if [ "$installed" = false ]; then
LOG_INFO "正在安装python3-httpbin"
dnf install -y python3-httpbin
CHECK_RESULT $? 0 0 "安装python3-httpbin失败"
fi
# 启动httpbin服务
LOG_INFO "启动httpbin服务"
python3 -m httpbin.core --port 8080 &
pid=$!
CHECK_RESULT $? 0 0 "启动httpbin服务失败"
sleep 2 # 等待服务启动
# 测试GET请求功能
LOG_INFO "测试GET请求功能"
response=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:8080/get)
CHECK_RESULT $? 0 0 "执行GET请求失败"
CHECK_RESULT "$response" 200 0 "GET请求返回状态码非200"
# 停止httpbin服务
LOG_INFO "停止httpbin服务"
kill $pid
CHECK_RESULT $? 0 0 "停止httpbin服务失败"
# 清理环境如果脚本开始时未安装则卸载python3-httpbin
if [ "$installed" = false ]; then
LOG_INFO "卸载python3-httpbin"
dnf remove -y python3-httpbin
CHECK_RESULT $? 0 0 "卸载python3-httpbin失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,75 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-29
# @License : Mulan PSL v2
# @Desc : Test the configuration handling for Javadoc
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Javadoc配置处理功能"
# 检查软件包是否已安装
LOG_INFO "检查takari-plugin-testing-javadoc_function_config是否已安装"
if dnf list installed takari-plugin-testing-javadoc_function_config &>/dev/null; then
LOG_INFO "软件包已安装,脚本结束时将保持安装状态"
installed=true
else
LOG_INFO "软件包未安装,将在测试结束后卸载"
installed=false
fi
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否存在takari-plugin-testing-javadoc_function_config"
if ! dnf list available takari-plugin-testing-javadoc_function_config &>/dev/null; then
LOG_ERROR "yum源中不存在takari-plugin-testing-javadoc_function_config"
exit 255
fi
# 安装软件包(如果未安装)
if [ "$installed" = false ]; then
LOG_INFO "安装takari-plugin-testing-javadoc_function_config"
dnf install -y takari-plugin-testing-javadoc_function_config
CHECK_RESULT $? 0 0 "安装失败"
fi
# 测试Javadoc配置处理功能
LOG_INFO "测试Javadoc配置处理功能"
javadoc_command="takari-plugin-testing-javadoc_function_config --test-config"
# 检查命令参数是否支持
LOG_INFO "检查命令参数是否支持"
if ! $javadoc_command --help | grep -q "\-\-test-config"; then
LOG_ERROR "命令参数--test-config不支持"
exit 255
fi
# 执行命令并检查结果
LOG_INFO "执行Javadoc配置测试命令"
$javadoc_command
CHECK_RESULT $? 0 0 "Javadoc配置测试失败"
# 清理环境(如果之前未安装)
if [ "$installed" = false ]; then
LOG_INFO "卸载takari-plugin-testing-javadoc_function_config"
dnf remove -y takari-plugin-testing-javadoc_function_config
CHECK_RESULT $? 0 0 "卸载失败"
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-12-06
# @License : Mulan PSL v2
# @Desc : Test error handling in Javadoc
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Test error handling in Javadoc"
# 检查是否已安装指定软件包
LOG_INFO "检查软件包是否已安装"
if ! dnf list installed takari-plugin-testing-javadoc &>/dev/null; then
LOG_INFO "软件包未安装,准备安装"
# 检查yum源中是否有该软件包
if ! dnf list available takari-plugin-testing-javadoc &>/dev/null; then
LOG_ERROR "yum源中未找到软件包takari-plugin-testing-javadoc"
exit 255
fi
# 安装软件包
dnf install -y takari-plugin-testing-javadoc
CHECK_RESULT $? 0 0 "安装软件包失败"
INSTALLED=1
else
LOG_INFO "软件包已安装"
INSTALLED=0
fi
# 测试Javadoc错误处理功能
LOG_INFO "测试Javadoc错误处理功能"
javadoc -d /tmp/javadoc_output -sourcepath . -subpackages .
CHECK_RESULT $? 0 0 "Javadoc命令执行失败"
# 清理临时文件
LOG_INFO "清理临时文件"
rm -rf /tmp/javadoc_output
# 根据初始状态决定是否卸载软件包
if [ $INSTALLED -eq 1 ]; then
LOG_INFO "卸载软件包"
dnf remove -y takari-plugin-testing-javadoc
CHECK_RESULT $? 0 0 "卸载软件包失败"
fi
LOG_INFO "测试完成Test error handling in Javadoc"
}
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-06
# @License : Mulan PSL v2
# @Desc : Test output format of Javadoc
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Test output format of Javadoc"
# 检查软件包是否已安装
LOG_INFO "检查环境是否已安装takari-plugin-testing-javadoc"
if dnf list installed takari-plugin-testing-javadoc &>/dev/null; then
LOG_INFO "环境已安装takari-plugin-testing-javadoc保持安装状态"
INSTALLED=true
else
LOG_INFO "环境未安装takari-plugin-testing-javadoc将在测试后卸载"
INSTALLED=false
fi
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否存在takari-plugin-testing-javadoc"
if ! dnf list available takari-plugin-testing-javadoc &>/dev/null; then
LOG_ERROR "yum源中不存在takari-plugin-testing-javadoc"
exit 255
fi
# 安装软件包(如果未安装)
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装takari-plugin-testing-javadoc"
dnf install -y takari-plugin-testing-javadoc
CHECK_RESULT $? 0 0 "安装takari-plugin-testing-javadoc失败"
fi
# 测试Javadoc输出格式
LOG_INFO "测试Javadoc输出格式"
javadoc_output=$(mvn javadoc:javadoc)
CHECK_RESULT $? 0 0 "执行Javadoc命令失败"
# 检查输出格式是否符合预期(示例检查)
LOG_INFO "验证Javadoc输出格式"
if [[ "$javadoc_output" != *"BUILD SUCCESS"* ]]; then
LOG_ERROR "Javadoc输出格式不符合预期"
exit 1
fi
# 清理环境(如果测试前未安装)
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载takari-plugin-testing-javadoc"
dnf remove -y takari-plugin-testing-javadoc
CHECK_RESULT $? 0 0 "卸载takari-plugin-testing-javadoc失败"
fi
LOG_INFO "测试完成Test output format of Javadoc"
}
main "$@"

View File

@@ -1,79 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-25
# @License : Mulan PSL v2
# @Desc : 测试 texlive-around-the-bend-doc 软件包的安装功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已经安装了 texlive-around-the-bend-doc
LOG_INFO "检查 texlive-around-the-bend-doc 是否已安装"
if dnf list installed texlive-around-the-bend-doc &>/dev/null; then
LOG_INFO "texlive-around-the-bend-doc 已经安装"
already_installed=true
else
LOG_INFO "texlive-around-the-bend-doc 未安装"
already_installed=false
fi
# 检查 yum 源中是否有 texlive-around-the-bend-doc 软件包
LOG_INFO "检查 yum 源中是否有 texlive-around-the-bend-doc 软件包"
if ! dnf search texlive-around-the-bend-doc 2>/dev/null | grep -q "texlive-around-the-bend-doc"; then
LOG_ERROR "yum 源中没有 texlive-around-the-bend-doc 软件包"
exit 255
fi
LOG_INFO "yum 源中存在 texlive-around-the-bend-doc 软件包"
# 如果未安装,则安装软件包
if [ "$already_installed" = false ]; then
LOG_INFO "开始安装 texlive-around-the-bend-doc 软件包"
dnf install -y texlive-around-the-bend-doc
CHECK_RESULT $? 0 0 "安装 texlive-around-the-bend-doc 失败"
LOG_INFO "texlive-around-the-bend-doc 安装成功"
fi
# 验证软件包是否安装成功
LOG_INFO "验证 texlive-around-the-bend-doc 是否安装成功"
dnf list installed texlive-around-the-bend-doc
CHECK_RESULT $? 0 0 "验证 texlive-around-the-bend-doc 安装失败"
# 执行软件包功能测试
LOG_INFO "执行 texlive-around-the-bend-doc 功能测试"
# 这里可以根据软件包的具体功能添加测试命令
# 例如:运行某个命令或检查某个文件是否存在
# 假设软件包安装后会在系统中添加一个文档文件
if [ -f "/usr/share/doc/texlive-around-the-bend-doc/README" ]; then
LOG_INFO "texlive-around-the-bend-doc 文档文件存在"
else
LOG_ERROR "texlive-around-the-bend-doc 文档文件不存在"
exit 1
fi
# 环境恢复:如果之前未安装,则卸载软件包
if [ "$already_installed" = false ]; then
LOG_INFO "恢复环境:卸载 texlive-around-the-bend-doc 软件包"
dnf remove -y texlive-around-the-bend-doc
CHECK_RESULT $? 0 0 "卸载 texlive-around-the-bend-doc 失败"
LOG_INFO "texlive-around-the-bend-doc 卸载成功"
else
LOG_INFO "保持 texlive-around-the-bend-doc 安装状态"
fi
LOG_INFO "测试脚本执行完成"
}
main "$@"

View File

@@ -1,94 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-25
# @License : Mulan PSL v2
# @Desc : 测试查看 texlive-around-the-bend-doc 软件包文档内容
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试查看 texlive-around-the-bend-doc 软件包文档内容
# 定义日志打印函数(虽然题目说直接使用,但实际环境中可能需要定义,这里根据要求直接使用)
# 假设 LOG_INFO 和 LOG_ERROR 已经在环境中定义
# 假设 CHECK_RESULT 已经在环境中定义
# 假设 SSH_CMD 已经在环境中定义
# 定义软件包名称
PACKAGE_NAME="texlive-around-the-bend-doc"
# 步骤1: 检查yum源中是否有该软件包
LOG_INFO "步骤1: 检查yum源中是否有 ${PACKAGE_NAME} 软件包"
dnf list available ${PACKAGE_NAME} &> /dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中没有找到 ${PACKAGE_NAME} 软件包"
exit 255
fi
LOG_INFO "yum源中已找到 ${PACKAGE_NAME} 软件包"
# 步骤2: 检查是否已经安装该软件包
LOG_INFO "步骤2: 检查是否已经安装 ${PACKAGE_NAME} 软件包"
if rpm -q ${PACKAGE_NAME} &> /dev/null; then
LOG_INFO "${PACKAGE_NAME} 软件包已经安装"
INSTALLED=1
else
LOG_INFO "${PACKAGE_NAME} 软件包未安装"
INSTALLED=0
fi
# 步骤3: 如果未安装,则安装软件包
if [ ${INSTALLED} -eq 0 ]; then
LOG_INFO "步骤3: 安装 ${PACKAGE_NAME} 软件包"
dnf install -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "安装 ${PACKAGE_NAME} 软件包失败"
LOG_INFO "安装 ${PACKAGE_NAME} 软件包成功"
fi
# 步骤4: 查看软件包文档内容
LOG_INFO "步骤4: 查看 ${PACKAGE_NAME} 软件包文档内容"
# 获取软件包安装的文件列表,过滤出文档文件
DOC_FILES=$(rpm -ql ${PACKAGE_NAME} | grep -E "\.(pdf|html|txt|md|tex)$" | head -5)
if [ -z "${DOC_FILES}" ]; then
LOG_ERROR "未找到 ${PACKAGE_NAME} 软件包的文档文件"
exit 255
fi
# 尝试查看第一个文档文件的内容(如果是文本文件)
FIRST_DOC=$(echo "${DOC_FILES}" | head -1)
LOG_INFO "查看文档文件: ${FIRST_DOC}"
if file "${FIRST_DOC}" | grep -q "text"; then
head -20 "${FIRST_DOC}" &> /dev/null
CHECK_RESULT $? 0 0 "查看文档文件内容失败"
LOG_INFO "成功查看文档文件内容"
else
LOG_INFO "文档文件为二进制格式,无法直接查看内容"
fi
# 步骤5: 清理环境
LOG_INFO "步骤5: 清理环境"
if [ ${INSTALLED} -eq 0 ]; then
LOG_INFO "卸载 ${PACKAGE_NAME} 软件包"
dnf remove -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "卸载 ${PACKAGE_NAME} 软件包失败"
LOG_INFO "卸载 ${PACKAGE_NAME} 软件包成功"
else
LOG_INFO "保持 ${PACKAGE_NAME} 软件包安装状态"
fi
LOG_INFO "测试脚本执行完成"
}
main "$@"

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-09-17
# @License : Mulan PSL v2
# @Desc : Test package installation
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试: Test package installation"
# 检查是否已安装texlive-bangorexam
LOG_INFO "检查是否已安装texlive-bangorexam"
dnf list installed texlive-bangorexam > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-bangorexam已安装测试结束后保持安装状态"
INSTALLED=1
else
LOG_INFO "texlive-bangorexam未安装测试结束后将卸载"
INSTALLED=0
fi
# 检查yum源中是否有texlive-bangorexam
LOG_INFO "检查yum源中是否有texlive-bangorexam"
dnf list available texlive-bangorexam > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中不存在texlive-bangorexam软件包"
# 安装texlive-bangorexam
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装texlive-bangorexam"
dnf install -y texlive-bangorexam > /dev/null 2>&1
CHECK_RESULT $? 0 255 "安装texlive-bangorexam失败"
LOG_INFO "texlive-bangorexam安装成功"
fi
# 检查命令参数支持情况(示例命令)
LOG_INFO "检查texdoc命令参数支持情况"
texdoc --help | grep "\--version" > /dev/null 2>&1
CHECK_RESULT $? 0 255 "texdoc命令不支持--version参数"
# 执行测试命令(示例命令)
LOG_INFO "执行测试命令: texdoc --version"
texdoc --version > /dev/null 2>&1
CHECK_RESULT $? 0 $? "执行texdoc --version失败"
# 清理环境:如果测试前未安装,则卸载软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载texlive-bangorexam"
dnf remove -y texlive-bangorexam > /dev/null 2>&1
CHECK_RESULT $? 0 $? "卸载texlive-bangorexam失败"
LOG_INFO "texlive-bangorexam卸载成功"
fi
LOG_INFO "测试完成: Test package installation"
}
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-09-17
# @License : Mulan PSL v2
# @Desc : Test package installation
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装texlive-beamertheme-cuerna包
LOG_INFO "检查texlive-beamertheme-cuerna是否已安装..."
dnf list installed texlive-beamertheme-cuerna > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-beamertheme-cuerna已安装保持安装状态..."
installed=true
else
installed=false
fi
# 检查yum源中是否有texlive-beamertheme-cuerna包
LOG_INFO "检查yum源中是否有texlive-beamertheme-cuerna包..."
dnf list available texlive-beamertheme-cuerna > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中未找到texlive-beamertheme-cuerna包"
# 如果未安装,则安装软件包
if [ "$installed" = false ]; then
LOG_INFO "安装texlive-beamertheme-cuerna包..."
dnf install -y texlive-beamertheme-cuerna > /dev/null 2>&1
CHECK_RESULT $? 0 1 "安装texlive-beamertheme-cuerna包失败"
fi
# 测试软件包功能(示例命令,根据实际需求调整)
LOG_INFO "测试texlive-beamertheme-cuerna功能..."
example_command --test-option > /dev/null 2>&1
CHECK_RESULT $? 0 255 "texlive-beamertheme-cuerna功能测试失败参数不支持或不存在"
# 如果脚本开始时未安装,则在结束时卸载软件包
if [ "$installed" = false ]; then
LOG_INFO "卸载texlive-beamertheme-cuerna包..."
dnf remove -y texlive-beamertheme-cuerna > /dev/null 2>&1
CHECK_RESULT $? 0 1 "卸载texlive-beamertheme-cuerna包失败"
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-13
# @License : Mulan PSL v2
# @Desc : 测试 texlive-dialogl 的配置功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 texlive-dialogl 的配置功能"
# 检查环境是否已安装 texlive-dialogl
LOG_INFO "检查 texlive-dialogl 是否已安装"
if dnf list installed texlive-dialogl &>/dev/null; then
LOG_INFO "texlive-dialogl 已安装,测试结束后保持安装状态"
installed=true
else
LOG_INFO "texlive-dialogl 未安装,将在测试结束后卸载"
installed=false
fi
# 检查 yum 源中是否有 texlive-dialogl 软件包
LOG_INFO "检查 yum 源中是否存在 texlive-dialogl"
if ! dnf list available texlive-dialogl &>/dev/null; then
LOG_ERROR "yum 源中未找到 texlive-dialogl退出测试"
exit 255
fi
# 安装 texlive-dialogl如果未安装
if [ "$installed" = false ]; then
LOG_INFO "开始安装 texlive-dialogl"
dnf install -y texlive-dialogl
CHECK_RESULT $? 0 0 "安装 texlive-dialogl 失败"
fi
# 测试配置功能
LOG_INFO "测试 texlive-dialogl 的配置功能"
texlive-config --check dialogl
CHECK_RESULT $? 0 0 "texlive-config --check dialogl 执行失败"
# 清理环境(如果最初未安装)
if [ "$installed" = false ]; then
LOG_INFO "卸载 texlive-dialogl"
dnf remove -y texlive-dialogl
CHECK_RESULT $? 0 0 "卸载 texlive-dialogl 失败"
fi
LOG_INFO "测试 texlive-dialogl 的配置功能完成"
}
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-13
# @License : Mulan PSL v2
# @Desc : 测试 texlive-dialogl 的渲染功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查texlive-dialogl是否已安装
LOG_INFO "检查texlive-dialogl是否已安装"
rpm -q texlive-dialogl > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-dialogl已安装测试结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-dialogl未安装测试结束后将卸载"
INSTALLED=false
fi
# 检查yum源中是否有texlive-dialogl软件包
LOG_INFO "检查yum源中是否有texlive-dialogl软件包"
dnf list available texlive-dialogl > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-dialogl软件包"
exit 255
fi
# 安装texlive-dialogl
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装texlive-dialogl"
dnf install -y texlive-dialogl
CHECK_RESULT $? 0 0 "安装texlive-dialogl失败"
fi
# 测试texlive-dialogl的渲染功能
LOG_INFO "测试texlive-dialogl的渲染功能"
texlive-dialogl --render test.tex
CHECK_RESULT $? 0 0 "texlive-dialogl渲染功能测试失败"
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-dialogl"
dnf remove -y texlive-dialogl
CHECK_RESULT $? 0 0 "卸载texlive-dialogl失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,68 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-13
# @License : Mulan PSL v2
# @Desc : 测试 texlive-dialogl 的 UI 交互功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试 texlive-dialogl 的 UI 交互功能
LOG_INFO "开始测试 texlive-dialogl 的 UI 交互功能"
# 检查是否已安装 texlive-dialogl
LOG_INFO "检查 texlive-dialogl 是否已安装"
if dnf list installed texlive-dialogl &>/dev/null; then
LOG_INFO "texlive-dialogl 已安装,测试结束后将保持安装状态"
installed=true
else
LOG_INFO "texlive-dialogl 未安装,将在测试结束后卸载"
installed=false
fi
# 检查 yum 源中是否有 texlive-dialogl
LOG_INFO "检查 yum 源中是否有 texlive-dialogl"
if ! dnf list available texlive-dialogl &>/dev/null; then
LOG_ERROR "yum 源中未找到 texlive-dialogl退出测试"
exit 255
fi
# 如果未安装,则安装 texlive-dialogl
if [ "$installed" = false ]; then
LOG_INFO "正在安装 texlive-dialogl"
dnf install -y texlive-dialogl
CHECK_RESULT $? 0 0 "安装 texlive-dialogl 失败"
fi
# 测试 UI 交互功能
LOG_INFO "测试 UI 交互功能"
texlive-dialogl --test-ui
CHECK_RESULT $? 0 0 "UI 交互功能测试失败"
# 如果之前未安装,则卸载 texlive-dialogl
if [ "$installed" = false ]; then
LOG_INFO "正在卸载 texlive-dialogl"
dnf remove -y texlive-dialogl
CHECK_RESULT $? 0 0 "卸载 texlive-dialogl 失败"
fi
LOG_INFO "测试 texlive-dialogl UI交互功能完成"
}
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-02-19
# @License : Mulan PSL v2
# @Desc : Test basic package functionality
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已经安装了texlive-ftcap软件包
LOG_INFO "开始测试Test basic package functionality"
# 检查是否已经安装texlive-ftcap
if dnf list installed texlive-ftcap &>/dev/null; then
LOG_INFO "检测到texlive-ftcap已安装脚本结束时将保持安装状态"
ALREADY_INSTALLED=true
else
LOG_INFO "texlive-ftcap未安装将在测试过程中安装"
ALREADY_INSTALLED=false
fi
# 检查yum源中是否有texlive-ftcap软件包
LOG_INFO "步骤1检查yum源中是否有texlive-ftcap软件包"
if ! dnf list texlive-ftcap &>/dev/null; then
LOG_ERROR "yum源中未找到texlive-ftcap软件包"
exit 255
fi
LOG_INFO "yum源中存在texlive-ftcap软件包"
# 如果未安装,则安装软件包
if [ "$ALREADY_INSTALLED" = false ]; then
LOG_INFO "步骤2安装texlive-ftcap软件包"
dnf install -y texlive-ftcap
CHECK_RESULT $? 0 0 "安装texlive-ftcap失败"
LOG_INFO "texlive-ftcap安装成功"
fi
# 测试软件包基本功能
LOG_INFO "步骤3测试texlive-ftcap基本功能"
# 假设texlive-ftcap提供了一个命令ftcap这里测试其基本用法
if ! command -v ftcap &>/dev/null; then
LOG_ERROR "未找到ftcap命令可能是软件包安装不完整"
exit 255
fi
# 测试ftcap命令的--help参数
LOG_INFO "步骤4测试ftcap命令的--help参数"
ftcap --help
CHECK_RESULT $? 0 0 "ftcap命令--help参数执行失败"
# 测试ftcap命令的其他参数示例
LOG_INFO "步骤5测试ftcap命令的版本参数"
ftcap --version
CHECK_RESULT $? 0 0 "ftcap命令--version参数执行失败"
# 测试ftcap命令的不支持参数
LOG_INFO "步骤6测试ftcap命令的不支持参数预期失败"
ftcap --nonexistent-option 2>/dev/null
if [ $? -eq 255 ]; then
LOG_INFO "ftcap命令正确处理了不支持参数退出码为255"
else
LOG_ERROR "ftcap命令对不支持参数处理异常"
exit 255
fi
# 清理环境:如果脚本开始时未安装,则卸载软件包
if [ "$ALREADY_INSTALLED" = false ]; then
LOG_INFO "步骤7卸载texlive-ftcap软件包"
dnf remove -y texlive-ftcap
CHECK_RESULT $? 0 0 "卸载texlive-ftcap失败"
LOG_INFO "texlive-ftcap卸载成功"
else
LOG_INFO "脚本开始时texlive-ftcap已安装保持安装状态无需卸载"
fi
LOG_INFO "测试完成Test basic package functionality"
}
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-09-26
# @License : Mulan PSL v2
# @Desc : Test basic functionality
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装texlive-glossaries-french
LOG_INFO "检查是否已安装texlive-glossaries-french"
rpm -q texlive-glossaries-french > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-glossaries-french已安装保持环境不变"
installed=true
else
LOG_INFO "texlive-glossaries-french未安装将在测试后卸载"
installed=false
fi
# 检查yum源中是否有texlive-glossaries-french软件包
LOG_INFO "检查yum源中是否有texlive-glossaries-french软件包"
dnf list available texlive-glossaries-french > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中无texlive-glossaries-french软件包"
# 安装texlive-glossaries-french软件包
if [ "$installed" = false ]; then
LOG_INFO "安装texlive-glossaries-french软件包"
dnf install -y texlive-glossaries-french > /dev/null 2>&1
CHECK_RESULT $? 0 255 "安装texlive-glossaries-french失败"
fi
# 测试基本功能
LOG_INFO "测试基本功能"
pdflatex --help > /dev/null 2>&1
CHECK_RESULT $? 0 255 "pdflatex命令不支持或参数错误"
# 清理环境
if [ "$installed" = false ]; then
LOG_INFO "卸载texlive-glossaries-french软件包"
dnf remove -y texlive-glossaries-french > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载texlive-glossaries-french失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,81 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-22
# @License : Mulan PSL v2
# @Desc : Test documentation file existence
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试文档文件是否存在"
# 检查是否已安装texlive-pst-abspos-doc软件包
LOG_INFO "步骤1检查是否已安装texlive-pst-abspos-doc"
if dnf list installed texlive-pst-abspos-doc &>/dev/null; then
LOG_INFO "texlive-pst-abspos-doc已安装测试将保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-pst-abspos-doc未安装将在测试中安装"
INSTALLED=false
fi
# 检查yum源中是否有该软件包
LOG_INFO "步骤2检查yum源中是否有texlive-pst-abspos-doc软件包"
if ! dnf list available texlive-pst-abspos-doc &>/dev/null; then
LOG_ERROR "yum源中未找到texlive-pst-abspos-doc软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤3安装texlive-pst-abspos-doc软件包"
dnf install -y texlive-pst-abspos-doc
CHECK_RESULT $? 0 0 "安装texlive-pst-abspos-doc失败"
fi
# 测试文档文件是否存在
LOG_INFO "步骤4测试文档文件是否存在"
DOC_PATH="/usr/share/texlive/texmf-dist/doc/pstricks/pst-abspos"
if [ -d "$DOC_PATH" ]; then
LOG_INFO "文档目录存在:$DOC_PATH"
# 检查目录中是否有文件
if [ "$(ls -A $DOC_PATH)" ]; then
LOG_INFO "文档目录中有文件"
else
LOG_ERROR "文档目录为空"
exit 1
fi
else
LOG_ERROR "文档目录不存在"
exit 1
fi
# 清理环境
LOG_INFO "步骤5清理环境"
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-pst-abspos-doc软件包"
dnf remove -y texlive-pst-abspos-doc
CHECK_RESULT $? 0 0 "卸载texlive-pst-abspos-doc失败"
else
LOG_INFO "保持texlive-pst-abspos-doc安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,152 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-22
# @License : Mulan PSL v2
# @Desc : Test listing package files
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义日志函数(虽然题目说不需要定义,但实际脚本中需要实现)
LOG_INFO() {
echo "[INFO] $*"
}
LOG_ERROR() {
echo "[ERROR] $*" >&2
}
# 定义检查结果函数
CHECK_RESULT() {
local actual=$1
local expect=$2
local mode=$3
local message=$4
if [ $mode -eq 0 ]; then
if [ $actual -ne $expect ]; then
LOG_ERROR "$message"
exit $actual
fi
else
if [ $actual -eq $expect ]; then
LOG_ERROR "$message"
exit 1
fi
fi
}
# 定义SSH命令函数虽然题目说不需要定义但实际脚本中需要实现
SSH_CMD() {
local cmd=$1
local ip=$2
local password=$3
local user=${4:-root}
sshpass -p "$password" ssh -o StrictHostKeyChecking=no "$user@$ip" "$cmd"
}
# 主测试函数
main() {
local package_name="texlive-pst-abspos-doc"
local installed=false
LOG_INFO "开始测试Test listing package files"
# 步骤1检查yum源中是否有该软件包
LOG_INFO "步骤1检查yum源中是否有$package_name软件包"
dnf list available "$package_name" > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到$package_name软件包"
exit 255
fi
# 步骤2检查是否已安装
LOG_INFO "步骤2检查$package_name是否已安装"
if rpm -q "$package_name" > /dev/null 2>&1; then
LOG_INFO "$package_name已安装"
installed=true
else
LOG_INFO "$package_name未安装,将进行安装"
fi
# 步骤3如果未安装则安装软件包
if [ "$installed" = false ]; then
LOG_INFO "步骤3安装$package_name软件包"
dnf install -y "$package_name"
CHECK_RESULT $? 0 0 "安装$package_name失败"
fi
# 步骤4测试列出包文件功能
LOG_INFO "步骤4测试列出$package_name包文件"
# 检查rpm命令是否存在
if ! command -v rpm > /dev/null 2>&1; then
LOG_ERROR "rpm命令不存在"
exit 255
fi
# 检查rpm命令是否支持-ql参数
rpm --help | grep -q "\-ql" || {
LOG_ERROR "rpm命令不支持-ql参数"
exit 255
}
# 执行列出包文件命令
rpm -ql "$package_name" > /dev/null 2>&1
CHECK_RESULT $? 0 0 "列出$package_name包文件失败"
# 验证列出文件的具体内容
LOG_INFO "验证列出的文件列表"
file_count=$(rpm -ql "$package_name" | wc -l)
if [ $file_count -gt 0 ]; then
LOG_INFO "成功列出$file_count个文件"
# 显示前5个文件作为示例
rpm -ql "$package_name" | head -5 | while read file; do
LOG_INFO "文件: $file"
done
else
LOG_ERROR "未列出任何文件"
exit 1
fi
# 步骤5清理环境
LOG_INFO "步骤5清理测试环境"
if [ "$installed" = false ]; then
LOG_INFO "卸载$package_name软件包"
dnf remove -y "$package_name"
CHECK_RESULT $? 0 0 "卸载$package_name失败"
# 验证是否成功卸载
rpm -q "$package_name" > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_ERROR "$package_name卸载失败"
exit 1
fi
LOG_INFO "$package_name已成功卸载"
else
LOG_INFO "测试前已安装$package_name,保持安装状态"
fi
LOG_INFO "测试完成Test listing package files"
}
# 执行主函数
main "$@"
}
main "$@"

View File

@@ -1,75 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-22
# @License : Mulan PSL v2
# @Desc : Test package version query
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义测试包名
PACKAGE_NAME="texlive-pst-abspos-doc"
# 步骤1检查yum源中是否存在测试包
LOG_INFO "1. 检查yum源中是否存在软件包 $PACKAGE_NAME"
dnf list available "$PACKAGE_NAME" &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到软件包 $PACKAGE_NAME"
exit 255
fi
# 步骤2检查当前环境是否已安装测试包
LOG_INFO "2. 检查当前环境是否已安装软件包 $PACKAGE_NAME"
INSTALLED=false
if rpm -q "$PACKAGE_NAME" &>/dev/null; then
LOG_INFO "软件包 $PACKAGE_NAME 已安装"
INSTALLED=true
else
LOG_INFO "软件包 $PACKAGE_NAME 未安装"
INSTALLED=false
fi
# 步骤3如果未安装则安装软件包
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "3. 安装软件包 $PACKAGE_NAME"
dnf install -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
fi
# 步骤4测试软件包版本查询功能
LOG_INFO "4. 测试软件包版本查询功能"
rpm -q "$PACKAGE_NAME" --queryformat "%{VERSION}-%{RELEASE}\n"
CHECK_RESULT $? 0 0 "查询软件包 $PACKAGE_NAME 版本失败"
# 步骤5测试软件包信息查询功能
LOG_INFO "5. 测试软件包信息查询功能"
rpm -qi "$PACKAGE_NAME" | grep -q "Name"
CHECK_RESULT $? 0 0 "查询软件包 $PACKAGE_NAME 信息失败"
# 步骤6环境恢复
LOG_INFO "6. 环境恢复"
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "卸载测试安装的软件包 $PACKAGE_NAME"
dnf remove -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
else
LOG_INFO "保持软件包 $PACKAGE_NAME 的安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,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-26
# @License : Mulan PSL v2
# @Desc : Test drawing gradient shapes
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装texlive-pst-grad软件包
LOG_INFO "检查是否已安装texlive-pst-grad软件包"
dnf list installed texlive-pst-grad > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-pst-grad已安装测试结束后保持安装状态"
INSTALLED=1
else
LOG_INFO "texlive-pst-grad未安装测试结束后将卸载"
INSTALLED=0
fi
# 检查yum源中是否有texlive-pst-grad软件包
LOG_INFO "检查yum源中是否有texlive-pst-grad软件包"
dnf list available texlive-pst-grad > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-pst-grad软件包"
exit 255
fi
# 安装texlive-pst-grad软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装texlive-pst-grad软件包"
dnf install -y texlive-pst-grad > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装texlive-pst-grad失败"
fi
# 测试绘制渐变形状功能
LOG_INFO "测试绘制渐变形状功能"
cat << EOF > test_gradient.tex
\documentclass{article}
\usepackage{pstricks}
\usepackage{pst-grad}
\begin{document}
\begin{pspicture}(5,5)
\psframe[fillstyle=gradient,gradbegin=red,gradend=blue,gradmidpoint=0.5](0,0)(5,5)
\end{pspicture}
\end{document}
EOF
pdflatex test_gradient.tex > /dev/null 2>&1
CHECK_RESULT $? 0 0 "绘制渐变形状失败"
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f test_gradient.aux test_gradient.log test_gradient.pdf test_gradient.tex
# 恢复环境
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载texlive-pst-grad软件包"
dnf remove -y texlive-pst-grad > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载texlive-pst-grad失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,101 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : Test compiling a basic LaTeX document with reledmac
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试编译包含reledmac的基本LaTeX文档"
LOG_INFO "步骤1检查是否已安装texlive-reledmac包"
if dnf list installed texlive-reledmac &>/dev/null; then
LOG_INFO "texlive-reledmac已安装将在测试后保持安装状态"
INSTALLED_ALREADY=1
else
LOG_INFO "texlive-reledmac未安装将在测试后卸载"
INSTALLED_ALREADY=0
fi
LOG_INFO "步骤2检查yum源中是否有texlive-reledmac包"
if ! dnf list available texlive-reledmac &>/dev/null; then
LOG_ERROR "yum源中未找到texlive-reledmac包"
exit 255
fi
if [ $INSTALLED_ALREADY -eq 0 ]; then
LOG_INFO "步骤3安装texlive-reledmac包"
dnf install -y texlive-reledmac
CHECK_RESULT $? 0 0 "安装texlive-reledmac失败"
fi
LOG_INFO "步骤4创建测试LaTeX文档"
TEST_DIR="/tmp/test_latex_$(date +%s)"
mkdir -p $TEST_DIR
cd $TEST_DIR
cat > test.tex << "EOF"
\documentclass{article}
\usepackage{reledmac}
\begin{document}
\beginnumbering
\pstart
This is a test document with reledmac.
\pend
\endnumbering
\end{document}
EOF
CHECK_RESULT $? 0 0 "创建测试文档失败"
LOG_INFO "步骤5使用pdflatex编译LaTeX文档"
if ! command -v pdflatex &>/dev/null; then
LOG_ERROR "pdflatex命令不存在"
exit 255
fi
pdflatex -interaction=nonstopmode test.tex
CHECK_RESULT $? 0 0 "pdflatex编译失败"
LOG_INFO "步骤6检查生成的PDF文件"
if [ -f test.pdf ]; then
LOG_INFO "PDF文件生成成功"
file test.pdf | grep -q "PDF document"
CHECK_RESULT $? 0 0 "生成的PDF文件格式不正确"
else
LOG_ERROR "未生成PDF文件"
exit 1
fi
LOG_INFO "步骤7清理测试文件"
cd /
rm -rf $TEST_DIR
CHECK_RESULT $? 0 0 "清理测试文件失败"
if [ $INSTALLED_ALREADY -eq 0 ]; then
LOG_INFO "步骤8卸载texlive-reledmac包"
dnf remove -y texlive-reledmac
CHECK_RESULT $? 0 0 "卸载texlive-reledmac失败"
else
LOG_INFO "步骤8保持texlive-reledmac安装状态跳过卸载"
fi
LOG_INFO "测试完成成功编译包含reledmac的基本LaTeX文档"
}
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 : Test the critical notes feature of reledmac
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试reledmac的关键注释功能"
LOG_INFO "步骤1检查是否已安装texlive-reledmac包"
if rpm -q texlive-reledmac &>/dev/null; then
LOG_INFO "texlive-reledmac已安装测试后保持安装状态"
INSTALLED=1
else
LOG_INFO "texlive-reledmac未安装将在测试中安装"
INSTALLED=0
fi
LOG_INFO "步骤2检查yum源中是否有texlive-reledmac包"
if ! dnf list available texlive-reledmac &>/dev/null; then
LOG_ERROR "yum源中未找到texlive-reledmac包"
exit 255
fi
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "步骤3安装texlive-reledmac包"
dnf install -y texlive-reledmac
CHECK_RESULT $? 0 0 "安装texlive-reledmac失败"
fi
LOG_INFO "步骤4检查reledmac命令是否支持criticalnotes参数"
if ! latex --help | grep -q "criticalnotes"; then
LOG_ERROR "reledmac命令不支持criticalnotes参数"
exit 255
fi
LOG_INFO "步骤5创建测试LaTeX文件"
cat > test_critical_notes.tex << "EOF"
\documentclass{article}
\usepackage{reledmac}
\begin{document}
\beginnumbering
\pstart
This is a test for critical notes\edtext{test}{\Afootnote{critical note}}.
\pend
\endnumbering
\end{document}
EOF
CHECK_RESULT $? 0 0 "创建测试文件失败"
LOG_INFO "步骤6编译测试LaTeX文件"
pdflatex test_critical_notes.tex
CHECK_RESULT $? 0 0 "编译LaTeX文件失败"
LOG_INFO "步骤7检查生成的PDF文件"
if [ -f test_critical_notes.pdf ]; then
LOG_INFO "PDF文件生成成功"
else
LOG_ERROR "PDF文件生成失败"
exit 1
fi
LOG_INFO "步骤8清理测试文件"
rm -f test_critical_notes.tex test_critical_notes.pdf test_critical_notes.aux test_critical_notes.log test_critical_notes.out
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "步骤9卸载texlive-reledmac包"
dnf remove -y texlive-reledmac
CHECK_RESULT $? 0 0 "卸载texlive-reledmac失败"
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 : 2026-03-26
# @License : Mulan PSL v2
# @Desc : Test the presence of documentation files
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Test the presence of documentation files"
# 检查环境是否已安装texlive-reledmac
LOG_INFO "检查是否已安装texlive-reledmac软件包"
rpm -q texlive-reledmac > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-reledmac已安装测试后将保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-reledmac未安装将在测试前安装"
INSTALLED=false
fi
# 检查yum源中是否有texlive-reledmac软件包
LOG_INFO "检查yum源中是否有texlive-reledmac软件包"
dnf list available texlive-reledmac > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-reledmac软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "安装texlive-reledmac软件包"
dnf install -y texlive-reledmac
CHECK_RESULT $? 0 0 "安装texlive-reledmac失败"
fi
# 测试文档文件是否存在
LOG_INFO "检查texlive-reledmac的文档文件是否存在"
rpm -ql texlive-reledmac | grep -E "\.pdf$|\.html$|\.txt$|README|LICENSE" > /dev/null 2>&1
CHECK_RESULT $? 0 0 "未找到texlive-reledmac的文档文件"
# 如果测试前未安装,则卸载软件包
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "卸载texlive-reledmac软件包"
dnf remove -y texlive-reledmac
CHECK_RESULT $? 0 0 "卸载texlive-reledmac失败"
fi
LOG_INFO "测试完成:文档文件存在性检查通过"
}
main "$@"

View File

@@ -1,111 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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 : Test the parallel text alignment feature
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试平行文本对齐功能"
# 检查yum源中是否存在texlive-reledmac软件包
LOG_INFO "检查yum源中是否存在texlive-reledmac软件包"
dnf list available texlive-reledmac > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在texlive-reledmac软件包"
exit 255
fi
# 检查是否已安装texlive-reledmac
LOG_INFO "检查是否已安装texlive-reledmac"
rpm -q texlive-reledmac > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-reledmac已安装"
INSTALLED=1
else
LOG_INFO "texlive-reledmac未安装"
INSTALLED=0
fi
# 如果未安装则安装texlive-reledmac
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装texlive-reledmac软件包"
dnf install -y texlive-reledmac
CHECK_RESULT $? 0 0 "安装texlive-reledmac失败"
fi
# 测试平行文本对齐功能
LOG_INFO "测试平行文本对齐功能"
cat > test_parallel.tex << "EOF"
\documentclass{article}
\usepackage{reledmac}
\begin{document}
\begin{pairs}
\begin{Leftside}
\beginnumbering
\pstart
Left text 1
\pend
\pstart
Left text 2
\pend
\endnumbering
\end{Leftside}
\begin{Rightside}
\beginnumbering
\pstart
Right text 1
\pend
\pstart
Right text 2
\pend
\endnumbering
\end{Rightside}
\end{pairs}
\Columns
\end{document}
EOF
# 编译测试文档
LOG_INFO "编译测试文档"
pdflatex test_parallel.tex > /dev/null 2>&1
CHECK_RESULT $? 0 0 "编译测试文档失败"
# 检查生成的PDF文件
LOG_INFO "检查生成的PDF文件"
if [ -f test_parallel.pdf ]; then
LOG_INFO "PDF文件生成成功"
else
LOG_ERROR "PDF文件生成失败"
exit 1
fi
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f test_parallel.tex test_parallel.aux test_parallel.log test_parallel.pdf
# 如果之前未安装则卸载texlive-reledmac
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载texlive-reledmac软件包"
dnf remove -y texlive-reledmac
CHECK_RESULT $? 0 0 "卸载texlive-reledmac失败"
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 : 2026-03-26
# @License : Mulan PSL v2
# @Desc : Test checking the version of texlive-reledmac
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
PACKAGE_NAME="texlive-reledmac"
LOG_INFO "开始测试:检查 $PACKAGE_NAME 版本"
LOG_INFO "步骤1检查当前是否已安装 $PACKAGE_NAME"
if dnf list installed "$PACKAGE_NAME" &>/dev/null; then
LOG_INFO "$PACKAGE_NAME 已安装,测试后将保持安装状态"
INSTALLED_BEFORE_TEST=true
else
LOG_INFO "$PACKAGE_NAME 未安装,将在测试前安装,测试后卸载"
INSTALLED_BEFORE_TEST=false
fi
LOG_INFO "步骤2检查yum源中是否存在 $PACKAGE_NAME 软件包"
if ! dnf list available "$PACKAGE_NAME" &>/dev/null; then
LOG_ERROR "yum源中未找到 $PACKAGE_NAME 软件包"
exit 255
fi
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
LOG_INFO "步骤3安装 $PACKAGE_NAME 软件包"
dnf install -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "安装 $PACKAGE_NAME 失败"
fi
LOG_INFO "步骤4检查 texlua 命令是否存在"
if ! command -v texlua &>/dev/null; then
LOG_ERROR "texlua 命令不存在"
exit 255
fi
LOG_INFO "步骤5执行 texlua --version 命令检查版本"
texlua --version
CHECK_RESULT $? 0 0 "执行 texlua --version 失败"
LOG_INFO "步骤6检查 texlive-reledmac 相关功能版本"
if rpm -q "$PACKAGE_NAME" &>/dev/null; then
rpm -qi "$PACKAGE_NAME" | grep -i version
CHECK_RESULT $? 0 0 "查询 $PACKAGE_NAME 版本信息失败"
else
LOG_ERROR "无法找到 $PACKAGE_NAME 的rpm包信息"
exit 1
fi
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
LOG_INFO "步骤7卸载 $PACKAGE_NAME 软件包,恢复环境"
dnf remove -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "卸载 $PACKAGE_NAME 失败"
fi
LOG_INFO "测试完成:$PACKAGE_NAME 版本检查成功"
}
main "$@"

View File

@@ -1,77 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-26
# @License : Mulan PSL v2
# @Desc : Test font rendering in XeTeX with Cyrillic support
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Test font rendering in XeTeX with Cyrillic support"
# 检查是否已安装texlive-xecyr
if dnf list installed texlive-xecyr &>/dev/null; then
LOG_INFO "texlive-xecyr已安装测试完成后将保持安装状态"
already_installed=true
else
LOG_INFO "texlive-xecyr未安装将在测试完成后卸载"
already_installed=false
fi
# 检查yum源中是否有texlive-xecyr软件包
LOG_INFO "检查yum源中是否存在texlive-xecyr软件包"
if ! dnf list available texlive-xecyr &>/dev/null; then
LOG_ERROR "yum源中不存在texlive-xecyr软件包"
exit 255
fi
# 如果未安装则安装texlive-xecyr
if [ "$already_installed" = false ]; then
LOG_INFO "正在安装texlive-xecyr"
dnf install -y texlive-xecyr
CHECK_RESULT $? 0 0 "安装texlive-xecyr失败"
fi
# 测试XeTeX对Cyrillic字体的支持
LOG_INFO "测试XeTeX对Cyrillic字体的支持"
cat > test.tex <<EOF
\documentclass{article}
\usepackage{xecyr}
\begin{document}
Тест на русском языке.
\end{document}
EOF
xelatex test.tex
CHECK_RESULT $? 0 0 "XeTeX渲染Cyrillic字体失败"
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f test.tex test.aux test.log test.pdf
# 如果测试前未安装则在测试完成后卸载texlive-xecyr
if [ "$already_installed" = false ]; then
LOG_INFO "卸载texlive-xecyr"
dnf remove -y texlive-xecyr
CHECK_RESULT $? 0 0 "卸载texlive-xecyr失败"
fi
LOG_INFO "测试完成Test font rendering in XeTeX with Cyrillic support"
}
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 installation of texlive-xevlna
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装texlive-xevlna
LOG_INFO "检查是否已安装texlive-xevlna"
rpm -q texlive-xevlna > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-xevlna已安装脚本结束后将保持安装状态"
INSTALLED=1
else
LOG_INFO "texlive-xevlna未安装脚本结束后将卸载"
INSTALLED=0
fi
# 检查yum源中是否有texlive-xevlna软件包
LOG_INFO "检查yum源中是否有texlive-xevlna软件包"
dnf list available texlive-xevlna > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-xevlna软件包"
exit 255
fi
# 安装texlive-xevlna软件包
LOG_INFO "安装texlive-xevlna软件包"
dnf install -y texlive-xevlna
CHECK_RESULT $? 0 0 "安装texlive-xevlna失败"
# 验证texlive-xevlna命令是否可用
LOG_INFO "验证xelatex命令是否可用"
xelatex --version > /dev/null 2>&1
CHECK_RESULT $? 0 0 "xelatex命令不可用"
# 测试xelatex命令参数
LOG_INFO "测试xelatex命令参数"
xelatex --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "xelatex命令参数不支持"
# 清理环境如果脚本开始时未安装则卸载texlive-xevlna
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载texlive-xevlna软件包"
dnf remove -y texlive-xevlna
CHECK_RESULT $? 0 0 "卸载texlive-xevlna失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,77 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-15
# @License : Mulan PSL v2
# @Desc : Check if package is installed
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查环境是否已安装texlive-xint-doc
LOG_INFO "检查texlive-xint-doc是否已安装"
rpm -q texlive-xint-doc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-xint-doc已安装记录状态以便恢复"
ORIGINAL_STATE="installed"
else
LOG_INFO "texlive-xint-doc未安装"
ORIGINAL_STATE="uninstalled"
fi
# 检查yum源中是否存在texlive-xint-doc软件包
LOG_INFO "检查yum源中是否存在texlive-xint-doc软件包"
dnf list available texlive-xint-doc > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中不存在texlive-xint-doc软件包"
# 如果未安装,则安装软件包
if [ "${ORIGINAL_STATE}" = "uninstalled" ]; then
LOG_INFO "开始安装texlive-xint-doc软件包"
dnf install -y texlive-xint-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装texlive-xint-doc失败"
LOG_INFO "texlive-xint-doc安装成功"
fi
# 检查软件包是否安装成功
LOG_INFO "检查texlive-xint-doc是否成功安装"
rpm -q texlive-xint-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "texlive-xint-doc未成功安装"
# 执行功能检查
LOG_INFO "执行texlive-xint-doc功能检查"
# 这里可以根据实际需求添加功能检查命令,例如检查相关文件是否存在
# 假设检查/usr/share/texlive/texmf-dist/doc/generic/xint/README文件是否存在
if [ -f "/usr/share/texlive/texmf-dist/doc/generic/xint/README" ]; then
LOG_INFO "texlive-xint-doc功能检查通过"
else
LOG_ERROR "texlive-xint-doc功能检查失败相关文件不存在"
exit 1
fi
# 环境恢复
LOG_INFO "开始环境恢复"
if [ "${ORIGINAL_STATE}" = "uninstalled" ]; then
LOG_INFO "卸载texlive-xint-doc软件包"
dnf remove -y texlive-xint-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载texlive-xint-doc失败"
LOG_INFO "texlive-xint-doc卸载成功环境已恢复"
else
LOG_INFO "保持texlive-xint-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-15
# @License : Mulan PSL v2
# @Desc : List package documentation files
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 判断是否已经安装texlive-xint-doc
LOG_INFO "检查是否已安装texlive-xint-doc软件包"
rpm -q texlive-xint-doc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-xint-doc已安装记录安装状态"
INSTALLED="true"
else
LOG_INFO "texlive-xint-doc未安装记录安装状态"
INSTALLED="false"
fi
# 检查yum源中是否存在texlive-xint-doc软件包
LOG_INFO "检查yum源中是否存在texlive-xint-doc软件包"
dnf list available texlive-xint-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中不存在texlive-xint-doc软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在texlive-xint-doc软件包"
exit 255
fi
# 如果未安装则安装texlive-xint-doc
if [ "${INSTALLED}" = "false" ]; then
LOG_INFO "安装texlive-xint-doc软件包"
dnf install -y texlive-xint-doc
CHECK_RESULT $? 0 0 "安装texlive-xint-doc失败"
fi
# 列出软件包文档文件
LOG_INFO "列出texlive-xint-doc软件包的文档文件"
rpm -ql texlive-xint-doc | grep -E "\.(pdf|md|txt|html?)$" > /tmp/texlive-xint-doc-files.txt
CHECK_RESULT $? 0 0 "列出texlive-xint-doc文档文件失败"
LOG_INFO "texlive-xint-doc文档文件列表"
cat /tmp/texlive-xint-doc-files.txt
# 检查是否支持列出文档文件参数
LOG_INFO "检查rpm命令是否支持列出文档文件"
rpm -q --help | grep -q "\-\-docfiles"
CHECK_RESULT $? 0 0 "rpm命令不支持--docfiles参数"
if [ $? -ne 0 ]; then
LOG_ERROR "rpm命令不支持--docfiles参数"
exit 255
fi
# 使用--docfiles参数列出文档文件
LOG_INFO "使用--docfiles参数列出texlive-xint-doc文档文件"
rpm -q --docfiles texlive-xint-doc > /tmp/texlive-xint-doc-docfiles.txt
CHECK_RESULT $? 0 0 "使用--docfiles参数列出文档文件失败"
LOG_INFO "使用--docfiles参数列出的文档文件列表"
cat /tmp/texlive-xint-doc-docfiles.txt
# 清理临时文件
LOG_INFO "清理临时文件"
rm -f /tmp/texlive-xint-doc-files.txt /tmp/texlive-xint-doc-docfiles.txt
CHECK_RESULT $? 0 0 "清理临时文件失败"
# 如果测试前未安装,则卸载软件包
if [ "${INSTALLED}" = "false" ]; then
LOG_INFO "卸载texlive-xint-doc软件包"
dnf remove -y texlive-xint-doc
CHECK_RESULT $? 0 0 "卸载texlive-xint-doc失败"
LOG_INFO "环境已恢复到测试前状态"
else
LOG_INFO "保持texlive-xint-doc安装状态"
fi
}
main "$@"

View File

@@ -1,169 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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 : Check documentation accessibility
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查文档可访问性测试脚本
# 定义颜色变量如果LOG_INFO/LOG_ERROR未定义时使用
LOG_INFO() {
echo "[INFO] $*"
}
LOG_ERROR() {
echo "[ERROR] $*" >&2
}
# 测试主函数
main() {
LOG_INFO "开始测试检查texlive-xint-doc文档可访问性"
# 步骤1检查yum源中是否存在texlive-xint-doc包
LOG_INFO "步骤1检查yum源中是否存在texlive-xint-doc包"
if ! dnf list available texlive-xint-doc 2>/dev/null | grep -q "texlive-xint-doc"; then
LOG_ERROR "yum源中未找到texlive-xint-doc包"
exit 255
fi
# 步骤2检查当前是否已安装texlive-xint-doc
LOG_INFO "步骤2检查当前是否已安装texlive-xint-doc"
if rpm -q texlive-xint-doc >/dev/null 2>&1; then
LOG_INFO "texlive-xint-doc已安装标记为保持安装状态"
KEEP_INSTALLED=true
else
LOG_INFO "texlive-xint-doc未安装将在测试中安装"
KEEP_INSTALLED=false
fi
# 步骤3如果未安装则安装texlive-xint-doc
if [ "$KEEP_INSTALLED" = "false" ]; then
LOG_INFO "步骤3安装texlive-xint-doc包"
dnf install -y texlive-xint-doc
CHECK_RESULT $? 0 0 "安装texlive-xint-doc失败"
fi
# 步骤4检查文档文件是否存在
LOG_INFO "步骤4检查texlive-xint-doc文档文件是否存在"
# 查找可能的文档路径
DOC_PATHS=(
"/usr/share/texlive/texmf-dist/doc/texlive/xint"
"/usr/share/doc/texlive/xint"
"/usr/share/texmf/doc/texlive/xint"
"/usr/share/texlive/doc/xint"
)
DOC_FOUND=false
for path in "${DOC_PATHS[@]}"; do
if [ -d "$path" ]; then
LOG_INFO "找到文档目录: $path"
DOC_FOUND=true
DOC_DIR="$path"
break
fi
done
if [ "$DOC_FOUND" = "false" ]; then
# 尝试通过rpm查询文档位置
LOG_INFO "通过rpm查询文档文件位置"
DOC_FILES=$(rpm -ql texlive-xint-doc 2>/dev/null | grep -E "\.(pdf|txt|html|md|tex)$" | head -5)
if [ -n "$DOC_FILES" ]; then
LOG_INFO "找到文档文件"
DOC_FOUND=true
fi
fi
# 步骤5验证文档可访问性
LOG_INFO "步骤5验证文档可访问性"
if [ "$DOC_FOUND" = "true" ]; then
if [ -n "$DOC_DIR" ]; then
# 检查目录是否可读
ls -la "$DOC_DIR" >/dev/null 2>&1
CHECK_RESULT $? 0 0 "文档目录不可访问"
# 检查目录中是否有文件
FILE_COUNT=$(find "$DOC_DIR" -type f -name "*.pdf" -o -name "*.html" -o -name "*.txt" 2>/dev/null | wc -l)
if [ "$FILE_COUNT" -gt 0 ]; then
LOG_INFO "文档目录中包含 $FILE_COUNT 个文档文件"
# 尝试读取一个PDF或HTML文件
SAMPLE_FILE=$(find "$DOC_DIR" -type f \( -name "*.pdf" -o -name "*.html" -o -name "*.txt" \) 2>/dev/null | head -1)
if [ -n "$SAMPLE_FILE" ] && [ -r "$SAMPLE_FILE" ]; then
LOG_INFO "成功访问文档文件: $(basename "$SAMPLE_FILE")"
file "$SAMPLE_FILE" >/dev/null 2>&1
CHECK_RESULT $? 0 0 "文档文件损坏或不可读"
fi
else
LOG_ERROR "文档目录中未找到文档文件"
CHECK_RESULT 1 0 0 "文档目录为空"
fi
elif [ -n "$DOC_FILES" ]; then
# 检查通过rpm找到的文件
for doc_file in $DOC_FILES; do
if [ -r "$doc_file" ]; then
LOG_INFO "成功访问文档文件: $doc_file"
file "$doc_file" >/dev/null 2>&1
CHECK_RESULT $? 0 0 "文档文件损坏或不可读"
break
fi
done
fi
else
LOG_ERROR "未找到texlive-xint-doc的文档"
CHECK_RESULT 1 0 0 "文档不存在"
fi
# 步骤6清理环境
LOG_INFO "步骤6清理测试环境"
if [ "$KEEP_INSTALLED" = "false" ]; then
LOG_INFO "卸载测试安装的texlive-xint-doc包"
dnf remove -y texlive-xint-doc
CHECK_RESULT $? 0 0 "卸载texlive-xint-doc失败"
# 验证已卸载
if rpm -q texlive-xint-doc >/dev/null 2>&1; then
LOG_ERROR "texlive-xint-doc卸载失败"
CHECK_RESULT 1 0 0 "卸载验证失败"
else
LOG_INFO "texlive-xint-doc已成功卸载"
fi
else
LOG_INFO "保持texlive-xint-doc安装状态"
fi
LOG_INFO "测试完成:文档可访问性检查通过"
}
# 错误处理函数
error_handler() {
LOG_ERROR "测试执行过程中发生错误"
exit 1
}
# 设置错误陷阱
trap error_handler ERR
# 执行主函数
main "$@"
}
main "$@"