This commit is contained in:
2026-04-23 12:07:23 +08:00
93 changed files with 0 additions and 6107 deletions

View File

@@ -6,14 +6,6 @@
"name": "test_apache-commons-javaflow-javadoc_install",
"desc": "测试软件包的安装功能,验证是否能够正确安装到系统中。",
"machine num": 1
},
{
"name": "test_apache-commons-javaflow-javadoc_function_docgen",
"desc": "测试软件包的文档生成功能验证是否能正确生成Javadoc文档。"
},
{
"name": "test_apache-commons-javaflow-javadoc_function_usage",
"desc": "测试软件包的基本使用功能验证是否能正确调用核心API。"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/gupnp/gupnp-devel",
"machine num": 1,
"cases": [
{
"name": "test_gupnp-devel_function_init",
"desc": "Test initialization of gupnp-devel"
}
]
}

View File

@@ -5,22 +5,6 @@
{
"name": "test_jasypt-javadoc_function_install",
"desc": "Test the installation of jasypt-javadoc package"
},
{
"name": "test_jasypt-javadoc_function_encrypt",
"desc": "Test the encryption feature of jasypt-javadoc"
},
{
"name": "test_jasypt-javadoc_function_decrypt",
"desc": "Test the decryption feature of jasypt-javadoc"
},
{
"name": "test_jasypt-javadoc_function_config",
"desc": "Test configuration loading with jasypt-javadoc"
},
{
"name": "test_jasypt-javadoc_function_integration",
"desc": "Test integration with other libraries"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/libslirp/libslirp-devel",
"machine num": 1,
"cases": [
{
"name": "test_libslirp-devel_function_init",
"desc": "Test initialization of libslirp-devel"
}
]
}

View File

@@ -2,42 +2,6 @@
"path": "$OET_PATH/testcases/function_test/pkg_test/lodash/nodejs-lodash-isnan",
"machine num": 1,
"cases": [
{
"name": "test_nodejs-lodash-isnan_function_install",
"desc": "Test the installation of the nodejs-lodash-isnan package."
},
{
"name": "test_nodejs-lodash-isnan_function_check",
"desc": "Test the basic function of checking if a value is NaN."
},
{
"name": "test_nodejs-lodash-isnan_function_number",
"desc": "Test that a regular number is not identified as NaN."
},
{
"name": "test_nodejs-lodash-isnan_function_string",
"desc": "Test that a non-numeric string is not identified as NaN."
},
{
"name": "test_nodejs-lodash-isnan_function_undefined",
"desc": "Test that undefined is not identified as NaN."
},
{
"name": "test_nodejs-lodash-isnan_function_null",
"desc": "Test that null is not identified as NaN."
},
{
"name": "test_nodejs-lodash-isnan_function_infinity",
"desc": "Test that Infinity is not identified as NaN."
},
{
"name": "test_nodejs-lodash-isnan_function_object",
"desc": "Test that an object is not identified as NaN."
},
{
"name": "test_nodejs-lodash-isnan_function_require",
"desc": "Test the ability to require the lodash.isnan module in a script."
},
{
"name": "test_nodejs-lodash-isnan_function_uninstall",
"desc": "Test the uninstallation of the nodejs-lodash-isnan package."

View File

@@ -1,30 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/lvm2/device-mapper",
"machine num": 1,
"cases": [
{
"name": "test_device-mapper_function_install",
"desc": "测试device-mapper软件包的安装功能验证是否能成功安装到系统中"
},
{
"name": "test_device-mapper_function_check",
"desc": "测试检查device-mapper软件包是否已安装及版本信息"
},
{
"name": "test_device-mapper_function_remove",
"desc": "测试device-mapper软件包的卸载功能验证是否能从系统中干净移除"
},
{
"name": "test_device-mapper_function_dmsetup",
"desc": "测试dmsetup命令的基础功能如查看设备映射表信息"
},
{
"name": "test_device-mapper_function_create_linear",
"desc": "测试使用device-mapper创建线性linear映射设备"
},
{
"name": "test_device-mapper_function_remove_device",
"desc": "测试使用dmsetup移除已创建的device-mapper设备"
}
]
}

View File

@@ -1,22 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/openEuler-repos/openEuler-gpg-keys",
"machine num": 1,
"cases": [
{
"name": "test_openEuler-gpg-keys_function_package_install",
"desc": "测试 openEuler-gpg-keys 软件包是否正确安装。"
},
{
"name": "test_openEuler-gpg-keys_function_verify_gpg",
"desc": "测试使用软件包中的 GPG 密钥验证 openEuler 官方仓库元数据签名。"
},
{
"name": "test_openEuler-gpg-keys_function_list_keys",
"desc": "测试列出 openEuler-gpg-keys 软件包安装的所有 GPG 公钥。"
},
{
"name": "test_openEuler-gpg-keys_function_package_remove",
"desc": "测试 openEuler-gpg-keys 软件包的正确卸载。"
}
]
}

View File

@@ -1,30 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/pympress/python3-pympress",
"machine num": 1,
"cases": [
{
"name": "test_python3-pympress_pympress",
"desc": "测试不带任何参数的 pympress 命令"
},
{
"name": "test_python3-pympress_function_openfile",
"desc": "测试打开文件功能"
},
{
"name": "test_python3-pympress_function_slide",
"desc": "测试幻灯片切换功能"
},
{
"name": "test_python3-pympress_function_zoom",
"desc": "测试缩放功能"
},
{
"name": "test_python3-pympress_function_notes",
"desc": "测试备注显示功能"
},
{
"name": "test_python3-pympress_function_timer",
"desc": "测试计时器功能"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/python-chardet/python-chardet-help",
"machine num": 1,
"cases": [
{
"name": "test_python-chardet-help_function_detect",
"desc": "Test chardet detect function"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/python-memory-profiler/python-memory-profiler-help",
"machine num": 1,
"cases": [
{
"name": "test_python-memory-profiler-help_function_memory",
"desc": "Test memory profiling functionality"
}
]
}

View File

@@ -2,106 +2,18 @@
"path": "$OET_PATH/testcases/function_test/pkg_test/python-pyroute2/python3-pyroute2",
"machine num": 1,
"cases": [
{
"name": "test_python3-pyroute2_pyroute2-cli_h",
"desc": "测试帮助文档显示"
},
{
"name": "test_python3-pyroute2_pyroute2-cli_a",
"desc": "测试指定IP地址监听"
},
{
"name": "test_python3-pyroute2_pyroute2-cli_c",
"desc": "测试命令行运行"
},
{
"name": "test_python3-pyroute2_pyroute2-cli_l",
"desc": "测试日志规范设置"
},
{
"name": "test_python3-pyroute2_pyroute2-cli_m",
"desc": "测试设置模式"
},
{
"name": "test_python3-pyroute2_pyroute2-cli_p",
"desc": "测试指定监听端口"
},
{
"name": "test_python3-pyroute2_pyroute2-cli_r",
"desc": "测试加载rc文件"
},
{
"name": "test_python3-pyroute2_pyroute2-cli_s",
"desc": "测试从json文件加载源"
},
{
"name": "test_python3-pyroute2_pyroute2-cli_x",
"desc": "测试严格认证设置"
},
{
"name": "test_python3-pyroute2_pyroute2-dhcp-client_ifname",
"desc": "测试使用有效的接口名称运行 pyroute2-dhcp-client 命令"
},
{
"name": "test_python3-pyroute2_pyroute2-test-platform_create_bond",
"desc": "测试创建bond接口的功能"
},
{
"name": "test_python3-pyroute2_pyroute2-test-platform_create_bridge",
"desc": "测试创建bridge接口的功能"
},
{
"name": "test_python3-pyroute2_pyroute2-test-platform_create_dummy",
"desc": "测试创建dummy接口的功能"
},
{
"name": "test_python3-pyroute2_ss2__h",
"desc": "测试 ss2 命令的帮助文档显示功能"
},
{
"name": "test_python3-pyroute2_ss2__x",
"desc": "测试 ss2 命令显示 Unix 域套接字功能"
},
{
"name": "test_python3-pyroute2_ss2__t",
"desc": "测试 ss2 命令显示 TCP 套接字功能"
},
{
"name": "test_python3-pyroute2_ss2__l",
"desc": "测试 ss2 命令显示监听套接字功能"
},
{
"name": "test_python3-pyroute2_ss2__a",
"desc": "测试 ss2 命令显示所有套接字功能"
},
{
"name": "test_python3-pyroute2_ss2__p",
"desc": "测试 ss2 命令显示套接字持有进程上下文功能"
},
{
"name": "test_python3-pyroute2_ss2__r",
"desc": "测试 ss2 命令解析主机名功能"
},
{
"name": "test_python3-pyroute2_function_iproute",
"desc": "测试IP路由功能"
},
{
"name": "test_python3-pyroute2_function_netns",
"desc": "测试网络命名空间功能"
},
{
"name": "test_python3-pyroute2_function_link",
"desc": "测试网络链接管理功能"
},
{
"name": "test_python3-pyroute2_function_addr",
"desc": "测试IP地址管理功能"
},
{
"name": "test_python3-pyroute2_function_route",
"desc": "测试路由表管理功能"
},
{
"name": "test_python3-pyroute2_function_neigh",
"desc": "测试邻居表管理功能"

View File

@@ -2,10 +2,6 @@
"path": "$OET_PATH/testcases/function_test/pkg_test/python-webtest/python3-webtest",
"machine num": 1,
"cases": [
{
"name": "test_python3-webtest_function_basic",
"desc": "Test basic functionality of python3-webtest"
},
{
"name": "test_python3-webtest_function_install",
"desc": "Test installation of python3-webtest package"
@@ -13,26 +9,6 @@
{
"name": "test_python3-webtest_function_import",
"desc": "Test importing the webtest module"
},
{
"name": "test_python3-webtest_function_basic_get",
"desc": "Test basic HTTP GET request"
},
{
"name": "test_python3-webtest_function_post_form",
"desc": "Test HTTP POST with form data"
},
{
"name": "test_python3-webtest_function_json",
"desc": "Test handling JSON request/response"
},
{
"name": "test_python3-webtest_function_status",
"desc": "Test HTTP response status codes"
},
{
"name": "test_python3-webtest_function_headers",
"desc": "Test HTTP headers in response"
}
]
}

View File

@@ -6,10 +6,6 @@
"name": "test_qt5-qtwebchannel-doc_uninstall",
"desc": "测试软件包qt5-qtwebchannel-doc的卸载功能验证卸载过程是否正常完成。",
"machine num": 1
},
{
"name": "test_qt5-qtwebchannel-doc_function_doc_access",
"desc": "测试软件包qt5-qtwebchannel-doc的文档访问功能验证文档是否可正常访问。"
}
]
}

View File

@@ -14,18 +14,6 @@
{
"name": "test_resteasy-jackson-provider_function_uninstall",
"desc": "验证软件包是否能够被完全且干净地卸载。"
},
{
"name": "test_resteasy-jackson-provider_function_json_serialize",
"desc": "验证软件包能够正确地将Java对象序列化为JSON字符串。"
},
{
"name": "test_resteasy-jackson-provider_function_json_deserialize",
"desc": "验证软件包能够正确地将JSON字符串反序列化为Java对象。"
},
{
"name": "test_resteasy-jackson-provider_function_http_json",
"desc": "验证在RESTEasy框架下软件包能够正确处理HTTP请求和响应中的JSON数据。"
}
]
}

View File

@@ -13,14 +13,6 @@
{
"name": "test_texlive-basque-date_function_check",
"desc": "Test if package is installed and version"
},
{
"name": "test_texlive-basque-date_function_basque_date",
"desc": "Test the basic date formatting command"
},
{
"name": "test_texlive-basque-date_function_document",
"desc": "Test usage in a simple LaTeX document"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-d/texlive-catcodes-doc",
"machine num": 1,
"cases": [
{
"name": "test_texlive-catcodes-doc_function_basic",
"desc": "Test basic functionality of texlive-catcodes-doc"
}
]
}

View File

@@ -13,14 +13,6 @@
{
"name": "test_texlive-datetime2-latin_function_verify",
"desc": "Verify package installation"
},
{
"name": "test_texlive-datetime2-latin_function_basic_usage",
"desc": "Test basic LaTeX date typesetting"
},
{
"name": "test_texlive-datetime2-latin_function_lang_option",
"desc": "Test Latin language date output"
}
]
}

View File

@@ -2,10 +2,6 @@
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-h/texlive-emptypage",
"machine num": 1,
"cases": [
{
"name": "test_texlive-emptypage_function_basic",
"desc": "Test basic functionality of texlive-emptypage"
},
{
"name": "test_texlive-emptypage_function_install",
"desc": "Test installation of texlive-emptypage package"
@@ -13,18 +9,6 @@
{
"name": "test_texlive-emptypage_function_uninstall",
"desc": "Test uninstallation of texlive-emptypage package"
},
{
"name": "test_texlive-emptypage_function_check_installed",
"desc": "Test if texlive-emptypage is installed"
},
{
"name": "test_texlive-emptypage_function_basic_usage",
"desc": "Test basic usage of emptypage package in LaTeX"
},
{
"name": "test_texlive-emptypage_function_version",
"desc": "Test version information of texlive-emptypage"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-j/texlive-gaceta",
"machine num": 1,
"cases": [
{
"name": "test_texlive-gaceta_function_basic",
"desc": "Basic functionality test for texlive-gaceta"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-k/texlive-hhtensor",
"machine num": 1,
"cases": [
{
"name": "test_texlive-hhtensor_function_basic",
"desc": "Test basic functionality of texlive-hhtensor"
}
]
}

View File

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

View File

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

View File

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

View File

@@ -1,72 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-03
# @License : Mulan PSL v2
# @Desc : Test the decryption feature of jasypt-javadoc
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 jasypt-javadoc 的解密功能"
# 检查软件包是否已安装
LOG_INFO "检查 jasypt-javadoc 是否已安装"
if dnf list installed jasypt-javadoc &>/dev/null; then
LOG_INFO "jasypt-javadoc 已安装,跳过安装步骤"
INSTALLED=true
else
LOG_INFO "jasypt-javadoc 未安装,准备安装"
INSTALLED=false
fi
# 检查 yum 源中是否有 jasypt-javadoc
LOG_INFO "检查 yum 源中是否有 jasypt-javadoc"
if ! dnf list available jasypt-javadoc &>/dev/null; then
LOG_ERROR "yum 源中没有 jasypt-javadoc 软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "正在安装 jasypt-javadoc"
dnf install -y jasypt-javadoc
CHECK_RESULT $? 0 0 "安装 jasypt-javadoc 失败"
fi
# 测试解密功能
LOG_INFO "测试解密功能"
jasypt-javadoc --decrypt --input encrypted.txt --output decrypted.txt
CHECK_RESULT $? 0 0 "解密失败"
# 检查参数是否存在或不支持
LOG_INFO "检查不支持的参数"
jasypt-javadoc --invalid-arg &>/dev/null
if [ $? -ne 255 ]; then
LOG_ERROR "不支持的参数未正确处理"
exit 255
fi
# 清理环境:如果脚本开始时未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载 jasypt-javadoc"
dnf remove -y jasypt-javadoc
CHECK_RESULT $? 0 0 "卸载 jasypt-javadoc 失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,70 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-03
# @License : Mulan PSL v2
# @Desc : Test the encryption feature of jasypt-javadoc
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试jasypt-javadoc的加密功能"
# 检查是否已安装jasypt-javadoc
LOG_INFO "检查jasypt-javadoc是否已安装"
if dnf list installed jasypt-javadoc &>/dev/null; then
LOG_INFO "jasypt-javadoc已安装测试完成后将保持安装状态"
installed=true
else
LOG_INFO "jasypt-javadoc未安装将在测试完成后卸载"
installed=false
fi
# 检查yum源中是否有jasypt-javadoc
LOG_INFO "检查yum源中是否有jasypt-javadoc"
if ! dnf list available jasypt-javadoc &>/dev/null; then
LOG_ERROR "yum源中未找到jasypt-javadoc软件包"
exit 255
fi
# 安装jasypt-javadoc
if [ "$installed" = false ]; then
LOG_INFO "开始安装jasypt-javadoc"
dnf install -y jasypt-javadoc
CHECK_RESULT $? 0 0 "安装jasypt-javadoc失败"
fi
# 测试加密功能
LOG_INFO "测试jasypt-javadoc的加密功能"
jasypt_encrypt_output=$(jasypt-javadoc encrypt --input "testdata" --password "testpassword" 2>&1)
if [ $? -ne 0 ]; then
LOG_ERROR "加密命令执行失败: $jasypt_encrypt_output"
exit 255
fi
CHECK_RESULT $? 0 0 "加密功能测试失败"
LOG_INFO "加密功能测试成功,输出: $jasypt_encrypt_output"
# 清理环境
if [ "$installed" = false ]; then
LOG_INFO "卸载jasypt-javadoc"
dnf remove -y jasypt-javadoc
CHECK_RESULT $? 0 0 "卸载jasypt-javadoc失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,65 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-03
# @License : Mulan PSL v2
# @Desc : Test integration with other libraries
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 jasypt-javadoc 与其他库的集成功能"
# 检查是否已安装 jasypt-javadoc
LOG_INFO "检查 jasypt-javadoc 是否已安装"
if dnf list installed jasypt-javadoc &>/dev/null; then
LOG_INFO "jasypt-javadoc 已安装,跳过安装步骤"
INSTALLED=true
else
LOG_INFO "jasypt-javadoc 未安装,将进行安装"
INSTALLED=false
fi
# 检查 yum 源中是否有 jasypt-javadoc
LOG_INFO "检查 yum 源中是否有 jasypt-javadoc"
if ! dnf list available jasypt-javadoc &>/dev/null; then
LOG_ERROR "yum 源中未找到 jasypt-javadoc退出测试"
exit 255
fi
# 如果未安装,则安装 jasypt-javadoc
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装 jasypt-javadoc"
dnf install -y jasypt-javadoc
CHECK_RESULT $? 0 0 "安装 jasypt-javadoc 失败"
fi
# 测试集成功能
LOG_INFO "测试 jasypt-javadoc 与其他库的集成"
jasypt_command="jasypt-cli.sh --integration-test" #假设命令
$jasypt_command
CHECK_RESULT $? 0 0 "jasypt-cli 集成测试失败"
# 清理环境:如果之前未安装,则卸载 jasypt-javadoc
if [ "$INSTALLED" = false ]; then
LOG_INFO "清理环境:卸载 jasypt-javadoc"
dnf remove -y jasypt-javadoc
CHECK_RESULT $? 0 0 "卸载 jasypt-javadoc 失败"
fi
LOG_INFO "测试 jasypt-javadoc 与其他库的集成功能完成"
}
main "$@"

View File

@@ -1,64 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-11
# @License : Mulan PSL v2
# @Desc : Test initialization of libslirp-devel
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查libslirp-devel是否已安装
LOG_INFO "检查libslirp-devel是否已安装"
rpm -q libslirp-devel > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "libslirp-devel已安装脚本结束时将保持安装状态"
installed=true
else
LOG_INFO "libslirp-devel未安装将在测试步骤中安装"
installed=false
fi
# 检查yum源中是否有libslirp-devel软件包
LOG_INFO "检查yum源中是否有libslirp-devel软件包"
dnf list available libslirp-devel > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中没有libslirp-devel软件包"
# 安装libslirp-devel软件包如果未安装
if [ "$installed" = false ]; then
LOG_INFO "安装libslirp-devel软件包"
dnf install -y libslirp-devel
CHECK_RESULT $? 0 0 "安装libslirp-devel失败"
fi
# 测试libslirp-devel的初始化功能
LOG_INFO "测试libslirp-devel的初始化功能"
# 假设初始化命令为init_libslirp这里仅为示例
init_libslirp --version > /dev/null 2>&1
CHECK_RESULT $? 0 255 "init_libslirp命令不支持或参数错误"
# 清理环境(如果之前未安装)
if [ "$installed" = false ]; then
LOG_INFO "卸载libslirp-devel软件包"
dnf remove -y libslirp-devel
CHECK_RESULT $? 0 0 "卸载libslirp-devel失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,134 +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-18
# @License : Mulan PSL v2
# @Desc : Test the basic function of checking if a value is NaN.
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试lodash的isNaN函数基本功能"
# 检查是否已安装nodejs和npm
LOG_INFO "检查是否已安装nodejs和npm"
if command -v node &> /dev/null && command -v npm &> /dev/null; then
LOG_INFO "nodejs和npm已安装"
already_installed=true
else
LOG_INFO "nodejs和npm未安装"
already_installed=false
fi
# 检查yum源中是否有nodejs软件包
LOG_INFO "检查yum源中是否有nodejs软件包"
if ! dnf list available nodejs &> /dev/null; then
LOG_ERROR "yum源中没有nodejs软件包"
exit 255
fi
if ! dnf list available npm &> /dev/null; then
LOG_ERROR "yum源中没有npm软件包"
exit 255
fi
# 如果未安装则安装nodejs和npm
if [ "$already_installed" = false ]; then
LOG_INFO "安装nodejs和npm"
dnf install -y nodejs npm
CHECK_RESULT $? 0 0 "安装nodejs和npm失败"
fi
# 创建测试目录
LOG_INFO "创建测试目录"
test_dir="/tmp/test_lodash_isnan"
mkdir -p "$test_dir"
cd "$test_dir" || exit 1
# 初始化npm项目
LOG_INFO "初始化npm项目"
npm init -y
CHECK_RESULT $? 0 0 "npm初始化失败"
# 安装lodash
LOG_INFO "安装lodash"
npm install lodash
CHECK_RESULT $? 0 0 "安装lodash失败"
# 创建测试脚本
LOG_INFO "创建测试脚本"
cat > test_isnan.js << "EOF"
const _ = require("lodash");
console.log("测试lodash的isNaN函数:");
// 测试用例
const testCases = [
{ value: NaN, expected: true },
{ value: 0 / 0, expected: true },
{ value: Number.NaN, expected: true },
{ value: 123, expected: false },
{ value: "123", expected: false },
{ value: "hello", expected: false },
{ value: undefined, expected: false },
{ value: null, expected: false },
{ value: Infinity, expected: false },
{ value: -Infinity, expected: false }
];
let allPassed = true;
testCases.forEach((testCase, index) => {
const result = _.isNaN(testCase.value);
const passed = result === testCase.expected;
if (!passed) {
allPassed = false;
console.log(`测试用例 ${index + 1} 失败: _.isNaN(${testCase.value}) = ${result}, 期望: ${testCase.expected}`);
}
});
if (allPassed) {
console.log("所有测试用例通过!");
process.exit(0);
} else {
console.log("部分测试用例失败!");
process.exit(1);
}
EOF
# 运行测试脚本
LOG_INFO "运行lodash isNaN函数测试"
node test_isnan.js
CHECK_RESULT $? 0 0 "lodash isNaN函数测试失败"
# 清理测试目录
LOG_INFO "清理测试目录"
cd /tmp && rm -rf "$test_dir"
# 如果测试前未安装则卸载nodejs和npm
if [ "$already_installed" = false ]; then
LOG_INFO "卸载nodejs和npm"
dnf remove -y nodejs npm
CHECK_RESULT $? 0 0 "卸载nodejs和npm失败"
LOG_INFO "环境已恢复到测试前状态"
else
LOG_INFO "保持nodejs和npm安装状态"
fi
LOG_INFO "lodash的isNaN函数基本功能测试完成"
}
main "$@"

View File

@@ -1,72 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : Test that Infinity is not identified as NaN.
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试Test that Infinity is not identified as NaN."
LOG_INFO "步骤1检查测试环境是否已安装nodejs-lodash-isnan软件包"
if dnf list installed nodejs-lodash-isnan &>/dev/null; then
LOG_INFO "环境已安装nodejs-lodash-isnan软件包测试结束后将保持安装状态。"
ENV_PREINSTALLED=true
else
LOG_INFO "环境未安装nodejs-lodash-isnan软件包将作为测试步骤安装。"
ENV_PREINSTALLED=false
fi
LOG_INFO "步骤2检查yum源中是否存在nodejs-lodash-isnan软件包"
if ! dnf list available nodejs-lodash-isnan &>/dev/null; then
LOG_ERROR "yum源中未找到nodejs-lodash-isnan软件包。"
exit 255
fi
if [ "$ENV_PREINSTALLED" = "false" ]; then
LOG_INFO "步骤3安装nodejs-lodash-isnan软件包"
dnf install -y nodejs-lodash-isnan
CHECK_RESULT $? 0 0 "安装nodejs-lodash-isnan软件包失败"
fi
LOG_INFO "步骤4验证nodejs-lodash-isnan模块功能测试Infinity不应被识别为NaN"
NODE_SCRIPT=$(cat <<"EOF"
const _ = require("lodash");
const isNanResult = _.isNaN(Infinity);
console.log(isNanResult ? "true" : "false");
EOF
)
RESULT=$(node -e "$NODE_SCRIPT")
EXPECTED="false"
CHECK_RESULT "$?" 0 0 "执行Node.js脚本失败"
CHECK_RESULT "$RESULT" "$EXPECTED" 0 "测试失败Infinity被错误地识别为NaN。实际结果$RESULT,预期结果:$EXPECTED"
LOG_INFO "步骤5环境清理与恢复"
if [ "$ENV_PREINSTALLED" = "false" ]; then
LOG_INFO "卸载测试安装的nodejs-lodash-isnan软件包"
dnf remove -y nodejs-lodash-isnan
CHECK_RESULT $? 0 0 "卸载nodejs-lodash-isnan软件包失败"
else
LOG_INFO "测试环境已预装软件包,保持安装状态,无需卸载。"
fi
LOG_INFO "测试完成Test that Infinity is not identified as NaN."
}
main "$@"

View File

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

View File

@@ -1,79 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : Test that null is not identified as NaN.
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "测试开始验证null不被识别为NaN"
LOG_INFO "步骤1检查nodejs-lodash-isnan软件包是否在yum源中"
dnf list available nodejs-lodash-isnan &> /dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到nodejs-lodash-isnan软件包"
exit 255
fi
LOG_INFO "步骤2检查当前环境是否已安装nodejs-lodash-isnan"
if dnf list installed nodejs-lodash-isnan &> /dev/null; then
LOG_INFO "软件包已安装,标记为无需卸载"
NEED_CLEANUP=0
else
LOG_INFO "软件包未安装,标记为需要安装和卸载"
NEED_CLEANUP=1
LOG_INFO "步骤3安装nodejs-lodash-isnan软件包"
dnf install -y nodejs-lodash-isnan
CHECK_RESULT $? 0 0 "安装nodejs-lodash-isnan失败"
fi
LOG_INFO "步骤4验证null不被识别为NaN"
LOG_INFO "创建测试脚本test_nan.js"
cat > test_nan.js << "EOF"
const _ = require("lodash");
console.log(_.isNaN(null));
EOF
LOG_INFO "执行测试脚本"
node test_nan.js
CHECK_RESULT $? 0 0 "执行node脚本失败"
LOG_INFO "步骤5检查输出结果"
output=$(node test_nan.js)
expected="false"
if [ "$output" != "$expected" ]; then
LOG_ERROR "测试失败null被错误地识别为NaN"
exit 1
else
LOG_INFO "测试成功null未被识别为NaN"
fi
LOG_INFO "步骤6清理临时文件"
rm -f test_nan.js
LOG_INFO "步骤7环境恢复"
if [ $NEED_CLEANUP -eq 1 ]; then
LOG_INFO "卸载nodejs-lodash-isnan软件包"
dnf remove -y nodejs-lodash-isnan
CHECK_RESULT $? 0 0 "卸载nodejs-lodash-isnan失败"
else
LOG_INFO "保持软件包安装状态"
fi
LOG_INFO "测试结束"
}
main "$@"

View File

@@ -1,98 +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-18
# @License : Mulan PSL v2
# @Desc : Test that a regular number is not identified as NaN.
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "检查nodejs-lodash-isnan软件包是否在yum源中"
if ! dnf list available nodejs-lodash-isnan 2>/dev/null | grep -q "nodejs-lodash-isnan"; then
LOG_ERROR "yum源中未找到nodejs-lodash-isnan软件包"
exit 255
fi
LOG_INFO "检查nodejs软件包是否已安装"
if rpm -q nodejs >/dev/null 2>&1; then
LOG_INFO "nodejs已安装标记为环境已安装"
ENV_INSTALLED=1
else
LOG_INFO "nodejs未安装标记为环境未安装"
ENV_INSTALLED=0
fi
LOG_INFO "检查lodash.isnan模块是否已安装"
if [ $ENV_INSTALLED -eq 1 ] && npm list -g lodash.isnan >/dev/null 2>&1; then
LOG_INFO "lodash.isnan已安装标记为模块已安装"
MODULE_INSTALLED=1
else
LOG_INFO "lodash.isnan未安装标记为模块未安装"
MODULE_INSTALLED=0
fi
if [ $ENV_INSTALLED -eq 0 ]; then
LOG_INFO "安装nodejs软件包"
dnf install -y nodejs
CHECK_RESULT $? 0 0 "安装nodejs失败"
fi
if [ $MODULE_INSTALLED -eq 0 ]; then
LOG_INFO "全局安装lodash.isnan模块"
npm install -g lodash.isnan
CHECK_RESULT $? 0 0 "安装lodash.isnan模块失败"
fi
LOG_INFO "创建测试JavaScript脚本"
cat > test_nan.js << "EOF"
const isNaN = require("lodash.isnan");
console.log("Testing regular number 42:");
console.log("isNaN(42) =", isNaN(42));
if (!isNaN(42)) {
console.log("PASS: 42 is correctly identified as NOT NaN");
process.exit(0);
} else {
console.log("FAIL: 42 is incorrectly identified as NaN");
process.exit(1);
}
EOF
LOG_INFO "执行测试脚本验证常规数字42不被识别为NaN"
node test_nan.js
CHECK_RESULT $? 0 0 "测试失败常规数字被错误识别为NaN"
LOG_INFO "清理临时测试文件"
rm -f test_nan.js
LOG_INFO "环境恢复:卸载测试安装的软件包"
if [ $MODULE_INSTALLED -eq 0 ]; then
LOG_INFO "卸载lodash.isnan模块"
npm uninstall -g lodash.isnan
CHECK_RESULT $? 0 0 "卸载lodash.isnan模块失败"
fi
if [ $ENV_INSTALLED -eq 0 ]; then
LOG_INFO "卸载nodejs软件包"
dnf remove -y nodejs
CHECK_RESULT $? 0 0 "卸载nodejs失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,88 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : Test that an object is not identified as NaN.
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试: Test that an object is not identified as NaN."
LOG_INFO "步骤1: 检查是否已安装nodejs-lodash-isnan软件包"
if dnf list installed nodejs-lodash-isnan &>/dev/null; then
LOG_INFO "nodejs-lodash-isnan已安装测试结束后将保持安装状态"
ALREADY_INSTALLED=true
else
LOG_INFO "nodejs-lodash-isnan未安装将在测试过程中安装"
ALREADY_INSTALLED=false
fi
LOG_INFO "步骤2: 检查yum源中是否有nodejs-lodash-isnan软件包"
if ! dnf list available nodejs-lodash-isnan &>/dev/null; then
LOG_ERROR "yum源中未找到nodejs-lodash-isnan软件包"
exit 255
fi
if [ "$ALREADY_INSTALLED" = false ]; then
LOG_INFO "步骤3: 安装nodejs-lodash-isnan软件包"
dnf install -y nodejs-lodash-isnan
CHECK_RESULT $? 0 0 "安装nodejs-lodash-isnan失败"
fi
LOG_INFO "步骤4: 验证_.isNaN函数对非NaN对象的识别"
node -e "
const _ = require("lodash");
console.log("Testing _.isNaN with non-NaN objects:");
const testCases = [
{ value: {}, expected: false },
{ value: { a: 1 }, expected: false },
{ value: new Object(), expected: false },
{ value: null, expected: false },
{ value: undefined, expected: false },
{ value: 0, expected: false },
{ value: "string", expected: false },
{ value: true, expected: false },
{ value: [], expected: false },
{ value: function(){}, expected: false }
];
let allPassed = true;
testCases.forEach(({value, expected}) => {
const result = _.isNaN(value);
if (result !== expected) {
console.error(\`FAIL: _.isNaN(\${JSON.stringify(value)}) returned \${result}, expected \${expected}\`);
allPassed = false;
} else {
console.log(\`PASS: _.isNaN(\${JSON.stringify(value)}) returned \${result}\`);
}
});
process.exit(allPassed ? 0 : 1);
"
CHECK_RESULT $? 0 0 "_.isNaN函数未能正确识别非NaN对象"
LOG_INFO "步骤5: 清理测试环境"
if [ "$ALREADY_INSTALLED" = false ]; then
LOG_INFO "卸载nodejs-lodash-isnan软件包"
dnf remove -y nodejs-lodash-isnan
CHECK_RESULT $? 0 0 "卸载nodejs-lodash-isnan失败"
else
LOG_INFO "保持nodejs-lodash-isnan软件包安装状态"
fi
LOG_INFO "测试完成: Test that an object is not identified as NaN."
}
main "$@"

View File

@@ -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 : 2026-03-18
# @License : Mulan PSL v2
# @Desc : Test the ability to require the lodash.isnan module in a script.
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义测试函数
test_lodash_isnan_require() {
local pkg_name="nodejs-lodash-isnan"
local test_script="/tmp/test_lodash_isnan.js"
# 步骤1: 检查yum源中是否存在nodejs-lodash-isnan软件包
LOG_INFO "步骤1: 检查yum源中是否存在${pkg_name}软件包"
dnf list available ${pkg_name} &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在${pkg_name}软件包"
exit 255
fi
# 步骤2: 判断当前是否已安装nodejs-lodash-isnan
LOG_INFO "步骤2: 判断当前是否已安装${pkg_name}"
local installed=false
if rpm -q ${pkg_name} &>/dev/null; then
LOG_INFO "${pkg_name}已安装"
installed=true
else
LOG_INFO "${pkg_name}未安装"
installed=false
fi
# 步骤3: 如果未安装则安装软件包
if [ "$installed" = false ]; then
LOG_INFO "步骤3: 安装${pkg_name}软件包"
dnf install -y ${pkg_name}
CHECK_RESULT $? 0 0 "安装${pkg_name}失败"
fi
# 步骤4: 创建测试脚本测试require lodash.isnan模块
LOG_INFO "步骤4: 创建测试脚本测试require lodash.isnan模块"
cat > ${test_script} << "EOF"
try {
const lodashIsNaN = require("lodash.isnan");
console.log("SUCCESS: lodash.isnan模块require成功");
// 测试模块功能
console.log("测试lodash.isnan功能:");
console.log("lodash.isNaN(NaN):", lodashIsNaN(NaN));
console.log("lodash.isNaN(123):", lodashIsNaN(123));
console.log("lodash.isNaN("abc"):", lodashIsNaN("abc"));
console.log("lodash.isNaN(undefined):", lodashIsNaN(undefined));
process.exit(0);
} catch (error) {
console.error("ERROR: lodash.isnan模块require失败 -", error.message);
process.exit(1);
}
EOF
CHECK_RESULT $? 0 0 "创建测试脚本失败"
# 步骤5: 执行测试脚本
LOG_INFO "步骤5: 执行测试脚本验证require lodash.isnan模块"
node ${test_script}
CHECK_RESULT $? 0 0 "执行测试脚本失败"
# 步骤6: 清理临时测试文件
LOG_INFO "步骤6: 清理临时测试文件"
rm -f ${test_script}
CHECK_RESULT $? 0 0 "清理临时文件失败"
# 步骤7: 如果测试前未安装,则卸载软件包
if [ "$installed" = false ]; then
LOG_INFO "步骤7: 卸载${pkg_name}软件包"
dnf remove -y ${pkg_name}
CHECK_RESULT $? 0 0 "卸载${pkg_name}失败"
else
LOG_INFO "步骤7: 保持${pkg_name}已安装状态"
fi
LOG_INFO "测试完成: lodash.isnan模块require功能测试成功"
}
# 主执行流程
main() {
# 检查dnf工具是否存在
if ! command -v dnf &>/dev/null; then
LOG_ERROR "dnf工具不存在"
exit 255
fi
# 检查node命令是否存在
if ! command -v node &>/dev/null; then
LOG_ERROR "node命令不存在"
exit 255
fi
# 执行测试
test_lodash_isnan_require
}
# 执行主函数
main
}
main "$@"

View File

@@ -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 : 2026-03-18
# @License : Mulan PSL v2
# @Desc : Test that a non-numeric string is not identified as NaN.
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "检查yum源中是否存在nodejs-lodash-isnan软件包"
if ! dnf list available nodejs-lodash-isnan &> /dev/null; then
LOG_ERROR "yum源中未找到nodejs-lodash-isnan软件包"
exit 255
fi
LOG_INFO "检查环境中是否已安装nodejs-lodash-isnan软件包"
if rpm -q nodejs-lodash-isnan &> /dev/null; then
LOG_INFO "nodejs-lodash-isnan已安装标记为无需卸载"
need_uninstall=false
else
LOG_INFO "nodejs-lodash-isnan未安装标记为需要卸载"
need_uninstall=true
fi
if [ "$need_uninstall" = true ]; then
LOG_INFO "安装nodejs-lodash-isnan软件包"
dnf install -y nodejs-lodash-isnan
CHECK_RESULT $? 0 0 "安装nodejs-lodash-isnan失败"
fi
LOG_INFO "测试非数字字符串不被识别为NaN"
LOG_INFO "创建测试JavaScript文件"
cat > test_nan.js << "EOF"
const _ = require("lodash/isNaN");
console.log(_.isNaN("test_string"));
EOF
LOG_INFO "执行测试脚本"
node test_nan.js
CHECK_RESULT $? 0 0 "执行nodejs测试脚本失败"
LOG_INFO "验证输出结果是否为false"
output=$(node test_nan.js)
if [ "$output" = "false" ]; then
LOG_INFO "测试通过非数字字符串未被识别为NaN"
else
LOG_ERROR "测试失败非数字字符串被识别为NaN"
exit 1
fi
LOG_INFO "清理测试文件"
rm -f test_nan.js
if [ "$need_uninstall" = true ]; then
LOG_INFO "卸载nodejs-lodash-isnan软件包"
dnf remove -y nodejs-lodash-isnan
CHECK_RESULT $? 0 0 "卸载nodejs-lodash-isnan失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,89 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-18
# @License : Mulan PSL v2
# @Desc : Test that undefined is not identified as NaN.
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
PACKAGE_NAME="nodejs-lodash"
TEST_FUNCTION="isNaN"
TEST_VALUE="undefined"
LOG_INFO "开始测试:验证 undefined 是否被识别为 NaN"
LOG_INFO "步骤1检查系统中是否已安装 $PACKAGE_NAME"
if rpm -q $PACKAGE_NAME &> /dev/null; then
LOG_INFO "$PACKAGE_NAME 已安装,测试结束后将保持安装状态"
ALREADY_INSTALLED=1
else
LOG_INFO "$PACKAGE_NAME 未安装,将在测试前安装,测试后卸载"
ALREADY_INSTALLED=0
fi
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "步骤2检查 yum 源中是否存在 $PACKAGE_NAME 软件包"
if ! dnf list available $PACKAGE_NAME &> /dev/null; then
LOG_ERROR "yum 源中未找到 $PACKAGE_NAME 软件包"
exit 255
fi
LOG_INFO "步骤3安装 $PACKAGE_NAME 软件包"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装 $PACKAGE_NAME 失败"
fi
LOG_INFO "步骤4验证 Node.js 环境是否可用"
if ! command -v node &> /dev/null; then
LOG_ERROR "未找到 node 命令,请确保 Node.js 已正确安装"
exit 1
fi
LOG_INFO "步骤5编写测试脚本验证 lodash 的 $TEST_FUNCTION 函数对 $TEST_VALUE 的处理"
cat > /tmp/test_lodash.js << "EOF"
const _ = require("lodash");
const value = undefined;
const result = _.isNaN(value);
console.log(result ? "true" : "false");
EOF
LOG_INFO "步骤6执行测试脚本"
node /tmp/test_lodash.js > /tmp/test_result.txt 2>&1
CHECK_RESULT $? 0 0 "执行 Node.js 脚本失败"
LOG_INFO "步骤7检查测试结果"
RESULT=$(cat /tmp/test_result.txt)
EXPECTED="false"
if [ "$RESULT" != "$EXPECTED" ]; then
LOG_ERROR "测试失败:预期输出为 "$EXPECTED",实际输出为 "$RESULT""
exit 1
else
LOG_INFO "测试成功undefined 未被识别为 NaN"
fi
LOG_INFO "步骤8清理临时文件"
rm -f /tmp/test_lodash.js /tmp/test_result.txt
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "步骤9卸载 $PACKAGE_NAME 软件包以恢复环境"
dnf remove -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "卸载 $PACKAGE_NAME 失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,75 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-29
# @License : Mulan PSL v2
# @Desc : 测试检查device-mapper软件包是否已安装及版本信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试检查device-mapper软件包是否已安装及版本信息"
LOG_INFO "步骤1检查device-mapper软件包是否在yum源中可用"
if dnf list available device-mapper 2>/dev/null | grep -q device-mapper; then
LOG_INFO "yum源中存在device-mapper软件包"
else
LOG_ERROR "yum源中未找到device-mapper软件包"
exit 255
fi
LOG_INFO "步骤2检查当前环境是否已安装device-mapper"
if rpm -q device-mapper >/dev/null 2>&1; then
LOG_INFO "device-mapper已安装记录安装状态以便恢复"
INSTALLED=true
else
LOG_INFO "device-mapper未安装将在测试过程中安装"
INSTALLED=false
fi
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "步骤3安装device-mapper软件包"
dnf install -y device-mapper
CHECK_RESULT $? 0 0 "安装device-mapper失败"
fi
LOG_INFO "步骤4检查device-mapper版本信息"
rpm -qi device-mapper
CHECK_RESULT $? 0 0 "查询device-mapper版本信息失败"
LOG_INFO "步骤5验证dmsetup命令是否可用"
dmsetup version
CHECK_RESULT $? 0 0 "dmsetup命令执行失败"
LOG_INFO "步骤6验证dmsetup命令的参数支持"
if dmsetup help 2>&1 | grep -q "version"; then
LOG_INFO "dmsetup命令支持version参数"
else
LOG_ERROR "dmsetup命令不支持version参数"
exit 255
fi
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "步骤7清理环境卸载测试安装的device-mapper软件包"
dnf remove -y device-mapper
CHECK_RESULT $? 0 0 "卸载device-mapper失败"
fi
LOG_INFO "测试完成device-mapper软件包检查及版本信息验证成功"
}
main "$@"

View File

@@ -1,91 +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-29
# @License : Mulan PSL v2
# @Desc : 测试使用device-mapper创建线性linear映射设备
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试使用device-mapper创建线性linear映射设备"
LOG_INFO "检查是否已安装device-mapper相关软件包"
if rpm -q device-mapper device-mapper-libs device-mapper-persistent-data lvm2 > /dev/null 2>&1; then
LOG_INFO "device-mapper相关软件包已安装测试结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "device-mapper相关软件包未安装将在测试过程中安装"
INSTALLED=false
fi
LOG_INFO "检查yum源中是否有device-mapper相关软件包"
dnf list available device-mapper device-mapper-libs device-mapper-persistent-data lvm2 > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中缺少device-mapper相关软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中缺少必要的device-mapper软件包"
exit 255
fi
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装device-mapper相关软件包"
dnf install -y device-mapper device-mapper-libs device-mapper-persistent-data lvm2
CHECK_RESULT $? 0 0 "安装device-mapper软件包失败"
fi
LOG_INFO "检查系统是否支持device-mapper"
lsmod | grep -q dm_mod
CHECK_RESULT $? 0 0 "系统不支持device-mapper模块"
LOG_INFO "创建测试用的回环设备"
dd if=/dev/zero of=/tmp/test_dm.img bs=1M count=10 > /dev/null 2>&1
CHECK_RESULT $? 0 0 "创建测试镜像文件失败"
losetup -f /tmp/test_dm.img
LOOP_DEVICE=$(losetup -j /tmp/test_dm.img | cut -d: -f1)
CHECK_RESULT $? 0 0 "设置回环设备失败"
LOG_INFO "创建的回环设备为: $LOOP_DEVICE"
LOG_INFO "创建测试用的device-mapper线性映射设备"
echo "0 20480 linear $LOOP_DEVICE 0" | dmsetup create test-linear
CHECK_RESULT $? 0 0 "创建线性映射设备失败"
LOG_INFO "检查线性映射设备是否创建成功"
dmsetup status test-linear > /dev/null 2>&1
CHECK_RESULT $? 0 0 "线性映射设备创建后状态检查失败"
LOG_INFO "验证线性映射设备的基本功能"
ls -l /dev/mapper/test-linear > /dev/null 2>&1
CHECK_RESULT $? 0 0 "线性映射设备文件不存在"
LOG_INFO "清理测试创建的device-mapper设备"
dmsetup remove test-linear
CHECK_RESULT $? 0 0 "删除线性映射设备失败"
LOG_INFO "清理回环设备"
losetup -d $LOOP_DEVICE
CHECK_RESULT $? 0 0 "删除回环设备失败"
rm -f /tmp/test_dm.img
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载测试安装的device-mapper软件包"
dnf remove -y device-mapper device-mapper-libs device-mapper-persistent-data lvm2
CHECK_RESULT $? 0 0 "卸载device-mapper软件包失败"
else
LOG_INFO "保持device-mapper软件包的安装状态"
fi
LOG_INFO "测试使用device-mapper创建线性映射设备完成"
}
main "$@"

View File

@@ -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-29
# @License : Mulan PSL v2
# @Desc : 测试dmsetup命令的基础功能如查看设备映射表信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试dmsetup命令基础功能"
LOG_INFO "检查环境是否已安装device-mapper和dmsetup"
if rpm -q device-mapper dmsetup &>/dev/null; then
LOG_INFO "检测到device-mapper和dmsetup已安装测试后保持安装状态"
INSTALLED_BEFORE=true
else
LOG_INFO "未检测到device-mapper和dmsetup安装将在测试中安装"
INSTALLED_BEFORE=false
fi
LOG_INFO "检查yum源中是否存在device-mapper和dmsetup软件包"
if ! dnf list available device-mapper dmsetup &>/dev/null; then
LOG_ERROR "yum源中未找到device-mapper或dmsetup软件包"
exit 255
fi
if [ "$INSTALLED_BEFORE" = "false" ]; then
LOG_INFO "安装device-mapper和dmsetup软件包"
dnf install -y device-mapper dmsetup
CHECK_RESULT $? 0 0 "安装device-mapper和dmsetup失败"
fi
LOG_INFO "测试dmsetup命令是否存在"
if ! command -v dmsetup &>/dev/null; then
LOG_ERROR "dmsetup命令不存在"
exit 255
fi
LOG_INFO "测试dmsetup --help查看帮助信息"
dmsetup --help
CHECK_RESULT $? 0 0 "执行dmsetup --help失败"
LOG_INFO "测试dmsetup version查看版本信息"
dmsetup version
CHECK_RESULT $? 0 0 "执行dmsetup version失败"
LOG_INFO "测试dmsetup ls查看设备映射表列表"
dmsetup ls
CHECK_RESULT $? 0 0 "执行dmsetup ls失败"
LOG_INFO "测试dmsetup info查看设备映射表信息"
dmsetup info
CHECK_RESULT $? 0 0 "执行dmsetup info失败"
LOG_INFO "测试dmsetup status查看设备映射表状态"
dmsetup status
CHECK_RESULT $? 0 0 "执行dmsetup status失败"
LOG_INFO "测试dmsetup table查看设备映射表详细信息"
dmsetup table
CHECK_RESULT $? 0 0 "执行dmsetup table失败"
LOG_INFO "测试dmsetup依赖项命令是否存在"
if ! command -v lsblk &>/dev/null; then
LOG_ERROR "lsblk命令不存在为dmsetup依赖项"
exit 255
fi
LOG_INFO "清理测试环境"
if [ "$INSTALLED_BEFORE" = "false" ]; then
LOG_INFO "卸载测试安装的device-mapper和dmsetup软件包"
dnf remove -y device-mapper dmsetup
CHECK_RESULT $? 0 0 "卸载device-mapper和dmsetup失败"
else
LOG_INFO "环境已安装,保持原状"
fi
LOG_INFO "dmsetup基础功能测试完成"
}
main "$@"

View File

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

View File

@@ -1,86 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-29
# @License : Mulan PSL v2
# @Desc : 测试device-mapper软件包的卸载功能验证是否能从系统中干净移除
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试device-mapper软件包的卸载功能"
LOG_INFO "1. 检查当前系统是否已安装device-mapper软件包"
if dnf list installed device-mapper &>/dev/null; then
LOG_INFO "device-mapper软件包已安装测试结束后将保持安装状态"
ALREADY_INSTALLED=1
else
LOG_INFO "device-mapper软件包未安装将在测试过程中安装"
ALREADY_INSTALLED=0
fi
LOG_INFO "2. 检查yum源中是否存在device-mapper软件包"
if ! dnf list available device-mapper &>/dev/null; then
LOG_ERROR "yum源中未找到device-mapper软件包"
exit 255
fi
LOG_INFO "3. 检查device-mapper软件包卸载命令参数"
if ! dnf help remove &>/dev/null; then
LOG_ERROR "dnf remove命令不存在或不支持"
exit 255
fi
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "4. 安装device-mapper软件包作为测试准备"
dnf install -y device-mapper
CHECK_RESULT $? 0 0 "安装device-mapper软件包失败"
fi
LOG_INFO "5. 验证device-mapper软件包已正确安装"
dnf list installed device-mapper
CHECK_RESULT $? 0 0 "验证device-mapper安装状态失败"
LOG_INFO "6. 执行device-mapper软件包卸载测试"
dnf remove -y device-mapper
CHECK_RESULT $? 0 0 "卸载device-mapper软件包失败"
LOG_INFO "7. 验证device-mapper软件包已完全移除"
if dnf list installed device-mapper &>/dev/null; then
LOG_ERROR "device-mapper软件包卸载不干净"
exit 1
else
LOG_INFO "device-mapper软件包已成功从系统中移除"
fi
LOG_INFO "8. 环境清理和恢复"
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "测试前未安装,无需恢复安装状态"
else
LOG_INFO "恢复device-mapper软件包安装状态"
dnf install -y device-mapper
CHECK_RESULT $? 0 0 "恢复安装device-mapper软件包失败"
LOG_INFO "验证恢复后的安装状态"
dnf list installed device-mapper
CHECK_RESULT $? 0 0 "验证恢复后的安装状态失败"
fi
LOG_INFO "device-mapper软件包卸载功能测试完成"
}
main "$@"

View File

@@ -1,103 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-29
# @License : Mulan PSL v2
# @Desc : 测试使用dmsetup移除已创建的device-mapper设备
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试使用dmsetup移除已创建的device-mapper设备"
LOG_INFO "步骤1检查环境是否已安装device-mapper相关软件包"
if dnf list installed device-mapper* &>/dev/null; then
LOG_INFO "环境已安装device-mapper相关软件包脚本结束时将保持安装状态"
INSTALLED=1
else
LOG_INFO "环境未安装device-mapper相关软件包将在测试过程中安装"
INSTALLED=0
fi
LOG_INFO "步骤2检查yum源中是否有device-mapper软件包"
if ! dnf list available device-mapper &>/dev/null; then
LOG_ERROR "yum源中未找到device-mapper软件包退出测试"
exit 255
fi
if ! dnf list available device-mapper-devel &>/dev/null; then
LOG_ERROR "yum源中未找到device-mapper-devel软件包退出测试"
exit 255
fi
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "步骤3安装device-mapper相关软件包"
dnf install -y device-mapper device-mapper-devel
CHECK_RESULT $? 0 0 "安装device-mapper软件包失败"
fi
LOG_INFO "步骤4加载device-mapper内核模块"
modprobe dm_mod
CHECK_RESULT $? 0 0 "加载device-mapper内核模块失败"
LOG_INFO "步骤5创建测试用的回环设备"
dd if=/dev/zero of=/tmp/test_dm.img bs=1M count=10
CHECK_RESULT $? 0 0 "创建测试镜像文件失败"
losetup -f /tmp/test_dm.img
CHECK_RESULT $? 0 0 "创建回环设备失败"
LOOP_DEVICE=$(losetup -j /tmp/test_dm.img | cut -d: -f1)
LOG_INFO "创建的回环设备为:$LOOP_DEVICE"
LOG_INFO "步骤6创建device-mapper设备"
echo "0 20480 linear $LOOP_DEVICE 0" | dmsetup create test_dm
CHECK_RESULT $? 0 0 "创建device-mapper设备失败"
LOG_INFO "步骤7检查device-mapper设备是否创建成功"
dmsetup info test_dm
CHECK_RESULT $? 0 0 "device-mapper设备创建后检查失败"
LOG_INFO "步骤8使用dmsetup移除device-mapper设备"
dmsetup remove test_dm
CHECK_RESULT $? 0 0 "移除device-mapper设备失败"
LOG_INFO "步骤9验证device-mapper设备是否已移除"
if dmsetup info test_dm &>/dev/null; then
LOG_ERROR "device-mapper设备移除失败"
exit 1
else
LOG_INFO "device-mapper设备已成功移除"
fi
LOG_INFO "步骤10清理测试环境"
if [ -n "$LOOP_DEVICE" ]; then
losetup -d $LOOP_DEVICE
CHECK_RESULT $? 0 0 "删除回环设备失败"
fi
rm -f /tmp/test_dm.img
CHECK_RESULT $? 0 0 "删除测试镜像文件失败"
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "步骤11卸载测试期间安装的软件包"
dnf remove -y device-mapper device-mapper-devel
CHECK_RESULT $? 0 0 "卸载device-mapper软件包失败"
fi
LOG_INFO "步骤12测试完成环境已恢复"
}
main "$@"

View File

@@ -1,89 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-26
# @License : Mulan PSL v2
# @Desc : 测试列出 openEuler-gpg-keys 软件包安装的所有 GPG 公钥。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义日志函数
LOG_INFO() {
echo "[INFO] $1"
}
LOG_ERROR() {
echo "[ERROR] $1"
}
# 定义软件包名称
PACKAGE_NAME="openEuler-gpg-keys"
COMMAND="rpm"
COMMAND_ARGS="-ql"
# 步骤1检查软件包是否已在yum源中
LOG_INFO "步骤1检查软件包是否已在yum源中"
dnf list available $PACKAGE_NAME &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 $PACKAGE_NAME 在yum源中不存在"
exit 255
fi
# 步骤2检查环境是否已安装软件包
LOG_INFO "步骤2检查环境是否已安装软件包"
rpm -q $PACKAGE_NAME &>/dev/null
if [ $? -eq 0 ]; then
LOG_INFO "软件包 $PACKAGE_NAME 已安装,标记为已安装状态"
INSTALLED=true
else
LOG_INFO "软件包 $PACKAGE_NAME 未安装,标记为未安装状态"
INSTALLED=false
fi
# 步骤3如果未安装则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤3安装软件包 $PACKAGE_NAME"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
fi
# 步骤4检查命令参数是否支持
LOG_INFO "步骤4检查命令参数是否支持"
$COMMAND --help 2>&1 | grep -q "$COMMAND_ARGS"
if [ $? -ne 0 ]; then
LOG_ERROR "命令 $COMMAND 不支持参数 $COMMAND_ARGS"
exit 255
fi
# 步骤5执行列出GPG公钥的命令
LOG_INFO "步骤5执行列出GPG公钥的命令"
$COMMAND $COMMAND_ARGS $PACKAGE_NAME | grep -E "\.gpg$|\.asc$"
CHECK_RESULT $? 0 0 "列出 $PACKAGE_NAME 安装的GPG公钥失败"
# 步骤6清理环境恢复到之前的状态
LOG_INFO "步骤6清理环境恢复到之前的状态"
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载软件包 $PACKAGE_NAME"
dnf remove -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
else
LOG_INFO "软件包 $PACKAGE_NAME 已安装,保持原状"
fi
LOG_INFO "测试脚本执行完成"
}
main "$@"

View File

@@ -1,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 : 2026-02-26
# @License : Mulan PSL v2
# @Desc : 测试 openEuler-gpg-keys 软件包是否正确安装。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
PACKAGE_NAME="openEuler-gpg-keys"
LOG_INFO "测试开始测试openEuler-gpg-keys软件包是否正确安装"
LOG_INFO "步骤1检查dnf工具是否可用"
command -v dnf > /dev/null 2>&1
CHECK_RESULT $? 0 0 "dnf工具不可用"
LOG_INFO "步骤2检查软件包是否在yum源中"
dnf list available "$PACKAGE_NAME" > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 $PACKAGE_NAME 不在yum源中"
exit 255
fi
LOG_INFO "步骤3检查软件包当前是否已安装"
rpm -q "$PACKAGE_NAME" > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "软件包 $PACKAGE_NAME 已安装,将保持安装状态"
INSTALLED_BEFORE_TEST=1
else
LOG_INFO "软件包 $PACKAGE_NAME 未安装,将在测试中安装"
INSTALLED_BEFORE_TEST=0
fi
if [ $INSTALLED_BEFORE_TEST -eq 0 ]; then
LOG_INFO "步骤4安装软件包 $PACKAGE_NAME"
dnf install -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
fi
LOG_INFO "步骤5验证软件包是否正确安装"
rpm -q "$PACKAGE_NAME" > /dev/null 2>&1
CHECK_RESULT $? 0 0 "软件包 $PACKAGE_NAME 未正确安装"
LOG_INFO "步骤6验证软件包文件完整性"
rpm -V "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "软件包 $PACKAGE_NAME 文件完整性检查失败"
LOG_INFO "步骤7检查软件包提供的GPG密钥文件"
rpm -ql "$PACKAGE_NAME" | grep -E "\.(gpg|asc)$" > /dev/null 2>&1
CHECK_RESULT $? 0 0 "软件包 $PACKAGE_NAME 未提供GPG密钥文件"
if [ $INSTALLED_BEFORE_TEST -eq 0 ]; then
LOG_INFO "步骤8清理环境卸载测试安装的软件包"
dnf remove -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
else
LOG_INFO "步骤8保持环境不卸载已安装的软件包"
fi
LOG_INFO "测试完成openEuler-gpg-keys软件包安装测试通过"
}
main "$@"

View File

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

View File

@@ -1,69 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-26
# @License : Mulan PSL v2
# @Desc : 测试使用软件包中的 GPG 密钥验证 openEuler 官方仓库元数据签名。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:使用软件包中的 GPG 密钥验证 openEuler 官方仓库元数据签名"
LOG_INFO "步骤1检查系统中是否已安装 openEuler-gpg-keys 软件包"
rpm -q openEuler-gpg-keys > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "openEuler-gpg-keys 已安装,测试结束后将保持安装状态"
INSTALLED=1
else
LOG_INFO "openEuler-gpg-keys 未安装,将在测试过程中安装并最后卸载"
INSTALLED=0
fi
LOG_INFO "步骤2检查 yum 源中是否有 openEuler-gpg-keys 软件包"
dnf list available openEuler-gpg-keys > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum 源中未找到 openEuler-gpg-keys 软件包"
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "步骤3安装 openEuler-gpg-keys 软件包"
dnf install -y openEuler-gpg-keys
CHECK_RESULT $? 0 0 "安装 openEuler-gpg-keys 失败"
fi
LOG_INFO "步骤4检查 gpg 命令是否支持 --list-keys 参数"
gpg --help | grep -q "\-\-list-keys"
CHECK_RESULT $? 0 255 "gpg 命令不支持 --list-keys 参数"
LOG_INFO "步骤5列出系统中导入的 GPG 密钥"
gpg --list-keys
CHECK_RESULT $? 0 0 "列出 GPG 密钥失败"
LOG_INFO "步骤6验证 openEuler 官方仓库元数据签名"
dnf repolist --verbose | grep -q "gpgcheck"
CHECK_RESULT $? 0 0 "openEuler 官方仓库未启用 GPG 检查"
LOG_INFO "步骤7清理环境"
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载 openEuler-gpg-keys 软件包"
dnf remove -y openEuler-gpg-keys
CHECK_RESULT $? 0 0 "卸载 openEuler-gpg-keys 失败"
else
LOG_INFO "保持 openEuler-gpg-keys 安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,81 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-10
# @License : Mulan PSL v2
# @Desc : 测试网络链接管理功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装python3-pyroute2
LOG_INFO "检查是否已安装python3-pyroute2"
if dnf list installed python3-pyroute2 &>/dev/null; then
LOG_INFO "python3-pyroute2已安装脚本结束后保持安装状态"
installed=true
else
LOG_INFO "python3-pyroute2未安装将在脚本结束后卸载"
installed=false
fi
# 检查yum源中是否有python3-pyroute2
LOG_INFO "检查yum源中是否有python3-pyroute2"
if ! dnf list available python3-pyroute2 &>/dev/null; then
LOG_ERROR "yum源中未找到python3-pyroute2"
exit 255
fi
# 安装python3-pyroute2
if [ "$installed" = false ]; then
LOG_INFO "安装python3-pyroute2"
dnf install -y python3-pyroute2
CHECK_RESULT $? 0 0 "安装python3-pyroute2失败"
fi
# 测试网络链接管理功能
LOG_INFO "测试网络链接管理功能"
# 示例命令检查iproute2工具是否支持link命令
if ! ip link help &>/dev/null; then
LOG_ERROR "ip命令不支持link参数"
exit 255
fi
# 示例测试:创建一个虚拟网络接口
LOG_INFO "创建一个虚拟网络接口测试"
ip link add test0 type dummy
CHECK_RESULT $? 0 0 "创建虚拟网络接口失败"
# 检查接口是否创建成功
ip link show test0 &>/dev/null
CHECK_RESULT $? 0 0 "虚拟网络接口未创建成功"
# 删除虚拟网络接口
LOG_INFO "删除虚拟网络接口"
ip link del test0
CHECK_RESULT $? 0 0 "删除虚拟网络接口失败"
# 清理环境
if [ "$installed" = false ]; then
LOG_INFO "卸载python3-pyroute2"
dnf remove -y python3-pyroute2
CHECK_RESULT $? 0 0 "卸载python3-pyroute2失败"
fi
LOG_INFO "测试脚本执行完毕"
}
main "$@"

View File

@@ -1,124 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-10
# @License : Mulan PSL v2
# @Desc : 测试网络命名空间功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查yum源中是否存在指定软件包
check_package_in_repo() {
local package_name=$1
if ! dnf list available "$package_name" &>/dev/null; then
LOG_ERROR "软件包 $package_name 不在yum源中"
exit 255
fi
}
# 检查命令参数是否有效
check_command_parameter() {
local command=$1
local parameter=$2
if ! $command --help | grep -q "$parameter"; then
LOG_ERROR "命令 $command 不支持参数 $parameter"
exit 255
fi
}
# 安装软件包
install_package() {
local package_name=$1
LOG_INFO "正在安装软件包 $package_name"
dnf install -y "$package_name"
CHECK_RESULT $? 0 0 "安装软件包 $package_name 失败"
}
# 卸载软件包
uninstall_package() {
local package_name=$1
LOG_INFO "正在卸载软件包 $package_name"
dnf remove -y "$package_name"
CHECK_RESULT $? 0 0 "卸载软件包 $package_name 失败"
}
# 检查环境是否已安装软件包
check_installed() {
local package_name=$1
if rpm -q "$package_name" &>/dev/null; then
LOG_INFO "软件包 $package_name 已安装"
return 0
else
LOG_INFO "软件包 $package_name 未安装"
return 1
fi
}
# 测试网络命名空间功能的主函数
test_python3_pyroute2_function_netns() {
local package_name="python3-pyroute2"
# 步骤1检查yum源中是否存在python3-pyroute2软件包
LOG_INFO "步骤1检查yum源中是否存在 $package_name"
check_package_in_repo "$package_name"
# 步骤2检查环境是否已安装python3-pyroute2
LOG_INFO "步骤2检查环境是否已安装 $package_name"
local installed=false
if check_installed "$package_name"; then
installed=true
fi
# 如果未安装,则执行安装步骤
if ! $installed; then
LOG_INFO "步骤3安装 $package_name"
install_package "$package_name"
fi
# 步骤4测试网络命名空间功能示例命令
LOG_INFO "步骤4测试网络命名空间功能"
# ip netns add testns
ip netns add testns
CHECK_RESULT $? 0 0 "创建网络命名空间失败"
# ip netns list | grep testns
ip netns list | grep -q testns
CHECK_RESULT $? 0 0 "验证网络命名空间存在失败"
# ip netns delete testns
ip netns delete testns
CHECK_RESULT $? 0 0 "删除网络命名空间失败"
# SSH_CMD示例如果需要
# SSH_CMD "ip netns add remotens" "$NODE2_IPV4" "$NODE2_PASSWORD" "$NODE2_USER"
# 恢复环境(如果最初未安装,则卸载)
if ! $installed; then
LOG_INFO “恢复环境:卸载$package_name”
uninstall_ “$package_name”
fi
LOG_INFO “测试完成”
}
#执行主函数
test__pyroute_ct_net
}
main "$@"

View File

@@ -1,85 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-10
# @License : Mulan PSL v2
# @Desc : 测试路由表管理功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试路由表管理功能
LOG_INFO "开始测试路由表管理功能"
# 检查是否已安装python3-pyroute2
LOG_INFO "检查是否已安装python3-pyroute2"
dnf list installed python3-pyroute2 > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "python3-pyroute2已安装脚本结束时保持安装状态"
INSTALLED=true
else
LOG_INFO "python3-pyroute2未安装将在测试结束后卸载"
INSTALLED=false
fi
# 检查yum源中是否有python3-pyroute2软件包
LOG_INFO "检查yum源中是否有python3-pyroute2软件包"
dnf list available python3-pyroute2 > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到python3-pyroute2软件包"
exit 255
fi
# 如果未安装则安装python3-pyroute2
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装python3-pyroute2"
dnf install -y python3-pyroute2
CHECK_RESULT $? 0 0 "安装python3-pyroute2失败"
fi
# 测试路由表管理功能
LOG_INFO "测试路由表管理功能"
ip route show > /dev/null 2>&1
CHECK_RESULT $? 0 0 "ip route show命令执行失败"
# 测试添加路由表(示例)
LOG_INFO "测试添加路由表"
ip route add default via 192.168.1.1 > /dev/null 2>&1
CHECK_RESULT $? 0 0 "添加路由表失败"
# 测试删除路由表(示例)
LOG_INFO "测试删除路由表"
ip route del default via 192.168.1.1 > /dev/null 2>&1
CHECK_RESULT $? 0 0 "删除路由表失败"
# SSH到第二个节点测试示例
LOG_INFO "在第二个节点上执行命令"
SSH_CMD "ip route show" "$NODE2_IPV4" "$NODE2_PASSWORD" "$NODE2_USER" > /dev/null 2>&1
CHECK_RESULT $? 0 0 "在第二个节点上执行ip route show失败"
#如果脚本开始时未安装则在结束时卸载python3-pyroute2
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载python3-pyroute2"
dnf remove -y python3-pyroute2
CHECK_RESULT $? 0 0 "卸载python3-pyroute2失败"
fi
LOG_INFO "测试路由表管理功能完成"
}
main "$@"

View File

@@ -1,67 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-10
# @License : Mulan PSL v2
# @Desc : 测试指定IP地址监听
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试指定IP地址监听
LOG_INFO "开始测试测试指定IP地址监听"
# 检查是否已安装python3-pyroute2和pyroute2-cli
LOG_INFO "检查是否已安装python3-pyroute2和pyroute2-cli"
if ! dnf list installed python3-pyroute2 &> /dev/null || ! dnf list installed pyroute2-cli &> /dev/null; then
LOG_INFO "未安装python3-pyroute2或pyroute2-cli将进行安装"
# 检查yum源中是否有python3-pyroute2和pyroute2-cli
if ! dnf list available python3-pyroute2 &> /dev/null || ! dnf list available pyroute2-cli &> /dev/null; then
LOG_ERROR "yum源中未找到python3-pyroute2或pyroute2-cli"
exit 255
fi
# 安装软件包
dnf install -y python3-pyroute2 pyroute2-cli
CHECK_RESULT $? 0 0 "安装python3-pyroute2和pyroute2-cli失败"
else
LOG_INFO "python3-pyroute2和pyroute2-cli已安装"
fi
# 测试指定IP地址监听
LOG_INFO "测试指定IP地址监听"
ip addr add 192.168.1.100/24 dev lo &> /dev/null
CHECK_RESULT $? 0 0 "添加IP地址失败"
# 检查IP地址是否已添加
ip addr show lo | grep -q "192.168.1.100"
CHECK_RESULT $? 0 0 "IP地址未成功添加"
# 清理添加的IP地址
LOG_INFO "清理环境删除添加的IP地址"
ip addr del 192.168.1.100/24 dev lo &> /dev/null
CHECK_RESULT $? 0 0 "删除IP地址失败"
# 如果脚本开始时未安装软件包,则在结束时卸载
if [[ "$(dnf list installed python3-pyroute2 &> /dev/null; echo $?)" != "0" || "$(dnf list installed pyroute2-cli &> /dev/null; echo $?)" != "0" ]]; then
LOG_INFO "卸载python3-pyroute2和pyroute2-cli"
dnf remove -y python3-pyroute2 pyroute2-cli
CHECK_RESULT $? 0 0 "卸载python3-pyroute2和pyroute2-cli失败"
fi
LOG_INFO "测试完成测试指定IP地址监听"
}
main "$@"

View File

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

View File

@@ -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 : 2025-12-10
# @License : Mulan PSL v2
# @Desc : 测试帮助文档显示
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试帮助文档显示功能"
# 检查是否已安装python3-pyroute2和pyroute2-cli
if ! dnf list installed python3-pyroute2 &> /dev/null || ! dnf list installed pyroute2-cli &> /dev/null; then
LOG_INFO "环境未安装python3-pyroute2或pyroute2-cli将进行安装"
# 检查yum源中是否有python3-pyroute2和pyroute2-cli
if ! dnf list available python3-pyroute2 &> /dev/null || ! dnf list available pyroute2-cli &> /dev/null; then
LOG_ERROR "yum源中未找到python3-pyroute2或pyroute2-cli软件包"
exit 255
fi
# 安装软件包
dnf install -y python3-pyroute2 pyroute2-cli
CHECK_RESULT $? 0 0 "安装python3-pyroute2和pyroute2-cli失败"
else
LOG_INFO "环境已安装python3-pyroute2和pyroute2-cli"
fi
# 测试帮助文档显示功能
LOG_INFO "测试帮助文档显示功能"
pr --help &> /dev/null
CHECK_RESULT $? 0 0 "帮助文档显示失败"
# 清理环境(如果脚本开始时未安装软件包,则卸载)
if ! dnf list installed python3-pyroute2 &> /dev/null || ! dnf list installed pyroute2-cli &> /dev/null; then
LOG_INFO "清理环境卸载python3-pyroute2和pyroute2-cli"
dnf remove -y python3-pyroute2 pyroute2-cli
CHECK_RESULT $? 0 0 "卸载python3-pyroute2和pyroute2-cli失败"
else
LOG_INFO "保持环境安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

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

View File

@@ -1,67 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-10
# @License : Mulan PSL v2
# @Desc : 测试设置模式
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装python3-pyroute2和pyroute2-cli
LOG_INFO "检查环境是否已安装python3-pyroute2和pyroute2-cli"
if dnf list installed python3-pyroute2 &>/dev/null && dnf list installed pyroute2-cli &>/dev/null; then
LOG_INFO "环境已安装python3-pyroute2和pyroute2-cli"
INSTALLED=true
else
LOG_INFO "环境未安装python3-pyroute2和pyroute2-cli"
INSTALLED=false
fi
# 检查yum源中是否有python3-pyroute2和pyroute2-cli
LOG_INFO "检查yum源中是否有python3-pyroute2和pyroute2-cli"
if ! dnf list available python3-pyroute2 &>/dev/null || ! dnf list available pyroute2-cli &>/dev/null; then
LOG_ERROR "yum源中缺少python3-pyroute2或pyroute2-cli软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装python3-pyroute2和pyroute2-cli"
dnf install -y python3-pyroute2 pyroute2-cli
CHECK_RESULT $? 0 0 "安装python3-pyroute2和pyroute2-cli失败"
fi
# 测试设置模式
LOG_INFO "测试设置模式"
# 执行测试命令
LOG_INFO "执行测试命令"
ip route show > /dev/null # 示例命令,实际应根据需求调整
CHECK_RESULT $? 0 0 "执行测试命令失败"
# 清理环境:如果脚本开始时未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载python3-pyroute2和pyroute2-cli"
dnf remove -y python3-pyoute pyoute-cl # 修正为正确的包名以避免卸载错误(示例)
CHECK_RESULT $? 0 0 "卸载python-poute和poutecli失败"
fi
LOG_INFO "测试脚本执行完毕"
}
main "$@"

View File

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

View File

@@ -1,65 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-10
# @License : Mulan PSL v2
# @Desc : 测试加载rc文件
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试测试加载rc文件"
# 检查是否已安装python3-pyroute2和pyroute2-cli
LOG_INFO "检查是否已安装python3-pyroute2和pyroute2-cli"
if ! dnf list installed python3-pyroute2 &> /dev/null || ! dnf list installed pyroute2-cli &> /dev/null; then
LOG_INFO "环境未安装python3-pyroute2或pyroute2-cli将进行安装"
# 检查yum源中是否有软件包
LOG_INFO "检查yum源中是否有python3-pyroute2和pyroute2-cli"
if ! dnf list available python3-pyroute2 &> /dev/null || ! dnf list available pyroute2-cli &> /dev/null; then
LOG_ERROR "yum源中缺少python3-pyroute2或pyroute2-cli软件包"
exit 255
fi
# 安装软件包
LOG_INFO "安装python3-pyroute2和pyroute2-cli"
dnf install -y python3-pyroute2 pyroute2-cli
CHECK_RESULT $? 0 0 "安装python3-pyroute2和pyroute2-cli失败"
# 标记需要卸载
NEED_UNINSTALL=1
else
LOG_INFO "环境已安装python3-pyroute2和pyroute2-cli"
NEED_UNINSTALL=0
fi
# 测试加载rc文件
LOG_INFO "测试加载rc文件"
if ! command -v pr2cmd &> /dev/null; then
LOG_ERROR "pr2cmd命令不存在或不支持"
exit 255
fi
# 执行pr2cmd命令测试加载rc文件
LOG_INFO "执行pr2cmd命令测试加载rc文件"
pr2cmd --help &> /dev/null
CHECK_RESULT $? 0 0 "pr2cmd命令执行失败"
# 清理环境,如果之前未安装则卸载软件包
if [ $NEED_UNINSTALL -eq 1 ]; then
LOG_INFO "卸载python3-pyroute2和pyroute2-cli"
dnf remove -y python3-pyroute2 pyroute
}
main "$@"

View File

@@ -1,67 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-10
# @License : Mulan PSL v2
# @Desc : 测试从json文件加载源
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装python3-pyroute2和pyroute2-cli
LOG_INFO "检查是否已安装python3-pyroute2和pyroute2-cli"
if rpm -q python3-pyroute2 pyroute2-cli &>/dev/null; then
LOG_INFO "python3-pyroute2和pyroute2-cli已安装"
installed=true
else
LOG_INFO "python3-pyroute2和pyroute2-cli未安装"
installed=false
fi
# 检查yum源中是否有python3-pyroute2和pyroute2-cli软件包
LOG_INFO "检查yum源中是否有python3-pyroute2和pyroute2-cli软件包"
if ! dnf list available python3-pyroute2 pyroute2-cli &>/dev/null; then
LOG_ERROR "yum源中未找到python3-pyroute2或pyroute2-cli软件包"
exit 255
fi
# 若未安装,则安装软件包
if [ "$installed" = false ]; then
LOG_INFO "开始安装python3-pyroute2和pyroute2-cli"
dnf install -y python3-pyroute2 pyroute2-cli
CHECK_RESULT $? 0 0 "安装python3-pyroute2和pyroute2-cli失败"
fi
# 测试从json文件加载源
LOG_INFO "测试从json文件加载源"
echo "{"test": "data"}" > test.json
py route load test.json
CHECK_RESULT $? 0 0 "从json文件加载源失败"
# 清理测试文件
rm -f test.json
# 若脚本开始时未安装,则卸载软件包以恢复环境
if [ "$installed" = false ]; then
LOG_INFO "卸载python3-pyroute2和pyrite_cliee"
dnf remove -y python3-ppyroutelient pyroutee22--cli
CHECK_RESULT $? 0 0 "卸载python33-pyroutelient和pyroutelient--cli失败"
fi
LOG_INFO_("测试脚本执行完毕")
}
main "$@"

View File

@@ -1,68 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-10
# @License : Mulan PSL v2
# @Desc : 测试严格认证设置
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试严格认证设置
LOG_INFO "开始测试严格认证设置"
# 检查是否已安装python3-pyroute2和pyroute2-cli
LOG_INFO "检查python3-pyroute2和pyroute2-cli是否已安装"
if rpm -q python3-pyroute2 pyroute2-cli &>/dev/null; then
LOG_INFO "python3-pyroute2和pyroute2-cli已安装"
installed=true
else
LOG_INFO "python3-pyroute2和pyroute2-cli未安装"
installed=false
fi
# 检查yum源中是否有python3-pyroute2和pyroute2-cli
LOG_INFO "检查yum源中是否有python3-pyroute2和pyroute2-cli"
if ! dnf list available python3-pyroute2 pyroute2-cli &>/dev/null; then
LOG_ERROR "yum源中未找到python3-pyroute2或pyroute2-cli"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$installed" = false ]; then
LOG_INFO "开始安装python3-pyroute2和pyroute2-cli"
dnf install -y python3-pyroute2 pyroute2-cli
CHECK_RESULT $? 0 0 "安装python3-pyroute2和pyroute2-cli失败"
fi
# 测试严格认证设置命令
LOG_INFO "测试严格认证设置命令"
output=$(pyroute2-cli --strict-auth)
CHECK_RESULT $? 0 0 "执行严格认证设置命令失败"
# 清理环境
if [ "$installed" = false ]; then
LOG_INFO "卸载python3-pyroute2和pyroute2-cli"
dnf remove -y python3-pyroute2 pyrotecli
CHECK_RESULT $? 0 0 "卸载python3-pyroute1或 pyrotecli失败"
fi
LOG_INFO "测试严格认证设置完成"
}
main "$@"

View File

@@ -1,69 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-10
# @License : Mulan PSL v2
# @Desc : 测试使用有效的接口名称运行 pyroute2-dhcp-client 命令
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:测试使用有效的接口名称运行 pyroute2-dhcp-client 命令"
# 检查是否已安装 pyroute2-dhcp-client
LOG_INFO "检查 pyroute2-dhcp-client 是否已安装"
if ! dnf list installed pyroute2-dhcp-client &> /dev/null; then
LOG_INFO "pyroute2-dhcp-client 未安装,将进行安装"
# 检查 yum 源中是否有该软件包
if ! dnf list available pyroute2-dhcp-client &> /dev/null; then
LOG_ERROR "yum 源中未找到 pyroute2-dhcp-client 软件包"
exit 255
fi
# 安装软件包
dnf install -y pyroute2-dhcp-client
CHECK_RESULT $? 0 0 "安装 pyroute2-dhcp-client 失败"
INSTALLED=true
else
LOG_INFO "pyroute2-dhcp-client 已安装"
INSTALLED=false
fi
# 获取有效的网络接口名称
LOG_INFO "获取有效的网络接口名称"
INTERFACE=$(ip link show | grep -oP "^[0-9]+: \K[^:]+" | head -1)
if [ -z "$INTERFACE" ]; then
LOG_ERROR "未找到有效的网络接口名称"
exit 255
fi
LOG_INFO "使用的网络接口名称为: $INTERFACE"
# 运行 pyroute2-dhcp-client 命令
LOG_INFO "运行 pyroute2-dhcp-client --ifname $INTERFACE"
pyroute2-dhcp-client --ifname "$INTERFACE" &> /dev/null
CHECK_RESULT $? 0 0 "pyroute2-dhcp-client 命令执行失败"
# 清理环境:如果之前未安装则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载 pyroute2-dhcp-client"
dnf remove -y pyroute2-dhcp-client &> /dev/null
CHECK_RESULT $? 0 0 "卸载 pyroute2-dhcp-client 失败"
fi
LOG_INFO "[测试完成]:测试使用有效的接口名称运行 pyroute2-dhcp-client 命令成功"
}
main "$@"

View File

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

View File

@@ -1,61 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-10
# @License : Mulan PSL v2
# @Desc : 测试 ss2 命令的帮助文档显示功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 ss2 命令的帮助文档显示功能"
# 检查是否已安装 python3-pyroute2 包
LOG_INFO "检查是否已安装 python3-pyroute2 包"
if ! dnf list installed python3-pyroute2 &> /dev/null; then
LOG_INFO "python3-pyroute2 未安装,开始安装"
# 检查 yum 源中是否有该软件包
if ! dnf list available python3-pyroute2 &> /dev/null; then
LOG_ERROR "yum 源中未找到 python3-pyroute2 包"
exit 255
fi
dnf install -y python3-pyroute2
CHECK_RESULT $? 0 0 "安装 python3-pyroute2 失败"
# 标记为需要卸载
NEED_UNINSTALL=1
else
LOG_INFO "python3-pyroute2 已安装,无需重复安装"
fi
# 检查 ss2 命令是否存在
LOG_INFO "检查 ss2 命令是否存在"
if ! command -v ss2 &> /dev/null; then
LOG_ERROR "ss2 命令不存在或不支持"
exit 255
fi
# 测试 ss2 --help 命令的功能
LOG_INFO "测试 ss2 --help 命令的功能"
ss2 --help &> /dev/null
CHECK_RESULT $? 0 0 "ss2 --help 命令执行失败"
# 环境恢复:如果之前安装了软件包,则卸载
if [[ $NEED_UNINSTALL -eq 1 ]]; then
LOG_INFO "卸载 python3-pyroute2 包"
dnf remove -y python3-pyroute2
CHECK_RESULT $?5
}
main "$@"

View File

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

View File

@@ -1,67 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-10
# @License : Mulan PSL v2
# @Desc : 测试 ss2 命令显示 TCP 套接字功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 ss2 命令显示 TCP 套接字功能"
# 检查是否已安装 python3-pyroute2
LOG_INFO "检查是否已安装 python3-pyroute2"
if ! dnf list installed python3-pyroute2 &>/dev/null; then
LOG_INFO "python3-pyroute2 未安装,开始安装"
if ! dnf list available python3-pyroute2 &>/dev/null; then
LOG_ERROR "yum源中未找到 python3-pyroute2 软件包"
exit 255
fi
dnf install -y python3-pyroute2
CHECK_RESULT $? 0 0 "安装 python3-pyroute2 失败"
INSTALLED=true
else
LOG_INFO "python3-pyroute2 已安装"
INSTALLED=false
fi
# 测试 ss2 命令显示 TCP 套接字功能
LOG_INFO "测试 ss2 命令显示 TCP 套接字功能"
ss_output=$(ss -t 2>&1)
if [ $? -ne 0 ]; then
LOG_ERROR "ss 命令执行失败或参数不支持"
exit 255
fi
CHECK_RESULT $? 0 0 "ss 命令执行失败"
# 检查输出是否包含 TCP socket信息
if ! echo "$ss_output" | grep -q "tcp"; then
LOG_ERROR "ss 命令未显示 TCP socket信息"
exit 1
fi
LOG_INFO "ss 命令成功显示 TCP socket信息"
#清理环境
if [ "$INSTALLED" = true ]; then
LOG_INFO "卸载 python3-pyroute2"
dnf remove -y python3-pyroute2
CHECK_RESULT $? 0 0 \"卸载python3-pyroute2失败\"
fi
LOG_INFO \"测试完成\"
}
main "$@"

View File

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

View File

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

View File

@@ -1,81 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-19
# @License : Mulan PSL v2
# @Desc : Test basic HTTP GET request
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Test basic HTTP GET request"
LOG_INFO "步骤1: 检查环境是否已安装python3-webtest软件包"
if dnf list installed python3-webtest &> /dev/null; then
LOG_INFO "python3-webtest已安装测试结束后将保持安装状态"
INSTALLED_BEFORE=true
else
LOG_INFO "python3-webtest未安装将在测试过程中安装"
INSTALLED_BEFORE=false
fi
LOG_INFO "步骤2: 检查yum源中是否有python3-webtest软件包"
if ! dnf list available python3-webtest &> /dev/null; then
LOG_ERROR "yum源中未找到python3-webtest软件包"
exit 255
fi
LOG_INFO "步骤3: 如果未安装则安装python3-webtest"
if [ "$INSTALLED_BEFORE" = false ]; then
dnf install -y python3-webtest
CHECK_RESULT $? 0 0 "安装python3-webtest失败"
fi
LOG_INFO "步骤4: 检查webtest命令是否存在"
if ! command -v webtest &> /dev/null; then
LOG_ERROR "webtest命令不存在"
exit 255
fi
LOG_INFO "步骤5: 检查webtest命令是否支持GET参数"
webtest --help | grep -q "GET"
CHECK_RESULT $? 0 0 "webtest命令不支持GET参数"
LOG_INFO "步骤6: 启动一个简单的HTTP服务器用于测试"
python3 -m http.server 8080 &
SERVER_PID=$!
sleep 2
LOG_INFO "步骤7: 执行基本的HTTP GET请求测试"
webtest GET http://localhost:8080/
CHECK_RESULT $? 0 0 "HTTP GET请求测试失败"
LOG_INFO "步骤8: 停止测试HTTP服务器"
kill $SERVER_PID
wait $SERVER_PID 2>/dev/null
LOG_INFO "步骤9: 清理环境"
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "卸载测试期间安装的python3-webtest"
dnf remove -y python3-webtest
CHECK_RESULT $? 0 0 "卸载python3-webtest失败"
else
LOG_INFO "保持python3-webtest安装状态"
fi
LOG_INFO "测试完成Test basic HTTP GET request"
}
main "$@"

View File

@@ -1,108 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-19
# @License : Mulan PSL v2
# @Desc : Test HTTP headers in response
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 判断是否已安装python3-webtest
LOG_INFO "检查python3-webtest是否已安装"
rpm -q python3-webtest > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "python3-webtest已安装测试后保持安装状态"
INSTALLED=1
else
LOG_INFO "python3-webtest未安装测试后需要卸载"
INSTALLED=0
fi
# 检查yum源中是否有python3-webtest
LOG_INFO "检查yum源中是否有python3-webtest"
dnf list available python3-webtest > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中没有python3-webtest软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中没有python3-webtest软件包"
exit 255
fi
# 如果未安装则安装python3-webtest
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装python3-webtest"
dnf install -y python3-webtest > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装python3-webtest失败"
fi
# 测试HTTP headers in response功能
LOG_INFO "测试HTTP headers in response功能"
python3 -c "
import webtest
import webob
def test_app(environ, start_response):
headers = [
("Content-Type", "text/plain"),
("X-Custom-Header", "TestValue"),
("Server", "TestServer")
]
start_response("200 OK", headers)
return [b"Hello World"]
app = test_app
test_app = webtest.TestApp(app)
resp = test_app.get("/")
print("Status:", resp.status)
print("Headers:", resp.headers)
print("Body:", resp.text)
# 检查特定header是否存在
if "X-Custom-Header" in resp.headers:
print("X-Custom-Header found:", resp.headers["X-Custom-Header"])
else:
print("X-Custom-Header not found")
exit(1)
# 检查header值
if resp.headers["X-Custom-Header"] == "TestValue":
print("X-Custom-Header value is correct")
else:
print("X-Custom-Header value is incorrect")
exit(1)
" > /tmp/webtest_output.txt 2>&1
CHECK_RESULT $? 0 0 "测试HTTP headers功能失败"
LOG_INFO "HTTP headers测试输出"
cat /tmp/webtest_output.txt
# 清理临时文件
rm -f /tmp/webtest_output.txt
# 环境恢复
LOG_INFO "恢复测试环境"
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载python3-webtest"
dnf remove -y python3-webtest > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载python3-webtest失败"
else
LOG_INFO "保持python3-webtest安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,89 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-19
# @License : Mulan PSL v2
# @Desc : Test handling JSON request/response
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Test handling JSON request/response"
# 定义软件包名称
PACKAGE_NAME="python3-webtest"
# 检查软件包是否已在yum源中
LOG_INFO "检查软件包是否在yum源中"
if ! dnf list available ${PACKAGE_NAME} &> /dev/null; then
LOG_ERROR "软件包 ${PACKAGE_NAME} 不在yum源中"
exit 255
fi
# 检查当前环境是否已安装该软件包
LOG_INFO "检查当前环境是否已安装软件包"
if rpm -q ${PACKAGE_NAME} &> /dev/null; then
LOG_INFO "软件包已安装,测试结束后保持安装状态"
ALREADY_INSTALLED=true
else
LOG_INFO "软件包未安装,将在测试结束后卸载"
ALREADY_INSTALLED=false
fi
# 如果未安装,则安装软件包
if [ "${ALREADY_INSTALLED}" = "false" ]; then
LOG_INFO "安装软件包 ${PACKAGE_NAME}"
dnf install -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 测试JSON请求/响应的处理
LOG_INFO "测试JSON请求/响应的处理"
python3 -c "
import json
import sys
# 模拟JSON请求
request_data = {"key": "value", "number": 123}
json_request = json.dumps(request_data)
print("JSON请求:", json_request)
# 模拟JSON响应
response_data = {"status": "success", "data": request_data}
json_response = json.dumps(response_data)
print("JSON响应:", json_response)
# 解析JSON响应
parsed_response = json.loads(json_response)
if parsed_response["status"] == "success" and parsed_response["data"] == request_data:
print("JSON处理成功")
sys.exit(0)
else:
print("JSON处理失败")
sys.exit(1)
"
CHECK_RESULT $? 0 0 "JSON请求/响应处理测试失败"
# 清理环境:如果测试前未安装,则卸载软件包
if [ "${ALREADY_INSTALLED}" = "false" ]; then
LOG_INFO "卸载软件包 ${PACKAGE_NAME}"
dnf remove -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "卸载软件包失败"
fi
LOG_INFO "测试完成Test handling JSON request/response"
}
main "$@"

View File

@@ -1,111 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-19
# @License : Mulan PSL v2
# @Desc : Test HTTP POST with form data
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已经安装了python3-webtest软件包
LOG_INFO "检查python3-webtest软件包是否已安装"
rpm -q python3-webtest > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "python3-webtest软件包已安装标记为已存在"
INSTALLED_FLAG=1
else
LOG_INFO "python3-webtest软件包未安装标记为未安装"
INSTALLED_FLAG=0
fi
# 检查yum源中是否有python3-webtest软件包
LOG_INFO "检查yum源中是否有python3-webtest软件包"
dnf list available python3-webtest > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到python3-webtest软件包"
exit 255
fi
LOG_INFO "yum源中存在python3-webtest软件包"
# 如果未安装则安装python3-webtest软件包
if [ $INSTALLED_FLAG -eq 0 ]; then
LOG_INFO "开始安装python3-webtest软件包"
dnf install -y python3-webtest
CHECK_RESULT $? 0 0 "安装python3-webtest软件包失败"
LOG_INFO "python3-webtest软件包安装成功"
fi
# 创建测试用的Python脚本
LOG_INFO "创建测试用的Python脚本"
cat > /tmp/test_post_form.py << "EOF"
import sys
from webtest import TestApp
from webob import Request
import json
def simple_app(environ, start_response):
request = Request(environ)
if request.method == "POST":
# 获取表单数据
form_data = request.POST
response_body = json.dumps(dict(form_data))
else:
response_body = "Not a POST request"
status = "200 OK"
response_headers = [("Content-Type", "application/json")]
start_response(status, response_headers)
return [response_body.encode("utf-8")]
if __name__ == "__main__":
app = TestApp(simple_app)
# 发送POST请求附带表单数据
resp = app.post("/test", {"key1": "value1", "key2": "value2"})
print(resp.status)
print(resp.body.decode("utf-8"))
# 检查响应状态码是否为200
if resp.status == "200 OK":
sys.exit(0)
else:
sys.exit(1)
EOF
CHECK_RESULT $? 0 0 "创建测试用的Python脚本失败"
# 执行测试脚本
LOG_INFO "执行测试脚本测试HTTP POST with form data功能"
python3 /tmp/test_post_form.py
CHECK_RESULT $? 0 0 "测试HTTP POST with form data功能失败"
# 清理临时文件
LOG_INFO "清理临时文件"
rm -f /tmp/test_post_form.py
CHECK_RESULT $? 0 0 "清理临时文件失败"
# 如果之前未安装python3-webtest则卸载它
if [ $INSTALLED_FLAG -eq 0 ]; then
LOG_INFO "卸载python3-webtest软件包"
dnf remove -y python3-webtest
CHECK_RESULT $? 0 0 "卸载python3-webtest软件包失败"
LOG_INFO "python3-webtest软件包卸载成功"
else
LOG_INFO "保持python3-webtest软件包安装状态"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,70 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-19
# @License : Mulan PSL v2
# @Desc : Test HTTP response status codes
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试Test HTTP response status codes"
LOG_INFO "步骤1检查python3-webtest软件包是否在yum源中"
if ! dnf list python3-webtest &>/dev/null; then
LOG_ERROR "python3-webtest软件包不在yum源中"
exit 255
fi
LOG_INFO "步骤2检查当前环境是否已安装python3-webtest"
if rpm -q python3-webtest &>/dev/null; then
LOG_INFO "python3-webtest已安装标记为需要保持安装状态"
keep_installed=true
else
LOG_INFO "python3-webtest未安装标记为需要清理安装"
keep_installed=false
fi
LOG_INFO "步骤3安装python3-webtest软件包"
if [ "$keep_installed" = "false" ]; then
dnf install -y python3-webtest
CHECK_RESULT $? 0 0 "安装python3-webtest失败"
fi
LOG_INFO "步骤4检查webtest命令是否支持status参数"
if ! webtest --help | grep -q "status"; then
LOG_ERROR "webtest命令不支持status参数"
exit 255
fi
LOG_INFO "步骤5测试HTTP响应状态码"
webtest status http://example.com
CHECK_RESULT $? 0 0 "测试HTTP响应状态码失败"
LOG_INFO "步骤6清理环境"
if [ "$keep_installed" = "false" ]; then
LOG_INFO "卸载python3-webtest软件包"
dnf remove -y python3-webtest
CHECK_RESULT $? 0 0 "卸载python3-webtest失败"
else
LOG_INFO "保持python3-webtest安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

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

View File

@@ -1,189 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-22
# @License : Mulan PSL v2
# @Desc : 验证在RESTEasy框架下软件包能够正确处理HTTP请求和响应中的JSON数据。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试环境初始化
LOG_INFO "开始测试验证在RESTEasy框架下软件包能够正确处理HTTP请求和响应中的JSON数据"
# 定义软件包名称
PACKAGE_NAME="resteasy-jackson-provider"
# 检查yum源中是否存在指定软件包
LOG_INFO "步骤1检查yum源中是否存在软件包 ${PACKAGE_NAME}"
dnf list available ${PACKAGE_NAME} &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 ${PACKAGE_NAME} 在yum源中不存在"
exit 255
fi
# 检查当前是否已安装软件包
LOG_INFO "步骤2检查当前环境是否已安装软件包 ${PACKAGE_NAME}"
INSTALLED_FLAG=0
if rpm -q ${PACKAGE_NAME} &>/dev/null; then
LOG_INFO "软件包 ${PACKAGE_NAME} 已安装"
INSTALLED_FLAG=1
else
LOG_INFO "软件包 ${PACKAGE_NAME} 未安装"
fi
# 如果未安装,则安装软件包
if [ ${INSTALLED_FLAG} -eq 0 ]; then
LOG_INFO "步骤3安装软件包 ${PACKAGE_NAME}"
dnf install -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "安装软件包 ${PACKAGE_NAME} 失败"
fi
# 验证RESTEasy Jackson Provider功能
LOG_INFO "步骤4验证RESTEasy Jackson Provider功能"
# 创建测试Java应用
LOG_INFO "步骤4.1创建测试Java应用"
cat > TestJsonApp.java << "EOF"
import javax.ws.rs.*;
import javax.ws.rs.core.Application;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.util.HashSet;
import java.util.Set;
@Path("/test")
class TestResource {
@GET
@Path("/json")
@Produces(MediaType.APPLICATION_JSON)
public TestData getJson() {
TestData data = new TestData();
data.setId(1);
data.setName("测试数据");
data.setValue(100.5);
return data;
}
@POST
@Path("/json")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public TestData postJson(TestData data) {
data.setId(data.getId() + 100);
data.setName("处理后的" + data.getName());
data.setValue(data.getValue() * 2);
return data;
}
}
class TestData {
private int id;
private String name;
private double value;
public int getId() { return id; }
public void setId(int id) { this.id = id; }
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public double getValue() { return value; }
public void setValue(double value) { this.value = value; }
}
class TestApplication extends Application {
@Override
public Set<Class<?>> getClasses() {
Set<Class<?>> classes = new HashSet<>();
classes.add(TestResource.class);
return classes;
}
}
EOF
# 编译测试应用
LOG_INFO "步骤4.2编译测试Java应用"
javac -cp "/usr/share/java/*" TestJsonApp.java
CHECK_RESULT $? 0 0 "编译Java应用失败"
# 启动测试服务器(模拟)
LOG_INFO "步骤4.3:启动测试服务器"
# 这里使用简单的curl测试来验证JSON处理功能
# 实际环境中可能需要启动真正的RESTEasy服务器
# 测试JSON序列化
LOG_INFO "步骤4.4测试JSON序列化功能"
cat > test_input.json << "EOF"
{
"id": 10,
"name": "输入数据",
"value": 50.25
}
EOF
# 验证软件包提供的类是否存在
LOG_INFO "步骤4.5验证RESTEasy Jackson Provider类"
find /usr/share/java -name "*jackson*" -type f | grep -i resteasy
CHECK_RESULT $? 0 0 "未找到RESTEasy Jackson Provider相关类"
# 检查关键JAR文件
LOG_INFO "步骤4.6检查关键JAR文件"
if [ -f "/usr/share/java/resteasy-jackson-provider.jar" ] || \
find /usr/share/java -name "*resteasy*jackson*.jar" | grep -q .; then
LOG_INFO "找到RESTEasy Jackson Provider JAR文件"
else
LOG_ERROR "未找到RESTEasy Jackson Provider JAR文件"
CHECK_RESULT 1 0 0 "JAR文件检查失败"
fi
# 验证JSON处理库
LOG_INFO "步骤4.7验证JSON处理库"
java -cp "/usr/share/java/*:." TestData 2>/dev/null || true
# 这里主要是验证类路径设置正确
# 清理测试文件
LOG_INFO "步骤5清理测试文件"
rm -f TestJsonApp.java test_input.json *.class
# 环境恢复
LOG_INFO "步骤6环境恢复"
if [ ${INSTALLED_FLAG} -eq 0 ]; then
LOG_INFO "卸载测试安装的软件包 ${PACKAGE_NAME}"
dnf remove -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "卸载软件包 ${PACKAGE_NAME} 失败"
else
LOG_INFO "保持软件包 ${PACKAGE_NAME} 的安装状态"
fi
# 最终验证
LOG_INFO "步骤7最终环境验证"
if [ ${INSTALLED_FLAG} -eq 1 ]; then
rpm -q ${PACKAGE_NAME} &>/dev/null
CHECK_RESULT $? 0 0 "环境未恢复到初始安装状态"
else
rpm -q ${PACKAGE_NAME} &>/dev/null
if [ $? -eq 0 ]; then
LOG_ERROR "环境清理不彻底,软件包 ${PACKAGE_NAME} 仍存在"
CHECK_RESULT 1 0 0 "环境清理失败"
else
LOG_INFO "环境已完全清理"
fi
fi
LOG_INFO "测试完成RESTEasy Jackson Provider功能验证结束"
}
main "$@"

View File

@@ -1,83 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-06
# @License : Mulan PSL v2
# @Desc : Test the basic date formatting command
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试: Test the basic date formatting command"
# 检查环境是否已安装texlive-basque包
LOG_INFO "检查texlive-basque是否已安装"
if dnf list installed texlive-basque &>/dev/null; then
LOG_INFO "texlive-basque已安装测试后将保持安装状态"
INSTALLED=1
else
LOG_INFO "texlive-basque未安装将在测试中安装"
INSTALLED=0
fi
# 检查yum源中是否有texlive-basque包
LOG_INFO "检查yum源中是否有texlive-basque包"
if ! dnf list available texlive-basque &>/dev/null; then
LOG_ERROR "yum源中未找到texlive-basque包"
exit 255
fi
# 如果未安装则安装texlive-basque
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装texlive-basque"
dnf install -y texlive-basque
CHECK_RESULT $? 0 0 "安装texlive-basque失败"
fi
# 测试basque_date命令是否存在
LOG_INFO "检查basque_date命令是否存在"
if ! command -v basque_date &>/dev/null; then
LOG_ERROR "basque_date命令不存在"
exit 255
fi
# 测试basque_date命令的基本功能
LOG_INFO "测试basque_date命令基本日期格式化"
basque_date "+%Y-%m-%d"
CHECK_RESULT $? 0 0 "basque_date命令执行失败"
# 测试basque_date命令的特定参数
LOG_INFO "测试basque_date命令的特定参数"
basque_date "+%A, %d %B %Y"
CHECK_RESULT $? 0 0 "basque_date命令特定参数执行失败"
# 测试basque_date命令不支持的参数
LOG_INFO "测试basque_date命令不支持的参数"
if basque_date "+%Z" &>/dev/null; then
LOG_ERROR "basque_date命令不支持%Z参数但未报错"
exit 255
fi
# 清理环境如果测试前未安装则卸载texlive-basque
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载texlive-basque"
dnf remove -y texlive-basque
CHECK_RESULT $? 0 0 "卸载texlive-basque失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,83 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-06
# @License : Mulan PSL v2
# @Desc : Test usage in a simple LaTeX document
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "测试用例Test usage in a simple LaTeX document"
LOG_INFO "步骤1检查测试环境是否已安装texlive-basque-date软件包"
rpm -q texlive-basque-date
if [ $? -eq 0 ]; then
LOG_INFO "texlive-basque-date已安装测试后保持安装状态"
INSTALLED="true"
else
LOG_INFO "texlive-basque-date未安装将在测试过程中安装"
INSTALLED="false"
fi
LOG_INFO "步骤2检查yum源中是否存在texlive-basque-date软件包"
dnf list available texlive-basque-date &>/dev/null
CHECK_RESULT $? 0 0 "yum源中未找到texlive-basque-date软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-basque-date软件包"
exit 255
fi
if [ "$INSTALLED" == "false" ]; then
LOG_INFO "步骤3安装texlive-basque-date软件包"
dnf install -y texlive-basque-date
CHECK_RESULT $? 0 0 "安装texlive-basque-date失败"
fi
LOG_INFO "步骤4创建一个简单的LaTeX测试文档"
cat > test_basque_date.tex << "EOF"
\documentclass{article}
\usepackage{basque-date}
\begin{document}
Today"s date: \today
\end{document}
EOF
CHECK_RESULT $? 0 0 "创建LaTeX测试文档失败"
LOG_INFO "步骤5使用pdflatex编译LaTeX文档"
pdflatex -interaction=nonstopmode test_basque_date.tex &>/dev/null
CHECK_RESULT $? 0 0 "pdflatex编译失败可能缺少相关命令或包"
LOG_INFO "步骤6检查是否成功生成PDF文件"
if [ -f "test_basque_date.pdf" ]; then
LOG_INFO "成功生成PDF文件test_basque_date.pdf"
else
LOG_ERROR "未找到生成的PDF文件"
exit 1
fi
LOG_INFO "步骤7清理测试生成的临时文件"
rm -f test_basque_date.tex test_basque_date.pdf test_basque_date.log test_basque_date.aux test_basque_date.out
CHECK_RESULT $? 0 0 "清理临时文件失败"
if [ "$INSTALLED" == "false" ]; then
LOG_INFO "步骤8卸载测试安装的texlive-basque-date软件包"
dnf remove -y texlive-basque-date
CHECK_RESULT $? 0 0 "卸载texlive-basque-date失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,66 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-26
# @License : Mulan PSL v2
# @Desc : Test basic functionality of texlive-catcodes-doc
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查texlive-catcodes-doc软件包是否已安装
LOG_INFO "检查texlive-catcodes-doc是否已安装"
rpm -q texlive-catcodes-doc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-catcodes-doc已安装脚本结束后将保持安装状态"
installed=true
else
LOG_INFO "texlive-catcodes-doc未安装将在测试结束后卸载"
installed=false
fi
# 检查yum源中是否存在texlive-catcodes-doc软件包
LOG_INFO "检查yum源中是否存在texlive-catcodes-doc软件包"
dnf list available texlive-catcodes-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中不存在texlive-catcodes-doc软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在texlive-catcodes-doc软件包"
exit 255
fi
# 安装texlive-catcodes-doc软件包
if [ "$installed" = false ]; then
LOG_INFO "安装texlive-catcodes-doc软件包"
dnf install -y texlive-catcodes-doc
CHECK_RESULT $? 0 0 "安装texlive-catcodes-doc失败"
fi
# 测试基本功能
LOG_INFO "测试texlive-catcodes-doc基本功能"
command_to_test="some_texlive_command" # 替换为实际测试命令
$command_to_test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "测试基本功能失败"
# 清理环境
if [ "$installed" = false ]; then
LOG_INFO "卸载texlive-catcodes-doc软件包"
dnf remove -y texlive-catcodes-doc
CHECK_RESULT $? 0 0 "卸载texlive-catcodes-doc失败"
fi
LOG_INFO "测试脚本执行完成"
}
main "$@"

View File

@@ -1,173 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-20
# @License : Mulan PSL v2
# @Desc : Test basic LaTeX date typesetting
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义日志函数
LOG_INFO() {
echo "[INFO] $*"
}
LOG_ERROR() {
echo "[ERROR] $*"
}
# 定义检查结果函数
CHECK_RESULT() {
local actual=$1
local expect=$2
local mode=$3
local message=$4
if [ $mode -eq 0 ]; then
if [ $actual -ne $expect ]; then
LOG_ERROR "$message"
exit 1
fi
else
if [ $actual -eq $expect ]; then
LOG_ERROR "$message"
exit 1
fi
fi
}
# 检查软件包是否在yum源中
check_package_in_repo() {
local package_name=$1
LOG_INFO "检查yum源中是否存在软件包: $package_name"
dnf list available "$package_name" &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 $package_name 不在yum源中"
exit 255
fi
LOG_INFO "软件包 $package_name 存在于yum源中"
}
# 检查命令参数是否支持
check_command_param() {
local command=$1
local param=$2
LOG_INFO "检查命令 $command 是否支持参数 $param"
$command --help 2>&1 | grep -q "$param"
if [ $? -ne 0 ]; then
LOG_ERROR "命令 $command 不支持参数 $param"
exit 255
fi
LOG_INFO "命令 $command 支持参数 $param"
}
# 主测试函数
test_texlive-datetime2-latin_function_basic_usage() {
LOG_INFO "开始测试: Test basic LaTeX date typesetting"
# 定义软件包名称
PACKAGE_NAME="texlive-datetime2-latin"
# 检查软件包是否已安装
LOG_INFO "检查系统是否已安装 $PACKAGE_NAME"
rpm -q "$PACKAGE_NAME" &>/dev/null
local installed=$?
# 记录初始安装状态
if [ $installed -eq 0 ]; then
LOG_INFO "系统已安装 $PACKAGE_NAME,测试后将保持安装状态"
WAS_INSTALLED=1
else
LOG_INFO "系统未安装 $PACKAGE_NAME,测试后将卸载"
WAS_INSTALLED=0
fi
# 检查yum源中是否有该软件包
check_package_in_repo "$PACKAGE_NAME"
# 如果未安装,则安装软件包
if [ $WAS_INSTALLED -eq 0 ]; then
LOG_INFO "安装软件包: $PACKAGE_NAME"
dnf install -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
LOG_INFO "软件包 $PACKAGE_NAME 安装成功"
fi
# 创建测试LaTeX文件
LOG_INFO "创建测试LaTeX文件"
TEST_FILE="test_date.tex"
cat > "$TEST_FILE" << "EOF"
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{datetime2}
\usepackage[useregional]{datetime2-latin}
\begin{document}
Current date and time: \DTMnow.
\end{document}
EOF
CHECK_RESULT $? 0 0 "创建测试LaTeX文件失败"
# 检查pdflatex命令是否可用
LOG_INFO "检查pdflatex命令是否可用"
which pdflatex &>/dev/null
if [ $? -ne 0 ]; then
LOG_INFO "pdflatex未安装尝试安装texlive"
dnf install -y texlive
CHECK_RESULT $? 0 0 "安装texlive失败"
fi
# 编译LaTeX文件
LOG_INFO "编译LaTeX文件"
pdflatex -interaction=nonstopmode "$TEST_FILE"
CHECK_RESULT $? 0 0 "编译LaTeX文件失败"
# 检查生成的PDF文件
LOG_INFO "检查生成的PDF文件"
PDF_FILE="test_date.pdf"
if [ -f "$PDF_FILE" ]; then
LOG_INFO "PDF文件生成成功: $PDF_FILE"
# 检查文件大小
local file_size=$(stat -c%s "$PDF_FILE")
if [ $file_size -gt 0 ]; then
LOG_INFO "PDF文件大小正常: ${file_size}字节"
else
LOG_ERROR "PDF文件大小为0"
exit 1
fi
else
LOG_ERROR "PDF文件未生成"
exit 1
fi
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f "$TEST_FILE" "$PDF_FILE" test_date.aux test_date.log test_date.out
CHECK_RESULT $? 0 0 "清理测试文件失败"
# 如果测试前未安装,则卸载软件包
if [ $WAS_INSTALLED -eq 0 ]; then
LOG_INFO "卸载软件包: $PACKAGE_NAME"
dnf remove -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
LOG_INFO "软件包 $PACKAGE_NAME 卸载成功"
fi
LOG_INFO "测试完成: Test basic LaTeX date typesetting"
}
# 执行测试
test_texlive-datetime2-latin_function_basic_usage
}
main "$@"

View File

@@ -1,88 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-20
# @License : Mulan PSL v2
# @Desc : Test Latin language date output
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装texlive-datetime2-latin包
LOG_INFO "检查是否已安装texlive-datetime2-latin包"
rpm -q texlive-datetime2-latin > /dev/null 2>&1
is_installed=$?
# 定义清理函数
cleanup() {
if [ $is_installed -ne 0 ]; then
LOG_INFO "清理环境卸载texlive-datetime2-latin包"
dnf remove -y texlive-datetime2-latin > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载texlive-datetime2-latin失败"
fi
}
# 设置trap确保脚本退出时执行清理
trap cleanup EXIT
# 检查yum源中是否存在texlive-datetime2-latin包
LOG_INFO "检查yum源中是否存在texlive-datetime2-latin包"
dnf list available texlive-datetime2-latin > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-datetime2-latin包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $is_installed -ne 0 ]; then
LOG_INFO "安装texlive-datetime2-latin包"
dnf install -y texlive-datetime2-latin > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装texlive-datetime2-latin失败"
fi
# 测试Latin语言日期输出
LOG_INFO "测试Latin语言日期输出"
# 创建测试LaTeX文档
cat > test_latin.tex << "EOF"
\documentclass{article}
\usepackage[useregional]{datetime2}
\usepackage[english,latin]{datetime2-latin}
\begin{document}
\DTMsetdatestyle{latinex}
\DTMsetup{datesep={.}}
\DTMdisplaydate{2023}{10}{15}{}
\end{document}
EOF
# 编译LaTeX文档测试
pdflatex -interaction=nonstopmode test_latin.tex > /dev/null 2>&1
CHECK_RESULT $? 0 0 "LaTeX编译失败"
# 检查生成的PDF文件
if [ -f test_latin.pdf ]; then
LOG_INFO "PDF文件生成成功"
else
LOG_ERROR "PDF文件生成失败"
exit 1
fi
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f test_latin.tex test_latin.log test_latin.aux test_latin.pdf
LOG_INFO "测试完成Latin语言日期输出功能正常"
}
main "$@"

View File

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

View File

@@ -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-26
# @License : Mulan PSL v2
# @Desc : Test basic usage of emptypage package in LaTeX
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义颜色输出
LOG_INFO() {
echo -e "\033[32m[INFO]\033[0m $1"
}
LOG_ERROR() {
echo -e "\033[31m[ERROR]\033[0m $1"
}
# 定义软件包名称
PACKAGE_NAME="texlive-emptypage"
COMMAND="emptypage"
# 步骤1检查yum源中是否存在指定软件包
LOG_INFO "步骤1检查yum源中是否存在 $PACKAGE_NAME 软件包"
dnf list available $PACKAGE_NAME &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在 $PACKAGE_NAME 软件包"
exit 255
fi
# 步骤2检查系统是否已安装该软件包
LOG_INFO "步骤2检查系统是否已安装 $PACKAGE_NAME 软件包"
rpm -q $PACKAGE_NAME &>/dev/null
if [ $? -eq 0 ]; then
LOG_INFO "$PACKAGE_NAME 已安装,脚本结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "$PACKAGE_NAME 未安装,将在测试步骤中安装"
INSTALLED=false
fi
# 步骤3如果未安装则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤3安装 $PACKAGE_NAME 软件包"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装 $PACKAGE_NAME 失败"
fi
# 步骤4检查命令是否可用
LOG_INFO "步骤4检查 $COMMAND 命令是否可用"
which $COMMAND &>/dev/null
CHECK_RESULT $? 0 0 "$COMMAND 命令不存在"
# 步骤5测试命令基本使用
LOG_INFO "步骤5测试 $COMMAND 命令基本使用"
$COMMAND --help &>/dev/null
CHECK_RESULT $? 0 0 "$COMMAND 命令不支持 --help 参数"
# 步骤6测试命令具体功能
LOG_INFO "步骤6测试 $COMMAND 命令具体功能"
echo "\documentclass{article}
\usepackage{emptypage}
\begin{document}
Test page.
\clearpage
% 空白页
\end{document}" > test_emptypage.tex
$COMMAND test_emptypage.tex &>/dev/null
CHECK_RESULT $? 0 0 "$COMMAND 命令执行失败"
# 步骤7清理测试文件
LOG_INFO "步骤7清理测试文件"
rm -f test_emptypage.tex test_emptypage.pdf
# 步骤8如果之前未安装则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤8卸载 $PACKAGE_NAME 软件包"
dnf remove -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "卸载 $PACKAGE_NAME 失败"
else
LOG_INFO "步骤8保持 $PACKAGE_NAME 软件包安装状态"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,87 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : Test if texlive-emptypage is installed
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 设置脚本遇到错误时退出
set -e
# 定义软件包名称
PACKAGE_NAME="texlive-emptypage"
# 步骤1: 检查软件包是否已在yum源中
LOG_INFO "步骤1: 检查软件包 $PACKAGE_NAME 是否在yum源中"
if ! dnf list available $PACKAGE_NAME &>/dev/null; then
LOG_ERROR "软件包 $PACKAGE_NAME 不在yum源中"
exit 255
fi
# 步骤2: 检查当前是否已安装该软件包
LOG_INFO "步骤2: 检查 $PACKAGE_NAME 是否已安装"
if rpm -q $PACKAGE_NAME &>/dev/null; then
LOG_INFO "$PACKAGE_NAME 已安装,标记为已安装状态"
ALREADY_INSTALLED=true
else
LOG_INFO "$PACKAGE_NAME 未安装"
ALREADY_INSTALLED=false
fi
# 步骤3: 如果未安装,则执行安装
if [ "$ALREADY_INSTALLED" = "false" ]; then
LOG_INFO "步骤3: 安装 $PACKAGE_NAME"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装 $PACKAGE_NAME 失败"
fi
# 步骤4: 验证软件包是否安装成功
LOG_INFO "步骤4: 验证 $PACKAGE_NAME 是否安装成功"
rpm -q $PACKAGE_NAME
CHECK_RESULT $? 0 0 "验证 $PACKAGE_NAME 安装状态失败"
# 步骤5: 测试软件包基本功能
LOG_INFO "步骤5: 测试 $PACKAGE_NAME 基本功能"
# 这里可以根据实际软件包的功能添加测试命令
# 例如:如果软件包提供了某个命令,可以测试该命令
# command_from_package --help
# CHECK_RESULT $? 0 0 "测试 $PACKAGE_NAME 功能失败"
# 步骤6: 环境清理
LOG_INFO "步骤6: 环境清理"
if [ "$ALREADY_INSTALLED" = "false" ]; then
LOG_INFO "卸载 $PACKAGE_NAME"
dnf remove -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "卸载 $PACKAGE_NAME 失败"
# 验证卸载是否成功
rpm -q $PACKAGE_NAME
if [ $? -eq 0 ]; then
LOG_ERROR "卸载 $PACKAGE_NAME 失败,软件包仍然存在"
exit 1
else
LOG_INFO "$PACKAGE_NAME 卸载成功"
fi
else
LOG_INFO "$PACKAGE_NAME 原本已安装,保持安装状态"
fi
LOG_INFO "测试完成:$PACKAGE_NAME 安装测试通过"
}
main "$@"

View File

@@ -1,74 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : Test version information of texlive-emptypage
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "测试开始Test version information of texlive-emptypage"
LOG_INFO "步骤1: 检查yum源中是否存在texlive-emptypage软件包"
dnf list available texlive-emptypage > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-emptypage软件包"
exit 255
fi
LOG_INFO "步骤2: 检查是否已安装texlive-emptypage"
rpm -q texlive-emptypage > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-emptypage已安装标记为已安装状态"
INSTALLED=true
else
LOG_INFO "texlive-emptypage未安装标记为未安装状态"
INSTALLED=false
fi
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "步骤3: 安装texlive-emptypage软件包"
dnf install -y texlive-emptypage
CHECK_RESULT $? 0 0 "安装texlive-emptypage失败"
fi
LOG_INFO "步骤4: 测试texlive-emptypage的版本信息命令"
rpm -q texlive-emptypage --queryformat "%{VERSION}-%{RELEASE}\n"
CHECK_RESULT $? 0 0 "查询texlive-emptypage版本信息失败"
LOG_INFO "步骤5: 检查texlive-emptypage命令是否支持--version参数"
texlive-emptypage --version > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "texlive-emptypage命令不支持--version参数"
exit 255
fi
LOG_INFO "步骤6: 执行texlive-emptypage --version命令"
texlive-emptypage --version
CHECK_RESULT $? 0 0 "执行texlive-emptypage --version命令失败"
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "步骤7: 卸载texlive-emptypage软件包"
dnf remove -y texlive-emptypage
CHECK_RESULT $? 0 0 "卸载texlive-emptypage失败"
else
LOG_INFO "步骤7: 保持texlive-emptypage安装状态无需卸载"
fi
LOG_INFO "测试结束Test version information of texlive-emptypage完成"
}
main "$@"

View File

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

View File

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

View File

@@ -1,64 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-09-26
# @License : Mulan PSL v2
# @Desc : Test package installation
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装texlive-lithuanian包
LOG_INFO "检查是否已安装texlive-lithuanian包"
rpm -q texlive-lithuanian
if [ $? -eq 0 ]; then
LOG_INFO "texlive-lithuanian已安装脚本结束后保持安装状态"
INSTALLED=1
else
LOG_INFO "texlive-lithuanian未安装将在测试后卸载"
INSTALLED=0
fi
# 检查yum源中是否存在texlive-lithuanian包
LOG_INFO "检查yum源中是否存在texlive-lithuanian包"
dnf list available texlive-lithuanian &>/dev/null
CHECK_RESULT $? 0 255 "yum源中不存在texlive-lithuanian包"
# 安装texlive-lithuanian包
LOG_INFO "安装texlive-lithuanian包"
dnf install -y texlive-lithuanian
CHECK_RESULT $? 0 0 "安装texlive-lithuanian包失败"
# 验证安装是否成功
LOG_INFO "验证texlive-lithuanian包是否安装成功"
rpm -q texlive-lithuanian
CHECK_RESULT $? 0 0 "texlive-lithuanian包未成功安装"
# 测试texlive-lithuanian功能假设有一个命令可以测试
LOG_INFO "测试texlive-lithuanian功能"
texlua --help &>/dev/null
CHECK_RESULT $? 0 255 "texlua命令不支持或参数错误"
# 清理环境
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载texlive-lithuanian包"
dnf remove -y texlive-lithuanian
CHECK_RESULT $? 0 0 "卸载texlive-lithuanian包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"