Merge branch 'pkg' of http://10.30.190.190:54866/redrsoe2100/os-autotest into pkg
This commit is contained in:
@@ -2,93 +2,13 @@
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/ceph/ceph-immutable-object-cache",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_ceph-immutable-object-cache_ceph-immutable-object-cache_d",
|
||||
"desc": "测试以调试模式运行,输出日志到标准错误"
|
||||
},
|
||||
{
|
||||
"name": "test_ceph-immutable-object-cache_ceph-immutable-object-cache_f",
|
||||
"desc": "测试以前台模式运行,输出日志到默认位置"
|
||||
},
|
||||
{
|
||||
"name": "test_ceph-immutable-object-cache_ceph-immutable-object-cache_m",
|
||||
"desc": "测试指定监控节点地址和端口连接"
|
||||
},
|
||||
{
|
||||
"name": "test_ceph-immutable-object-cache_ceph-immutable-object-cache_keyring",
|
||||
"desc": "测试指定本地集群密钥环路径"
|
||||
},
|
||||
{
|
||||
"name": "test_ceph-immutable-object-cache_ceph-immutable-object-cache_log_file",
|
||||
"desc": "测试指定调试输出日志文件"
|
||||
},
|
||||
{
|
||||
"name": "test_ceph-immutable-object-cache_ceph-immutable-object-cache_debug_immutable_obj_cache",
|
||||
"desc": "测试设置调试级别和内存级别"
|
||||
},
|
||||
{
|
||||
"name": "test_ceph-immutable-object-cache_ceph-immutable-object-cache_c",
|
||||
"desc": "测试从指定配置文件读取配置"
|
||||
},
|
||||
{
|
||||
"name": "test_ceph-immutable-object-cache_ceph-immutable-object-cache_i",
|
||||
"desc": "测试设置名称的ID部分"
|
||||
},
|
||||
{
|
||||
"name": "test_ceph-immutable-object-cache_ceph-immutable-object-cache_n",
|
||||
"desc": "测试设置完整名称(类型.ID)"
|
||||
},
|
||||
{
|
||||
"name": "test_ceph-immutable-object-cache_ceph-immutable-object-cache_cluster",
|
||||
"desc": "测试设置集群名称"
|
||||
},
|
||||
{
|
||||
"name": "test_ceph-immutable-object-cache_ceph-immutable-object-cache_setuser",
|
||||
"desc": "测试设置运行用户ID"
|
||||
},
|
||||
{
|
||||
"name": "test_ceph-immutable-object-cache_ceph-immutable-object-cache_setgroup",
|
||||
"desc": "测试设置运行组ID"
|
||||
},
|
||||
{
|
||||
"name": "test_ceph-immutable-object-cache_ceph-immutable-object-cache_version",
|
||||
"desc": "测试显示版本信息并退出"
|
||||
},
|
||||
{
|
||||
"name": "test_ceph-immutable-object-cache_ceph-immutable-object-cache_debug_ms",
|
||||
"desc": "测试设置消息调试级别"
|
||||
},
|
||||
{
|
||||
"name": "test_ceph-immutable-object-cache_function_install",
|
||||
"desc": "测试软件包安装功能是否正常"
|
||||
},
|
||||
{
|
||||
"name": "test_ceph-immutable-object-cache_function_uninstall",
|
||||
"desc": "测试软件包卸载功能是否正常"
|
||||
},
|
||||
{
|
||||
"name": "test_ceph-immutable-object-cache_function_version",
|
||||
"desc": "测试查询软件包版本信息功能"
|
||||
},
|
||||
{
|
||||
"name": "test_ceph-immutable-object-cache_function_service",
|
||||
"desc": "测试服务启动停止等管理功能"
|
||||
},
|
||||
{
|
||||
"name": "test_ceph-immutable-object-cache_function_config",
|
||||
"desc": "测试配置文件读取与验证功能"
|
||||
},
|
||||
{
|
||||
"name": "test_ceph-immutable-object-cache_function_cache_ops",
|
||||
"desc": "测试缓存基本读写操作功能"
|
||||
},
|
||||
{
|
||||
"name": "test_ceph-immutable-object-cache_function_mon_conn",
|
||||
"desc": "测试与监控节点连接功能"
|
||||
},
|
||||
{
|
||||
"name": "test_ceph-immutable-object-cache_function_help",
|
||||
"desc": "测试显示帮助信息功能"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -14,10 +14,6 @@
|
||||
"name": "test_libdap_getdap4_d_v",
|
||||
"desc": "测试组合使用-d和-v参数获取DMR并输出详细信息"
|
||||
},
|
||||
{
|
||||
"name": "test_libdap_function_install",
|
||||
"desc": "测试libdap软件包的安装功能"
|
||||
},
|
||||
{
|
||||
"name": "test_libdap_function_uninstall",
|
||||
"desc": "测试libdap软件包的卸载功能"
|
||||
|
||||
@@ -34,22 +34,6 @@
|
||||
{
|
||||
"name": "test_ocaml-dune-devel_function_version",
|
||||
"desc": "测试 ocaml-dune-devel 软件包的版本查询"
|
||||
},
|
||||
{
|
||||
"name": "test_ocaml-dune-devel_function_init_project",
|
||||
"desc": "测试使用 dune 初始化新项目"
|
||||
},
|
||||
{
|
||||
"name": "test_ocaml-dune-devel_function_test",
|
||||
"desc": "测试使用 dune 运行项目测试"
|
||||
},
|
||||
{
|
||||
"name": "test_ocaml-dune-devel_function_clean",
|
||||
"desc": "测试使用 dune 清理构建产物"
|
||||
},
|
||||
{
|
||||
"name": "test_ocaml-dune-devel_function_install_pkg",
|
||||
"desc": "测试使用 dune 安装构建的包"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/python-mkdocs-coverage/python3-mkdocs-coverage",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_python3-mkdocs-coverage_function_init",
|
||||
"desc": "Test initialization of python3-mkdocs-coverage"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6,46 +6,6 @@
|
||||
"name": "test_python3-nbformat_install",
|
||||
"desc": "测试python3-nbformat软件包的安装功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_python3-nbformat_jupyter-trust_reset",
|
||||
"desc": "测试 jupyter-trust 命令的 --reset 参数,用于删除受信任的笔记本缓存"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-nbformat_jupyter-trust_debug",
|
||||
"desc": "测试 jupyter-trust 命令的 --debug 参数,用于设置日志级别为 DEBUG"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-nbformat_jupyter-trust_show_config",
|
||||
"desc": "测试 jupyter-trust 命令的 --show-config 参数,用于显示应用程序的配置(人类可读格式)"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-nbformat_jupyter-trust_show_config_json",
|
||||
"desc": "测试 jupyter-trust 命令的 --show-config-json 参数,用于显示应用程序的配置(JSON 格式)"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-nbformat_jupyter-trust_generate_config",
|
||||
"desc": "测试 jupyter-trust 命令的 --generate-config 参数,用于生成默认配置文件"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-nbformat_jupyter-trust_y",
|
||||
"desc": "测试 jupyter-trust 命令的 -y 参数,用于自动回答所有问题为 yes"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-nbformat_jupyter-trust_log_level_num_10",
|
||||
"desc": "测试 jupyter-trust 命令的 --log-level=10 参数,用于设置日志级别为 DEBUG"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-nbformat_jupyter-trust_log_level_upper_debug",
|
||||
"desc": "测试 jupyter-trust 命令的 --log-level=DEBUG 参数,用于设置日志级别为 DEBUG"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-nbformat_jupyter-trust_config",
|
||||
"desc": "测试 jupyter-trust 命令的 --config 参数,用于指定配置文件的完整路径"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-nbformat_function_read_notebook",
|
||||
"desc": "测试读取笔记本文件的功能"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,31 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/python-pytoml/python-pytoml-help",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_python-pytoml-help_command_001",
|
||||
"desc": "测试python-pytoml-help命令的基本功能,确保命令可以正常执行并返回预期结果。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_python-pytoml-help_command_002",
|
||||
"desc": "测试python-pytoml-help命令的--help参数,确保命令可以正常显示帮助信息。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_python-pytoml-help_command_003",
|
||||
"desc": "测试python-pytoml-help命令的--version参数,确保命令可以正常显示版本信息。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_python-pytoml-help_command_004",
|
||||
"desc": "测试python-pytoml-help命令的--config参数,确保命令可以正常加载指定配置文件并返回预期结果。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_python-pytoml-help_command_005",
|
||||
"desc": "测试python-pytoml-help命令的--verbose参数,确保命令可以正常显示详细输出信息。",
|
||||
"machine num": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,30 +2,6 @@
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/python-vl-convert-python/python3-vl-convert-python",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_python3-vl-convert-python_function_basic",
|
||||
"desc": "Test basic functionality of the package"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-vl-convert-python_function_install",
|
||||
"desc": "Test if the package can be successfully installed via package manager"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-vl-convert-python_function_import",
|
||||
"desc": "Test basic import of the vl_convert module"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-vl-convert-python_function_vega_to_svg",
|
||||
"desc": "Test converting a basic Vega specification to SVG format"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-vl-convert-python_function_vegalite_to_png",
|
||||
"desc": "Test converting a basic Vega-Lite specification to PNG format"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-vl-convert-python_function_vega_to_pdf",
|
||||
"desc": "Test converting a basic Vega specification to PDF format"
|
||||
},
|
||||
{
|
||||
"name": "test_python3-vl-convert-python_function_uninstall",
|
||||
"desc": "Test clean uninstallation of the package"
|
||||
|
||||
@@ -10,17 +10,9 @@
|
||||
"name": "test_rubygem-activeresource-doc_version",
|
||||
"desc": "测试软件包版本信息是否正确显示"
|
||||
},
|
||||
{
|
||||
"name": "test_rubygem-activeresource-doc_uninstall",
|
||||
"desc": "测试软件包能否被干净地卸载"
|
||||
},
|
||||
{
|
||||
"name": "test_rubygem-activeresource-doc_docs_exist",
|
||||
"desc": "测试软件包文档文件是否已正确安装"
|
||||
},
|
||||
{
|
||||
"name": "test_rubygem-activeresource-doc_basic_usage",
|
||||
"desc": "测试软件包核心功能(如ActiveResource类)是否可用"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,10 +2,6 @@
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-a/texlive-active-conf",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-active-conf_function_config",
|
||||
"desc": "Test configuration loading"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-active-conf_function_install",
|
||||
"desc": "Test installation of texlive-active-conf package"
|
||||
@@ -13,18 +9,6 @@
|
||||
{
|
||||
"name": "test_texlive-active-conf_function_uninstall",
|
||||
"desc": "Test removal of texlive-active-conf package"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-active-conf_function_check",
|
||||
"desc": "Test if texlive-active-conf is installed"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-active-conf_function_version",
|
||||
"desc": "Test version query of the package"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-active-conf_function_apply",
|
||||
"desc": "Test applying active configuration"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-a/texlive-allrunes",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-allrunes_function_install",
|
||||
"desc": "Test package installation"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-allrunes_function_basic",
|
||||
"desc": "Test basic functionality"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-i/texlive-fancypar",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-fancypar_function_uninstall",
|
||||
"desc": "Test package uninstallation"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-x/texlive-ektype-tanka",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-ektype-tanka_function_font",
|
||||
"desc": "Test font rendering"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-y/texlive-pmboxdraw",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-pmboxdraw_function_draw",
|
||||
"desc": "Test basic drawing functionality"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,37 +2,9 @@
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-z/texlive-pst-feyn",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-pst-feyn_function_draw",
|
||||
"desc": "Test drawing Feynman diagrams"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-pst-feyn_function_install",
|
||||
"desc": "Test installation of texlive-pst-feyn package"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-pst-feyn_function_basic_diagram",
|
||||
"desc": "Test drawing a basic Feynman diagram"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-pst-feyn_function_vertex_labels",
|
||||
"desc": "Test adding labels to vertices"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-pst-feyn_function_fermion_line",
|
||||
"desc": "Test drawing fermion lines"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-pst-feyn_function_photon_line",
|
||||
"desc": "Test drawing photon lines"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-pst-feyn_function_composite_diag",
|
||||
"desc": "Test drawing a composite diagram"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-pst-feyn_function_compile_tex",
|
||||
"desc": "Test compiling a LaTeX file with pst-feyn"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -13,14 +13,6 @@
|
||||
{
|
||||
"name": "test_urw-base35-gothic-fonts_function_uninstall",
|
||||
"desc": "测试通过包管理器(如dnf, yum, apt)卸载urw-base35-gothic-fonts软件包,验证卸载过程是否成功且相关文件被移除。"
|
||||
},
|
||||
{
|
||||
"name": "test_urw-base35-gothic-fonts_function_font_list",
|
||||
"desc": "验证安装后,软件包提供的字体文件(如*.ttf, *.otf)已正确安装到系统字体目录(如/usr/share/fonts/),并可通过fc-list命令查询到相关字体。"
|
||||
},
|
||||
{
|
||||
"name": "test_urw-base35-gothic-fonts_function_app_usage",
|
||||
"desc": "在支持字体选择的应用程序(如LibreOffice Writer或GIMP)中,验证可以从字体选择器列表中成功找到并应用urw-base35-gothic-fonts包中的字体(如URW Gothic)进行文本渲染。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/uwsgi/uwsgi-devel",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_uwsgi-devel_systemd_logger_status",
|
||||
"desc": "检查 systemd_logger 服务的状态"
|
||||
},
|
||||
{
|
||||
"name": "test_uwsgi-devel_function_config",
|
||||
"desc": "检查配置文件解析功能"
|
||||
},
|
||||
{
|
||||
"name": "test_uwsgi-devel_function_plugin",
|
||||
"desc": "验证插件加载功能"
|
||||
},
|
||||
{
|
||||
"name": "test_uwsgi-devel_function_log",
|
||||
"desc": "测试日志记录功能"
|
||||
},
|
||||
{
|
||||
"name": "test_uwsgi-devel_function_api",
|
||||
"desc": "验证API接口功能"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,219 +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-08
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试配置文件读取与验证功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义颜色输出
|
||||
LOG_INFO() {
|
||||
echo -e "\033[1;32m[INFO]\033[0m $1"
|
||||
}
|
||||
|
||||
LOG_ERROR() {
|
||||
echo -e "\033[1;31m[ERROR]\033[0m $1"
|
||||
}
|
||||
|
||||
# 初始化变量
|
||||
CEPH_PKG="ceph-immutable-object-cache"
|
||||
CEPH_CONFIG_FILE="/etc/ceph/ceph.conf"
|
||||
CEPH_CACHE_CONFIG_FILE="/etc/ceph/immutable-object-cache.json"
|
||||
TEST_CONFIG_FILE="/tmp/test_ceph_cache_config.json"
|
||||
|
||||
# 清理函数
|
||||
cleanup() {
|
||||
LOG_INFO "开始清理测试环境"
|
||||
|
||||
# 删除测试配置文件
|
||||
if [ -f "$TEST_CONFIG_FILE" ]; then
|
||||
rm -f "$TEST_CONFIG_FILE"
|
||||
LOG_INFO "已删除测试配置文件: $TEST_CONFIG_FILE"
|
||||
fi
|
||||
|
||||
# 如果测试前未安装,则卸载软件包
|
||||
if [ "$ORIGINAL_INSTALL_STATUS" = "not_installed" ]; then
|
||||
LOG_INFO "卸载测试安装的软件包"
|
||||
dnf remove -y "$CEPH_PKG" > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "成功卸载 $CEPH_PKG"
|
||||
else
|
||||
LOG_ERROR "卸载 $CEPH_PKG 失败"
|
||||
fi
|
||||
fi
|
||||
|
||||
LOG_INFO "环境清理完成"
|
||||
}
|
||||
|
||||
# 设置退出时执行清理
|
||||
trap cleanup EXIT
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
LOG_INFO "检查yum源中是否存在 $CEPH_PKG 软件包"
|
||||
dnf list available "$CEPH_PKG" > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在 $CEPH_PKG 软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum源中存在 $CEPH_PKG 软件包"
|
||||
|
||||
# 检查当前安装状态
|
||||
LOG_INFO "检查 $CEPH_PKG 当前安装状态"
|
||||
ORIGINAL_INSTALL_STATUS="installed"
|
||||
rpm -q "$CEPH_PKG" > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
ORIGINAL_INSTALL_STATUS="not_installed"
|
||||
LOG_INFO "$CEPH_PKG 未安装,将在测试中安装"
|
||||
else
|
||||
LOG_INFO "$CEPH_PKG 已安装"
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$ORIGINAL_INSTALL_STATUS" = "not_installed" ]; then
|
||||
LOG_INFO "开始安装 $CEPH_PKG"
|
||||
dnf install -y "$CEPH_PKG" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装 $CEPH_PKG 失败"
|
||||
LOG_INFO "成功安装 $CEPH_PKG"
|
||||
fi
|
||||
|
||||
# 检查ceph-immutable-object-cache命令是否存在
|
||||
LOG_INFO "检查ceph-immutable-object-cache命令是否存在"
|
||||
which ceph-immutable-object-cache > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "ceph-immutable-object-cache命令不存在"
|
||||
|
||||
# 测试配置文件读取功能
|
||||
LOG_INFO "测试配置文件读取功能"
|
||||
|
||||
# 检查--help参数是否支持
|
||||
LOG_INFO "检查--help参数支持"
|
||||
ceph-immutable-object-cache --help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "ceph-immutable-object-cache不支持--help参数"
|
||||
|
||||
# 检查--version参数是否支持
|
||||
LOG_INFO "检查--version参数支持"
|
||||
ceph-immutable-object-cache --version > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "ceph-immutable-object-cache不支持--version参数"
|
||||
|
||||
# 测试无效参数处理
|
||||
LOG_INFO "测试无效参数处理"
|
||||
ceph-immutable-object-cache --invalid-param > /dev/null 2>&1
|
||||
if [ $? -eq 255 ]; then
|
||||
LOG_INFO "无效参数正确处理,返回退出码255"
|
||||
else
|
||||
LOG_ERROR "无效参数处理异常"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 创建测试配置文件
|
||||
LOG_INFO "创建测试配置文件"
|
||||
cat > "$TEST_CONFIG_FILE" << EOF
|
||||
{
|
||||
"cache_size": 1073741824,
|
||||
"cache_dir": "/var/lib/ceph/immutable-object-cache",
|
||||
"log_file": "/var/log/ceph/immutable-object-cache.log",
|
||||
"debug_level": 1
|
||||
}
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "创建测试配置文件失败"
|
||||
|
||||
# 测试配置文件验证功能
|
||||
LOG_INFO "测试配置文件验证功能"
|
||||
|
||||
# 测试有效配置文件
|
||||
LOG_INFO "测试有效配置文件验证"
|
||||
ceph-immutable-object-cache --config "$TEST_CONFIG_FILE" --validate-config > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "有效配置文件验证失败"
|
||||
|
||||
# 创建无效配置文件
|
||||
LOG_INFO "创建无效配置文件测试"
|
||||
INVALID_CONFIG_FILE="/tmp/invalid_test_config.json"
|
||||
cat > "$INVALID_CONFIG_FILE" << EOF
|
||||
{
|
||||
"cache_size": "invalid_size",
|
||||
"cache_dir": 123,
|
||||
"log_file": "/var/log/ceph/immutable-object-cache.log",
|
||||
"debug_level": 1
|
||||
}
|
||||
EOF
|
||||
|
||||
# 测试无效配置文件
|
||||
LOG_INFO "测试无效配置文件验证"
|
||||
ceph-immutable-object-cache --config "$INVALID_CONFIG_FILE" --validate-config > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_INFO "无效配置文件正确识别"
|
||||
else
|
||||
LOG_ERROR "无效配置文件未正确识别"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理无效配置文件
|
||||
rm -f "$INVALID_CONFIG_FILE"
|
||||
|
||||
# 测试必需参数检查
|
||||
LOG_INFO "测试必需参数检查"
|
||||
|
||||
# 测试缺少必需参数
|
||||
LOG_INFO "测试缺少--config参数"
|
||||
ceph-immutable-object-cache --validate-config > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_INFO "缺少必需参数正确识别"
|
||||
else
|
||||
LOG_ERROR "缺少必需参数未正确识别"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 测试配置文件路径不存在
|
||||
LOG_INFO "测试不存在的配置文件路径"
|
||||
ceph-immutable-object-cache --config "/nonexistent/config.json" --validate-config > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_INFO "不存在的配置文件路径正确识别"
|
||||
else
|
||||
LOG_ERROR "不存在的配置文件路径未正确识别"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 测试配置文件权限
|
||||
LOG_INFO "测试配置文件权限验证"
|
||||
chmod 000 "$TEST_CONFIG_FILE"
|
||||
ceph-immutable-object-cache --config "$TEST_CONFIG_FILE" --validate-config > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_INFO "无权限配置文件正确识别"
|
||||
else
|
||||
LOG_ERROR "无权限配置文件未正确识别"
|
||||
exit 1
|
||||
fi
|
||||
chmod 644 "$TEST_CONFIG_FILE"
|
||||
|
||||
# 测试多服务器场景(如果定义了相关变量)
|
||||
LOG_INFO "测试多服务器配置验证"
|
||||
if [ -n "$NODE2_IPV4" ] && [ -n "$NODE2_PASSWORD" ] && [ -n "$NODE2_USER" ]; then
|
||||
LOG_INFO "在第二台服务器上验证配置文件"
|
||||
SSH_CMD "which ceph-immutable-object-cache" "$NODE2_IPV4" "$NODE2_PASSWORD" "$NODE2_USER" > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
SSH_CMD "ceph-immutable-object-cache --version" "$NODE2_IPV4" "$NODE2_PASSWORD" "$NODE2_USER" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "第二台服务器上ceph-immutable-object-cache版本检查失败"
|
||||
else
|
||||
LOG_INFO "第二台服务器上未安装ceph-immutable-object-cache,跳过验证"
|
||||
fi
|
||||
else
|
||||
LOG_INFO "未定义第二台服务器信息,跳过多服务器测试"
|
||||
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-08
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试显示帮助信息功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试显示帮助信息功能"
|
||||
|
||||
# 检查是否已安装ceph-immutable-object-cache软件包
|
||||
LOG_INFO "检查ceph-immutable-object-cache软件包是否已安装"
|
||||
rpm -q ceph-immutable-object-cache
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "ceph-immutable-object-cache已安装,标记为需要保持安装状态"
|
||||
KEEP_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "ceph-immutable-object-cache未安装,标记为需要测试后卸载"
|
||||
KEEP_INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有ceph-immutable-object-cache软件包
|
||||
LOG_INFO "检查yum源中是否存在ceph-immutable-object-cache软件包"
|
||||
dnf list available ceph-immutable-object-cache
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到ceph-immutable-object-cache软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $KEEP_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "开始安装ceph-immutable-object-cache软件包"
|
||||
dnf install -y ceph-immutable-object-cache
|
||||
CHECK_RESULT $? 0 0 "安装ceph-immutable-object-cache软件包失败"
|
||||
fi
|
||||
|
||||
# 测试显示帮助信息功能
|
||||
LOG_INFO "测试ceph-immutable-object-cache命令的--help参数"
|
||||
ceph-immutable-object-cache --help
|
||||
CHECK_RESULT $? 0 0 "ceph-immutable-object-cache --help命令执行失败"
|
||||
|
||||
# 如果之前未安装,则卸载软件包
|
||||
if [ $KEEP_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "开始卸载ceph-immutable-object-cache软件包"
|
||||
dnf remove -y ceph-immutable-object-cache
|
||||
CHECK_RESULT $? 0 0 "卸载ceph-immutable-object-cache软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试显示帮助信息功能完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,105 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-08
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试与监控节点连接功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 设置环境变量
|
||||
LOG_INFO() { echo "[INFO] $1"; }
|
||||
LOG_ERROR() { echo "[ERROR] $1"; }
|
||||
SSH_CMD() { sshpass -p "$3" ssh -o StrictHostKeyChecking=no "$4"@"$2" "$1"; }
|
||||
CHECK_RESULT() {
|
||||
local actual=$1
|
||||
local expect=$2
|
||||
local mode=$3
|
||||
local message=$4
|
||||
if [ "$mode" -eq 0 ]; then
|
||||
if [ "$actual" -eq "$expect" ]; then
|
||||
LOG_INFO "$message: 成功"
|
||||
else
|
||||
LOG_ERROR "$message: 失败"
|
||||
exit "$actual"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="ceph-immutable-object-cache"
|
||||
|
||||
# 检查yum源中是否存在软件包
|
||||
LOG_INFO "1. 检查yum源中是否存在软件包 $PACKAGE_NAME"
|
||||
if ! dnf list available "$PACKAGE_NAME" &>/dev/null; then
|
||||
LOG_ERROR "软件包 $PACKAGE_NAME 在yum源中不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已经安装
|
||||
LOG_INFO "2. 检查是否已经安装 $PACKAGE_NAME"
|
||||
if rpm -q "$PACKAGE_NAME" &>/dev/null; then
|
||||
INSTALLED=true
|
||||
LOG_INFO "$PACKAGE_NAME 已经安装"
|
||||
else
|
||||
INSTALLED=false
|
||||
LOG_INFO "$PACKAGE_NAME 未安装,将进行安装"
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "3. 安装软件包 $PACKAGE_NAME"
|
||||
dnf install -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME"
|
||||
fi
|
||||
|
||||
# 检查命令参数是否存在或不支持
|
||||
LOG_INFO "4. 检查命令参数是否存在或不支持"
|
||||
if ! ceph-immutable-object-cache --help | grep -q "mon-host"; then
|
||||
LOG_ERROR "命令参数 "mon-host" 不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试与监控节点连接功能
|
||||
LOG_INFO "5. 测试与监控节点连接功能"
|
||||
# 假设监控节点IP为192.168.1.100,端口为6789
|
||||
MON_HOST="192.168.1.100:6789"
|
||||
ceph-immutable-object-cache --mon-host "$MON_HOST" --test-connection
|
||||
CHECK_RESULT $? 0 0 "测试与监控节点连接功能"
|
||||
|
||||
# 如果需要多个服务器并在第二个服务器上执行命令
|
||||
# 假设第二个服务器的IP、密码和用户已经定义
|
||||
# NODE2_IPV4="192.168.1.101"
|
||||
# NODE2_PASSWORD="password"
|
||||
# NODE2_USER="root"
|
||||
# LOG_INFO "6. 在第二个服务器上执行命令"
|
||||
# SSH_CMD "ls" "$NODE2_IPV4" "$NODE2_PASSWORD" "$NODE2_USER"
|
||||
# CHECK_RESULT $? 0 0 "在第二个服务器上执行命令"
|
||||
|
||||
# 清理环境,恢复到之前的状态
|
||||
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,125 +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-08
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试服务启动停止等管理功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试ceph-immutable-object-cache服务管理功能"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="ceph-immutable-object-cache"
|
||||
|
||||
# 检查环境是否已安装
|
||||
LOG_INFO "检查环境是否已安装$PACKAGE_NAME"
|
||||
if rpm -q $PACKAGE_NAME &>/dev/null; then
|
||||
LOG_INFO "$PACKAGE_NAME已安装,测试结束后保持安装状态"
|
||||
ALREADY_INSTALLED=true
|
||||
else
|
||||
LOG_INFO "$PACKAGE_NAME未安装,将在测试过程中安装"
|
||||
ALREADY_INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有该软件包
|
||||
LOG_INFO "检查yum源中是否有$PACKAGE_NAME软件包"
|
||||
if ! dnf list available $PACKAGE_NAME &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到$PACKAGE_NAME软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$ALREADY_INSTALLED" = "false" ]; then
|
||||
LOG_INFO "安装$PACKAGE_NAME软件包"
|
||||
dnf install -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "安装$PACKAGE_NAME失败"
|
||||
fi
|
||||
|
||||
# 检查服务是否存在
|
||||
LOG_INFO "检查ceph-immutable-object-cache服务是否存在"
|
||||
systemctl list-unit-files | grep -q ceph-immutable-object-cache
|
||||
CHECK_RESULT $? 0 0 "ceph-immutable-object-cache服务不存在"
|
||||
|
||||
# 测试启动服务
|
||||
LOG_INFO "启动ceph-immutable-object-cache服务"
|
||||
systemctl start ceph-immutable-object-cache
|
||||
CHECK_RESULT $? 0 0 "启动ceph-immutable-object-cache服务失败"
|
||||
|
||||
# 检查服务状态
|
||||
LOG_INFO "检查ceph-immutable-object-cache服务状态"
|
||||
systemctl status ceph-immutable-object-cache --no-pager
|
||||
CHECK_RESULT $? 0 0 "ceph-immutable-object-cache服务状态异常"
|
||||
|
||||
# 测试停止服务
|
||||
LOG_INFO "停止ceph-immutable-object-cache服务"
|
||||
systemctl stop ceph-immutable-object-cache
|
||||
CHECK_RESULT $? 0 0 "停止ceph-immutable-object-cache服务失败"
|
||||
|
||||
# 验证服务已停止
|
||||
LOG_INFO "验证ceph-immutable-object-cache服务已停止"
|
||||
systemctl status ceph-immutable-object-cache --no-pager 2>&1 | grep -q "inactive"
|
||||
CHECK_RESULT $? 0 0 "ceph-immutable-object-cache服务未正确停止"
|
||||
|
||||
# 测试重启服务
|
||||
LOG_INFO "重启ceph-immutable-object-cache服务"
|
||||
systemctl restart ceph-immutable-object-cache
|
||||
CHECK_RESULT $? 0 0 "重启ceph-immutable-object-cache服务失败"
|
||||
|
||||
# 检查重启后服务状态
|
||||
LOG_INFO "检查重启后ceph-immutable-object-cache服务状态"
|
||||
systemctl status ceph-immutable-object-cache --no-pager
|
||||
CHECK_RESULT $? 0 0 "重启后ceph-immutable-object-cache服务状态异常"
|
||||
|
||||
# 测试启用开机自启
|
||||
LOG_INFO "启用ceph-immutable-object-cache服务开机自启"
|
||||
systemctl enable ceph-immutable-object-cache
|
||||
CHECK_RESULT $? 0 0 "启用ceph-immutable-object-cache服务开机自启失败"
|
||||
|
||||
# 验证开机自启已启用
|
||||
LOG_INFO "验证ceph-immutable-object-cache服务开机自启已启用"
|
||||
systemctl is-enabled ceph-immutable-object-cache | grep -q "enabled"
|
||||
CHECK_RESULT $? 0 0 "ceph-immutable-object-cache服务开机自启未正确启用"
|
||||
|
||||
# 测试禁用开机自启
|
||||
LOG_INFO "禁用ceph-immutable-object-cache服务开机自启"
|
||||
systemctl disable ceph-immutable-object-cache
|
||||
CHECK_RESULT $? 0 0 "禁用ceph-immutable-object-cache服务开机自启失败"
|
||||
|
||||
# 验证开机自启已禁用
|
||||
LOG_INFO "验证ceph-immutable-object-cache服务开机自启已禁用"
|
||||
systemctl is-enabled ceph-immutable-object-cache | grep -q "disabled"
|
||||
CHECK_RESULT $? 0 0 "ceph-immutable-object-cache服务开机自启未正确禁用"
|
||||
|
||||
# 清理环境
|
||||
LOG_INFO "清理测试环境"
|
||||
if [ "$ALREADY_INSTALLED" = "false" ]; then
|
||||
LOG_INFO "卸载$PACKAGE_NAME软件包"
|
||||
systemctl stop ceph-immutable-object-cache 2>/dev/null || true
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "卸载$PACKAGE_NAME失败"
|
||||
else
|
||||
LOG_INFO "恢复服务状态"
|
||||
systemctl restart ceph-immutable-object-cache
|
||||
systemctl enable ceph-immutable-object-cache
|
||||
fi
|
||||
|
||||
LOG_INFO "ceph-immutable-object-cache服务管理功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,90 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试libdap软件包的安装功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试libdap软件包的安装功能"
|
||||
|
||||
LOG_INFO "步骤1: 检查libdap软件包是否在yum源中"
|
||||
if ! dnf list available libdap 2>/dev/null | grep -q libdap; then
|
||||
LOG_ERROR "yum源中未找到libdap软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2: 检查当前环境是否已安装libdap"
|
||||
if rpm -q libdap &>/dev/null; then
|
||||
LOG_INFO "检测到libdap已安装,将保持安装状态"
|
||||
INSTALLED_BEFORE_TEST=true
|
||||
else
|
||||
LOG_INFO "检测到libdap未安装,将在测试中安装"
|
||||
INSTALLED_BEFORE_TEST=false
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED_BEFORE_TEST" = "false" ]; then
|
||||
LOG_INFO "步骤3: 安装libdap软件包"
|
||||
dnf install -y libdap
|
||||
CHECK_RESULT $? 0 0 "安装libdap软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4: 验证libdap基本功能"
|
||||
LOG_INFO "步骤4.1: 检查安装的libdap版本"
|
||||
libdap_version=$(rpm -q libdap --queryformat "%{VERSION}-%{RELEASE}")
|
||||
CHECK_RESULT $? 0 0 "获取libdap版本信息失败"
|
||||
LOG_INFO "安装的libdap版本为: $libdap_version"
|
||||
|
||||
LOG_INFO "步骤4.2: 检查libdap相关命令是否存在"
|
||||
if ! command -v dap-config &>/dev/null; then
|
||||
LOG_ERROR "dap-config命令不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4.3: 测试dap-config命令的基本参数"
|
||||
dap-config --version
|
||||
CHECK_RESULT $? 0 0 "dap-config --version 执行失败"
|
||||
|
||||
LOG_INFO "步骤5: 测试libdap软件包的卸载功能(仅当测试前未安装时执行)"
|
||||
if [ "$INSTALLED_BEFORE_TEST" = "false" ]; then
|
||||
LOG_INFO "步骤5.1: 卸载libdap软件包"
|
||||
dnf remove -y libdap
|
||||
CHECK_RESULT $? 0 0 "卸载libdap软件包失败"
|
||||
|
||||
LOG_INFO "步骤5.2: 验证libdap已成功卸载"
|
||||
if rpm -q libdap &>/dev/null; then
|
||||
LOG_ERROR "libdap卸载后仍然存在"
|
||||
exit 1
|
||||
fi
|
||||
LOG_INFO "libdap软件包已成功卸载"
|
||||
else
|
||||
LOG_INFO "测试前已安装libdap,跳过卸载步骤,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤6: 环境清理与恢复"
|
||||
if [ "$INSTALLED_BEFORE_TEST" = "false" ]; then
|
||||
LOG_INFO "环境已恢复到测试前状态(未安装libdap)"
|
||||
else
|
||||
LOG_INFO "环境已保持测试前状态(已安装libdap)"
|
||||
fi
|
||||
|
||||
LOG_INFO "libdap软件包安装功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,106 +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-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用 dune 清理构建产物
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试dune清理构建产物功能"
|
||||
|
||||
LOG_INFO "检查是否已安装ocaml-dune-devel软件包"
|
||||
if rpm -q ocaml-dune-devel &>/dev/null; then
|
||||
LOG_INFO "检测到ocaml-dune-devel已安装,测试后将保持安装状态"
|
||||
ALREADY_INSTALLED=true
|
||||
else
|
||||
LOG_INFO "未检测到ocaml-dune-devel安装,将在测试中安装"
|
||||
ALREADY_INSTALLED=false
|
||||
fi
|
||||
|
||||
LOG_INFO "检查yum源中是否存在ocaml-dune-devel软件包"
|
||||
if ! dnf list available ocaml-dune-devel &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到ocaml-dune-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ "$ALREADY_INSTALLED" = "false" ]; then
|
||||
LOG_INFO "安装ocaml-dune-devel软件包"
|
||||
dnf install -y ocaml-dune-devel
|
||||
CHECK_RESULT $? 0 0 "安装ocaml-dune-devel失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "创建测试项目目录"
|
||||
TEST_DIR="/tmp/dune_test_$(date +%s)"
|
||||
mkdir -p "$TEST_DIR"
|
||||
cd "$TEST_DIR" || exit 1
|
||||
|
||||
LOG_INFO "创建dune项目文件"
|
||||
cat > dune-project << "EOF"
|
||||
(lang dune 3.0)
|
||||
EOF
|
||||
|
||||
cat > dune << "EOF"
|
||||
(executable
|
||||
(name test)
|
||||
(libraries))
|
||||
EOF
|
||||
|
||||
cat > test.ml << "EOF"
|
||||
let () = print_endline "Hello from dune test"
|
||||
EOF
|
||||
|
||||
LOG_INFO "构建项目"
|
||||
dune build
|
||||
CHECK_RESULT $? 0 0 "dune构建失败"
|
||||
|
||||
LOG_INFO "验证构建产物存在"
|
||||
if [ ! -f _build/default/test.exe ]; then
|
||||
LOG_ERROR "构建产物不存在"
|
||||
exit 1
|
||||
fi
|
||||
LOG_INFO "构建产物创建成功"
|
||||
|
||||
LOG_INFO "测试dune clean命令"
|
||||
dune clean
|
||||
CHECK_RESULT $? 0 0 "dune clean执行失败"
|
||||
|
||||
LOG_INFO "验证构建产物已被清理"
|
||||
if [ -d _build ] && [ -n "$(ls -A _build 2>/dev/null)" ]; then
|
||||
LOG_ERROR "构建产物未被完全清理"
|
||||
exit 1
|
||||
fi
|
||||
LOG_INFO "构建产物清理成功"
|
||||
|
||||
LOG_INFO "清理测试目录"
|
||||
cd /tmp || exit 1
|
||||
rm -rf "$TEST_DIR"
|
||||
|
||||
if [ "$ALREADY_INSTALLED" = "false" ]; then
|
||||
LOG_INFO "卸载测试安装的ocaml-dune-devel软件包"
|
||||
dnf remove -y ocaml-dune-devel
|
||||
CHECK_RESULT $? 0 0 "卸载ocaml-dune-devel失败"
|
||||
LOG_INFO "环境已恢复到测试前状态"
|
||||
else
|
||||
LOG_INFO "保持ocaml-dune-devel安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "dune清理构建产物功能测试完成"
|
||||
}
|
||||
|
||||
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-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用 dune 初始化新项目
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义日志函数
|
||||
LOG_INFO() {
|
||||
echo "[INFO] $*"
|
||||
}
|
||||
LOG_ERROR() {
|
||||
echo "[ERROR] $*"
|
||||
}
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="ocaml-dune-devel"
|
||||
|
||||
# 步骤1: 检查软件包是否在yum源中
|
||||
LOG_INFO "检查软件包 $PACKAGE_NAME 是否在yum源中"
|
||||
dnf list available $PACKAGE_NAME > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 $PACKAGE_NAME 不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 在yum源中"
|
||||
|
||||
# 步骤2: 检查环境是否已安装软件包
|
||||
LOG_INFO "检查环境是否已安装软件包 $PACKAGE_NAME"
|
||||
rpm -q $PACKAGE_NAME > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 已安装,标记为已安装状态"
|
||||
INSTALLED="yes"
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 未安装,标记为未安装状态"
|
||||
INSTALLED="no"
|
||||
fi
|
||||
|
||||
# 步骤3: 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = "no" ]; then
|
||||
LOG_INFO "安装软件包 $PACKAGE_NAME"
|
||||
dnf install -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 安装成功"
|
||||
fi
|
||||
|
||||
# 步骤4: 验证 dune 命令是否可用
|
||||
LOG_INFO "验证 dune 命令是否可用"
|
||||
which dune > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "dune 命令未找到"
|
||||
|
||||
# 步骤5: 测试使用 dune 初始化新项目
|
||||
LOG_INFO "测试使用 dune 初始化新项目"
|
||||
TEST_PROJECT_DIR="/tmp/test_dune_project"
|
||||
mkdir -p $TEST_PROJECT_DIR
|
||||
cd $TEST_PROJECT_DIR
|
||||
dune init project myproject
|
||||
CHECK_RESULT $? 0 0 "使用 dune 初始化新项目失败"
|
||||
|
||||
# 步骤6: 检查项目结构是否创建成功
|
||||
LOG_INFO "检查项目结构是否创建成功"
|
||||
if [ -d "myproject" ] && [ -f "myproject/dune-project" ]; then
|
||||
LOG_INFO "项目结构创建成功"
|
||||
else
|
||||
LOG_ERROR "项目结构创建失败"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 步骤7: 清理测试项目目录
|
||||
LOG_INFO "清理测试项目目录"
|
||||
cd /tmp
|
||||
rm -rf $TEST_PROJECT_DIR
|
||||
CHECK_RESULT $? 0 0 "清理测试项目目录失败"
|
||||
|
||||
# 步骤8: 如果脚本开始时未安装软件包,则在结束时卸载
|
||||
if [ "$INSTALLED" = "no" ]; then
|
||||
LOG_INFO "卸载软件包 $PACKAGE_NAME"
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 卸载成功"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,99 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用 dune 安装构建的包
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试:测试使用 dune 安装构建的包"
|
||||
|
||||
LOG_INFO "步骤1:检查测试环境是否已安装 ocaml-dune-devel 软件包"
|
||||
if rpm -q ocaml-dune-devel &> /dev/null; then
|
||||
LOG_INFO "环境中已安装 ocaml-dune-devel 软件包,脚本结束时将保持安装状态。"
|
||||
INSTALLED_BEFORE_TEST=true
|
||||
else
|
||||
LOG_INFO "环境中未安装 ocaml-dune-devel 软件包,将在测试中安装,并在脚本结束前卸载。"
|
||||
INSTALLED_BEFORE_TEST=false
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查 yum 源中是否存在 ocaml-dune-devel 软件包"
|
||||
if ! dnf list available ocaml-dune-devel &> /dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 ocaml-dune-devel 软件包。"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum 源中存在 ocaml-dune-devel 软件包。"
|
||||
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
LOG_INFO "步骤3:安装 ocaml-dune-devel 软件包"
|
||||
dnf install -y ocaml-dune-devel
|
||||
CHECK_RESULT $? 0 0 "安装 ocaml-dune-devel 软件包失败。"
|
||||
LOG_INFO "成功安装 ocaml-dune-devel 软件包。"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:验证 dune 命令的基本功能(查看版本)"
|
||||
dune --version
|
||||
CHECK_RESULT $? 0 0 "执行 dune --version 命令失败。"
|
||||
|
||||
LOG_INFO "步骤5:创建一个简单的测试项目以验证 dune 构建功能"
|
||||
TEST_PROJECT_DIR="/tmp/test_dune_project_$$"
|
||||
mkdir -p "$TEST_PROJECT_DIR"
|
||||
cd "$TEST_PROJECT_DIR" || exit 1
|
||||
|
||||
cat > dune-project << "EOF"
|
||||
(lang dune 3.8)
|
||||
EOF
|
||||
|
||||
cat > dune << "EOF"
|
||||
(executable
|
||||
(name hello)
|
||||
(libraries))
|
||||
EOF
|
||||
|
||||
cat > hello.ml << "EOF"
|
||||
print_endline "Hello from Dune test!"
|
||||
EOF
|
||||
|
||||
LOG_INFO "步骤6:使用 dune build 命令构建项目"
|
||||
dune build
|
||||
CHECK_RESULT $? 0 0 "使用 dune build 构建项目失败。"
|
||||
|
||||
LOG_INFO "步骤7:运行构建的可执行文件"
|
||||
./_build/default/hello.exe
|
||||
CHECK_RESULT $? 0 0 "运行构建的可执行文件失败。"
|
||||
|
||||
LOG_INFO "步骤8:清理测试项目目录"
|
||||
cd /tmp || exit 1
|
||||
rm -rf "$TEST_PROJECT_DIR"
|
||||
LOG_INFO "测试项目目录已清理。"
|
||||
|
||||
LOG_INFO "步骤9:环境恢复"
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
LOG_INFO "卸载在测试中安装的 ocaml-dune-devel 软件包"
|
||||
dnf remove -y ocaml-dune-devel
|
||||
CHECK_RESULT $? 0 0 "卸载 ocaml-dune-devel 软件包失败。"
|
||||
LOG_INFO "成功卸载 ocaml-dune-devel 软件包。"
|
||||
else
|
||||
LOG_INFO "测试前已安装 ocaml-dune-devel,保持安装状态。"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:测试使用 dune 安装构建的包"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,116 +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-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用 dune 运行项目测试
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 判断是否已安装ocaml-dune-devel软件包
|
||||
LOG_INFO "检查是否已安装ocaml-dune-devel软件包"
|
||||
rpm -q ocaml-dune-devel > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "ocaml-dune-devel已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "ocaml-dune-devel未安装,将在测试过程中安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有ocaml-dune-devel软件包
|
||||
LOG_INFO "检查yum源中是否有ocaml-dune-devel软件包"
|
||||
dnf list available ocaml-dune-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "yum源中没有ocaml-dune-devel软件包"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中没有ocaml-dune-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装ocaml-dune-devel
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装ocaml-dune-devel软件包"
|
||||
dnf install -y ocaml-dune-devel
|
||||
CHECK_RESULT $? 0 0 "安装ocaml-dune-devel失败"
|
||||
fi
|
||||
|
||||
# 检查dune命令是否可用
|
||||
LOG_INFO "检查dune命令是否可用"
|
||||
which dune > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "dune命令未找到"
|
||||
|
||||
# 检查dune命令参数
|
||||
LOG_INFO "检查dune命令是否支持runtest参数"
|
||||
dune help runtest > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "dune命令不支持runtest参数"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "dune命令不支持runtest参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 创建一个测试项目
|
||||
LOG_INFO "创建测试项目"
|
||||
TEST_DIR=$(mktemp -d)
|
||||
cd $TEST_DIR
|
||||
cat > dune-project << EOF
|
||||
(lang dune 3.0)
|
||||
EOF
|
||||
|
||||
mkdir -p lib
|
||||
cat > lib/dune << EOF
|
||||
(library
|
||||
(name mylib))
|
||||
EOF
|
||||
|
||||
cat > lib/mylib.ml << EOF
|
||||
let add x y = x + y
|
||||
EOF
|
||||
|
||||
mkdir -p test
|
||||
cat > test/dune << EOF
|
||||
(test
|
||||
(name mytest)
|
||||
(libraries mylib))
|
||||
EOF
|
||||
|
||||
cat > test/mytest.ml << EOF
|
||||
open Mylib
|
||||
let () = assert (add 2 3 = 5)
|
||||
EOF
|
||||
|
||||
# 运行dune测试
|
||||
LOG_INFO "运行dune测试项目"
|
||||
dune runtest
|
||||
CHECK_RESULT $? 0 0 "dune运行测试失败"
|
||||
|
||||
# 清理临时测试项目
|
||||
LOG_INFO "清理临时测试项目"
|
||||
cd /
|
||||
rm -rf $TEST_DIR
|
||||
|
||||
# 如果测试前未安装,则卸载软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载ocaml-dune-devel软件包"
|
||||
dnf remove -y ocaml-dune-devel
|
||||
CHECK_RESULT $? 0 0 "卸载ocaml-dune-devel失败"
|
||||
else
|
||||
LOG_INFO "保持ocaml-dune-devel安装状态"
|
||||
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-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test initialization of python3-mkdocs-coverage
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装python3-mkdocs-coverage
|
||||
LOG_INFO "检查是否已安装python3-mkdocs-coverage"
|
||||
if dnf list installed python3-mkdocs-coverage &>/dev/null; then
|
||||
LOG_INFO "python3-mkdocs-coverage已安装,脚本结束时保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "python3-mkdocs-coverage未安装,将在测试后卸载"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有python3-mkdocs-coverage软件包
|
||||
LOG_INFO "检查yum源中是否有python3-mkdocs-coverage软件包"
|
||||
if ! dnf list available python3-mkdocs-coverage &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到python3-mkdocs-coverage软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装python3-mkdocs-coverage软件包"
|
||||
dnf install -y python3-mkdocs-coverage
|
||||
CHECK_RESULT $? 0 0 "安装python3-mkdocs-coverage失败"
|
||||
fi
|
||||
|
||||
# 测试初始化功能
|
||||
LOG_INFO "测试初始化功能"
|
||||
python3 -m mkdocs_coverage init --help &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "python3-mkdocs-coverage初始化功能不支持或参数错误"
|
||||
|
||||
# 清理环境
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载python3-mkdocs-coverage软件包"
|
||||
dnf remove -y python3-mkdocs-coverage
|
||||
CHECK_RESULT $? 0 0 "卸载python3-mkdocs-coverage失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,70 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-08
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试读取笔记本文件的功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试读取笔记本文件的功能"
|
||||
|
||||
# 检查是否已安装python3-nbformat
|
||||
LOG_INFO "检查是否已安装python3-nbformat"
|
||||
if dnf list installed python3-nbformat &> /dev/null; then
|
||||
LOG_INFO "python3-nbformat已安装"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "python3-nbformat未安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有python3-nbformat
|
||||
LOG_INFO "检查yum源中是否有python3-nbformat"
|
||||
if ! dnf list available python3-nbformat &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到python3-nbformat"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 若未安装则安装
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装python3-nbformat"
|
||||
dnf install -y python3-nbformat
|
||||
CHECK_RESULT $? 0 0 "安装python3-nbformat失败"
|
||||
fi
|
||||
|
||||
# 测试读取笔记本文件的功能
|
||||
LOG_INFO "测试读取笔记本文件的功能"
|
||||
NOTEBOOK_FILE="test_notebook.ipynb"
|
||||
if [ ! -f "$NOTEBOOK_FILE" ]; then
|
||||
LOG_ERROR "笔记本文件不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
python3 -c "import nbformat; nb = nbformat.read("$NOTEBOOK_FILE", as_version=4); print("笔记本读取成功")"
|
||||
CHECK_RESULT $? 0 0 "读取笔记本文件失败"
|
||||
|
||||
# 恢复环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载python3-nbformat"
|
||||
dnf remove -y python3-nbformat
|
||||
CHECK_RESULT $? 0 0 "卸载python3-nbformat失败"
|
||||
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-12-08
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 jupyter-trust 命令的 --config 参数,用于指定配置文件的完整路径
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装python3-nbformat和jupyter-trust
|
||||
LOG_INFO "检查是否已安装python3-nbformat和jupyter-trust"
|
||||
dnf list installed python3-nbformat jupyter-trust > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "python3-nbformat和jupyter-trust已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "python3-nbformat和jupyter-trust未安装,将在测试完成后卸载"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有python3-nbformat和jupyter-trust软件包
|
||||
LOG_INFO "检查yum源中是否有python3-nbformat和jupyter-trust软件包"
|
||||
dnf list available python3-nbformat jupyter-trust > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到python3-nbformat或jupyter-trust软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装python3-nbformat和jupyter-trust软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "正在安装python3-nbformat和jupyter-trust软件包"
|
||||
dnf install -y python3-nbformat jupyter-trust
|
||||
CHECK_RESULT $? 0 0 "安装python3-nbformat和jupyter-trust失败"
|
||||
fi
|
||||
|
||||
# 创建临时配置文件
|
||||
LOG_INFO "创建临时配置文件用于测试"
|
||||
CONFIG_FILE=$(mktemp)
|
||||
echo "trusted = true" > $CONFIG_FILE
|
||||
|
||||
# 测试jupyter-trust命令的--config参数
|
||||
LOG_INFO "测试jupyter-trust命令的--config参数"
|
||||
jupyter-trust --config $CONFIG_FILE
|
||||
CHECK_RESULT $? 0 0 "执行jupyter-trust --config失败"
|
||||
|
||||
# 清理临时文件
|
||||
LOG_INFO "清理临时文件"
|
||||
rm -f $CONFIG_FILE
|
||||
|
||||
# 如果之前未安装,则卸载软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载python3-nbformat和jupyter-trust软件包"
|
||||
dnf remove -y python3-nbformat jupyter-trust
|
||||
CHECK_RESULT $? 0 0 "卸载python3-nbformat和jupyter-trust失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,65 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-08
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 jupyter-trust 命令的 --debug 参数,用于设置日志级别为 DEBUG
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装python3-nbformat和jupyter-trust
|
||||
LOG_INFO "检查是否已安装python3-nbformat和jupyter-trust..."
|
||||
dnf list installed python3-nbformat jupyter-trust > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "python3-nbformat和jupyter-trust已安装,测试完成后将保持安装状态。"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "python3-nbformat和jupyter-trust未安装,将在测试完成后卸载。"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有python3-nbformat和jupyter-trust软件包
|
||||
LOG_INFO "检查yum源中是否有python3-nbformat和jupyter-trust软件包..."
|
||||
dnf list available python3-nbformat jupyter-trust > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到python3-nbformat或jupyter-trust软件包。"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "开始安装python3-nbformat和jupyter-trust..."
|
||||
dnf install -y python3-nbformat jupyter-trust
|
||||
CHECK_RESULT $? 0 0 "安装python3-nbformat和jupyter-trust失败。"
|
||||
fi
|
||||
|
||||
# 测试jupyter-trust命令的--debug参数
|
||||
LOG_INFO "测试jupyter-trust命令的--debug参数..."
|
||||
jupyter-trust --debug > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "jupyter-trust命令的--debug参数不支持或执行失败。"
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "清理环境,卸载python3-nbformat和jupyter-trust..."
|
||||
dnf remove -y python3-nbformat jupyter-trust
|
||||
CHECK_RESULT $? 0 0 "卸载python3-nbformat和jupyter-trust失败。"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕。"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,74 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-08
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 jupyter-trust 命令的 --reset 参数,用于删除受信任的笔记本缓存
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 jupyter-trust 命令的 --reset 参数,用于删除受信任的笔记本缓存"
|
||||
|
||||
# 检查是否已安装 python3-nbformat 和 jupyter-trust
|
||||
LOG_INFO "检查是否已安装 python3-nbformat 和 jupyter-trust"
|
||||
dnf list installed python3-nbformat > /dev/null 2>&1
|
||||
python3_nbformat_installed=$?
|
||||
dnf list installed jupyter-trust > /dev/null 2>&1
|
||||
jupyter_trust_installed=$?
|
||||
|
||||
if [ $python3_nbformat_installed -eq 0 ] && [ $jupyter_trust_installed -eq 0 ]; then
|
||||
LOG_INFO "python3-nbformat 和 jupyter-trust 已安装"
|
||||
keep_installed=true
|
||||
else
|
||||
LOG_INFO "python3-nbformat 或 jupyter-trust 未安装,将进行安装"
|
||||
keep_installed=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有 python3-nbformat 和 jupyter-trust
|
||||
LOG_INFO "检查 yum 源中是否有 python3-nbformat 和 jupyter-trust"
|
||||
dnf list available python3-nbformat > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中没有 python3-nbformat"
|
||||
dnf list available jupyter-trust > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中没有 jupyter-trust"
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$keep_installed" = false ]; then
|
||||
LOG_INFO "安装 python3-nbformat 和 jupyter-trust"
|
||||
dnf install -y python3-nbformat jupyter-trust
|
||||
CHECK_RESULT $? 0 $? "安装 python3-nbformat 和 jupyter-trust失败"
|
||||
fi
|
||||
|
||||
#测试 --reset参数是否存在
|
||||
LOG_INFO "测试 --reset参数是否存在"
|
||||
jupyter-trust --help | grep -q -- "--reset"
|
||||
CHECK_RESULT $? 0 255 "--reset参数不存在或不支持"
|
||||
|
||||
#执行--reset参数命令并检查结果
|
||||
LOG_INFO "执行--reset参数命令"
|
||||
jupyter-trust --reset > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 $? "执行 jupyter-trust --reset 失败"
|
||||
|
||||
#恢复环境
|
||||
if [ "$keep_installed" = false ]; then
|
||||
LOG_INFO "卸载 python3-nbformat 和 jupyter-trust"
|
||||
dnf remove -y python3-nbformat jupyter-trust
|
||||
CHECK_RESULT $? 0 $? "卸载 python3-nbformat 和j u p y t e r- t r u s t失败"
|
||||
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-08
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 jupyter-trust 命令的 --show-config 参数,用于显示应用程序的配置(人类可读格式)
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 jupyter-trust 命令的 --show-config 参数"
|
||||
|
||||
# 检查是否已安装 python3-nbformat 和 jupyter-trust
|
||||
LOG_INFO "检查是否已安装 python3-nbformat 和 jupyter-trust"
|
||||
dnf list installed python3-nbformat > /dev/null 2>&1
|
||||
python3_nbformat_installed=$?
|
||||
dnf list installed jupyter-trust > /dev/null 2>&1
|
||||
jupyter_trust_installed=$?
|
||||
|
||||
if [ $python3_nbformat_installed -ne 0 ] || [ $jupyter_trust_installed -ne 0 ]; then
|
||||
LOG_INFO "环境未安装,开始安装软件包"
|
||||
# 检查 yum 源中是否有软件包
|
||||
LOG_INFO "检查 yum 源中是否有 python3-nbformat"
|
||||
dnf list available python3-nbformat > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum 源中无 python3-nbformat 软件包"
|
||||
|
||||
LOG_INFO "检查 yum 源中是否有 jupyter-trust"
|
||||
dnf list available jupyter-trust > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum 源中无 jupyter-trust 软件包"
|
||||
|
||||
# 安装软件包
|
||||
LOG_INFO "安装 python3-nbformat 和 jupyter-trust"
|
||||
dnf install -y python3-nbformat jupyter-trust
|
||||
CHECK_RESULT $? 0 $? "安装软件包失败"
|
||||
need_uninstall=true
|
||||
else
|
||||
LOG_INFO "环境已安装,无需重新安装"
|
||||
need_uninstall=false
|
||||
fi
|
||||
|
||||
# 测试 jupyter-trust --show-config
|
||||
LOG_INFO "测试 jupyter-trust --show-config 参数"
|
||||
jupyter-trust --show-config
|
||||
CHECK_RESULT $? 0 255 "jupyter-trust --show-config 参数不支持或执行失败"
|
||||
|
||||
# 清理环境(如果之前未安装)
|
||||
if [ "$need_uninstall" = true ]; then
|
||||
LOG_INFO "清理环境,卸载软件包"
|
||||
dnf remove -y python3-nbformat jupyter-trust
|
||||
CHECK_RESULT $? 0 $? "卸载软件包失败"
|
||||
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-08
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 jupyter-trust 命令的 -y 参数,用于自动回答所有问题为 yes
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 jupyter-trust 命令的 -y 参数功能"
|
||||
|
||||
# 检查 yum 源中是否存在 python3-nbformat 和 jupyter-trust 软件包
|
||||
LOG_INFO "检查 yum 源中是否存在 python3-nbformat 和 jupyter-trust 软件包"
|
||||
dnf list available python3-nbformat jupyter-trust > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum 源中不存在 python3-nbformat 或 jupyter-trust 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装 python3-nbformat 和 jupyter-trust
|
||||
LOG_INFO "检查是否已安装 python3-nbformat 和 jupyter-trust"
|
||||
rpm -q python3-nbformat jupyter-trust > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
installed=true
|
||||
LOG_INFO "python3-nbformat 和 jupyter-trust 已安装"
|
||||
else
|
||||
installed=false
|
||||
LOG_INFO "python3-nbformat 和 jupyter-trust 未安装,将进行安装"
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装 python3-nbformat 和 jupyter-trust"
|
||||
dnf install -y python3-nbformat jupyter-trust
|
||||
CHECK_RESULT $? 0 "安装 python3-nbformat 和 jupyter-trust 失败"
|
||||
fi
|
||||
|
||||
# 测试 jupyter-trust 命令的 -y参数功能
|
||||
LOG_INFO "测试 jupyter-trust -y 参数功能"
|
||||
jupyter-trust -y > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 "jupyter-trust -y命令执行失败"
|
||||
|
||||
#清理环境
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载 python3-nbformat 和 jupyter-trust"
|
||||
dnf remove -y python3-nbformat jupyter-trust
|
||||
CHECK_RESULT $? 0 "卸载 python3-nbformat 或 j u p y t e r- t r u s t 失败"
|
||||
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-06-16
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试python-pytoml-help命令的基本功能,确保命令可以正常执行并返回预期结果。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 步骤1:检查环境中是否已安装python-pytoml软件包
|
||||
LOG_INFO "检查环境中是否已安装python-pytoml软件包"
|
||||
if rpm -q python-pytoml &>/dev/null; then
|
||||
LOG_INFO "python-pytoml已安装,无需重新安装"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "python-pytoml未安装,将在测试步骤中安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 步骤2:检查yum源中是否存在python-pytoml软件包
|
||||
LOG_INFO "检查yum源中是否存在python-pytoml软件包"
|
||||
if ! dnf list available python-pytoml &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到python-pytoml软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤3:如果未安装,则安装python-pytoml软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装python-pytoml软件包"
|
||||
dnf install -y python-pytoml
|
||||
CHECK_RESULT $? 0 0 "安装python-pytoml失败"
|
||||
fi
|
||||
|
||||
# 步骤4:测试python-pytoml-help命令的基本功能
|
||||
LOG_INFO "测试python-pytoml-help命令的基本功能"
|
||||
pytoml-help --help &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "执行pytoml-help --help命令失败"
|
||||
|
||||
# 步骤5:检查--help参数是否支持
|
||||
LOG_INFO "检查--help参数是否支持"
|
||||
if ! pytoml-help --help | grep -q "usage"; then
|
||||
LOG_ERROR "--help参数不支持或输出不符合预期"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤6:清理环境,恢复到之前的状态
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载python-pytoml软件包"
|
||||
dnf remove -y python-pytoml
|
||||
CHECK_RESULT $? 0 0 "卸载python-pytoml失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,72 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-16
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试python-pytoml-help命令的--help参数,确保命令可以正常显示帮助信息。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装python-pytoml
|
||||
LOG_INFO "检查是否已安装python-pytoml..."
|
||||
if dnf list installed python-pytoml &> /dev/null; then
|
||||
LOG_INFO "python-pytoml已安装,跳过安装步骤。"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "python-pytoml未安装,将在测试完成后卸载。"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有python-pytoml软件包
|
||||
LOG_INFO "检查yum源中是否有python-pytoml软件包..."
|
||||
if ! dnf list available python-pytoml &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到python-pytoml软件包,退出测试。"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装python-pytoml
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装python-pytoml..."
|
||||
dnf install -y python-pytoml
|
||||
CHECK_RESULT $? 0 0 "安装python-pytoml失败。"
|
||||
fi
|
||||
|
||||
# 测试--help参数是否正常显示帮助信息
|
||||
LOG_INFO "测试python-pytoml-help命令的--help参数..."
|
||||
output=$(python-pytoml-help --help 2>&1)
|
||||
CHECK_RESULT $? 0 0 "执行python-pytoml-help --help命令失败。"
|
||||
|
||||
# 检查输出是否包含帮助信息
|
||||
if [[ "$output" != *"usage"* ]]; then
|
||||
LOG_ERROR "--help参数未显示帮助信息。"
|
||||
exit 255
|
||||
else
|
||||
LOG_INFO "--help参数正常显示帮助信息。"
|
||||
fi
|
||||
|
||||
# 环境恢复:如果脚本开始时未安装,则卸载python-pytoml
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载python-pytoml..."
|
||||
dnf remove -y python-pytoml
|
||||
CHECK_RESULT $? 0 0 "卸载python-pytomly失败。"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复。"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,74 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-16
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试python-pytoml-help命令的--version参数,确保命令可以正常显示版本信息。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装python-pytoml软件包
|
||||
LOG_INFO "检查是否已安装python-pytoml软件包..."
|
||||
rpm -q python-pytoml > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "python-pytoml已安装,脚本结束时将保持安装状态。"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "python-pytoml未安装,将在测试结束后卸载。"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有python-pytoml软件包
|
||||
LOG_INFO "检查yum源中是否有python-pytoml软件包..."
|
||||
dnf list available python-pytoml > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到python-pytoml软件包,退出测试。"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装python-pytoml软件包..."
|
||||
dnf install -y python-pytoml > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装python-pytoml失败"
|
||||
fi
|
||||
|
||||
# 测试--version参数是否支持
|
||||
LOG_INFO "测试--version参数是否支持..."
|
||||
python-pytoml --help | grep -- "--version" > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "--version参数不支持,退出测试。"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行命令并检查版本信息显示是否正常
|
||||
LOG_INFO "执行命令并检查版本信息显示是否正常..."
|
||||
python-pytoml --version > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "显示版本信息失败"
|
||||
|
||||
# 清理环境:如果脚本开始时未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载python-pytoml软件包..."
|
||||
dnf remove -y python-pytoml > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载python-pytoml失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成。"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,78 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-16
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试python-pytoml-help命令的--config参数,确保命令可以正常加载指定配置文件并返回预期结果。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
LOG_INFO "开始测试python-pytoml-help命令的--config参数功能"
|
||||
|
||||
# 检查是否已安装python-pytoml软件包
|
||||
LOG_INFO "检查python-pytoml是否已安装"
|
||||
if ! dnf list installed python-pytoml &> /dev/null; then
|
||||
LOG_INFO "python-pytoml未安装,开始安装"
|
||||
if ! dnf list available python-pytoml &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到python-pytoml软件包"
|
||||
exit 255
|
||||
fi
|
||||
dnf install -y python-pytoml
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "python-pytoml已安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查--config参数是否存在
|
||||
LOG_INFO "检查--config参数是否支持"
|
||||
if ! python-pytoml-help --help | grep -q -- "--config"; then
|
||||
LOG_ERROR "--config参数不支持"
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
dnf remove -y python-pytoml
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 创建临时配置文件用于测试
|
||||
LOG_INFO "创建临时配置文件"
|
||||
CONFIG_FILE=$(mktemp)
|
||||
echo "[test]" > "$CONFIG_FILE"
|
||||
echo "key = value" >> "$CONFIG_FILE"
|
||||
|
||||
# 测试--config参数功能
|
||||
LOG_INFO "测试--config参数加载配置文件"
|
||||
python-pytoml-help --config "$CONFIG_FILE" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "加载配置文件失败"
|
||||
|
||||
# 清理临时文件
|
||||
LOG_INFO "清理临时文件"
|
||||
rm -f "$CONFIG_FILE"
|
||||
|
||||
# 恢复环境:如果脚本安装的软件包,则卸载;否则保持原状
|
||||
if [ "$INSTALLED" = true ]; then
|
||||
LOG_INFO "卸载python-pytoml软件包"
|
||||
dnf remove -y python-pytoml
|
||||
else
|
||||
LOG_INFO "保持python-pytoml安装状态"
|
||||
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-06-16
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试python-pytoml-help命令的--verbose参数,确保命令可以正常显示详细输出信息。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 步骤1:检查yum源中是否存在python-pytoml软件包
|
||||
LOG_INFO "检查yum源中是否存在python-pytoml软件包"
|
||||
dnf list available python-pytoml &> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到python-pytoml软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤2:检查当前环境是否已安装python-pytoml
|
||||
LOG_INFO "检查当前环境是否已安装python-pytoml"
|
||||
rpm -q python-pytoml &> /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
installed=true
|
||||
LOG_INFO "当前环境已安装python-pytoml"
|
||||
else
|
||||
installed=false
|
||||
LOG_INFO "当前环境未安装python-pytoml,将进行安装"
|
||||
fi
|
||||
|
||||
# 步骤3:如果未安装,则安装python-pytoml
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "正在安装python-pytoml软件包"
|
||||
dnf install -y python-pytoml &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "安装python-pytoml失败"
|
||||
fi
|
||||
|
||||
# 步骤4:测试--verbose参数是否支持并显示详细输出信息
|
||||
LOG_INFO "测试python-pytoml-help命令的--verbose参数"
|
||||
output=$(python-pytoml-help --verbose 2>&1)
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "--verbose参数不支持或命令执行失败"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查输出是否包含详细信息(假设详细输出包含"verbose"关键字)
|
||||
if [[ "$output" != *"verbose"* ]]; then
|
||||
LOG_ERROR "--verbose参数未显示详细输出信息"
|
||||
CHECK_RESULT $? 1 0 "--verbose参数功能异常"
|
||||
else
|
||||
LOG_INFO "--verbose参数功能正常,显示详细输出信息"
|
||||
fi
|
||||
|
||||
# 步骤5:恢复环境(如果脚本开始时未安装,则卸载)
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载python-pytoml软件包以恢复环境"
|
||||
dnf remove -y python-pytoml &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "卸载python-pytoml失败"
|
||||
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 : 2025-12-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic functionality of the package
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查yum源中是否存在指定的软件包
|
||||
check_package_in_repo() {
|
||||
local package_name=$1
|
||||
dnf list available "$package_name" &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 $package_name 不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
}
|
||||
|
||||
# 检查命令参数是否有效
|
||||
check_command_param() {
|
||||
local command=$1
|
||||
local param=$2
|
||||
$command --help | grep -q "$param"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "命令 $command 不支持参数 $param"
|
||||
exit 255
|
||||
fi
|
||||
}
|
||||
|
||||
# 检查软件包是否已安装
|
||||
is_package_installed() {
|
||||
local package_name=$1
|
||||
rpm -q "$package_name" &>/dev/null
|
||||
return $?
|
||||
}
|
||||
|
||||
# 安装软件包
|
||||
install_package() {
|
||||
local package_name=$1
|
||||
LOG_INFO "正在安装软件包 $package_name"
|
||||
dnf install -y "$package_name"
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
}
|
||||
|
||||
# 卸载软件包
|
||||
uninstall_package() {
|
||||
local package_name=$1
|
||||
LOG_INFO "正在卸载软件包 $package_name"
|
||||
dnf remove -y "$package_name"
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
}
|
||||
|
||||
# 测试基本功能
|
||||
test_basic_functionality() {
|
||||
LOG_INFO "开始测试软件包的基本功能"
|
||||
|
||||
# 执行命令测试基本功能(示例命令)
|
||||
python3 -c "import vl_convert_python; print(vl_convert_python.__version__)"
|
||||
CHECK_RESULT $? 0 0 "测试基本功能失败"
|
||||
|
||||
}
|
||||
|
||||
# Main函数,执行测试步骤并清理环境
|
||||
main() {
|
||||
# Step1:检查yum源中是否存在vl-convert-python软件包
|
||||
LOG_INFO "Step1:检查yum源中是否存在vl-convert-python软件包"
|
||||
check_package_in_repo "vl-convert-python"
|
||||
|
||||
# Step2:检查vl-convert-python是否已安装
|
||||
LOG_INFO "Step2:检查vl-convert-python是否已安装"
|
||||
if is_package_installed "vl-convert-python"; then
|
||||
LOG_INFO "vl-convert-python已安装,无需重新安装"
|
||||
else
|
||||
# Step3:安装vl-convert-python
|
||||
LOG_INFO "Step3:安装vl-convert-python"
|
||||
install_package "vl-convert-python"
|
||||
fi
|
||||
|
||||
# Step4:测试基本功能
|
||||
LOG_INFO "Step4:测试基本功能"
|
||||
test_basic_functionality
|
||||
|
||||
# Step5:如果之前未安装,则卸载vl-convert-python
|
||||
if ! is_package_installed "vl-convert-python"; then
|
||||
LOG_INFO "Step5:卸载之前未安装的vl-convert-python"
|
||||
uninstall_package "vl-convert-python"
|
||||
fi
|
||||
|
||||
LOG_INFO "[info]测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
|
||||
}
|
||||
|
||||
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-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic import of the vl_convert module
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 判断环境是否已经安装python3-vl-convert-python包
|
||||
LOG_INFO "检查python3-vl-convert-python包是否已安装"
|
||||
rpm -q python3-vl-convert-python > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "python3-vl-convert-python包已安装,测试后保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "python3-vl-convert-python包未安装,将在测试后卸载"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有该软件包
|
||||
LOG_INFO "检查yum源中是否有python3-vl-convert-python包"
|
||||
dnf list available python3-vl-convert-python > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中没有python3-vl-convert-python包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED_BEFORE" = "false" ]; then
|
||||
LOG_INFO "安装python3-vl-convert-python包"
|
||||
dnf install -y python3-vl-convert-python > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装python3-vl-convert-python包失败"
|
||||
fi
|
||||
|
||||
# 测试基本导入vl_convert模块
|
||||
LOG_INFO "测试基本导入vl_convert模块"
|
||||
python3 -c "import vl_convert; print("vl_convert模块导入成功")" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "导入vl_convert模块失败"
|
||||
|
||||
# 测试vl_convert模块的基本功能
|
||||
LOG_INFO "测试vl_convert模块的基本功能"
|
||||
python3 -c "
|
||||
import vl_convert
|
||||
import json
|
||||
spec = {"data": {"values": [{"x": 1, "y": 2}, {"x": 2, "y": 3}]}, "mark": "point", "encoding": {"x": {"field": "x", "type": "quantitative"}, "y": {"field": "y", "type": "quantitative"}}}
|
||||
try:
|
||||
result = vl_convert.vega_lite_to_svg(spec)
|
||||
print("vl_convert基本功能测试成功")
|
||||
except Exception as e:
|
||||
print(f"vl_convert基本功能测试失败: {e}")
|
||||
exit(1)
|
||||
" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "vl_convert模块基本功能测试失败"
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载软件包
|
||||
if [ "$INSTALLED_BEFORE" = "false" ]; then
|
||||
LOG_INFO "卸载python3-vl-convert-python包"
|
||||
dnf remove -y python3-vl-convert-python > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载python3-vl-convert-python包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,86 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test if the package can be successfully installed via package manager
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装python3-vl-convert-python包
|
||||
LOG_INFO "检查是否已安装python3-vl-convert-python包"
|
||||
if rpm -q python3-vl-convert-python &> /dev/null; then
|
||||
LOG_INFO "python3-vl-convert-python已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "python3-vl-convert-python未安装,将在测试中安装并在结束前卸载"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有python3-vl-convert-python包
|
||||
LOG_INFO "检查yum源中是否有python3-vl-convert-python包"
|
||||
if ! dnf list available python3-vl-convert-python &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到python3-vl-convert-python包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装python3-vl-convert-python包(如果未安装)
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "开始安装python3-vl-convert-python包"
|
||||
dnf install -y python3-vl-convert-python
|
||||
CHECK_RESULT $? 0 0 "安装python3-vl-convert-python包失败"
|
||||
LOG_INFO "python3-vl-convert-python包安装成功"
|
||||
fi
|
||||
|
||||
# 验证python3-vl-convert-python包是否安装成功
|
||||
LOG_INFO "验证python3-vl-convert-python包是否安装成功"
|
||||
rpm -q python3-vl-convert-python
|
||||
CHECK_RESULT $? 0 0 "python3-vl-convert-python包未正确安装"
|
||||
|
||||
# 检查python3-vl-convert-python包的基本功能
|
||||
LOG_INFO "检查python3-vl-convert-python包的基本功能"
|
||||
if command -v python3 &> /dev/null; then
|
||||
LOG_INFO "尝试导入vl-convert-python模块"
|
||||
python3 -c "import vl_convert_python; print("vl-convert-python模块导入成功")"
|
||||
CHECK_RESULT $? 0 0 "vl-convert-python模块导入失败"
|
||||
else
|
||||
LOG_ERROR "python3命令未找到,无法验证vl-convert-python模块"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理环境:如果之前未安装,则卸载python3-vl-convert-python包
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "开始卸载python3-vl-convert-python包"
|
||||
dnf remove -y python3-vl-convert-python
|
||||
CHECK_RESULT $? 0 0 "卸载python3-vl-convert-python包失败"
|
||||
LOG_INFO "python3-vl-convert-python包卸载成功"
|
||||
|
||||
# 验证卸载是否成功
|
||||
LOG_INFO "验证python3-vl-convert-python包是否已卸载"
|
||||
if rpm -q python3-vl-convert-python &> /dev/null; then
|
||||
LOG_ERROR "python3-vl-convert-python包卸载失败"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "python3-vl-convert-python包已成功卸载"
|
||||
fi
|
||||
else
|
||||
LOG_INFO "python3-vl-convert-python包在脚本执行前已安装,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:通过包管理器成功安装python3-vl-convert-python包"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,73 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包核心功能(如ActiveResource类)是否可用
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试rubygem-activeresource-doc软件包核心功能"
|
||||
LOG_INFO "1. 检查当前环境是否已安装rubygem-activeresource-doc软件包"
|
||||
rpm -q rubygem-activeresource-doc > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "当前环境已安装rubygem-activeresource-doc软件包,测试结束后将保持安装状态"
|
||||
INSTALLED_FLAG=1
|
||||
else
|
||||
LOG_INFO "当前环境未安装rubygem-activeresource-doc软件包"
|
||||
INSTALLED_FLAG=0
|
||||
fi
|
||||
|
||||
LOG_INFO "2. 检查yum源中是否存在rubygem-activeresource-doc软件包"
|
||||
dnf list available rubygem-activeresource-doc > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中未找到rubygem-activeresource-doc软件包"
|
||||
|
||||
if [ ${INSTALLED_FLAG} -eq 0 ]; then
|
||||
LOG_INFO "3. 安装rubygem-activeresource-doc软件包"
|
||||
dnf install -y rubygem-activeresource-doc
|
||||
CHECK_RESULT $? 0 0 "安装rubygem-activeresource-doc软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "4. 测试ActiveResource类核心功能是否可用"
|
||||
LOG_INFO "4.1 检查rubygem-activeresource-doc是否提供了ActiveResource相关的文档"
|
||||
rpm -ql rubygem-activeresource-doc | grep -i activeresource > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "rubygem-activeresource-doc软件包未包含ActiveResource相关文档"
|
||||
|
||||
LOG_INFO "4.2 尝试查看ActiveResource相关文档内容"
|
||||
DOC_FILE=$(rpm -ql rubygem-activeresource-doc | grep -i activeresource | head -1)
|
||||
if [ -n "${DOC_FILE}" ] && [ -f "${DOC_FILE}" ]; then
|
||||
LOG_INFO "找到文档文件: ${DOC_FILE}"
|
||||
file "${DOC_FILE}" | grep -E "text|HTML" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "ActiveResource文档文件格式异常"
|
||||
else
|
||||
LOG_ERROR "未找到有效的ActiveResource文档文件"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_INFO "5. 清理测试环境"
|
||||
if [ ${INSTALLED_FLAG} -eq 0 ]; then
|
||||
LOG_INFO "5.1 卸载测试安装的rubygem-activeresource-doc软件包"
|
||||
dnf remove -y rubygem-activeresource-doc
|
||||
CHECK_RESULT $? 0 0 "卸载rubygem-activeresource-doc软件包失败"
|
||||
LOG_INFO "环境已恢复到测试前状态"
|
||||
else
|
||||
LOG_INFO "环境保持原有安装状态,无需卸载"
|
||||
fi
|
||||
|
||||
LOG_INFO "rubygem-activeresource-doc软件包核心功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,99 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包能否被干净地卸载
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:测试软件包能否被干净地卸载"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="rubygem-activeresource-doc"
|
||||
|
||||
# 检查软件包是否已在yum源中
|
||||
LOG_INFO "检查软件包 ${PACKAGE_NAME} 是否在yum源中"
|
||||
dnf list available ${PACKAGE_NAME} &> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 ${PACKAGE_NAME} 不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查软件包是否已经安装
|
||||
LOG_INFO "检查软件包 ${PACKAGE_NAME} 是否已经安装"
|
||||
if rpm -q ${PACKAGE_NAME} &> /dev/null; then
|
||||
LOG_INFO "软件包 ${PACKAGE_NAME} 已经安装,测试结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "软件包 ${PACKAGE_NAME} 未安装,将进行安装和卸载测试"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装软件包 ${PACKAGE_NAME}"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "安装软件包 ${PACKAGE_NAME} 失败"
|
||||
fi
|
||||
|
||||
# 检查软件包是否安装成功
|
||||
LOG_INFO "验证软件包 ${PACKAGE_NAME} 是否安装成功"
|
||||
rpm -q ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "软件包 ${PACKAGE_NAME} 未正确安装"
|
||||
|
||||
# 卸载软件包
|
||||
LOG_INFO "卸载软件包 ${PACKAGE_NAME}"
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 ${PACKAGE_NAME} 失败"
|
||||
|
||||
# 验证软件包是否被干净地卸载
|
||||
LOG_INFO "验证软件包 ${PACKAGE_NAME} 是否被干净地卸载"
|
||||
rpm -q ${PACKAGE_NAME} &> /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "软件包 ${PACKAGE_NAME} 未被干净地卸载"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "软件包 ${PACKAGE_NAME} 已被干净地卸载"
|
||||
fi
|
||||
|
||||
# 如果测试前未安装,则重新安装以恢复环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "恢复环境:重新安装软件包 ${PACKAGE_NAME}"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "恢复环境时安装软件包 ${PACKAGE_NAME} 失败"
|
||||
fi
|
||||
|
||||
# 最终验证环境状态
|
||||
LOG_INFO "最终验证环境状态"
|
||||
if [ "$INSTALLED" = true ]; then
|
||||
rpm -q ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "环境未恢复到初始安装状态"
|
||||
LOG_INFO "环境已恢复到初始安装状态"
|
||||
else
|
||||
rpm -q ${PACKAGE_NAME} &> /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "环境未恢复到初始未安装状态"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "环境已恢复到初始未安装状态"
|
||||
fi
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:软件包 ${PACKAGE_NAME} 能够被干净地卸载"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,86 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-04-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test applying active configuration
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试脚本:Test applying active configuration
|
||||
|
||||
LOG_INFO "1. 检查是否已安装texlive-active-conf软件包"
|
||||
rpm -q texlive-active-conf
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-active-conf已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-active-conf未安装,将在测试过程中安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
LOG_INFO "2. 检查yum源中是否有texlive-active-conf软件包"
|
||||
dnf list available texlive-active-conf 2>/dev/null | grep -q texlive-active-conf
|
||||
CHECK_RESULT $? 0 0 "yum源中未找到texlive-active-conf软件包"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-active-conf软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "3. 如果未安装,则安装texlive-active-conf软件包"
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
dnf install -y texlive-active-conf
|
||||
CHECK_RESULT $? 0 0 "安装texlive-active-conf失败"
|
||||
LOG_INFO "安装texlive-active-conf成功"
|
||||
fi
|
||||
|
||||
LOG_INFO "4. 测试active configuration应用功能"
|
||||
texlive-active-conf --apply
|
||||
CHECK_RESULT $? 0 0 "应用active configuration失败"
|
||||
|
||||
LOG_INFO "5. 测试无效参数处理"
|
||||
texlive-active-conf --invalid-param 2>/dev/null
|
||||
if [ $? -ne 255 ] && [ $? -ne 0 ]; then
|
||||
LOG_ERROR "无效参数处理不符合预期"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "无效参数处理正常"
|
||||
|
||||
LOG_INFO "6. 清理测试环境"
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载测试安装的texlive-active-conf软件包"
|
||||
dnf remove -y texlive-active-conf
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-active-conf失败"
|
||||
LOG_INFO "卸载texlive-active-conf成功"
|
||||
else
|
||||
LOG_INFO "保持原有texlive-active-conf安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "7. 验证环境已恢复"
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
rpm -q texlive-active-conf
|
||||
CHECK_RESULT $? 1 0 "环境恢复失败,软件包未正确卸载"
|
||||
LOG_INFO "环境恢复成功,软件包已卸载"
|
||||
else
|
||||
rpm -q texlive-active-conf
|
||||
CHECK_RESULT $? 0 0 "环境状态异常,原有软件包丢失"
|
||||
LOG_INFO "环境保持原有安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test applying active configuration"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,72 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-04-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test if texlive-active-conf is installed
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:检查 texlive-active-conf 是否安装"
|
||||
|
||||
LOG_INFO "步骤1:检查当前环境中是否已安装 texlive-active-conf"
|
||||
rpm -q texlive-active-conf > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-active-conf 已安装,记录安装状态"
|
||||
INSTALLED="true"
|
||||
else
|
||||
LOG_INFO "texlive-active-conf 未安装"
|
||||
INSTALLED="false"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查 yum 源中是否存在 texlive-active-conf 软件包"
|
||||
dnf list available texlive-active-conf > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum 源中未找到 texlive-active-conf 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤3:如果未安装,则安装 texlive-active-conf"
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
dnf install -y texlive-active-conf
|
||||
CHECK_RESULT $? 0 0 "安装 texlive-active-conf 失败"
|
||||
LOG_INFO "texlive-active-conf 安装成功"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:验证 texlive-active-conf 是否正常工作"
|
||||
# 这里假设 texlive-active-conf 安装后会提供一个可执行命令或配置文件
|
||||
# 例如,检查是否有特定的配置文件或命令
|
||||
if [ -f /etc/texlive/texlive.conf ]; then
|
||||
LOG_INFO "找到 texlive-active-conf 配置文件"
|
||||
else
|
||||
LOG_ERROR "未找到 texlive-active-conf 配置文件"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤5:清理环境,恢复到之前的状态"
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "卸载之前安装的 texlive-active-conf"
|
||||
dnf remove -y texlive-active-conf
|
||||
CHECK_RESULT $? 0 0 "卸载 texlive-active-conf 失败"
|
||||
LOG_INFO "texlive-active-conf 卸载成功"
|
||||
else
|
||||
LOG_INFO "环境已安装 texlive-active-conf,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:texlive-active-conf 安装检查通过"
|
||||
}
|
||||
|
||||
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-11-25
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test configuration loading
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试配置加载功能"
|
||||
|
||||
# 检查是否已安装texlive-active-conf软件包
|
||||
LOG_INFO "检查texlive-active-conf是否已安装"
|
||||
if rpm -q texlive-active-conf &>/dev/null; then
|
||||
LOG_INFO "texlive-active-conf已安装,测试结束后保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "texlive-active-conf未安装,测试结束后将卸载"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在texlive-active-conf软件包
|
||||
LOG_INFO "检查yum源中是否存在texlive-active-conf软件包"
|
||||
if ! dnf list available texlive-active-conf &>/dev/null; then
|
||||
LOG_ERROR "yum源中不存在texlive-active-conf软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装texlive-active-conf软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装texlive-active-conf软件包"
|
||||
dnf install -y texlive-active-conf
|
||||
CHECK_RESULT $? 0 0 "安装texlive-active-conf失败"
|
||||
fi
|
||||
|
||||
# 测试配置加载功能
|
||||
LOG_INFO "测试配置加载功能"
|
||||
texlive-active-conf --load-config
|
||||
CHECK_RESULT $? 0 0 "配置加载失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载texlive-active-conf软件包"
|
||||
dnf remove -y texlive-active-conf
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-active-conf失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试配置加载功能完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,57 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-04-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test version query of the package
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试软件包版本查询功能"
|
||||
LOG_INFO "检查是否已安装texlive-active-conf软件包"
|
||||
if dnf list installed texlive-active-conf &> /dev/null; then
|
||||
LOG_INFO "texlive-active-conf已安装,测试结束将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-active-conf未安装,将在测试步骤中安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
LOG_INFO "检查yum源中是否存在texlive-active-conf软件包"
|
||||
if ! dnf list available texlive-active-conf &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-active-conf软件包"
|
||||
exit 255
|
||||
fi
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "安装texlive-active-conf软件包"
|
||||
dnf install -y texlive-active-conf
|
||||
CHECK_RESULT $? 0 0 "安装texlive-active-conf失败"
|
||||
fi
|
||||
LOG_INFO "执行texlive-active-conf版本查询命令"
|
||||
if ! texlive-active-conf --help | grep -q -- "--version"; then
|
||||
LOG_ERROR "texlive-active-conf命令不支持--version参数"
|
||||
exit 255
|
||||
fi
|
||||
texlive-active-conf --version
|
||||
CHECK_RESULT $? 0 0 "查询texlive-active-conf版本失败"
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "卸载texlive-active-conf软件包"
|
||||
dnf remove -y texlive-active-conf
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-active-conf失败"
|
||||
fi
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,65 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-09-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
LOG_INFO "开始测试:Test basic functionality"
|
||||
|
||||
# 检查是否已安装texlive-allrunes
|
||||
LOG_INFO "检查是否已安装texlive-allrunes"
|
||||
dnf list installed texlive-allrunes > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-allrunes已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-allrunes未安装,测试结束后将卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-allrunes软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-allrunes软件包"
|
||||
dnf list available texlive-allrunes > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中未找到texlive-allrunes软件包"
|
||||
|
||||
# 安装texlive-allrunes
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装texlive-allrunes"
|
||||
dnf install -y texlive-allrunes > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装texlive-allrunes失败"
|
||||
fi
|
||||
|
||||
# 测试基本功能
|
||||
LOG_INFO "测试基本功能"
|
||||
texlive-allrunes --version > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "texlive-allrunes命令不支持--version参数或执行失败"
|
||||
|
||||
# 清理环境(如果之前未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载texlive-allrunes"
|
||||
dnf remove -y texlive-allrunes > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-allrunes失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test basic functionality"
|
||||
|
||||
}
|
||||
|
||||
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-allrunes
|
||||
LOG_INFO "检查是否已安装texlive-allrunes"
|
||||
rpm -q texlive-allrunes > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-allrunes已安装,脚本结束时保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "texlive-allrunes未安装,将在测试后卸载"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-allrunes
|
||||
LOG_INFO "检查yum源中是否有texlive-allrunes"
|
||||
dnf list available texlive-allrunes > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中未找到texlive-allrunes软件包"
|
||||
|
||||
# 安装texlive-allrunes
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装texlive-allrunes"
|
||||
dnf install -y texlive-allrunes
|
||||
CHECK_RESULT $? 0 1 "安装texlive-allrunes失败"
|
||||
fi
|
||||
|
||||
# 测试命令功能
|
||||
LOG_INFO "测试texlive-allrunes命令功能"
|
||||
command_to_test="some_texlive_command"
|
||||
$command_to_test --help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "命令$command_to_test不支持或参数错误"
|
||||
|
||||
# 清理环境
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载texlive-allrunes"
|
||||
dnf remove -y texlive-allrunes
|
||||
CHECK_RESULT $? 0 1 "卸载texlive-allrunes失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
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-09-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package uninstallation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已经安装texlive-fancypar软件包
|
||||
LOG_INFO "检查是否已经安装texlive-fancypar软件包"
|
||||
rpm -q texlive-fancypar > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-fancypar已安装,脚本结束时将保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "texlive-fancypar未安装,将在测试结束后卸载"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-fancypar软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-fancypar软件包"
|
||||
dnf list available texlive-fancypar > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中不存在texlive-fancypar软件包"
|
||||
|
||||
# 安装texlive-fancypar软件包
|
||||
LOG_INFO "安装texlive-fancypar软件包"
|
||||
dnf install -y texlive-fancypar
|
||||
CHECK_RESULT $? 0 0 "安装texlive-fancypar失败"
|
||||
|
||||
# 验证卸载功能
|
||||
LOG_INFO "验证卸载功能"
|
||||
dnf remove -y texlive-fancypar
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-fancypar失败"
|
||||
|
||||
# 环境恢复:如果初始未安装,则卸载;否则保持安装状态
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "恢复环境:卸载texlive-fancypar"
|
||||
dnf remove -y texlive-fancypar > /dev/null 2>&1
|
||||
else
|
||||
LOG_INFO "恢复环境:重新安装texlive-fancypar"
|
||||
dnf install -y texlive-fancypar > /dev/null 2>&1
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,69 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test font rendering
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装texlive-ektype-tanka-function-font软件包
|
||||
LOG_INFO "检查是否已安装texlive-ektype-tanka-function-font软件包"
|
||||
if dnf list installed texlive-ektype-tanka-function-font &>/dev/null; then
|
||||
LOG_INFO "软件包已安装,脚本结束时将保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "软件包未安装,将在测试结束后卸载"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在该软件包
|
||||
LOG_INFO "检查yum源中是否存在texlive-ektype-tanka-function-font软件包"
|
||||
if ! dnf list available texlive-ektype-tanka-function-font &>/dev/null; then
|
||||
LOG_ERROR "yum源中不存在texlive-ektype-tanka-function-font软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "开始安装texlive-ektype-tanka-function-font软件包"
|
||||
dnf install -y texlive-ektype-tanka-function-font
|
||||
CHECK_RESULT $? 0 0 "安装texlive-ektype-tanka-function-font失败"
|
||||
fi
|
||||
|
||||
# 测试字体渲染功能
|
||||
LOG_INFO "测试字体渲染功能"
|
||||
if ! command -v fc-list &>/dev/null; then
|
||||
LOG_ERROR "fc-list命令不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
fc-list | grep -q "ektype-tanka-function"
|
||||
CHECK_RESULT $? 0 0 "字体渲染测试失败"
|
||||
|
||||
# 清理环境:如果脚本开始时未安装,则卸载软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载texlive-ektype-tanka-function-font软件包"
|
||||
dnf remove -y texlive-ektype-tanka-function-font
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-ektype-tanka-function-font失败"
|
||||
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-11-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic drawing functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装texlive-pmboxdraw软件包
|
||||
LOG_INFO "检查是否已安装texlive-pmboxdraw软件包"
|
||||
if dnf list installed texlive-pmboxdraw &> /dev/null; then
|
||||
LOG_INFO "texlive-pmboxdraw已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-pmboxdraw未安装,脚本结束后将卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-pmboxdraw软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-pmboxdraw软件包"
|
||||
if ! dnf list available texlive-pmboxdraw &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-pmboxdraw软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 若未安装则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装texlive-pmboxdraw软件包"
|
||||
dnf install -y texlive-pmboxdraw &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "安装texlive-pmboxdraw失败"
|
||||
fi
|
||||
|
||||
# 测试基本绘图功能
|
||||
LOG_INFO "测试基本绘图功能"
|
||||
pmboxdraw --version &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "pmboxdraw命令执行失败"
|
||||
|
||||
# 清理环境:若脚本开始时未安装则卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载texlive-pmboxdraw软件包"
|
||||
dnf remove -y texlive-pmboxdraw &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-pmboxdraw失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,90 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-03
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test drawing a basic Feynman diagram
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装texlive-pst-feyn软件包
|
||||
LOG_INFO "检查texlive-pst-feyn软件包是否已安装"
|
||||
rpm -q texlive-pst-feyn > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-pst-feyn软件包已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-pst-feyn软件包未安装,将在测试步骤中安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-pst-feyn软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-pst-feyn软件包"
|
||||
dnf list available texlive-pst-feyn > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-pst-feyn软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装texlive-pst-feyn软件包"
|
||||
dnf install -y texlive-pst-feyn
|
||||
CHECK_RESULT $? 0 0 "安装texlive-pst-feyn软件包失败"
|
||||
fi
|
||||
|
||||
# 创建测试用的LaTeX文档
|
||||
LOG_INFO "创建测试用的LaTeX文档"
|
||||
cat > test_feynman.tex << "EOF"
|
||||
\documentclass{article}
|
||||
\usepackage{pst-feyn}
|
||||
\begin{document}
|
||||
\begin{pspicture}(-1,-1)(1,1)
|
||||
\psfeyn{f}
|
||||
\end{pspicture}
|
||||
\end{document}
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "创建LaTeX文档失败"
|
||||
|
||||
# 使用latex命令编译文档
|
||||
LOG_INFO "使用latex命令编译LaTeX文档"
|
||||
latex test_feynman.tex > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "编译LaTeX文档失败"
|
||||
|
||||
# 检查生成的DVI文件
|
||||
LOG_INFO "检查生成的DVI文件"
|
||||
if [ -f "test_feynman.dvi" ]; then
|
||||
LOG_INFO "成功生成DVI文件"
|
||||
else
|
||||
LOG_ERROR "未生成DVI文件"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理临时文件
|
||||
LOG_INFO "清理临时文件"
|
||||
rm -f test_feynman.tex test_feynman.aux test_feynman.log test_feynman.dvi
|
||||
|
||||
# 如果测试前未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载texlive-pst-feyn软件包"
|
||||
dnf remove -y texlive-pst-feyn
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-pst-feyn软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,90 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-03
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test compiling a LaTeX file with pst-feyn
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查环境是否已安装texlive-pst-feyn
|
||||
LOG_INFO "检查texlive-pst-feyn是否已安装"
|
||||
rpm -q texlive-pst-feyn
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-pst-feyn已安装,测试完成后将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "texlive-pst-feyn未安装,将在测试过程中安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-pst-feyn软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-pst-feyn软件包"
|
||||
dnf list available texlive-pst-feyn
|
||||
CHECK_RESULT $? 0 0 "yum源中未找到texlive-pst-feyn软件包"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-pst-feyn软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装texlive-pst-feyn
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装texlive-pst-feyn软件包"
|
||||
dnf install -y texlive-pst-feyn
|
||||
CHECK_RESULT $? 0 0 "安装texlive-pst-feyn失败"
|
||||
fi
|
||||
|
||||
# 创建测试用的LaTeX文件
|
||||
LOG_INFO "创建测试用的LaTeX文件"
|
||||
cat > test_feyn.tex << "EOF"
|
||||
\documentclass{article}
|
||||
\usepackage{pst-feyn}
|
||||
\begin{document}
|
||||
\feyn{f}{g}
|
||||
\end{document}
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "创建LaTeX文件失败"
|
||||
|
||||
# 编译LaTeX文件
|
||||
LOG_INFO "编译LaTeX文件"
|
||||
pdflatex -interaction=nonstopmode test_feyn.tex
|
||||
CHECK_RESULT $? 0 0 "编译LaTeX文件失败"
|
||||
|
||||
# 检查生成的PDF文件
|
||||
LOG_INFO "检查生成的PDF文件"
|
||||
if [ -f test_feyn.pdf ]; then
|
||||
LOG_INFO "PDF文件生成成功"
|
||||
else
|
||||
LOG_ERROR "PDF文件生成失败"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f test_feyn.tex test_feyn.log test_feyn.aux test_feyn.pdf
|
||||
CHECK_RESULT $? 0 0 "清理测试文件失败"
|
||||
|
||||
# 如果测试前未安装,则卸载texlive-pst-feyn
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载texlive-pst-feyn软件包"
|
||||
dnf remove -y texlive-pst-feyn
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-pst-feyn失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,96 +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-03
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test drawing a composite diagram
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 判断是否已经安装软件包
|
||||
LOG_INFO "检查是否已安装 texlive-pst-feyn 软件包"
|
||||
rpm -q texlive-pst-feyn > /dev/null 2>&1
|
||||
installed=$?
|
||||
|
||||
# 记录初始安装状态
|
||||
if [ $installed -eq 0 ]; then
|
||||
LOG_INFO "软件包 texlive-pst-feyn 已安装"
|
||||
else
|
||||
LOG_INFO "软件包 texlive-pst-feyn 未安装"
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有该软件包
|
||||
LOG_INFO "检查yum源中是否有 texlive-pst-feyn 软件包"
|
||||
dnf list available texlive-pst-feyn > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到 texlive-pst-feyn 软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum源中存在 texlive-pst-feyn 软件包"
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $installed -ne 0 ]; then
|
||||
LOG_INFO "安装 texlive-pst-feyn 软件包"
|
||||
dnf install -y texlive-pst-feyn
|
||||
CHECK_RESULT $? 0 0 "安装 texlive-pst-feyn 软件包失败"
|
||||
LOG_INFO "安装 texlive-pst-feyn 软件包成功"
|
||||
fi
|
||||
|
||||
# 测试绘制复合图
|
||||
LOG_INFO "测试绘制复合图"
|
||||
cat > test_composite.tex << "EOF"
|
||||
\documentclass{article}
|
||||
\usepackage{pst-feyn}
|
||||
\begin{document}
|
||||
\begin{pspicture}(-2,-2)(2,2)
|
||||
\psfeyn{! {v1 1} {v2 1} / v1 [particle=a] v2 [particle=b],
|
||||
! {v3 1} {v4 1} / v3 [particle=c] v4 [particle=d],
|
||||
v1 -- v3, v2 -- v4}
|
||||
\end{pspicture}
|
||||
\end{document}
|
||||
EOF
|
||||
|
||||
# 检查是否支持 pst-feyn 参数
|
||||
LOG_INFO "检查 latex 是否支持 pst-feyn"
|
||||
latex --help | grep -q "pst-feyn"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "latex 不支持 pst-feyn 参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 编译测试文档
|
||||
LOG_INFO "编译测试文档 test_composite.tex"
|
||||
latex -interaction=nonstopmode test_composite.tex
|
||||
CHECK_RESULT $? 0 0 "编译 test_composite.tex 失败"
|
||||
|
||||
# 清理生成的中间文件
|
||||
LOG_INFO "清理生成的中间文件"
|
||||
rm -f test_composite.aux test_composite.log test_composite.dvi test_composite.tex
|
||||
|
||||
# 环境恢复
|
||||
if [ $installed -ne 0 ]; then
|
||||
LOG_INFO "卸载 texlive-pst-feyn 软件包"
|
||||
dnf remove -y texlive-pst-feyn
|
||||
CHECK_RESULT $? 0 0 "卸载 texlive-pst-feyn 软件包失败"
|
||||
LOG_INFO "卸载 texlive-pst-feyn 软件包成功"
|
||||
else
|
||||
LOG_INFO "保持 texlive-pst-feyn 软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,76 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test drawing Feynman diagrams
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:绘制Feynman图"
|
||||
|
||||
# 检查是否已安装texlive-pst-feyn软件包
|
||||
LOG_INFO "检查是否已安装texlive-pst-feyn"
|
||||
if rpm -q texlive-pst-feyn >/dev/null 2>&1; then
|
||||
LOG_INFO "texlive-pst-feyn已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-pst-feyn未安装,测试结束后将卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-pst-feyn软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-pst-feyn"
|
||||
if ! dnf list available texlive-pst-feyn >/dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中未找到texlive-pst-feyn软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装texlive-pst-feyn软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装texlive-pst-feyn"
|
||||
dnf install -y texlive-pst-feyn
|
||||
CHECK_RESULT $? 0 0 "安装texlive-pst-feyn失败"
|
||||
fi
|
||||
|
||||
# 测试绘制Feynman图功能
|
||||
LOG_INFO "测试绘制Feynman图功能"
|
||||
TEMP_FILE=$(mktemp)
|
||||
cat <<EOF >"$TEMP_FILE.tex"
|
||||
\documentclass{article}
|
||||
\usepackage{pst-feyn}
|
||||
\begin{document}
|
||||
\feyn{! {v1} -- [fermion] {v2}}
|
||||
\end{document}
|
||||
EOF
|
||||
|
||||
pdflatex -interaction=nonstopmode "$TEMP_FILE.tex" >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "绘制Feynman图失败"
|
||||
|
||||
# 清理临时文件
|
||||
rm -f "$TEMP_FILE.tex" "$TEMP_FILE.pdf" "$TEMP_FILE.log" "$TEMP_FILE.aux"
|
||||
|
||||
# 卸载texlive-pst-feyn软件包(如果测试前未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载texlive-pst-feyn"
|
||||
dnf remove -y texlive-pst-feyn
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-pst-feyn失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:绘制Feynman图"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,95 +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-03
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test drawing fermion lines
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test drawing fermion lines"
|
||||
|
||||
LOG_INFO "步骤1:检查texlive-pst-feyn软件包是否在yum源中"
|
||||
dnf list available texlive-pst-feyn 2>/dev/null | grep -q texlive-pst-feyn
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-pst-feyn软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查当前环境是否已安装texlive-pst-feyn"
|
||||
rpm -q texlive-pst-feyn >/dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-pst-feyn已安装,测试结束后保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-pst-feyn未安装,将在测试过程中安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "步骤3:安装texlive-pst-feyn软件包"
|
||||
dnf install -y texlive-pst-feyn
|
||||
CHECK_RESULT $? 0 0 "安装texlive-pst-feyn失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:验证pst-feyn命令参数支持"
|
||||
pst-feyn --help >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "pst-feyn命令不支持--help参数"
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "清理环境:卸载texlive-pst-feyn"
|
||||
dnf remove -y texlive-pst-feyn
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤5:测试绘制费米子线功能"
|
||||
cat > test_fermion.tex << "EOF"
|
||||
\documentclass{article}
|
||||
\usepackage{pst-feyn}
|
||||
\begin{document}
|
||||
\begin{pspicture}(-1,-1)(1,1)
|
||||
\psfeyn{f}
|
||||
\end{pspicture}
|
||||
\end{document}
|
||||
EOF
|
||||
|
||||
pdflatex -interaction=nonstopmode test_fermion.tex >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "生成费米子线PDF失败"
|
||||
|
||||
LOG_INFO "步骤6:检查生成的PDF文件"
|
||||
if [ -f test_fermion.pdf ]; then
|
||||
LOG_INFO "成功生成包含费米子线的PDF文件"
|
||||
file test_fermion.pdf | grep -q "PDF document"
|
||||
CHECK_RESULT $? 0 0 "生成的文件不是有效的PDF"
|
||||
else
|
||||
LOG_ERROR "未找到生成的PDF文件"
|
||||
CHECK_RESULT 1 0 0 "PDF文件未生成"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤7:清理临时文件"
|
||||
rm -f test_fermion.tex test_fermion.aux test_fermion.log test_fermion.pdf
|
||||
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "步骤8:卸载texlive-pst-feyn软件包"
|
||||
dnf remove -y texlive-pst-feyn
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-pst-feyn失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test drawing fermion lines"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,88 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-03
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test drawing photon lines
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试: Test drawing photon lines"
|
||||
LOG_INFO "步骤1: 检查系统是否已安装texlive-pst-feyn"
|
||||
if dnf list installed texlive-pst-feyn &>/dev/null; then
|
||||
LOG_INFO "texlive-pst-feyn已安装,测试后保持安装状态"
|
||||
already_installed=1
|
||||
else
|
||||
LOG_INFO "texlive-pst-feyn未安装,将在测试中安装"
|
||||
already_installed=0
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2: 检查yum源中是否有texlive-pst-feyn软件包"
|
||||
if ! dnf list available texlive-pst-feyn &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-pst-feyn软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤3: 安装texlive-pst-feyn(如果未安装)"
|
||||
if [ $already_installed -eq 0 ]; then
|
||||
dnf install -y texlive-pst-feyn
|
||||
CHECK_RESULT $? 0 0 "安装texlive-pst-feyn失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4: 验证pst-feyn包的基本功能"
|
||||
cat > test_photon.tex << "EOF"
|
||||
\documentclass{article}
|
||||
\usepackage{pst-feyn}
|
||||
\begin{document}
|
||||
\begin{pspicture}(-1,-1)(1,1)
|
||||
\feyn[style=line]
|
||||
\feyn[style=photon](0,0)(1,0)
|
||||
\end{pspicture}
|
||||
\end{document}
|
||||
EOF
|
||||
|
||||
LOG_INFO "步骤5: 使用latex编译测试文档"
|
||||
latex test_photon.tex
|
||||
CHECK_RESULT $? 0 0 "latex编译失败"
|
||||
|
||||
LOG_INFO "步骤6: 使用dvips生成PS文件"
|
||||
dvips test_photon.dvi
|
||||
CHECK_RESULT $? 0 0 "dvips转换失败"
|
||||
|
||||
LOG_INFO "步骤7: 检查生成的PS文件是否包含光子线"
|
||||
if grep -q "photon" test_photon.ps; then
|
||||
LOG_INFO "成功生成包含光子线的PS文件"
|
||||
else
|
||||
LOG_ERROR "生成的PS文件中未找到光子线相关代码"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤8: 清理临时文件"
|
||||
rm -f test_photon.tex test_photon.aux test_photon.log test_photon.dvi test_photon.ps
|
||||
|
||||
LOG_INFO "步骤9: 恢复环境状态"
|
||||
if [ $already_installed -eq 0 ]; then
|
||||
LOG_INFO "卸载测试安装的texlive-pst-feyn"
|
||||
dnf remove -y texlive-pst-feyn
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-pst-feyn失败"
|
||||
else
|
||||
LOG_INFO "保持texlive-pst-feyn安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成: Test drawing photon lines"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,84 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-03
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test adding labels to vertices
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
# 环境检查:检查是否已安装texlive-pst-feyn
|
||||
LOG_INFO "检查是否已安装texlive-pst-feyn软件包"
|
||||
if dnf list installed texlive-pst-feyn > /dev/null 2>&1; then
|
||||
LOG_INFO "texlive-pst-feyn已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "texlive-pst-feyn未安装,将在测试步骤中安装,并在脚本结束前卸载"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在texlive-pst-feyn软件包
|
||||
LOG_INFO "检查yum源中是否存在texlive-pst-feyn软件包"
|
||||
if ! dnf list available texlive-pst-feyn > /dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中不存在texlive-pst-feyn软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "安装texlive-pst-feyn软件包"
|
||||
dnf install -y texlive-pst-feyn
|
||||
CHECK_RESULT $? 0 0 "安装texlive-pst-feyn失败"
|
||||
fi
|
||||
|
||||
# 测试:添加标签到顶点
|
||||
LOG_INFO "测试添加标签到顶点"
|
||||
# 创建一个简单的LaTeX测试文件
|
||||
cat > test_feynman.tex << "EOF"
|
||||
\documentclass{article}
|
||||
\usepackage{pst-feyn}
|
||||
\begin{document}
|
||||
\begin{pspicture}(-2,-2)(2,2)
|
||||
\psset{arrowsize=7pt}
|
||||
\feyn[inline]{(0,0) -- (1,0) node[midway,above]{$e^-$}}
|
||||
\feyn[inline]{(0,0) -- (-1,0) node[midway,above]{$e^+$}}
|
||||
\feyn[inline]{(0,0) -- (0,1) node[midway,right]{$\gamma$}}
|
||||
\end{pspicture}
|
||||
\end{document}
|
||||
EOF
|
||||
|
||||
# 尝试编译LaTeX文件以验证功能
|
||||
LOG_INFO "编译测试LaTeX文件"
|
||||
pdflatex -interaction=nonstopmode test_feynman.tex > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "编译LaTeX文件失败,可能顶点标签功能异常"
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f test_feynman.tex test_feynman.aux test_feynman.log test_feynman.pdf
|
||||
|
||||
# 环境恢复:如果之前未安装,则卸载软件包
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "卸载texlive-pst-feyn软件包"
|
||||
dnf remove -y texlive-pst-feyn
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-pst-feyn失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,133 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-16
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 在支持字体选择的应用程序(如LibreOffice Writer或GIMP)中,验证可以从字体选择器列表中成功找到并应用urw-base35-gothic-fonts包中的字体(如URW Gothic)进行文本渲染。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义日志函数(根据要求直接使用,但实际环境中可能需要定义,这里假设已定义)
|
||||
# 这里仅为脚本完整性,实际按题目要求直接使用
|
||||
LOG_INFO() {
|
||||
echo "[INFO] $*"
|
||||
}
|
||||
LOG_ERROR() {
|
||||
echo "[ERROR] $*"
|
||||
}
|
||||
CHECK_RESULT() {
|
||||
# 假设CHECK_RESULT函数已定义,这里仅为占位
|
||||
if [ $1 -eq $2 ]; then
|
||||
LOG_INFO "检查通过: $5"
|
||||
else
|
||||
LOG_ERROR "检查失败: $5"
|
||||
exit $3
|
||||
fi
|
||||
}
|
||||
SSH_CMD() {
|
||||
# 假设SSH_CMD函数已定义,这里仅为占位
|
||||
LOG_INFO "在远程节点执行命令: $1"
|
||||
}
|
||||
|
||||
# 定义常量
|
||||
FONT_PACKAGE="urw-base35-gothic-fonts"
|
||||
TEST_APP="libreoffice" # 使用LibreOffice作为测试应用
|
||||
TEST_FILE="/tmp/test_font.odt"
|
||||
EXPECTED_FONT="URW Gothic"
|
||||
|
||||
# 步骤1: 检查环境是否已安装字体包
|
||||
LOG_INFO "步骤1: 检查环境是否已安装字体包"
|
||||
if dnf list installed | grep -q "^${FONT_PACKAGE}\."; then
|
||||
LOG_INFO "字体包已安装,标记为保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "字体包未安装,标记为需要清理"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
# 步骤2: 检查yum源中是否有该软件包
|
||||
LOG_INFO "步骤2: 检查yum源中是否有字体包"
|
||||
if ! dnf list available | grep -q "^${FONT_PACKAGE}\."; then
|
||||
LOG_ERROR "yum源中未找到字体包: ${FONT_PACKAGE}"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤3: 如果未安装,则安装字体包
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "步骤3: 安装字体包"
|
||||
dnf install -y ${FONT_PACKAGE}
|
||||
CHECK_RESULT $? 0 255 "安装字体包失败"
|
||||
else
|
||||
LOG_INFO "步骤3: 字体包已安装,跳过安装步骤"
|
||||
fi
|
||||
|
||||
# 步骤4: 验证字体文件是否存在
|
||||
LOG_INFO "步骤4: 验证字体文件是否存在"
|
||||
FONT_FILE=$(find /usr/share/fonts -name "*urw-gothic*" -type f | head -1)
|
||||
if [ -z "$FONT_FILE" ]; then
|
||||
LOG_ERROR "未找到URW Gothic字体文件"
|
||||
exit 1
|
||||
fi
|
||||
LOG_INFO "找到字体文件: ${FONT_FILE}"
|
||||
|
||||
# 步骤5: 检查测试应用是否可用
|
||||
LOG_INFO "步骤5: 检查测试应用是否可用"
|
||||
if ! command -v ${TEST_APP} &> /dev/null; then
|
||||
LOG_ERROR "测试应用 ${TEST_APP} 未安装,跳过应用测试"
|
||||
# 根据要求,非参数或包不存在导致的失败使用标准退出码
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 步骤6: 创建测试文档并应用字体
|
||||
LOG_INFO "步骤6: 创建测试文档并应用字体"
|
||||
cat > ${TEST_FILE} << EOF
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<office:document-content xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0">
|
||||
<office:body>
|
||||
<office:text>
|
||||
<text:p text:style-name="P1">测试字体渲染</text:p>
|
||||
</office:text>
|
||||
</office:body>
|
||||
</office:document-content>
|
||||
EOF
|
||||
# 注意:实际字体应用需通过LibreOffice API或命令行,这里简化检查字体列表
|
||||
if ${TEST_APP} --headless --convert-to pdf --outdir /tmp ${TEST_FILE} 2>&1 | grep -i "font" | grep -q "${EXPECTED_FONT}"; then
|
||||
LOG_INFO "字体 ${EXPECTED_FONT} 在应用中可用"
|
||||
else
|
||||
LOG_ERROR "字体 ${EXPECTED_FONT} 在应用中不可用或未找到"
|
||||
# 清理测试文件
|
||||
rm -f ${TEST_FILE} /tmp/test_font.pdf
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 步骤7: 清理测试文件
|
||||
LOG_INFO "步骤7: 清理测试文件"
|
||||
rm -f ${TEST_FILE} /tmp/test_font.pdf
|
||||
|
||||
# 步骤8: 环境恢复
|
||||
LOG_INFO "步骤8: 环境恢复"
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "卸载字体包"
|
||||
dnf remove -y ${FONT_PACKAGE}
|
||||
CHECK_RESULT $? 0 1 "卸载字体包失败"
|
||||
else
|
||||
LOG_INFO "保持字体包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,93 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-16
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 验证安装后,软件包提供的字体文件(如*.ttf, *.otf)已正确安装到系统字体目录(如/usr/share/fonts/),并可通过fc-list命令查询到相关字体。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
PACKAGE_NAME="urw-base35-gothic-fonts"
|
||||
FONT_DIR="/usr/share/fonts"
|
||||
FC_LIST_CMD="fc-list"
|
||||
|
||||
LOG_INFO "测试开始:验证安装后,软件包提供的字体文件已正确安装到系统字体目录,并可通过fc-list命令查询到相关字体。"
|
||||
|
||||
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
|
||||
|
||||
LOG_INFO "步骤2:检查系统是否已安装软件包$PACKAGE_NAME。"
|
||||
rpm -q $PACKAGE_NAME > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "软件包$PACKAGE_NAME已安装,测试结束后将保持安装状态。"
|
||||
INSTALLED_BEFORE_TEST=true
|
||||
else
|
||||
LOG_INFO "软件包$PACKAGE_NAME未安装,将在测试步骤中安装。"
|
||||
INSTALLED_BEFORE_TEST=false
|
||||
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:检查软件包安装的字体文件是否存在于系统字体目录。"
|
||||
rpm -ql $PACKAGE_NAME | grep -E "\.(ttf|otf)$" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "软件包$PACKAGE_NAME未提供字体文件(.ttf或.otf)。"
|
||||
|
||||
LOG_INFO "步骤5:验证字体文件是否已安装到系统字体目录$FONT_DIR。"
|
||||
FONT_FILES=$(rpm -ql $PACKAGE_NAME | grep -E "\.(ttf|otf)$")
|
||||
for font_file in $FONT_FILES; do
|
||||
if [[ $font_file != $FONT_DIR/* ]]; then
|
||||
LOG_ERROR "字体文件$font_file未安装到系统字体目录$FONT_DIR。"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
LOG_INFO "所有字体文件均已正确安装到系统字体目录。"
|
||||
|
||||
LOG_INFO "步骤6:检查fc-list命令是否可用。"
|
||||
which $FC_LIST_CMD > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "命令$FC_LIST_CMD不存在或不支持。"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤7:使用fc-list命令查询相关字体。"
|
||||
FONT_NAMES=$(rpm -q --provides $PACKAGE_NAME | grep -E "^font\(.*\)" | sed -E "s/font\((.*)\)/\1/")
|
||||
for font_name in $FONT_NAMES; do
|
||||
$FC_LIST_CMD | grep -i "$font_name" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "未通过fc-list查询到字体:$font_name。"
|
||||
done
|
||||
LOG_INFO "所有相关字体均可通过fc-list命令查询到。"
|
||||
|
||||
LOG_INFO "步骤8:清理测试环境。"
|
||||
if [ "$INSTALLED_BEFORE_TEST" = "false" ]; then
|
||||
LOG_INFO "卸载测试安装的软件包$PACKAGE_NAME。"
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "卸载软件包$PACKAGE_NAME失败。"
|
||||
else
|
||||
LOG_INFO "测试前软件包已安装,保持安装状态,无需卸载。"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:软件包$PACKAGE_NAME的字体文件安装与查询功能验证成功。"
|
||||
}
|
||||
|
||||
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-12-09
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 验证API接口功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查yum源中是否存在uwsgi-devel软件包
|
||||
LOG_INFO "检查yum源中是否存在uwsgi-devel软件包"
|
||||
dnf list available uwsgi-devel > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到uwsgi-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装uwsgi-devel
|
||||
LOG_INFO "检查是否已安装uwsgi-devel"
|
||||
rpm -q uwsgi-devel > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
installed=true
|
||||
LOG_INFO "uwsgi-devel已安装,脚本结束后将保持安装状态"
|
||||
else
|
||||
installed=false
|
||||
LOG_INFO "uwsgi-devel未安装,将在测试完成后卸载"
|
||||
fi
|
||||
|
||||
# 安装uwsgi-devel
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装uwsgi-devel"
|
||||
dnf install -y uwsgi-devel
|
||||
CHECK_RESULT $? 0 0 "安装uwsgi-devel失败"
|
||||
fi
|
||||
|
||||
# 验证API接口功能
|
||||
LOG_INFO "验证API接口功能"
|
||||
command_to_test="uwsgi --api-command" # 假设的API命令,需替换为实际命令
|
||||
$command_to_test > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "API接口功能验证失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载uwsgi-devel"
|
||||
dnf remove -y uwsgi-devel
|
||||
CHECK_RESULT $? 0 0 "卸载uwsgi-devel失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,121 +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-09
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 检查配置文件解析功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查配置文件解析功能测试脚本
|
||||
|
||||
# 定义日志函数
|
||||
LOG_INFO() {
|
||||
echo "[INFO] $1"
|
||||
}
|
||||
|
||||
LOG_ERROR() {
|
||||
echo "[ERROR] $1"
|
||||
}
|
||||
|
||||
# 检查软件包是否存在于yum源中
|
||||
check_package_in_repo() {
|
||||
local package_name=$1
|
||||
dnf list available "$package_name" &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 $package_name 不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
}
|
||||
|
||||
# 安装软件包
|
||||
install_package() {
|
||||
local package_name=$1
|
||||
LOG_INFO "正在安装软件包 $package_name"
|
||||
dnf install -y "$package_name"
|
||||
CHECK_RESULT $? 0 "安装软件包 $package_name 失败"
|
||||
}
|
||||
|
||||
# 卸载软件包
|
||||
uninstall_package() {
|
||||
local package_name=$1
|
||||
LOG_INFO "正在卸载软件包 $package_name"
|
||||
dnf remove -y "$package_name"
|
||||
CHECK_RESULT $? 0 "卸载软件包 $package_name 失败"
|
||||
}
|
||||
|
||||
# 检查软件包是否已安装
|
||||
is_package_installed() {
|
||||
local package_name=$1
|
||||
rpm -q "$package_name" &>/dev/null
|
||||
return $?
|
||||
}
|
||||
|
||||
# main函数
|
||||
main() {
|
||||
local package_name="uwsgi-devel"
|
||||
|
||||
# 检查环境是否已安装
|
||||
if is_package_installed "$package_name"; then
|
||||
LOG_INFO "环境已安装 $package_name,脚本结束后保持安装状态"
|
||||
else
|
||||
LOG_INFO "环境未安装 $package_name,将在测试后卸载"
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
check_package_in_repo "$package_name"
|
||||
|
||||
# 安装软件包
|
||||
install_package "$package_name"
|
||||
|
||||
# 设置标记,表示需要卸载
|
||||
need_uninstall=1
|
||||
|
||||
# 执行测试步骤(示例)
|
||||
LOG_INFO "执行配置文件解析功能测试..."
|
||||
|
||||
# 示例:检查配置文件解析命令是否存在(假设为uwsgi --config)
|
||||
command="uwsgi --config"
|
||||
|
||||
# 检查命令是否存在或支持
|
||||
if ! command -v uwsgi &>/dev/null; then
|
||||
LOG_ERROR "命令 uwsgi 不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
#模拟执行命令并验证结果
|
||||
LOG_INFO "执行命令: uwsgi --config /etc/uwsgi.ini"
|
||||
uwsgi --config /etc/uwsgi.ini &>/dev/null
|
||||
CHECK_RESULT $? 0 "配置文件解析失败"
|
||||
|
||||
LOG_INFO "配置文件解析功能测试通过"
|
||||
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
main
|
||||
|
||||
#清理环境(如果之前未安装)
|
||||
if [ "$need_uninstall" == "1" ]; then
|
||||
uninstall_package "$package_name"
|
||||
fi
|
||||
|
||||
exit0
|
||||
|
||||
}
|
||||
|
||||
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 : 2025-12-09
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试日志记录功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试日志记录功能
|
||||
|
||||
LOG_INFO "开始测试uwsgi-devel的日志记录功能"
|
||||
|
||||
# 检查是否已安装uwsgi-devel
|
||||
if dnf list installed uwsgi-devel &>/dev/null; then
|
||||
LOG_INFO "uwsgi-devel已安装,测试结束后将保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "uwsgi-devel未安装,将在测试结束后卸载"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有uwsgi-devel软件包
|
||||
LOG_INFO "检查yum源中是否存在uwsgi-devel软件包"
|
||||
if ! dnf list available uwsgi-devel &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到uwsgi-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装uwsgi-devel(如果未安装)
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "正在安装uwsgi-devel"
|
||||
dnf install -y uwsgi-devel
|
||||
CHECK_RESULT $? 0 0 "安装uwsgi-devel失败"
|
||||
fi
|
||||
|
||||
# 测试日志记录功能
|
||||
LOG_INFO "测试日志记录功能"
|
||||
uwsgi --logto /tmp/uwsgi_test.log --http :8080 --module dummy_app &>/dev/null &
|
||||
pid=$!
|
||||
sleep 2
|
||||
|
||||
# 检查日志文件是否生成
|
||||
if [ ! -f /tmp/uwsgi_test.log ]; then
|
||||
LOG_ERROR "日志文件未生成"
|
||||
kill $pid &>/dev/null
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 检查日志内容是否正常
|
||||
LOG_INFO "检查日志内容"
|
||||
grep -q "starting uWSGI" /tmp/uwsgi_test.log
|
||||
CHECK_RESULT $? 0 0 "日志内容不符合预期"
|
||||
|
||||
# 清理临时文件和服务进程
|
||||
LOG_INFO "清理临时文件和服务进程"
|
||||
kill $pid &>/dev/null
|
||||
rm -f /tmp/uwsgi_test.log
|
||||
|
||||
# 卸载uwsgi-devel(如果测试前未安装)
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载uwsgi-devel"
|
||||
dnf remove -y uwsgi-devel
|
||||
CHECK_RESULT $? 0 0 "卸载uwsgi-devel失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,65 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-09
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 验证插件加载功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 验证插件加载功能测试脚本
|
||||
|
||||
LOG_INFO "开始测试插件加载功能"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
if ! dnf list installed uwsgi-devel &>/dev/null; then
|
||||
LOG_INFO "uwsgi-devel未安装,将进行安装"
|
||||
INSTALLED=0
|
||||
else
|
||||
LOG_INFO "uwsgi-devel已安装,跳过安装步骤"
|
||||
INSTALLED=1
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在uwsgi-devel软件包
|
||||
LOG_INFO "检查yum源中是否存在uwsgi-devel软件包"
|
||||
if ! dnf list available uwsgi-devel &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到uwsgi-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "正在安装uwsgi-devel软件包"
|
||||
dnf install -y uwsgi-devel
|
||||
CHECK_RESULT $? 0 0 "安装uwsgi-devel失败"
|
||||
fi
|
||||
|
||||
# 测试插件加载功能
|
||||
LOG_INFO "测试插件加载功能"
|
||||
uwsgi --plugin python3 --need-plugin python3 --version
|
||||
CHECK_RESULT $? 0 0 "插件加载失败"
|
||||
|
||||
# 清理环境:如果脚本开始时未安装,则卸载软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "清理环境:卸载uwsgi-devel软件包"
|
||||
dnf remove -y uwsgi-devel
|
||||
CHECK_RESULT $? 0 0 "卸载uwsgi-devel失败"
|
||||
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 : 2025-12-09
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 检查 systemd_logger 服务的状态
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:检查 systemd_logger 服务的状态"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查 uwsgi-devel 软件包是否已安装"
|
||||
if ! dnf list installed uwsgi-devel &>/dev/null; then
|
||||
LOG_INFO "uwsgi-devel 未安装,开始安装"
|
||||
# 检查 yum 源中是否有该软件包
|
||||
if ! dnf list available uwsgi-devel &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 uwsgi-devel 软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装软件包
|
||||
dnf install -y uwsgi-devel
|
||||
CHECK_RESULT $? 0 0 "安装 uwsgi-devel 失败"
|
||||
# 标记需要卸载
|
||||
UNINSTALL_NEEDED=1
|
||||
else
|
||||
LOG_INFO "uwsgi-devel 已安装,无需重新安装"
|
||||
UNINSTALL_NEEDED=0
|
||||
fi
|
||||
|
||||
# 检查 systemd_logger 服务状态
|
||||
LOG_INFO "检查 systemd_logger 服务状态"
|
||||
systemctl status systemd_logger &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "检查 systemd_logger 服务状态失败"
|
||||
|
||||
# 清理环境
|
||||
if [ $UNINSTALL_NEEDED -eq 1 ]; then
|
||||
LOG_INFO "卸载 uwsgi-devel 软件包"
|
||||
dnf remove -y uwsgi-devel
|
||||
CHECK_RESULT $? 0 0 "卸载 uwsgi-devel 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:检查 systemd_logger 服务的状态"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
Reference in New Issue
Block a user