Merge branch 'pkg' of http://10.30.190.190:54866/redrsoe2100/os-autotest into pkg
This commit is contained in:
@@ -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 软件包能够被成功卸载,且相关文件被移除。"
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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 手册页是否存在且格式正确"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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 软件包的卸载功能"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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 的配置功能"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
Reference in New Issue
Block a user