This commit is contained in:
2026-04-16 12:44:20 +08:00
122 changed files with 0 additions and 10865 deletions

View File

@@ -38,10 +38,6 @@
{ {
"name": "test_dpdk_dpdk-devbind__status_dev_crypto", "name": "test_dpdk_dpdk-devbind__status_dev_crypto",
"desc": "打印加密设备的当前状态" "desc": "打印加密设备的当前状态"
},
{
"name": "test_dpdk_function_devbind_status",
"desc": "测试dpdk-devbind命令查看所有网络设备状态的功能。"
} }
] ]
} }

View File

@@ -1,26 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/hadoop/libhdfs",
"machine num": 1,
"cases": [
{
"name": "test_libhdfs_function_open",
"desc": "Test opening a file in HDFS"
},
{
"name": "test_libhdfs_function_read",
"desc": "Test reading a file in HDFS"
},
{
"name": "test_libhdfs_function_write",
"desc": "Test writing to a file in HDFS"
},
{
"name": "test_libhdfs_function_close",
"desc": "Test closing a file in HDFS"
},
{
"name": "test_libhdfs_function_stat",
"desc": "Test getting file status in HDFS"
}
]
}

View File

@@ -1,46 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/openwebbeans/openwebbeans-test",
"machine num": 1,
"cases": [
{
"name": "test_openwebbeans-test_function_di",
"desc": "Test dependency injection functionality"
},
{
"name": "test_openwebbeans-test_function_event",
"desc": "Test event handling functionality"
},
{
"name": "test_openwebbeans-test_function_install",
"desc": "Test installation of the openwebbeans-test package"
},
{
"name": "test_openwebbeans-test_function_uninstall",
"desc": "Test uninstallation of the openwebbeans-test package"
},
{
"name": "test_openwebbeans-test_function_version",
"desc": "Test checking the installed package version"
},
{
"name": "test_openwebbeans-test_function_help",
"desc": "Test accessing the package help or usage information"
},
{
"name": "test_openwebbeans-test_function_basic_bean",
"desc": "Test basic bean creation and injection"
},
{
"name": "test_openwebbeans-test_function_scope",
"desc": "Test bean scope functionality (e.g., @ApplicationScoped, @RequestScoped)"
},
{
"name": "test_openwebbeans-test_function_interceptor",
"desc": "Test interceptor binding and execution"
},
{
"name": "test_openwebbeans-test_function_alternatives",
"desc": "Test the use of @Alternative and selection"
}
]
}

View File

@@ -1,26 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-e/texlive-collection-music",
"machine num": 1,
"cases": [
{
"name": "test_texlive-collection-music_function_package_install",
"desc": "测试 texlive-collection-music 软件包能否成功安装"
},
{
"name": "test_texlive-collection-music_function_package_remove",
"desc": "测试 texlive-collection-music 软件包能否被完整卸载"
},
{
"name": "test_texlive-collection-music_function_contains_musictex",
"desc": "测试软件包是否包含核心音乐排版包 musictex 及其相关文件"
},
{
"name": "test_texlive-collection-music_function_contains_packages",
"desc": "测试软件包是否包含其他常用音乐排版组件(如 musixtex, pmx, lilypond"
},
{
"name": "test_texlive-collection-music_function_basic_compile",
"desc": "测试使用软件包中的工具(如 musictex 或 musixtex能否编译一个简单的乐谱示例文件"
}
]
}

View File

@@ -9,14 +9,6 @@
{ {
"name": "test_texlive-mathpunctspace_function_remove", "name": "test_texlive-mathpunctspace_function_remove",
"desc": "Test package removal" "desc": "Test package removal"
},
{
"name": "test_texlive-mathpunctspace_function_check",
"desc": "Check package availability"
},
{
"name": "test_texlive-mathpunctspace_function_usage",
"desc": "Test basic package usage"
} }
] ]
} }

View File

@@ -1,34 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-y/texlive-hitszbeamer",
"machine num": 1,
"cases": [
{
"name": "test_texlive-hitszbeamer_function_basic",
"desc": "Test basic functionality of texlive-hitszbeamer"
},
{
"name": "test_texlive-hitszbeamer_function_install",
"desc": "Test installation of texlive-hitszbeamer package"
},
{
"name": "test_texlive-hitszbeamer_function_uninstall",
"desc": "Test uninstallation of texlive-hitszbeamer package"
},
{
"name": "test_texlive-hitszbeamer_function_check_installed",
"desc": "Check if texlive-hitszbeamer is installed"
},
{
"name": "test_texlive-hitszbeamer_function_basic_compile",
"desc": "Test basic compilation with hitszbeamer document class"
},
{
"name": "test_texlive-hitszbeamer_function_theme_options",
"desc": "Test applying different theme options in hitszbeamer"
},
{
"name": "test_texlive-hitszbeamer_function_logo_usage",
"desc": "Test logo inclusion functionality in hitszbeamer"
}
]
}

View File

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

View File

@@ -1,14 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/xstream/xstream-javadoc",
"machine num": 1,
"cases": [
{
"name": "test_xstream-javadoc_function_parse",
"desc": "Test parsing functionality"
},
{
"name": "test_xstream-javadoc_function_serialize",
"desc": "Test serialization functionality"
}
]
}

View File

@@ -1,62 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-24
# @License : Mulan PSL v2
# @Desc : 测试dpdk-devbind命令查看所有网络设备状态的功能。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试dpdk-devbind命令查看所有网络设备状态的功能"
LOG_INFO "步骤1检查dpdk软件包是否已在yum源中"
if ! dnf list available dpdk 2>/dev/null | grep -q dpdk; then
LOG_ERROR "yum源中未找到dpdk软件包"
exit 255
fi
LOG_INFO "步骤2检查dpdk-devbind命令参数是否支持"
if ! dpdk-devbind --help 2>/dev/null | grep -q "\-\-status"; then
LOG_ERROR "dpdk-devbind命令不支持--status参数"
exit 255
fi
LOG_INFO "步骤3检查dpdk是否已安装"
if ! command -v dpdk-devbind &> /dev/null; then
LOG_INFO "dpdk未安装开始安装"
dnf install -y dpdk
CHECK_RESULT $? 0 0 "dpdk安装失败"
INSTALLED_FLAG=1
else
LOG_INFO "dpdk已安装"
INSTALLED_FLAG=0
fi
LOG_INFO "步骤4执行dpdk-devbind --status命令查看所有网络设备状态"
dpdk-devbind --status
CHECK_RESULT $? 0 0 "执行dpdk-devbind --status命令失败"
LOG_INFO "步骤5环境恢复"
if [ "$INSTALLED_FLAG" -eq 1 ]; then
LOG_INFO "卸载dpdk软件包"
dnf remove -y dpdk
CHECK_RESULT $? 0 0 "dpdk卸载失败"
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-08
# @License : Mulan PSL v2
# @Desc : Test closing a file in HDFS
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Test closing a file in HDFS"
# 检查是否已安装libhdfs
LOG_INFO "检查libhdfs是否已安装"
if ! dnf list installed libhdfs &> /dev/null; then
LOG_INFO "libhdfs未安装将进行安装"
INSTALLED=false
else
LOG_INFO "libhdfs已安装"
INSTALLED=true
fi
# 检查yum源中是否有libhdfs软件包
LOG_INFO "检查yum源中是否有libhdfs软件包"
if ! dnf list available libhdfs &> /dev/null; then
LOG_ERROR "yum源中未找到libhdfs软件包"
exit 255
fi
# 若未安装则安装libhdfs
if [ "$INSTALLED" = false ]; then
LOG_INFO "正在安装libhdfs"
dnf install -y libhdfs
CHECK_RESULT $? 0 0 "安装libhdfs失败"
fi
# 测试关闭HDFS文件功能
LOG_INFO "测试关闭HDFS文件功能"
hadoop fs -test -e /testfile || hadoop fs -touchz /testfile
hadoop fs -cat /testfile > /dev/null
CHECK_RESULT $? 0 0 "打开HDFS文件失败"
# 清理测试文件
LOG_INFO "清理测试文件"
hadoop fs -rm -f /testfile
CHECK_RESULT $? 0 0 "删除HDFS文件失败"
# 若脚本开始时未安装则卸载libhdfs
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载libhdfs以恢复环境"
dnf remove -y libhdfs
CHECK_RESULT $? 0 0 "卸载libhdfs失败"
fi
LOG_INFO "测试完成Test closing a file in HDFS"
}
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-11-30
# @License : Mulan PSL v2
# @Desc : Test opening a file in HDFS
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Test opening a file in HDFS"
# 检查软件包是否已安装
LOG_INFO "检查环境是否已安装libhdfs"
if rpm -q libhdfs &> /dev/null; then
LOG_INFO "libhdfs已安装脚本结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "libhdfs未安装将在测试结束后卸载"
INSTALLED=false
fi
# 检查yum源中是否有libhdfs软件包
LOG_INFO "检查yum源中是否有libhdfs软件包"
if ! dnf list available libhdfs &> /dev/null; then
LOG_ERROR "yum源中未找到libhdfs软件包"
exit 255
fi
# 若未安装则安装libhdfs
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装libhdfs"
dnf install -y libhdfs
CHECK_RESULT $? 0 0 "安装libhdfs失败"
fi
# 测试打开HDFS文件功能
LOG_INFO "测试打开HDFS文件功能"
hadoop fs -test -e /testfile || hadoop fs -touchz /testfile
CHECK_RESULT $? 0 0 "创建测试文件失败"
hadoop fs -cat /testfile
CHECK_RESULT $? 0 0 "打开HDFS文件失败"
# 清理测试文件
LOG_INFO "清理测试文件"
hadoop fs -rm -f /testfile
CHECK_RESULT $? 0 0 "删除测试文件失败"
# 若脚本开始时未安装libhdfs则卸载
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载libhdfs"
dnf remove -y libhdfs
CHECK_RESULT $? 0 0 "卸载libhdfs失败"
fi
LOG_INFO "测试完成Test opening a file in HDFS"
}
main "$@"

View File

@@ -1,73 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-08
# @License : Mulan PSL v2
# @Desc : Test reading a file in HDFS
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装hadoop-hdfs-client包
LOG_INFO "检查是否已安装hadoop-hdfs-client包"
if ! dnf list installed hadoop-hdfs-client &>/dev/null; then
LOG_INFO "hadoop-hdfs-client未安装将进行安装"
# 检查yum源中是否有hadoop-hdfs-client包
if ! dnf list available hadoop-hdfs-client &>/dev/null; then
LOG_ERROR "yum源中未找到hadoop-hdfs-client包"
exit 255
fi
# 安装hadoop-hdfs-client
dnf install -y hadoop-hdfs-client
CHECK_RESULT $? 0 0 "安装hadoop-hdfs-client失败"
# 标记需要卸载
UNINSTALL_NEEDED=1
else
LOG_INFO "hadoop-hdfs-client已安装"
fi
# 测试读取HDFS文件
LOG_INFO "测试读取HDFS文件"
HDFS_FILE="/testfile"
# 检查HDFS文件是否存在
hadoop fs -test -e $HDFS_FILE
if [ $? -ne 0 ]; then
LOG_ERROR "HDFS文件$HDFS_FILE不存在"
exit 1
fi
# 读取HDFS文件内容
LOG_INFO "读取HDFS文件内容"
hadoop fs -cat $HDFS_FILE > /tmp/hdfs_file_content
CHECK_RESULT $? 0 0 "读取HDFS文件失败"
# 清理临时文件
LOG_INFO "清理临时文件"
rm -f /tmp/hdfs_file_content
# 如果之前未安装hadoop-hdfs-client则卸载
if [ "$UNINSTALL_NEEDED" = "1" ]; then
LOG_INFO "卸载hadoop-hdfs-client"
dnf remove -y hadoop-hdfs-client
CHECK_RESULT $? 0 0 "卸载hadoop-hdfs-client失败"
fi
LOG_INFO "测试完成"
exit 0
}
main "$@"

View File

@@ -1,62 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-08
# @License : Mulan PSL v2
# @Desc : Test getting file status in HDFS
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试获取HDFS文件状态
LOG_INFO "开始测试Test getting file status in HDFS"
# 检查libhdfs软件包是否已安装
LOG_INFO "检查libhdfs软件包是否已安装"
if ! dnf list installed libhdfs &>/dev/null; then
LOG_INFO "libhdfs未安装将进行安装"
# 检查yum源中是否有libhdfs软件包
if ! dnf list available libhdfs &>/dev/null; then
LOG_ERROR "yum源中未找到libhdfs软件包"
exit 255
fi
# 安装libhdfs
dnf install -y libhdfs
CHECK_RESULT $? 0 0 "安装libhdfs失败"
# 标记为测试安装,需要在脚本结束时卸载
TEST_INSTALLED=true
else
LOG_INFO "libhdfs已安装"
TEST_INSTALLED=false
fi
# 测试获取HDFS文件状态
LOG_INFO "测试获取HDFS文件状态"
hadoop fs -stat /testfile &>/dev/null
CHECK_RESULT $? 0 0 "获取HDFS文件状态失败"
# 清理环境
if [ "$TEST_INSTALLED" = true ]; then
LOG_INFO "卸载libhdfs软件包"
dnf remove -y libhdfs
CHECK_RESULT $? 0 0 "卸载libhdfs失败"
fi
LOG_INFO "测试完成Test getting file status in HDFS"
}
main "$@"

View File

@@ -1,78 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-08
# @License : Mulan PSL v2
# @Desc : Test writing to a file in HDFS
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试脚本 test_libhdfs_function_write
LOG_INFO "开始测试Test writing to a file in HDFS"
# 检查是否已安装hadoop-hdfs软件包
LOG_INFO "检查是否已安装hadoop-hdfs软件包"
if ! dnf list installed hadoop-hdfs &> /dev/null; then
LOG_INFO "hadoop-hdfs未安装准备安装"
if ! dnf list available hadoop-hdfs &> /dev/null; then
LOG_ERROR "yum源中未找到hadoop-hdfs软件包"
exit 255
fi
dnf install -y hadoop-hdfs
CHECK_RESULT $? 0 0 "安装hadoop-hdfs失败"
INSTALLED=true
else
LOG_INFO "hadoop-hdfs已安装"
INSTALLED=false
fi
# 检查hdfs命令是否可用
LOG_INFO "检查hdfs命令是否可用"
if ! command -v hdfs &> /dev/null; then
LOG_ERROR "hdfs命令不存在或不支持"
exit 255
fi
# 测试写入文件到HDFS
LOG_INFO "测试写入文件到HDFS"
TEST_FILE="/tmp/test_libhdfs_function_write.txt"
echo "test content" > $TEST_FILE
hdfs dfs -put $TEST_FILE /tmp/test_libhdfs_function_write.txt
CHECK_RESULT $? 0 0 "写入文件到HDFS失败"
# 验证文件是否成功写入
LOG_INFO "验证文件是否成功写入"
hdfs dfs -test -e /tmp/test_libhdfs_function_write.txt
CHECK_RESULT $? 0 0 "文件未成功写入HDFS"
# 清理测试文件
LOG_INFO "清理测试文件"
hdfs dfs -rm -f /tmp/test_libhdfs_function_write.txt
rm -f $TEST_FILE
# 恢复环境
if [ "$INSTALLED" = true ]; then
LOG_INFO "卸载临时安装的软件包"
dnf remove -y hadoop-hdfs
CHECK_RESULT $? 0 0 "卸载hadoop-hdfs失败"
fi
LOG_INFO "测试完成Test writing to a file in HDFS"
}
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-03
# @License : Mulan PSL v2
# @Desc : Test the use of @Alternative and selection
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Test the use of @Alternative and selection"
# 检查是否已安装openwebbeans软件包
if dnf list installed openwebbeans &>/dev/null; then
LOG_INFO "openwebbeans软件包已安装脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "openwebbeans软件包未安装将在测试步骤中安装"
INSTALLED=false
fi
# 检查yum源中是否有openwebbeans软件包
LOG_INFO "检查yum源中是否存在openwebbeans软件包"
if ! dnf list available openwebbeans &>/dev/null; then
LOG_ERROR "yum源中未找到openwebbeans软件包"
exit 255
fi
# 安装软件包(如果未安装)
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装openwebbeans软件包"
dnf install -y openwebbeans
CHECK_RESULT $? 0 0 "安装openwebbeans软件包失败"
fi
# 测试@Alternative和selection功能
LOG_INFO "测试@Alternative和selection功能"
# 这里假设有一个测试命令或脚本来验证功能
# 例如运行一个Java程序或使用特定工具
# 假设测试命令为test-alternative-command
if command -v test-alternative-command &>/dev/null; then
LOG_INFO "执行test-alternative-command命令"
test-alternative-command --option value
CHECK_RESULT $? 0 0 "test-alternative-command命令执行失败"
else
LOG_ERROR "test-alternative-command命令不存在或不支持"
exit 255
fi
# 清理环境:如果之前未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载openwebbeans软件包"
dnf remove -y openwebbeans
CHECK_RESULT $? 0 0 "卸载openwebbeans软件包失败"
fi
LOG_INFO "测试完成Test the use of @Alternative and selection"
}
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-03-03
# @License : Mulan PSL v2
# @Desc : Test basic bean creation and injection
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Test basic bean creation and injection"
# 定义软件包名称
PACKAGE_NAME="openwebbeans-test-function-basic-bean"
# 步骤1检查yum源中是否存在指定软件包
LOG_INFO "步骤1检查yum源中是否存在软件包 ${PACKAGE_NAME}"
dnf list available ${PACKAGE_NAME} > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 ${PACKAGE_NAME} 在yum源中不存在"
exit 255
fi
# 步骤2检查是否已安装软件包
LOG_INFO "步骤2检查是否已安装软件包 ${PACKAGE_NAME}"
rpm -q ${PACKAGE_NAME} > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "软件包 ${PACKAGE_NAME} 已安装,测试结束后将保持安装状态"
ALREADY_INSTALLED=1
else
LOG_INFO "软件包 ${PACKAGE_NAME} 未安装,将在测试过程中安装"
ALREADY_INSTALLED=0
fi
# 步骤3如果未安装则安装软件包
if [ ${ALREADY_INSTALLED} -eq 0 ]; then
LOG_INFO "步骤3安装软件包 ${PACKAGE_NAME}"
dnf install -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "安装软件包 ${PACKAGE_NAME} 失败"
fi
# 步骤4执行测试命令测试基本bean的创建和注入
LOG_INFO "步骤4执行测试命令测试基本bean的创建和注入"
# 假设测试命令为 test-basic-bean这里根据实际情况调整命令
test-basic-bean --test-param valid_value
CHECK_RESULT $? 0 0 "测试命令执行失败基本bean创建和注入测试未通过"
# 步骤5检查测试命令的参数支持情况
LOG_INFO "步骤5检查测试命令的参数支持情况"
test-basic-bean --invalid-param > /dev/null 2>&1
if [ $? -ne 255 ]; then
LOG_ERROR "测试命令不支持指定的参数或参数不存在"
exit 255
fi
# 步骤6清理环境如果测试前未安装则卸载软件包
if [ ${ALREADY_INSTALLED} -eq 0 ]; then
LOG_INFO "步骤6卸载软件包 ${PACKAGE_NAME}"
dnf remove -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "卸载软件包 ${PACKAGE_NAME} 失败"
else
LOG_INFO "步骤6测试前已安装软件包保持安装状态"
fi
LOG_INFO "测试完成Test basic bean creation and injection"
}
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-11-29
# @License : Mulan PSL v2
# @Desc : Test dependency injection functionality
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查软件包是否已安装
if dnf list installed openwebbeans-test-function-di &>/dev/null; then
LOG_INFO "环境已安装openwebbeans-test-function-di软件包"
INSTALLED=true
else
LOG_INFO "环境未安装openwebbeans-test-function-di软件包"
INSTALLED=false
fi
# 检查yum源中是否存在该软件包
LOG_INFO "检查yum源中是否存在openwebbeans-test-function-di软件包"
if ! dnf list available openwebbeans-test-function-di &>/dev/null; then
LOG_ERROR "yum源中不存在openwebbeans-test-function-di软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装openwebbeans-test-function-di软件包"
dnf install -y openwebbeans-test-function-di
CHECK_RESULT $? 0 0 "安装openwebbeans-test-function-di软件包失败"
fi
# 测试依赖注入功能
LOG_INFO "测试依赖注入功能"
TEST_COMMAND="openwebbeans-test-function-di --test-di"
if ! $TEST_COMMAND; then
LOG_ERROR "依赖注入功能测试失败"
if [ "$INSTALLED" = false ]; then
dnf remove -y openwebbeans-test-function-di
CHECK_RESULT $? 0 0 "卸载openwebbeans-test-function-di软件包失败"
fi
exit $?
fi
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载openwebbeans-test-function-di软件包"
dnf remove -y openwebbeans-test-function-di
CHECK_RESULT $? 0 0 "卸载openwebbeans-test-function-di软件包失败"
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-07
# @License : Mulan PSL v2
# @Desc : Test event handling functionality
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试事件处理功能"
# 检查软件包是否已安装
LOG_INFO "检查openwebbeans-test_function_event软件包是否已安装"
if rpm -q openwebbeans-test_function_event &>/dev/null; then
LOG_INFO "软件包已安装,测试完成后将保持安装状态"
INSTALLED=true
else
LOG_INFO "软件包未安装,测试完成后将卸载软件包"
INSTALLED=false
fi
# 检查yum源中是否存在软件包
LOG_INFO "检查yum源中是否存在openwebbeans-test_function_event软件包"
if ! dnf list available openwebbeans-test_function_event &>/dev/null; then
LOG_ERROR "yum源中未找到openwebbeans-test_function_event软件包"
exit 255
fi
# 安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装openwebbeans-test_function_event软件包"
dnf install -y openwebbeans-test_function_event
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 测试事件处理功能
LOG_INFO "测试事件处理功能"
test_event_output=$(openwebbeans-test_function_event --test-event)
CHECK_RESULT $? 0 0 "事件处理功能测试失败"
# 检查参数支持情况
LOG_INFO "检查不支持的参数"
openwebbeans-test_function_event --invalid-param &>/dev/null
if [ $? -ne 255 ]; then
LOG_ERROR "不支持参数--invalid-param但未返回退出码255"
exit 255
fi
# 清理环境:如果测试前未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载openwebbeans-test_function_event软件包"
dnf remove -y openwebbeans-test_function_event
CHECK_RESULT $? 0 0 "卸载软件包失败"
fi
LOG_INFO "测试事件处理功能完成"
}
main "$@"

View File

@@ -1,80 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-03
# @License : Mulan PSL v2
# @Desc : Test accessing the package help or usage information
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Test accessing the package help or usage information"
# 定义软件包名称
PACKAGE_NAME="openwebbeans-test-function-help"
LOG_INFO "测试步骤检查yum源中是否存在软件包 $PACKAGE_NAME"
dnf list available $PACKAGE_NAME &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到软件包 $PACKAGE_NAME"
exit 255
fi
# 检查是否已安装
LOG_INFO "测试步骤:检查软件包 $PACKAGE_NAME 是否已安装"
rpm -q $PACKAGE_NAME &>/dev/null
if [ $? -eq 0 ]; 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 "测试步骤:安装软件包 $PACKAGE_NAME"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
fi
# 测试获取帮助信息
LOG_INFO "测试步骤:执行命令获取软件包帮助信息"
command_name="openwebbeans-test-function-help"
if ! command -v $command_name &>/dev/null; then
LOG_ERROR "命令 $command_name 不存在"
exit 255
fi
$command_name --help &>/dev/null
CHECK_RESULT $? 0 0 "执行命令 $command_name --help 失败"
# 测试获取使用信息
LOG_INFO "测试步骤:执行命令获取软件包使用信息"
$command_name --usage &>/dev/null
CHECK_RESULT $? 0 0 "执行命令 $command_name --usage 失败"
# 环境恢复:如果测试前未安装,则卸载软件包
if [ $ALREADY_INSTALLED -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 "测试完成Test accessing the package help or usage information"
}
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-03-03
# @License : Mulan PSL v2
# @Desc : Test installation of the openwebbeans-test package
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
# 步骤1: 检查环境是否已安装openwebbeans-test
LOG_INFO "检查openwebbeans-test是否已安装"
if dnf list installed openwebbeans-test &>/dev/null; then
LOG_INFO "openwebbeans-test已安装测试结束后将保持安装状态"
INSTALLED_BEFORE_TEST=true
else
LOG_INFO "openwebbeans-test未安装将在测试中安装"
INSTALLED_BEFORE_TEST=false
fi
# 步骤2: 检查yum源中是否有openwebbeans-test包
LOG_INFO "检查yum源中是否存在openwebbeans-test包"
if ! dnf list available openwebbeans-test &>/dev/null; then
LOG_ERROR "yum源中未找到openwebbeans-test包"
exit 255
fi
# 步骤3: 如果未安装则安装openwebbeans-test
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
LOG_INFO "开始安装openwebbeans-test"
dnf install -y openwebbeans-test
CHECK_RESULT $? 0 0 "安装openwebbeans-test失败"
fi
# 步骤4: 验证安装
LOG_INFO "验证openwebbeans-test安装"
dnf list installed openwebbeans-test
CHECK_RESULT $? 0 0 "openwebbeans-test安装验证失败"
# 步骤5: 测试openwebbeans-test功能
LOG_INFO "测试openwebbeans-test功能"
# 这里添加具体的功能测试命令,例如:
# openwebbeans-test --version
# 如果命令参数不存在或不支持则退出码为255
if ! openwebbeans-test --help &>/dev/null; then
LOG_ERROR "openwebbeans-test命令参数不支持"
exit 255
fi
# 执行具体的测试命令,这里以--version为例
openwebbeans-test --version
CHECK_RESULT $? 0 0 "openwebbeans-test功能测试失败"
# 步骤6: 清理环境
LOG_INFO "清理测试环境"
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
LOG_INFO "卸载openwebbeans-test"
dnf remove -y openwebbeans-test
CHECK_RESULT $? 0 0 "卸载openwebbeans-test失败"
else
LOG_INFO "测试前已安装openwebbeans-test保持安装状态"
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-03
# @License : Mulan PSL v2
# @Desc : Test interceptor binding and execution
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Test interceptor binding and execution"
# 定义软件包名称
PACKAGE_NAME="openwebbeans-test-function-interceptor"
# 检查软件包是否已经在yum源中
LOG_INFO "检查yum源中是否存在软件包 $PACKAGE_NAME"
if ! dnf list available "$PACKAGE_NAME" &>/dev/null; then
LOG_ERROR "软件包 $PACKAGE_NAME 在yum源中不存在"
exit 255
fi
# 检查环境是否已安装该软件包
LOG_INFO "检查环境是否已安装软件包 $PACKAGE_NAME"
if rpm -q "$PACKAGE_NAME" &>/dev/null; then
LOG_INFO "软件包 $PACKAGE_NAME 已安装,测试结束后将保持安装状态"
INSTALLED_BEFORE=true
else
LOG_INFO "软件包 $PACKAGE_NAME 未安装,将在测试步骤中安装"
INSTALLED_BEFORE=false
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "安装软件包 $PACKAGE_NAME"
dnf install -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
fi
# 测试interceptor binding and execution
LOG_INFO "执行interceptor binding and execution测试"
# 这里假设测试命令是运行一个特定的测试程序或脚本
# 例如:/usr/bin/test-openwebbeans-function-interceptor
TEST_COMMAND="/usr/bin/test-openwebbeans-function-interceptor"
if [ ! -x "$TEST_COMMAND" ]; then
LOG_ERROR "测试命令 $TEST_COMMAND 不存在或不可执行"
exit 255
fi
# 执行测试命令
$TEST_COMMAND
CHECK_RESULT $? 0 0 "interceptor binding and execution 测试失败"
# 如果需要多个服务器并在第二个服务器上执行命令,示例:
# LOG_INFO "在第二个服务器上执行命令"
# SSH_CMD "ls" "$NODE2_IPV4" "$NODE2_PASSWORD" "$NODE2_USER"
# CHECK_RESULT $? 0 0 "在第二个服务器上执行命令失败"
# 清理环境:如果测试前未安装,则卸载软件包
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "卸载软件包 $PACKAGE_NAME"
dnf remove -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
else
LOG_INFO "测试前软件包已安装,保持安装状态"
fi
LOG_INFO "测试完成Test interceptor binding and execution"
}
main "$@"

View File

@@ -1,93 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-03
# @License : Mulan PSL v2
# @Desc : Test bean scope functionality (e.g., @ApplicationScoped, @RequestScoped)
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试OpenWebBeans的bean scope功能如@ApplicationScoped、@RequestScoped"
# 检查软件包是否在yum源中
LOG_INFO "检查openwebbeans-test软件包是否在yum源中"
if ! dnf list available openwebbeans-test &>/dev/null; then
LOG_ERROR "yum源中未找到openwebbeans-test软件包"
exit 255
fi
# 检查环境是否已安装
LOG_INFO "检查环境是否已安装openwebbeans-test"
if rpm -q openwebbeans-test &>/dev/null; then
INSTALLED=true
LOG_INFO "检测到openwebbeans-test已安装测试后将保持安装状态"
else
INSTALLED=false
LOG_INFO "未安装openwebbeans-test将进行安装"
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装openwebbeans-test软件包"
dnf install -y openwebbeans-test
CHECK_RESULT $? 0 0 "安装openwebbeans-test失败"
fi
# 测试@ApplicationScoped功能
LOG_INFO "测试@ApplicationScoped bean scope功能"
# 执行相关测试命令这里假设有一个测试命令test-application-scoped
# 如果命令参数不存在或不支持,则退出
if ! command -v test-application-scoped &>/dev/null; then
LOG_ERROR "test-application-scoped命令不存在或不支持"
exit 255
fi
test-application-scoped --test-scope application
CHECK_RESULT $? 0 0 "@ApplicationScoped功能测试失败"
# 测试@RequestScoped功能
LOG_INFO "测试@RequestScoped bean scope功能"
# 执行相关测试命令这里假设有一个测试命令test-request-scoped
# 如果命令参数不存在或不支持,则退出
if ! command -v test-request-scoped &>/dev/null; then
LOG_ERROR "test-request-scoped命令不存在或不支持"
exit 255
fi
test-request-scoped --test-scope request
CHECK_RESULT $? 0 0 "@RequestScoped功能测试失败"
# 如果需要多服务器测试,在第二个节点执行命令
LOG_INFO "在多服务器环境中测试bean scope功能"
# 假设需要在第二个节点上执行测试命令
SSH_CMD "test-application-scoped --test-scope application" $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER
CHECK_RESULT $? 0 0 "在第二个节点上测试@ApplicationScoped失败"
SSH_CMD "test-request-scoped --test-scope request" $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER
CHECK_RESULT $? 0 0 "在第二个节点上测试@RequestScoped失败"
# 清理环境:如果测试前未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "清理环境卸载openwebbeans-test软件包"
dnf remove -y openwebbeans-test
CHECK_RESULT $? 0 0 "卸载openwebbeans-test失败"
else
LOG_INFO "环境已安装openwebbeans-test保持安装状态"
fi
LOG_INFO "OpenWebBeans bean scope功能测试完成"
}
main "$@"

View File

@@ -1,94 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-03
# @License : Mulan PSL v2
# @Desc : Test uninstallation of the openwebbeans-test package
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义颜色输出函数(可选,用于日志高亮)
LOG_INFO() {
echo -e "\033[32m[INFO]\033[0m $*"
}
LOG_ERROR() {
echo -e "\033[31m[ERROR]\033[0m $*"
}
# 定义软件包名称
PACKAGE_NAME="openwebbeans-test"
# 步骤1检查软件包是否已在yum源中
LOG_INFO "检查软件包是否在yum源中"
dnf list available "$PACKAGE_NAME" > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 $PACKAGE_NAME 不在yum源中"
exit 255
fi
# 步骤2检查当前是否已安装
LOG_INFO "检查当前是否已安装 $PACKAGE_NAME"
if rpm -q "$PACKAGE_NAME" > /dev/null 2>&1; then
LOG_INFO "软件包 $PACKAGE_NAME 已安装,脚本结束后将保持安装状态"
INSTALLED_BEFORE=true
else
LOG_INFO "软件包 $PACKAGE_NAME 未安装,将执行安装测试"
INSTALLED_BEFORE=false
fi
# 步骤3如果未安装则安装软件包
if [ "$INSTALLED_BEFORE" = "false" ]; then
LOG_INFO "安装软件包 $PACKAGE_NAME"
dnf install -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 步骤4验证软件包功能示例检查版本或运行测试命令
LOG_INFO "验证软件包功能"
# 假设软件包提供了一个测试命令,这里以检查版本为例
if command -v openwebbeans-test > /dev/null 2>&1; then
openwebbeans-test --version > /dev/null 2>&1
CHECK_RESULT $? 0 0 "软件包功能验证失败"
else
LOG_ERROR "软件包未提供预期命令,参数可能不存在或不支持"
exit 255
fi
# 步骤5卸载软件包仅在之前未安装的情况下
if [ "$INSTALLED_BEFORE" = "false" ]; then
LOG_INFO "卸载软件包 $PACKAGE_NAME"
dnf remove -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "卸载软件包失败"
fi
# 步骤6验证卸载结果
LOG_INFO "验证卸载结果"
if rpm -q "$PACKAGE_NAME" > /dev/null 2>&1; then
LOG_ERROR "软件包卸载失败"
exit 1
else
LOG_INFO "软件包卸载成功"
fi
# 步骤7清理环境如果需要
LOG_INFO "清理测试环境"
# 这里可以添加额外的清理步骤,例如删除临时文件等
# 但根据需求,主要清理已由卸载步骤完成
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-03-03
# @License : Mulan PSL v2
# @Desc : Test checking the installed package version
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
PACKAGE_NAME="openwebbeans-test-function-version"
TEST_COMMAND="rpm -q $PACKAGE_NAME"
LOG_INFO "开始测试:检查已安装软件包版本"
LOG_INFO "步骤1检查软件包是否已在yum源中"
dnf list available $PACKAGE_NAME > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到软件包$PACKAGE_NAME"
exit 255
fi
LOG_INFO "软件包 $PACKAGE_NAME 在yum源中存在"
LOG_INFO "步骤2检查当前是否已安装软件包"
rpm -q $PACKAGE_NAME > /dev/null 2>&1
IS_INSTALLED=$?
if [ $IS_INSTALLED -eq 0 ]; then
LOG_INFO "软件包已安装,测试后保持安装状态"
NEED_CLEANUP=0
else
LOG_INFO "软件包未安装,将在测试后清理"
NEED_CLEANUP=1
LOG_INFO "步骤3安装软件包"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装软件包失败"
LOG_INFO "软件包安装成功"
fi
LOG_INFO "步骤4执行测试命令"
eval $TEST_COMMAND
CHECK_RESULT $? 0 0 "执行命令失败"
LOG_INFO "命令执行成功,软件包版本信息正常显示"
if [ $NEED_CLEANUP -eq 1 ]; then
LOG_INFO "步骤5清理环境卸载软件包"
dnf remove -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "卸载软件包失败"
LOG_INFO "软件包卸载成功"
else
LOG_INFO "步骤5保持安装状态无需清理"
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-16
# @License : Mulan PSL v2
# @Desc : 测试Markdown转Jupyter笔记本
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Markdown转Jupyter笔记本"
LOG_INFO "检查是否已安装python3-myst-nb"
dnf list installed python3-myst-nb > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "python3-myst-nb已安装测试结束后将保持安装状态"
INSTALLED_BEFORE="true"
else
LOG_INFO "python3-myst-nb未安装将在测试过程中安装"
INSTALLED_BEFORE="false"
fi
LOG_INFO "检查yum源中是否有python3-myst-nb软件包"
dnf list available python3-myst-nb > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到python3-myst-nb软件包"
exit 255
fi
if [ "$INSTALLED_BEFORE" = "false" ]; then
LOG_INFO "安装python3-myst-nb软件包"
dnf install -y python3-myst-nb
CHECK_RESULT $? 0 0 "安装python3-myst-nb失败"
fi
LOG_INFO "检查myst命令是否支持convert_md_to_nb参数"
myst help convert_md_to_nb > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "myst命令不支持convert_md_to_nb参数"
exit 255
fi
LOG_INFO "创建一个测试用的Markdown文件"
cat > test_input.md << "EOF"
# 测试标题
这是一个测试段落。
- 列表项1
- 列表项2
EOF
CHECK_RESULT $? 0 0 "创建测试Markdown文件失败"
LOG_INFO "执行Markdown转Jupyter笔记本命令"
myst convert_md_to_nb test_input.md test_output.ipynb
CHECK_RESULT $? 0 0 "Markdown转Jupyter笔记本失败"
LOG_INFO "检查转换后的Jupyter笔记本文件是否存在"
ls test_output.ipynb > /dev/null 2>&1
CHECK_RESULT $? 0 0 "未生成Jupyter笔记本文件"
LOG_INFO "清理测试文件"
rm -f test_input.md test_output.ipynb
CHECK_RESULT $? 0 0 "清理测试文件失败"
if [ "$INSTALLED_BEFORE" = "false" ]; then
LOG_INFO "卸载python3-myst-nb软件包"
dnf remove -y python3-myst-nb
CHECK_RESULT $? 0 0 "卸载python3-myst-nb失败"
LOG_INFO "测试结束,环境已恢复"
else
LOG_INFO "测试结束,环境保持安装状态"
fi
}
main "$@"

View File

@@ -1,105 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试笔记本转HTML文档
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试笔记本转HTML文档功能"
LOG_INFO "步骤1检查是否已安装python3-myst-nb"
if dnf list installed python3-myst-nb &>/dev/null; then
LOG_INFO "python3-myst-nb已安装脚本结束后保持安装状态"
INSTALLED=true
else
LOG_INFO "python3-myst-nb未安装将在测试中安装"
INSTALLED=false
fi
LOG_INFO "步骤2检查yum源中是否存在python3-myst-nb软件包"
if ! dnf list available python3-myst-nb &>/dev/null; then
LOG_ERROR "yum源中未找到python3-myst-nb软件包"
exit 255
fi
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤3安装python3-myst-nb软件包"
dnf install -y python3-myst-nb
CHECK_RESULT $? 0 0 "安装python3-myst-nb失败"
fi
LOG_INFO "步骤4检查myst命令是否支持nb-to-html参数"
if ! myst --help 2>&1 | grep -q "nb-to-html"; then
LOG_ERROR "myst命令不支持nb-to-html参数"
exit 255
fi
LOG_INFO "步骤5创建测试用的笔记本文件"
cat > test_notebook.ipynb << "EOF"
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 测试笔记本"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"print("Hello, World!")"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"name": "python",
"version": "3.8.5"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
EOF
CHECK_RESULT $? 0 0 "创建测试笔记本文件失败"
LOG_INFO "步骤6执行myst nb-to-html命令转换笔记本为HTML"
myst nb-to-html test_notebook.ipynb -o test_output.html
CHECK_RESULT $? 0 0 "myst nb-to-html命令执行失败"
LOG_INFO "步骤7检查生成的HTML文件是否存在"
if [ -f test_output.html ]; then
LOG_INFO "成功生成HTML文件test_output.html"
else
LOG_ERROR "未找到生成的HTML文件"
exit 1
fi
LOG_INFO "步骤8清理测试文件"
rm -f test_notebook.ipynb test_output.html
CHECK_RESULT $? 0 0 "清理测试文件失败"
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤9卸载python3-myst-nb软件包"
dnf remove -y python3-myst-nb
CHECK_RESULT $? 0 0 "卸载python3-myst-nb失败"
fi
LOG_INFO "测试完成笔记本转HTML文档功能测试通过"
}
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-16
# @License : Mulan PSL v2
# @Desc : 测试执行笔记本代码
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试:测试执行笔记本代码"
LOG_INFO "步骤1检查python3-myst-nb软件包是否在yum源中"
if ! dnf list available python3-myst-nb &>/dev/null; then
LOG_ERROR "python3-myst-nb软件包不在yum源中"
exit 255
fi
LOG_INFO "步骤2检查当前是否已安装python3-myst-nb"
if rpm -q python3-myst-nb &>/dev/null; then
LOG_INFO "python3-myst-nb已安装测试后保持安装状态"
INSTALLED=true
else
LOG_INFO "python3-myst-nb未安装将在测试过程中安装"
INSTALLED=false
fi
LOG_INFO "步骤3检查myst-nb-execute命令是否存在"
if ! command -v myst-nb-execute &>/dev/null; then
LOG_INFO "myst-nb-execute命令不存在尝试安装python3-myst-nb"
if [ "$INSTALLED" = false ]; then
dnf install -y python3-myst-nb
CHECK_RESULT $? 0 0 "安装python3-myst-nb失败"
fi
fi
LOG_INFO "步骤4验证myst-nb-execute命令参数"
if ! myst-nb-execute --help &>/dev/null; then
LOG_ERROR "myst-nb-execute命令不支持--help参数"
exit 255
fi
LOG_INFO "步骤5执行笔记本代码测试"
if ! myst-nb-execute --version &>/dev/null; then
LOG_ERROR "执行myst-nb-execute --version失败"
exit 1
fi
CHECK_RESULT $? 0 0 "执行笔记本代码失败"
LOG_INFO "步骤6清理环境"
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载测试安装的python3-myst-nb软件包"
dnf remove -y python3-myst-nb
CHECK_RESULT $? 0 0 "卸载python3-myst-nb失败"
else
LOG_INFO "保持python3-myst-nb安装状态"
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-16
# @License : Mulan PSL v2
# @Desc : 测试显示主命令帮助
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装python3-myst-nb
LOG_INFO "检查python3-myst-nb是否已安装"
rpm -q python3-myst-nb > /dev/null 2>&1
INSTALLED=$?
# 记录初始安装状态
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "python3-myst-nb已安装测试后保持安装状态"
NEED_CLEANUP=0
else
LOG_INFO "python3-myst-nb未安装将在测试后卸载"
NEED_CLEANUP=1
fi
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否存在python3-myst-nb软件包"
dnf list available python3-myst-nb > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中未找到python3-myst-nb软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到python3-myst-nb软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $INSTALLED -ne 0 ]; then
LOG_INFO "安装python3-myst-nb软件包"
dnf install -y python3-myst-nb > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装python3-myst-nb失败"
if [ $? -ne 0 ]; then
LOG_ERROR "安装python3-myst-nb失败"
exit 1
fi
fi
# 测试显示主命令帮助
LOG_INFO "测试显示主命令帮助"
myst --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "myst --help命令执行失败"
if [ $? -ne 0 ]; then
LOG_ERROR "myst --help命令执行失败"
# 如果不是参数不存在的情况,按标准退出码退出
myst --help 2>&1 | grep -q "unrecognized argument\|invalid choice\|no such option"
if [ $? -ne 0 ]; then
exit $?
else
exit 255
fi
fi
# 检查帮助信息是否包含基本内容
LOG_INFO "检查帮助信息是否包含基本内容"
myst --help 2>&1 | grep -q -E "(usage:|myst|help)"
CHECK_RESULT $? 0 0 "帮助信息不完整"
# 清理环境
LOG_INFO "清理测试环境"
if [ $NEED_CLEANUP -eq 1 ]; then
LOG_INFO "卸载python3-myst-nb软件包"
dnf remove -y python3-myst-nb > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载python3-myst-nb失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,84 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试软件包安装
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装python3-myst-nb-function软件包
LOG_INFO "步骤1检查python3-myst-nb-function软件包是否已安装"
if dnf list installed python3-myst-nb-function &> /dev/null; then
LOG_INFO "python3-myst-nb-function软件包已安装测试结束后将保持安装状态"
INSTALLED_BEFORE_TEST=1
else
LOG_INFO "python3-myst-nb-function软件包未安装将在测试结束后卸载"
INSTALLED_BEFORE_TEST=0
fi
# 检查yum源中是否有python3-myst-nb-function软件包
LOG_INFO "步骤2检查yum源中是否有python3-myst-nb-function软件包"
if ! dnf list available python3-myst-nb-function &> /dev/null; then
LOG_ERROR "yum源中未找到python3-myst-nb-function软件包"
exit 255
fi
LOG_INFO "yum源中存在python3-myst-nb-function软件包"
# 如果未安装,则安装软件包
if [ ${INSTALLED_BEFORE_TEST} -eq 0 ]; then
LOG_INFO "步骤3安装python3-myst-nb-function软件包"
dnf install -y python3-myst-nb-function
CHECK_RESULT $? 0 0 "安装python3-myst-nb-function软件包失败"
fi
# 验证软件包安装成功
LOG_INFO "步骤4验证python3-myst-nb-function软件包安装成功"
dnf list installed python3-myst-nb-function &> /dev/null
CHECK_RESULT $? 0 0 "验证python3-myst-nb-function软件包安装失败"
# 测试软件包基本功能
LOG_INFO "步骤5测试python3-myst-nb-function软件包基本功能"
# 此处假设软件包提供了某个命令或功能例如myst-nb-function --version
if command -v myst-nb-function &> /dev/null; then
myst-nb-function --version
CHECK_RESULT $? 0 0 "执行myst-nb-function --version命令失败"
else
# 如果软件包没有提供myst-nb-function命令尝试其他方式验证
LOG_INFO "软件包未提供myst-nb-function命令尝试其他验证方式"
# 例如检查相关文件是否存在
if [ -f /usr/lib/python3/site-packages/myst_nb_function/__init__.py ]; then
LOG_INFO "找到myst_nb_function模块文件基本功能验证通过"
else
LOG_ERROR "未找到myst_nb_function模块文件基本功能验证失败"
exit 1
fi
fi
# 清理环境:如果测试前未安装,则卸载软件包
if [ ${INSTALLED_BEFORE_TEST} -eq 0 ]; then
LOG_INFO "步骤6清理环境卸载python3-myst-nb-function软件包"
dnf remove -y python3-myst-nb-function
CHECK_RESULT $? 0 0 "卸载python3-myst-nb-function软件包失败"
LOG_INFO "环境已恢复python3-myst-nb-function软件包已卸载"
else
LOG_INFO "步骤6保持python3-myst-nb-function软件包安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,77 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-01
# @License : Mulan PSL v2
# @Desc : 测试 mystnb-quickstart 命令的基本功能,指定输出目录
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装mystnb-quickstart
LOG_INFO "检查是否已安装mystnb-quickstart"
if dnf list installed python3-myst-nb > /dev/null 2>&1; then
LOG_INFO "python3-myst-nb已安装脚本结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "python3-myst-nb未安装将在测试结束后卸载"
INSTALLED=false
fi
# 检查yum源中是否存在python3-myst-nb软件包
LOG_INFO "检查yum源中是否存在python3-myst-nb软件包"
if ! dnf list available python3-myst-nb > /dev/null 2>&1; then
LOG_ERROR "yum源中不存在python3-myst-nb软件包"
exit 255
fi
# 安装python3-myst-nb软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装python3-myst-nb软件包"
dnf install -y python3-myst-nb
CHECK_RESULT $? 0 0 "安装python3-myst-nb失败"
fi
# 测试mystnb-quickstart命令基本功能指定输出目录
LOG_INFO "测试mystnb-quickstart命令基本功能指定输出目录"
OUTPUT_DIR="/tmp/mystnb_test_output"
mkdir -p "$OUTPUT_DIR"
mystnb-quickstart --output-dir "$OUTPUT_DIR" > /dev/null 2>&1
CHECK_RESULT $? 0 0 "mystnb-quickstart命令执行失败"
# 检查输出目录是否生成
LOG_INFO "检查输出目录是否生成"
if [ ! -d "$OUTPUT_DIR" ]; then
LOG_ERROR "输出目录未生成"
exit 1
fi
# 清理测试环境
LOG_INFO "清理测试环境"
rm -rf "$OUTPUT_DIR"
# 如果脚本开始时未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载python3-myst-nb软件包"
dnf remove -y python3-myst-nb > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载python3-myst-nb失败"
fi
LOG_INFO "测试脚本执行完成"
}
main "$@"

View File

@@ -1,73 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试创建基础项目
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:测试创建基础项目"
LOG_INFO "步骤1检查yum源中是否存在python3-myst-nb-function-quickstart软件包"
dnf list available python3-myst-nb-function-quickstart > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中未找到python3-myst-nb-function-quickstart软件包"
if [ $? -eq 255 ]; then
LOG_ERROR "软件包不存在,退出测试"
exit 255
fi
LOG_INFO "步骤2检查环境是否已安装python3-myst-nb-function-quickstart"
rpm -q python3-myst-nb-function-quickstart > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "环境已安装python3-myst-nb-function-quickstart脚本结束时保持安装状态"
INSTALLED=1
else
LOG_INFO "环境未安装python3-myst-nb-function-quickstart将进行安装"
INSTALLED=0
fi
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "步骤3安装python3-myst-nb-function-quickstart软件包"
dnf install -y python3-myst-nb-function-quickstart > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装python3-myst-nb-function-quickstart失败"
fi
LOG_INFO "步骤4测试创建基础项目命令"
myst-nb-function-quickstart --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "myst-nb-function-quickstart命令不存在或不支持"
LOG_INFO "步骤5执行创建基础项目命令"
myst-nb-function-quickstart create test_project
CHECK_RESULT $? 0 0 "创建基础项目失败"
LOG_INFO "步骤6验证创建的项目目录是否存在"
[ -d "test_project" ]
CHECK_RESULT $? 0 0 "项目目录未创建成功"
LOG_INFO "步骤7清理创建的项目目录"
rm -rf test_project
CHECK_RESULT $? 0 0 "清理项目目录失败"
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "步骤8卸载python3-myst-nb-function-quickstart软件包"
dnf remove -y python3-myst-nb-function-quickstart > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载python3-myst-nb-function-quickstart失败"
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-16
# @License : Mulan PSL v2
# @Desc : 测试软件包版本查询
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试软件包版本查询功能"
LOG_INFO "检查yum源中是否存在python3-myst-nb软件包"
if ! dnf list available python3-myst-nb &>/dev/null; then
LOG_ERROR "yum源中未找到python3-myst-nb软件包"
exit 255
fi
LOG_INFO "检查当前是否已安装python3-myst-nb"
if rpm -q python3-myst-nb &>/dev/null; then
LOG_INFO "python3-myst-nb已安装测试结束后保持安装状态"
already_installed=1
else
LOG_INFO "python3-myst-nb未安装将进行安装"
already_installed=0
LOG_INFO "安装python3-myst-nb软件包"
dnf install -y python3-myst-nb
CHECK_RESULT $? 0 0 "安装python3-myst-nb失败"
fi
LOG_INFO "测试python3-myst-nb版本查询功能"
LOG_INFO "执行python3-myst-nb --version命令"
python3-myst-nb --version
CHECK_RESULT $? 0 0 "python3-myst-nb版本查询失败"
LOG_INFO "测试python3-myst-nb -V命令"
python3-myst-nb -V
CHECK_RESULT $? 0 0 "python3-myst-nb -V版本查询失败"
LOG_INFO "测试python3-myst-nb --help命令"
python3-myst-nb --help
CHECK_RESULT $? 0 0 "python3-myst-nb --help命令失败"
LOG_INFO "测试不支持的参数"
LOG_INFO "执行python3-myst-nb --invalid-param命令"
python3-myst-nb --invalid-param 2>/dev/null
if [ $? -eq 255 ]; then
LOG_ERROR "python3-myst-nb不支持--invalid-param参数"
exit 255
fi
LOG_INFO "清理测试环境"
if [ $already_installed -eq 0 ]; then
LOG_INFO "卸载python3-myst-nb软件包"
dnf remove -y python3-myst-nb
CHECK_RESULT $? 0 0 "卸载python3-myst-nb失败"
else
LOG_INFO "保持python3-myst-nb安装状态"
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-01
# @License : Mulan PSL v2
# @Desc : 测试使用-d参数包含日期信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试使用-d参数包含日期信息"
# 检查是否已安装myst-nb和docutils-html5软件包
LOG_INFO "检查是否已安装myst-nb和docutils-html5软件包"
if rpm -q myst-nb docutils-html5 >/dev/null 2>&1; then
LOG_INFO "软件包已安装,测试结束后将保持安装状态"
installed=true
else
installed=false
fi
# 检查yum源中是否存在myst-nb和docutils-html5软件包
LOG_INFO "检查yum源中是否存在myst-nb和docutils-html5软件包"
if ! dnf list available myst-nb docutils-html5 >/dev/null 2>&1; then
LOG_ERROR "yum源中不存在myst-nb或docutils-html5软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$installed" = false ]; then
LOG_INFO "安装myst-nb和docutils-html5软件包"
dnf install -y myst-nb docutils-html5
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 测试使用-d参数包含日期信息
LOG_INFO "测试使用-d参数包含日期信息"
output=$(myst-nb -d "2023-10-01" 2>&1)
if [ $? -ne 0 ]; then
LOG_ERROR "命令执行失败,可能不支持-d参数"
exit 255
fi
# 检查输出是否包含日期信息
CHECK_RESULT $? 0 0 "命令执行失败"
# 清理环境
if [ "$installed" = false ]; then
LOG_INFO "卸载myst-nb和docutils-html5软件包"
dnf remove -y myst-nb docutils-html5
CHECK_RESULT $? 0 0 "卸载软件包失败"
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-01
# @License : Mulan PSL v2
# @Desc : 测试使用-g参数包含生成器信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试使用-g参数包含生成器信息"
# 检查是否已安装python3-myst-nb和mystnb-docutils-html5
if ! dnf list installed python3-myst-nb &>/dev/null || ! dnf list installed mystnb-docutils-html5 &>/dev/null; then
LOG_INFO "环境未安装,将进行安装"
# 检查yum源中是否有软件包
if ! dnf list available python3-myst-nb &>/dev/null || ! dnf list available mystnb-docutils-html5 &>/dev/null; then
LOG_ERROR "yum源中缺少必要的软件包"
exit 255
fi
# 安装软件包
dnf install -y python3-myst-nb mystnb-docutils-html5
CHECK_RESULT $? 0 0 "安装软件包失败"
else
LOG_INFO "环境已安装,跳过安装步骤"
fi
# 测试使用-g参数
LOG_INFO "测试使用-g参数包含生成器信息"
output=$(python3 -m myst_nb --help | grep -w "\-g")
if [ $? -ne 0 ]; then
LOG_ERROR "-g参数不存在或不支持"
exit 255
fi
CHECK_RESULT $? 0 0 "检查-g参数失败"
# 清理环境
if ! dnf list installed python3-myst-nb &>/dev/null || ! dnf list installed mystnb-docutils-html5 &>/dev/null; then
LOG_INFO "清理环境,卸载软件包"
dnf remove -y python3-myst-nb mystnb-docutils-html5
CHECK_RESULT $? 0 0 "卸载软件包失败"
else
LOG_INFO "环境保持原状,无需清理"
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-16
# @License : Mulan PSL v2
# @Desc : 测试-h参数显示帮助信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 判断是否已安装所需软件包
LOG_INFO "检查是否已安装python3-myst-nb、mystnb-docutils-html5_h软件包"
rpm -q python3-myst-nb > /dev/null 2>&1
python3_myst_nb_installed=$?
rpm -q mystnb-docutils-html5_h > /dev/null 2>&1
mystnb_docutils_html5_h_installed=$?
# 记录初始安装状态
initial_installed=0
if [ $python3_myst_nb_installed -eq 0 ] && [ $mystnb_docutils_html5_h_installed -eq 0 ]; then
initial_installed=1
LOG_INFO "软件包已安装,测试完成后将保持安装状态"
else
LOG_INFO "软件包未安装,测试完成后将卸载安装的软件包"
fi
# 检查yum源中是否存在所需软件包
LOG_INFO "检查yum源中是否存在python3-myst-nb软件包"
dnf list available python3-myst-nb > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在python3-myst-nb软件包"
exit 255
fi
LOG_INFO "检查yum源中是否存在mystnb-docutils-html5_h软件包"
dnf list available mystnb-docutils-html5_h > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在mystnb-docutils-html5_h软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $initial_installed -eq 0 ]; then
LOG_INFO "安装python3-myst-nb软件包"
dnf install -y python3-myst-nb
CHECK_RESULT $? 0 0 "安装python3-myst-nb失败"
LOG_INFO "安装mystnb-docutils-html5_h软件包"
dnf install -y mystnb-docutils-html5_h
CHECK_RESULT $? 0 0 "安装mystnb-docutils-html5_h失败"
fi
# 测试-h参数显示帮助信息
LOG_INFO "测试-h参数显示帮助信息"
mystnb-docutils-html5_h -h > /dev/null 2>&1
CHECK_RESULT $? 0 0 "执行mystnb-docutils-html5_h -h失败"
# 检查帮助信息是否包含常用帮助关键词
LOG_INFO "检查帮助信息内容"
help_output=$(mystnb-docutils-html5_h -h 2>&1)
echo "$help_output" | grep -q -E "(usage|help|options|--help|-h)"
CHECK_RESULT $? 0 0 "帮助信息不符合预期"
# 清理环境:如果测试前未安装,则卸载软件包
if [ $initial_installed -eq 0 ]; then
LOG_INFO "卸载测试安装的软件包"
dnf remove -y python3-myst-nb mystnb-docutils-html5_h
CHECK_RESULT $? 0 0 "卸载软件包失败"
else
LOG_INFO "保持软件包安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,80 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-01
# @License : Mulan PSL v2
# @Desc : 测试使用--output参数指定输出文件
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装python3-myst-nb、mystnb-docutils-html5
if dnf list installed python3-myst-nb &>/dev/null && dnf list installed mystnb-docutils-html5 &>/dev/null; then
LOG_INFO "环境已安装python3-myst-nb和mystnb-docutils-html5"
INSTALLED=true
else
LOG_INFO "环境未安装python3-myst-nb和mystnb-docutils-html5将进行安装测试"
INSTALLED=false
fi
# 检查yum源中是否有python3-myst-nb和mystnb-docutils-html5
LOG_INFO "检查yum源中是否有python3-myst-nb和mystnb-docutils-html5"
if ! dnf list available python3-myst-nb &>/dev/null || ! dnf list available mystnb-docutils-html5 &>/dev/null; then
LOG_ERROR "yum源中缺少python3-myst-nb或mystnb-docutils-html5"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装python3-myst-nb和mystnb-docutils-html5"
dnf install -y python3-myst-nb mystnb-docutils-html5
CHECK_RESULT $? 0 0 "安装python3-myst-nb和mystnb-docutils-html5失败"
fi
# 测试使用--output参数指定输出文件
LOG_INFO "测试使用--output参数指定输出文件"
OUTPUT_FILE="test_output.html"
if [ ! -f "$OUTPUT_FILE" ]; then
touch "$OUTPUT_FILE"
fi
# 执行命令并检查--output参数支持情况
LOG_INFO "执行命令并检查--output参数支持情况"
python3 -m myst_nb --output "$OUTPUT_FILE" &>/dev/null
if [ $? -eq 255 ]; then
LOG_ERROR "--output参数不支持或不存在"
exit 255
fi
# 检查命令执行结果
CHECK_RESULT $? 0 0 "执行命令失败"
# 清理环境:如果脚本开始时未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "清理环境卸载python3-myst-nb和mystnb-docutils-html5"
dnf remove -y python3-myst-nb mystnb-docutils-html5 &>/dev/null
CHECK_RESULT $? 0 0 "卸载软件包失败"
fi
# 清理临时文件(如果存在)
LOG_INFO "清理临时文件"
rm -f "$OUTPUT_FILE" &>/dev/null
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-16
# @License : Mulan PSL v2
# @Desc : 测试-q参数不报告系统消息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义软件包列表
PACKAGES="python3-myst-nb mystnb-docutils-html5"
# 检查软件包是否在yum源中
LOG_INFO "检查软件包是否在yum源中"
for pkg in $PACKAGES; do
if ! dnf list available "$pkg" &>/dev/null; then
LOG_ERROR "软件包 $pkg 不在yum源中"
exit 255
fi
done
# 检查环境是否已安装软件包
LOG_INFO "检查环境是否已安装软件包"
INSTALLED=false
for pkg in $PACKAGES; do
if rpm -q "$pkg" &>/dev/null; then
INSTALLED=true
LOG_INFO "软件包 $pkg 已安装"
fi
done
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装软件包"
dnf install -y $PACKAGES
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 测试-q参数不报告系统消息
LOG_INFO "测试-q参数不报告系统消息"
# 假设测试命令为mystnb实际命令可能需要根据实际软件包调整
if ! mystnb --help 2>&1 | grep -q "\-q"; then
LOG_ERROR "命令不支持-q参数"
exit 255
fi
# 执行带-q参数的命令
mystnb -q --version
CHECK_RESULT $? 0 0 "执行带-q参数的命令失败"
# 清理环境
LOG_INFO "清理环境"
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载软件包"
dnf remove -y $PACKAGES
CHECK_RESULT $? 0 0 "卸载软件包失败"
else
LOG_INFO "环境已安装软件包,保持安装状态"
fi
}
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-01
# @License : Mulan PSL v2
# @Desc : 测试使用-s参数包含查看文档源链接
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装python3-myst-nb和mystnb-docutils-html5
LOG_INFO "检查是否已安装python3-myst-nb和mystnb-docutils-html5"
if dnf list installed python3-myst-nb && dnf list installed mystnb-docutils-html5; then
LOG_INFO "python3-myst-nb和mystnb-docutils-html5已安装"
installed=true
else
LOG_INFO "python3-myst-nb和mystnb-docutils-html5未安装"
installed=false
fi
# 检查yum源中是否存在python3-myst-nb和mystnb-docutils-html5
LOG_INFO "检查yum源中是否存在python3-myst-nb和mystnb-docutils-html5"
if ! dnf list available python3-myst-nb || ! dnf list available mystnb-docutils-html5; then
LOG_ERROR "yum源中不存在python3-myst-nb或mystnb-docutils-html5"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$installed" = false ]; then
LOG_INFO "开始安装python3-myst-nb和mystnb-docutils-html5"
dnf install -y python3-myst-nb mystnb-docutils-html5
CHECK_RESULT $? 0 0 "安装python3-myst-nb和mystnb-docutils-html5失败"
fi
# 测试使用-s参数包含查看文档源链接
LOG_INFO "测试使用-s参数包含查看文档源链接"
output=$(python3 -m myst_nb --help | grep -e "-s")
if [ $? -ne 0 ]; then
LOG_ERROR "-s参数不存在或不支持"
exit 255
fi
CHECK_RESULT $? 0 0 "测试-s参数失败"
# 清理环境
if [ "$installed" = false ]; then
LOG_INFO "卸载python3-myst-nb和mystnb-docutils-html5"
dnf remove -y python3-myst-nb mystnb-docutils-html5
CHECK_RESULT $? 0 0 "卸载python3-myst-nb和mystnb-docutils-html5失败"
fi
LOG_INFO "测试脚本执行完成"
}
main "$@"

View File

@@ -1,71 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-01
# @License : Mulan PSL v2
# @Desc : 测试使用-t参数包含时间和日期信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装所需软件包
LOG_INFO "检查是否已安装python3-myst-nb、mystnb-docutils-html5软件包"
dnf list installed python3-myst-nb > /dev/null 2>&1
python3_myst_nb_installed=$?
dnf list installed mystnb-docutils-html5 > /dev/null 2>&1
mystnb_docutils_html5_installed=$?
if [ $python3_myst_nb_installed -eq 0 ] && [ $mystnb_docutils_html5_installed -eq 0 ]; then
LOG_INFO "软件包已安装,脚本结束后将保持安装状态"
keep_installed=true
else
LOG_INFO "软件包未安装,将在测试后卸载"
keep_installed=false
fi
# 检查yum源中是否存在软件包
LOG_INFO "检查yum源中是否存在python3-myst-nb、mystnb-docutils-html5软件包"
dnf list available python3-myst-nb > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中不存在python3-myst-nb软件包"
dnf list available mystnb-docutils-html5 > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中不存在mystnb-docutils-html5软件包"
# 安装软件包
if [ "$keep_installed" = false ]; then
LOG_INFO "安装python3-myst-nb、mystnb-docutils-html5软件包"
dnf install -y python3-myst-nb mystnb-docutils-html5
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 测试使用-t参数包含时间和日期信息
LOG_INFO "测试使用-t参数包含时间和日期信息"
command_output=$(myst-nb --help 2>&1)
if [[ "$command_output" != *"-t"* ]]; then
LOG_ERROR "-t参数不存在或不支持"
exit 255
fi
# 清理环境
if [ "$keep_installed" = false ]; then
LOG_INFO "卸载python3-myst-nb、mystnb-docutils-html5软件包"
dnf remove -y python3-myst-nb mystnb-docutils-html5
CHECK_RESULT $? 0 0 "卸载软件包失败"
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-01
# @License : Mulan PSL v2
# @Desc : 测试使用--title参数指定文档标题
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:测试使用--title参数指定文档标题"
# 检查是否已安装所需软件包
LOG_INFO "检查是否已安装python3-myst-nb、mystnb-docutils-html5_title软件包"
if ! dnf list installed python3-myst-nb &>/dev/null || ! dnf list installed mystnb-docutils-html5_title &>/dev/null; then
LOG_INFO "软件包未安装,将进行安装"
# 检查yum源中是否有软件包
if ! dnf list available python3-myst-nb &>/dev/null || ! dnf list available mystnb-docutils-html5_title &>/dev/null; then
LOG_ERROR "yum源中未找到所需软件包"
exit 255
fi
# 安装软件包
dnf install -y python3-myst-nb mystnb-docutils-html5_title
CHECK_RESULT $? 0 0 "安装软件包失败"
# 标记需要卸载
NEED_UNINSTALL=1
else
LOG_INFO "软件包已安装,无需重复安装"
NEED_UNINSTALL=0
fi
# 测试--title参数
LOG_INFO "测试--title参数是否支持"
if ! mystnb-docutils-html5_title --help | grep -q -- "--title"; then
LOG_ERROR "--title参数不支持"
exit 255
fi
# 执行测试命令
LOG_INFO "执行测试命令mystnb-docutils-html5_title --title "测试标题""
mystnb-docutils-html5_title --title "测试标题"
CHECK_RESULT $? 0 0 "--title参数执行失败"
# 清理环境
if [ "$NEED_UNINSTALL" -eq 1 ]; then
LOG_INFO "卸载临时安装的软件包"
dnf remove -y python3-myst-nb mystnb-docutils-html5_title
CHECK_RESULT $? 0 0 "卸载软件包失败"
fi
LOG_INFO "测试完成:测试使用--title参数指定文档标题"
}
main "$@"

View File

@@ -1,90 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试-V参数显示版本信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装所需软件包
LOG_INFO "检查是否已安装 python3-myst-nb, mystnb-docutils-html5_upper_v"
# 定义软件包名称
PACKAGE1="python3-myst-nb"
PACKAGE2="mystnb-docutils-html5_upper_v"
# 检查软件包是否已在yum源中
LOG_INFO "检查yum源中是否存在软件包 $PACKAGE1$PACKAGE2"
dnf list available $PACKAGE1 $PACKAGE2 > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在软件包 $PACKAGE1$PACKAGE2"
exit 255
fi
# 检查当前是否已安装
INSTALLED=0
rpm -q $PACKAGE1 > /dev/null 2>&1
PKG1_INSTALLED=$?
rpm -q $PACKAGE2 > /dev/null 2>&1
PKG2_INSTALLED=$?
if [ $PKG1_INSTALLED -eq 0 ] && [ $PKG2_INSTALLED -eq 0 ]; then
LOG_INFO "软件包 $PACKAGE1$PACKAGE2 已安装"
INSTALLED=1
else
LOG_INFO "软件包 $PACKAGE1$PACKAGE2 未安装,开始安装"
# 安装软件包
LOG_INFO "安装软件包 $PACKAGE1$PACKAGE2"
dnf install -y $PACKAGE1 $PACKAGE2
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 测试-V参数显示版本信息
LOG_INFO "测试-V参数显示版本信息"
# 检查命令是否支持-V参数
LOG_INFO "检查命令是否支持-V参数"
mystnb-docutils-html5_upper_v --help | grep -q "\-V"
if [ $? -ne 0 ]; then
LOG_ERROR "命令不支持-V参数"
# 清理环境(如果之前未安装)
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "清理安装的软件包"
dnf remove -y $PACKAGE1 $PACKAGE2
fi
exit 255
fi
# 执行-V参数测试
LOG_INFO "执行-V参数测试"
mystnb-docutils-html5_upper_v -V
CHECK_RESULT $? 0 0 "执行-V参数失败"
# 清理环境
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "测试完成,清理安装的软件包"
dnf remove -y $PACKAGE1 $PACKAGE2
CHECK_RESULT $? 0 0 "卸载软件包失败"
else
LOG_INFO "测试完成,保持软件包安装状态"
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-16
# @License : Mulan PSL v2
# @Desc : 测试-v参数报告所有系统消息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已经安装了python3-myst-nb、mystnb-docutils-html5软件包
LOG_INFO "检查python3-myst-nb、mystnb-docutils-html5软件包是否已经安装"
rpm -q python3-myst-nb mystnb-docutils-html5 > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "软件包已经安装,标记为已安装状态"
INSTALLED=1
else
LOG_INFO "软件包未安装,标记为未安装状态"
INSTALLED=0
fi
# 检查yum源中是否存在python3-myst-nb、mystnb-docutils-html5软件包
LOG_INFO "检查yum源中是否存在python3-myst-nb、mystnb-docutils-html5软件包"
dnf list available python3-myst-nb mystnb-docutils-html5 > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在python3-myst-nb或mystnb-docutils-html5软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装python3-myst-nb、mystnb-docutils-html5软件包"
dnf install -y python3-myst-nb mystnb-docutils-html5
CHECK_RESULT $? 0 0 "安装python3-myst-nb、mystnb-docutils-html5软件包失败"
LOG_INFO "安装python3-myst-nb、mystnb-docutils-html5软件包成功"
fi
# 测试-v参数报告所有系统消息
LOG_INFO "开始测试-v参数报告所有系统消息"
# 假设测试命令为test_python3-myst-nb_mystnb-docutils-html5_v -v
# 首先检查命令是否存在
command -v test_python3-myst-nb_mystnb-docutils-html5_v > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "test_python3-myst-nb_mystnb-docutils-html5_v命令不存在"
exit 255
fi
# 检查-v参数是否支持
test_python3-myst-nb_mystnb-docutils-html5_v --help 2>&1 | grep -q "\-v"
if [ $? -ne 0 ]; then
LOG_ERROR "test_python3-myst-nb_mystnb-docutils-html5_v命令不支持-v参数"
exit 255
fi
# 执行带-v参数的测试命令
LOG_INFO "执行test_python3-myst-nb_mystnb-docutils-html5_v -v命令"
test_python3-myst-nb_mystnb-docutils-html5_v -v
CHECK_RESULT $? 0 0 "test_python3-myst-nb_mystnb-docutils-html5_v -v命令执行失败"
# 清理环境:如果之前未安装,则卸载软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "清理环境卸载python3-myst-nb、mystnb-docutils-html5软件包"
dnf remove -y python3-myst-nb mystnb-docutils-html5
CHECK_RESULT $? 0 0 "卸载python3-myst-nb、mystnb-docutils-html5软件包失败"
LOG_INFO "卸载python3-myst-nb、mystnb-docutils-html5软件包成功"
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-01
# @License : Mulan PSL v2
# @Desc : 测试使用-d参数包含日期信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:测试使用-d参数包含日期信息"
# 检查是否已安装python3-myst-nb和mystnb-docutils-html_d
LOG_INFO "检查是否已安装python3-myst-nb和mystnb-docutils-html_d"
dnf list installed python3-myst-nb mystnb-docutils-html_d > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "软件包已安装,脚本结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "软件包未安装,脚本结束后将卸载软件包"
INSTALLED=false
fi
# 检查yum源中是否有python3-myst-nb和mystnb-docutils-html_d
LOG_INFO "检查yum源中是否有python3-myst-nb和mystnb-docutils-html_d"
dnf list available python3-myst-nb mystnb-docutils-html_d > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到python3-myst-nb或mystnb-docutils-html_d"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装python3-myst-nb和mystnb-docutils-html_d"
dnf install -y python3-myst-nb mystnb-docutils-html_d > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装python3-myst-nb和mystnb-docutils-html_d失败"
fi
# 测试使用-d参数包含日期信息
LOG_INFO "测试使用-d参数包含日期信息"
output=$(mystnb-docutils-html_d -d "2023-10-01" 2>&1)
CHECK_RESULT $? 0 0 "执行命令失败"
echo "$output" | grep -q "2023-10-01"
CHECK_RESULT $? 0 0 "输出中未包含日期信息"
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载python3-myst-nb和mystnb-docutils-html_d"
dnf remove -y python3-myst-nb mystnb-docutils-html_d > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载python3-myst-nb和mystnb-docutils-html_d失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,84 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试使用 --date 选项包含日期
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试使用 --date 选项包含日期"
LOG_INFO "步骤1检查测试环境是否已安装python3-myst-nb、mystnb-docutils-html软件包"
rpm -q python3-myst-nb mystnb-docutils-html > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "环境已安装软件包,标记为已安装状态"
INSTALLED="true"
else
LOG_INFO "环境未安装软件包,标记为未安装状态"
INSTALLED="false"
fi
LOG_INFO "步骤2检查yum源中是否有python3-myst-nb、mystnb-docutils-html软件包"
dnf list available python3-myst-nb mystnb-docutils-html > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中缺少必要的软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中缺少必要的软件包"
exit 255
fi
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "步骤3安装python3-myst-nb、mystnb-docutils-html软件包"
dnf install -y python3-myst-nb mystnb-docutils-html
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
LOG_INFO "步骤4验证myst命令是否支持--date选项"
myst --help | grep -q -- "--date"
CHECK_RESULT $? 0 0 "myst命令不支持--date选项"
if [ $? -ne 0 ]; then
LOG_ERROR "myst命令不支持--date选项"
exit 255
fi
LOG_INFO "步骤5创建测试用的Markdown文件"
cat > test_date.md << "EOF"
# Test Document
This is a test document for date option.
EOF
CHECK_RESULT $? 0 0 "创建测试文件失败"
LOG_INFO "步骤6使用--date选项执行myst命令生成包含日期的HTML"
myst html test_date.md --date="2023-10-01" -o test_date_output.html
CHECK_RESULT $? 0 0 "执行myst命令失败"
LOG_INFO "步骤7检查生成的HTML文件是否包含指定的日期"
grep -q "2023-10-01" test_date_output.html
CHECK_RESULT $? 0 0 "生成的HTML文件中未找到指定的日期"
LOG_INFO "步骤8清理测试生成的文件"
rm -f test_date.md test_date_output.html
CHECK_RESULT $? 0 0 "清理测试文件失败"
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "步骤9卸载测试安装的软件包"
dnf remove -y python3-myst-nb mystnb-docutils-html
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 : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试使用 --debug 选项启用调试级系统消息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装所需软件包
LOG_INFO "检查环境是否已安装python3-myst-nb、mystnb-docutils-html"
if dnf list installed python3-myst-nb &> /dev/null && dnf list installed mystnb-docutils-html &> /dev/null; then
LOG_INFO "环境已安装python3-myst-nb和mystnb-docutils-html"
INSTALLED="yes"
else
LOG_INFO "环境未安装python3-myst-nb和mystnb-docutils-html"
INSTALLED="no"
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = "no" ]; then
LOG_INFO "开始安装python3-myst-nb和mystnb-docutils-html"
dnf list available python3-myst-nb &> /dev/null
CHECK_RESULT $? 0 255 "yum源中不存在python3-myst-nb软件包"
dnf list available mystnb-docutils-html &> /dev/null
CHECK_RESULT $? 0 255 "yum源中不存在mystnb-docutils-html软件包"
dnf install -y python3-myst-nb mystnb-docutils-html
CHECK_RESULT $? 0 0 "安装python3-myst-nb和mystnb-docutils-html失败"
LOG_INFO "安装python3-myst-nb和mystnb-docutils-html成功"
fi
# 检查myst命令是否支持--debug选项
LOG_INFO "检查myst命令是否支持--debug选项"
myst --help | grep -q "\-\-debug"
CHECK_RESULT $? 0 255 "myst命令不支持--debug选项"
# 测试使用--debug选项启用调试级系统消息
LOG_INFO "测试使用--debug选项启用调试级系统消息"
myst --debug --help 2>&1 | grep -q "debug"
CHECK_RESULT $? 0 0 "使用--debug选项未能启用调试级系统消息"
LOG_INFO "使用--debug选项成功启用调试级系统消息"
# 环境恢复:如果之前未安装,则卸载软件包
if [ "$INSTALLED" = "no" ]; then
LOG_INFO "开始卸载python3-myst-nb和mystnb-docutils-html"
dnf remove -y python3-myst-nb mystnb-docutils-html
CHECK_RESULT $? 0 0 "卸载python3-myst-nb和mystnb-docutils-html失败"
LOG_INFO "卸载python3-myst-nb和mystnb-docutils-html成功"
else
LOG_INFO "环境已安装,保持安装状态"
fi
}
main "$@"

View File

@@ -1,66 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-01
# @License : Mulan PSL v2
# @Desc : 测试使用-g参数包含生成器信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装python3-myst-nb和mystnb-docutils-html
LOG_INFO "检查是否已安装python3-myst-nb和mystnb-docutils-html"
rpm -q python3-myst-nb mystnb-docutils-html > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "python3-myst-nb和mystnb-docutils-html已安装"
installed=true
else
LOG_INFO "python3-myst-nb和mystnb-docutils-html未安装"
installed=false
fi
# 检查yum源中是否存在软件包
LOG_INFO "检查yum源中是否存在python3-myst-nb和mystnb-docutils-html"
dnf list available python3-myst-nb mystnb-docutils-html > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在python3-myst-nb或mystnb-docutils-html"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$installed" = false ]; then
LOG_INFO "安装python3-myst-nb和mystnb-docutils-html"
dnf install -y python3-myst-nb mystnb-docutils-html
CHECK_RESULT $? 0 0 "安装失败"
fi
# 测试使用-g参数包含生成器信息
LOG_INFO "测试使用-g参数包含生成器信息"
mystnb --help | grep -q "\-g, \-\-generator"
CHECK_RESULT $? 0 0 "参数-g不存在或不支持"
# 清理环境:如果脚本开始时未安装,则卸载软件包
if [ "$installed" = false ]; then
LOG_INFO "卸载python3-myst-nb和mystnb-docutils-html"
dnf remove -y python3-myst-nb mystnb-docutils-html
CHECK_RESULT $? 0 0 "卸载失败"
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-16
# @License : Mulan PSL v2
# @Desc : 测试使用 --help 参数查看帮助信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 环境预检查
LOG_INFO "开始检查测试环境"
# 检查是否已安装python3-myst-nb、mystnb-docutils-html
rpm -q python3-myst-nb > /dev/null 2>&1
PYTHON_MYST_NB_INSTALLED=$?
rpm -q mystnb-docutils-html > /dev/null 2>&1
MYSTNB_DOCUTILS_HTML_INSTALLED=$?
if [ $PYTHON_MYST_NB_INSTALLED -eq 0 ] && [ $MYSTNB_DOCUTILS_HTML_INSTALLED -eq 0 ]; then
LOG_INFO "检测到python3-myst-nb和mystnb-docutils-html已安装测试后将保持安装状态"
ALREADY_INSTALLED=1
else
LOG_INFO "检测到python3-myst-nb或mystnb-docutils-html未安装测试后将卸载安装的软件包"
ALREADY_INSTALLED=0
fi
# 检查yum源中是否有软件包
LOG_INFO "检查yum源中是否存在python3-myst-nb软件包"
dnf list available python3-myst-nb > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到python3-myst-nb软件包"
exit 255
fi
LOG_INFO "检查yum源中是否存在mystnb-docutils-html软件包"
dnf list available mystnb-docutils-html > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到mystnb-docutils-html软件包"
exit 255
fi
# 安装软件包(如果未安装)
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "开始安装python3-myst-nb和mystnb-docutils-html软件包"
dnf install -y python3-myst-nb mystnb-docutils-html
CHECK_RESULT $? 0 0 "安装python3-myst-nb和mystnb-docutils-html失败"
LOG_INFO "软件包安装成功"
fi
# 测试--help参数
LOG_INFO "测试使用--help参数查看帮助信息"
myst --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "执行myst --help命令失败"
# 测试其他可能的帮助参数
LOG_INFO "测试使用-h参数查看帮助信息"
myst -h > /dev/null 2>&1
CHECK_RESULT $? 0 0 "执行myst -h命令失败"
LOG_INFO "测试使用--help参数查看nbconvert帮助信息"
myst nbconvert --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "执行myst nbconvert --help命令失败"
# 测试不支持的参数
LOG_INFO "测试不支持的参数--invalid-param"
myst --invalid-param > /dev/null 2>&1
if [ $? -eq 255 ]; then
LOG_INFO "不支持的参数正确处理返回退出码255"
else
LOG_ERROR "不支持的参数未正确处理"
exit 255
fi
# 环境清理
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "清理测试环境,卸载安装的软件包"
dnf remove -y python3-myst-nb mystnb-docutils-html
CHECK_RESULT $? 0 0 "卸载python3-myst-nb和mystnb-docutils-html失败"
LOG_INFO "软件包卸载成功"
else
LOG_INFO "保持软件包安装状态,不进行卸载"
fi
LOG_INFO "测试脚本执行完成"
}
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-16
# @License : Mulan PSL v2
# @Desc : 测试使用 --language 选项指定文档语言
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装所需软件包
LOG_INFO "检查是否已安装所需软件包"
PACKAGES="python3-myst-nb mystnb-docutils-html"
INSTALLED=0
for pkg in $PACKAGES; do
if dnf list installed "$pkg" &>/dev/null; then
LOG_INFO "软件包 $pkg 已安装"
INSTALLED=1
else
LOG_INFO "软件包 $pkg 未安装"
fi
done
# 检查yum源中是否有软件包
LOG_INFO "检查yum源中是否有所需软件包"
for pkg in $PACKAGES; do
if ! dnf list available "$pkg" &>/dev/null; then
LOG_ERROR "yum源中未找到软件包 $pkg"
exit 255
fi
done
# 如果未安装,则安装软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装软件包"
dnf install -y $PACKAGES
CHECK_RESULT $? 0 0 "安装软件包失败"
LOG_INFO "软件包安装成功"
# 设置标记,表示需要清理
NEED_CLEANUP=1
else
LOG_INFO "软件包已安装,无需重复安装"
NEED_CLEANUP=0
fi
# 测试--language选项
LOG_INFO "测试使用--language选项指定文档语言"
# 创建一个简单的测试文件
TEST_FILE="test_language.md"
echo "# Test" > $TEST_FILE
echo "Some content here." >> $TEST_FILE
# 使用mystnb-docutils-html命令并指定--language选项
LOG_INFO "执行mystnb-docutils-html命令并指定--language为zh-CN"
mystnb-docutils-html --language zh-CN $TEST_FILE output.html
CHECK_RESULT $? 0 0 "使用--language选项执行失败"
# 检查输出文件是否存在
LOG_INFO "检查输出文件是否生成"
if [ -f "output.html" ]; then
LOG_INFO "输出文件生成成功"
else
LOG_ERROR "输出文件未生成"
CHECK_RESULT 1 0 0 "输出文件未生成"
fi
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f $TEST_FILE output.html
# 如果之前安装了软件包,则卸载
if [ $NEED_CLEANUP -eq 1 ]; then
LOG_INFO "卸载之前安装的软件包"
dnf remove -y $PACKAGES
CHECK_RESULT $? 0 0 "卸载软件包失败"
LOG_INFO "软件包卸载成功"
else
LOG_INFO "保持软件包安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,128 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试使用 --no-debug 选项禁用调试输出
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义软件包列表
PACKAGES=("python3-myst-nb" "mystnb-docutils-html")
# 检查yum源中是否有指定软件包
check_package_availability() {
local pkg=$1
LOG_INFO "检查yum源中是否存在软件包: ${pkg}"
dnf list available "${pkg}" &> /dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 ${pkg} 在yum源中不存在"
exit 255
fi
}
# 检查命令参数是否支持
check_command_option() {
local cmd=$1
local option=$2
LOG_INFO "检查命令 ${cmd} 是否支持选项 ${option}"
${cmd} --help 2>&1 | grep -q "${option}"
if [ $? -ne 0 ]; then
LOG_ERROR "命令 ${cmd} 不支持选项 ${option}"
exit 255
fi
}
# 检查软件包是否已安装
check_package_installed() {
local pkg=$1
rpm -q "${pkg}" &> /dev/null
return $?
}
# 安装软件包
install_packages() {
LOG_INFO "开始安装软件包"
for pkg in "${PACKAGES[@]}"; do
check_package_installed "${pkg}"
if [ $? -eq 0 ]; then
LOG_INFO "软件包 ${pkg} 已安装,跳过安装"
else
LOG_INFO "安装软件包: ${pkg}"
dnf install -y "${pkg}"
CHECK_RESULT $? 0 0 "安装软件包 ${pkg} 失败"
fi
done
}
# 卸载软件包
uninstall_packages() {
LOG_INFO "开始卸载软件包"
for pkg in "${PACKAGES[@]}"; do
check_package_installed "${pkg}"
if [ $? -eq 0 ]; then
LOG_INFO "卸载软件包: ${pkg}"
dnf remove -y "${pkg}"
CHECK_RESULT $? 0 0 "卸载软件包 ${pkg} 失败"
else
LOG_INFO "软件包 ${pkg} 未安装,跳过卸载"
fi
done
}
# 记录初始安装状态
declare -A INITIAL_STATUS
for pkg in "${PACKAGES[@]}"; do
check_package_installed "${pkg}"
INITIAL_STATUS["${pkg}"]=$?
done
# 检查yum源中是否有所有需要的软件包
LOG_INFO "检查yum源中是否有所有需要的软件包"
for pkg in "${PACKAGES[@]}"; do
check_package_availability "${pkg}"
done
# 检查命令参数
check_command_option "myst" "--no-debug"
# 根据初始状态决定是否安装软件包
NEED_INSTALL=false
for pkg in "${PACKAGES[@]}"; do
if [ ${INITIAL_STATUS["${pkg}"]} -ne 0 ]; then
NEED_INSTALL=true
break
fi
done
if ${NEED_INSTALL}; then
install_packages
fi
# 执行测试
LOG_INFO "测试使用 --no-debug 选项禁用调试输出"
myst --no-debug --help
CHECK_RESULT $? 0 0 "使用 --no-debug 选项执行失败"
# 环境恢复
if ${NEED_INSTALL}; then
uninstall_packages
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,128 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试使用 --no-raw 选项禁用原始指令
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 初始化环境变量
LOG_INFO "初始化测试环境"
LOG_INFO "检查是否已安装python3-myst-nb、mystnb-docutils-html软件包"
# 检查软件包是否已安装
rpm -q python3-myst-nb > /dev/null 2>&1
PYTHON_MYST_NB_INSTALLED=$?
rpm -q mystnb-docutils-html > /dev/null 2>&1
MYSTNB_DOCUTILS_HTML_INSTALLED=$?
# 记录初始安装状态
INITIAL_INSTALL=0
if [ $PYTHON_MYST_NB_INSTALLED -eq 0 ] && [ $MYSTNB_DOCUTILS_HTML_INSTALLED -eq 0 ]; then
INITIAL_INSTALL=1
LOG_INFO "软件包已安装,测试后将保持安装状态"
else
LOG_INFO "软件包未安装,测试后将卸载软件包"
fi
# 检查yum源中是否存在软件包
LOG_INFO "检查yum源中是否存在python3-myst-nb软件包"
dnf list available python3-myst-nb > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在python3-myst-nb软件包"
exit 255
fi
LOG_INFO "检查yum源中是否存在mystnb-docutils-html软件包"
dnf list available mystnb-docutils-html > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在mystnb-docutils-html软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $INITIAL_INSTALL -eq 0 ]; then
LOG_INFO "安装python3-myst-nb和mystnb-docutils-html软件包"
dnf install -y python3-myst-nb mystnb-docutils-html
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 测试--no-raw选项是否存在
LOG_INFO "检查myst命令是否支持--no-raw选项"
myst --help 2>&1 | grep -q "\-\-no\-raw"
if [ $? -ne 0 ]; then
LOG_ERROR "myst命令不支持--no-raw选项"
# 清理环境
if [ $INITIAL_INSTALL -eq 0 ]; then
LOG_INFO "清理测试环境,卸载软件包"
dnf remove -y python3-myst-nb mystnb-docutils-html
fi
exit 255
fi
# 创建测试用的markdown文件
LOG_INFO "创建测试用的markdown文件"
TEST_FILE="test_no_raw.md"
cat > $TEST_FILE << EOF
# 测试文件
\`\`\`{raw} html
<div>原始HTML内容</div>
\`\`\`
正常段落内容。
EOF
CHECK_RESULT $? 0 0 "创建测试文件失败"
# 测试使用--no-raw选项
LOG_INFO "测试使用--no-raw选项禁用原始指令"
myst nbconvert $TEST_FILE --to html --no-raw --output test_output.html
CHECK_RESULT $? 0 0 "执行myst命令失败"
# 检查输出文件是否生成
LOG_INFO "检查输出文件是否生成"
[ -f "test_output.html" ]
CHECK_RESULT $? 0 0 "输出文件未生成"
# 检查原始指令是否被禁用
LOG_INFO "检查原始指令是否被禁用"
if grep -q "原始HTML内容" test_output.html; then
LOG_ERROR "原始指令未被禁用"
CHECK_RESULT 1 0 0 "原始指令未被禁用"
else
LOG_INFO "原始指令已成功禁用"
CHECK_RESULT 0 0 0 "原始指令已成功禁用"
fi
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f $TEST_FILE test_output.html
CHECK_RESULT $? 0 0 "清理测试文件失败"
# 恢复环境
if [ $INITIAL_INSTALL -eq 0 ]; then
LOG_INFO "清理测试环境,卸载软件包"
dnf remove -y python3-myst-nb mystnb-docutils-html
CHECK_RESULT $? 0 0 "卸载软件包失败"
else
LOG_INFO "保持软件包安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,79 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-01
# @License : Mulan PSL v2
# @Desc : 测试使用--output参数指定输出文件
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试使用--output参数指定输出文件的功能"
# 检查是否已安装所需的软件包
LOG_INFO "检查是否已安装python3-myst-nb和mystnb-docutils-html"
dnf list installed python3-myst-nb > /dev/null 2>&1
python3_myst_nb_installed=$?
dnf list installed mystnb-docutils-html > /dev/null 2>&1
mystnb_docutils_html_installed=$?
if [ $python3_myst_nb_installed -eq 0 ] && [ $mystnb_docutils_html_installed -eq 0 ]; then
LOG_INFO "软件包已安装,测试完成后将保持安装状态"
keep_installed=true
else
LOG_INFO "软件包未安装,将在测试完成后卸载"
keep_installed=false
fi
# 检查yum源中是否有软件包
LOG_INFO "检查yum源中是否有python3-myst-nb和mystnb-docutils-html"
dnf list available python3-myst-nb > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中没有python3-myst-nb软件包"
dnf list available mystnb-docutils-html > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中没有mystnb-docutils-html软件包"
# 安装软件包(如果未安装)
if [ "$keep_installed" = false ]; then
LOG_INFO "安装python3-myst-nb和mystnb-docutils-html"
dnf install -y python3-myst-nb mystnb-docutils-html
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 测试--output参数功能
LOG_INFO "测试使用--output参数指定输出文件"
test_output_file="test_output.html"
python3 -m myst_nb --output "$test_output_file" > /dev/null 2>&1
CHECK_RESULT $? 0 0 "执行命令失败,可能不支持--output参数"
# 检查输出文件是否存在
LOG_INFO "检查输出文件是否存在"
[ -f "$test_output_file" ]
CHECK_RESULT $? 0 0 "输出文件未生成"
# 清理测试生成的文件
LOG_INFO "清理测试生成的文件"
rm -f "$test_output_file"
# 卸载软件包(如果之前未安装)
if [ "$keep_installed" = false ]; then
LOG_INFO "卸载python3-myst-nb和mystnb-docutils-html"
dnf remove -y python3-myst-nb mystnb-docutils-html
CHECK_RESULT $?
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,107 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试使用 --quiet 选项不报告系统消息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义测试使用的软件包名称
PACKAGE_NAME="python3-myst-nb"
# 定义测试命令及参数
TEST_COMMAND="mystnb-docutils-html"
QUIET_OPTION="--quiet"
# 步骤1: 检查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 "软件包 ${PACKAGE_NAME} 在yum源中存在"
# 步骤2: 检查当前环境是否已安装该软件包
LOG_INFO "步骤2: 检查当前环境是否已安装软件包 ${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
# 步骤3: 如果未安装,则安装软件包
if [ ${ALREADY_INSTALLED} -eq 0 ]; then
LOG_INFO "步骤3: 安装软件包 ${PACKAGE_NAME}"
dnf install -y "${PACKAGE_NAME}"
CHECK_RESULT $? 0 0 "安装软件包 ${PACKAGE_NAME} 失败"
LOG_INFO "软件包 ${PACKAGE_NAME} 安装成功"
fi
# 步骤4: 检查测试命令是否支持 --quiet 参数
LOG_INFO "步骤4: 检查测试命令 ${TEST_COMMAND} 是否支持 ${QUIET_OPTION} 参数"
${TEST_COMMAND} --help 2>&1 | grep -q "${QUIET_OPTION}"
if [ $? -ne 0 ]; then
LOG_ERROR "测试命令 ${TEST_COMMAND} 不支持 ${QUIET_OPTION} 参数"
exit 255
fi
LOG_INFO "测试命令 ${TEST_COMMAND} 支持 ${QUIET_OPTION} 参数"
# 步骤5: 执行测试命令,验证使用 --quiet 选项时不报告系统消息
LOG_INFO "步骤5: 执行测试命令 ${TEST_COMMAND} ${QUIET_OPTION},验证不报告系统消息"
# 创建一个简单的输入文件用于测试
TEST_INPUT_FILE=$(mktemp)
echo "Test content for mystnb" > "${TEST_INPUT_FILE}"
TEST_OUTPUT_FILE=$(mktemp)
# 执行命令,捕获输出
${TEST_COMMAND} "${QUIET_OPTION}" "${TEST_INPUT_FILE}" "${TEST_OUTPUT_FILE}" 2>&1 | tee /tmp/command_output.txt
COMMAND_EXIT_CODE=$?
# 检查命令是否成功执行
CHECK_RESULT ${COMMAND_EXIT_CODE} 0 0 "测试命令 ${TEST_COMMAND} 执行失败"
# 步骤6: 验证输出中是否不包含系统消息(即没有非错误的标准输出)
LOG_INFO "步骤6: 验证输出中是否不包含系统消息"
if [ -s /tmp/command_output.txt ]; then
LOG_ERROR "测试命令使用了 ${QUIET_OPTION} 选项,但仍然产生了输出"
CHECK_RESULT 1 0 0 "quiet选项未生效仍有系统消息输出"
else
LOG_INFO "测试命令使用 ${QUIET_OPTION} 选项后未产生系统消息输出,符合预期"
CHECK_RESULT 0 0 0 "quiet选项生效无系统消息输出"
fi
# 清理临时文件
rm -f "${TEST_INPUT_FILE}" "${TEST_OUTPUT_FILE}" /tmp/command_output.txt
LOG_INFO "临时文件已清理"
# 步骤7: 环境恢复
LOG_INFO "步骤7: 环境恢复"
if [ ${ALREADY_INSTALLED} -eq 0 ]; then
LOG_INFO "卸载测试安装的软件包 ${PACKAGE_NAME}"
dnf remove -y "${PACKAGE_NAME}"
CHECK_RESULT $? 0 0 "卸载软件包 ${PACKAGE_NAME} 失败"
LOG_INFO "软件包 ${PACKAGE_NAME} 卸载成功,环境已恢复"
else
LOG_INFO "软件包 ${PACKAGE_NAME} 为原有安装,保持安装状态"
fi
LOG_INFO "测试脚本执行完毕"
}
main "$@"

View File

@@ -1,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-01
# @License : Mulan PSL v2
# @Desc : 测试使用-s参数包含查看文档源链接
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装python3-myst-nb和mystnb-docutils-html_s
LOG_INFO "检查是否已安装python3-myst-nb和mystnb-docutils-html_s"
if dnf list installed python3-myst-nb >/dev/null 2>&1 && dnf list installed mystnb-docutils-html_s >/dev/null 2>&1; then
LOG_INFO "python3-myst-nb和mystnb-docutils-html_s已安装"
INSTALLED=true
else
LOG_INFO "python3-myst-nb和mystnb-docutils-html_s未安装"
INSTALLED=false
fi
# 检查yum源中是否有python3-myst-nb和mystnb-docutils-html_s
LOG_INFO "检查yum源中是否有python3-myst-nb和mystnb-docutils-html_s"
if ! dnf list available python3-myst-nb >/dev/null 2>&1 || ! dnf list available mystnb-docutils-html_s >/dev/null 2>&1; then
LOG_ERROR "yum源中缺少python3-myst-nb或mystnb-docutils-html_s"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装python3-myst-nb和mystnb-docutils-html_s"
dnf install -y python3-myst-nb mystnb-docutils-html_s
CHECK_RESULT $? 0 0 "安装python3-myst-nb和mystnb-docutils-html_s失败"
fi
# 测试使用-s参数包含查看文档源链接
LOG_INFO "测试使用-s参数包含查看文档源链接"
output=$(python3 -m myst_nb --help | grep -w "\-s")
CHECK_RESULT $? 0 0 "-s参数不支持或不存在"
# 清理环境,恢复到之前的状态
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载python3-myst-nb和mystnb-docutils-html_s"
dnf remove -y python3-myst-nb mystnb-docutils-html_s
CHECK_RESULT $? 0 0 "卸载python3-myst-nb和mystnb-docutils-html_s失败"
fi
LOG_INFO "测试脚本执行完成"
}
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-03-16
# @License : Mulan PSL v2
# @Desc : 测试使用 --strict 选项在轻微问题时停止执行
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试使用 --strict 选项在轻微问题时停止执行"
# 检查是否已安装所需的软件包
LOG_INFO "检查是否已安装 python3-myst-nb、mystnb-docutils-html 软件包"
if ! dnf list installed python3-myst-nb &> /dev/null; then
INSTALLED_PYTHON3_MYST_NB=0
else
INSTALLED_PYTHON3_MYST_NB=1
fi
if ! dnf list installed mystnb-docutils-html &> /dev/null; then
INSTALLED_MYSTNB_DOCUTILS_HTML=0
else
INSTALLED_MYSTNB_DOCUTILS_HTML=1
fi
# 如果未安装,则进行安装
if [[ $INSTALLED_PYTHON3_MYST_NB -eq 0 ]] || [[ $INSTALLED_MYSTNB_DOCUTILS_HTML -eq 0 ]]; then
LOG_INFO "部分或全部软件包未安装,开始安装"
# 检查yum源中是否有 python3-myst-nb
LOG_INFO "检查yum源中是否有 python3-myst-nb"
if ! dnf list available python3-myst-nb &> /dev/null; then
LOG_ERROR "yum源中未找到 python3-myst-nb 软件包"
exit 255
fi
# 检查yum源中是否有 mystnb-docutils-html
LOG_INFO "检查yum源中是否有 mystnb-docutils-html"
if ! dnf list available mystnb-docutils-html &> /dev/null; then
LOG_ERROR "yum源中未找到 mystnb-docutils-html 软件包"
exit 255
fi
# 安装软件包
LOG_INFO "安装 python3-myst-nb 和 mystnb-docutils-html"
dnf install -y python3-myst-nb mystnb-docutils-html
CHECK_RESULT $? 0 0 "安装软件包失败"
else
LOG_INFO "软件包已安装,跳过安装步骤"
fi
# 测试 --strict 选项
LOG_INFO "测试使用 --strict 选项在轻微问题时停止执行"
# 创建一个包含轻微问题的测试文件
TEST_FILE="test_strict.md"
cat > $TEST_FILE << EOF
# Test Document
This is a test document with a warning.
\`\`\`{python}
print("Hello, World!")
\`\`\`
EOF
# 尝试使用 --strict 选项转换文档
LOG_INFO "执行 mystnb-docutils-html 命令并启用 --strict 选项"
mystnb-docutils-html --strict $TEST_FILE output.html 2>&1
EXIT_CODE=$?
# 检查退出码期望非0因为存在轻微问题
if [[ $EXIT_CODE -eq 0 ]]; then
LOG_ERROR "命令执行成功,但预期应因轻微问题而失败"
CHECK_RESULT 1 0 0 "--strict 选项未按预期工作"
else
LOG_INFO "命令因轻微问题而停止执行,符合预期"
CHECK_RESULT 0 0 0 "--strict 选项工作正常"
fi
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f $TEST_FILE output.html
# 环境恢复:如果脚本开始时未安装软件包,则卸载它们
if [[ $INSTALLED_PYTHON3_MYST_NB -eq 0 ]] || [[ $INSTALLED_MYSTNB_DOCUTILS_HTML -eq 0 ]]; then
LOG_INFO "卸载测试安装的软件包"
dnf remove -y python3-myst-nb mystnb-docutils-html
CHECK_RESULT $? 0 0 "卸载软件包失败"
else
LOG_INFO "保持原有软件包安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,66 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-01
# @License : Mulan PSL v2
# @Desc : 测试使用-t参数包含时间和日期信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装python3-myst-nb和mystnb-docutils-html_t
LOG_INFO "检查是否已安装python3-myst-nb和mystnb-docutils-html_t"
if rpm -q python3-myst-nb mystnb-docutils-html_t &>/dev/null; then
LOG_INFO "软件包已安装,脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "软件包未安装,将在测试后卸载"
INSTALLED=false
fi
# 检查yum源中是否存在软件包
LOG_INFO "检查yum源中是否存在python3-myst-nb和mystnb-docutils-html_t"
if ! dnf list available python3-myst-nb mystnb-docutils-html_t &>/dev/null; then
LOG_ERROR "yum源中不存在python3-myst-nb或mystnb-docutils-html_t"
exit 255
fi
# 安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装python3-myst-nb和mystnb-docutils-html_t"
dnf install -y python3-myst-nb mystnb-docutils-html_t
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 测试-t参数包含时间和日期信息
LOG_INFO "测试使用-t参数包含时间和日期信息"
output=$(mystnb-docutils-html_t -t "2023-10-01 12:00:00" 2>&1)
CHECK_RESULT $? 0 0 "-t参数执行失败"
if [[ "$output" != *"2023-10-01 12:00:00"* ]]; then
LOG_ERROR "-t参数未正确包含时间和日期信息"
exit 255
fi
# 清理环境:如果之前未安装则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载python3-myst-nb和mystnb-docutils-html_t"
dnf remove -y python3-myst-nb mystnb-docutils-html_t
CHECK_RESULT $? 0 0 "卸载软件包失败"
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-16
# @License : Mulan PSL v2
# @Desc : 测试使用 --time 选项包含时间和日期
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试使用 --time 选项包含时间和日期"
# 检查环境是否已安装所需软件包
LOG_INFO "检查环境是否已安装 python3-myst-nb, mystnb-docutils-html 软件包"
if dnf list installed python3-myst-nb >/dev/null 2>&1 && dnf list installed mystnb-docutils-html >/dev/null 2>&1; then
LOG_INFO "软件包已安装,测试结束后将保持安装状态"
INSTALLED="yes"
else
LOG_INFO "软件包未安装,将在测试过程中安装,并在测试结束后卸载"
INSTALLED="no"
fi
# 检查yum源中是否存在软件包
LOG_INFO "检查yum源中是否存在 python3-myst-nb 软件包"
if ! dnf list available python3-myst-nb >/dev/null 2>&1; then
LOG_ERROR "yum源中未找到 python3-myst-nb 软件包"
exit 255
fi
LOG_INFO "检查yum源中是否存在 mystnb-docutils-html 软件包"
if ! dnf list available mystnb-docutils-html >/dev/null 2>&1; then
LOG_ERROR "yum源中未找到 mystnb-docutils-html 软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = "no" ]; then
LOG_INFO "安装 python3-myst-nb 和 mystnb-docutils-html 软件包"
dnf install -y python3-myst-nb mystnb-docutils-html
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 检查 --time 参数是否被支持
LOG_INFO "检查 myst 命令是否支持 --time 参数"
if ! myst --help 2>&1 | grep -q -- "--time"; then
LOG_ERROR "myst 命令不支持 --time 参数"
# 如果是测试过程中安装的,需要卸载
if [ "$INSTALLED" = "no" ]; then
LOG_INFO "清理环境:卸载测试安装的软件包"
dnf remove -y python3-myst-nb mystnb-docutils-html
fi
exit 255
fi
# 执行测试:使用 --time 选项
LOG_INFO "执行测试:使用 myst --time 命令"
myst --time
CHECK_RESULT $? 0 0 "执行 myst --time 命令失败"
# 清理环境:如果测试过程中安装了软件包,则卸载
if [ "$INSTALLED" = "no" ]; then
LOG_INFO "清理环境:卸载测试安装的软件包"
dnf remove -y python3-myst-nb mystnb-docutils-html
CHECK_RESULT $? 0 0 "卸载软件包失败"
else
LOG_INFO "测试完成,保持软件包安装状态"
fi
LOG_INFO "测试使用 --time 选项包含时间和日期 完成"
}
main "$@"

View File

@@ -1,71 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-01
# @License : Mulan PSL v2
# @Desc : 测试使用--title参数指定文档标题
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装python3-myst-nb和mystnb-docutils-html_title
LOG_INFO "检查是否已安装python3-myst-nb和mystnb-docutils-html_title"
if dnf list installed python3-myst-nb >/dev/null 2>&1 && dnf list installed mystnb-docutils-html_title >/dev/null 2>&1; then
LOG_INFO "python3-myst-nb和mystnb-docutils-html_title已安装"
installed=true
else
LOG_INFO "python3-myst-nb和mystnb-docutils-html_title未安装"
installed=false
fi
# 检查yum源中是否有python3-myst-nb和mystnb-docutils-html_title
LOG_INFO "检查yum源中是否有python3-myst-nb和mystnb-docutils-html_title"
if ! dnf list available python3-myst-nb >/dev/null 2>&1 || ! dnf list available mystnb-docutils-html_title >/dev/null 2>&1; then
LOG_ERROR "yum源中缺少python3-myst-nb或mystnb-docutils-html_title"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$installed" = false ]; then
LOG_INFO "安装python3-myst-nb和mystnb-docutils-html_title"
dnf install -y python3-myst-nb mystnb-docutils-html_title
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 测试使用--title参数指定文档标题
LOG_INFO "测试使用--title参数指定文档标题"
output=$(python3 -m myst_nb --title "测试标题" 2>&1)
CHECK_RESULT $? 0 0 "执行命令失败"
# 检查输出是否包含指定的标题
LOG_INFO "检查输出是否包含指定的标题"
if [[ "$output" != *"测试标题"* ]]; then
LOG_ERROR "--title参数未生效"
exit 255
fi
# 恢复环境:如果脚本开始时未安装软件包,则卸载
if [ "$installed" = false ]; then
LOG_INFO "卸载python3-myst-nb和mystnb-docutils-html_title"
dnf remove -y python3-myst-nb mystnb-docutils-html_title
CHECK_RESULT $? 0 0 "卸载软件包失败"
fi
LOG_INFO "测试脚本执行完成"
}
main "$@"

View File

@@ -1,82 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试使用 --verbose 选项报告所有系统消息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:测试使用 --verbose 选项报告所有系统消息"
# 步骤1检查是否已安装 python3-myst-nb, mystnb-docutils-html 软件包
LOG_INFO "检查 python3-myst-nb, mystnb-docutils-html 是否已安装"
rpm -q python3-myst-nb mystnb-docutils-html > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "软件包已安装,测试结束后保持安装状态"
INSTALLED=1
else
LOG_INFO "软件包未安装,将在测试过程中安装"
INSTALLED=0
fi
# 步骤2检查 yum 源中是否有 python3-myst-nb, mystnb-docutils-html 软件包
LOG_INFO "检查 yum 源中是否有 python3-myst-nb, mystnb-docutils-html 软件包"
dnf list available python3-myst-nb mystnb-docutils-html > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum 源中缺少 python3-myst-nb 或 mystnb-docutils-html 软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum 源中缺少 python3-myst-nb 或 mystnb-docutils-html 软件包"
exit 255
fi
# 步骤3如果未安装则安装软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装 python3-myst-nb, mystnb-docutils-html 软件包"
dnf install -y python3-myst-nb mystnb-docutils-html
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 步骤4执行测试命令检查 --verbose 选项是否支持
LOG_INFO "执行测试命令python3-myst-nb --verbose"
python3-myst-nb --verbose > /dev/null 2>&1
if [ $? -eq 255 ]; then
LOG_ERROR "--verbose 选项不支持"
exit 255
fi
CHECK_RESULT $? 0 0 "执行 python3-myst-nb --verbose 失败"
# 步骤5验证 --verbose 选项输出系统消息
LOG_INFO "验证 --verbose 选项是否输出系统消息"
output=$(python3-myst-nb --verbose 2>&1)
if echo "$output" | grep -q "系统消息\|verbose\|info"; then
LOG_INFO "--verbose 选项成功输出系统消息"
else
LOG_ERROR "--verbose 选项未输出系统消息"
exit 1
fi
# 步骤6清理环境如果测试前未安装则卸载软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载测试过程中安装的软件包"
dnf remove -y python3-myst-nb mystnb-docutils-html
CHECK_RESULT $? 0 0 "卸载软件包失败"
else
LOG_INFO "测试前已安装软件包,保持安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,77 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试使用 --version 参数查看版本信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:使用 --version 参数查看版本信息"
# 检查软件包是否在yum源中
LOG_INFO "检查软件包 python3-myst-nb、mystnb-docutils-html 是否在yum源中"
dnf list available python3-myst-nb 2>&1 | grep -q "python3-myst-nb"
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 python3-myst-nb 不在yum源中"
exit 255
fi
dnf list available mystnb-docutils-html 2>&1 | grep -q "mystnb-docutils-html"
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 mystnb-docutils-html 不在yum源中"
exit 255
fi
# 检查是否已安装
LOG_INFO "检查是否已安装 python3-myst-nb、mystnb-docutils-html"
rpm -q python3-myst-nb > /dev/null 2>&1
python3_myst_nb_installed=$?
rpm -q mystnb-docutils-html > /dev/null 2>&1
mystnb_docutils_html_installed=$?
# 如果未安装,则安装
if [ $python3_myst_nb_installed -ne 0 ] || [ $mystnb_docutils_html_installed -ne 0 ]; then
LOG_INFO "未完全安装,开始安装软件包"
dnf install -y python3-myst-nb mystnb-docutils-html
CHECK_RESULT $? 0 0 "安装软件包失败"
installed_during_test=1
else
LOG_INFO "软件包已安装,跳过安装步骤"
installed_during_test=0
fi
# 测试 --version 参数
LOG_INFO "测试 python3-myst-nb --version 命令"
python3-myst-nb --version > /dev/null 2>&1
CHECK_RESULT $? 0 0 "python3-myst-nb --version 命令执行失败"
LOG_INFO "测试 mystnb-docutils-html --version 命令"
mystnb-docutils-html --version > /dev/null 2>&1
CHECK_RESULT $? 0 0 "mystnb-docutils-html --version 命令执行失败"
# 清理环境
if [ $installed_during_test -eq 1 ]; then
LOG_INFO "卸载测试期间安装的软件包"
dnf remove -y python3-myst-nb mystnb-docutils-html
CHECK_RESULT $? 0 0 "卸载软件包失败"
else
LOG_INFO "测试前已安装,保持安装状态"
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-01
# @License : Mulan PSL v2
# @Desc : 测试使用-d参数包含日期信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已经安装所需软件包
LOG_INFO "检查是否已安装python3-myst-nb、mystnb-docutils-latex_d"
if ! dnf list installed python3-myst-nb &>/dev/null || ! dnf list installed mystnb-docutils-latex_d &>/dev/null; then
LOG_INFO "软件包未安装,将进行安装测试"
INSTALLED=false
else
LOG_INFO "软件包已安装,跳过安装步骤"
INSTALLED=true
fi
# 检查yum源中是否存在所需软件包
LOG_INFO "检查yum源中是否存在python3-myst-nb和mystnb-docutils-latex_d"
if ! dnf list available python3-myst-nb &>/dev/null || ! dnf list available mystnb-docutils-latex_d &>/dev/null; then
LOG_ERROR "yum源中缺少所需软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装python3-myst-nb和mystnb-docutils-latex_d"
dnf install -y python3-myst-nb mystnb-docutils-latex_d
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 测试使用-d参数包含日期信息
LOG_INFO "测试使用-d参数包含日期信息"
output=$(mystnb-docutils-latex_d -d 2023-10-01)
CHECK_RESULT $? 0 0 "执行命令失败"
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载测试安装的软件包"
dnf remove -y python3-myst-nb mystnb-docutils-latex_d
CHECK_RESULT $? 0 0 "卸载软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,102 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试启用调试级别的系统消息和诊断
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义日志函数(虽然题目要求直接使用,但为了脚本完整运行,这里简单定义)
LOG_INFO() {
echo "[INFO] $*"
}
LOG_ERROR() {
echo "[ERROR] $*"
}
# 定义CHECK_RESULT函数虽然题目要求直接使用但为了脚本完整运行这里简单定义
CHECK_RESULT() {
local actual=$1
local expected=$2
local exit_code=$3
local error_msg=$4
if [ $actual -ne $expected ]; then
LOG_ERROR "$error_msg"
exit $exit_code
fi
}
# 定义SSH_CMD函数虽然题目要求直接使用但为了脚本完整运行这里简单定义
SSH_CMD() {
local cmd=$1
local node_ip=$2
local node_password=$3
local node_user=$4
sshpass -p "$node_password" ssh -o StrictHostKeyChecking=no "$node_user@$node_ip" "$cmd"
}
# 定义软件包列表
PACKAGES="python3-myst-nb mystnb-docutils-latex_debug"
# 步骤1检查yum源中是否有指定软件包
LOG_INFO "步骤1检查yum源中是否有指定软件包"
for pkg in $PACKAGES; do
dnf list available $pkg &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 $pkg 在yum源中不存在"
exit 255
fi
done
# 步骤2检查是否已经安装软件包
LOG_INFO "步骤2检查是否已经安装软件包"
INSTALLED=false
for pkg in $PACKAGES; do
rpm -q $pkg &>/dev/null
if [ $? -eq 0 ]; then
INSTALLED=true
LOG_INFO "软件包 $pkg 已经安装"
fi
done
# 步骤3如果未安装则安装软件包
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "步骤3安装软件包"
dnf install -y $PACKAGES
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 步骤4测试启用调试级别的系统消息和诊断
LOG_INFO "步骤4测试启用调试级别的系统消息和诊断"
# 假设测试命令是 "python3 -m myst_nb --debug",这里根据实际测试用例调整
python3 -m myst_nb --debug &>/dev/null
CHECK_RESULT $? 0 0 "启用调试级别的系统消息和诊断失败"
# 步骤5清理环境恢复到之前的状态
LOG_INFO "步骤5清理环境恢复到之前的状态"
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "卸载软件包"
dnf remove -y $PACKAGES
CHECK_RESULT $? 0 0 "卸载软件包失败"
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-01
# @License : Mulan PSL v2
# @Desc : 测试使用-g参数包含生成器信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装python3-myst-nb、mystnb-docutils-latex_g
LOG_INFO "检查是否已安装python3-myst-nb和mystnb-docutils-latex_g"
if dnf list installed python3-myst-nb && dnf list installed mystnb-docutils-latex_g; then
LOG_INFO "python3-myst-nb和mystnb-docutils-latex_g已安装"
INSTALLED=true
else
LOG_INFO "python3-myst-nb和mystnb-docutils-latex_g未安装"
INSTALLED=false
fi
# 检查yum源中是否存在python3-myst-nb和mystnb-docutils-latex_g
LOG_INFO "检查yum源中是否存在python3-myst-nb和mystnb-docutils-latex_g"
if ! dnf list available python3-myst-nb || ! dnf list available mystnb-docutils-latex_g; then
LOG_ERROR "yum源中不存在python3-myst-nb或mystnb-docutils-latex_g"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装python3-myst-nb和mystnb-docutils-latex_g"
dnf install -y python3-myst-nb mystnb-docutils-latex_g
CHECK_RESULT $? 0 0 "安装python3-myst-nb和mystnb-docutils-latex_g失败"
fi
# 测试使用-g参数包含生成器信息
LOG_INFO "测试使用-g参数包含生成器信息"
output=$(python3-myst-nb -g 2>&1)
if [[ $output == *"generator"* ]]; then
LOG_INFO "测试通过:-g参数包含生成器信息"
else
LOG_ERROR "测试失败:-g参数不包含生成器信息或命令执行失败"
CHECK_RESULT $? 0 1 "-g参数测试失败"
fi
# 如果之前未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载python3-myst-nb和mystnb-docutils-latex_g"
dnf remove -y python3-myst-nb mystnb-docutils-latex_g
CHECK_RESULT $? 0 0 "卸载python3-myst-nb和mystnb-docutils-latex_g失败"
fi
LOG_INFO "测试脚本执行完毕,环境已恢复"
}
main "$@"

View File

@@ -1,81 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试显示帮助信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:测试显示帮助信息"
# 检查是否已安装python3-myst-nb、mystnb-docutils-latex_h
LOG_INFO "检查python3-myst-nb、mystnb-docutils-latex_h是否已安装"
rpm -q python3-myst-nb mystnb-docutils-latex_h > /dev/null 2>&1
installed=$?
if [ $installed -eq 0 ]; then
LOG_INFO "python3-myst-nb和mystnb-docutils-latex_h已安装测试结束后将保持安装状态"
pre_installed=true
else
LOG_INFO "python3-myst-nb和mystnb-docutils-latex_h未安装将在测试步骤中安装测试结束后卸载"
pre_installed=false
fi
# 检查yum源中是否存在软件包
LOG_INFO "检查yum源中是否存在python3-myst-nb"
dnf list available python3-myst-nb > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中未找到python3-myst-nb软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到python3-myst-nb软件包"
exit 255
fi
LOG_INFO "检查yum源中是否存在mystnb-docutils-latex_h"
dnf list available mystnb-docutils-latex_h > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中未找到mystnb-docutils-latex_h软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到mystnb-docutils-latex_h软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$pre_installed" = false ]; then
LOG_INFO "安装python3-myst-nb和mystnb-docutils-latex_h"
dnf install -y python3-myst-nb mystnb-docutils-latex_h
CHECK_RESULT $? 0 0 "安装python3-myst-nb和mystnb-docutils-latex_h失败"
fi
# 测试显示帮助信息
LOG_INFO "测试myst命令显示帮助信息"
myst --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "myst命令显示帮助信息失败"
LOG_INFO "测试nbconvert命令显示帮助信息"
jupyter nbconvert --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "nbconvert命令显示帮助信息失败"
# 清理环境:如果测试前未安装,则卸载软件包
if [ "$pre_installed" = false ]; then
LOG_INFO "卸载python3-myst-nb和mystnb-docutils-latex_h"
dnf remove -y python3-myst-nb mystnb-docutils-latex_h
CHECK_RESULT $? 0 0 "卸载python3-myst-nb和mystnb-docutils-latex_h失败"
fi
LOG_INFO "测试完成:测试显示帮助信息"
}
main "$@"

View File

@@ -1,80 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-01
# @License : Mulan PSL v2
# @Desc : 测试使用--output参数指定输出文件
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装所需软件包
LOG_INFO "检查是否已安装python3-myst-nb、mystnb-docutils-latex-output"
dnf list installed python3-myst-nb mystnb-docutils-latex-output > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "软件包已安装,脚本结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "软件包未安装,将在测试完成后卸载"
INSTALLED=false
fi
# 检查yum源中是否存在软件包
LOG_INFO "检查yum源中是否存在python3-myst-nb和mystnb-docutils-latex-output"
dnf list available python3-myst-nb mystnb-docutils-latex-output > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在所需软件包"
exit 255
fi
# 安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装python3-myst-nb和mystnb-docutils-latex-output"
dnf install -y python3-myst-nb mystnb-docutils-latex-output
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 测试--output参数
LOG_INFO "测试使用--output参数指定输出文件"
TEST_OUTPUT_FILE="/tmp/test_output.txt"
python3 -m myst_nb --output "$TEST_OUTPUT_FILE" > /dev/null 2>&1
CHECK_RESULT $? 0 0 "执行命令失败"
# 检查输出文件是否存在
LOG_INFO "检查输出文件是否存在"
if [ -f "$TEST_OUTPUT_FILE" ]; then
LOG_INFO "输出文件创建成功"
else
LOG_ERROR "输出文件未创建"
exit 1
fi
# 清理测试输出文件
LOG_INFO "清理测试输出文件"
rm -f "$TEST_OUTPUT_FILE"
# 卸载软件包(如果最初未安装)
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载python3-myst-nb和mystnb-docutils-latex-output"
dnf remove -y python3-myst-nb mystnb-docutils-latex-output
CHECK_RESULT $? 0 0 "卸载软件包失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,165 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试不报告任何系统消息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 环境检查:判断是否已安装所需软件包
LOG_INFO "开始检查环境是否已安装python3-myst-nb、mystnb-docutils-latex_q软件包"
# 检查python3-myst-nb是否已安装
if dnf list installed python3-myst-nb &>/dev/null; then
PYTHON3_MYST_NB_INSTALLED=1
LOG_INFO "python3-myst-nb已安装"
else
PYTHON3_MYST_NB_INSTALLED=0
LOG_INFO "python3-myst-nb未安装"
fi
# 检查mystnb-docutils-latex_q是否已安装
if dnf list installed mystnb-docutils-latex_q &>/dev/null; then
MYSTNB_DOCUTILS_LATEX_Q_INSTALLED=1
LOG_INFO "mystnb-docutils-latex_q已安装"
else
MYSTNB_DOCUTILS_LATEX_Q_INSTALLED=0
LOG_INFO "mystnb-docutils-latex_q未安装"
fi
# 检查yum源中是否有python3-myst-nb软件包
LOG_INFO "检查yum源中是否有python3-myst-nb软件包"
dnf list available python3-myst-nb &>/dev/null
CHECK_RESULT $? 0 0 "yum源中未找到python3-myst-nb软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到python3-myst-nb软件包"
exit 255
fi
# 检查yum源中是否有mystnb-docutils-latex_q软件包
LOG_INFO "检查yum源中是否有mystnb-docutils-latex_q软件包"
dnf list available mystnb-docutils-latex_q &>/dev/null
CHECK_RESULT $? 0 0 "yum源中未找到mystnb-docutils-latex_q软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到mystnb-docutils-latex_q软件包"
exit 255
fi
# 如果软件包未安装,则进行安装
if [ $PYTHON3_MYST_NB_INSTALLED -eq 0 ]; then
LOG_INFO "开始安装python3-myst-nb软件包"
dnf install -y python3-myst-nb
CHECK_RESULT $? 0 0 "安装python3-myst-nb失败"
PYTHON3_MYST_NB_INSTALLED=1
fi
if [ $MYSTNB_DOCUTILS_LATEX_Q_INSTALLED -eq 0 ]; then
LOG_INFO "开始安装mystnb-docutils-latex_q软件包"
dnf install -y mystnb-docutils-latex_q
CHECK_RESULT $? 0 0 "安装mystnb-docutils-latex_q失败"
MYSTNB_DOCUTILS_LATEX_Q_INSTALLED=1
fi
# 测试步骤:测试不报告任何系统消息
LOG_INFO "开始测试:测试不报告任何系统消息"
# 检查python3-myst-nb命令是否存在
LOG_INFO "检查python3-myst-nb命令是否存在"
command -v python3-myst-nb &>/dev/null
CHECK_RESULT $? 0 0 "python3-myst-nb命令不存在"
# 检查mystnb-docutils-latex_q命令是否存在
LOG_INFO "检查mystnb-docutils-latex_q命令是否存在"
command -v mystnb-docutils-latex_q &>/dev/null
CHECK_RESULT $? 0 0 "mystnb-docutils-latex_q命令不存在"
# 测试python3-myst-nb命令是否支持--help参数
LOG_INFO "测试python3-myst-nb命令是否支持--help参数"
python3-myst-nb --help &>/dev/null
CHECK_RESULT $? 0 0 "python3-myst-nb命令不支持--help参数"
# 测试mystnb-docutils-latex_q命令是否支持--help参数
LOG_INFO "测试mystnb-docutils-latex_q命令是否支持--help参数"
mystnb-docutils-latex_q --help &>/dev/null
CHECK_RESULT $? 0 0 "mystnb-docutils-latex_q命令不支持--help参数"
# 测试python3-myst-nb执行简单命令
LOG_INFO "测试python3-myst-nb执行简单命令"
python3-myst-nb --version &>/dev/null
CHECK_RESULT $? 0 0 "python3-myst-nb执行失败"
# 测试mystnb-docutils-latex_q执行简单命令
LOG_INFO "测试mystnb-docutils-latex_q执行简单命令"
mystnb-docutils-latex_q --version &>/dev/null
CHECK_RESULT $? 0 0 "mystnb-docutils-latex_q执行失败"
# 测试不报告任何系统消息
LOG_INFO "测试不报告任何系统消息"
# 这里假设测试不报告任何系统消息意味着命令执行不产生额外输出
python3-myst-nb --version 2>&1 | grep -q "系统消息"
if [ $? -eq 0 ]; then
LOG_ERROR "python3-myst-nb报告了系统消息"
exit 1
fi
mystnb-docutils-latex_q --version 2>&1 | grep -q "系统消息"
if [ $? -eq 0 ]; then
LOG_ERROR "mystnb-docutils-latex_q报告了系统消息"
exit 1
fi
LOG_INFO "测试完成:未报告任何系统消息"
# 环境清理:如果测试前未安装,则卸载软件包
LOG_INFO "开始环境清理"
# 记录测试前的安装状态
PYTHON3_MYST_NB_CLEANUP=0
MYSTNB_DOCUTILS_LATEX_Q_CLEANUP=0
if [ $PYTHON3_MYST_NB_INSTALLED -eq 1 ]; then
# 如果测试前未安装,则标记需要清理
if ! dnf list installed python3-myst-nb &>/dev/null 2>&1; then
PYTHON3_MYST_NB_CLEANUP=1
fi
fi
if [ $MYSTNB_DOCUTILS_LATEX_Q_INSTALLED -eq 1 ]; then
# 如果测试前未安装,则标记需要清理
if ! dnf list installed mystnb-docutils-latex_q &>/dev/null 2>&1; then
MYSTNB_DOCUTILS_LATEX_Q_CLEANUP=1
fi
fi
# 清理python3-myst-nb
if [ $PYTHON3_MYST_NB_CLEANUP -eq 1 ]; then
LOG_INFO "卸载python3-myst-nb软件包"
dnf remove -y python3-myst-nb
CHECK_RESULT $? 0 0 "卸载python3-myst-nb失败"
fi
# 清理mystnb-docutils-latex_q
if [ $MYSTNB_DOCUTILS_LATEX_Q_CLEANUP -eq 1 ]; then
LOG_INFO "卸载mystnb-docutils-latex_q软件包"
dnf remove -y mystnb-docutils-latex_q
CHECK_RESULT $? 0 0 "卸载mystnb-docutils-latex_q失败"
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 : 2025-12-01
# @License : Mulan PSL v2
# @Desc : 测试使用-s参数包含源链接
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:测试使用-s参数包含源链接"
# 检查是否已安装所需软件包
LOG_INFO "检查是否已安装python3-myst-nb、mystnb-docutils-latex_s"
dnf list installed python3-myst-nb > /dev/null 2>&1
if [ $? -eq 0 ]; then
installed_python3_myst_nb=1
LOG_INFO "python3-myst-nb已安装"
else
installed_python3_myst_nb=0
LOG_INFO "python3-myst-nb未安装"
fi
dnf list installed mystnb-docutils-latex_s > /dev/null 2>&1
if [ $? -eq 0 ]; then
installed_mystnb_docutils_latex_s=1
LOG_INFO "mystnb-docutils-latex_s已安装"
else
installed_mystnb_docutils_latex_s=0
LOG_INFO "mystnb-docutils-latex_s未安装"
fi
# 检查yum源中是否有软件包
LOG_INFO "检查yum源中是否有python3-myst-nb和mystnb-docutils-latex_s"
dnf list available python3-myst-nb > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到python3-myst-nb"
exit 255
fi
dnf list available mystnb-docutils-latex_s > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到mystnb-docutils-latex_s"
exit 255
fi
# 如果未安装,则安装软件包
if [ $installed_python3_myst_nb -eq 0 ] || [ $installed_mystnb_docutils_latex_s -eq 0 ]; then
LOG_INFO "开始安装python3-myst-nb和mystnb-docutils-latex_s"
dnf install -y python3-myst-nb mystnb-docutils-latex_s
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 测试使用-s参数包含源链接
LOG_INFO "测试使用-s参数包含源链接"
python3 -m myst_nb --help | grep -q "\-s"
if [ $? -ne 0 ]; then
LOG_ERROR "-s参数不存在或不支持"
exit 255
fi
# 执行命令并检查结果
LOG_INFO "执行命令python3 -m myst_nb -s <source_link>"
python3 -m myst_nb -s <source_link>
CHECK_RESULT $? 0 0 "执行命令失败"
# 恢复环境
if [ $installed_python3_myst_nb -eq 0 ] || [ $installed_mystnb_docutils_latex_s -eq 0 ]; then
}
main "$@"

View File

@@ -1,155 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试在遇到最轻微问题时停止执行
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 环境初始化检查
LOG_INFO "开始检查环境状态"
# 检查是否已安装相关软件包
installed_packages=""
if dnf list installed python3-myst-nb &>/dev/null; then
installed_packages="$installed_packages python3-myst-nb"
fi
if dnf list installed mystnb-docutils-latex-strict &>/dev/null; then
installed_packages="$installed_packages mystnb-docutils-latex-strict"
fi
if [ -n "$installed_packages" ]; then
LOG_INFO "环境已安装软件包: $installed_packages"
already_installed=true
else
LOG_INFO "环境未安装相关软件包"
already_installed=false
fi
# 步骤1检查yum源中是否存在指定软件包
LOG_INFO "步骤1检查yum源中是否存在python3-myst-nb和mystnb-docutils-latex-strict软件包"
if ! dnf list available python3-myst-nb &>/dev/null; then
LOG_ERROR "yum源中不存在python3-myst-nb软件包"
exit 255
fi
if ! dnf list available mystnb-docutils-latex-strict &>/dev/null; then
LOG_ERROR "yum源中不存在mystnb-docutils-latex-strict软件包"
exit 255
fi
LOG_INFO "yum源中存在所有需要的软件包"
# 步骤2测试在遇到最轻微问题时停止执行
LOG_INFO "步骤2测试在遇到最轻微问题时停止执行"
# 检查命令参数是否存在
test_command="myst"
if ! command -v $test_command &>/dev/null && [ "$already_installed" = "false" ]; then
LOG_INFO "测试命令$test_command不存在,需要先安装软件包"
# 安装软件包
LOG_INFO "安装python3-myst-nb软件包"
dnf install -y python3-myst-nb
CHECK_RESULT $? 0 0 "安装python3-myst-nb失败"
LOG_INFO "安装mystnb-docutils-latex-strict软件包"
dnf install -y mystnb-docutils-latex-strict
CHECK_RESULT $? 0 0 "安装mystnb-docutils-latex-strict失败"
fi
# 检查命令是否存在
if ! command -v $test_command &>/dev/null; then
LOG_ERROR "命令$test_command不存在"
exit 255
fi
# 测试命令参数
LOG_INFO "测试myst命令的--version参数"
if ! $test_command --version &>/dev/null; then
LOG_ERROR "myst命令不支持--version参数"
exit 255
fi
# 测试无效参数(应该失败)
LOG_INFO "测试myst命令的无效参数--invalid-param"
if $test_command --invalid-param &>/dev/null; then
LOG_ERROR "myst命令不应该支持--invalid-param参数"
# 根据需求,遇到最轻微问题就停止执行
exit 255
fi
LOG_INFO "参数检查通过"
# 步骤3执行基本功能测试
LOG_INFO "步骤3执行基本功能测试"
# 创建一个简单的测试文件
test_file="test_document.md"
cat > $test_file << "EOF"
# Test Document
This is a test document for myst-nb testing.
{python}
print("Hello from MyST-NB")
EOF
# 尝试执行myst命令
LOG_INFO "尝试使用myst处理测试文档"
if ! $test_command $test_file 2>&1 | grep -q "Hello from MyST-NB"; then
LOG_ERROR "myst命令执行失败或输出不符合预期"
# 清理测试文件
rm -f $test_file
# 根据Linux标准退出码127表示命令未找到但这里应该是其他错误
exit 1
fi
LOG_INFO "myst命令基本功能测试通过"
# 清理测试文件
rm -f $test_file
# 环境恢复
LOG_INFO "开始环境恢复"
if [ "$already_installed" = "false" ]; then
LOG_INFO "卸载测试安装的软件包"
# 卸载软件包
LOG_INFO "卸载mystnb-docutils-latex-strict软件包"
dnf remove -y mystnb-docutils-latex-strict
CHECK_RESULT $? 0 0 "卸载mystnb-docutils-latex-strict失败"
LOG_INFO "卸载python3-myst-nb软件包"
dnf remove -y python3-myst-nb
CHECK_RESULT $? 0 0 "卸载python3-myst-nb失败"
# 清理可能残留的依赖
dnf autoremove -y
CHECK_RESULT $? 0 0 "自动清理依赖失败"
else
LOG_INFO "保持原有软件包安装状态"
fi
LOG_INFO "环境恢复完成"
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-01
# @License : Mulan PSL v2
# @Desc : 测试使用-t参数包含时间和日期信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装所需软件包
LOG_INFO "检查是否已安装python3-myst-nb、mystnb-docutils-latex软件包"
dnf list installed python3-myst-nb > /dev/null 2>&1
python3_myst_nb_installed=$?
dnf list installed mystnb-docutils-latex > /dev/null 2>&1
mystnb_docutils_latex_installed=$?
if [ $python3_myst_nb_installed -eq 0 ] && [ $mystnb_docutils_latex_installed -eq 0 ]; then
LOG_INFO "软件包已安装,脚本结束时将保持安装状态"
already_installed=true
else
LOG_INFO "软件包未安装,将在测试步骤中安装并在脚本结束前卸载"
already_installed=false
fi
# 检查yum源中是否有所需软件包
LOG_INFO "检查yum源中是否有python3-myst-nb、mystnb-docutils-latex软件包"
dnf list available python3-myst-nb > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到python3-myst-nb软件包"
exit 255
fi
dnf list available mystnb-docutils-latex > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到mystnb-docutils-latex软件包"
exit 255
fi
# 安装软件包(如果未安装)
if [ "$already_installed" = false ]; then
LOG_INFO "正在安装python3-myst-nb和mystnb-docutils-latex软件包"
dnf install -y python3-myst-nb mystnb-docutils-latex > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 测试使用-t参数包含时间和日期信息
LOG_INFO "测试使用-t参数包含时间和日期信息"
python3 -m myst_nb --help | grep -q "\-t, \-\-time"
CHECK_RESULT $? 0 0 "-t参数不支持"
# 清理环境(如果之前未安装)
if [ "$already_installed" = false ]; then
LOG_INFO "正在卸载python3-myst-nb和mystnb-docutils-latex软件包"
dnf remove -y python3-myst-nb mystnb-docutils-latex > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载软件包失败"
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-01
# @License : Mulan PSL v2
# @Desc : 测试使用--title参数指定文档标题
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试使用--title参数指定文档标题"
# 检查是否已安装所需软件包
LOG_INFO "检查是否已安装python3-myst-nb、mystnb-docutils-latex_title软件包"
if ! dnf list installed python3-myst-nb &>/dev/null || ! dnf list installed mystnb-docutils-latex_title &>/dev/null; then
LOG_INFO "软件包未安装,准备安装"
# 检查yum源中是否有软件包
if ! dnf list available python3-myst-nb &>/dev/null || ! dnf list available mystnb-docutils-latex_title &>/dev/null; then
LOG_ERROR "yum源中缺少所需软件包"
exit 255
fi
# 安装软件包
dnf install -y python3-myst-nb mystnb-docutils-latex_title
CHECK_RESULT $? 0 0 "安装软件包失败"
# 标记需要卸载
NEED_CLEANUP=1
else
LOG_INFO "软件包已安装"
NEED_CLEANUP=0
fi
# 测试--title参数
LOG_INFO "测试--title参数"
mystnb-docutils-latex_title --title "测试标题"
CHECK_RESULT $? 0 0 "执行--title参数失败"
# 清理环境
if [ $NEED_CLEANUP -eq 1 ]; then
LOG_INFO "清理环境,卸载软件包"
dnf remove -y python3-myst-nb mystnb-docutils-latex_title
CHECK_RESULT $? 0 0 "卸载软件包失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

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

View File

@@ -1,161 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试报告所有系统消息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试脚本:测试报告所有系统消息
# 定义颜色输出函数(可选,用于美化输出)
LOG_INFO() {
echo "[INFO] $1"
}
LOG_ERROR() {
echo "[ERROR] $1"
}
# 检查软件包是否在yum源中
check_package_in_repo() {
local package_name="$1"
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"
}
# 安装软件包
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 失败"
}
# 检查软件包是否已安装
is_package_installed() {
local package_name="$1"
rpm -q "$package_name" &>/dev/null
return $?
}
# 主测试函数
run_test() {
LOG_INFO "开始测试:测试报告所有系统消息"
# 定义需要测试的软件包
packages=("python3-myst-nb" "mystnb-docutils-latex_v")
# 记录初始安装状态
initial_install_status=()
for pkg in "${packages[@]}"; do
if is_package_installed "$pkg"; then
initial_install_status["$pkg"]=1
LOG_INFO "软件包 $pkg 已安装"
else
initial_install_status["$pkg"]=0
LOG_INFO "软件包 $pkg 未安装"
fi
done
# 检查yum源中是否存在软件包
for pkg in "${packages[@]}"; do
check_package_in_repo "$pkg"
done
# 安装软件包(如果未安装)
for pkg in "${packages[@]}"; do
if [ "${initial_install_status[$pkg]}" -eq 0 ]; then
install_package "$pkg"
fi
done
# 测试命令参数
LOG_INFO "测试python3命令参数"
check_command_param "python3" "--version"
# 执行python3命令测试
LOG_INFO "执行python3 --version命令"
python3 --version
CHECK_RESULT $? 0 0 "python3 --version命令执行失败"
# 测试myst命令如果存在
LOG_INFO "测试myst命令"
if command -v myst &>/dev/null; then
check_command_param "myst" "--help"
LOG_INFO "执行myst --help命令"
myst --help
CHECK_RESULT $? 0 0 "myst --help命令执行失败"
else
LOG_INFO "myst命令不存在跳过测试"
fi
# 测试docutils命令如果存在
LOG_INFO "测试docutils命令"
if command -v rst2latex &>/dev/null; then
check_command_param "rst2latex" "--help"
LOG_INFO "执行rst2latex --help命令"
rst2latex --help
CHECK_RESULT $? 0 0 "rst2latex --help命令执行失败"
else
LOG_INFO "rst2latex命令不存在跳过测试"
fi
# 清理环境:根据初始状态卸载软件包
LOG_INFO "清理测试环境"
for pkg in "${packages[@]}"; do
if [ "${initial_install_status[$pkg]}" -eq 0 ]; then
uninstall_package "$pkg"
else
LOG_INFO "软件包 $pkg 初始已安装,保持安装状态"
fi
done
LOG_INFO "测试完成:测试报告所有系统消息"
}
# 执行测试
run_test
}
main "$@"

View File

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

View File

@@ -1,66 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-01
# @License : Mulan PSL v2
# @Desc : 测试使用-g参数包含生成器信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试使用-g参数包含生成器信息"
# 检查是否已安装所需软件包
LOG_INFO "检查是否已安装python3-myst-nb、mystnb-docutils-pseudoxml_g"
if ! dnf list installed python3-myst-nb &> /dev/null || ! dnf list installed mystnb-docutils-pseudoxml_g &> /dev/null; then
LOG_INFO "软件包未安装,准备安装"
# 检查yum源中是否有软件包
LOG_INFO "检查yum源中是否有python3-myst-nb和mystnb-docutils-pseudoxml_g"
if ! dnf list available python3-myst-nb &> /dev/null || ! dnf list available mystnb-docutils-pseudoxml_g &> /dev/null; then
LOG_ERROR "yum源中缺少所需软件包"
exit 255
fi
# 安装软件包
LOG_INFO "安装python3-myst-nb和mystnb-docutils-pseudoxml_g"
dnf install -y python3-myst-nb mystnb-docutils-pseudoxml_g
CHECK_RESULT $? 0 0 "安装软件包失败"
# 标记需要卸载
NEED_CLEANUP=1
else
LOG_INFO "软件包已安装,无需重复安装"
fi
# 测试使用-g参数包含生成器信息
LOG_INFO "测试使用-g参数包含生成器信息"
output=$(mystnb-docutils-pseudoxml_g -g test_input)
CHECK_RESULT $? 0 0 "执行命令失败"
# 检查输出是否包含生成器信息
if [[ "$output" != *"generator"* ]]; then
LOG_ERROR "输出中未包含生成器信息"
exit 255
fi
# 清理环境
if [ "$NEED_CLEANUP" -eq 1 ]; then
LOG_INFO "清理环境,卸载软件包"
dnf remove -y python3-myst-nb mystnb-docutils-pseudoxml_g
CHECK_RESULT $? 0 0 "卸载软件包失败"
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-01
# @License : Mulan PSL v2
# @Desc : 测试使用-s参数包含查看文档源链接
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:测试使用-s参数包含查看文档源链接"
# 检查软件包是否已安装
LOG_INFO "检查软件包是否已安装"
if dnf list installed | grep -q "python3-myst-nb"; then
LOG_INFO "软件包已安装,脚本结束后将保持安装状态"
installed=true
else
LOG_INFO "软件包未安装,将在脚本结束后卸载"
installed=false
fi
# 检查yum源中是否有软件包
LOG_INFO "检查yum源中是否有软件包"
if ! dnf list available | grep -q "python3-myst-nb"; then
LOG_ERROR "yum源中未找到软件包python3-myst-nb"
exit 255
fi
# 安装软件包(如果未安装)
if [ "$installed" = false ]; then
LOG_INFO "安装软件包python3-myst-nb"
dnf install -y python3-myst-nb
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 测试-s参数
LOG_INFO "测试-s参数包含查看文档源链接"
myst-nb --help | grep -q "\-s, \-\-source"
CHECK_RESULT $? 0 0 "-s参数不支持或不存在"
# 清理环境(如果脚本开始时未安装)
if [ "$installed" = false ]; then
LOG_INFO "卸载软件包python3-myst-nb"
dnf remove -y python3-myst-nb
CHECK_RESULT $? 0 0 "卸载软件包失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

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

View File

@@ -1,120 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试从指定文件读取配置设置
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试脚本:测试从指定文件读取配置设置
# 初始化变量
PYTHON_PACKAGE="python3-myst-nb"
DOCUTILS_PACKAGE="mystnb-docutils-xml_config"
TEST_FILE="/tmp/test_config.xml"
EXPECTED_OUTPUT="test_output"
CLEANUP_FLAG=0
# 步骤1检查yum源中是否有需要的软件包
LOG_INFO "步骤1检查yum源中是否有需要的软件包"
dnf list available ${PYTHON_PACKAGE} ${DOCUTILS_PACKAGE} &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中缺少必要的软件包"
exit 255
fi
# 步骤2检查当前环境是否已安装软件包
LOG_INFO "步骤2检查当前环境是否已安装软件包"
rpm -q ${PYTHON_PACKAGE} ${DOCUTILS_PACKAGE} &>/dev/null
if [ $? -eq 0 ]; then
LOG_INFO "软件包已安装,测试结束后将保持安装状态"
INSTALLED=1
else
LOG_INFO "软件包未安装,将作为测试步骤进行安装"
INSTALLED=0
CLEANUP_FLAG=1
fi
# 步骤3如果未安装则安装软件包
if [ ${INSTALLED} -eq 0 ]; then
LOG_INFO "步骤3安装必要的软件包"
dnf install -y ${PYTHON_PACKAGE} ${DOCUTILS_PACKAGE}
CHECK_RESULT $? 0 0 "软件包安装失败"
fi
# 步骤4创建测试配置文件
LOG_INFO "步骤4创建测试配置文件"
cat > ${TEST_FILE} << EOF
<?xml version="1.0" encoding="UTF-8"?>
<config>
<output>${EXPECTED_OUTPUT}</output>
<settings>
<format>xml</format>
<encoding>UTF-8</encoding>
</settings>
</config>
EOF
CHECK_RESULT $? 0 0 "创建测试配置文件失败"
# 步骤5验证mystnb-docutils-xml_config命令是否存在
LOG_INFO "步骤5验证mystnb-docutils-xml_config命令是否存在"
which mystnb-docutils-xml_config &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "mystnb-docutils-xml_config命令不存在"
exit 255
fi
# 步骤6测试从指定文件读取配置设置
LOG_INFO "步骤6测试从指定文件读取配置设置"
mystnb-docutils-xml_config --help 2>&1 | grep -q "\-\-config"
if [ $? -ne 0 ]; then
LOG_ERROR "mystnb-docutils-xml_config不支持--config参数"
exit 255
fi
# 步骤7执行配置读取测试
LOG_INFO "步骤7执行配置读取测试"
mystnb-docutils-xml_config --config ${TEST_FILE} --get output
CHECK_RESULT $? 0 0 "从配置文件读取设置失败"
# 步骤8验证读取的配置值
LOG_INFO "步骤8验证读取的配置值"
ACTUAL_OUTPUT=$(mystnb-docutils-xml_config --config ${TEST_FILE} --get output 2>/dev/null)
if [ "${ACTUAL_OUTPUT}" = "${EXPECTED_OUTPUT}" ]; then
LOG_INFO "配置读取成功:${ACTUAL_OUTPUT}"
CHECK_RESULT 0 0 0 "配置值不匹配"
else
LOG_ERROR "配置读取失败,期望:${EXPECTED_OUTPUT},实际:${ACTUAL_OUTPUT}"
CHECK_RESULT 1 0 0 "配置值不匹配"
fi
# 步骤9清理测试文件
LOG_INFO "步骤9清理测试文件"
rm -f ${TEST_FILE}
CHECK_RESULT $? 0 0 "清理测试文件失败"
# 步骤10如果需要清理卸载安装的软件包
if [ ${CLEANUP_FLAG} -eq 1 ]; then
LOG_INFO "步骤10卸载测试安装的软件包"
dnf remove -y ${PYTHON_PACKAGE} ${DOCUTILS_PACKAGE}
CHECK_RESULT $? 0 0 "软件包卸载失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,66 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-01
# @License : Mulan PSL v2
# @Desc : 测试使用-d参数包含日期信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装指定软件包
LOG_INFO "检查是否已安装 python3-myst-nb、mystnb-docutils-xml_d 软件包..."
rpm -q python3-myst-nb mystnb-docutils-xml_d > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "软件包已安装,测试结束后将保持安装状态。"
INSTALLED=true
else
LOG_INFO "软件包未安装,测试结束后将卸载软件包。"
INSTALLED=false
fi
# 检查yum源中是否存在软件包
LOG_INFO "检查yum源中是否存在 python3-myst-nb、mystnb-docutils-xml_d 软件包..."
dnf list available python3-myst-nb mystnb-docutils-xml_d > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在指定软件包退出测试。"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装 python3-myst-nb、mystnb-docutils-xml_d 软件包..."
dnf install -y python3-myst-nb mystnb-docutils-xml_d
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 测试使用 -d 参数包含日期信息
LOG_INFO "测试使用 -d 参数包含日期信息..."
mystnb-docutils-xml_d -d $(date +%Y-%m-%d) > /dev/null 2>&1
CHECK_RESULT $? 0 0 "-d 参数测试失败"
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载 python3-myst-nb、mystnb-docutils-xml_d 软件包..."
dnf remove -y python3-myst-nb mystnb-docutils-xml_d
CHECK_RESULT $? 0 0 "卸载软件包失败"
fi
LOG_INFO "测试完成,环境已恢复。"
}
main "$@"

View File

@@ -1,111 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试包含日期信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试包含日期信息
# 步骤1检查环境是否已安装所需软件包
LOG_INFO "步骤1检查环境是否已安装所需软件包"
# 检查是否已安装python3-myst-nb, mystnb-docutils, xml_date
if rpm -q python3-myst-nb mystnb-docutils xml_date >/dev/null 2>&1; then
LOG_INFO "软件包已安装,标记为已安装状态"
INSTALLED="true"
else
LOG_INFO "软件包未安装,标记为未安装状态"
INSTALLED="false"
fi
# 步骤2检查yum源中是否存在所需软件包
LOG_INFO "步骤2检查yum源中是否存在所需软件包"
# 检查python3-myst-nb
dnf list available python3-myst-nb >/dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中未找到python3-myst-nb软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到python3-myst-nb软件包"
exit 255
fi
# 检查mystnb-docutils
dnf list available mystnb-docutils >/dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中未找到mystnb-docutils软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到mystnb-docutils软件包"
exit 255
fi
# 检查xml_date
dnf list available xml_date >/dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中未找到xml_date软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到xml_date软件包"
exit 255
fi
# 步骤3如果未安装则安装软件包
LOG_INFO "步骤3如果未安装则安装软件包"
if [ "$INSTALLED" = "false" ]; then
dnf install -y python3-myst-nb mystnb-docutils xml_date
CHECK_RESULT $? 0 0 "安装软件包失败"
LOG_INFO "软件包安装成功"
fi
# 步骤4测试包含日期信息的命令
LOG_INFO "步骤4测试包含日期信息的命令"
# 检查命令参数是否存在
# 假设测试命令为xml_date --date检查--date参数是否存在
xml_date --help 2>&1 | grep -q "\-\-date"
if [ $? -ne 0 ]; then
LOG_ERROR "xml_date命令不支持--date参数"
exit 255
fi
# 执行包含日期信息的测试命令
xml_date --date "2023-10-01"
CHECK_RESULT $? 0 0 "执行xml_date --date命令失败"
# 步骤5验证日期信息处理功能
LOG_INFO "步骤5验证日期信息处理功能"
# 测试日期格式转换
TEST_DATE="2023-10-01"
EXPECTED_OUTPUT="2023-10-01"
ACTUAL_OUTPUT=$(xml_date --date "$TEST_DATE" 2>&1)
if echo "$ACTUAL_OUTPUT" | grep -q "$EXPECTED_OUTPUT"; then
LOG_INFO "日期信息处理功能正常"
else
LOG_ERROR "日期信息处理功能异常"
exit 1
fi
# 步骤6清理环境
LOG_INFO "步骤6清理环境"
if [ "$INSTALLED" = "false" ]; then
# 如果测试前未安装,则卸载安装的软件包
dnf remove -y python3-myst-nb mystnb-docutils xml_date
CHECK_RESULT $? 0 0 "卸载软件包失败"
LOG_INFO "软件包卸载成功,环境已恢复"
else
LOG_INFO "测试前已安装软件包,保持安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,120 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试启用调试级别的系统消息和诊断
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义日志函数(根据要求无需重新定义,但这里为了脚本完整性提供默认实现)
LOG_INFO() {
echo "[INFO] $*"
}
LOG_ERROR() {
echo "[ERROR] $*" >&2
}
# 定义检查结果函数(根据要求无需重新定义,但这里为了脚本完整性提供默认实现)
CHECK_RESULT() {
local actual=$1
local expect=$2
local exit_code=$3
local message=$4
if [ "$actual" -ne "$expect" ]; then
LOG_ERROR "$message"
exit $exit_code
fi
}
# 定义SSH_CMD函数根据要求无需重新定义但这里为了脚本完整性提供默认实现
SSH_CMD() {
local cmd=$1
local node_ip=$2
local node_password=$3
local node_user=$4
sshpass -p "$node_password" ssh -o StrictHostKeyChecking=no "$node_user@$node_ip" "$cmd"
}
# 测试脚本开始
LOG_INFO "开始测试:测试启用调试级别的系统消息和诊断"
# 步骤1检查是否已经安装所需软件包
LOG_INFO "步骤1检查是否已经安装所需软件包"
installed=false
if dnf list installed python3-myst-nb &> /dev/null; then
LOG_INFO "python3-myst-nb 已安装"
installed=true
else
LOG_INFO "python3-myst-nb 未安装"
fi
if dnf list installed mystnb-docutils-xml_debug &> /dev/null; then
LOG_INFO "mystnb-docutils-xml_debug 已安装"
installed=true
else
LOG_INFO "mystnb-docutils-xml_debug 未安装"
fi
# 步骤2检查yum源中是否有需要安装的软件包
LOG_INFO "步骤2检查yum源中是否有需要安装的软件包"
if ! dnf list available python3-myst-nb &> /dev/null; then
LOG_ERROR "yum源中未找到 python3-myst-nb 软件包"
exit 255
fi
if ! dnf list available mystnb-docutils-xml_debug &> /dev/null; then
LOG_ERROR "yum源中未找到 mystnb-docutils-xml_debug 软件包"
exit 255
fi
# 步骤3如果未安装则安装软件包
if [ "$installed" = false ]; then
LOG_INFO "步骤3安装所需软件包"
dnf install -y python3-myst-nb mystnb-docutils-xml_debug
CHECK_RESULT $? 0 0 "安装软件包失败"
else
LOG_INFO "步骤3软件包已安装跳过安装步骤"
fi
# 步骤4测试启用调试级别的系统消息和诊断
LOG_INFO "步骤4测试启用调试级别的系统消息和诊断"
# 假设测试命令为mystnb-docutils-xml_debug --debug
# 检查参数是否存在
if ! mystnb-docutils-xml_debug --help 2>&1 | grep -q "\-\-debug"; then
LOG_ERROR "参数 --debug 不存在或不支持"
exit 255
fi
# 执行测试命令
mystnb-docutils-xml_debug --debug
CHECK_RESULT $? 0 0 "启用调试级别的系统消息和诊断失败"
# 步骤5清理环境
LOG_INFO "步骤5清理环境"
if [ "$installed" = false ]; then
LOG_INFO "卸载测试安装的软件包"
dnf remove -y python3-myst-nb mystnb-docutils-xml_debug
CHECK_RESULT $? 0 0 "卸载软件包失败"
else
LOG_INFO "测试前已安装软件包,保持安装状态"
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-01
# @License : Mulan PSL v2
# @Desc : 测试使用-g参数包含生成器信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试使用-g参数包含生成器信息"
# 检查环境是否已安装所需软件包
LOG_INFO "检查环境是否已安装所需软件包"
if ! dnf list installed python3-myst-nb &>/dev/null || ! dnf list installed mystnb-docutils-xml &>/dev/null; then
LOG_INFO "环境未安装所需软件包,将进行安装"
INSTALLED=false
else
LOG_INFO "环境已安装所需软件包"
INSTALLED=true
fi
# 检查yum源中是否有软件包
LOG_INFO "检查yum源中是否有python3-myst-nb和mystnb-docutils-xml"
if ! dnf list available python3-myst-nb &>/dev/null || ! dnf list available mystnb-docutils-xml &>/dev/null; then
LOG_ERROR "yum源中缺少所需软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "正在安装python3-myst-nb和mystnb-docutils-xml"
dnf install -y python3-myst-nb mystnb-docutils-xml
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 测试使用-g参数
LOG_INFO "测试使用-g参数包含生成器信息"
output=$(python3-myst-nb -g 2>&1)
if [[ "$output" != *"generator"* ]]; then
LOG_ERROR "-g参数不支持或未包含生成器信息"
exit 255
fi
# 清理环境:如果之前未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "清理环境卸载python3-myst-nb和mystnb-docutils-xml"
dnf remove -y python3-myst-nb mystnb-docutils-xml
CHECK_RESULT $? 0 0 "卸载软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,129 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试包含生成器信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义颜色输出可选但保留以兼容LOG_INFO/LOG_ERROR
LOG_INFO() {
echo "[INFO] $1"
}
LOG_ERROR() {
echo "[ERROR] $1"
}
# 定义检查函数(兼容现有测试框架)
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
elif [ $mode -eq 1 ]; then
if [ $actual -eq $expect ]; then
LOG_ERROR "$message"
exit 1
fi
fi
}
# 定义SSH_CMD函数兼容现有测试框架
SSH_CMD() {
local cmd=$1
local node_ip=$2
local node_pass=$3
local node_user=${4:-root}
sshpass -p "$node_pass" ssh -o StrictHostKeyChecking=no "$node_user@$node_ip" "$cmd"
}
# 定义软件包列表
PACKAGES="python3-myst-nb mystnb-docutils-xml_generator"
# 步骤1检查软件包是否在yum源中
LOG_INFO "步骤1检查软件包是否在yum源中"
for pkg in $PACKAGES; do
dnf list available "$pkg" &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 $pkg 不在yum源中"
exit 255
fi
done
# 步骤2检查是否已安装软件包
LOG_INFO "步骤2检查是否已安装软件包"
installed=false
for pkg in $PACKAGES; do
rpm -q "$pkg" &>/dev/null
if [ $? -eq 0 ]; then
installed=true
break
fi
done
# 步骤3如果未安装则安装软件包
if [ "$installed" = false ]; then
LOG_INFO "步骤3安装软件包"
dnf install -y $PACKAGES
CHECK_RESULT $? 0 0 "安装软件包失败"
# 标记为测试安装,需要在脚本结束前卸载
test_install=true
else
LOG_INFO "步骤3软件包已安装跳过安装步骤"
test_install=false
fi
# 步骤4测试生成器信息
LOG_INFO "步骤4测试生成器信息"
# 假设生成器信息通过命令 "mystnb-docutils-xml-generator --version" 获取
command="mystnb-docutils-xml-generator --version"
# 检查命令是否存在
which mystnb-docutils-xml-generator &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "命令 mystnb-docutils-xml-generator 不存在"
exit 255
fi
# 检查参数是否支持
$command &>/dev/null
if [ $? -eq 255 ]; then
LOG_ERROR "命令参数不支持"
exit 255
fi
# 执行命令
$command
CHECK_RESULT $? 0 0 "执行生成器信息命令失败"
# 步骤5清理环境
LOG_INFO "步骤5清理环境"
if [ "$test_install" = true ]; then
LOG_INFO "卸载测试安装的软件包"
dnf remove -y $PACKAGES
CHECK_RESULT $? 0 0 "卸载软件包失败"
else
LOG_INFO "未安装软件包,无需卸载"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,97 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试设置在指定级别及以上时停止执行
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 初始化变量
TEST_PACKAGES="python3-myst-nb mystnb-docutils-xml_halt"
EXIT_CODE=0
CLEANUP_FLAG=0
# 步骤1检查测试所需的软件包是否在yum源中
LOG_INFO "步骤1检查yum源中是否存在软件包$TEST_PACKAGES"
for pkg in $TEST_PACKAGES; do
dnf list available "$pkg" &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 $pkg 在yum源中不存在"
exit 255
fi
done
# 步骤2检查测试环境是否已安装软件包
LOG_INFO "步骤2检查测试环境是否已安装软件包"
INSTALLED=0
for pkg in $TEST_PACKAGES; do
rpm -q "$pkg" &>/dev/null
if [ $? -eq 0 ]; then
INSTALLED=1
break
fi
done
# 步骤3如果未安装则安装软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "步骤3安装测试软件包"
dnf install -y $TEST_PACKAGES
CHECK_RESULT $? 0 0 "安装软件包失败"
CLEANUP_FLAG=1
else
LOG_INFO "步骤3软件包已安装跳过安装步骤"
fi
# 步骤4测试设置在指定级别及以上时停止执行
LOG_INFO "步骤4测试设置在指定级别及以上时停止执行"
# 假设测试命令为test_command参数为--level
TEST_COMMAND="test_command"
TEST_PARAM="--level"
# 检查命令是否存在
which "$TEST_COMMAND" &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "命令 $TEST_COMMAND 不存在"
exit 255
fi
# 检查参数是否支持
"$TEST_COMMAND" --help 2>&1 | grep -q "$TEST_PARAM"
if [ $? -ne 0 ]; then
LOG_ERROR "命令 $TEST_COMMAND 不支持参数 $TEST_PARAM"
exit 255
fi
# 执行测试命令
"$TEST_COMMAND" "$TEST_PARAM" high
CHECK_RESULT $? 0 0 "测试命令执行失败"
EXIT_CODE=$?
# 步骤5清理环境
LOG_INFO "步骤5清理测试环境"
if [ $CLEANUP_FLAG -eq 1 ]; then
dnf remove -y $TEST_PACKAGES
CHECK_RESULT $? 0 0 "卸载软件包失败"
else
LOG_INFO "测试前已安装软件包,保持安装状态"
fi
# 退出脚本
exit $EXIT_CODE
}
main "$@"

View File

@@ -1,64 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试显示帮助信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 判断是否已经安装python3-myst-nb、mystnb-docutils-xml软件包
LOG_INFO "检查是否已安装python3-myst-nb和mystnb-docutils-xml软件包"
dnf list installed python3-myst-nb mystnb-docutils-xml > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "软件包已安装,测试结束后保持安装状态"
ALREADY_INSTALLED=1
else
LOG_INFO "软件包未安装,将在测试过程中安装"
ALREADY_INSTALLED=0
fi
# 检查yum源中是否存在python3-myst-nb软件包
LOG_INFO "检查yum源中是否存在python3-myst-nb软件包"
dnf list available python3-myst-nb > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中不存在python3-myst-nb软件包"
# 检查yum源中是否存在mystnb-docutils-xml软件包
LOG_INFO "检查yum源中是否存在mystnb-docutils-xml软件包"
dnf list available mystnb-docutils-xml > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中不存在mystnb-docutils-xml软件包"
# 如果未安装,则安装软件包
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "安装python3-myst-nb和mystnb-docutils-xml软件包"
dnf install -y python3-myst-nb mystnb-docutils-xml
CHECK_RESULT $? 0 0 "安装python3-myst-nb和mystnb-docutils-xml软件包失败"
fi
# 测试显示帮助信息
LOG_INFO "测试显示帮助信息"
python3 -m myst_nb --help > /dev/null 2>&1
CHECK_RESULT $? 0 255 "python3 -m myst_nb --help 参数不存在或不支持"
# 清理环境,如果测试前未安装则卸载软件包
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "卸载python3-myst-nb和mystnb-docutils-xml软件包"
dnf remove -y python3-myst-nb mystnb-docutils-xml
CHECK_RESULT $? 0 0 "卸载python3-myst-nb和mystnb-docutils-xml软件包失败"
fi
}
main "$@"

View File

@@ -1,95 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试生成带缩进和换行符的XML
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查环境是否已安装相关软件包
LOG_INFO "检查环境是否已安装python3-myst-nb, mystnb-docutils-xml-indents软件包"
rpm -q python3-myst-nb mystnb-docutils-xml-indents > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "软件包已安装,标记为已安装状态"
INSTALLED=1
else
LOG_INFO "软件包未安装,标记为未安装状态"
INSTALLED=0
fi
# 检查yum源中是否存在所需软件包
LOG_INFO "检查yum源中是否存在python3-myst-nb, mystnb-docutils-xml-indents软件包"
dnf list available python3-myst-nb mystnb-docutils-xml-indents > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在所需软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装python3-myst-nb, mystnb-docutils-xml-indents软件包"
dnf install -y python3-myst-nb mystnb-docutils-xml-indents
CHECK_RESULT $? 0 0 "安装软件包失败"
LOG_INFO "软件包安装成功"
fi
# 测试生成带缩进和换行符的XML
LOG_INFO "测试生成带缩进和换行符的XML"
# 创建一个简单的测试文件
cat > test_input.md << "EOF"
# Test Document
This is a test document for generating XML with indentation and newlines.
EOF
# 使用mystnb-docutils-xml-indents命令生成XML
LOG_INFO "使用mystnb-docutils-xml-indents命令生成XML"
mystnb-docutils-xml-indents test_input.md test_output.xml --indent 4
CHECK_RESULT $? 0 0 "生成XML失败"
# 检查生成的XML文件是否存在
LOG_INFO "检查生成的XML文件是否存在"
[ -f test_output.xml ]
CHECK_RESULT $? 0 0 "生成的XML文件不存在"
# 检查XML文件内容是否包含缩进和换行符
LOG_INFO "检查XML文件内容是否包含缩进和换行符"
grep -q "^[[:space:]]*<" test_output.xml
CHECK_RESULT $? 0 0 "XML文件内容不包含缩进"
grep -q $"\n" test_output.xml
CHECK_RESULT $? 0 0 "XML文件内容不包含换行符"
LOG_INFO "测试生成带缩进和换行符的XML成功"
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f test_input.md test_output.xml
# 如果脚本开始时未安装软件包,则在结束时卸载
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载测试安装的软件包"
dnf remove -y python3-myst-nb mystnb-docutils-xml-indents
CHECK_RESULT $? 0 0 "卸载软件包失败"
LOG_INFO "软件包卸载成功"
else
LOG_INFO "保持软件包安装状态"
fi
LOG_INFO "测试脚本执行完成"
}
main "$@"

View File

@@ -1,95 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试指定文档语言
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义变量
PKG_LIST="python3-myst-nb mystnb-docutils-xml_language"
TEST_CMD="python3 -m myst_nb"
TEST_ARGS="--help"
EXPECTED_OUTPUT="myst_nb"
# 步骤1: 检查yum源中是否存在所需软件包
LOG_INFO "步骤1: 检查yum源中是否存在所需软件包"
for pkg in $PKG_LIST; do
dnf list available "$pkg" &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 $pkg 在yum源中不存在"
exit 255
fi
done
LOG_INFO "所有所需软件包在yum源中均存在"
# 步骤2: 检查当前环境是否已安装所需软件包
LOG_INFO "步骤2: 检查当前环境是否已安装所需软件包"
INSTALLED=0
for pkg in $PKG_LIST; do
rpm -q "$pkg" &>/dev/null
if [ $? -eq 0 ]; then
INSTALLED=1
LOG_INFO "软件包 $pkg 已安装"
else
LOG_INFO "软件包 $pkg 未安装"
fi
done
# 步骤3: 如果未安装,则安装软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "步骤3: 安装所需软件包"
dnf install -y $PKG_LIST
CHECK_RESULT $? 0 0 "安装软件包失败"
LOG_INFO "软件包安装成功"
else
LOG_INFO "步骤3: 环境已安装所需软件包,跳过安装步骤"
fi
# 步骤4: 检查命令参数是否存在或不支持
LOG_INFO "步骤4: 检查命令参数是否存在或不支持"
$TEST_CMD $TEST_ARGS 2>&1 | grep -q "error:"
if [ $? -eq 0 ]; then
LOG_ERROR "命令参数不存在或不支持"
exit 255
fi
# 步骤5: 执行测试命令
LOG_INFO "步骤5: 执行测试命令"
OUTPUT=$($TEST_CMD $TEST_ARGS 2>&1)
CHECK_RESULT $? 0 0 "执行测试命令失败"
# 步骤6: 检查输出是否符合预期
LOG_INFO "步骤6: 检查输出是否符合预期"
echo "$OUTPUT" | grep -q "$EXPECTED_OUTPUT"
CHECK_RESULT $? 0 0 "输出不符合预期"
# 步骤7: 清理环境
LOG_INFO "步骤7: 清理环境"
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载测试安装的软件包"
dnf remove -y $PKG_LIST
CHECK_RESULT $? 0 0 "卸载软件包失败"
LOG_INFO "软件包卸载成功"
else
LOG_INFO "测试前已安装软件包,保持安装状态"
fi
LOG_INFO "测试脚本执行完毕"
}
main "$@"

View File

@@ -1,95 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试生成带换行符的XML
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试测试生成带换行符的XML"
# 定义软件包名称
PACKAGES="python3-myst-nb mystnb-docutils-xml"
# 检查yum源中是否有软件包
for pkg in $PACKAGES; do
LOG_INFO "检查yum源中是否有软件包: $pkg"
if ! dnf list available "$pkg" &>/dev/null; then
LOG_ERROR "yum源中没有找到软件包: $pkg"
exit 255
fi
done
# 检查是否已安装
LOG_INFO "检查是否已安装软件包"
if rpm -q $PACKAGES &>/dev/null; then
LOG_INFO "软件包已安装,保持安装状态"
INSTALLED=true
else
LOG_INFO "软件包未安装,开始安装"
INSTALLED=false
dnf install -y $PACKAGES
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 测试生成带换行符的XML
LOG_INFO "测试生成带换行符的XML"
TEST_OUTPUT=$(python3 -m myst_nb.parser --help 2>&1)
if echo "$TEST_OUTPUT" | grep -q "xml"; then
LOG_INFO "命令支持XML参数"
else
LOG_ERROR "命令不支持XML参数"
exit 255
fi
# 执行测试命令
LOG_INFO "执行生成XML的命令"
python3 -m myst_nb.parser --xml test_output.xml << "EOF"
# 测试内容
测试段落1
测试段落2
EOF
CHECK_RESULT $? 0 0 "生成XML失败"
# 检查生成的XML是否包含换行符
LOG_INFO "检查生成的XML是否包含换行符"
if grep -q "&#10;" test_output.xml || grep -q "
" test_output.xml; then
LOG_INFO "XML中包含换行符"
else
LOG_ERROR "XML中不包含换行符"
CHECK_RESULT 1 0 0 "XML中不包含换行符"
fi
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f test_output.xml
# 环境恢复
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载测试安装的软件包"
dnf remove -y $PACKAGES
CHECK_RESULT $? 0 0 "卸载软件包失败"
else
LOG_INFO "保持软件包安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,80 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试禁用调试输出
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:测试禁用调试输出"
LOG_INFO "步骤1: 检查环境中是否已安装python3-myst-nb、mystnb-docutils-xml软件包"
# 检查软件包是否已安装
if dnf list installed python3-myst-nb &>/dev/null && dnf list installed mystnb-docutils-xml &>/dev/null; then
LOG_INFO "软件包已安装,标记为已安装状态"
INSTALLED=1
else
LOG_INFO "软件包未安装,标记为未安装状态"
INSTALLED=0
fi
LOG_INFO "步骤2: 检查yum源中是否存在python3-myst-nb、mystnb-docutils-xml软件包"
if ! dnf list available python3-myst-nb &>/dev/null; then
LOG_ERROR "yum源中不存在python3-myst-nb软件包"
exit 255
fi
if ! dnf list available mystnb-docutils-xml &>/dev/null; then
LOG_ERROR "yum源中不存在mystnb-docutils-xml软件包"
exit 255
fi
LOG_INFO "步骤3: 如果未安装,则安装软件包"
if [ $INSTALLED -eq 0 ]; then
dnf install -y python3-myst-nb mystnb-docutils-xml
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
LOG_INFO "步骤4: 测试禁用调试输出功能"
LOG_INFO "执行命令myst nbconvert --to xml --debug 检查是否支持--debug参数"
if myst nbconvert --help 2>&1 | grep -q -- "--debug"; then
LOG_INFO "--debug参数存在继续测试"
else
LOG_ERROR "--debug参数不存在或不支持"
exit 255
fi
LOG_INFO "步骤5: 执行myst nbconvert --to xml --debug预期应输出调试信息"
myst nbconvert --to xml --debug 2>&1 | grep -q "debug"
CHECK_RESULT $? 0 0 "调试输出未按预期显示"
LOG_INFO "步骤6: 执行myst nbconvert --to xml --no-debug预期不应输出调试信息"
myst nbconvert --to xml --no-debug 2>&1 | grep -q "debug"
CHECK_RESULT $? 1 0 "禁用调试输出功能未生效"
LOG_INFO "步骤7: 清理环境,恢复到之前的状态"
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载测试安装的软件包"
dnf remove -y python3-myst-nb mystnb-docutils-xml
CHECK_RESULT $? 0 0 "卸载软件包失败"
else
LOG_INFO "保持已安装状态,不进行卸载"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,127 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试禁用raw指令
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义颜色输出函数如果LOG_INFO/LOG_ERROR未定义则定义
if ! type LOG_INFO &>/dev/null; then
LOG_INFO() {
echo -e "\033[32m[INFO]\033[0m $*"
}
fi
if ! type LOG_ERROR &>/dev/null; then
LOG_ERROR() {
echo -e "\033[31m[ERROR]\033[0m $*"
}
fi
# 定义需要测试的软件包列表
PACKAGES=("python3-myst-nb" "mystnb-docutils-xml")
# 步骤1: 检查环境是否已安装指定软件包
LOG_INFO "步骤1: 检查环境是否已安装指定软件包"
installed_packages=()
for pkg in "${PACKAGES[@]}"; do
if rpm -q "$pkg" &>/dev/null; then
installed_packages+=("$pkg")
fi
done
if [ ${#installed_packages[@]} -eq ${#PACKAGES[@]} ]; then
LOG_INFO "所有软件包已安装,测试结束后将保持安装状态"
already_installed=true
else
LOG_INFO "部分或全部软件包未安装,测试结束后将卸载安装的软件包"
already_installed=false
fi
# 步骤2: 检查yum源中是否有需要安装的软件包
LOG_INFO "步骤2: 检查yum源中是否有需要安装的软件包"
for pkg in "${PACKAGES[@]}"; do
if ! dnf list available "$pkg" &>/dev/null; then
LOG_ERROR "软件包 $pkg 在yum源中不存在"
exit 255
fi
done
# 步骤3: 安装软件包(如果未安装)
LOG_INFO "步骤3: 安装软件包"
if [ "$already_installed" = false ]; then
dnf install -y "${PACKAGES[@]}"
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 步骤4: 测试禁用raw指令
LOG_INFO "步骤4: 测试禁用raw指令"
# 检查myst命令是否存在并支持--disable-raw参数
if ! command -v myst &>/dev/null; then
LOG_ERROR "myst命令不存在"
exit 255
fi
# 测试--disable-raw参数是否存在
if ! myst --help 2>&1 | grep -q "disable-raw"; then
LOG_ERROR "myst命令不支持--disable-raw参数"
exit 255
fi
# 创建测试用的临时文件
TEST_FILE=$(mktemp /tmp/test_myst_XXXXXX.md)
cat > "$TEST_FILE" << "EOF"
# Test Document
{raw}
This is raw content
Some normal content.
EOF
# 使用--disable-raw参数执行myst命令
myst --disable-raw "$TEST_FILE" -o "${TEST_FILE}.html" 2>&1
CHECK_RESULT $? 0 0 "执行myst命令失败"
# 检查生成的HTML中是否不包含raw内容
if grep -q "This is raw content" "${TEST_FILE}.html"; then
LOG_ERROR "禁用raw指令失败raw内容仍然存在"
rm -f "$TEST_FILE" "${TEST_FILE}.html"
exit 1
else
LOG_INFO "禁用raw指令成功raw内容已被过滤"
fi
# 清理临时文件
rm -f "$TEST_FILE" "${TEST_FILE}.html"
# 步骤5: 清理环境(如果测试前未安装则卸载软件包)
LOG_INFO "步骤5: 清理环境"
if [ "$already_installed" = false ]; then
dnf remove -y "${PACKAGES[@]}"
CHECK_RESULT $? 0 0 "卸载软件包失败"
LOG_INFO "已卸载测试安装的软件包"
else
LOG_INFO "保持原有软件包安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,78 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-01
# @License : Mulan PSL v2
# @Desc : 测试使用--output参数指定输出文件
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已经安装了所需的软件包
LOG_INFO "检查是否已安装测试所需的软件包"
if ! dnf list installed python3-myst-nb &>/dev/null || ! dnf list installed mystnb-docutils &>/dev/null; then
LOG_INFO "环境未安装,准备安装软件包"
# 检查yum源中是否有软件包
if ! dnf list available python3-myst-nb &>/dev/null || ! dnf list available mystnb-docutils &>/dev/null; then
LOG_ERROR "yum源中缺少所需的软件包"
exit 255
fi
# 安装软件包
dnf install -y python3-myst-nb mystnb-docutils
CHECK_RESULT $? 0 0 "安装软件包失败"
# 标记需要卸载
NEED_CLEANUP=1
else
LOG_INFO "环境已安装,无需重复安装"
fi
# 测试使用--output参数指定输出文件
LOG_INFO "测试使用--output参数指定输出文件"
OUTPUT_FILE="/tmp/myst_output.xml"
mystnb-docutils --output "$OUTPUT_FILE" &>/dev/null
# 检查命令是否支持--output参数
if [ $? -eq 255 ]; then
LOG_ERROR "命令不支持--output参数"
exit 255
fi
# 检查输出文件是否存在
CHECK_RESULT $? 0 0 "生成输出文件失败"
if [ -f "$OUTPUT_FILE" ]; then
LOG_INFO "输出文件生成成功: $OUTPUT_FILE"
else
LOG_ERROR "输出文件未生成"
exit 1
fi
# 清理环境
if [ "$NEED_CLEANUP" -eq 1 ]; then
LOG_INFO "清理测试环境,卸载软件包"
dnf remove -y python3-myst-nb mystnb-docutils
CHECK_RESULT $? 0 0 "卸载软件包失败"
fi
# 删除临时文件(如果存在)
if [ -f "$OUTPUT_FILE" ]; then
rm -f "$OUTPUT_FILE"
fi
LOG_INFO "测试脚本执行完毕,环境已恢复"
exit 0
}
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-16
# @License : Mulan PSL v2
# @Desc : 测试不报告任何系统消息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试脚本:测试不报告任何系统消息
# 测试目的:验证指定命令在不报告任何系统消息的情况下能正常工作
# 定义软件包名称
PACKAGE_NAME="python3-myst-nb_mystnb-docutils-xml"
# 步骤1检查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
# 步骤2检查当前环境中是否已安装指定软件包
LOG_INFO "步骤2检查当前环境中是否已安装软件包 ${PACKAGE_NAME}"
IS_INSTALLED=0
rpm -q ${PACKAGE_NAME} &>/dev/null
if [ $? -eq 0 ]; then
LOG_INFO "软件包 ${PACKAGE_NAME} 已安装"
IS_INSTALLED=1
else
LOG_INFO "软件包 ${PACKAGE_NAME} 未安装"
fi
# 步骤3如果未安装则安装软件包
if [ ${IS_INSTALLED} -eq 0 ]; then
LOG_INFO "步骤3安装软件包 ${PACKAGE_NAME}"
dnf install -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "安装软件包 ${PACKAGE_NAME} 失败"
fi
# 步骤4验证指定命令的参数支持情况
LOG_INFO "步骤4验证指定命令的参数支持情况"
# 这里假设命令为myst-nb参数为--quiet实际应根据软件包具体命令调整
COMMAND="myst-nb"
PARAM="--quiet"
# 检查命令是否存在
which ${COMMAND} &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "命令 ${COMMAND} 不存在"
exit 255
fi
# 检查参数是否支持(这里使用--help查看是否包含quiet参数
${COMMAND} --help 2>&1 | grep -q "${PARAM}"
if [ $? -ne 0 ]; then
LOG_ERROR "命令 ${COMMAND} 不支持参数 ${PARAM}"
exit 255
fi
# 步骤5执行测试命令验证不报告任何系统消息
LOG_INFO "步骤5执行测试命令验证不报告任何系统消息"
# 执行命令并捕获输出,期望没有任何输出
OUTPUT=$(${COMMAND} ${PARAM} --version 2>&1)
if [ -n "${OUTPUT}" ]; then
LOG_ERROR "命令执行产生了输出,但期望不报告任何系统消息"
LOG_ERROR "输出内容:${OUTPUT}"
exit 1
else
LOG_INFO "命令执行成功,未报告任何系统消息"
fi
# 步骤6清理环境恢复到之前的状态
LOG_INFO "步骤6清理环境恢复到之前的状态"
if [ ${IS_INSTALLED} -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 "测试完成"
}
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-16
# @License : Mulan PSL v2
# @Desc : 测试设置报告系统消息的级别
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:测试设置报告系统消息的级别"
# 定义需要测试的软件包列表
PACKAGES="python3-myst-nb mystnb-docutils-xml-report"
# 步骤1: 检查环境是否已安装指定软件包
LOG_INFO "步骤1: 检查环境是否已安装指定软件包"
INSTALLED_PACKAGES=""
for pkg in $PACKAGES; do
if rpm -q $pkg &>/dev/null; then
LOG_INFO "软件包 $pkg 已安装"
INSTALLED_PACKAGES="$INSTALLED_PACKAGES $pkg"
else
LOG_INFO "软件包 $pkg 未安装"
fi
done
# 步骤2: 检查yum源中是否有需要安装的软件包
LOG_INFO "步骤2: 检查yum源中是否有需要安装的软件包"
for pkg in $PACKAGES; do
if ! dnf list available $pkg &>/dev/null; then
LOG_ERROR "yum源中未找到软件包 $pkg"
exit 255
fi
done
# 步骤3: 如果环境未安装,则安装软件包
LOG_INFO "步骤3: 如果环境未安装,则安装软件包"
if [ -z "$INSTALLED_PACKAGES" ]; then
LOG_INFO "环境未安装指定软件包,开始安装"
dnf install -y $PACKAGES
CHECK_RESULT $? 0 0 "安装软件包失败"
NEED_CLEANUP=1
else
LOG_INFO "环境已安装指定软件包,跳过安装步骤"
NEED_CLEANUP=0
fi
# 步骤4: 测试设置报告系统消息的级别
LOG_INFO "步骤4: 测试设置报告系统消息的级别"
# 假设测试命令为mystnb-docutils-xml-report --log-level INFO
# 检查参数是否存在
if ! mystnb-docutils-xml-report --help 2>&1 | grep -q "\-\-log-level"; then
LOG_ERROR "参数 --log-level 不存在或不支持"
exit 255
fi
# 执行测试命令
mystnb-docutils-xml-report --log-level INFO
CHECK_RESULT $? 0 0 "设置报告系统消息的级别失败"
# 步骤5: 清理环境
LOG_INFO "步骤5: 清理环境"
if [ $NEED_CLEANUP -eq 1 ]; then
LOG_INFO "卸载安装的软件包"
dnf remove -y $PACKAGES
CHECK_RESULT $? 0 0 "卸载软件包失败"
else
LOG_INFO "环境未安装软件包,无需清理"
fi
LOG_INFO "测试完成:测试设置报告系统消息的级别"
}
main "$@"

View File

@@ -1,71 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-01
# @License : Mulan PSL v2
# @Desc : 测试使用-s参数包含查看文档源链接
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:测试使用-s参数包含查看文档源链接"
# 检查是否已安装python3-myst-nb、mystnb-docutils-xml_s
LOG_INFO "检查环境是否已安装所需软件包"
if dnf list installed python3-myst-nb &> /dev/null && dnf list installed mystnb-docutils-xml_s &> /dev/null; then
LOG_INFO "环境已安装所需软件包,无需重新安装"
INSTALLED=true
else
LOG_INFO "环境未安装所需软件包,将进行安装"
INSTALLED=false
fi
# 检查yum源中是否有软件包
LOG_INFO "检查yum源中是否存在python3-myst-nb和mystnb-docutils-xml_s"
if ! dnf list available python3-myst-nb &> /dev/null || ! dnf list available mystnb-docutils-xml_s &> /dev/null; then
LOG_ERROR "yum源中缺少所需软件包退出测试"
exit 255
fi
# 安装软件包(如果未安装)
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装python3-myst-nb和mystnb-docutils-xml_s"
dnf install -y python3-myst-nb mystnb-docutils-xml_s
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 测试-s参数是否支持查看文档源链接
LOG_INFO "测试-s参数是否支持查看文档源链接"
output=$(mystnb-docutils-xml_s -s 2>&1)
if [[ "$output" == *"unsupported option"* || "$output" == *"invalid option"* ]]; then
LOG_ERROR "-s参数不支持或不存在退出测试"
exit 255
else
CHECK_RESULT $? 0 0 "执行-s参数失败"
fi
# 清理环境(如果之前未安装)
if [ "$INSTALLED" = false ]; then
LOG_INFO "清理环境,卸载安装的软件包"
dnf remove -y python3-myst-nb mystnb-docutils-xml_s
CHECK_RESULT $? 0 0 "卸载软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,93 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试遇到任何问题都停止执行
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试python3-myst-nb、mystnb-docutils-xml_strict软件包功能"
# 检查软件包是否已在yum源中
LOG_INFO "检查软件包是否在yum源中"
dnf list available python3-myst-nb > /dev/null 2>&1
CHECK_RESULT $? 0 0 "python3-myst-nb软件包不在yum源中"
dnf list available mystnb-docutils-xml_strict > /dev/null 2>&1
CHECK_RESULT $? 0 0 "mystnb-docutils-xml_strict软件包不在yum源中"
# 检查当前环境是否已安装
LOG_INFO "检查当前环境是否已安装目标软件包"
if rpm -q python3-myst-nb > /dev/null 2>&1 && rpm -q mystnb-docutils-xml_strict > /dev/null 2>&1; then
already_installed=true
LOG_INFO "软件包已安装,测试后将保持安装状态"
else
already_installed=false
LOG_INFO "软件包未安装,将进行安装测试"
fi
# 如果未安装,则安装软件包
if [ "$already_installed" = false ]; then
LOG_INFO "安装python3-myst-nb和mystnb-docutils-xml_strict软件包"
dnf install -y python3-myst-nb mystnb-docutils-xml_strict
CHECK_RESULT $? 0 0 "软件包安装失败"
fi
# 测试软件包功能
LOG_INFO "测试python3-myst-nb命令"
python3 -m myst_nb --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "python3-myst-nb命令执行失败"
LOG_INFO "测试mystnb-docutils-xml_strict命令"
mystnb-docutils-xml_strict --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "mystnb-docutils-xml_strict命令执行失败"
# 测试带参数的命令
LOG_INFO "测试python3-myst-nb命令的version参数"
python3 -m myst_nb --version > /dev/null 2>&1
CHECK_RESULT $? 0 0 "python3-myst-nb version参数测试失败"
LOG_INFO "测试mystnb-docutils-xml_strict命令的version参数"
mystnb-docutils-xml_strict --version > /dev/null 2>&1
CHECK_RESULT $? 0 0 "mystnb-docutils-xml_strict version参数测试失败"
# 测试不存在的参数
LOG_INFO "测试不存在的参数(预期失败)"
python3 -m myst_nb --nonexistent-param > /dev/null 2>&1
if [ $? -eq 255 ]; then
LOG_INFO "不存在的参数正确处理退出码为255"
else
LOG_ERROR "不存在的参数处理异常"
exit 255
fi
# 环境清理
LOG_INFO "开始环境清理"
if [ "$already_installed" = false ]; then
LOG_INFO "卸载测试安装的软件包"
dnf remove -y python3-myst-nb mystnb-docutils-xml_strict
CHECK_RESULT $? 0 0 "软件包卸载失败"
else
LOG_INFO "保持原有安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,71 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-01
# @License : Mulan PSL v2
# @Desc : 测试使用-t参数包含时间和日期信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:测试使用-t参数包含时间和日期信息"
# 检查是否已安装python3-myst-nb_mystnb-docutils-xml_t
LOG_INFO "检查是否已安装python3-myst-nb_mystnb-docutils-xml_t"
dnf list installed python3-myst-nb_mystnb-docutils-xml_t >/dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "python3-myst-nb_mystnb-docutils-xml_t已安装"
installed=true
else
LOG_INFO "python3-myst-nb_mystnb-docutils-xml_t未安装"
installed=false
fi
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否有python3-myst-nb_mystnb-docutils-xml_t"
dnf list available python3-myst-nb_mystnb-docutils-xml_t >/dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中没有python3-myst-nb_mystnb-docutils-xml_t软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中没有python3-myst-nb_mystnb-docutils-xml_t软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$installed" = false ]; then
LOG_INFO "安装python3-myst-nb_mystnb-docutils-xml_t"
dnf install -y python3-myst-nb_mystnb-docutils-xml_t
CHECK_RESULT $? 0 0 "安装python3-myst-nb_mystnb-docutils-xml_t失败"
fi
# 测试使用-t参数包含时间和日期信息
LOG_INFO "测试使用-t参数包含时间和日期信息"
command_output=$(python3 -m myst_nb --help | grep -e "-t")
CHECK_RESULT $? 0 0 "命令不支持-t参数"
if [ $? -ne 0 ]; then
LOG_ERROR "命令不支持-t参数或参数不存在"
exit 255
fi
# 清理环境
if [ "$installed" = false ]; then
LOG_INFO "卸载python3-myst-nb_mystnb-docutils-xml_t"
dnf remove -y python3-myst-nb_mystnb-docutils-xml_t
CHECK_RESULT $? 0 0 "卸载python3-myst-nb_mystnb-docutils-xml_t失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,85 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试设置制表符扩展的空格数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:测试设置制表符扩展的空格数"
# 定义需要测试的软件包
PACKAGES="python3-myst-nb mystnb-docutils"
# 检查yum源中是否有指定的软件包
LOG_INFO "步骤1检查yum源中是否有指定的软件包"
for pkg in $PACKAGES; do
dnf list available "$pkg" &>/dev/null
CHECK_RESULT $? 0 0 "软件包 $pkg 在yum源中不存在"
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 $pkg 在yum源中不存在"
exit 255
fi
done
# 检查环境是否已经安装指定软件包
LOG_INFO "步骤2检查环境是否已经安装指定软件包"
INSTALLED=false
for pkg in $PACKAGES; do
if rpm -q "$pkg" &>/dev/null; then
INSTALLED=true
LOG_INFO "软件包 $pkg 已安装"
fi
done
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤3安装软件包"
dnf install -y $PACKAGES
CHECK_RESULT $? 0 0 "安装软件包失败"
else
LOG_INFO "步骤3软件包已安装跳过安装步骤"
fi
# 测试设置制表符扩展的空格数
LOG_INFO "步骤4测试设置制表符扩展的空格数"
# 假设测试命令为python3 -m myst_nb --xml-tab-width 4
# 检查参数是否存在或不支持
python3 -m myst_nb --help 2>&1 | grep -q "\-\-xml-tab-width"
CHECK_RESULT $? 0 0 "参数 --xml-tab-width 不存在或不支持"
if [ $? -ne 0 ]; then
LOG_ERROR "参数 --xml-tab-width 不存在或不支持"
exit 255
fi
# 执行测试命令
python3 -m myst_nb --xml-tab-width 4
CHECK_RESULT $? 0 0 "设置制表符扩展的空格数失败"
# 环境恢复:如果之前未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤5卸载软件包"
dnf remove -y $PACKAGES
CHECK_RESULT $? 0 0 "卸载软件包失败"
else
LOG_INFO "步骤5保持软件包安装状态"
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-16
# @License : Mulan PSL v2
# @Desc : 测试包含时间日期信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 判断环境是否已经安装
LOG_INFO "检查环境是否已安装python3-myst-nb、mystnb-docutils-xml软件包"
if dnf list installed python3-myst-nb &>/dev/null && dnf list installed mystnb-docutils-xml &>/dev/null; then
LOG_INFO "环境已安装,标记为已安装状态"
ALREADY_INSTALLED=1
else
LOG_INFO "环境未安装,标记为未安装状态"
ALREADY_INSTALLED=0
fi
# 检查yum源中是否有软件包
LOG_INFO "检查yum源中是否有python3-myst-nb软件包"
if ! dnf list available python3-myst-nb &>/dev/null; then
LOG_ERROR "yum源中未找到python3-myst-nb软件包"
exit 255
fi
LOG_INFO "检查yum源中是否有mystnb-docutils-xml软件包"
if ! dnf list available mystnb-docutils-xml &>/dev/null; then
LOG_ERROR "yum源中未找到mystnb-docutils-xml软件包"
exit 255
fi
# 安装软件包(如果未安装)
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "开始安装python3-myst-nb软件包"
dnf install -y python3-myst-nb
CHECK_RESULT $? 0 0 "安装python3-myst-nb失败"
LOG_INFO "开始安装mystnb-docutils-xml软件包"
dnf install -y mystnb-docutils-xml
CHECK_RESULT $? 0 0 "安装mystnb-docutils-xml失败"
fi
# 测试包含时间日期信息
LOG_INFO "测试包含时间日期信息"
# 这里假设有一个命令可以测试时间日期信息例如使用date命令
# 如果实际测试命令不同,请替换为实际的测试命令
TEST_CMD="date"
LOG_INFO "执行测试命令: $TEST_CMD"
$TEST_CMD
CHECK_RESULT $? 0 0 "测试时间日期信息失败"
# 如果需要测试特定参数
LOG_INFO "测试命令参数支持情况"
# 假设测试命令有一个--help参数
if ! $TEST_CMD --help &>/dev/null; then
LOG_ERROR "测试命令不支持--help参数"
exit 255
fi
# 清理环境
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "清理环境,卸载安装的软件包"
dnf remove -y python3-myst-nb mystnb-docutils-xml
CHECK_RESULT $? 0 0 "卸载软件包失败"
else
LOG_INFO "环境已安装,保持安装状态"
fi
LOG_INFO "测试脚本执行完成"
}
main "$@"

View File

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

View File

@@ -1,95 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试启用停止时的Python回溯
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试测试启用停止时的Python回溯"
# 定义需要测试的软件包
PACKAGES="python3-myst-nb mystnb-docutils-xml traceback"
# 检查软件包是否已在yum源中
LOG_INFO "检查yum源中是否存在软件包"
for pkg in $PACKAGES; do
if ! dnf list available $pkg &>/dev/null; then
LOG_ERROR "软件包 $pkg 在yum源中不存在"
exit 255
fi
done
# 检查是否已安装
LOG_INFO "检查软件包是否已安装"
INSTALLED="true"
for pkg in $PACKAGES; do
if ! rpm -q $pkg &>/dev/null; then
INSTALLED="false"
break
fi
done
# 如果未安装,则安装软件包
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "安装软件包"
dnf install -y $PACKAGES
CHECK_RESULT $? 0 0 "安装软件包失败"
# 标记为需要清理
NEED_CLEANUP="true"
else
LOG_INFO "软件包已安装,跳过安装步骤"
NEED_CLEANUP="false"
fi
# 测试步骤测试Python回溯功能
LOG_INFO "测试Python回溯功能"
python3 -c "
import traceback
try:
raise ValueError("测试异常")
except ValueError:
traceback.print_exc()
" 2>&1 | grep -q "测试异常"
CHECK_RESULT $? 0 0 "Python回溯功能测试失败"
# 测试步骤测试myst-nb相关功能
LOG_INFO "测试myst-nb相关功能"
python3 -c "import myst_nb; print(myst_nb.__version__)" &>/dev/null
CHECK_RESULT $? 0 0 "myst-nb导入失败"
# 测试步骤测试mystnb-docutils-xml相关功能
LOG_INFO "测试mystnb-docutils-xml相关功能"
python3 -c "import mystnb_docutils_xml; print(mystnb_docutils_xml.__version__)" &>/dev/null
CHECK_RESULT $? 0 0 "mystnb-docutils-xml导入失败"
# 清理环境
if [ "$NEED_CLEANUP" = "true" ]; then
LOG_INFO "清理环境:卸载安装的软件包"
dnf remove -y $PACKAGES
CHECK_RESULT $? 0 0 "卸载软件包失败"
else
LOG_INFO "环境未修改,无需清理"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,129 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-16
# @License : Mulan PSL v2
# @Desc : 测试报告所有系统消息
# ############################################
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 msg=$4
if [ $mode -eq 0 ]; then
if [ $actual -ne $expect ]; then
LOG_ERROR "$msg"
exit $actual
fi
else
if [ $actual -eq $expect ]; then
LOG_ERROR "$msg"
exit 1
fi
fi
}
# 定义SSH命令函数
SSH_CMD() {
local cmd=$1
local ip=$2
local password=$3
local user=$4
sshpass -p "$password" ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null "$user@$ip" "$cmd"
}
# 测试脚本开始
LOG_INFO "开始测试:测试报告所有系统消息"
# 步骤1检查是否已安装python3-myst-nb、mystnb-docutils-xml软件包
LOG_INFO "步骤1检查是否已安装python3-myst-nb、mystnb-docutils-xml软件包"
if rpm -q python3-myst-nb &>/dev/null && rpm -q mystnb-docutils-xml &>/dev/null; then
LOG_INFO "软件包已安装,测试结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "软件包未安装,将在测试过程中安装并在结束后卸载"
INSTALLED=false
fi
# 步骤2检查yum源中是否有python3-myst-nb和mystnb-docutils-xml软件包
LOG_INFO "步骤2检查yum源中是否有python3-myst-nb和mystnb-docutils-xml软件包"
if ! dnf list available python3-myst-nb &>/dev/null; then
LOG_ERROR "yum源中没有python3-myst-nb软件包"
exit 255
fi
if ! dnf list available mystnb-docutils-xml &>/dev/null; then
LOG_ERROR "yum源中没有mystnb-docutils-xml软件包"
exit 255
fi
# 步骤3如果未安装则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤3安装python3-myst-nb和mystnb-docutils-xml软件包"
dnf install -y python3-myst-nb mystnb-docutils-xml
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 步骤4测试python3-myst-nb命令的verbose参数
LOG_INFO "步骤4测试python3-myst-nb命令的verbose参数"
if ! python3-myst-nb --help | grep -q "verbose"; then
LOG_ERROR "python3-myst-nb命令不支持verbose参数"
exit 255
fi
# 步骤5执行测试命令
LOG_INFO "步骤5执行测试命令python3-myst-nb --verbose"
python3-myst-nb --verbose
CHECK_RESULT $? 0 0 "执行python3-myst-nb --verbose命令失败"
# 步骤6测试mystnb-docutils-xml命令
LOG_INFO "步骤6测试mystnb-docutils-xml命令"
mystnb-docutils-xml --help
CHECK_RESULT $? 0 0 "执行mystnb-docutils-xml --help命令失败"
# 步骤7如果需要在第二个服务器上执行命令
LOG_INFO "步骤7在第二个服务器上执行测试命令"
if [ -n "$NODE2_IPV4" ] && [ -n "$NODE2_PASSWORD" ] && [ -n "$NODE2_USER" ]; then
SSH_CMD "python3-myst-nb --version" "$NODE2_IPV4" "$NODE2_PASSWORD" "$NODE2_USER"
CHECK_RESULT $? 0 0 "在第二个服务器上执行命令失败"
else
LOG_INFO "未提供第二个服务器的信息,跳过此步骤"
fi
# 步骤8清理环境
LOG_INFO "步骤8清理环境"
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载测试过程中安装的软件包"
dnf remove -y python3-myst-nb mystnb-docutils-xml
CHECK_RESULT $? 0 0 "卸载软件包失败"
else
LOG_INFO "软件包在测试前已安装,保持安装状态"
fi
LOG_INFO "测试完成:测试报告所有系统消息"
}
main "$@"

Some files were not shown because too many files have changed in this diff Show More