diff --git a/suite2cases/function_test/pkg_test/texlive-split-o/texlive-mcite.json b/suite2cases/function_test/pkg_test/texlive-split-o/texlive-mcite.json index 6328ad3fe1d..b2608214f4d 100644 --- a/suite2cases/function_test/pkg_test/texlive-split-o/texlive-mcite.json +++ b/suite2cases/function_test/pkg_test/texlive-split-o/texlive-mcite.json @@ -2,10 +2,6 @@ "path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-o/texlive-mcite", "machine num": 1, "cases": [ - { - "name": "test_texlive-mcite_function_basic", - "desc": "Test basic functionality of texlive-mcite" - }, { "name": "test_texlive-mcite_function_install", "desc": "Test installation of texlive-mcite package" @@ -14,18 +10,6 @@ "name": "test_texlive-mcite_function_check_installed", "desc": "Test if texlive-mcite package is installed" }, - { - "name": "test_texlive-mcite_function_basic_compile", - "desc": "Test basic compilation with mcite package" - }, - { - "name": "test_texlive-mcite_function_cite_commands", - "desc": "Test mcite cite commands functionality" - }, - { - "name": "test_texlive-mcite_function_bibliography", - "desc": "Test bibliography generation with mcite" - }, { "name": "test_texlive-mcite_function_remove", "desc": "Test removal of texlive-mcite package" diff --git a/testcases/function_test/pkg_test/texlive-split-o/texlive-mcite/test_texlive-mcite_function_basic.sh b/testcases/function_test/pkg_test/texlive-split-o/texlive-mcite/test_texlive-mcite_function_basic.sh deleted file mode 100644 index 532eedbb2d4..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-o/texlive-mcite/test_texlive-mcite_function_basic.sh +++ /dev/null @@ -1,62 +0,0 @@ -#!/usr/bin/bash - -# Copyright (c) 2024 ISCAS .ALL rights reserved. -# This program is licensed under Mulan PSL v2. -# You can use it according to the terms and conditions of the Mulan PSL v2. -# http://license.coscl.org.cn/MulanPSL2 -# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, -# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, -# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. -# See the Mulan PSL v2 for more details. - -# ############################################# -# @Author : honghua -# @Contact : honghua@iscas.ac.cn -# @Date : 2025-11-26 -# @License : Mulan PSL v2 -# @Desc : Test basic functionality of texlive-mcite -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 检查是否已安装texlive-mcite - LOG_INFO "检查是否已安装texlive-mcite" - if dnf list installed texlive-mcite &>/dev/null; then - LOG_INFO "texlive-mcite已安装,脚本结束时将保持安装状态" - INSTALLED=true - else - LOG_INFO "texlive-mcite未安装,将在测试结束后卸载" - INSTALLED=false - fi - - # 检查yum源中是否有texlive-mcite - LOG_INFO "检查yum源中是否有texlive-mcite" - if ! dnf list available texlive-mcite &>/dev/null; then - LOG_ERROR "yum源中未找到texlive-mcite软件包" - exit 255 - fi - - # 安装texlive-mcite(如果未安装) - if [ "$INSTALLED" = false ]; then - LOG_INFO "开始安装texlive-mcite" - dnf install -y texlive-mcite - CHECK_RESULT $? 0 0 "安装texlive-mcite失败" - fi - - # 测试基本功能 - LOG_INFO "测试texlive-mcite的基本功能" - texdoc mcite &>/dev/null - CHECK_RESULT $? 0 0 "texlive-mcite基本功能测试失败" - - # 清理环境(如果最初未安装) - if [ "$INSTALLED" = false ]; then - LOG_INFO "卸载texlive-mcite" - dnf remove -y texlive-mcite - CHECK_RESULT $? 0 0 "卸载texlive-mcite失败" - fi - - LOG_INFO "测试脚本执行完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-o/texlive-mcite/test_texlive-mcite_function_basic_compile.sh b/testcases/function_test/pkg_test/texlive-split-o/texlive-mcite/test_texlive-mcite_function_basic_compile.sh deleted file mode 100644 index 8fd85d402fb..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-o/texlive-mcite/test_texlive-mcite_function_basic_compile.sh +++ /dev/null @@ -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-04 -# @License : Mulan PSL v2 -# @Desc : Test basic compilation with mcite package -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试:Test basic compilation with mcite package" - LOG_INFO "步骤1: 检查环境是否已安装 texlive-mcite 包" - if dnf list installed texlive-mcite &>/dev/null; then - LOG_INFO "texlive-mcite 已安装,将保持安装状态" - INSTALLED=true - else - LOG_INFO "texlive-mcite 未安装,将在测试步骤中安装" - INSTALLED=false - fi - - LOG_INFO "步骤2: 检查 yum 源中是否有 texlive-mcite 包" - if ! dnf list available texlive-mcite &>/dev/null; then - LOG_ERROR "yum 源中未找到 texlive-mcite 包" - exit 255 - fi - - if [ "$INSTALLED" = "false" ]; then - LOG_INFO "步骤3: 安装 texlive-mcite 包" - dnf install -y texlive-mcite - CHECK_RESULT $? 0 0 "安装 texlive-mcite 失败" - fi - - LOG_INFO "步骤4: 测试 mcite 基本编译功能" - TEST_FILE="test_mcite.tex" - cat > "$TEST_FILE" << "EOF" - \documentclass{article} - \usepackage{mcite} - \begin{document} - Test document for mcite package. - \end{document} - EOF - - pdflatex "$TEST_FILE" - CHECK_RESULT $? 0 0 "pdflatex 编译失败" - - LOG_INFO "步骤5: 检查生成的 PDF 文件" - if [ -f "test_mcite.pdf" ]; then - LOG_INFO "PDF 文件生成成功" - else - LOG_ERROR "PDF 文件未生成" - exit 1 - fi - - LOG_INFO "步骤6: 清理测试文件" - rm -f test_mcite.tex test_mcite.pdf test_mcite.aux test_mcite.log test_mcite.out - - if [ "$INSTALLED" = "false" ]; then - LOG_INFO "步骤7: 卸载 texlive-mcite 包" - dnf remove -y texlive-mcite - CHECK_RESULT $? 0 0 "卸载 texlive-mcite 失败" - fi - - LOG_INFO "测试完成:Test basic compilation with mcite package" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-o/texlive-mcite/test_texlive-mcite_function_bibliography.sh b/testcases/function_test/pkg_test/texlive-split-o/texlive-mcite/test_texlive-mcite_function_bibliography.sh deleted file mode 100644 index 7c856cfbfde..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-o/texlive-mcite/test_texlive-mcite_function_bibliography.sh +++ /dev/null @@ -1,85 +0,0 @@ -#!/usr/bin/bash - -# Copyright (c) 2024 ISCAS .ALL rights reserved. -# This program is licensed under Mulan PSL v2. -# You can use it according to the terms and conditions of the Mulan PSL v2. -# http://license.coscl.org.cn/MulanPSL2 -# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, -# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, -# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. -# See the Mulan PSL v2 for more details. - -# ############################################# -# @Author : honghua -# @Contact : honghua@iscas.ac.cn -# @Date : 2026-03-04 -# @License : Mulan PSL v2 -# @Desc : Test bibliography generation with mcite -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试:使用 mcite 生成参考文献" - LOG_INFO "步骤1:检查 yum 源中是否存在 texlive-mcite 软件包" - if ! dnf list available texlive-mcite &>/dev/null; then - LOG_ERROR "yum 源中未找到 texlive-mcite 软件包" - exit 255 - fi - - LOG_INFO "步骤2:检查是否已安装 texlive-mcite" - if rpm -q texlive-mcite &>/dev/null; then - LOG_INFO "texlive-mcite 已安装,测试后将保持安装状态" - INSTALLED_BEFORE=true - else - LOG_INFO "texlive-mcite 未安装,将在测试中安装" - INSTALLED_BEFORE=false - fi - - if [ "$INSTALLED_BEFORE" = "false" ]; then - LOG_INFO "步骤3:安装 texlive-mcite" - dnf install -y texlive-mcite - CHECK_RESULT $? 0 0 "安装 texlive-mcite 失败" - fi - - LOG_INFO "步骤4:验证 mcite 命令是否存在" - if ! command -v mcite &>/dev/null; then - LOG_ERROR "mcite 命令不存在" - exit 255 - fi - - LOG_INFO "步骤5:测试 mcite 生成参考文献功能" - cat > test_bibliography.tex << "EOF" - \documentclass{article} - \usepackage{mcite} - \begin{document} - Test citation \mcite{test1,test2}. - \bibliographystyle{plain} - \bibliography{test} - \end{document} - EOF - - mcite test_bibliography.tex - CHECK_RESULT $? 0 0 "mcite 生成参考文献失败" - - LOG_INFO "步骤6:检查生成的参考文献文件" - if [ -f test_bibliography.bbl ]; then - LOG_INFO "参考文献文件 test_bibliography.bbl 生成成功" - else - LOG_ERROR "参考文献文件 test_bibliography.bbl 未生成" - exit 1 - fi - - LOG_INFO "步骤7:清理测试文件" - rm -f test_bibliography.tex test_bibliography.bbl - - if [ "$INSTALLED_BEFORE" = "false" ]; then - LOG_INFO "步骤8:卸载 texlive-mcite" - dnf remove -y texlive-mcite - CHECK_RESULT $? 0 0 "卸载 texlive-mcite 失败" - fi - - LOG_INFO "测试完成:使用 mcite 生成参考文献功能正常" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-o/texlive-mcite/test_texlive-mcite_function_cite_commands.sh b/testcases/function_test/pkg_test/texlive-split-o/texlive-mcite/test_texlive-mcite_function_cite_commands.sh deleted file mode 100644 index 3b77edb5592..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-o/texlive-mcite/test_texlive-mcite_function_cite_commands.sh +++ /dev/null @@ -1,161 +0,0 @@ -#!/usr/bin/bash - -# Copyright (c) 2024 ISCAS .ALL rights reserved. -# This program is licensed under Mulan PSL v2. -# You can use it according to the terms and conditions of the Mulan PSL v2. -# http://license.coscl.org.cn/MulanPSL2 -# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, -# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, -# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. -# See the Mulan PSL v2 for more details. - -# ############################################# -# @Author : honghua -# @Contact : honghua@iscas.ac.cn -# @Date : 2026-03-04 -# @License : Mulan PSL v2 -# @Desc : Test mcite cite commands functionality -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 定义颜色代码 - RED="\033[0;31m" - GREEN="\033[0;32m" - YELLOW="\033[0;33m" - NC="\033[0m" # No Color - - # 定义日志函数 - LOG_INFO() { - echo -e "${GREEN}[INFO]${NC} $1" - } - - LOG_ERROR() { - echo -e "${RED}[ERROR]${NC} $1" - } - - # 检查软件包是否存在 - check_package_exists() { - local pkg_name=$1 - dnf list available "$pkg_name" &>/dev/null - if [ $? -ne 0 ]; then - LOG_ERROR "软件包 $pkg_name 在yum源中不存在" - exit 255 - fi - } - - # 检查命令参数是否支持 - check_command_param() { - local cmd=$1 - local param=$2 - # 这里假设使用--help检查参数支持,实际应根据命令调整 - $cmd --help 2>&1 | grep -q "\-\-$param" - if [ $? -ne 0 ]; then - LOG_ERROR "命令 $cmd 不支持参数 --$param" - exit 255 - fi - } - - # 主测试函数 - test_mcite_cite_commands() { - LOG_INFO "开始测试: Test mcite cite commands functionality" - - # 检查是否已安装texlive-mcite - LOG_INFO "步骤1: 检查texlive-mcite是否已安装" - if rpm -q texlive-mcite &>/dev/null; then - LOG_INFO "texlive-mcite已安装,跳过安装步骤" - INSTALLED_BEFORE=true - else - LOG_INFO "texlive-mcite未安装,将进行安装测试" - INSTALLED_BEFORE=false - - # 检查软件包是否存在 - LOG_INFO "步骤2: 检查yum源中是否有texlive-mcite软件包" - check_package_exists "texlive-mcite" - - # 安装软件包 - LOG_INFO "步骤3: 安装texlive-mcite软件包" - dnf install -y texlive-mcite - CHECK_RESULT $? 0 0 "安装texlive-mcite失败" - fi - - # 测试mcite命令基本功能 - LOG_INFO "步骤4: 测试mcite命令是否存在" - which mcite - CHECK_RESULT $? 0 0 "mcite命令不存在" - - LOG_INFO "步骤5: 测试mcite命令帮助信息" - mcite --help - CHECK_RESULT $? 0 0 "获取mcite帮助信息失败" - - # 测试cite命令基本功能 - LOG_INFO "步骤6: 测试cite命令是否存在" - which cite - CHECK_RESULT $? 0 0 "cite命令不存在" - - LOG_INFO "步骤7: 测试cite命令帮助信息" - cite --help - CHECK_RESULT $? 0 0 "获取cite帮助信息失败" - - # 创建测试文件 - LOG_INFO "步骤8: 创建测试LaTeX文件" - TEST_FILE="test_cite.tex" - cat > "$TEST_FILE" << "EOF" - \documentclass{article} - \usepackage{mcite} - \begin{document} - Test citation: \cite{test2024}. - \end{document} - EOF - CHECK_RESULT $? 0 0 "创建测试文件失败" - - # 测试编译(不实际生成PDF,只检查语法) - LOG_INFO "步骤9: 测试LaTeX文件编译" - pdflatex -halt-on-error -interaction=nonstopmode "$TEST_FILE" 2>&1 | grep -q "error" - if [ $? -eq 0 ]; then - LOG_ERROR "LaTeX编译失败" - # 不是参数错误,按标准退出码处理 - exit 1 - fi - CHECK_RESULT $? 1 0 "LaTeX编译应该成功" - - # 清理测试文件 - LOG_INFO "步骤10: 清理测试文件" - rm -f "$TEST_FILE" test_cite.aux test_cite.log test_cite.out - CHECK_RESULT $? 0 0 "清理测试文件失败" - - # 如果测试过程中安装了软件包,且之前未安装,则卸载 - if [ "$INSTALLED_BEFORE" = "false" ]; then - LOG_INFO "步骤11: 卸载测试安装的texlive-mcite" - dnf remove -y texlive-mcite - CHECK_RESULT $? 0 0 "卸载texlive-mcite失败" - else - LOG_INFO "步骤11: 保持texlive-mcite安装状态" - fi - - LOG_INFO "测试完成: mcite cite commands功能测试通过" - } - - # 环境清理函数 - cleanup() { - LOG_INFO "执行环境清理" - - # 清理可能遗留的测试文件 - rm -f test_cite.tex test_cite.aux test_cite.log test_cite.out test_cite.pdf - - # 如果脚本中途退出,确保恢复安装状态 - if [ "$INSTALLED_BEFORE" = "false" ] && rpm -q texlive-mcite &>/dev/null; then - LOG_INFO "清理: 卸载测试安装的texlive-mcite" - dnf remove -y texlive-mcite - fi - } - - # 设置trap确保脚本退出时执行清理 - trap cleanup EXIT - - # 执行测试 - test_mcite_cite_commands -} - -main "$@" \ No newline at end of file