Merge branch 'pkg' of http://10.30.190.190:54866/redrsoe2100/os-autotest into pkg
This commit is contained in:
@@ -17,14 +17,6 @@
|
||||
{
|
||||
"name": "test_bpg-algeti-fonts_function_font_cache",
|
||||
"desc": "测试安装后,字体缓存是否成功更新,系统是否能识别新字体。"
|
||||
},
|
||||
{
|
||||
"name": "test_bpg-algeti-fonts_function_basic_usage",
|
||||
"desc": "测试字体在基础应用(如文本编辑器)中能否被选择并正确显示格鲁吉亚语文本。"
|
||||
},
|
||||
{
|
||||
"name": "test_bpg-algeti-fonts_function_package_info",
|
||||
"desc": "验证包管理器能正确查询bpg-algeti-fonts软件包的版本、描述等元信息。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -15,29 +15,13 @@
|
||||
"name": "test_glib2-static_version",
|
||||
"desc": "测试检查glib2-static软件包的版本信息功能"
|
||||
},
|
||||
{
|
||||
"name": "test_glib2-static_files",
|
||||
"desc": "测试glib2-static软件包安装后核心静态库文件的存在性"
|
||||
},
|
||||
{
|
||||
"name": "test_glib2-static_function_install",
|
||||
"desc": "测试glib2-static软件包的安装功能,验证是否能成功安装到系统中"
|
||||
},
|
||||
{
|
||||
"name": "test_glib2-static_function_uninstall",
|
||||
"desc": "测试glib2-static软件包的卸载功能,验证是否能完全移除且不残留关键文件"
|
||||
},
|
||||
{
|
||||
"name": "test_glib2-static_function_version",
|
||||
"desc": "测试查询glib2-static软件包版本信息的功能,验证版本号输出格式正确"
|
||||
},
|
||||
{
|
||||
"name": "test_glib2-static_function_file_exist",
|
||||
"desc": "测试安装后核心静态库文件(如.a文件)和头文件的存在性与路径正确性"
|
||||
},
|
||||
{
|
||||
"name": "test_glib2-static_function_compile_link",
|
||||
"desc": "测试使用glib2-static静态库进行编译和链接的基本功能,验证能否成功构建简单程序"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -57,10 +57,6 @@
|
||||
{
|
||||
"name": "test_libusbx-devel_function_libraries",
|
||||
"desc": "验证链接库文件(如libusb-1.0.so)的存在与路径"
|
||||
},
|
||||
{
|
||||
"name": "test_libusbx-devel_function_compile",
|
||||
"desc": "测试使用软件包提供的头文件和库进行简单的程序编译与链接"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6,26 +6,6 @@
|
||||
"name": "test_sgx-aesm-service_install",
|
||||
"desc": "测试 sgx-aesm-service 软件包的安装功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_sgx-aesm-service_function_start",
|
||||
"desc": "测试 sgx-aesm-service 服务的启动功能"
|
||||
},
|
||||
{
|
||||
"name": "test_sgx-aesm-service_function_stop",
|
||||
"desc": "测试 sgx-aesm-service 服务的停止功能"
|
||||
},
|
||||
{
|
||||
"name": "test_sgx-aesm-service_function_restart",
|
||||
"desc": "测试 sgx-aesm-service 服务的重启功能"
|
||||
},
|
||||
{
|
||||
"name": "test_sgx-aesm-service_function_status",
|
||||
"desc": "测试 sgx-aesm-service 服务的状态查询功能"
|
||||
},
|
||||
{
|
||||
"name": "test_sgx-aesm-service_function_config",
|
||||
"desc": "测试 sgx-aesm-service 服务的配置文件加载功能"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/portaudio/portaudio-devel",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_portaudio-devel_function_init",
|
||||
"desc": "Test initialization of portaudio-devel"
|
||||
},
|
||||
{
|
||||
"name": "test_portaudio-devel_function_open",
|
||||
"desc": "Test opening audio stream"
|
||||
},
|
||||
{
|
||||
"name": "test_portaudio-devel_function_close",
|
||||
"desc": "Test closing audio stream"
|
||||
},
|
||||
{
|
||||
"name": "test_portaudio-devel_function_read",
|
||||
"desc": "Test reading audio data"
|
||||
},
|
||||
{
|
||||
"name": "test_portaudio-devel_function_write",
|
||||
"desc": "Test writing audio data"
|
||||
},
|
||||
{
|
||||
"name": "test_portaudio-devel_function_config",
|
||||
"desc": "Test audio config"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -11,79 +11,6 @@
|
||||
"name": "test_qt6-qtlottie-devel_uninstall",
|
||||
"desc": "测试 qt6-qtlottie-devel 软件包的卸载功能,验证是否能够成功卸载。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_qt6-qtlottie-devel_upgrade",
|
||||
"desc": "测试 qt6-qtlottie-devel 软件包的升级功能,验证是否能够成功升级到最新版本。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_qt6-qtlottie-devel_downgrade",
|
||||
"desc": "测试 qt6-qtlottie-devel 软件包的降级功能,验证是否能够成功降级到指定版本。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_qt6-qtlottie-devel_rollback",
|
||||
"desc": "测试 qt6-qtlottie-devel 软件包的回滚功能,验证是否能够成功回滚到上一个版本。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_qt6-qtlottie-devel_service_start",
|
||||
"desc": "测试 qt6-qtlottie-devel 软件包提供的服务启动功能,验证服务是否可以正常启动。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_qt6-qtlottie-devel_service_stop",
|
||||
"desc": "测试 qt6-qtlottie-devel 软件包提供的服务停止功能,验证服务是否可以正常停止。",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_qt6-qtlottie-devel_function_animation",
|
||||
"desc": "测试 qt6-qtlottie-devel 的动画渲染功能,验证是否能够正确渲染 Lottie 动画。"
|
||||
},
|
||||
{
|
||||
"name": "test_qt6-qtlottie-devel_function_json",
|
||||
"desc": "测试 qt6-qtlottie-devel 的 JSON 解析功能,验证是否能够正确解析 Lottie JSON 文件。"
|
||||
},
|
||||
{
|
||||
"name": "test_qt6-qtlottie-devel_function_performance",
|
||||
"desc": "测试 qt6-qtlottie-devel 的性能,验证动画播放的流畅性和资源占用情况。"
|
||||
},
|
||||
{
|
||||
"name": "test_qt6-qtlottie-devel_function_custom",
|
||||
"desc": "测试 qt6-qtlottie-devel 的自定义功能,验证是否支持自定义动画属性修改。"
|
||||
},
|
||||
{
|
||||
"name": "test_qt6-qtlottie-devel_function_export",
|
||||
"desc": "测试 qt6-qtlottie-devel 的导出功能,验证是否能够将动画导出为指定格式。"
|
||||
},
|
||||
{
|
||||
"name": "test_qt6-qtlottie-devel_function_install",
|
||||
"desc": "验证 qt6-qtlottie-devel 开发包能够通过系统包管理器成功安装。"
|
||||
},
|
||||
{
|
||||
"name": "test_qt6-qtlottie-devel_function_uninstall",
|
||||
"desc": "验证 qt6-qtlottie-devel 开发包能够通过系统包管理器完全卸载,不留残余文件。"
|
||||
},
|
||||
{
|
||||
"name": "test_qt6-qtlottie-devel_function_headers",
|
||||
"desc": "验证安装后,关键的开发头文件(如 <QtLottie> 或 <QLottieAnimation>)存在于标准包含路径中。"
|
||||
},
|
||||
{
|
||||
"name": "test_qt6-qtlottie-devel_function_libraries",
|
||||
"desc": "验证安装后,必要的链接库文件(如 libQt6Lottie.so)存在于系统库路径中。"
|
||||
},
|
||||
{
|
||||
"name": "test_qt6-qtlottie-devel_function_compile",
|
||||
"desc": "验证能够使用 qt6-qtlottie-devel 提供的库和头文件成功编译一个简单的 C++ 程序(例如,创建一个空的 QLottieAnimation 对象)。"
|
||||
},
|
||||
{
|
||||
"name": "test_qt6-qtlottie-devel_function_link",
|
||||
"desc": "验证编译后的简单程序能够正确链接到 Qt6 Lottie 库并成功运行,不出现运行时链接错误。"
|
||||
},
|
||||
{
|
||||
"name": "test_qt6-qtlottie-devel_function_pkgconfig",
|
||||
"desc": "验证 pkg-config 或 CMake 能够正确找到 qt6-qtlottie-devel 提供的包信息(如 Qt6Lottie)。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,34 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-i/texlive-featpost",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-featpost_function_basic",
|
||||
"desc": "Test basic functionality of texlive-featpost"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-featpost_function_installation",
|
||||
"desc": "Test if texlive-featpost package can be successfully installed"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-featpost_function_removal",
|
||||
"desc": "Test if texlive-featpost package can be cleanly uninstalled"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-featpost_function_basic_usage",
|
||||
"desc": "Test generating a simple FeatPost diagram with a basic example file"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-featpost_function_cli_tools",
|
||||
"desc": "Test the availability and basic execution of command-line tools provided by the package"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-featpost_function_doc_access",
|
||||
"desc": "Test access to the package documentation (manual, examples)"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-featpost_function_dep_check",
|
||||
"desc": "Test that the package installs or depends on required LaTeX packages (like feapdf)"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -10,10 +10,6 @@
|
||||
"name": "test_texlive-grid-system-doc_function_remove",
|
||||
"desc": "Test package removal"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-grid-system-doc_function_files",
|
||||
"desc": "Check documentation files exist"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-grid-system-doc_function_usage",
|
||||
"desc": "Verify basic package usage info"
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-p/texlive-multidef",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-multidef_function_install",
|
||||
"desc": "Test package installation"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,14 +2,6 @@
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-w/texlive-termcal",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-termcal_function_calendar",
|
||||
"desc": "Test calendar generation functionality"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-termcal_function_install",
|
||||
"desc": "Test if texlive-termcal package can be installed successfully"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-termcal_function_uninstall",
|
||||
"desc": "Test if texlive-termcal package can be uninstalled cleanly"
|
||||
@@ -17,30 +9,6 @@
|
||||
{
|
||||
"name": "test_texlive-termcal_function_check_installed",
|
||||
"desc": "Test if texlive-termcal package is correctly installed and available"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-termcal_function_basic_calendar",
|
||||
"desc": "Test basic calendar generation with termcal"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-termcal_function_weekly_schedule",
|
||||
"desc": "Test generating a weekly schedule with termcal"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-termcal_function_custom_date",
|
||||
"desc": "Test calendar generation with custom start date"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-termcal_function_holiday_marking",
|
||||
"desc": "Test marking holidays on the generated calendar"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-termcal_function_week_number",
|
||||
"desc": "Test including week numbers in the calendar"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-termcal_function_language_support",
|
||||
"desc": "Test calendar generation with different language settings"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,25 +2,9 @@
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-x/texlive-nnext",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-nnext_function_install",
|
||||
"desc": "Test installation of texlive-nnext"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-nnext_function_remove",
|
||||
"desc": "Test removal/uninstallation of texlive-nnext"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-nnext_function_check",
|
||||
"desc": "Test verification of texlive-nnext installation status"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-nnext_function_usage",
|
||||
"desc": "Test basic usage of texlive-nnext package"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-nnext_function_deps",
|
||||
"desc": "Test handling of texlive-nnext dependencies"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-z/texlive-els-cas-templates",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-els-cas-templates_function_compile",
|
||||
"desc": "Verify template compilation"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,101 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-20
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试字体在基础应用(如文本编辑器)中能否被选择并正确显示格鲁吉亚语文本。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:测试字体在基础应用(如文本编辑器)中能否被选择并正确显示格鲁吉亚语文本。"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="bpg-algeti-fonts"
|
||||
|
||||
# 检查软件包是否已在yum源中
|
||||
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"
|
||||
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 "安装软件包失败"
|
||||
fi
|
||||
|
||||
# 检查字体文件是否存在
|
||||
LOG_INFO "检查字体文件是否已安装"
|
||||
FONT_PATH="/usr/share/fonts/$PACKAGE_NAME"
|
||||
if [ -d "$FONT_PATH" ]; then
|
||||
LOG_INFO "字体文件目录存在:$FONT_PATH"
|
||||
else
|
||||
LOG_ERROR "字体文件目录不存在:$FONT_PATH"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 测试字体是否能在文本编辑器中选择
|
||||
LOG_INFO "测试字体是否能在文本编辑器中选择"
|
||||
# 使用fc-list检查字体是否可用
|
||||
fc-list | grep -i "BPG Algeti" &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "字体未在系统中注册"
|
||||
|
||||
# 测试格鲁吉亚语文本显示
|
||||
LOG_INFO "测试格鲁吉亚语文本显示"
|
||||
# 创建一个临时文件包含格鲁吉亚语文本
|
||||
TEST_TEXT="გამარჯობა"
|
||||
TEMP_FILE=$(mktemp)
|
||||
echo "$TEST_TEXT" > "$TEMP_FILE"
|
||||
|
||||
# 使用字体渲染工具测试显示(例如使用pango-view,如果可用)
|
||||
if command -v pango-view &>/dev/null; then
|
||||
LOG_INFO "使用pango-view测试字体渲染"
|
||||
pango-view --font="BPG Algeti" --text="$TEST_TEXT" --output=/tmp/test_font_output.png &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "字体渲染测试失败"
|
||||
else
|
||||
LOG_INFO "pango-view不可用,跳过渲染测试"
|
||||
fi
|
||||
|
||||
# 清理临时文件
|
||||
rm -f "$TEMP_FILE"
|
||||
rm -f /tmp/test_font_output.png
|
||||
|
||||
# 恢复环境:如果测试前未安装,则卸载软件包
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "卸载软件包 $PACKAGE_NAME"
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
else
|
||||
LOG_INFO "测试前已安装软件包,测试结束后保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:字体在基础应用中能够被选择并正确显示格鲁吉亚语文本。"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,68 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-20
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 验证包管理器能正确查询bpg-algeti-fonts软件包的版本、描述等元信息。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始验证包管理器能正确查询bpg-algeti-fonts软件包的版本、描述等元信息。"
|
||||
|
||||
LOG_INFO "步骤1:检查yum源中是否存在bpg-algeti-fonts软件包。"
|
||||
dnf list available bpg-algeti-fonts &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到bpg-algeti-fonts软件包。"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查系统是否已经安装了bpg-algeti-fonts软件包。"
|
||||
rpm -q bpg-algeti-fonts &>/dev/null
|
||||
INSTALLED=$?
|
||||
|
||||
if [ $INSTALLED -ne 0 ]; then
|
||||
LOG_INFO "软件包未安装,将执行安装步骤。"
|
||||
LOG_INFO "步骤3:安装bpg-algeti-fonts软件包。"
|
||||
dnf install -y bpg-algeti-fonts
|
||||
CHECK_RESULT $? 0 0 "安装bpg-algeti-fonts软件包失败。"
|
||||
NEWLY_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "软件包已安装,跳过安装步骤。"
|
||||
NEWLY_INSTALLED=0
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:查询bpg-algeti-fonts软件包的详细信息。"
|
||||
rpm -qi bpg-algeti-fonts
|
||||
CHECK_RESULT $? 0 0 "查询bpg-algeti-fonts软件包详细信息失败。"
|
||||
|
||||
LOG_INFO "步骤5:查询bpg-algeti-fonts软件包的版本信息。"
|
||||
rpm -q --qf "%{VERSION}-%{RELEASE}\n" bpg-algeti-fonts
|
||||
CHECK_RESULT $? 0 0 "查询bpg-algeti-fonts软件包版本信息失败。"
|
||||
|
||||
LOG_INFO "步骤6:查询bpg-algeti-fonts软件包的描述信息。"
|
||||
rpm -q --qf "%{DESCRIPTION}\n" bpg-algeti-fonts
|
||||
CHECK_RESULT $? 0 0 "查询bpg-algeti-fonts软件包描述信息失败。"
|
||||
|
||||
if [ $NEWLY_INSTALLED -eq 1 ]; then
|
||||
LOG_INFO "步骤7:清理环境,卸载测试安装的bpg-algeti-fonts软件包。"
|
||||
dnf remove -y bpg-algeti-fonts
|
||||
CHECK_RESULT $? 0 0 "卸载bpg-algeti-fonts软件包失败。"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复。"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,75 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-01-21
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试glib2-static软件包安装后核心静态库文件的存在性
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试glib2-static软件包安装后核心静态库文件的存在性"
|
||||
|
||||
# 检查yum源中是否存在glib2-static软件包
|
||||
LOG_INFO "检查yum源中是否存在glib2-static软件包"
|
||||
dnf list available glib2-static 2>/dev/null | grep -q glib2-static
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到glib2-static软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查当前是否已安装glib2-static
|
||||
LOG_INFO "检查当前是否已安装glib2-static"
|
||||
if rpm -q glib2-static >/dev/null 2>&1; then
|
||||
already_installed=true
|
||||
LOG_INFO "glib2-static软件包已经安装"
|
||||
else
|
||||
already_installed=false
|
||||
LOG_INFO "glib2-static软件包未安装,将进行安装"
|
||||
fi
|
||||
|
||||
# 若未安装,则安装软件包
|
||||
if [ "$already_installed" = "false" ]; then
|
||||
LOG_INFO "安装glib2-static软件包"
|
||||
dnf install -y glib2-static
|
||||
CHECK_RESULT $? 0 0 "安装glib2-static失败"
|
||||
fi
|
||||
|
||||
# 测试核心静态库文件是否存在
|
||||
LOG_INFO "检查核心静态库文件是否存在"
|
||||
# 假设glib2-static的主要静态库文件为libglib-2.0.a,具体文件可能需要根据实际软件包内容调整
|
||||
STATIC_LIB_FILE="/usr/lib/libglib-2.0.a"
|
||||
if [ -f "$STATIC_LIB_FILE" ]; then
|
||||
LOG_INFO "核心静态库文件 $STATIC_LIB_FILE 存在"
|
||||
# 可选:检查文件大小或进行简单验证
|
||||
# ls -l "$STATIC_LIB_FILE"
|
||||
else
|
||||
LOG_ERROR "核心静态库文件 $STATIC_LIB_FILE 不存在"
|
||||
CHECK_RESULT 1 0 0 "核心静态库文件不存在"
|
||||
fi
|
||||
|
||||
# 环境恢复:如果测试前未安装,则卸载软件包
|
||||
if [ "$already_installed" = "false" ]; then
|
||||
LOG_INFO "卸载glib2-static软件包"
|
||||
dnf remove -y glib2-static
|
||||
CHECK_RESULT $? 0 0 "卸载glib2-static失败"
|
||||
else
|
||||
LOG_INFO "保持glib2-static软件包的安装状态不变"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,115 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-01-29
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用glib2-static静态库进行编译和链接的基本功能,验证能否成功构建简单程序
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试glib2-static库的编译链接功能"
|
||||
|
||||
# 检查glib2-static包是否在yum源中
|
||||
LOG_INFO "检查glib2-static包是否在yum源中"
|
||||
dnf list available glib2-static > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到glib2-static软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查环境是否已安装glib2-static
|
||||
LOG_INFO "检查环境是否已安装glib2-static"
|
||||
rpm -q glib2-static > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "glib2-static已安装,标记为保持安装状态"
|
||||
KEEP_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "glib2-static未安装,将在测试过程中安装"
|
||||
KEEP_INSTALLED=0
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装glib2-static
|
||||
if [ $KEEP_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装glib2-static软件包"
|
||||
dnf install -y glib2-static
|
||||
CHECK_RESULT $? 0 0 "安装glib2-static失败"
|
||||
fi
|
||||
|
||||
# 检查pkg-config命令是否支持--static参数
|
||||
LOG_INFO "检查pkg-config命令是否支持--static参数"
|
||||
pkg-config --help | grep -q -- "--static"
|
||||
CHECK_RESULT $? 0 0 "pkg-config不支持--static参数" 255
|
||||
|
||||
# 创建测试源代码
|
||||
LOG_INFO "创建测试源代码文件"
|
||||
cat > test_glib.c << "EOF"
|
||||
#include <glib.h>
|
||||
#include <stdio.h>
|
||||
|
||||
int main() {
|
||||
GList *list = NULL;
|
||||
list = g_list_append(list, "Hello");
|
||||
list = g_list_append(list, "World");
|
||||
|
||||
GList *iter;
|
||||
for (iter = list; iter != NULL; iter = iter->next) {
|
||||
printf("%s\n", (char*)iter->data);
|
||||
}
|
||||
|
||||
g_list_free(list);
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
|
||||
# 获取glib2的静态链接参数
|
||||
LOG_INFO "获取glib2的静态链接参数"
|
||||
CFLAGS=$(pkg-config --cflags glib-2.0)
|
||||
CHECK_RESULT $? 0 0 "获取glib2编译参数失败"
|
||||
LDFLAGS=$(pkg-config --libs --static glib-2.0)
|
||||
CHECK_RESULT $? 0 0 "获取glib2静态链接参数失败"
|
||||
|
||||
# 编译测试程序
|
||||
LOG_INFO "编译测试程序"
|
||||
gcc $CFLAGS -o test_glib_static test_glib.c $LDFLAGS
|
||||
CHECK_RESULT $? 0 0 "编译测试程序失败"
|
||||
|
||||
# 运行测试程序
|
||||
LOG_INFO "运行测试程序"
|
||||
./test_glib_static
|
||||
CHECK_RESULT $? 0 0 "运行测试程序失败"
|
||||
|
||||
# 检查生成的可执行文件是否为静态链接
|
||||
LOG_INFO "检查生成的可执行文件是否为静态链接"
|
||||
ldd test_glib_static 2>&1 | grep -q "not a dynamic executable"
|
||||
CHECK_RESULT $? 0 0 "生成的可执行文件不是静态链接"
|
||||
|
||||
LOG_INFO "测试程序编译链接成功"
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f test_glib.c test_glib_static
|
||||
|
||||
# 如果测试开始时未安装,则卸载glib2-static
|
||||
if [ $KEEP_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载glib2-static软件包"
|
||||
dnf remove -y glib2-static
|
||||
CHECK_RESULT $? 0 0 "卸载glib2-static失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,94 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-01-29
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试安装后核心静态库文件(如.a文件)和头文件的存在性与路径正确性
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试glib2静态库文件和头文件的存在性与路径正确性"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="glib2-static"
|
||||
|
||||
# 检查是否已安装
|
||||
if rpm -q $PACKAGE_NAME &>/dev/null; then
|
||||
LOG_INFO "检测到$PACKAGE_NAME已安装,测试后将保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "$PACKAGE_NAME未安装,将在测试中安装并最终卸载"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有该软件包
|
||||
LOG_INFO "检查yum源中是否存在$PACKAGE_NAME软件包"
|
||||
dnf list available $PACKAGE_NAME &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到$PACKAGE_NAME软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "安装$PACKAGE_NAME软件包"
|
||||
dnf install -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "安装$PACKAGE_NAME失败"
|
||||
fi
|
||||
|
||||
# 测试核心静态库文件存在性
|
||||
LOG_INFO "检查核心静态库文件(.a)是否存在"
|
||||
STATIC_LIB_FILES=$(rpm -ql $PACKAGE_NAME | grep "\.a$")
|
||||
if [ -z "$STATIC_LIB_FILES" ]; then
|
||||
LOG_ERROR "未找到任何静态库文件(.a)"
|
||||
exit 1
|
||||
fi
|
||||
for lib in $STATIC_LIB_FILES; do
|
||||
if [ -f "$lib" ]; then
|
||||
LOG_INFO "静态库文件存在: $lib"
|
||||
else
|
||||
LOG_ERROR "静态库文件不存在: $lib"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
# 测试头文件存在性
|
||||
LOG_INFO "检查头文件(.h)是否存在"
|
||||
HEADER_FILES=$(rpm -ql $PACKAGE_NAME | grep "\.h$")
|
||||
if [ -z "$HEADER_FILES" ]; then
|
||||
LOG_ERROR "未找到任何头文件(.h)"
|
||||
exit 1
|
||||
fi
|
||||
for header in $HEADER_FILES; do
|
||||
if [ -f "$header" ]; then
|
||||
LOG_INFO "头文件存在: $header"
|
||||
else
|
||||
LOG_ERROR "头文件不存在: $header"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
# 清理环境:如果之前未安装,则卸载软件包
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "卸载$PACKAGE_NAME软件包"
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "卸载$PACKAGE_NAME失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,104 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-01-29
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试glib2-static软件包的卸载功能,验证是否能完全移除且不残留关键文件
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
LOG_INFO "检查glib2-static软件包是否在yum源中"
|
||||
dnf list available glib2-static 2>/dev/null | grep -q glib2-static
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到glib2-static软件包"
|
||||
exit 255
|
||||
fi
|
||||
CHECK_RESULT $? 0 0 "检查glib2-static软件包在yum源中失败"
|
||||
|
||||
# 检查当前环境是否已安装glib2-static
|
||||
LOG_INFO "检查当前环境是否已安装glib2-static软件包"
|
||||
rpm -q glib2-static >/dev/null 2>&1
|
||||
is_installed=$?
|
||||
|
||||
if [ $is_installed -eq 0 ]; then
|
||||
LOG_INFO "检测到glib2-static软件包已安装,脚本将保持安装状态"
|
||||
need_cleanup=0
|
||||
else
|
||||
LOG_INFO "检测到glib2-static软件包未安装,将执行安装作为测试步骤"
|
||||
need_cleanup=1
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $need_cleanup -eq 1 ]; then
|
||||
LOG_INFO "开始安装glib2-static软件包"
|
||||
dnf install -y glib2-static
|
||||
CHECK_RESULT $? 0 0 "安装glib2-static软件包失败"
|
||||
LOG_INFO "glib2-static软件包安装成功"
|
||||
fi
|
||||
|
||||
# 记录安装后的文件列表
|
||||
LOG_INFO "记录glib2-static软件包安装后的文件列表"
|
||||
rpm -ql glib2-static > /tmp/glib2-static_files_before.txt
|
||||
CHECK_RESULT $? 0 0 "获取glib2-static软件包文件列表失败"
|
||||
|
||||
# 执行卸载操作
|
||||
LOG_INFO "开始卸载glib2-static软件包"
|
||||
dnf remove -y glib2-static
|
||||
CHECK_RESULT $? 0 0 "卸载glib2-static软件包失败"
|
||||
LOG_INFO "glib2-static软件包卸载成功"
|
||||
|
||||
# 检查软件包是否完全卸载
|
||||
LOG_INFO "检查glib2-static软件包是否完全卸载"
|
||||
rpm -q glib2-static >/dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "glib2-static软件包卸载不完全"
|
||||
CHECK_RESULT 1 0 0 "glib2-static软件包卸载不完全"
|
||||
fi
|
||||
LOG_INFO "glib2-static软件包已从rpm数据库中移除"
|
||||
|
||||
# 检查关键文件是否残留
|
||||
LOG_INFO "检查glib2-static软件包关键文件是否残留"
|
||||
for file in $(cat /tmp/glib2-static_files_before.txt); do
|
||||
if [ -f "$file" ] || [ -d "$file" ]; then
|
||||
LOG_ERROR "发现残留文件: $file"
|
||||
CHECK_RESULT 1 0 0 "发现glib2-static软件包残留文件"
|
||||
fi
|
||||
done
|
||||
LOG_INFO "glib2-static软件包关键文件无残留"
|
||||
|
||||
# 环境恢复
|
||||
LOG_INFO "开始环境恢复"
|
||||
if [ $need_cleanup -eq 1 ]; then
|
||||
LOG_INFO "清理测试安装的软件包"
|
||||
# 确保软件包已卸载
|
||||
rpm -q glib2-static >/dev/null 2>&1 && dnf remove -y glib2-static
|
||||
else
|
||||
LOG_INFO "重新安装glib2-static软件包以恢复原始状态"
|
||||
dnf install -y glib2-static
|
||||
CHECK_RESULT $? 0 0 "恢复glib2-static软件包安装状态失败"
|
||||
fi
|
||||
|
||||
# 清理临时文件
|
||||
LOG_INFO "清理临时文件"
|
||||
rm -f /tmp/glib2-static_files_before.txt
|
||||
|
||||
LOG_INFO "glib2-static软件包卸载功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,92 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用软件包提供的头文件和库进行简单的程序编译与链接
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试libusbx-devel软件包的编译功能"
|
||||
|
||||
# 检查软件包是否已在yum源中
|
||||
LOG_INFO "检查yum源中是否存在libusbx-devel软件包"
|
||||
dnf list available libusbx-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中未找到libusbx-devel软件包"
|
||||
|
||||
# 检查是否已安装libusbx-devel
|
||||
LOG_INFO "检查系统是否已安装libusbx-devel软件包"
|
||||
if rpm -q libusbx-devel > /dev/null 2>&1; then
|
||||
LOG_INFO "libusbx-devel已安装,标记为保持安装状态"
|
||||
ALREADY_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "libusbx-devel未安装,将在测试过程中安装"
|
||||
ALREADY_INSTALLED=0
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装libusbx-devel软件包"
|
||||
dnf install -y libusbx-devel
|
||||
CHECK_RESULT $? 0 0 "安装libusbx-devel失败"
|
||||
fi
|
||||
|
||||
# 创建测试程序源代码
|
||||
LOG_INFO "创建测试程序源代码"
|
||||
cat > test_libusbx.c << "EOF"
|
||||
#include <libusb-1.0/libusb.h>
|
||||
#include <stdio.h>
|
||||
|
||||
int main() {
|
||||
libusb_context *ctx = NULL;
|
||||
int r = libusb_init(&ctx);
|
||||
if (r < 0) {
|
||||
printf("libusb_init failed: %s\n", libusb_error_name(r));
|
||||
return 1;
|
||||
}
|
||||
printf("libusbx library test passed\n");
|
||||
libusb_exit(ctx);
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
|
||||
# 编译测试程序
|
||||
LOG_INFO "编译测试程序"
|
||||
gcc -o test_libusbx test_libusbx.c -lusb-1.0
|
||||
CHECK_RESULT $? 0 0 "编译测试程序失败"
|
||||
|
||||
# 运行测试程序
|
||||
LOG_INFO "运行测试程序"
|
||||
./test_libusbx
|
||||
CHECK_RESULT $? 0 0 "运行测试程序失败"
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f test_libusbx.c test_libusbx
|
||||
|
||||
# 如果测试前未安装,则卸载软件包
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载libusbx-devel软件包"
|
||||
dnf remove -y libusbx-devel
|
||||
CHECK_RESULT $? 0 0 "卸载libusbx-devel失败"
|
||||
else
|
||||
LOG_INFO "保持libusbx-devel安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "libusbx-devel编译功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,69 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-08
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 sgx-aesm-service 服务的配置文件加载功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
LOG_INFO "开始测试 sgx-aesm-service 服务的配置文件加载功能"
|
||||
|
||||
# 检查是否已安装 sgx-aesm-service
|
||||
LOG_INFO "检查 sgx-aesm-service 是否已安装"
|
||||
if dnf list installed sgx-aesm-service &>/dev/null; then
|
||||
LOG_INFO "sgx-aesm-service 已安装"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "sgx-aesm-service 未安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有 sgx-aesm-service
|
||||
LOG_INFO "检查 yum 源中是否有 sgx-aesm-service"
|
||||
if ! dnf list available sgx-aesm-service &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 sgx-aesm-service"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装 sgx-aesm-service
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装 sgx-aesm-service"
|
||||
dnf install -y sgx-aesm-service
|
||||
CHECK_RESULT $? 0 0 "安装 sgx-aesm-service 失败"
|
||||
fi
|
||||
|
||||
# 检查服务配置文件加载功能
|
||||
LOG_INFO "测试 sgx-aesm-service 配置文件加载功能"
|
||||
systemctl restart sgx-aesm-service
|
||||
CHECK_RESULT $? 0 0 "重启 sgx-aesm-service 失败"
|
||||
|
||||
systemctl status sgx-aesm-service | grep -q "active (running)"
|
||||
CHECK_RESULT $? 0 0 "sgx-aesm-service 服务未正常运行"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 sgx-aesm-service"
|
||||
dnf remove -y sgx-aesm-service
|
||||
CHECK_RESULT $? 0 0 "卸载 sgx-aesm-service 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,113 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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 : 测试 sgx-aesm-service 服务的重启功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查软件包是否已安装
|
||||
check_package_installed() {
|
||||
if dnf list installed "$1" &>/dev/null; then
|
||||
return 0
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
check_package_in_repo() {
|
||||
if dnf list available "$1" &>/dev/null; then
|
||||
return 0
|
||||
else
|
||||
LOG_ERROR "软件包 $1 不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
}
|
||||
|
||||
# 检查命令是否存在
|
||||
check_command() {
|
||||
if ! command -v "$1" &>/dev/null; then
|
||||
LOG_ERROR "命令 $1 不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
}
|
||||
|
||||
# 安装软件包(如果未安装)
|
||||
install_package_if_needed() {
|
||||
local package=$1
|
||||
if ! check_package_installed "$package"; then
|
||||
LOG_INFO "安装软件包 $package"
|
||||
dnf install -y "$package"
|
||||
CHECK_RESULT $? 0 0 "安装软件包 $package 失败"
|
||||
else
|
||||
LOG_INFO "软件包 $package 已安装"
|
||||
fi
|
||||
}
|
||||
|
||||
# 卸载软件包(如果脚本开始时未安装)
|
||||
uninstall_package_if_needed() {
|
||||
local package=$1 was_installed=$2
|
||||
if [ "$was_installed" -eq 0 ]; then
|
||||
LOG_INFO "卸载软件包 $package"
|
||||
dnf remove -y "$package"
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 $package 失败"
|
||||
else
|
||||
LOG_INFO "保持软件包 $package 的安装状态"
|
||||
fi
|
||||
}
|
||||
|
||||
# Main script
|
||||
LOG_INFO "开始测试 sgx-aesm-service 服务的重启功能"
|
||||
|
||||
# 检查 sgx-aesm-service 是否在yum源中
|
||||
LOG_INFO "检查 sgx-aesm-service 是否在yum源中"
|
||||
check_package_in_repo sgx-aesm-service
|
||||
|
||||
# 记录 sgx-aesm-service 初始安装状态
|
||||
if check_package_installed sgx-aesm-service; then
|
||||
was_installed=1
|
||||
else
|
||||
was_installed=0
|
||||
fi
|
||||
|
||||
# 确保 sgx-aesm-service.service存在且可操作
|
||||
LOG_INFO "确保 sgx-aesm-service.service 存在"
|
||||
check_command systemctl
|
||||
|
||||
systemctl cat sgx-aesm-service.service &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "sgx-aesm-service.service 不存在"
|
||||
|
||||
# Step: Restart sgx-aesm-service
|
||||
LOG_INFO "重启 sgx-aesm-service"
|
||||
systemctl restart sgx-aesm-service
|
||||
CHECK_RESULT $? 00"重启 sgx-aesm-service 失败"
|
||||
|
||||
# Step: Check service status
|
||||
LOG_INFO "检查 sgx-aesm-service 状态"
|
||||
systemctl status --no-pager sgx-aesm-service | grep -q "active (running)"
|
||||
CHECK_RESULT $? 00"sgx-aesm-service未正常运行"
|
||||
|
||||
# Cleanup: Uninstall if it was not installed initially
|
||||
uninstall_package_if_needed sgxaemsservice $wasinstalled
|
||||
|
||||
LOGINFO“测试完成”
|
||||
exit0
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,76 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-08
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 sgx-aesm-service 服务的启动功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 sgx-aesm-service 服务的启动功能"
|
||||
|
||||
# 检查是否已安装 sgx-aesm-service
|
||||
LOG_INFO "检查 sgx-aesm-service 是否已安装"
|
||||
if dnf list installed sgx-aesm-service &>/dev/null; then
|
||||
LOG_INFO "sgx-aesm-service 已安装"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "sgx-aesm-service 未安装"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有 sgx-aesm-service
|
||||
LOG_INFO "检查 yum 源中是否有 sgx-aesm-service"
|
||||
if ! dnf list available sgx-aesm-service &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 sgx-aesm-service"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装 sgx-aesm-service
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "开始安装 sgx-aesm-service"
|
||||
dnf install -y sgx-aesm-service
|
||||
CHECK_RESULT $? 0 0 "安装 sgx-aesm-service 失败"
|
||||
fi
|
||||
|
||||
# 检查服务是否支持 start 参数
|
||||
LOG_INFO "检查 sgx-aesm-service 是否支持 start 参数"
|
||||
if ! systemctl help sgx-aesm-service | grep -q "start"; then
|
||||
LOG_ERROR "sgx-aesm-service 不支持 start 参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 启动服务
|
||||
LOG_INFO "启动 sgx-aesm-service"
|
||||
systemctl start sgx-aesm-service
|
||||
CHECK_RESULT $? 0 0 "启动 sgx-aesm-service 失败"
|
||||
|
||||
# 检查服务状态是否为 active (running)
|
||||
LOG_INFO "检查 sgx-aesm-service 状态"
|
||||
systemctl is-active sgx-aesm-service
|
||||
CHECK_RESULT $? 0 0 "sgx-aesm-service未运行"
|
||||
|
||||
# 如果之前未安装,则卸载 sgx-aesm-service
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载之前安装的 sgx-aesm-service"
|
||||
dnf remove -y sgx-aesm-service
|
||||
CHECK_RESULT $? 0 0 “卸载 sg xa ems-service失败”
|
||||
fi
|
||||
|
||||
LOG_INFO "测试 sg xa ems-service服务的启动功能完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,64 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-08
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 sgx-aesm-service 服务的状态查询功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 sgx-aesm-service 服务的状态查询功能"
|
||||
|
||||
# 检查是否已安装 sgx-aesm-service
|
||||
LOG_INFO "检查 sgx-aesm-service 是否已安装"
|
||||
if dnf list installed sgx-aesm-service &>/dev/null; then
|
||||
LOG_INFO "sgx-aesm-service 已安装"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "sgx-aesm-service 未安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有 sgx-aesm-service
|
||||
LOG_INFO "检查 yum 源中是否有 sgx-aesm-service"
|
||||
if ! dnf list available sgx-aesm-service &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 sgx-aesm-service"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装 sgx-aesm-service
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装 sgx-aesm-service"
|
||||
dnf install -y sgx-aesm-service
|
||||
CHECK_RESULT $? 0 0 "安装 sgx-aesm-service 失败"
|
||||
fi
|
||||
|
||||
# 检查服务状态
|
||||
LOG_INFO "检查 sgx-aesm-service 服务状态"
|
||||
systemctl status sgx-aesm-service
|
||||
CHECK_RESULT $? 0 0 "查询 sgx-aesm-service 服务状态失败"
|
||||
|
||||
# 如果最初未安装,则在测试完成后卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 sgx-aesm-service"
|
||||
dnf remove -y sgx-aesm-service
|
||||
CHECK_RESULT $? 0 0 "卸载 sgx-aesm-service 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,69 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-08
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 sgx-aesm-service 服务的停止功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 sgx-aesm-service 服务的停止功能"
|
||||
|
||||
# 检查是否已安装 sgx-aesm-service
|
||||
LOG_INFO "检查 sgx-aesm-service 是否已安装"
|
||||
if ! dnf list installed sgx-aesm-service &>/dev/null; then
|
||||
LOG_INFO "sgx-aesm-service 未安装,将进行安装"
|
||||
# 检查 yum 源中是否有该软件包
|
||||
if ! dnf list available sgx-aesm-service &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 sgx-aesm-service 软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装 sgx-aesm-service
|
||||
dnf install -y sgx-aesm-service
|
||||
CHECK_RESULT $? 0 0 "安装 sgx-aesm-service 失败"
|
||||
# 标记为需要卸载
|
||||
NEED_UNINSTALL=1
|
||||
else
|
||||
LOG_INFO "sgx-aesm-service 已安装,无需重新安装"
|
||||
NEED_UNINSTALL=0
|
||||
fi
|
||||
|
||||
# 检查 sgx-aesm-service 服务状态
|
||||
LOG_INFO "检查 sgx-aesm-service 服务状态"
|
||||
systemctl status sgx-aesm-service &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "sgx-aesm-service 服务未运行或不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 停止 sgx-aesm-service 服务
|
||||
LOG_INFO "停止 sgx-aesm-service 服务"
|
||||
systemctl stop sgx-aesm-service
|
||||
CHECK_RESULT $? 0 0 "停止 sgx-aesm-service 服务失败"
|
||||
|
||||
# 验证服务是否已停止
|
||||
LOG_INFO "验证 sgx-aesm-service 服务是否已停止"
|
||||
systemctl status sgx-aesm-service | grep "inactive (dead)" &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "sgx-aesm-service 服务未成功停止"
|
||||
|
||||
# 恢复环境(如果之前未安装则卸载)
|
||||
if [ $NEED_UNINSTALL -eq 1 ]; then
|
||||
LOG_INFO "卸载 sgx-aesm-service"
|
||||
dnf remove -y sgx--aes m--service
|
||||
CHECK_RESULT $?
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,76 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-06
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test closing audio stream
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查portaudio-devel是否已安装
|
||||
if dnf list installed portaudio-devel &>/dev/null; then
|
||||
LOG_INFO "portaudio-devel已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "portaudio-devel未安装,测试结束后将卸载"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在portaudio-devel软件包
|
||||
LOG_INFO "检查yum源中是否存在portaudio-devel软件包"
|
||||
if ! dnf list available portaudio-devel &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到portaudio-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装portaudio-devel软件包(如果未安装)
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "开始安装portaudio-devel软件包"
|
||||
dnf install -y portaudio-devel
|
||||
CHECK_RESULT $? 0 0 "安装portaudio-devel软件包失败"
|
||||
fi
|
||||
|
||||
# 测试关闭音频流功能
|
||||
LOG_INFO "开始测试关闭音频流功能"
|
||||
pa_devnull="$(pactl list sinks | grep -q "Name:")"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "未找到可用的音频设备"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 模拟关闭音频流
|
||||
LOG_INFO "模拟关闭音频流"
|
||||
pactl suspend-sink @DEFAULT_SINK@ 1
|
||||
CHECK_RESULT $? 0 0 "关闭音频流失败"
|
||||
|
||||
# 恢复音频流状态(如果之前是打开的)
|
||||
LOG_INFO "恢复音频流状态"
|
||||
pactl suspend-sink @DEFAULT_SINK@ 0
|
||||
CHECK_RESULT $? 0 0 "恢复音频流状态失败"
|
||||
|
||||
# 清理环境(如果测试前未安装portaudio-devel)
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载portaudio-devel软件包"
|
||||
dnf remove -y portaudio-devel
|
||||
CHECK_RESULT $? 0 0 "卸载portaudio-devel软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕,环境已恢复"
|
||||
exit 0
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,66 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-06
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test audio config
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
LOG_INFO "开始测试音频配置功能"
|
||||
|
||||
# 检查portaudio-devel软件包是否已安装
|
||||
if rpm -q portaudio-devel >/dev/null 2>&1; then
|
||||
LOG_INFO "portaudio-devel软件包已安装,测试结束后保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "portaudio-devel软件包未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在portaudio-devel软件包
|
||||
LOG_INFO "检查yum源中是否存在portaudio-devel软件包"
|
||||
if ! dnf list available portaudio-devel >/dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中未找到portaudio-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装portaudio-devel软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装portaudio-devel软件包"
|
||||
dnf install -y portaudio-devel
|
||||
CHECK_RESULT $? 0 0 "安装portaudio-devel失败"
|
||||
fi
|
||||
|
||||
# 测试音频配置功能
|
||||
LOG_INFO "测试音频配置功能"
|
||||
pa_test_cmd="pactl info"
|
||||
$pa_test_cmd
|
||||
CHECK_RESULT $? 0 0 "音频配置功能测试失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载portaudio-devel软件包"
|
||||
dnf remove -y portaudio-devel
|
||||
CHECK_RESULT $? 0 0 "卸载portaudio-devel失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "音频配置功能测试完成"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,67 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-28
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test initialization of portaudio-devel
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查portaudio-devel是否已安装
|
||||
LOG_INFO "检查portaudio-devel是否已安装"
|
||||
rpm -q portaudio-devel > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "portaudio-devel已安装,脚本结束时保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "portaudio-devel未安装,将在测试结束后卸载"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在portaudio-devel软件包
|
||||
LOG_INFO "检查yum源中是否存在portaudio-devel软件包"
|
||||
dnf list available portaudio-devel > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在portaudio-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装portaudio-devel软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "开始安装portaudio-devel软件包"
|
||||
dnf install -y portaudio-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装portaudio-devel软件包失败"
|
||||
LOG_INFO "portaudio-devel软件包安装成功"
|
||||
fi
|
||||
|
||||
# 测试portaudio-devel初始化功能
|
||||
LOG_INFO "测试portaudio-devel初始化功能"
|
||||
pa_init_output=$(pa_init_test 2>&1)
|
||||
CHECK_RESULT $? 0 0 "portaudio-devel初始化失败: $pa_init_output"
|
||||
|
||||
# 清理环境
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载portaudio-devel软件包"
|
||||
dnf remove -y portaudio-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载portaudio-devel软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,69 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-06
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test opening audio stream
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查portaudio-devel是否已安装
|
||||
LOG_INFO "检查portaudio-devel是否已安装"
|
||||
rpm -q portaudio-devel
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "portaudio-devel已安装,脚本结束时将保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "portaudio-devel未安装,将在测试步骤中安装"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在portaudio-devel软件包
|
||||
LOG_INFO "检查yum源中是否存在portaudio-devel软件包"
|
||||
dnf list available portaudio-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中不存在portaudio-devel软件包"
|
||||
|
||||
# 安装portaudio-devel软件包(如果未安装)
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装portaudio-devel软件包"
|
||||
dnf install -y portaudio-devel
|
||||
CHECK_RESULT $? 0 0 "安装portaudio-devel失败"
|
||||
fi
|
||||
|
||||
# 测试打开音频流功能
|
||||
LOG_INFO "测试打开音频流功能"
|
||||
pa_test=$(command -v pa_test)
|
||||
if [ -z "$pa_test" ]; then
|
||||
LOG_ERROR "pa_test命令不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
$pa_test --open-stream
|
||||
CHECK_RESULT $? 0 0 "打开音频流失败"
|
||||
|
||||
# 清理环境(如果之前未安装)
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载portaudio-devel软件包"
|
||||
dnf remove -y portaudio-devel
|
||||
CHECK_RESULT $? 0 0 "卸载portaudio-devel失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,76 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-06
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test reading audio data
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装portaudio-devel
|
||||
LOG_INFO "检查portaudio-devel是否已安装"
|
||||
if dnf list installed portaudio-devel &>/dev/null; then
|
||||
LOG_INFO "portaudio-devel已安装,脚本结束时将保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "portaudio-devel未安装,将在测试步骤中安装"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有portaudio-devel软件包
|
||||
LOG_INFO "检查yum源中是否有portaudio-devel软件包"
|
||||
if ! dnf list available portaudio-devel &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到portaudio-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装portaudio-devel
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装portaudio-devel"
|
||||
dnf install -y portaudio-devel
|
||||
CHECK_RESULT $? 0 0 "安装portaudio-devel失败"
|
||||
fi
|
||||
|
||||
# 测试读取音频数据功能
|
||||
LOG_INFO "测试读取音频数据功能"
|
||||
if ! command -v arecord &>/dev/null; then
|
||||
LOG_ERROR "arecord命令不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 使用arecord命令测试音频数据读取
|
||||
LOG_INFO "执行arecord命令测试音频数据读取"
|
||||
arecord -d 5 -f cd test.wav
|
||||
CHECK_RESULT $? 0 0 "arecord命令执行失败"
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f test.wav
|
||||
CHECK_RESULT $? 0 0 "清理测试文件失败"
|
||||
|
||||
# 如果脚本开始时未安装portaudio-devel,则在结束时卸载
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载portaudio-devel"
|
||||
dnf remove -y portaudio-devel
|
||||
CHECK_RESULT $? 0 0 "卸载portaudio-devel失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,66 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-06
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test writing audio data
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查portaudio-devel是否已安装
|
||||
LOG_INFO "检查portaudio-devel是否已安装"
|
||||
rpm -q portaudio-devel > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "portaudio-devel已安装"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "portaudio-devel未安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有portaudio-devel软件包
|
||||
LOG_INFO "检查yum源中是否有portaudio-devel软件包"
|
||||
dnf list available portaudio-devel > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到portaudio-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装portaudio-devel
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "开始安装portaudio-devel"
|
||||
dnf install -y portaudio-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装portaudio-devel失败"
|
||||
LOG_INFO "portaudio-devel安装成功"
|
||||
fi
|
||||
|
||||
# 测试写入音频数据功能
|
||||
LOG_INFO "开始测试写入音频数据功能"
|
||||
pa_write_test > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "写入音频数据测试失败"
|
||||
|
||||
# 如果脚本开始时未安装,则卸载portaudio-devel
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "开始卸载portaudio-devel"
|
||||
dnf remove -y portaudio-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载portaudio-devel失败"
|
||||
LOG_INFO "portaudio-devle卸载成功"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,91 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-23
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 qt6-qtlottie-devel 软件包的降级功能,验证是否能够成功降级到指定版本。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 qt6-qtlottie-devel 软件包的降级功能"
|
||||
|
||||
# 检查是否已安装 qt6-qtlottie-devel
|
||||
LOG_INFO "检查 qt6-qtlottie-devel 是否已安装"
|
||||
rpm -q qt6-qtlottie-devel > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "qt6-qtlottie-devel 已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "qt6-qtlottie-devel 未安装,将在测试完成后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否存在 qt6-qtlottie-devel
|
||||
LOG_INFO "检查 yum 源中是否存在 qt6-qtlottie-devel"
|
||||
dnf list available qt6-qtlottie-devel > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum 源中未找到 qt6-qtlottie-devel 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 获取当前安装的版本(如果已安装)
|
||||
if [ "$INSTALLED" = true ]; then
|
||||
CURRENT_VERSION=$(rpm -q --queryformat '%{VERSION}-%{RELEASE}' qt6-qtlottie-devel)
|
||||
LOG_INFO "当前安装的版本为: $CURRENT_VERSION"
|
||||
fi
|
||||
|
||||
# 获取可用的版本列表
|
||||
LOG_INFO "获取 qt6-qtlottie-devel 的可用版本列表"
|
||||
AVAILABLE_VERSIONS=$(dnf list --showduplicates qt6-qtlottie-devel | awk '{print $2}' | tail -n +2)
|
||||
if [ -z "$AVAILABLE_VERSIONS" ]; then
|
||||
LOG_ERROR "无法获取可用版本列表"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 选择降级的目标版本(假设为第一个非当前版本的版本)
|
||||
TARGET_VERSION=$(echo "$AVAILABLE_VERSIONS" | head -n 1)
|
||||
if [ "$INSTALLED" = true ] && [ "$TARGET_VERSION" = "$CURRENT_VERSION" ]; then
|
||||
TARGET_VERSION=$(echo "$AVAILABLE_VERSIONS" | head -n 2 | tail -n 1)
|
||||
fi
|
||||
|
||||
if [ -z "$TARGET_VERSION" ]; then
|
||||
LOG_ERROR "没有可用的降级目标版本"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "目标降级版本为: $TARGET_VERSION"
|
||||
|
||||
# 执行降级操作
|
||||
LOG_INFO "执行降级操作到版本: $TARGET_VERSION"
|
||||
dnf downgrade -y qt6-qtlottie-devel-$TARGET_VERSION > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "降级操作失败"
|
||||
|
||||
# 验证降级后的版本
|
||||
NEW_VERSION=$(rpm -q --queryformat '%{VERSION}-%{RELEASE}' qt6-qtlottie-devel)
|
||||
LOG_INFO "降级后的版本为: $NEW_VERSION"
|
||||
CHECK_RESULT "$NEW_VERSION" "$TARGET_VERSION" "0" "降级后版本与目标版本不一致"
|
||||
|
||||
# 恢复环境(如果最初未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 qt6-qtlottie-devel"
|
||||
dnf remove -y qt6-qtlottie-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载操作失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,70 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 qt6-qtlottie-devel 的动画渲染功能,验证是否能够正确渲染 Lottie 动画。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 qt6-qtlottie-devel 的动画渲染功能,验证是否能够正确渲染 Lottie 动画。"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查 qt6-qtlottie-devel 是否已安装"
|
||||
if rpm -q qt6-qtlottie-devel &>/dev/null; then
|
||||
LOG_INFO "qt6-qtlottie-devel 已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "qt6-qtlottie-devel 未安装,将在测试步骤中安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否存在 qt6-qtlottie-devel 软件包
|
||||
LOG_INFO "检查 yum 源中是否存在 qt6-qtlottie-devel"
|
||||
if ! dnf list available qt6-qtlottie-devel &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 qt6-qtlottie-devel 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 若未安装则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在安装 qt6-qtlottie-devel"
|
||||
dnf install -y qt6-qtlottie-devel
|
||||
CHECK_RESULT $? 0 0 "安装 qt6-qtlottie-devel 失败"
|
||||
fi
|
||||
|
||||
# 测试动画渲染功能
|
||||
LOG_INFO "测试 qt6-qtlottie-devel 的动画渲染功能"
|
||||
TEST_ANIMATION="/usr/share/qt6/examples/lottie/example.json"
|
||||
if [ ! -f "$TEST_ANIMATION" ]; then
|
||||
LOG_ERROR "$TEST_ANIMATION 不存在,无法测试动画渲染功能"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "执行动画渲染测试命令"
|
||||
QT_QPA_PLATFORM=offscreen lottie_tool --render "$TEST_ANIMATION" output.png
|
||||
CHECK_RESULT $? 0 0 "动画渲染失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 qt6-qtlottie-devel"
|
||||
dnf remove -y qt6-qtlottie-devel &>/dev/null || true
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,96 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-10
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 验证能够使用 qt6-qtlottie-devel 提供的库和头文件成功编译一个简单的 C++ 程序(例如,创建一个空的 QLottieAnimation 对象)。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
# 环境检查:检查qt6-qtlottie-devel是否已安装
|
||||
LOG_INFO "步骤1:检查qt6-qtlottie-devel是否已安装"
|
||||
if rpm -q qt6-qtlottie-devel > /dev/null 2>&1; then
|
||||
LOG_INFO "qt6-qtlottie-devel已安装,脚本结束时将保持安装状态"
|
||||
PKG_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "qt6-qtlottie-devel未安装,将在测试步骤中安装"
|
||||
PKG_INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有该软件包
|
||||
LOG_INFO "步骤2:检查yum源中是否有qt6-qtlottie-devel软件包"
|
||||
if ! dnf list available qt6-qtlottie-devel > /dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中未找到qt6-qtlottie-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $PKG_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤3:安装qt6-qtlottie-devel软件包"
|
||||
dnf install -y qt6-qtlottie-devel
|
||||
CHECK_RESULT $? 0 0 "安装qt6-qtlottie-devel失败"
|
||||
fi
|
||||
|
||||
# 创建测试C++源文件
|
||||
LOG_INFO "步骤4:创建测试C++源文件"
|
||||
cat > test_qtlottie.cpp << "EOF"
|
||||
#include <QLottieAnimation>
|
||||
#include <QGuiApplication>
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
QGuiApplication app(argc, argv);
|
||||
QLottieAnimation animation;
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "创建测试源文件失败"
|
||||
|
||||
# 编译测试程序
|
||||
LOG_INFO "步骤5:编译测试程序"
|
||||
g++ -o test_qtlottie test_qtlottie.cpp \
|
||||
-I/usr/include/qt6 \
|
||||
-I/usr/include/qt6/QtCore \
|
||||
-I/usr/include/qt6/QtGui \
|
||||
-I/usr/include/qt6/QLottie \
|
||||
-lQt6Core \
|
||||
-lQt6Gui \
|
||||
-lQt6Lottie \
|
||||
-fPIC 2>&1
|
||||
CHECK_RESULT $? 0 0 "编译测试程序失败"
|
||||
|
||||
# 运行测试程序
|
||||
LOG_INFO "步骤6:运行测试程序"
|
||||
./test_qtlottie
|
||||
CHECK_RESULT $? 0 0 "运行测试程序失败"
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "步骤7:清理测试文件"
|
||||
rm -f test_qtlottie.cpp test_qtlottie
|
||||
CHECK_RESULT $? 0 0 "清理测试文件失败"
|
||||
|
||||
# 如果测试前未安装,则卸载软件包
|
||||
if [ $PKG_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤8:卸载qt6-qtlottie-devel软件包"
|
||||
dnf remove -y qt6-qtlottie-devel
|
||||
CHECK_RESULT $? 0 0 "卸载qt6-qtlottie-devel失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:成功验证了qt6-qtlottie-devel的编译功能"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,71 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 qt6-qtlottie-devel 的自定义功能,验证是否支持自定义动画属性修改。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 qt6-qtlottie-devel 的自定义功能,验证是否支持自定义动画属性修改。"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查 qt6-qtlottie-devel 是否已安装..."
|
||||
if rpm -q qt6-qtlottie-devel &>/dev/null; then
|
||||
LOG_INFO "qt6-qtlottie-devel 已安装,测试结束后将保持安装状态。"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "qt6-qtlottie-devel 未安装,测试结束后将卸载。"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否存在 qt6-qtlottie-devel
|
||||
LOG_INFO "检查 yum 源中是否存在 qt6-qtlottie-devel..."
|
||||
if ! dnf list available qt6-qtlottie-devel &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 qt6-qtlottie-devel,退出测试。"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装 qt6-qtlottie-devel(如果未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装 qt6-qtlottie-devel..."
|
||||
dnf install -y qt6-qtlottie-devel
|
||||
CHECK_RESULT $? 0 0 "安装 qt6-qtlottie-devel 失败。"
|
||||
fi
|
||||
|
||||
# 验证自定义动画属性修改功能
|
||||
LOG_INFO "验证 qt6-qtlottie-devel 是否支持自定义动画属性修改..."
|
||||
if ! command -v qt6-lottie &>/dev/null; then
|
||||
LOG_ERROR "qt6-lottie 命令不存在或不支持,退出测试。"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 示例命令(假设 qt6-lottie 支持 --custom-property 参数)
|
||||
LOG_INFO "执行测试命令..."
|
||||
qt6-lottie --custom-property test_animation.json
|
||||
CHECK_RESULT $? 0 0 "自定义动画属性修改功能验证失败。"
|
||||
|
||||
# 清理环境(如果测试前未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 qt6-qtlottie-devel..."
|
||||
dnf remove -y qt6-qtlottie-devel
|
||||
CHECK_RESULT $? 0 0 "卸载 qt6-qtlottie-devel 失败。"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复。"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,73 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 qt6-qtlottie-devel 的导出功能,验证是否能够将动画导出为指定格式。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试 qt6-qtlottie-devel 的导出功能,验证是否能够将动画导出为指定格式
|
||||
|
||||
LOG_INFO "开始测试 qt6-qtlottie-devel 的导出功能"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
if rpm -q qt6-qtlottie-devel &>/dev/null; then
|
||||
LOG_INFO "qt6-qtlottie-devel 已安装,跳过安装步骤"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "qt6-qtlottie-devel 未安装,准备安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有 qt6-qtlottie-devel 软件包
|
||||
LOG_INFO "检查 yum 源中是否有 qt6-qtlottie-devel 软件包"
|
||||
if ! dnf list available qt6-qtlottie-devel &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 qt6-qtlottie-devel 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在安装 qt6-qtlottie-devel"
|
||||
dnf install -y qt6-qtlottie-devel
|
||||
CHECK_RESULT $? 0 0 "安装 qt6-qtlottie-devel 失败"
|
||||
fi
|
||||
|
||||
# 测试导出功能
|
||||
LOG_INFO "测试 qt6-qtlottie-devel 的导出功能"
|
||||
# 假设导出命令为 lottie_export,参数为输入文件和输出格式
|
||||
if ! command -v lottie_export &>/dev/null; then
|
||||
LOG_ERROR "命令 lottie_export 不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 假设输入文件为 test.json,输出格式为 gif
|
||||
LOG_INFO "尝试将动画导出为 gif 格式"
|
||||
lottie_export test.json gif output.gif
|
||||
CHECK_RESULT $? 0 0 "导出动画失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 qt6-qtlottie-devel"
|
||||
dnf remove -y qt6-qtlottie-devel
|
||||
CHECK_RESULT $? 0 0 "卸载 qt6-qtlottie-devel 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,78 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-10
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 验证安装后,关键的开发头文件(如 <QtLottie> 或 <QLottieAnimation>)存在于标准包含路径中。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装qt6-qtlottie-devel软件包
|
||||
LOG_INFO "检查qt6-qtlottie-devel软件包是否已安装"
|
||||
rpm -q qt6-qtlottie-devel > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "qt6-qtlottie-devel软件包已安装,测试结束后将保持安装状态"
|
||||
installed_before_test=true
|
||||
else
|
||||
LOG_INFO "qt6-qtlottie-devel软件包未安装,将在测试中安装"
|
||||
installed_before_test=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在qt6-qtlottie-devel软件包
|
||||
LOG_INFO "检查yum源中是否存在qt6-qtlottie-devel软件包"
|
||||
dnf list available qt6-qtlottie-devel > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到qt6-qtlottie-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$installed_before_test" = false ]; then
|
||||
LOG_INFO "安装qt6-qtlottie-devel软件包"
|
||||
dnf install -y qt6-qtlottie-devel
|
||||
CHECK_RESULT $? 0 0 "安装qt6-qtlottie-devel软件包失败"
|
||||
fi
|
||||
|
||||
# 验证关键的开发头文件存在于标准包含路径中
|
||||
LOG_INFO "验证QtLottie头文件是否存在于标准包含路径中"
|
||||
find /usr/include -name "QtLottie" -type f > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "找到QtLottie头文件"
|
||||
else
|
||||
LOG_ERROR "未找到QtLottie头文件"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_INFO "验证QLottieAnimation头文件是否存在于标准包含路径中"
|
||||
find /usr/include -name "QLottieAnimation" -type f > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "找到QLottieAnimation头文件"
|
||||
else
|
||||
LOG_ERROR "未找到QLottieAnimation头文件"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载软件包
|
||||
if [ "$installed_before_test" = false ]; then
|
||||
LOG_INFO "卸载qt6-qtlottie-devel软件包"
|
||||
dnf remove -y qt6-qtlottie-devel
|
||||
CHECK_RESULT $? 0 0 "卸载qt6-qtlottie-devel软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,64 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-10
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 验证 qt6-qtlottie-devel 开发包能够通过系统包管理器成功安装。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:验证 qt6-qtlottie-devel 开发包能够通过系统包管理器成功安装。"
|
||||
|
||||
LOG_INFO "步骤1:检查 yum 源中是否存在 qt6-qtlottie-devel 软件包。"
|
||||
dnf list available qt6-qtlottie-devel > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum 源中未找到 qt6-qtlottie-devel 软件包。"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum 源中存在 qt6-qtlottie-devel 软件包。"
|
||||
|
||||
LOG_INFO "步骤2:检查系统是否已安装 qt6-qtlottie-devel 软件包。"
|
||||
rpm -q qt6-qtlottie-devel > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "qt6-qtlottie-devel 软件包已安装,标记为需要保持安装状态。"
|
||||
INSTALLED_BEFORE="true"
|
||||
else
|
||||
LOG_INFO "qt6-qtlottie-devel 软件包未安装,标记为需要测试安装和卸载。"
|
||||
INSTALLED_BEFORE="false"
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED_BEFORE" = "false" ]; then
|
||||
LOG_INFO "步骤3:安装 qt6-qtlottie-devel 软件包。"
|
||||
dnf install -y qt6-qtlottie-devel
|
||||
CHECK_RESULT $? 0 0 "安装 qt6-qtlottie-devel 软件包失败。"
|
||||
LOG_INFO "qt6-qtlottie-devel 软件包安装成功。"
|
||||
|
||||
LOG_INFO "步骤4:验证安装的软件包是否可用。"
|
||||
rpm -ql qt6-qtlottie-devel | head -5 > /dev/null
|
||||
CHECK_RESULT $? 0 0 "验证 qt6-qtlottie-devel 软件包文件列表失败。"
|
||||
|
||||
LOG_INFO "步骤5:卸载 qt6-qtlottie-devel 软件包以清理环境。"
|
||||
dnf remove -y qt6-qtlottie-devel
|
||||
CHECK_RESULT $? 0 0 "卸载 qt6-qtlottie-devel 软件包失败。"
|
||||
LOG_INFO "qt6-qtlottie-devel 软件包卸载成功。"
|
||||
else
|
||||
LOG_INFO "步骤3:环境已安装 qt6-qtlottie-devel,跳过安装和卸载步骤。"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:qt6-qtlottie-devel 开发包可以通过系统包管理器成功安装。"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,79 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 qt6-qtlottie-devel 的 JSON 解析功能,验证是否能够正确解析 Lottie JSON 文件。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查yum源中是否存在qt6-qtlottie-devel软件包
|
||||
LOG_INFO "检查yum源中是否存在qt6-qtlottie-devel软件包"
|
||||
dnf list available qt6-qtlottie-devel > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到qt6-qtlottie-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装qt6-qtlottie-devel
|
||||
LOG_INFO "检查是否已安装qt6-qtlottie-devel"
|
||||
rpm -q qt6-qtlottie-devel > /dev/null 2>&1
|
||||
installed=$?
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $installed -ne 0 ]; then
|
||||
LOG_INFO "安装qt6-qtlottie-devel软件包"
|
||||
dnf install -y qt6-qtlottie-devel
|
||||
CHECK_RESULT $? 0 0 "安装qt6-qtlottie-devel失败"
|
||||
fi
|
||||
|
||||
# 测试JSON解析功能
|
||||
LOG_INFO "测试qt6-qtlottie-devel的JSON解析功能"
|
||||
TEST_JSON_FILE="test_lottie.json"
|
||||
cat > $TEST_JSON_FILE <<EOF
|
||||
{
|
||||
"v": "5.7.0",
|
||||
"fr": 30,
|
||||
"ip": 0,
|
||||
"op": 60,
|
||||
"w": 800,
|
||||
"h": 600,
|
||||
"nm": "Test Animation",
|
||||
"layers": []
|
||||
}
|
||||
EOF
|
||||
|
||||
# 使用qt6-qtlottie-devel解析JSON文件
|
||||
LOG_INFO "解析Lottie JSON文件"
|
||||
lottie_tool --parse $TEST_JSON_FILE > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "解析Lottie JSON文件失败"
|
||||
|
||||
# 清理测试文件
|
||||
rm -f $TEST_JSON_FILE
|
||||
|
||||
# 如果最初未安装,则卸载软件包
|
||||
if [ $installed -ne 0 ]; then
|
||||
LOG_INFO "卸载qt6-qtlottie-devel软件包"
|
||||
dnf remove -y qt6-qtlottie-devel
|
||||
CHECK_RESULT $? 0 0 "卸载qt6-qtlottie-devel失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,70 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-10
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 验证安装后,必要的链接库文件(如 libQt6Lottie.so)存在于系统库路径中。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装qt6-qtlottie-devel软件包
|
||||
LOG_INFO "检查qt6-qtlottie-devel软件包是否已安装"
|
||||
rpm -q qt6-qtlottie-devel > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "qt6-qtlottie-devel已安装,测试结束后保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "qt6-qtlottie-devel未安装,将在测试前安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在qt6-qtlottie-devel软件包
|
||||
LOG_INFO "检查yum源中是否存在qt6-qtlottie-devel软件包"
|
||||
dnf list available qt6-qtlottie-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中未找到qt6-qtlottie-devel软件包"
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装qt6-qtlottie-devel软件包"
|
||||
dnf install -y qt6-qtlottie-devel
|
||||
CHECK_RESULT $? 0 0 "安装qt6-qtlottie-devel软件包失败"
|
||||
fi
|
||||
|
||||
# 验证必要的链接库文件是否存在
|
||||
LOG_INFO "验证libQt6Lottie.so库文件是否存在"
|
||||
find /usr/lib64 -name "libQt6Lottie.so*" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "未找到libQt6Lottie.so库文件"
|
||||
|
||||
LOG_INFO "验证libQt6Lottie.so.6库文件是否存在"
|
||||
find /usr/lib64 -name "libQt6Lottie.so.6*" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "未找到libQt6Lottie.so.6库文件"
|
||||
|
||||
# 验证库文件是否为有效共享库
|
||||
LOG_INFO "验证libQt6Lottie.so是否为有效共享库"
|
||||
ldconfig -p | grep libQt6Lottie.so > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "libQt6Lottie.so未在ldconfig缓存中"
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载qt6-qtlottie-devel软件包"
|
||||
dnf remove -y qt6-qtlottie-devel
|
||||
CHECK_RESULT $? 0 0 "卸载qt6-qtlottie-devel软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "qt6-qtlottie-devel功能库测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,121 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-10
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 验证编译后的简单程序能够正确链接到 Qt6 Lottie 库并成功运行,不出现运行时链接错误。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已经安装了 qt6-qtlottie-devel 包
|
||||
LOG_INFO "检查是否已经安装了 qt6-qtlottie-devel 包"
|
||||
if dnf list installed qt6-qtlottie-devel &>/dev/null; then
|
||||
LOG_INFO "qt6-qtlottie-devel 已经安装,脚本结束后保持安装状态"
|
||||
INSTALLED_BEFORE="yes"
|
||||
else
|
||||
LOG_INFO "qt6-qtlottie-devel 未安装,将在测试前安装,测试后卸载"
|
||||
INSTALLED_BEFORE="no"
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有 qt6-qtlottie-devel 包
|
||||
LOG_INFO "检查 yum 源中是否有 qt6-qtlottie-devel 包"
|
||||
if ! dnf list available qt6-qtlottie-devel &>/dev/null; then
|
||||
LOG_ERROR "yum 源中没有 qt6-qtlottie-devel 包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装 qt6-qtlottie-devel 包
|
||||
if [ "$INSTALLED_BEFORE" = "no" ]; then
|
||||
LOG_INFO "安装 qt6-qtlottie-devel 包"
|
||||
dnf install -y qt6-qtlottie-devel
|
||||
CHECK_RESULT $? 0 0 "安装 qt6-qtlottie-devel 包失败"
|
||||
fi
|
||||
|
||||
# 检查是否安装了 gcc-c++ 和 qt6-devel,如果没有则安装
|
||||
LOG_INFO "检查是否安装了 gcc-c++ 和 qt6-devel"
|
||||
if ! dnf list installed gcc-c++ &>/dev/null; then
|
||||
LOG_INFO "安装 gcc-c++"
|
||||
dnf install -y gcc-c++
|
||||
CHECK_RESULT $? 0 0 "安装 gcc-c++ 失败"
|
||||
GCC_INSTALLED="yes"
|
||||
else
|
||||
GCC_INSTALLED="no"
|
||||
fi
|
||||
|
||||
if ! dnf list installed qt6-devel &>/dev/null; then
|
||||
LOG_INFO "安装 qt6-devel"
|
||||
dnf install -y qt6-devel
|
||||
CHECK_RESULT $? 0 0 "安装 qt6-devel 失败"
|
||||
QT6_DEVEL_INSTALLED="yes"
|
||||
else
|
||||
QT6_DEVEL_INSTALLED="no"
|
||||
fi
|
||||
|
||||
# 创建一个简单的 C++ 测试程序,链接到 Qt6 Lottie 库
|
||||
LOG_INFO "创建测试程序 test_qtlottie.cpp"
|
||||
cat > test_qtlottie.cpp << "EOF"
|
||||
#include <QLottieAnimation>
|
||||
#include <QCoreApplication>
|
||||
#include <QDebug>
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
QCoreApplication app(argc, argv);
|
||||
QLottieAnimation animation;
|
||||
qDebug() << "Qt6 Lottie library linked successfully!";
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
|
||||
# 编译测试程序
|
||||
LOG_INFO "编译测试程序"
|
||||
g++ -o test_qtlottie test_qtlottie.cpp -I/usr/include/qt6 -I/usr/include/qt6/QtLottie -lQt6Lottie -lQt6Core -fPIC
|
||||
CHECK_RESULT $? 0 0 "编译测试程序失败"
|
||||
|
||||
# 运行测试程序
|
||||
LOG_INFO "运行测试程序"
|
||||
./test_qtlottie
|
||||
CHECK_RESULT $? 0 0 "运行测试程序失败,可能存在运行时链接错误"
|
||||
|
||||
LOG_INFO "测试程序成功运行,Qt6 Lottie 库链接正常"
|
||||
|
||||
# 清理编译生成的文件
|
||||
LOG_INFO "清理编译生成的文件"
|
||||
rm -f test_qtlottie.cpp test_qtlottie
|
||||
|
||||
# 如果之前未安装 qt6-qtlottie-devel,则在测试后卸载
|
||||
if [ "$INSTALLED_BEFORE" = "no" ]; then
|
||||
LOG_INFO "卸载 qt6-qtlottie-devel 包"
|
||||
dnf remove -y qt6-qtlottie-devel
|
||||
CHECK_RESULT $? 0 0 "卸载 qt6-qtlottie-devel 包失败"
|
||||
fi
|
||||
|
||||
# 如果测试过程中安装了 gcc-c++ 和 qt6-devel,则卸载
|
||||
if [ "$GCC_INSTALLED" = "yes" ]; then
|
||||
LOG_INFO "卸载 gcc-c++"
|
||||
dnf remove -y gcc-c++
|
||||
CHECK_RESULT $? 0 0 "卸载 gcc-c++ 失败"
|
||||
fi
|
||||
|
||||
if [ "$QT6_DEVEL_INSTALLED" = "yes" ]; then
|
||||
LOG_INFO "卸载 qt6-devel"
|
||||
dnf remove -y qt6-devel
|
||||
CHECK_RESULT $? 0 0 "卸载 qt6-devel 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,67 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 qt6-qtlottie-devel 的性能,验证动画播放的流畅性和资源占用情况。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装qt6-qtlottie-devel
|
||||
LOG_INFO "检查是否已安装qt6-qtlottie-devel"
|
||||
if dnf list installed qt6-qtlottie-devel &>/dev/null; then
|
||||
LOG_INFO "qt6-qtlottie-devel已安装"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "qt6-qtlottie-devel未安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有qt6-qtlottie-devel软件包
|
||||
LOG_INFO "检查yum源中是否有qt6-qtlottie-devel软件包"
|
||||
if ! dnf list available qt6-qtlottie-devel &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到qt6-qtlottie-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装qt6-qtlottie-devel"
|
||||
dnf install -y qt6-qtlottie-devel
|
||||
CHECK_RESULT $? 0 0 "安装qt6-qtlottie-devel失败"
|
||||
fi
|
||||
|
||||
# 验证动画播放的流畅性
|
||||
LOG_INFO "验证动画播放的流畅性"
|
||||
lottie_player --test-animation
|
||||
CHECK_RESULT $? 0 0 "动画播放测试失败"
|
||||
|
||||
# 验证资源占用情况
|
||||
LOG_INFO "验证资源占用情况"
|
||||
top -n 1 -b | grep lottie_player
|
||||
CHECK_RESULT $? 0 0资源占用情况测试失败"
|
||||
|
||||
# 如果脚本开始时未安装,则在结束时卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO卸载 qt6-qlotte-devell "
|
||||
dnf remove -y qtGtlottic devell
|
||||
CHECK RESULT $7 O o.卸载qtGtlottic-devell失败”
|
||||
fi
|
||||
|
||||
LOG_INFO“测试完成,环境已恢复”
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,89 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-10
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 验证 pkg-config 或 CMake 能够正确找到 qt6-qtlottie-devel 提供的包信息(如 Qt6Lottie)。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试:验证 pkg-config 或 CMake 能够正确找到 qt6-qtlottie-devel 提供的包信息(如 Qt6Lottie)"
|
||||
|
||||
LOG_INFO "步骤1: 检查yum源中是否存在qt6-qtlottie-devel软件包"
|
||||
if ! dnf list available qt6-qtlottie-devel &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到qt6-qtlottie-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2: 检查当前环境是否已安装qt6-qtlottie-devel"
|
||||
if rpm -q qt6-qtlottie-devel &>/dev/null; then
|
||||
LOG_INFO "qt6-qtlottie-devel已安装,测试后将保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "qt6-qtlottie-devel未安装,将在测试中安装"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "步骤3: 安装qt6-qtlottie-devel软件包"
|
||||
dnf install -y qt6-qtlottie-devel
|
||||
CHECK_RESULT $? 0 0 "安装qt6-qtlottie-devel失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4: 验证pkg-config能够找到Qt6Lottie包信息"
|
||||
if command -v pkg-config &>/dev/null; then
|
||||
pkg-config --modversion Qt6Lottie
|
||||
CHECK_RESULT $? 0 0 "pkg-config无法找到Qt6Lottie包信息"
|
||||
LOG_INFO "pkg-config成功找到Qt6Lottie包信息"
|
||||
else
|
||||
LOG_INFO "pkg-config未安装,跳过pkg-config测试"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤5: 验证CMake能够找到Qt6Lottie包"
|
||||
if command -v cmake &>/dev/null; then
|
||||
cat > test_find_package.cmake << "EOF"
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
project(TestQt6Lottie)
|
||||
find_package(Qt6 REQUIRED COMPONENTS Lottie)
|
||||
if(Qt6Lottie_FOUND)
|
||||
message(STATUS "Found Qt6Lottie")
|
||||
else()
|
||||
message(FATAL_ERROR "Could NOT find Qt6Lottie")
|
||||
endif()
|
||||
EOF
|
||||
cmake -P test_find_package.cmake 2>&1 | grep -q "Found Qt6Lottie"
|
||||
CHECK_RESULT $? 0 0 "CMake无法找到Qt6Lottie包"
|
||||
rm -f test_find_package.cmake
|
||||
LOG_INFO "CMake成功找到Qt6Lottie包"
|
||||
else
|
||||
LOG_INFO "CMake未安装,跳过CMake测试"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤6: 清理测试环境"
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "卸载测试安装的qt6-qtlottie-devel软件包"
|
||||
dnf remove -y qt6-qtlottie-devel
|
||||
CHECK_RESULT $? 0 0 "卸载qt6-qtlottie-devel失败"
|
||||
else
|
||||
LOG_INFO "测试前已安装qt6-qtlottie-devel,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,100 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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-10
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 验证 qt6-qtlottie-devel 开发包能够通过系统包管理器完全卸载,不留残余文件。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义颜色输出函数(仅用于本地脚本,LOG_INFO/LOG_ERROR会由外部提供)
|
||||
LOG_INFO() {
|
||||
echo -e "\033[32m[INFO]\033[0m $1"
|
||||
}
|
||||
LOG_ERROR() {
|
||||
echo -e "\033[31m[ERROR]\033[0m $1"
|
||||
}
|
||||
|
||||
# 测试脚本主体
|
||||
LOG_INFO "开始测试 qt6-qtlottie-devel 开发包的完全卸载功能"
|
||||
|
||||
# 检查是否已安装 qt6-qtlottie-devel
|
||||
LOG_INFO "步骤1: 检查 qt6-qtlottie-devel 是否已安装"
|
||||
if rpm -q qt6-qtlottie-devel &>/dev/null; then
|
||||
LOG_INFO "qt6-qtlottie-devel 已安装,测试结束后将保持安装状态"
|
||||
INITIALLY_INSTALLED=true
|
||||
else
|
||||
LOG_INFO "qt6-qtlottie-devel 未安装,将进行安装测试"
|
||||
INITIALLY_INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否存在 qt6-qtlottie-devel 包
|
||||
LOG_INFO "步骤2: 检查 yum 源中是否存在 qt6-qtlottie-devel 包"
|
||||
if ! dnf list available qt6-qtlottie-devel &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 qt6-qtlottie-devel 包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装 qt6-qtlottie-devel
|
||||
if [ "$INITIALLY_INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤3: 安装 qt6-qtlottie-devel"
|
||||
dnf install -y qt6-qtlottie-devel
|
||||
CHECK_RESULT $? 0 0 "安装 qt6-qtlottie-devel 失败"
|
||||
fi
|
||||
|
||||
# 记录安装的文件列表
|
||||
LOG_INFO "步骤4: 记录 qt6-qtlottie-devel 安装的文件列表"
|
||||
INSTALLED_FILES=$(rpm -ql qt6-qtlottie-devel 2>/dev/null | sort)
|
||||
if [ -z "$INSTALLED_FILES" ]; then
|
||||
LOG_ERROR "无法获取 qt6-qtlottie-devel 的文件列表"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 卸载 qt6-qtlottie-devel
|
||||
LOG_INFO "步骤5: 卸载 qt6-qtlottie-devel"
|
||||
dnf remove -y qt6-qtlottie-devel
|
||||
CHECK_RESULT $? 0 0 "卸载 qt6-qtlottie-devel 失败"
|
||||
|
||||
# 检查是否完全卸载,不留残余文件
|
||||
LOG_INFO "步骤6: 检查是否完全卸载,无残余文件"
|
||||
REMAINING_FILES=""
|
||||
for file in $INSTALLED_FILES; do
|
||||
if [ -e "$file" ]; then
|
||||
REMAINING_FILES="$REMAINING_FILES $file"
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -n "$REMAINING_FILES" ]; then
|
||||
LOG_ERROR "发现残余文件:$REMAINING_FILES"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "qt6-qtlottie-devel 已完全卸载,无残余文件"
|
||||
fi
|
||||
|
||||
# 环境恢复
|
||||
LOG_INFO "步骤7: 恢复测试环境"
|
||||
if [ "$INITIALLY_INSTALLED" = true ]; then
|
||||
LOG_INFO "重新安装 qt6-qtlottie-devel 以恢复初始状态"
|
||||
dnf install -y qt6-qtlottie-devel
|
||||
CHECK_RESULT $? 0 0 "重新安装 qt6-qtlottie-devel 失败"
|
||||
else
|
||||
LOG_INFO "初始状态未安装,无需重新安装"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:qt6-qtlottie-devel 开发包能够通过系统包管理器完全卸载,不留残余文件"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,77 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-23
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 qt6-qtlottie-devel 软件包的回滚功能,验证是否能够成功回滚到上一个版本。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已经安装了qt6-qtlottie-devel软件包
|
||||
LOG_INFO "检查是否已安装qt6-qtlottie-devel软件包..."
|
||||
if dnf list installed qt6-qtlottie-devel &> /dev/null; then
|
||||
LOG_INFO "qt6-qtlottie-devel软件包已安装,脚本结束后将保持安装状态。"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "qt6-qtlottie-devel软件包未安装,将在测试完成后卸载。"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在qt6-qtlottie-devel软件包
|
||||
LOG_INFO "检查yum源中是否存在qt6-qtlottie-devel软件包..."
|
||||
if ! dnf list available qt6-qtlottie-devel &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到qt6-qtlottie-devel软件包,退出脚本。"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装qt6-qtlottie-devel软件包
|
||||
LOG_INFO "开始安装qt6-qtlottie-devel软件包..."
|
||||
dnf install -y qt6-qtlottie-devel
|
||||
CHECK_RESULT $? 0 0 "安装qt6-qtlottie-devel软件包失败。"
|
||||
|
||||
# 获取当前安装的版本
|
||||
LOG_INFO "获取当前安装的版本..."
|
||||
CURRENT_VERSION=$(rpm -q --queryformat '%{VERSION}-%{RELEASE}' qt6-qtlottie-devel)
|
||||
CHECK_RESULT $? 0 0 "获取当前版本失败。"
|
||||
|
||||
# 回滚到上一个版本
|
||||
LOG_INFO "尝试回滚到上一个版本..."
|
||||
dnf history undo last -y --skip-broken
|
||||
CHECK_RESULT $? 0 0 "回滚操作失败。"
|
||||
|
||||
# 验证回滚后的版本是否与之前不同
|
||||
LOG_INFO "验证回滚后的版本..."
|
||||
ROLLBACK_VERSION=$(rpm -q --queryformat '%{VERSION}-%{RELEASE}' qt6-qtlottie-devel)
|
||||
if [ "$ROLLBACK_VERSION" == "$CURRENT_VERSION" ]; then
|
||||
LOG_ERROR "回滚后版本未发生变化,测试失败。"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "回滚成功,当前版本为:$ROLLBACK_VERSION。"
|
||||
fi
|
||||
|
||||
# 清理环境:如果最初未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "清理环境,卸载qt6-qtlottie-devel软件包..."
|
||||
dnf remove -y qt6-qtlottie-devel
|
||||
CHECK_RESULT $? 0 0 "卸载qt6-qlottie-devel软件包失败。"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕。"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,76 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-23
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 qt6-qtlottie-devel 软件包提供的服务启动功能,验证服务是否可以正常启动。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 qt6-qtlottie-devel 软件包提供的服务启动功能"
|
||||
|
||||
# 检查是否已安装 qt6-qtlottie-devel 软件包
|
||||
LOG_INFO "检查 qt6-qtlottie-devel 软件包是否已安装"
|
||||
dnf list installed qt6-qtlottie-devel &> /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "qt6-qtlottie-devel 软件包已安装,跳过安装步骤"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "qt6-qtlottie-devel 软件包未安装,准备安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有 qt6-qtlottie-devel 软件包
|
||||
LOG_INFO "检查 yum 源中是否存在 qt6-qtlottie-devel 软件包"
|
||||
dnf list available qt6-qtlottie-devel &> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum 源中未找到 qt6-qtlottie-devel 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装 qt6-qtlottie-devel 软件包"
|
||||
dnf install -y qt6-qtlottie-devel &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "安装 qt6-qtlottie-devel 软件包失败"
|
||||
fi
|
||||
|
||||
# 验证服务是否可以正常启动
|
||||
LOG_INFO "验证 qt6-qtlottie-devel 提供的服务启动功能"
|
||||
systemctl start qt6-qtlottie-service &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "启动 qt6-qtlottie-service 服务失败"
|
||||
|
||||
# 检查服务状态是否正常运行
|
||||
LOG_INFO "检查 qt6-qtlottie-service 服务状态"
|
||||
systemctl status qt6-qtlottie-service &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "qt6-qtlottie-service 服务未正常运行"
|
||||
|
||||
# 停止服务以清理环境
|
||||
LOG_INFO "停止 qt6-qtlottie-service 服务"
|
||||
systemctl stop qt6-qtlottie-service &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "停止 qt6-qtlottie-service 服务失败"
|
||||
|
||||
# 如果脚本开始时未安装,则卸载软件包以恢复环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 qt6-qtlottie-devel 软件包以恢复环境"
|
||||
dnf remove -y qt6-qtlottie-devel &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "卸载 qt6-qtlottie-devel 软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,73 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-23
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 qt6-qtlottie-devel 软件包提供的服务停止功能,验证服务是否可以正常停止。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
LOG_INFO "开始测试 qt6-qtlottie-devel 软件包的服务停止功能..."
|
||||
|
||||
# 检查 yum 源中是否存在 qt6-qtlottie-devel 软件包
|
||||
LOG_INFO "检查 yum 源中是否存在 qt6-qtlottie-devel 软件包..."
|
||||
dnf list available qt6-qtlottie-devel &> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum 源中未找到 qt6-qtlottie-devel 软件包,退出测试..."
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装 qt6-qtlottie-devel
|
||||
LOG_INFO "检查是否已安装 qt6-qtlottie-devel..."
|
||||
rpm -q qt6-qtlottie-devel &> /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "qt6-qtlottie-devel 已安装,跳过安装步骤..."
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "qt6-qtlottie-devel 未安装,开始安装..."
|
||||
dnf install -y qt6-qtlottie-devel
|
||||
CHECK_RESULT $? 0 0 "安装 qt6-qtlottie-devel 失败"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 验证服务停止功能
|
||||
LOG_INFO "验证服务停止功能..."
|
||||
systemctl stop qt6-qtlottie-devel &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "停止 qt6-qtlottie-devel 服务失败"
|
||||
|
||||
# 检查服务状态是否为停止状态
|
||||
LOG_INFO "检查服务状态是否为停止状态..."
|
||||
systemctl is-active --quiet qt6-qtlottie-devel
|
||||
if [ $? -eq 3 ]; then
|
||||
LOG_INFO "服务已成功停止。"
|
||||
else
|
||||
LOG_ERROR "服务未成功停止。"
|
||||
CHECK_RESULT $? 3 0 "服务状态未达到预期"
|
||||
fi
|
||||
|
||||
# 恢复环境:如果测试前未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "恢复环境,卸载 qt6-qtlottie-devel..."
|
||||
dnf remove -y qt6-qtlottie-devel
|
||||
CHECK_RESULT $? 0 0 "卸载 qt6-qtlottie-devel 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成。"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,70 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-23
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 qt6-qtlottie-devel 软件包的升级功能,验证是否能够成功升级到最新版本。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装qt6-qtlottie-devel软件包
|
||||
LOG_INFO "检查系统中是否已安装qt6-qtlottie-devel软件包..."
|
||||
rpm -q qt6-qtlottie-devel > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "qt6-qtlottie-devel软件包已安装,脚本结束时将保持安装状态。"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "qt6-qtlottie-devel软件包未安装,将在测试结束后卸载。"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在qt6-qtlottie-devel软件包
|
||||
LOG_INFO "检查yum源中是否存在qt6-qtlottie-devel软件包..."
|
||||
dnf list available qt6-qtlottie-devel > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到qt6-qtlottie-devel软件包,退出测试。"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装qt6-qtlottie-devel软件包
|
||||
LOG_INFO "开始安装qt6-qtlottie-devel软件包..."
|
||||
dnf install -y qt6-qtlottie-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装qt6-qtlottie-devel软件包失败。"
|
||||
|
||||
# 检查是否成功安装到最新版本
|
||||
LOG_INFO "验证是否成功升级到最新版本..."
|
||||
INSTALLED_VERSION=$(rpm -q --queryformat '%{VERSION}-%{RELEASE}' qt6-qtlottie-devel)
|
||||
LATEST_VERSION=$(dnf list available qt6-qtlottie-devel | awk 'NR==2 {print $2}')
|
||||
if [ "$INSTALLED_VERSION" != "$LATEST_VERSION" ]; then
|
||||
LOG_ERROR "当前安装的版本为$INSTALLED_VERSION,未升级到最新版本$LATEST_VERSION。"
|
||||
CHECK_RESULT 1 0 0 "版本升级验证失败。"
|
||||
else
|
||||
LOG_INFO "成功升级到最新版本$LATEST_VERSION。"
|
||||
fi
|
||||
|
||||
# 如果测试前未安装,则在测试结束后卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "测试结束,卸载qt6-qtlottie-devel软件包..."
|
||||
dnf remove -y qt6-qtlottie-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载qt6-qtlottie-devel软件包失败。"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复。"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,70 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic functionality of texlive-featpost
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试texlive-featpost的基本功能"
|
||||
|
||||
# 检查是否已安装texlive-featpost
|
||||
LOG_INFO "检查是否已安装texlive-featpost"
|
||||
if dnf list installed texlive-featpost &>/dev/null; then
|
||||
LOG_INFO "texlive-featpost已安装,测试结束后保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-featpost未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-featpost软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-featpost软件包"
|
||||
if ! dnf list available texlive-featpost &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-featpost软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装texlive-featpost
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装texlive-featpost"
|
||||
dnf install -y texlive-featpost
|
||||
CHECK_RESULT $? 0 0 "安装texlive-featpost失败"
|
||||
fi
|
||||
|
||||
# 测试基本功能
|
||||
LOG_INFO "测试texlive-featpost的基本功能"
|
||||
command_to_test="some_texlive_featpost_command --basic-option" # 替换为实际的命令和参数
|
||||
if ! command -v some_texlive_featpost_command &>/dev/null; then
|
||||
LOG_ERROR "命令some_texlive_featpost_command不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
$command_to_test
|
||||
CHECK_RESULT $? 0 0 "执行基本功能测试失败"
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载texlive-featpost
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载texlive-featpost"
|
||||
dnf remove -y texlive-featpost
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-featpost失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,89 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-19
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test generating a simple FeatPost diagram with a basic example file
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:使用基本示例文件生成简单的FeatPost图表"
|
||||
|
||||
# 检查是否已安装texlive-featpost
|
||||
LOG_INFO "步骤1:检查texlive-featpost是否已安装"
|
||||
if rpm -q texlive-featpost &>/dev/null; then
|
||||
LOG_INFO "texlive-featpost已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-featpost未安装,将在测试过程中安装并在结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-featpost软件包
|
||||
LOG_INFO "步骤2:检查yum源中是否有texlive-featpost软件包"
|
||||
if ! dnf list available texlive-featpost &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-featpost软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装texlive-featpost
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤3:安装texlive-featpost软件包"
|
||||
dnf install -y texlive-featpost
|
||||
CHECK_RESULT $? 0 0 "安装texlive-featpost失败"
|
||||
fi
|
||||
|
||||
# 创建基本示例文件
|
||||
LOG_INFO "步骤4:创建基本示例文件featpost_test.mp"
|
||||
cat > featpost_test.mp << "EOF"
|
||||
beginfig(1);
|
||||
draw (0,0)--(100,0)--(100,100)--(0,100)--cycle;
|
||||
label.top(btex Simple FeatPost Diagram etex, (50,100));
|
||||
endfig;
|
||||
end.
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "创建示例文件失败"
|
||||
|
||||
# 使用mpost命令生成图表
|
||||
LOG_INFO "步骤5:使用mpost命令生成FeatPost图表"
|
||||
mpost featpost_test.mp
|
||||
CHECK_RESULT $? 0 0 "生成FeatPost图表失败"
|
||||
|
||||
# 检查生成的输出文件
|
||||
LOG_INFO "步骤6:检查生成的输出文件"
|
||||
if [ -f "featpost_test.1" ]; then
|
||||
LOG_INFO "成功生成输出文件featpost_test.1"
|
||||
else
|
||||
LOG_ERROR "未找到生成的输出文件featpost_test.1"
|
||||
CHECK_RESULT 1 0 0 "输出文件生成失败"
|
||||
fi
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "步骤7:清理测试生成的文件"
|
||||
rm -f featpost_test.mp featpost_test.*
|
||||
CHECK_RESULT $? 0 0 "清理测试文件失败"
|
||||
|
||||
# 如果测试前未安装,则卸载texlive-featpost
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤8:卸载texlive-featpost软件包"
|
||||
dnf remove -y texlive-featpost
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-featpost失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:成功使用基本示例文件生成简单的FeatPost图表"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,88 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-19
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test the availability and basic execution of command-line tools provided by the package
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
PACKAGE_NAME="texlive-featpost"
|
||||
LOG_INFO "开始测试 $PACKAGE_NAME 包命令行工具的可用性和基本执行"
|
||||
LOG_INFO "步骤1:检查当前环境中是否已安装 $PACKAGE_NAME 包"
|
||||
rpm -q $PACKAGE_NAME
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "$PACKAGE_NAME 包已安装,测试后将保持安装状态"
|
||||
INSTALLED_BEFORE_TEST=1
|
||||
else
|
||||
LOG_INFO "$PACKAGE_NAME 包未安装,将在测试过程中安装,并在测试后卸载"
|
||||
INSTALLED_BEFORE_TEST=0
|
||||
fi
|
||||
LOG_INFO "步骤2:检查yum源中是否存在 $PACKAGE_NAME 包"
|
||||
dnf list available $PACKAGE_NAME
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到 $PACKAGE_NAME 包"
|
||||
exit 255
|
||||
fi
|
||||
if [ $INSTALLED_BEFORE_TEST -eq 0 ]; then
|
||||
LOG_INFO "步骤3:安装 $PACKAGE_NAME 包"
|
||||
dnf install -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "安装 $PACKAGE_NAME 包失败"
|
||||
fi
|
||||
LOG_INFO "步骤4:验证包安装后提供了哪些主要的命令行工具"
|
||||
rpm -ql $PACKAGE_NAME | grep -E "/usr/bin/|/bin/" | head -5
|
||||
CHECK_RESULT $? 0 0 "获取 $PACKAGE_NAME 包提供的命令行工具列表失败"
|
||||
LOG_INFO "步骤5:测试一个典型的命令行工具(例如,假设包含 "featpost" 工具)"
|
||||
TOOL_NAME="featpost"
|
||||
which $TOOL_NAME
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_INFO "包中未找到 $TOOL_NAME 工具,尝试查找其他工具"
|
||||
POTENTIAL_TOOL=$(rpm -ql $PACKAGE_NAME | grep -E "/usr/bin/|/bin/" | head -1 | xargs basename)
|
||||
if [ -z "$POTENTIAL_TOOL" ]; then
|
||||
LOG_ERROR "在 $PACKAGE_NAME 包中未找到任何可执行命令行工具"
|
||||
exit 255
|
||||
fi
|
||||
TOOL_NAME=$POTENTIAL_TOOL
|
||||
LOG_INFO "将使用工具 $TOOL_NAME 进行测试"
|
||||
fi
|
||||
LOG_INFO "步骤6:测试 $TOOL_NAME 命令的 --help 或 -h 参数"
|
||||
$TOOL_NAME --help 2>&1 || $TOOL_NAME -h 2>&1
|
||||
CHECK_RESULT $? 0 0 "命令 $TOOL_NAME 不支持 --help 或 -h 参数,或执行失败"
|
||||
LOG_INFO "步骤7:测试 $TOOL_NAME 命令的一个无效参数(应失败)"
|
||||
$TOOL_NAME --invalid-parameter 2>&1
|
||||
if [ $? -ne 255 ] && [ $? -ne 1 ]; then
|
||||
LOG_ERROR "命令 $TOOL_NAME 对无效参数的处理不符合预期"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "步骤8:执行一个简单的 $TOOL_NAME 命令(如果适用)"
|
||||
$TOOL_NAME --version 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
$TOOL_NAME -v 2>&1
|
||||
CHECK_RESULT $? 0 0 "命令 $TOOL_NAME 无法执行简单的版本查询或类似操作"
|
||||
fi
|
||||
LOG_INFO "步骤9:环境清理与恢复"
|
||||
if [ $INSTALLED_BEFORE_TEST -eq 0 ]; then
|
||||
LOG_INFO "卸载测试安装的 $PACKAGE_NAME 包"
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "卸载 $PACKAGE_NAME 包失败"
|
||||
LOG_INFO "已恢复到测试前的未安装状态"
|
||||
else
|
||||
LOG_INFO "测试前已安装 $PACKAGE_NAME 包,保持安装状态"
|
||||
fi
|
||||
LOG_INFO "$PACKAGE_NAME 包命令行工具可用性和基本执行测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-19
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test that the package installs or depends on required LaTeX packages (like feapdf)
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试: 检查texlive-featpost软件包安装或依赖所需的LaTeX软件包(如feapdf)"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="texlive-featpost"
|
||||
|
||||
# 步骤1: 检查软件包是否已在系统中安装
|
||||
LOG_INFO "步骤1: 检查软件包是否已在系统中安装"
|
||||
if rpm -q $PACKAGE_NAME &>/dev/null; then
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 已安装"
|
||||
ALREADY_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 未安装"
|
||||
ALREADY_INSTALLED=0
|
||||
fi
|
||||
|
||||
# 步骤2: 检查yum源中是否存在该软件包
|
||||
LOG_INFO "步骤2: 检查yum源中是否存在软件包 $PACKAGE_NAME"
|
||||
if ! dnf list available $PACKAGE_NAME &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到软件包 $PACKAGE_NAME"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则执行安装步骤
|
||||
if [ $ALREADY_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: 验证软件包 $PACKAGE_NAME 已成功安装"
|
||||
rpm -q $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "软件包 $PACKAGE_NAME 未正确安装"
|
||||
|
||||
# 步骤5: 检查软件包依赖的LaTeX软件包(以feapdf为例)
|
||||
LOG_INFO "步骤5: 检查软件包 $PACKAGE_NAME 依赖的LaTeX软件包(如feapdf)"
|
||||
DEPENDENCY_CHECK_CMD="rpm -qR $PACKAGE_NAME | grep -i feapdf"
|
||||
if eval $DEPENDENCY_CHECK_CMD &>/dev/null; then
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 依赖所需的LaTeX软件包(如feapdf)"
|
||||
else
|
||||
LOG_ERROR "软件包 $PACKAGE_NAME 未依赖所需的LaTeX软件包(如feapdf)"
|
||||
CHECK_RESULT 1 0 1 "依赖检查失败"
|
||||
fi
|
||||
|
||||
# 步骤6: 清理环境(如果脚本开始时未安装,则卸载软件包)
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤6: 卸载软件包 $PACKAGE_NAME"
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
|
||||
LOG_INFO "环境已恢复到初始状态"
|
||||
else
|
||||
LOG_INFO "步骤6: 软件包 $PACKAGE_NAME 在脚本执行前已安装,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成: 软件包 $PACKAGE_NAME 安装和依赖检查通过"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,77 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-19
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test access to the package documentation (manual, examples)
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试TeX Live软件包文档访问功能"
|
||||
|
||||
LOG_INFO "步骤1:检查是否已安装texlive-featpost软件包"
|
||||
if rpm -q texlive-featpost &>/dev/null; then
|
||||
LOG_INFO "texlive-featpost已安装,脚本结束后保持安装状态"
|
||||
already_installed=true
|
||||
else
|
||||
LOG_INFO "texlive-featpost未安装,将在测试过程中安装"
|
||||
already_installed=false
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查yum源中是否有texlive-featpost软件包"
|
||||
if ! dnf list available texlive-featpost &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-featpost软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "步骤3:安装texlive-featpost软件包"
|
||||
dnf install -y texlive-featpost
|
||||
CHECK_RESULT $? 0 0 "安装texlive-featpost失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:检查texdoc命令是否可用"
|
||||
if ! command -v texdoc &>/dev/null; then
|
||||
LOG_ERROR "texdoc命令不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤5:测试访问texlive-featpost软件包文档"
|
||||
texdoc featpost
|
||||
CHECK_RESULT $? 0 0 "访问texlive-featpost文档失败"
|
||||
|
||||
LOG_INFO "步骤6:测试访问texlive-featpost示例文件"
|
||||
if [ -d "/usr/share/texlive/texmf-dist/doc/latex/featpost" ]; then
|
||||
ls /usr/share/texlive/texmf-dist/doc/latex/featpost/
|
||||
CHECK_RESULT $? 0 0 "访问texlive-featpost示例文件失败"
|
||||
else
|
||||
LOG_ERROR "texlive-featpost示例文件目录不存在"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "步骤7:卸载texlive-featpost软件包"
|
||||
dnf remove -y texlive-featpost
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-featpost失败"
|
||||
LOG_INFO "环境已恢复到测试前状态"
|
||||
else
|
||||
LOG_INFO "保持texlive-featpost安装状态,不进行卸载"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,69 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-19
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test if texlive-featpost package can be successfully installed
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试 texlive-featpost 软件包安装功能"
|
||||
|
||||
LOG_INFO "步骤1:检查 yum 源中是否存在 texlive-featpost 软件包"
|
||||
dnf list available texlive-featpost 2>/dev/null | grep -q texlive-featpost
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum 源中未找到 texlive-featpost 软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum 源中存在 texlive-featpost 软件包"
|
||||
|
||||
LOG_INFO "步骤2:检查系统是否已安装 texlive-featpost 软件包"
|
||||
rpm -q texlive-featpost > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-featpost 软件包已安装,测试将保持此状态"
|
||||
already_installed=true
|
||||
else
|
||||
LOG_INFO "texlive-featpost 软件包未安装,将进行安装测试"
|
||||
already_installed=false
|
||||
fi
|
||||
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "步骤3:安装 texlive-featpost 软件包"
|
||||
dnf install -y texlive-featpost
|
||||
CHECK_RESULT $? 0 0 "安装 texlive-featpost 软件包失败"
|
||||
LOG_INFO "texlive-featpost 软件包安装成功"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:验证 texlive-featpost 软件包基本功能"
|
||||
rpm -ql texlive-featpost | head -5 > /dev/null
|
||||
CHECK_RESULT $? 0 0 "查询 texlive-featpost 软件包文件列表失败"
|
||||
|
||||
LOG_INFO "步骤5:执行环境恢复"
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "卸载测试安装的 texlive-featpost 软件包"
|
||||
dnf remove -y texlive-featpost
|
||||
CHECK_RESULT $? 0 0 "卸载 texlive-featpost 软件包失败"
|
||||
LOG_INFO "环境已恢复至测试前状态"
|
||||
else
|
||||
LOG_INFO "系统原本已安装 texlive-featpost,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:texlive-featpost 软件包可以成功安装"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,81 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-19
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test if texlive-featpost package can be cleanly uninstalled
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装 texlive-featpost
|
||||
LOG_INFO "检查 texlive-featpost 是否已安装"
|
||||
rpm -q texlive-featpost > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-featpost 已安装,脚本结束将保持安装状态"
|
||||
INSTALLED_BEFORE=1
|
||||
else
|
||||
LOG_INFO "texlive-featpost 未安装,将在测试中安装并在结束后卸载"
|
||||
INSTALLED_BEFORE=0
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否存在 texlive-featpost 软件包
|
||||
LOG_INFO "检查 yum 源中是否存在 texlive-featpost 软件包"
|
||||
dnf list available texlive-featpost > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum 源中未找到 texlive-featpost 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装 texlive-featpost
|
||||
if [ $INSTALLED_BEFORE -eq 0 ]; then
|
||||
LOG_INFO "安装 texlive-featpost 软件包"
|
||||
dnf install -y texlive-featpost
|
||||
CHECK_RESULT $? 0 0 "安装 texlive-featpost 失败"
|
||||
fi
|
||||
|
||||
# 验证 texlive-featpost 是否成功安装
|
||||
LOG_INFO "验证 texlive-featpost 是否成功安装"
|
||||
rpm -q texlive-featpost > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "texlive-featpost 未正确安装"
|
||||
|
||||
# 测试卸载 texlive-featpost
|
||||
LOG_INFO "测试卸载 texlive-featpost"
|
||||
dnf remove -y texlive-featpost
|
||||
CHECK_RESULT $? 0 0 "卸载 texlive-featpost 失败"
|
||||
|
||||
# 验证 texlive-featpost 是否已卸载
|
||||
LOG_INFO "验证 texlive-featpost 是否已卸载"
|
||||
rpm -q texlive-featpost > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "texlive-featpost 卸载后仍存在"
|
||||
CHECK_RESULT 1 0 0 "卸载验证失败"
|
||||
else
|
||||
LOG_INFO "texlive-featpost 已成功卸载"
|
||||
CHECK_RESULT 0 0 0 "卸载验证成功"
|
||||
fi
|
||||
|
||||
# 环境恢复:如果之前已安装,则重新安装 texlive-featpost
|
||||
if [ $INSTALLED_BEFORE -eq 1 ]; then
|
||||
LOG_INFO "恢复环境:重新安装 texlive-featpost"
|
||||
dnf install -y texlive-featpost
|
||||
CHECK_RESULT $? 0 0 "重新安装 texlive-featpost 失败"
|
||||
LOG_INFO "环境已恢复到初始状态(texlive-featpost 已安装)"
|
||||
else
|
||||
LOG_INFO "环境已恢复到初始状态(texlive-featpost 未安装)"
|
||||
fi
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,89 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-25
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Check documentation files exist
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义日志函数
|
||||
LOG_INFO() {
|
||||
echo "[INFO] $*"
|
||||
}
|
||||
|
||||
LOG_ERROR() {
|
||||
echo "[ERROR] $*" >&2
|
||||
}
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="texlive-grid-system-doc"
|
||||
DOC_FILES=(
|
||||
"/usr/share/doc/texlive-grid-system-doc/README"
|
||||
"/usr/share/doc/texlive-grid-system-doc/CHANGELOG"
|
||||
"/usr/share/doc/texlive-grid-system-doc/LICENSE"
|
||||
)
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
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 "检查软件包是否已安装"
|
||||
rpm -q $PACKAGE_NAME &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "软件包已安装,标记为已安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "软件包未安装,标记为未安装状态"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装软件包: $PACKAGE_NAME"
|
||||
dnf install -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
fi
|
||||
|
||||
# 检查文档文件是否存在
|
||||
LOG_INFO "检查文档文件是否存在"
|
||||
for file in "${DOC_FILES[@]}"; do
|
||||
if [ -f "$file" ]; then
|
||||
LOG_INFO "文档文件存在: $file"
|
||||
else
|
||||
LOG_ERROR "文档文件不存在: $file"
|
||||
CHECK_RESULT 1 0 0 "文档文件不存在: $file"
|
||||
fi
|
||||
done
|
||||
|
||||
# 清理环境:如果之前未安装,则卸载软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载软件包: $PACKAGE_NAME"
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
else
|
||||
LOG_INFO "保持软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,71 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-09-28
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package installation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
LOG_INFO "开始测试软件包安装功能"
|
||||
|
||||
# 检查是否已安装texlive-multidef软件包
|
||||
LOG_INFO "检查texlive-multidef是否已安装"
|
||||
dnf list installed texlive-multidef &> /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-multidef已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "texlive-multidef未安装,测试结束后将卸载"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-multidef软件包
|
||||
LOG_INFO "检查yum源中是否存在texlive-multidef软件包"
|
||||
dnf list available texlive-multidef &> /dev/null
|
||||
CHECK_RESULT $? 0 255 "yum源中不存在texlive-multidef软件包"
|
||||
|
||||
# 安装texlive-multidef软件包
|
||||
LOG_INFO "开始安装texlive-multidef软件包"
|
||||
dnf install -y texlive-multidef
|
||||
CHECK_RESULT $? 0 0 "安装texlive-multidef软件包失败"
|
||||
|
||||
# 验证安装是否成功
|
||||
LOG_INFO "验证texlive-multidef是否安装成功"
|
||||
rpm -q texlive-multidef &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "texlive-multidef未正确安装"
|
||||
|
||||
# 测试命令参数是否存在或不支持
|
||||
LOG_INFO "测试命令参数是否存在或不支持"
|
||||
tex --nonexistent-option &> /dev/null
|
||||
if [ $? -eq 255 ]; then
|
||||
LOG_ERROR "命令参数不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "清理环境:卸载texlive-multidef软件包"
|
||||
dnf remove -y texlive-multidef
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-multidef软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,87 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-12
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic calendar generation with termcal
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "测试基本日历生成功能"
|
||||
LOG_INFO "检查系统是否已安装texlive-termcal软件包"
|
||||
if dnf list installed texlive-termcal &> /dev/null; then
|
||||
LOG_INFO "texlive-termcal已安装,保持安装状态"
|
||||
ALREADY_INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-termcal未安装"
|
||||
ALREADY_INSTALLED=false
|
||||
fi
|
||||
|
||||
LOG_INFO "检查yum源中是否有texlive-termcal软件包"
|
||||
if ! dnf list available texlive-termcal &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-termcal软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ "$ALREADY_INSTALLED" = false ]; then
|
||||
LOG_INFO "安装texlive-termcal软件包"
|
||||
dnf install -y texlive-termcal
|
||||
CHECK_RESULT $? 0 0 "安装texlive-termcal失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试termcal基本日历生成功能"
|
||||
termcal --help &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "termcal命令不存在或不支持"
|
||||
|
||||
LOG_INFO "生成当前月份的日历"
|
||||
termcal 2023 10
|
||||
CHECK_RESULT $? 0 0 "生成日历失败"
|
||||
|
||||
LOG_INFO "测试指定年份和月份的日历生成"
|
||||
termcal 2024 12
|
||||
CHECK_RESULT $? 0 0 "生成指定月份日历失败"
|
||||
|
||||
LOG_INFO "测试不支持的参数"
|
||||
termcal --invalid-option 2>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_INFO "无效参数被正确处理"
|
||||
else
|
||||
LOG_ERROR "无效参数未被正确处理"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "测试不存在的年份参数"
|
||||
termcal 9999 1 2>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_INFO "不存在的年份参数被正确处理"
|
||||
else
|
||||
LOG_ERROR "不存在的年份参数未被正确处理"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ "$ALREADY_INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载texlive-termcal软件包"
|
||||
dnf remove -y texlive-termcal
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-termcal失败"
|
||||
LOG_INFO "环境已恢复到初始状态"
|
||||
else
|
||||
LOG_INFO "保持texlive-termcal安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,78 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test calendar generation functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装texlive-termcal软件包
|
||||
LOG_INFO "检查是否已安装texlive-termcal软件包"
|
||||
if dnf list installed texlive-termcal &>/dev/null; then
|
||||
LOG_INFO "texlive-termcal已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-termcal未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-termcal软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-termcal软件包"
|
||||
if ! dnf list available texlive-termcal &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-termcal软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装texlive-termcal软件包(如果未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装texlive-termcal软件包"
|
||||
dnf install -y texlive-termcal
|
||||
CHECK_RESULT $? 0 0 "安装texlive-termcal失败"
|
||||
fi
|
||||
|
||||
# 测试calendar生成功能
|
||||
LOG_INFO "测试calendar生成功能"
|
||||
texlua $(kpsewhich termcal.lua) --help &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "termcal.lua命令不支持--help参数"
|
||||
|
||||
# 生成一个示例日历
|
||||
LOG_INFO "生成示例日历"
|
||||
texlua $(kpsewhich termcal.lua) --month=1 --year=2023 > /tmp/calendar.tex
|
||||
CHECK_RESULT $? 0 0 "生成日历失败"
|
||||
|
||||
# 检查生成的日历文件是否存在
|
||||
LOG_INFO "检查生成的日历文件是否存在"
|
||||
[ -f /tmp/calendar.tex ]
|
||||
CHECK_RESULT $? 0 0 "日历文件未生成"
|
||||
|
||||
# 清理临时文件
|
||||
LOG_INFO "清理临时文件"
|
||||
rm -f /tmp/calendar.tex
|
||||
|
||||
# 如果最初未安装,则卸载texlive-termcal软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载texlive-termcal软件包"
|
||||
dnf remove -y texlive-termcal
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-termcal失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,65 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-12
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test calendar generation with custom start date
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:自定义起始日期的日历生成功能"
|
||||
LOG_INFO "检查系统中是否已安装texlive-termcal软件包"
|
||||
rpm -q texlive-termcal
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-termcal已安装,测试后将保持安装状态"
|
||||
INSTALLED_BEFORE_TEST=true
|
||||
else
|
||||
LOG_INFO "texlive-termcal未安装,将在测试前安装"
|
||||
INSTALLED_BEFORE_TEST=false
|
||||
fi
|
||||
LOG_INFO "检查yum源中是否存在texlive-termcal软件包"
|
||||
dnf list available texlive-termcal 2>&1 | grep -q "texlive-termcal"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-termcal软件包"
|
||||
exit 255
|
||||
fi
|
||||
if [ "$INSTALLED_BEFORE_TEST" = "false" ]; then
|
||||
LOG_INFO "安装texlive-termcal软件包"
|
||||
dnf install -y texlive-termcal
|
||||
CHECK_RESULT $? 0 0 "安装texlive-termcal失败"
|
||||
fi
|
||||
LOG_INFO "测试使用termcal命令生成自定义起始日期的日历"
|
||||
LOG_INFO "测试用例:Test calendar generation with custom start date"
|
||||
LOG_INFO "执行命令:termcal -s 2023-10-01 10 2023"
|
||||
termcal -s 2023-10-01 10 2023
|
||||
CHECK_RESULT $? 0 0 "使用自定义起始日期生成日历失败"
|
||||
LOG_INFO "验证termcal命令不支持"-x"参数"
|
||||
termcal -x 2>&1 | grep -q "unrecognized option"
|
||||
CHECK_RESULT $? 0 0 "termcal命令错误地支持了不存在的"-x"参数"
|
||||
LOG_INFO "验证termcal命令的"-s"参数必须与日期格式一起使用"
|
||||
termcal -s 2>&1 | grep -q "requires an argument"
|
||||
CHECK_RESULT $? 0 0 "termcal命令的"-s"参数未正确要求日期参数"
|
||||
if [ "$INSTALLED_BEFORE_TEST" = "false" ]; then
|
||||
LOG_INFO "测试完成,卸载texlive-termcal软件包以恢复环境"
|
||||
dnf remove -y texlive-termcal
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-termcal失败"
|
||||
else
|
||||
LOG_INFO "测试完成,保持texlive-termcal软件包的安装状态"
|
||||
fi
|
||||
LOG_INFO "测试结束:自定义起始日期的日历生成功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,99 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-12
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test marking holidays on the generated calendar
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test marking holidays on the generated calendar"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="texlive-termcal"
|
||||
|
||||
# 步骤1:检查yum源中是否存在指定的软件包
|
||||
LOG_INFO "步骤1:检查yum源中是否存在软件包 $PACKAGE_NAME"
|
||||
if ! dnf list available "$PACKAGE_NAME" &>/dev/null; then
|
||||
LOG_ERROR "软件包 $PACKAGE_NAME 在yum源中不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤2:检查是否已经安装软件包
|
||||
LOG_INFO "步骤2:检查是否已经安装软件包 $PACKAGE_NAME"
|
||||
if rpm -q "$PACKAGE_NAME" &>/dev/null; then
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 已经安装,测试结束后将保持安装状态"
|
||||
INSTALLED_BEFORE_TEST=true
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 未安装,将在测试过程中安装"
|
||||
INSTALLED_BEFORE_TEST=false
|
||||
fi
|
||||
|
||||
# 步骤3:如果未安装,则安装软件包
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
LOG_INFO "步骤3:安装软件包 $PACKAGE_NAME"
|
||||
dnf install -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
|
||||
fi
|
||||
|
||||
# 步骤4:测试termcal命令是否存在
|
||||
LOG_INFO "步骤4:测试termcal命令是否存在"
|
||||
if ! command -v termcal &>/dev/null; then
|
||||
LOG_ERROR "termcal命令不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤5:测试生成日历并标记假期的功能
|
||||
LOG_INFO "步骤5:测试生成日历并标记假期的功能"
|
||||
# 假设使用termcal生成2023年1月的日历,并标记1月1日为假期
|
||||
termcal -m 1 -y 2023 -H 1
|
||||
CHECK_RESULT $? 0 0 "termcal命令执行失败"
|
||||
|
||||
# 步骤6:验证生成的日历文件是否存在
|
||||
LOG_INFO "步骤6:验证生成的日历文件是否存在"
|
||||
if [ -f "calendar.tex" ]; then
|
||||
LOG_INFO "日历文件 calendar.tex 生成成功"
|
||||
else
|
||||
LOG_ERROR "日历文件 calendar.tex 未生成"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 步骤7:检查生成的日历文件中是否包含标记的假期
|
||||
LOG_INFO "步骤7:检查生成的日历文件中是否包含标记的假期"
|
||||
if grep -q "holiday" calendar.tex; then
|
||||
LOG_INFO "日历文件中成功标记了假期"
|
||||
else
|
||||
LOG_ERROR "日历文件中未找到假期标记"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 步骤8:清理生成的临时文件
|
||||
LOG_INFO "步骤8:清理生成的临时文件"
|
||||
rm -f calendar.tex calendar.pdf calendar.log calendar.aux
|
||||
|
||||
# 步骤9:如果测试前未安装软件包,则卸载软件包
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
LOG_INFO "步骤9:卸载软件包 $PACKAGE_NAME"
|
||||
dnf remove -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
|
||||
else
|
||||
LOG_INFO "步骤9:测试前已安装软件包,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test marking holidays on the generated calendar"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,87 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-12
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test if texlive-termcal package can be installed successfully
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装texlive-termcal
|
||||
LOG_INFO "检查texlive-termcal是否已安装"
|
||||
rpm -q texlive-termcal > /dev/null 2>&1
|
||||
installed=$?
|
||||
|
||||
if [ $installed -eq 0 ]; then
|
||||
LOG_INFO "texlive-termcal已安装,测试将验证安装状态"
|
||||
already_installed=true
|
||||
else
|
||||
LOG_INFO "texlive-termcal未安装,将执行安装测试"
|
||||
already_installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-termcal包
|
||||
LOG_INFO "检查yum源中是否存在texlive-termcal包"
|
||||
dnf list available texlive-termcal > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "yum源中未找到texlive-termcal包"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-termcal包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则执行安装
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "开始安装texlive-termcal"
|
||||
dnf install -y texlive-termcal
|
||||
CHECK_RESULT $? 0 0 "安装texlive-termcal失败"
|
||||
LOG_INFO "texlive-termcal安装成功"
|
||||
fi
|
||||
|
||||
# 验证安装
|
||||
LOG_INFO "验证texlive-termcal安装"
|
||||
rpm -q texlive-termcal
|
||||
CHECK_RESULT $? 0 0 "texlive-termcal未正确安装"
|
||||
|
||||
# 测试texlive-termcal相关命令功能
|
||||
LOG_INFO "测试texlive-termcal功能"
|
||||
# 假设texlive-termcal包含termcal命令,这里测试其基本功能
|
||||
command -v termcal > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "termcal命令存在,测试其帮助信息"
|
||||
termcal --help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "termcal命令执行失败"
|
||||
else
|
||||
# 如果termcal命令不存在,则检查包是否提供了其他可测试的命令
|
||||
LOG_INFO "termcal命令不存在,检查包提供的其他文件"
|
||||
rpm -ql texlive-termcal | grep -E "/usr/bin/|/bin/" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "texlive-termcal未提供可执行命令"
|
||||
fi
|
||||
|
||||
# 环境恢复
|
||||
LOG_INFO "恢复测试环境"
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "卸载测试安装的texlive-termcal"
|
||||
dnf remove -y texlive-termcal
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-termcal失败"
|
||||
LOG_INFO "texlive-termcal卸载成功"
|
||||
else
|
||||
LOG_INFO "保持原有texlive-termcal安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,91 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-12
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test calendar generation with different language settings
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试脚本开始
|
||||
# 步骤1:检查环境是否已安装texlive-termcal
|
||||
LOG_INFO "步骤1:检查环境是否已安装texlive-termcal"
|
||||
rpm -q texlive-termcal
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-termcal已安装,测试完成后保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "texlive-termcal未安装,测试完成后将卸载"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 步骤2:检查yum源中是否有texlive-termcal软件包
|
||||
LOG_INFO "步骤2:检查yum源中是否有texlive-termcal软件包"
|
||||
dnf list available texlive-termcal
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中没有texlive-termcal软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤3:如果未安装,则安装texlive-termcal
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤3:安装texlive-termcal"
|
||||
dnf install -y texlive-termcal
|
||||
CHECK_RESULT $? 0 0 "安装texlive-termcal失败"
|
||||
fi
|
||||
|
||||
# 步骤4:测试calendar generation with different language settings
|
||||
LOG_INFO "步骤4:测试calendar generation with different language settings"
|
||||
|
||||
# 步骤4.1:测试英语语言设置
|
||||
LOG_INFO "步骤4.1:测试英语语言设置"
|
||||
termcal --language=english 2024 1
|
||||
CHECK_RESULT $? 0 0 "英语语言设置测试失败"
|
||||
|
||||
# 步骤4.2:测试德语语言设置
|
||||
LOG_INFO "步骤4.2:测试德语语言设置"
|
||||
termcal --language=german 2024 1
|
||||
CHECK_RESULT $? 0 0 "德语语言设置测试失败"
|
||||
|
||||
# 步骤4.3:测试法语语言设置
|
||||
LOG_INFO "步骤4.3:测试法语语言设置"
|
||||
termcal --language=french 2024 1
|
||||
CHECK_RESULT $? 0 0 "法语语言设置测试失败"
|
||||
|
||||
# 步骤4.4:测试不支持的语言设置
|
||||
LOG_INFO "步骤4.4:测试不支持的语言设置"
|
||||
termcal --language=unsupported 2024 1
|
||||
if [ $? -eq 255 ]; then
|
||||
LOG_INFO "不支持的语言设置参数被正确处理"
|
||||
else
|
||||
LOG_ERROR "不支持的语言设置参数未正确处理"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤5:清理环境
|
||||
LOG_INFO "步骤5:清理环境"
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载texlive-termcal"
|
||||
dnf remove -y texlive-termcal
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-termcal失败"
|
||||
else
|
||||
LOG_INFO "保持texlive-termcal安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,82 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-12
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test including week numbers in the calendar
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test including week numbers in the calendar"
|
||||
LOG_INFO "步骤1: 检查是否已安装texlive-termcal软件包"
|
||||
rpm -q texlive-termcal
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-termcal已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-termcal未安装,将在测试过程中安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2: 检查yum源中是否存在texlive-termcal软件包"
|
||||
dnf list available texlive-termcal
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-termcal软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤3: 安装texlive-termcal软件包"
|
||||
dnf install -y texlive-termcal
|
||||
CHECK_RESULT $? 0 0 "安装texlive-termcal失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4: 检查termcal命令是否存在"
|
||||
which termcal
|
||||
CHECK_RESULT $? 0 0 "未找到termcal命令"
|
||||
|
||||
LOG_INFO "步骤5: 测试termcal命令是否支持--week-number参数"
|
||||
termcal --help | grep -q "\-\-week-number"
|
||||
CHECK_RESULT $? 0 0 "termcal命令不支持--week-number参数"
|
||||
|
||||
LOG_INFO "步骤6: 执行包含周数的日历测试"
|
||||
termcal --week-number 2024 1
|
||||
CHECK_RESULT $? 0 0 "termcal命令执行失败"
|
||||
|
||||
LOG_INFO "步骤7: 在第二个节点上执行相同的测试(如果存在)"
|
||||
if [ -n "$NODE2_IPV4" ] && [ -n "$NODE2_PASSWORD" ] && [ -n "$NODE2_USER" ]; then
|
||||
SSH_CMD "which termcal" $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER
|
||||
CHECK_RESULT $? 0 0 "第二个节点上未找到termcal命令"
|
||||
|
||||
SSH_CMD "termcal --week-number 2024 1" $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER
|
||||
CHECK_RESULT $? 0 0 "第二个节点上termcal命令执行失败"
|
||||
else
|
||||
LOG_INFO "未配置第二个节点,跳过节点间测试"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤8: 清理测试环境"
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载测试安装的texlive-termcal软件包"
|
||||
dnf remove -y texlive-termcal
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-termcal失败"
|
||||
else
|
||||
LOG_INFO "保持texlive-termcal安装状态不变"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test including week numbers in the calendar"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,64 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-12
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test generating a weekly schedule with termcal
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:使用termcal生成周计划表"
|
||||
LOG_INFO "步骤1:检查系统中是否已安装texlive-termcal软件包"
|
||||
if dnf list installed texlive-termcal &> /dev/null; then
|
||||
LOG_INFO "texlive-termcal已安装,测试结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-termcal未安装,将在测试步骤中安装,并在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
LOG_INFO "步骤2:检查yum源中是否存在texlive-termcal软件包"
|
||||
if ! dnf list available texlive-termcal &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-termcal软件包"
|
||||
exit 255
|
||||
fi
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤3:安装texlive-termcal软件包"
|
||||
dnf install -y texlive-termcal
|
||||
CHECK_RESULT $? 0 0 "安装texlive-termcal失败"
|
||||
fi
|
||||
LOG_INFO "步骤4:验证termcal命令是否可用"
|
||||
command -v termcal
|
||||
CHECK_RESULT $? 0 0 "termcal命令未找到或不可用"
|
||||
LOG_INFO "步骤5:测试termcal生成周计划表的基本功能"
|
||||
termcal --help | grep -q "weekly"
|
||||
CHECK_RESULT $? 0 0 "termcal命令不支持周计划表参数"
|
||||
LOG_INFO "步骤6:生成一个周计划表"
|
||||
termcal --weekly 2024-W01 > /tmp/weekly_schedule.tex
|
||||
CHECK_RESULT $? 0 0 "生成周计划表失败"
|
||||
LOG_INFO "步骤7:检查生成的周计划表文件是否包含预期内容"
|
||||
grep -q "2024-W01" /tmp/weekly_schedule.tex
|
||||
CHECK_RESULT $? 0 0 "生成的周计划表文件内容不符合预期"
|
||||
LOG_INFO "步骤8:清理生成的临时文件"
|
||||
rm -f /tmp/weekly_schedule.tex
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤9:卸载texlive-termcal软件包"
|
||||
dnf remove -y texlive-termcal
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-termcal失败"
|
||||
fi
|
||||
LOG_INFO "测试完成:使用termcal生成周计划表功能正常"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,83 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test verification of texlive-nnext installation status
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试脚本开始
|
||||
LOG_INFO "开始测试:验证texlive-nnext安装状态"
|
||||
|
||||
# 步骤1:检查当前环境中是否已安装texlive-nnext
|
||||
LOG_INFO "步骤1:检查当前环境中是否已安装texlive-nnext"
|
||||
rpm -q texlive-nnext > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "检测到texlive-nnext已安装,标记为已安装状态"
|
||||
INSTALLED_BEFORE="true"
|
||||
else
|
||||
LOG_INFO "检测到texlive-nnext未安装,标记为未安装状态"
|
||||
INSTALLED_BEFORE="false"
|
||||
fi
|
||||
|
||||
# 步骤2:检查yum源中是否有texlive-nnext软件包
|
||||
LOG_INFO "步骤2:检查yum源中是否有texlive-nnext软件包"
|
||||
dnf list available texlive-nnext > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-nnext软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤3:如果未安装,则安装texlive-nnext
|
||||
if [ "$INSTALLED_BEFORE" = "false" ]; then
|
||||
LOG_INFO "步骤3:安装texlive-nnext软件包"
|
||||
dnf install -y texlive-nnext
|
||||
CHECK_RESULT $? 0 0 "安装texlive-nnext失败"
|
||||
fi
|
||||
|
||||
# 步骤4:验证texlive-nnext安装状态
|
||||
LOG_INFO "步骤4:验证texlive-nnext安装状态"
|
||||
rpm -q texlive-nnext > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "texlive-nnext安装状态验证失败"
|
||||
|
||||
# 步骤5:验证texlive-nnext命令参数支持情况
|
||||
LOG_INFO "步骤5:验证texlive-nnext命令参数支持情况"
|
||||
texlive-nnext --help > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "texlive-nnext命令参数不支持或不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤6:验证texlive-nnext基本功能
|
||||
LOG_INFO "步骤6:验证texlive-nnext基本功能"
|
||||
texlive-nnext --version > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "texlive-nnext基本功能验证失败"
|
||||
|
||||
# 步骤7:清理环境,恢复到之前的状态
|
||||
LOG_INFO "步骤7:清理环境,恢复到之前的状态"
|
||||
if [ "$INSTALLED_BEFORE" = "false" ]; then
|
||||
LOG_INFO "卸载之前安装的texlive-nnext软件包"
|
||||
dnf remove -y texlive-nnext
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-nnext失败"
|
||||
else
|
||||
LOG_INFO "保持texlive-nnext已安装状态,无需卸载"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:texlive-nnext安装状态验证通过"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,84 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test handling of texlive-nnext dependencies
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 判断是否已安装texlive-nnext
|
||||
LOG_INFO "检查texlive-nnext是否已安装"
|
||||
rpm -q texlive-nnext &>/dev/null
|
||||
INSTALLED=$?
|
||||
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "texlive-nnext已安装,测试完成后将保持安装状态"
|
||||
ALREADY_INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-nnext未安装,将在测试中安装"
|
||||
ALREADY_INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-nnext
|
||||
LOG_INFO "检查yum源中是否有texlive-nnext包"
|
||||
dnf list available texlive-nnext &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-nnext包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装texlive-nnext(如果未安装)
|
||||
if [ "$ALREADY_INSTALLED" = false ]; then
|
||||
LOG_INFO "安装texlive-nnext"
|
||||
dnf install -y texlive-nnext
|
||||
CHECK_RESULT $? 0 0 "安装texlive-nnext失败"
|
||||
fi
|
||||
|
||||
# 测试texlive-nnext的基本功能
|
||||
LOG_INFO "测试texlive-nnext的基本命令"
|
||||
tex --version &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "tex命令执行失败"
|
||||
|
||||
# 测试texlive-nnext的依赖包是否正常
|
||||
LOG_INFO "检查texlive-nnext的依赖包"
|
||||
rpm -qR texlive-nnext &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "获取texlive-nnext依赖包失败"
|
||||
|
||||
# 测试处理依赖关系的场景
|
||||
LOG_INFO "测试重新安装texlive-nnext(验证依赖处理)"
|
||||
dnf reinstall -y texlive-nnext
|
||||
CHECK_RESULT $? 0 0 "重新安装texlive-nnext失败"
|
||||
|
||||
# 测试卸载依赖包(但不实际卸载)
|
||||
LOG_INFO "测试检查依赖包卸载(模拟)"
|
||||
dnf remove --dry-run texlive-nnext
|
||||
CHECK_RESULT $? 0 0 "卸载检查失败"
|
||||
|
||||
# 清理环境
|
||||
LOG_INFO "清理测试环境"
|
||||
if [ "$ALREADY_INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载测试安装的texlive-nnext"
|
||||
dnf remove -y texlive-nnext
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-nnext失败"
|
||||
else
|
||||
LOG_INFO "保持原有的texlive-nnext安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "texlive-nnext依赖处理测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,65 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test installation of texlive-nnext
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试脚本:test_texlive-nnext_function_install
|
||||
|
||||
LOG_INFO "开始测试:Test installation of texlive-nnext"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
if dnf list installed texlive-nnext &>/dev/null; then
|
||||
LOG_INFO "texlive-nnext 已安装,跳过安装步骤"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-nnext 未安装,将进行安装测试"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-nnext软件包
|
||||
LOG_INFO "检查yum源中是否存在 texlive-nnext 软件包"
|
||||
if ! dnf list available texlive-nnext &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到 texlive-nnext 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则进行安装
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在安装 texlive-nnext"
|
||||
dnf install -y texlive-nnext
|
||||
CHECK_RESULT $? 0 0 "安装 texlive-nnext 失败"
|
||||
fi
|
||||
|
||||
# 验证命令参数支持情况(假设命令为texlive-nnext --version)
|
||||
LOG_INFO "验证 texlive-nnext --version 命令"
|
||||
texlive-nnext --version &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "texlive-nnext --version 命令不支持或失败"
|
||||
|
||||
# 如果脚本开始时未安装,则在测试结束后卸载
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "清理环境:卸载 texlive-nnext"
|
||||
dnf remove -y texlive-nnext
|
||||
CHECK_RESULT $? 0 0 "卸载 texlive-nnext 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test installation of texlive-nnext"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,133 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic usage of texlive-nnext package
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试 texlive-nnext 软件包的基本使用
|
||||
|
||||
LOG_INFO "开始测试 texlive-nnext 软件包的基本使用"
|
||||
|
||||
# 检查是否已经安装了 texlive-nnext
|
||||
LOG_INFO "步骤1: 检查 texlive-nnext 是否已安装"
|
||||
dnf list installed texlive-nnext > /dev/null 2>&1
|
||||
is_installed=$?
|
||||
|
||||
# 如果未安装,则安装
|
||||
if [ $is_installed -ne 0 ]; then
|
||||
LOG_INFO "步骤2: 检查 yum 源中是否有 texlive-nnext 软件包"
|
||||
dnf search texlive-nnext > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum 源中未找到 texlive-nnext 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤3: 安装 texlive-nnext 软件包"
|
||||
dnf install -y texlive-nnext
|
||||
CHECK_RESULT $? 0 0 "安装 texlive-nnext 失败"
|
||||
|
||||
# 设置安装标志,用于脚本结束时判断是否需要卸载
|
||||
need_uninstall=1
|
||||
else
|
||||
LOG_INFO "texlive-nnext 已安装,跳过安装步骤"
|
||||
need_uninstall=0
|
||||
fi
|
||||
|
||||
# 测试 texlive-nnext 的基本命令
|
||||
LOG_INFO "步骤4: 测试 texlive-nnext 的基本命令"
|
||||
|
||||
# 检查 tex 命令是否存在
|
||||
LOG_INFO "步骤5: 检查 tex 命令是否可用"
|
||||
which tex > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "tex 命令不存在"
|
||||
|
||||
# 测试 tex 命令的版本参数
|
||||
LOG_INFO "步骤6: 测试 tex 命令的版本参数"
|
||||
tex --version > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "tex --version 命令执行失败"
|
||||
|
||||
# 测试 latex 命令
|
||||
LOG_INFO "步骤7: 测试 latex 命令是否可用"
|
||||
which latex > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "latex 命令不存在"
|
||||
|
||||
# 测试 latex 命令的版本参数
|
||||
LOG_INFO "步骤8: 测试 latex 命令的版本参数"
|
||||
latex --version > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "latex --version 命令执行失败"
|
||||
|
||||
# 测试不支持的参数
|
||||
LOG_INFO "步骤9: 测试不支持的参数(应返回错误)"
|
||||
tex --invalid-parameter > /dev/null 2>&1
|
||||
if [ $? -eq 255 ]; then
|
||||
LOG_INFO "不支持的参数正确处理"
|
||||
else
|
||||
# 检查命令是否因参数错误而失败
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_INFO "不支持的参数导致命令失败(符合预期)"
|
||||
else
|
||||
LOG_ERROR "不支持的参数未正确处理"
|
||||
exit 255
|
||||
fi
|
||||
fi
|
||||
|
||||
# 创建一个简单的 TeX 文件进行测试
|
||||
LOG_INFO "步骤10: 创建一个简单的 TeX 文件进行测试"
|
||||
TEST_TEX_FILE="test_document.tex"
|
||||
cat > $TEST_TEX_FILE << "EOF"
|
||||
\documentclass{article}
|
||||
\begin{document}
|
||||
Hello, TeX Live!
|
||||
\end{document}
|
||||
EOF
|
||||
|
||||
# 使用 latex 编译测试文件
|
||||
LOG_INFO "步骤11: 使用 latex 编译测试文件"
|
||||
latex $TEST_TEX_FILE > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "latex 编译失败"
|
||||
|
||||
# 检查生成的 DVI 文件
|
||||
LOG_INFO "步骤12: 检查生成的 DVI 文件"
|
||||
if [ -f "test_document.dvi" ]; then
|
||||
LOG_INFO "DVI 文件生成成功"
|
||||
else
|
||||
LOG_ERROR "DVI 文件未生成"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "步骤13: 清理测试文件"
|
||||
rm -f $TEST_TEX_FILE test_document.* 2>/dev/null
|
||||
|
||||
# 环境恢复
|
||||
LOG_INFO "步骤14: 恢复测试环境"
|
||||
|
||||
# 如果之前未安装,则卸载软件包
|
||||
if [ $need_uninstall -eq 1 ]; then
|
||||
LOG_INFO "步骤15: 卸载 texlive-nnext 软件包"
|
||||
dnf remove -y texlive-nnext
|
||||
CHECK_RESULT $? 0 0 "卸载 texlive-nnext 失败"
|
||||
else
|
||||
LOG_INFO "保持 texlive-nnext 安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:texlive-nnext 软件包的基本使用测试通过"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,81 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Verify template compilation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Verify template compilation"
|
||||
|
||||
# 检查是否已安装texlive-els-cas-templates
|
||||
LOG_INFO "检查是否已安装texlive-els-cas-templates"
|
||||
dnf list installed texlive-els-cas-templates >/dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-els-cas-templates已安装,测试结束后保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-els-cas-templates未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-els-cas-templates
|
||||
LOG_INFO "检查yum源中是否有texlive-els-cas-templates"
|
||||
dnf list available texlive-els-cas-templates >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-els-cas-templates"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装texlive-els-cas-templates(如果未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装texlive-els-cas-templates"
|
||||
dnf install -y texlive-els-cas-templates
|
||||
CHECK_RESULT $? 0 0 "安装texlive-els-cas-templates失败"
|
||||
fi
|
||||
|
||||
# 验证模板编译功能
|
||||
LOG_INFO "验证模板编译功能"
|
||||
TEMPLATE_DIR="/usr/share/texlive/texmf-dist/tex/latex/els-cas-templates"
|
||||
if [ ! -d "$TEMPLATE_DIR" ]; then
|
||||
LOG_ERROR "模板目录不存在:$TEMPLATE_DIR"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 进入临时目录并尝试编译模板示例文件
|
||||
LOG_INFO "尝试编译模板示例文件"
|
||||
TEMP_DIR=$(mktemp -d)
|
||||
cd "$TEMP_DIR" || exit 1
|
||||
cp "$TEMPLATE_DIR/sample.tex" .
|
||||
pdflatex sample.tex >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "模板编译失败"
|
||||
|
||||
# 清理临时文件
|
||||
LOG_INFO "清理临时文件"
|
||||
rm -rf "$TEMP_DIR"
|
||||
|
||||
# 卸载软件包(如果测试前未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载texlive-els-cas-templates"
|
||||
dnf remove -y texlive-els-cas-templates
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-els-cas-templates失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Verify template compilation"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
Reference in New Issue
Block a user