update testcase for testsuite texlive-omegaware

This commit is contained in:
2026-04-22 22:31:18 +08:00
parent bdf8ab9faf
commit 9c814d970c
105 changed files with 0 additions and 9206 deletions

View File

@@ -2,489 +2,17 @@
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-base/texlive-omegaware",
"machine num": 1,
"cases": [
{
"name": "test_texlive-omegaware_odvicopy_magnification",
"desc": "测试 odvicopy 命令的 magnification 参数"
},
{
"name": "test_texlive-omegaware_odvicopy_max_pages",
"desc": "测试 odvicopy 命令的 max-pages 参数"
},
{
"name": "test_texlive-omegaware_odvicopy_page_start",
"desc": "测试 odvicopy 命令的 page-start 参数"
},
{
"name": "test_texlive-omegaware_odvicopy_help",
"desc": "测试 odvicopy 命令的 help 参数"
},
{
"name": "test_texlive-omegaware_odvicopy_version",
"desc": "测试 odvicopy 命令的 version 参数"
},
{
"name": "test_texlive-omegaware_odvitype_dpi",
"desc": "测试 odvitype 命令的 dpi 参数"
},
{
"name": "test_texlive-omegaware_odvitype_magnification",
"desc": "测试 odvitype 命令的 magnification 参数"
},
{
"name": "test_texlive-omegaware_odvitype_max_pages",
"desc": "测试 odvitype 命令的 max-pages 参数"
},
{
"name": "test_texlive-omegaware_odvitype_output_level",
"desc": "测试 odvitype 命令的 output-level 参数"
},
{
"name": "test_texlive-omegaware_odvitype_page_start",
"desc": "测试 odvitype 命令的 page-start 参数"
},
{
"name": "test_texlive-omegaware_odvitype_show_opcodes",
"desc": "测试 odvitype 命令的 show-opcodes 参数"
},
{
"name": "test_texlive-omegaware_ofm2opl_char_format_num",
"desc": "测试 ofm2opl 命令的 -char-format=num 参数"
},
{
"name": "test_texlive-omegaware_ofm2opl_char_format_ascii",
"desc": "测试 ofm2opl 命令的 -char-format=ascii 参数"
},
{
"name": "test_texlive-omegaware_ofm2opl_num_format_hex",
"desc": "测试 ofm2opl 命令的 -num-format=hex 参数"
},
{
"name": "test_texlive-omegaware_ofm2opl_num_format_octal",
"desc": "测试 ofm2opl 命令的 -num-format=octal 参数"
},
{
"name": "test_texlive-omegaware_ofm2opl_text_format_mixed",
"desc": "测试 ofm2opl 命令的 -text-format=mixed 参数"
},
{
"name": "test_texlive-omegaware_ofm2opl_text_format_upper",
"desc": "测试 ofm2opl 命令的 -text-format=upper 参数"
},
{
"name": "test_texlive-omegaware_ofm2opl_charcode_format_hex",
"desc": "测试 ofm2opl 命令的 -charcode-format=hex 参数"
},
{
"name": "test_texlive-omegaware_ofm2opl_charcode_format_octal",
"desc": "测试 ofm2opl 命令的 -charcode-format=octal 参数"
},
{
"name": "test_texlive-omegaware_ofm2opl_charcode_format_ascii",
"desc": "测试 ofm2opl 命令的 -charcode-format=ascii 参数"
},
{
"name": "test_texlive-omegaware_ofm2opl_v",
"desc": "测试 ofm2opl 命令的 -verbose 参数"
},
{
"name": "test_texlive-omegaware_omfonts_ofm2opl",
"desc": "测试 omfonts 命令的 ofm2opl 功能"
},
{
"name": "test_texlive-omegaware_omfonts_opl2ofm",
"desc": "测试 omfonts 命令的 opl2ofm 功能"
},
{
"name": "test_texlive-omegaware_omfonts_ovf2ovp",
"desc": "测试 omfonts 命令的 ovf2ovp 功能"
},
{
"name": "test_texlive-omegaware_omfonts_ovp2ovf",
"desc": "测试 omfonts 命令的 ovp2ovf 功能"
},
{
"name": "test_texlive-omegaware_opl2ofm__help",
"desc": "测试opl2ofm命令的-help参数显示帮助信息并退出"
},
{
"name": "test_texlive-omegaware_opl2ofm__verbose",
"desc": "测试opl2ofm命令的-verbose参数显示进度报告"
},
{
"name": "test_texlive-omegaware_opl2ofm__version",
"desc": "测试opl2ofm命令的-version参数输出版本信息并退出"
},
{
"name": "test_texlive-omegaware_otangle__help",
"desc": "测试 otangle 命令的 -help 参数,显示帮助信息并退出"
},
{
"name": "test_texlive-omegaware_otangle__version",
"desc": "测试 otangle 命令的 -version 参数,输出版本信息并退出"
},
{
"name": "test_texlive-omegaware_otp2ocp__help",
"desc": "测试 otp2ocp 命令的 --help 参数"
},
{
"name": "test_texlive-omegaware_outocp_default",
"desc": "测试 outocp 命令的默认行为"
},
{
"name": "test_texlive-omegaware_ovf2ovp_char_format_num",
"desc": "测试使用 -char-format=num 参数"
},
{
"name": "test_texlive-omegaware_ovf2ovp_char_format_ascii",
"desc": "测试使用 -char-format=ascii 参数"
},
{
"name": "test_texlive-omegaware_ovf2ovp_num_format_hex",
"desc": "测试使用 -num-format=hex 参数"
},
{
"name": "test_texlive-omegaware_ovf2ovp_num_format_octal",
"desc": "测试使用 -num-format=octal 参数"
},
{
"name": "test_texlive-omegaware_ovf2ovp_text_format_mixed",
"desc": "测试使用 -text-format=mixed 参数"
},
{
"name": "test_texlive-omegaware_ovf2ovp_text_format_upper",
"desc": "测试使用 -text-format=upper 参数"
},
{
"name": "test_texlive-omegaware_ovf2ovp_charcode_format_hex",
"desc": "测试使用 -charcode-format=hex 参数"
},
{
"name": "test_texlive-omegaware_ovf2ovp_charcode_format_octal",
"desc": "测试使用 -charcode-format=octal 参数"
},
{
"name": "test_texlive-omegaware_ovf2ovp_charcode_format_ascii",
"desc": "测试使用 -charcode-format=ascii 参数"
},
{
"name": "test_texlive-omegaware_ovf2ovp_verbose",
"desc": "测试使用 -verbose 参数"
},
{
"name": "test_texlive-omegaware_ovf2ovp_version",
"desc": "测试使用 -version 参数"
},
{
"name": "test_texlive-omegaware_ovp2ovf_help",
"desc": "测试 ovp2ovf 命令的 help 参数,验证是否显示帮助信息并退出"
},
{
"name": "test_texlive-omegaware_ovp2ovf_verbose",
"desc": "测试 ovp2ovf 命令的 verbose 参数,验证是否显示进度报告"
},
{
"name": "test_texlive-omegaware_ovp2ovf_version",
"desc": "测试 ovp2ovf 命令的 version 参数,验证是否输出版本信息并退出"
},
{
"name": "test_texlive-omegaware_wofm2opl_charcode_format_hex",
"desc": "测试使用 -charcode-format=hex 参数将字符代码输出为十六进制格式"
},
{
"name": "test_texlive-omegaware_wofm2opl_charcode_format_ascii",
"desc": "测试使用 -charcode-format=ascii 参数将字符代码输出为ASCII格式"
},
{
"name": "test_texlive-omegaware_wofm2opl_help",
"desc": "测试使用 -help 参数显示帮助信息"
},
{
"name": "test_texlive-omegaware_wofm2opl_verbose",
"desc": "测试使用 -verbose 参数显示进度报告"
},
{
"name": "test_texlive-omegaware_wofm2opl_version",
"desc": "测试使用 -version 参数输出版本信息"
},
{
"name": "test_texlive-omegaware_wopl2ofm_help",
"desc": "测试 wopl2ofm 命令的 help 参数,显示帮助信息并退出"
},
{
"name": "test_texlive-omegaware_wopl2ofm_verbose",
"desc": "测试 wopl2ofm 命令的 verbose 参数,显示进度报告"
},
{
"name": "test_texlive-omegaware_wopl2ofm_version",
"desc": "测试 wopl2ofm 命令的 version 参数,输出版本信息并退出"
},
{
"name": "test_texlive-omegaware_wovf2ovp_charcode_format_hex",
"desc": "使用 -charcode-format=hex 参数将字符代码输出为十六进制格式"
},
{
"name": "test_texlive-omegaware_wovf2ovp_charcode_format_ascii",
"desc": "使用 -charcode-format=ascii 参数将字符代码输出为ASCII格式"
},
{
"name": "test_texlive-omegaware_wovf2ovp_help",
"desc": "使用 -help 参数显示帮助信息并退出"
},
{
"name": "test_texlive-omegaware_wovf2ovp_verbose",
"desc": "使用 -verbose 参数显示进度报告"
},
{
"name": "test_texlive-omegaware_wovf2ovp_version",
"desc": "使用 -version 参数输出版本信息并退出"
},
{
"name": "test_texlive-omegaware_function_basic",
"desc": "测试基础功能是否正常"
},
{
"name": "test_texlive-omegaware_odvicopy_input_output",
"desc": "测试指定输入和输出文件"
},
{
"name": "test_texlive-omegaware_odvicopy_stdin_stdout",
"desc": "测试使用标准输入和标准输出"
},
{
"name": "test_texlive-omegaware_odvicopy_magnification_max_pages",
"desc": "测试同时使用-magnification和-max-pages参数"
},
{
"name": "test_texlive-omegaware_odvicopy_magnification_page_start",
"desc": "测试同时使用-magnification和-page-start参数"
},
{
"name": "test_texlive-omegaware_odvicopy_max_pages_page_start",
"desc": "测试同时使用-max-pages和-page-start参数"
},
{
"name": "test_texlive-omegaware_odvitype_help",
"desc": "测试odvitype命令的help参数验证帮助信息是否能正确显示"
},
{
"name": "test_texlive-omegaware_odvitype_version",
"desc": "测试odvitype命令的version参数验证版本信息是否能正确显示"
},
{
"name": "test_texlive-omegaware_odvitype_dpi_magnification",
"desc": "测试odvitype命令同时使用dpi和magnification参数"
},
{
"name": "test_texlive-omegaware_odvitype_max_pages_output_level",
"desc": "测试odvitype命令同时使用max-pages和output-level参数"
},
{
"name": "test_texlive-omegaware_ofm2opl_char-format_num",
"desc": "测试 ofm2opl 命令使用 -char-format=num 参数将字符代码输出为数字格式"
},
{
"name": "test_texlive-omegaware_ofm2opl_char-format_ascii",
"desc": "测试 ofm2opl 命令使用 -char-format=ascii 参数将ASCII字母和数字输出为字符其余为数字"
},
{
"name": "test_texlive-omegaware_ofm2opl_num-format_hex",
"desc": "测试 ofm2opl 命令使用 -num-format=hex 参数将数字输出为十六进制格式"
},
{
"name": "test_texlive-omegaware_ofm2opl_num-format_octal",
"desc": "测试 ofm2opl 命令使用 -num-format=octal 参数将数字输出为八进制格式"
},
{
"name": "test_texlive-omegaware_ofm2opl_text-format_mixed",
"desc": "测试 ofm2opl 命令使用 -text-format=mixed 参数以混合大小写输出编码方案和字体系列"
},
{
"name": "test_texlive-omegaware_ofm2opl_text-format_upper",
"desc": "测试 ofm2opl 命令使用 -text-format=upper 参数以大写输出编码方案和字体系列"
},
{
"name": "test_texlive-omegaware_ofm2opl_charcode-format_hex",
"desc": "测试 ofm2opl 命令使用 -charcode-format=hex 参数将字符代码输出为十六进制格式"
},
{
"name": "test_texlive-omegaware_ofm2opl_charcode-format_octal",
"desc": "测试 ofm2opl 命令使用 -charcode-format=octal 参数将字符代码输出为八进制格式"
},
{
"name": "test_texlive-omegaware_ofm2opl_charcode-format_ascii",
"desc": "测试 ofm2opl 命令使用 -charcode-format=ascii 参数将ASCII字母和数字输出为字符其余为十六进制"
},
{
"name": "test_texlive-omegaware_ofm2opl_help",
"desc": "测试 ofm2opl 命令使用 -help 参数显示帮助信息"
},
{
"name": "test_texlive-omegaware_ofm2opl_verbose",
"desc": "测试 ofm2opl 命令使用 -verbose 参数显示进度报告"
},
{
"name": "test_texlive-omegaware_ofm2opl_version",
"desc": "测试 ofm2opl 命令使用 -version 参数输出版本信息"
},
{
"name": "test_texlive-omegaware_ofm2opl_without_output_file",
"desc": "测试 ofm2opl 命令仅指定输入OFM文件将结果输出到标准输出"
},
{
"name": "test_texlive-omegaware_ofm2opl_with_output_file",
"desc": "测试 ofm2opl 命令指定输入OFM文件和输出OPL文件"
},
{
"name": "test_texlive-omegaware_opl2ofm_help",
"desc": "测试opl2ofm命令的帮助信息"
},
{
"name": "test_texlive-omegaware_opl2ofm_verbose",
"desc": "测试opl2ofm命令的详细输出模式"
},
{
"name": "test_texlive-omegaware_opl2ofm_version",
"desc": "测试opl2ofm命令的版本信息"
},
{
"name": "test_texlive-omegaware_opl2ofm_basic",
"desc": "测试opl2ofm命令的基本文件转换功能"
},
{
"name": "test_texlive-omegaware_opl2ofm_without_ofmfile",
"desc": "测试opl2ofm命令仅指定OPL文件时使用默认OFM文件名"
},
{
"name": "test_texlive-omegaware_otangle_help",
"desc": "测试 otangle 命令的 -help 参数,用于显示帮助信息"
},
{
"name": "test_texlive-omegaware_otangle_version",
"desc": "测试 otangle 命令的 -version 参数,用于输出版本信息"
},
{
"name": "test_texlive-omegaware_otangle_web_file",
"desc": "测试 otangle 命令仅指定 WEBFILE 参数,使用默认的 CHANGEFILE (/dev/null) 进行转换"
},
{
"name": "test_texlive-omegaware_otangle_web_and_ch_file",
"desc": "测试 otangle 命令同时指定 WEBFILE 和 CHANGEFILE 参数,使用指定的变更文件进行转换"
},
{
"name": "test_texlive-omegaware_otp2ocp__v",
"desc": "测试 otp2ocp 命令的 -v 参数,验证版本信息输出"
},
{
"name": "test_texlive-omegaware_otp2ocp__upper_v",
"desc": "测试 otp2ocp 命令的 -V 参数,验证详细模式输出"
},
{
"name": "test_texlive-omegaware_otp2ocp__upper_h",
"desc": "测试 otp2ocp 命令的 -H 参数,验证十六进制转储功能"
},
{
"name": "test_texlive-omegaware_otp2ocp__upper_s",
"desc": "测试 otp2ocp 命令的 -S 参数,验证静默模式"
},
{
"name": "test_texlive-omegaware_outocp__upper_v",
"desc": "测试outocp命令的详细模式"
},
{
"name": "test_texlive-omegaware_outocp__num_1",
"desc": "测试outocp命令使用第一个参数"
},
{
"name": "test_texlive-omegaware_ovf2ovp_help",
"desc": "测试ovf2ovp命令的帮助信息显示"
},
{
"name": "test_texlive-omegaware_ovf2ovp_basic_conversion",
"desc": "测试ovf2ovp命令使用默认参数转换OVF和OFM文件"
},
{
"name": "test_texlive-omegaware_ovf2ovp_output_to_stdout",
"desc": "测试ovf2ovp命令将转换结果输出到标准输出"
},
{
"name": "test_texlive-omegaware_ovf2ovp_specify_ofm",
"desc": "测试ovf2ovp命令指定OFM文件名进行转换"
},
{
"name": "test_texlive-omegaware_ovf2ovp_specify_ovp",
"desc": "测试ovf2ovp命令指定输出OVP文件名"
},
{
"name": "test_texlive-omegaware_ovp2ovf_basic_conversion",
"desc": "测试ovp2ovf命令的基本文件转换功能仅指定输入文件"
},
{
"name": "test_texlive-omegaware_ovp2ovf_specify_ovf",
"desc": "测试ovp2ovf命令指定输出OVF文件名的功能"
},
{
"name": "test_texlive-omegaware_ovp2ovf_specify_ovf_ofm",
"desc": "测试ovp2ovf命令同时指定输出OVF和OFM文件名的功能"
},
{
"name": "test_texlive-omegaware_wofm2opl_basic_conversion",
"desc": "测试 wofm2opl 命令的基本字体度量文件转换功能"
},
{
"name": "test_texlive-omegaware_wopl2ofm_default_ofm",
"desc": "测试 wopl2ofm 命令仅指定 OPL 文件,验证是否生成默认的 OFM 文件"
},
{
"name": "test_texlive-omegaware_wovf2ovp_basic_conversion",
"desc": "测试 wovf2ovp 命令将OVF和OFM文件转换为OVP文件的基本功能"
},
{
"name": "test_texlive-omegaware_wovf2ovp_output_to_stdout",
"desc": "测试 wovf2ovp 命令将转换结果输出到标准输出"
},
{
"name": "test_texlive-omegaware_wovf2ovp_implicit_ofm",
"desc": "测试 wovf2ovp 命令在未指定OFM文件时使用默认文件名"
},
{
"name": "test_texlive-omegaware_function_install",
"desc": "测试软件包安装功能"
},
{
"name": "test_texlive-omegaware_function_uninstall",
"desc": "测试软件包卸载功能"
},
{
"name": "test_texlive-omegaware_function_check_installed",
"desc": "测试检查软件包是否安装"
},
{
"name": "test_texlive-omegaware_function_odvicopy_basic",
"desc": "测试odvicopy基础文件转换"
},
{
"name": "test_texlive-omegaware_function_odvitype_basic",
"desc": "测试odvitype基础文件查看"
},
{
"name": "test_texlive-omegaware_function_ofm2opl_basic",
"desc": "测试ofm2opl基础字体转换"
},
{
"name": "test_texlive-omegaware_function_opl2ofm_basic",
"desc": "测试opl2ofm基础字体转换"
},
{
"name": "test_texlive-omegaware_function_ovf2ovp_basic",
"desc": "测试ovf2ovp基础字体转换"
},
{
"name": "test_texlive-omegaware_function_ovp2ovf_basic",
"desc": "测试ovp2ovf基础字体转换"
},
{
"name": "test_texlive-omegaware_function_omfonts_help",
"desc": "测试omfonts命令帮助信息"
}
]
}

View File

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

View File

@@ -1,89 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试检查软件包是否安装
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义日志函数
LOG_INFO() {
echo "[INFO] $*"
}
LOG_ERROR() {
echo "[ERROR] $*" >&2
}
# 定义软件包名称
PACKAGE_NAME="texlive-omegaware"
# 步骤1检查软件包是否已在yum源中
LOG_INFO "步骤1检查软件包是否在yum源中"
dnf list available "$PACKAGE_NAME" &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 $PACKAGE_NAME 不在yum源中"
exit 255
fi
# 步骤2检查软件包是否已安装
LOG_INFO "步骤2检查软件包是否已安装"
if rpm -q "$PACKAGE_NAME" &>/dev/null; then
LOG_INFO "软件包 $PACKAGE_NAME 已安装,脚本将保持安装状态"
INSTALLED_BEFORE=true
else
LOG_INFO "软件包 $PACKAGE_NAME 未安装,将在测试步骤中安装"
INSTALLED_BEFORE=false
fi
# 步骤3如果未安装则安装软件包
if [ "$INSTALLED_BEFORE" = "false" ]; then
LOG_INFO "步骤3安装软件包 $PACKAGE_NAME"
dnf install -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 步骤4检查软件包是否安装成功
LOG_INFO "步骤4检查软件包是否安装成功"
rpm -q "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "软件包未正确安装"
# 步骤5测试软件包功能示例运行一个命令
LOG_INFO "步骤5测试软件包功能"
# 假设软件包安装了一个命令 "omegaware",这里检查该命令是否存在
if command -v omegaware &>/dev/null; then
LOG_INFO "命令 omegaware 存在"
# 可以添加更多功能测试
else
LOG_ERROR "命令 omegaware 不存在"
exit 255
fi
# 步骤6清理环境如果之前未安装则卸载软件包
if [ "$INSTALLED_BEFORE" = "false" ]; then
LOG_INFO "步骤6卸载软件包 $PACKAGE_NAME"
dnf remove -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "卸载软件包失败"
LOG_INFO "环境已恢复,软件包已卸载"
else
LOG_INFO "步骤6保持软件包安装状态无需卸载"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,99 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试软件包安装功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试软件包安装功能"
# 检查是否已经安装texlive-omegaware软件包
LOG_INFO "步骤1检查texlive-omegaware是否已安装"
rpm -q texlive-omegaware > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-omegaware已安装测试结束后将保持安装状态"
already_installed=1
else
LOG_INFO "texlive-omegaware未安装将进行安装测试"
already_installed=0
fi
# 检查yum源中是否存在texlive-omegaware软件包
LOG_INFO "步骤2检查yum源中是否存在texlive-omegaware软件包"
dnf list available texlive-omegaware > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-omegaware软件包"
exit 255
fi
# 安装软件包(如果未安装)
if [ $already_installed -eq 0 ]; then
LOG_INFO "步骤3安装texlive-omegaware软件包"
dnf install -y texlive-omegaware
CHECK_RESULT $? 0 0 "安装texlive-omegaware失败"
# 验证安装
LOG_INFO "步骤4验证texlive-omegaware是否安装成功"
rpm -q texlive-omegaware > /dev/null 2>&1
CHECK_RESULT $? 0 0 "texlive-omegaware安装验证失败"
fi
# 测试软件包基本功能
LOG_INFO "步骤5测试texlive-omegaware基本功能"
# 假设texlive-omegaware包含一个名为omegaware的命令
# 检查命令是否存在
which omegaware > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "未找到omegaware命令"
exit 255
fi
# 测试命令基本参数
LOG_INFO "步骤6测试omegaware命令的--help参数"
omegaware --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "omegaware --help命令执行失败"
# 测试不支持的参数
LOG_INFO "步骤7测试omegaware命令的不支持参数"
omegaware --invalid-parameter > /dev/null 2>&1
if [ $? -ne 255 ]; then
LOG_ERROR "不支持的参数未正确退出"
exit 255
fi
# 环境恢复:如果测试前未安装,则卸载软件包
if [ $already_installed -eq 0 ]; then
LOG_INFO "步骤8清理测试环境卸载texlive-omegaware"
dnf remove -y texlive-omegaware
CHECK_RESULT $? 0 0 "卸载texlive-omegaware失败"
# 验证卸载
LOG_INFO "步骤9验证texlive-omegaware是否已卸载"
rpm -q texlive-omegaware > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_ERROR "texlive-omegaware卸载失败"
exit 1
fi
else
LOG_INFO "测试前已安装texlive-omegaware保持安装状态"
fi
LOG_INFO "软件包安装功能测试完成"
}
main "$@"

View File

@@ -1,88 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试odvicopy基础文件转换
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试odvicopy基础文件转换功能"
LOG_INFO "步骤1: 检查环境中是否已安装texlive-omegaware软件包"
if rpm -q texlive-omegaware &>/dev/null; then
LOG_INFO "texlive-omegaware已安装测试结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-omegaware未安装将在测试过程中安装"
INSTALLED=false
fi
LOG_INFO "步骤2: 检查yum源中是否存在texlive-omegaware软件包"
if ! dnf list available texlive-omegaware &>/dev/null; then
LOG_ERROR "yum源中未找到texlive-omegaware软件包"
exit 255
fi
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "步骤3: 安装texlive-omegaware软件包"
dnf install -y texlive-omegaware
CHECK_RESULT $? 0 0 "安装texlive-omegaware失败"
fi
LOG_INFO "步骤4: 检查odvicopy命令是否存在"
if ! command -v odvicopy &>/dev/null; then
LOG_ERROR "odvicopy命令不存在"
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "清理环境卸载texlive-omegaware"
dnf remove -y texlive-omegaware
fi
exit 255
fi
LOG_INFO "步骤5: 创建测试用的odv输入文件"
cat > test_input.odv << "EOF"
% This is a sample ODV file
test content
EOF
CHECK_RESULT $? 0 0 "创建测试输入文件失败"
LOG_INFO "步骤6: 使用odvicopy进行基础文件转换测试"
odvicopy test_input.odv test_output.odv
CHECK_RESULT $? 0 0 "odvicopy基础文件转换失败"
LOG_INFO "步骤7: 验证输出文件是否生成"
if [ -f test_output.odv ]; then
LOG_INFO "输出文件成功生成"
else
LOG_ERROR "输出文件未生成"
CHECK_RESULT 1 0 0 "输出文件验证失败"
fi
LOG_INFO "步骤8: 清理测试文件"
rm -f test_input.odv test_output.odv
CHECK_RESULT $? 0 0 "清理测试文件失败"
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "步骤9: 卸载texlive-omegaware软件包"
dnf remove -y texlive-omegaware
CHECK_RESULT $? 0 0 "卸载texlive-omegaware失败"
fi
LOG_INFO "odvicopy基础文件转换测试完成"
}
main "$@"

View File

@@ -1,98 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试odvitype基础文件查看
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 环境检查检查是否已安装texlive-omegaware软件包
LOG_INFO "开始测试odvitype基础文件查看功能"
# 检查是否已安装texlive-omegaware
if dnf list installed texlive-omegaware &>/dev/null; then
LOG_INFO "检测到texlive-omegaware已安装测试结束后将保持安装状态"
INSTALLED_BEFORE=true
else
LOG_INFO "未检测到texlive-omegaware安装将在测试前安装测试结束后卸载"
INSTALLED_BEFORE=false
fi
# 检查yum源中是否存在texlive-omegaware软件包
LOG_INFO "检查yum源中是否存在texlive-omegaware软件包"
if ! dnf list available texlive-omegaware &>/dev/null; then
LOG_ERROR "yum源中未找到texlive-omegaware软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "开始安装texlive-omegaware软件包"
dnf install -y texlive-omegaware
CHECK_RESULT $? 0 0 "安装texlive-omegaware失败"
fi
# 验证odvitype命令是否存在
LOG_INFO "验证odvitype命令是否存在"
if ! command -v odvitype &>/dev/null; then
LOG_ERROR "odvitype命令不存在可能安装失败"
exit 255
fi
# 测试odvitype基础文件查看功能
LOG_INFO "测试odvitype基础文件查看功能查看帮助信息"
odvitype --help
CHECK_RESULT $? 0 0 "odvitype --help 执行失败"
LOG_INFO "测试odvitype基础文件查看功能查看版本信息"
odvitype --version
CHECK_RESULT $? 0 0 "odvitype --version 执行失败"
# 创建一个简单的测试文件
LOG_INFO "创建一个简单的测试文件用于odvitype查看"
cat > test_odvitype.tex << "EOF"
\documentclass{article}
\begin{document}
Hello, odvitype!
\end{document}
EOF
# 使用odvitype查看文件假设odvitype支持查看.tex文件如果不支持则跳过
LOG_INFO "使用odvitype查看测试文件"
if odvitype test_odvitype.tex &>/dev/null; then
LOG_INFO "odvitype成功查看测试文件"
else
LOG_INFO "odvitype不支持查看.tex文件跳过此步骤"
fi
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f test_odvitype.tex
# 环境恢复:如果测试前未安装,则卸载软件包
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "卸载texlive-omegaware软件包"
dnf remove -y texlive-omegaware
CHECK_RESULT $? 0 0 "卸载texlive-omegaware失败"
else
LOG_INFO "测试前已安装texlive-omegaware保持安装状态"
fi
LOG_INFO "odvitype基础文件查看功能测试完成"
}
main "$@"

View File

@@ -1,88 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试ofm2opl基础字体转换
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试ofm2opl基础字体转换功能"
# 检查是否已安装texlive-omegaware软件包
LOG_INFO "步骤1检查texlive-omegaware是否已安装"
if rpm -q texlive-omegaware &>/dev/null; then
LOG_INFO "texlive-omegaware已安装将保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-omegaware未安装将在测试过程中安装"
INSTALLED=false
fi
# 检查yum源中是否有texlive-omegaware软件包
LOG_INFO "步骤2检查yum源中是否有texlive-omegaware软件包"
if ! dnf list available texlive-omegaware &>/dev/null; then
LOG_ERROR "yum源中未找到texlive-omegaware软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤3安装texlive-omegaware软件包"
dnf install -y texlive-omegaware
CHECK_RESULT $? 0 0 "安装texlive-omegaware失败"
fi
# 检查ofm2opl命令是否存在
LOG_INFO "步骤4检查ofm2opl命令是否存在"
if ! command -v ofm2opl &>/dev/null; then
LOG_ERROR "ofm2opl命令不存在"
if [ "$INSTALLED" = false ]; then
LOG_INFO "清理环境卸载texlive-omegaware"
dnf remove -y texlive-omegaware
fi
exit 255
fi
# 测试ofm2opl基础功能查看帮助信息
LOG_INFO "步骤5测试ofm2opl命令帮助信息"
ofm2opl --help
CHECK_RESULT $? 0 0 "ofm2opl --help执行失败"
# 测试ofm2opl基础功能转换一个OFM文件
LOG_INFO "步骤6测试ofm2opl基础字体转换功能"
# 创建一个测试OFM文件
cat > test.ofm << EOF
OFM example file
EOF
ofm2opl test.ofm test.opl
CHECK_RESULT $? 0 0 "ofm2opl转换OFM文件失败"
# 清理测试文件
LOG_INFO "步骤7清理测试文件"
rm -f test.ofm test.opl
# 如果测试开始时未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤8卸载texlive-omegaware软件包"
dnf remove -y texlive-omegaware
CHECK_RESULT $? 0 0 "卸载texlive-omegaware失败"
fi
LOG_INFO "ofm2opl基础字体转换功能测试完成"
}
main "$@"

View File

@@ -1,91 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试omfonts命令帮助信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试omfonts命令帮助信息
LOG_INFO "开始测试omfonts命令帮助信息"
# 检查是否已安装texlive-omegaware
LOG_INFO "检查texlive-omegaware是否已安装"
rpm -q texlive-omegaware
if [ $? -eq 0 ]; then
LOG_INFO "texlive-omegaware已安装"
INSTALLED=1
else
LOG_INFO "texlive-omegaware未安装"
INSTALLED=0
fi
# 检查yum源中是否有texlive-omegaware包
LOG_INFO "检查yum源中是否有texlive-omegaware包"
dnf list available texlive-omegaware
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-omegaware包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装texlive-omegaware"
dnf install -y texlive-omegaware
CHECK_RESULT $? 0 0 "安装texlive-omegaware失败"
LOG_INFO "texlive-omegaware安装成功"
fi
# 检查omfonts命令是否存在
LOG_INFO "检查omfonts命令是否存在"
which omfonts
CHECK_RESULT $? 0 0 "omfonts命令不存在"
# 测试omfonts命令的帮助信息
LOG_INFO "测试omfonts命令的帮助信息"
omfonts --help
CHECK_RESULT $? 0 0 "执行omfonts --help失败"
# 检查帮助信息中是否包含关键内容
LOG_INFO "检查帮助信息中是否包含关键内容"
omfonts --help | grep -q "Usage:"
CHECK_RESULT $? 0 0 "帮助信息中未找到"Usage:"关键字"
# 测试无效参数
LOG_INFO "测试无效参数"
omfonts --invalid-param 2>/dev/null
if [ $? -ne 255 ]; then
LOG_ERROR "无效参数处理不符合预期"
exit 255
fi
LOG_INFO "无效参数处理正确"
# 清理环境
LOG_INFO "清理环境"
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载texlive-omegaware"
dnf remove -y texlive-omegaware
CHECK_RESULT $? 0 0 "卸载texlive-omegaware失败"
LOG_INFO "texlive-omegaware卸载成功"
else
LOG_INFO "保持texlive-omegaware安装状态"
fi
LOG_INFO "测试omfonts命令帮助信息完成"
}
main "$@"

View File

@@ -1,112 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试opl2ofm基础字体转换
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试opl2ofm基础字体转换功能"
# 检查环境是否已安装texlive-omegaware软件包
LOG_INFO "步骤1检查texlive-omegaware软件包是否已安装"
if rpm -q texlive-omegaware &>/dev/null; then
LOG_INFO "texlive-omegaware软件包已安装测试结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-omegaware软件包未安装将在测试过程中安装"
INSTALLED=false
fi
# 检查yum源中是否有texlive-omegaware软件包
LOG_INFO "步骤2检查yum源中是否存在texlive-omegaware软件包"
if ! dnf list available texlive-omegaware &>/dev/null; then
LOG_ERROR "yum源中未找到texlive-omegaware软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤3安装texlive-omegaware软件包"
dnf install -y texlive-omegaware
CHECK_RESULT $? 0 0 "安装texlive-omegaware软件包失败"
fi
# 检查opl2ofm命令是否存在
LOG_INFO "步骤4检查opl2ofm命令是否存在"
if ! command -v opl2ofm &>/dev/null; then
LOG_ERROR "opl2ofm命令不存在"
exit 255
fi
# 检查opl2ofm命令是否支持必要参数
LOG_INFO "步骤5检查opl2ofm命令参数支持情况"
if ! opl2ofm --help 2>&1 | grep -q "\\-\\-help"; then
LOG_ERROR "opl2ofm命令不支持--help参数"
exit 255
fi
# 创建测试用的opl字体文件
LOG_INFO "步骤6创建测试用的opl字体文件"
cat > test_font.opl << "EOF"
(FONTDIMEN
(SLANT R 0.0)
(SPACE R 0.5)
(STRETCH R 0.3)
(SHRINK R 0.1)
(XHEIGHT R 0.4)
(QUAD R 1.0)
(EXTRASPACE R 0.2)
)
(CHARACTER C 65
(CHARWD R 0.6)
(CHARHT R 0.7)
(CHARDP R 0.1)
)
EOF
CHECK_RESULT $? 0 0 "创建测试字体文件失败"
# 执行opl2ofm命令进行字体转换
LOG_INFO "步骤7执行opl2ofm命令转换字体文件"
opl2ofm test_font.opl test_font.ofm
CHECK_RESULT $? 0 0 "opl2ofm字体转换失败"
# 验证转换后的ofm文件是否存在且非空
LOG_INFO "步骤8验证转换生成的ofm文件"
if [ -s test_font.ofm ]; then
LOG_INFO "成功生成ofm字体文件"
else
LOG_ERROR "生成的ofm文件为空或不存在"
CHECK_RESULT 1 0 0 "ofm文件验证失败"
fi
# 清理测试文件
LOG_INFO "步骤9清理测试生成的文件"
rm -f test_font.opl test_font.ofm
CHECK_RESULT $? 0 0 "清理测试文件失败"
# 如果测试前未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤10卸载texlive-omegaware软件包"
dnf remove -y texlive-omegaware
CHECK_RESULT $? 0 0 "卸载texlive-omegaware软件包失败"
fi
LOG_INFO "测试opl2ofm基础字体转换功能完成"
}
main "$@"

View File

@@ -1,112 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试ovf2ovp基础字体转换
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试ovf2ovp基础字体转换功能"
LOG_INFO "步骤1检查环境中是否已安装texlive-omegaware软件包"
if rpm -q texlive-omegaware &>/dev/null; then
LOG_INFO "texlive-omegaware已安装测试结束后将保持安装状态"
INSTALLED_BEFORE_TEST=true
else
LOG_INFO "texlive-omegaware未安装将在测试过程中安装并在测试结束后卸载"
INSTALLED_BEFORE_TEST=false
fi
LOG_INFO "步骤2检查yum源中是否存在texlive-omegaware软件包"
if ! dnf list available texlive-omegaware &>/dev/null; then
LOG_ERROR "yum源中未找到texlive-omegaware软件包"
exit 255
fi
LOG_INFO "yum源中存在texlive-omegaware软件包"
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
LOG_INFO "步骤3安装texlive-omegaware软件包"
dnf install -y texlive-omegaware
CHECK_RESULT $? 0 0 "安装texlive-omegaware软件包失败"
LOG_INFO "texlive-omegaware软件包安装成功"
fi
LOG_INFO "步骤4检查ovf2ovp命令是否存在"
if ! command -v ovf2ovp &>/dev/null; then
LOG_ERROR "ovf2ovp命令不存在"
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
dnf remove -y texlive-omegaware
fi
exit 255
fi
LOG_INFO "ovf2ovp命令存在"
LOG_INFO "步骤5检查ovf2ovp命令是否支持--help参数"
if ! ovf2ovp --help &>/dev/null; then
LOG_ERROR "ovf2ovp命令不支持--help参数或执行失败"
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
dnf remove -y texlive-omegaware
fi
exit 255
fi
LOG_INFO "ovf2ovp命令支持--help参数"
LOG_INFO "步骤6创建一个简单的测试OVF字体文件"
TEST_OVF_FILE="test_font.ovf"
cat > "$TEST_OVF_FILE" << "EOF"
% This is a minimal test OVF file
(FontType OVF)
(FontName TestFont)
(DesignSize 10.0)
EOF
CHECK_RESULT $? 0 0 "创建测试OVF文件失败"
LOG_INFO "测试OVF文件创建成功$TEST_OVF_FILE"
LOG_INFO "步骤7执行ovf2ovp命令进行基础字体转换"
TEST_OVP_FILE="test_font.ovp"
ovf2ovp "$TEST_OVF_FILE" "$TEST_OVP_FILE"
CHECK_RESULT $? 0 0 "ovf2ovp基础字体转换失败"
LOG_INFO "ovf2ovp基础字体转换执行成功输出文件$TEST_OVP_FILE"
LOG_INFO "步骤8检查转换生成的OVP文件是否存在且非空"
if [ -s "$TEST_OVP_FILE" ]; then
LOG_INFO "转换生成的OVP文件存在且非空"
else
LOG_ERROR "转换生成的OVP文件不存在或为空"
CHECK_RESULT 1 0 0 "OVP文件检查失败"
fi
LOG_INFO "步骤9清理测试过程中创建的临时文件"
rm -f "$TEST_OVF_FILE" "$TEST_OVP_FILE"
CHECK_RESULT $? 0 0 "删除临时文件失败"
LOG_INFO "临时文件清理成功"
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
LOG_INFO "步骤10卸载测试安装的texlive-omegaware软件包"
dnf remove -y texlive-omegaware
CHECK_RESULT $? 0 0 "卸载texlive-omegaware软件包失败"
LOG_INFO "texlive-omegaware软件包卸载成功环境已恢复"
else
LOG_INFO "步骤10测试前已安装texlive-omegaware保持安装状态无需卸载"
fi
LOG_INFO "ovf2ovp基础字体转换功能测试完成"
}
main "$@"

View File

@@ -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-03-26
# @License : Mulan PSL v2
# @Desc : 测试ovp2ovf基础字体转换
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查环境是否已安装texlive-omegaware软件包
LOG_INFO "检查环境是否已安装texlive-omegaware软件包"
if dnf list installed texlive-omegaware &>/dev/null; then
LOG_INFO "texlive-omegaware软件包已安装测试结束后将保持安装状态"
ENV_INSTALLED=true
else
LOG_INFO "texlive-omegaware软件包未安装将在测试过程中安装并在测试结束后卸载"
ENV_INSTALLED=false
fi
# 检查yum源中是否有texlive-omegaware软件包
LOG_INFO "检查yum源中是否有texlive-omegaware软件包"
if ! dnf list available texlive-omegaware &>/dev/null; then
LOG_ERROR "yum源中未找到texlive-omegaware软件包"
exit 255
fi
# 如果环境未安装则安装texlive-omegaware软件包
if [ "$ENV_INSTALLED" = false ]; then
LOG_INFO "安装texlive-omegaware软件包"
dnf install -y texlive-omegaware
CHECK_RESULT $? 0 0 "安装texlive-omegaware软件包失败"
fi
# 检查ovp2ovf命令是否存在
LOG_INFO "检查ovp2ovf命令是否存在"
if ! command -v ovp2ovf &>/dev/null; then
LOG_ERROR "ovp2ovf命令不存在"
if [ "$ENV_INSTALLED" = false ]; then
dnf remove -y texlive-omegaware
fi
exit 255
fi
# 测试ovp2ovf命令的基本功能
LOG_INFO "测试ovp2ovf基础字体转换功能"
ovp2ovf --help
CHECK_RESULT $? 0 0 "ovp2ovf命令执行失败"
# 创建一个测试用的ovp文件
LOG_INFO "创建一个测试用的ovp文件"
cat > test_font.ovp << "EOF"
% This is a test OVP file
(DESIGN_SIZE R 10.0)
(COMMENT This is a comment)
(CHARACTER O 0
(CHARWD R 0.5)
(CHARHT R 0.8)
)
EOF
CHECK_RESULT $? 0 0 "创建测试ovp文件失败"
# 执行ovp2ovf转换
LOG_INFO "执行ovp2ovf转换将ovp文件转换为ovf文件"
ovp2ovf test_font.ovp test_font.ovf
CHECK_RESULT $? 0 0 "ovp2ovf转换失败"
# 检查转换后的ovf文件是否存在
LOG_INFO "检查转换后的ovf文件是否存在"
if [ -f test_font.ovf ]; then
LOG_INFO "ovf文件生成成功"
else
LOG_ERROR "ovf文件生成失败"
CHECK_RESULT 1 0 0 "ovf文件生成失败"
fi
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f test_font.ovp test_font.ovf
CHECK_RESULT $? 0 0 "清理测试文件失败"
# 如果测试前未安装则卸载texlive-omegaware软件包
if [ "$ENV_INSTALLED" = false ]; then
LOG_INFO "卸载texlive-omegaware软件包"
dnf remove -y texlive-omegaware
CHECK_RESULT $? 0 0 "卸载texlive-omegaware软件包失败"
fi
LOG_INFO "测试ovp2ovf基础字体转换完成"
}
main "$@"

View File

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

View File

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

View File

@@ -1,85 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试指定输入和输出文件
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "步骤1: 检查环境中是否已安装texlive-omegaware软件包"
rpm -q texlive-omegaware &>/dev/null
if [ $? -eq 0 ]; then
LOG_INFO "texlive-omegaware软件包已安装脚本结束时将保持安装状态"
already_installed=true
else
LOG_INFO "texlive-omegaware软件包未安装"
already_installed=false
fi
LOG_INFO "步骤2: 检查yum源中是否有texlive-omegaware软件包"
dnf list available texlive-omegaware &>/dev/null
CHECK_RESULT $? 0 0 "yum源中未找到texlive-omegaware软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-omegaware软件包"
exit 255
fi
if [ "$already_installed" = "false" ]; then
LOG_INFO "步骤3: 安装texlive-omegaware软件包"
dnf install -y texlive-omegaware
CHECK_RESULT $? 0 0 "安装texlive-omegaware软件包失败"
fi
LOG_INFO "步骤4: 检查odvicopy命令是否存在"
command -v odvicopy &>/dev/null
CHECK_RESULT $? 0 0 "odvicopy命令不存在"
if [ $? -ne 0 ]; then
LOG_ERROR "odvicopy命令不存在"
exit 255
fi
LOG_INFO "步骤5: 创建测试输入文件input.dvi"
cat > input.dvi << "EOF"
% This is a minimal DVI file
pre
post
post_post
EOF
CHECK_RESULT $? 0 0 "创建输入文件input.dvi失败"
LOG_INFO "步骤6: 执行odvicopy命令指定输入文件input.dvi和输出文件output.dvi"
odvicopy input.dvi output.dvi
CHECK_RESULT $? 0 0 "odvicopy命令执行失败"
LOG_INFO "步骤7: 检查输出文件output.dvi是否生成"
[ -f output.dvi ]
CHECK_RESULT $? 0 0 "输出文件output.dvi未生成"
LOG_INFO "步骤8: 清理测试生成的文件"
rm -f input.dvi output.dvi
CHECK_RESULT $? 0 0 "清理测试文件失败"
if [ "$already_installed" = "false" ]; then
LOG_INFO "步骤9: 卸载texlive-omegaware软件包"
dnf remove -y texlive-omegaware
CHECK_RESULT $? 0 0 "卸载texlive-omegaware软件包失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,80 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-27
# @License : Mulan PSL v2
# @Desc : 测试 odvicopy 命令的 magnification 参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装texlive-omegaware包
LOG_INFO "检查是否已安装texlive-omegaware包"
if rpm -q texlive-omegaware &>/dev/null; then
LOG_INFO "texlive-omegaware已安装"
INSTALLED=true
else
LOG_INFO "texlive-omegaware未安装"
INSTALLED=false
fi
# 检查yum源中是否有texlive-omegaware包
LOG_INFO "检查yum源中是否有texlive-omegaware包"
if ! dnf list available texlive-omegaware &>/dev/null; then
LOG_ERROR "yum源中未找到texlive-omegaware包"
exit 255
fi
# 如果未安装则安装texlive-omegaware包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装texlive-omegaware包"
dnf install -y texlive-omegaware
CHECK_RESULT $? 0 0 "安装texlive-omegaware失败"
fi
# 检查odvicopy命令是否存在
LOG_INFO "检查odvicopy命令是否存在"
if ! command -v odvicopy &>/dev/null; then
LOG_ERROR "odvicopy命令不存在"
exit 255
fi
# 测试odvicopy命令的magnification参数
LOG_INFO "测试odvicopy命令的magnification参数"
odvicopy --help | grep magnification &>/dev/null
CHECK_RESULT $? 0 0 "odvicopy不支持magnification参数"
# 执行odvicopy命令并验证magnification参数功能示例命令
LOG_INFO "执行odvicopy命令并验证magnification参数功能"
echo "测试内容" > test.dvi
odvicopy --magnification=2 test.dvi output.dvi &>/dev/null
CHECK_RESULT $? 0 0 "odvicopy magnification参数功能测试失败"
# 清理测试文件
rm -f test.dvi output.dvi
# 如果脚本开始时未安装则卸载texlive-omegaware包以恢复环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-omegaware包以恢复环境"
dnf remove -y texlive-omegaware
CHECK_RESULT $? 0 0 "卸载texlive-omegaware失败"
fi
LOG_INFO "测试脚本执行完毕,环境已恢复"
}
main "$@"

View File

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

View File

@@ -1,95 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试使用标准输入和标准输出
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 texlive-omegaware 软件包 odvicopy 命令的标准输入输出功能"
# 检查软件包是否已在yum源中
LOG_INFO "检查 texlive-omegaware 软件包是否在yum源中"
if ! dnf list available texlive-omegaware &>/dev/null; then
LOG_ERROR "texlive-omegaware 软件包不在yum源中"
exit 255
fi
# 检查当前是否已安装
LOG_INFO "检查 texlive-omegaware 是否已安装"
if rpm -q texlive-omegaware &>/dev/null; then
LOG_INFO "texlive-omegaware 已安装,测试后将保持安装状态"
already_installed=true
else
LOG_INFO "texlive-omegaware 未安装,将在测试前安装"
already_installed=false
fi
# 如果未安装,则安装软件包
if [ "$already_installed" = false ]; then
LOG_INFO "安装 texlive-omegaware 软件包"
dnf install -y texlive-omegaware
CHECK_RESULT $? 0 0 "安装 texlive-omegaware 失败"
fi
# 检查 odvicopy 命令是否支持标准输入输出参数
LOG_INFO "检查 odvicopy 命令参数支持情况"
if ! odvicopy --help 2>&1 | grep -q "stdin\|stdout\|-"; then
LOG_ERROR "odvicopy 命令不支持标准输入输出参数"
exit 255
fi
# 创建测试用的 DVI 文件
LOG_INFO "创建测试用的 DVI 文件"
cat > test_input.dvi << "EOF"
% DVI 文件示例内容
% 这是一个简单的 DVI 文件示例
EOF
CHECK_RESULT $? 0 0 "创建测试输入文件失败"
# 测试标准输入输出功能
LOG_INFO "测试 odvicopy 命令的标准输入输出功能"
cat test_input.dvi | odvicopy -o - > test_output.dvi
CHECK_RESULT $? 0 0 "odvicopy 命令执行失败"
# 验证输出文件是否生成
LOG_INFO "验证输出文件是否生成"
if [ -f test_output.dvi ]; then
LOG_INFO "输出文件成功生成"
else
LOG_ERROR "输出文件未生成"
exit 1
fi
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f test_input.dvi test_output.dvi
CHECK_RESULT $? 0 0 "清理测试文件失败"
# 如果测试前未安装,则卸载软件包
if [ "$already_installed" = false ]; then
LOG_INFO "卸载 texlive-omegaware 软件包"
dnf remove -y texlive-omegaware
CHECK_RESULT $? 0 0 "卸载 texlive-omegaware 失败"
else
LOG_INFO "保持 texlive-omegaware 安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

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

View File

@@ -1,66 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-27
# @License : Mulan PSL v2
# @Desc : 测试 odvitype 命令的 dpi 参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装 texlive-omegaware 软件包
LOG_INFO "检查是否已安装 texlive-omegaware 软件包"
if ! dnf list installed texlive-omegaware &>/dev/null; then
LOG_INFO "texlive-omegaware 未安装,开始安装"
if ! dnf list available texlive-omegaware &>/dev/null; then
LOG_ERROR "yum 源中未找到 texlive-omegaware 软件包"
exit 255
fi
dnf install -y texlive-omegaware
CHECK_RESULT $? 0 0 "安装 texlive-omegaware 失败"
INSTALLED=true
else
LOG_INFO "texlive-omegaware 已安装"
INSTALLED=false
fi
# 检查 odvitype 命令是否存在
LOG_INFO "检查 odvitype 命令是否存在"
if ! command -v odvitype &>/dev/null; then
LOG_ERROR "odvitype 命令不存在"
exit 255
fi
# 测试 odvitype 命令的 dpi 参数支持情况
LOG_INFO "测试 odvitype 命令的 dpi 参数支持情况"
if ! odvitype --help | grep -q "dpi"; then
LOG_ERROR "odvitype 不支持 dpi 参数"
exit 255
fi
# 执行 odvitype 命令并验证结果
LOG_INFO "执行 odvitype 命令并验证结果"
odvitype --dpi=300 /usr/share/texlive/texmf-dist/fonts/opentype/public/lm/lmroman10-regular.otf &>/dev/null
CHECK_RESULT $? 0 0 "odvitype --dpi=300 执行失败"
#清理环境
if [ "$INSTALLED" = true ]; then
LOG_INFO "卸载 texlive-omegaware 软件包"
dnf remove -y texlive-omegaware
CHECK_RESULT $? 0 0 "卸载 texlive-omegaware 失败"
fi
}
main "$@"

View File

@@ -1,97 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试odvitype命令同时使用dpi和magnification参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装texlive-omegaware
LOG_INFO "检查是否已安装texlive-omegaware"
rpm -q texlive-omegaware > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-omegaware已安装测试结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-omegaware未安装将在测试过程中安装"
INSTALLED=false
fi
# 检查yum源中是否有texlive-omegaware软件包
LOG_INFO "检查yum源中是否有texlive-omegaware软件包"
dnf list available texlive-omegaware > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-omegaware软件包"
exit 255
fi
# 如果未安装则安装texlive-omegaware
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装texlive-omegaware软件包"
dnf install -y texlive-omegaware > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装texlive-omegaware失败"
fi
# 检查odvitype命令是否支持dpi和magnification参数
LOG_INFO "检查odvitype命令是否支持dpi和magnification参数"
odvitype --help 2>&1 | grep -qE "(--dpi|--magnification)"
if [ $? -ne 0 ]; then
LOG_ERROR "odvitype命令不支持dpi或magnification参数"
# 如果之前未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-omegaware软件包"
dnf remove -y texlive-omegaware > /dev/null 2>&1
fi
exit 255
fi
# 创建测试用的dvi文件
LOG_INFO "创建测试用的dvi文件"
cat > test_input.tex << "EOF"
\documentclass{article}
\begin{document}
Hello, World!
\end{document}
EOF
latex -interaction=nonstopmode test_input.tex > /dev/null 2>&1
CHECK_RESULT $? 0 0 "创建dvi文件失败"
# 测试odvitype命令同时使用dpi和magnification参数
LOG_INFO "测试odvitype命令同时使用dpi和magnification参数"
odvitype --dpi=300 --magnification=2 test_input.dvi > test_output.txt 2>&1
CHECK_RESULT $? 0 0 "odvitype命令执行失败"
# 验证输出文件是否非空
LOG_INFO "验证输出文件是否非空"
[ -s test_output.txt ]
CHECK_RESULT $? 0 0 "输出文件为空,可能命令未正确执行"
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f test_input.tex test_input.dvi test_input.log test_input.aux test_output.txt
# 如果测试开始时未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-omegaware软件包"
dnf remove -y texlive-omegaware > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载texlive-omegaware失败"
else
LOG_INFO "保持texlive-omegaware安装状态"
fi
}
main "$@"

View File

@@ -1,95 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试odvitype命令的help参数验证帮助信息是否能正确显示
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否以root用户运行
if [[ $EUID -ne 0 ]]; then
LOG_ERROR "请以root用户运行此脚本"
exit 1
fi
# 定义软件包名称
PACKAGE_NAME="texlive-omegaware"
# 步骤1: 检查软件包是否已在yum源中
LOG_INFO "步骤1: 检查软件包是否在yum源中"
dnf list available $PACKAGE_NAME &>/dev/null
if [[ $? -ne 0 ]]; then
LOG_ERROR "软件包 $PACKAGE_NAME 不在yum源中"
exit 255
fi
# 步骤2: 检查当前是否已安装软件包
LOG_INFO "步骤2: 检查当前是否已安装软件包"
rpm -q $PACKAGE_NAME &>/dev/null
PACKAGE_INSTALLED=$?
# 记录初始安装状态
INITIAL_INSTALL_STATE=$PACKAGE_INSTALLED
# 如果未安装,则安装软件包
if [[ $PACKAGE_INSTALLED -ne 0 ]]; then
LOG_INFO "步骤3: 安装软件包 $PACKAGE_NAME"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
fi
# 步骤4: 检查odvitype命令是否存在
LOG_INFO "步骤4: 检查odvitype命令是否存在"
which odvitype &>/dev/null
CHECK_RESULT $? 0 0 "odvitype命令不存在"
# 步骤5: 测试odvitype命令的help参数
LOG_INFO "步骤5: 测试odvitype命令的help参数"
odvitype --help &>/dev/null
HELP_EXIT_CODE=$?
# 检查help参数是否支持
if [[ $HELP_EXIT_CODE -eq 255 ]]; then
LOG_ERROR "odvitype命令不支持--help参数"
exit 255
fi
# 检查命令是否成功执行
if [[ $HELP_EXIT_CODE -ne 0 ]]; then
LOG_ERROR "odvitype --help命令执行失败退出码: $HELP_EXIT_CODE"
exit $HELP_EXIT_CODE
fi
# 步骤6: 验证帮助信息是否正确显示
LOG_INFO "步骤6: 验证帮助信息是否正确显示"
odvitype --help 2>&1 | grep -q "Usage\|用法\|帮助"
CHECK_RESULT $? 0 0 "odvitype帮助信息显示不正确"
# 步骤7: 环境恢复
LOG_INFO "步骤7: 环境恢复"
if [[ $INITIAL_INSTALL_STATE -ne 0 ]]; then
LOG_INFO "卸载软件包 $PACKAGE_NAME"
dnf remove -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
else
LOG_INFO "保持软件包 $PACKAGE_NAME 的安装状态"
fi
LOG_INFO "测试完成: odvitype命令的help参数测试通过"
}
main "$@"

View File

@@ -1,81 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-27
# @License : Mulan PSL v2
# @Desc : 测试 odvitype 命令的 magnification 参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装texlive-omegaware包
LOG_INFO "检查是否已安装texlive-omegaware包"
if rpm -q texlive-omegaware &>/dev/null; then
LOG_INFO "texlive-omegaware已安装"
INSTALLED=true
else
LOG_INFO "texlive-omegaware未安装"
INSTALLED=false
fi
# 检查yum源中是否有texlive-omegaware包
LOG_INFO "检查yum源中是否有texlive-omegaware包"
if ! dnf list available texlive-omegaware &>/dev/null; then
LOG_ERROR "yum源中未找到texlive-omegaware包"
exit 255
fi
# 若未安装则安装texlive-omegaware包
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装texlive-omegaware包"
dnf install -y texlive-omegaverse || {
LOG_ERROR "安装texlive-omegaverse失败"
exit 1
}
fi
# 检查odvitype命令是否支持magnification参数
LOG_INFO "检查odvitype命令是否支持magnification参数"
if ! odvitype --help | grep -q magnification; then
LOG_ERROR "odvitype命令不支持magnification参数"
if [ "$INSTALLED" = false ]; then
dnf remove -y texlive-omegaverse || {
LOG_ERROR "卸载texlive-omegaverse失败"
exit 1
}
fi
exit 255
fi
# 测试odvitype命令的magnification参数
LOG_INFO "测试odvitype命令的magnification参数"
odvitype --magnification=2 sample.dvi &>/dev/null
CHECK_RESULT $? 0 0 "odvitype命令执行失败"
# 清理环境,恢复到之前的状态
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-omegaverse包"
dnf remove -y texlive-omegaverse || {
LOG_ERROR "卸载texlive-omegaverse失败"
exit 1
}
fi
LOG_INFO "测试完成"
exit 0
}
main "$@"

View File

@@ -1,71 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-27
# @License : Mulan PSL v2
# @Desc : 测试 odvitype 命令的 max-pages 参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装texlive-omegaware包
LOG_INFO "检查是否已安装texlive-omegaware包"
if rpm -q texlive-omegaware &>/dev/null; then
LOG_INFO "texlive-omegaware已安装"
INSTALLED=true
else
LOG_INFO "texlive-omegaware未安装"
INSTALLED=false
fi
# 检查yum源中是否有texlive-omegaware包
LOG_INFO "检查yum源中是否有texlive-omegaware包"
if ! dnf list available texlive-omegaware &>/dev/null; then
LOG_ERROR "yum源中未找到texlive-omegaware包"
exit 255
fi
# 若未安装则安装texlive-omegaware包
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装texlive-omegaware包"
dnf install -y texlive-omegaware
CHECK_RESULT $? 0 0 "安装texlive-omegaware失败"
fi
# 检查odvitype命令是否支持max-pages参数
LOG_INFO "检查odvitype命令是否支持max-pages参数"
if ! odvitype --help | grep -q "max-pages"; then
LOG_ERROR "odvitype命令不支持max-pages参数"
exit 255
fi
# 测试odvitype命令的max-pages参数
LOG_INFO "测试odvitype命令的max-pages参数"
odvitype --max-pages=1 /usr/share/texlive/texmf-dist/doc/latex/base/sample2e.dvi
CHECK_RESULT $? 0 0 "odvitype命令执行失败"
# 若之前未安装则卸载texlive-omegaware包以恢复环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-omegaware包以恢复环境"
dnf remove -y texlive-omegaware
CHECK_RESULT $? 0 0 "卸载texlive-omegaware失败"
fi
LOG_INFO "测试脚本执行完毕,环境已恢复"
}
main "$@"

View File

@@ -1,74 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-27
# @License : Mulan PSL v2
# @Desc : 测试 odvitype 命令的 output-level 参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 odvitype 命令的 output-level 参数"
# 检查是否已安装 texlive-omegaware 软件包
LOG_INFO "检查 texlive-omegaware 是否已安装"
if rpm -q texlive-omegaware &>/dev/null; then
LOG_INFO "texlive-omegaware 已安装,跳过安装步骤"
INSTALLED=true
else
LOG_INFO "texlive-omegaware 未安装,准备安装"
INSTALLED=false
fi
# 检查 yum 源中是否有 texlive-omegaware 软件包
LOG_INFO "检查 yum 源中是否有 texlive-omegaware 软件包"
if ! dnf list available texlive-omegaware &>/dev/null; then
LOG_ERROR "yum 源中未找到 texlive-omegaware 软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "正在安装 texlive-omegaware"
dnf install -y texlive-omegaware
CHECK_RESULT $? 0 0 "安装 texlive-omeg-aware失败"
fi
# 检查 odvitype命令是否存在
LOG_INFO "检查 odvitype命令是否存在"
command -v odvitype &>/dev/null
CHECK_RESULT $? 0 0 "odvitype命令不存在"
#测试output-level参数是否存在或支持
LOG_INFO "测试 odvitype命令的output-level参数是否支持"
odvitype --help | grep -q "output-level"
CHECK_RESULT $? 0 255 "odvitype命令不支持output-level参数"
#执行odvitype命令并检查结果
LOG_INFO "执行odvitype命令并验证output-level参数功能"
odvitype --output-level=1 /usr/share/texlive/texmf-dist/fonts/opentype/public/lm/lmroman10-regular.otf
CHECK_RESULT $? 0 0 \"odvitype执行失败\"
#环境恢复:如果脚本安装了软件包,则卸载它
if [ \"$INSTALLED\" = false ]; then
LOG_INFO \"卸载texlive-omega ware\"
dnf remove -y text live - omega ware
CHECK _ RESULT $? 0 0 \"卸载text live - omega ware失败\"
fi
LOG _ INFO \"测试完成\"
}
main "$@"

View File

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

View File

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

View File

@@ -1,82 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试odvitype命令的version参数验证版本信息是否能正确显示
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试odvitype命令的version参数验证版本信息是否能正确显示"
LOG_INFO "检查是否已安装texlive-omegaware软件包"
if rpm -q texlive-omegaware > /dev/null 2>&1; then
LOG_INFO "texlive-omegaware已安装测试后将保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-omegaware未安装将在测试前安装"
INSTALLED=false
fi
LOG_INFO "检查yum源中是否有texlive-omegaware软件包"
if ! dnf list available texlive-omegaware > /dev/null 2>&1; then
LOG_ERROR "yum源中未找到texlive-omegaware软件包"
exit 255
fi
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "安装texlive-omegaware软件包"
dnf install -y texlive-omegaware
CHECK_RESULT $? 0 0 "安装texlive-omegaware失败"
fi
LOG_INFO "检查odvitype命令是否存在"
command -v odvitype > /dev/null 2>&1
CHECK_RESULT $? 0 0 "odvitype命令不存在"
LOG_INFO "测试odvitype --version参数"
odvitype --version > /dev/null 2>&1
if [ $? -eq 255 ]; then
LOG_ERROR "odvitype命令不支持--version参数"
exit 255
fi
LOG_INFO "执行odvitype --version命令获取版本信息"
odvitype --version
CHECK_RESULT $? 0 0 "odvitype --version执行失败"
LOG_INFO "验证版本信息输出"
VERSION_OUTPUT=$(odvitype --version 2>&1 | head -n 1)
if [ -n "$VERSION_OUTPUT" ]; then
LOG_INFO "版本信息: $VERSION_OUTPUT"
else
LOG_ERROR "未获取到版本信息"
exit 1
fi
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "清理环境卸载texlive-omegaware软件包"
dnf remove -y texlive-omegaware
CHECK_RESULT $? 0 0 "卸载texlive-omegaware失败"
LOG_INFO "环境已恢复"
else
LOG_INFO "保持texlive-omegaware安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,130 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试 ofm2opl 命令使用 -char-format=ascii 参数将ASCII字母和数字输出为字符其余为数字
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 ofm2opl 命令 -char-format=ascii 参数功能"
LOG_INFO "步骤1检查测试环境是否已安装 texlive-omega 软件包"
if dnf list installed texlive-omega &> /dev/null; then
LOG_INFO "texlive-omega 已安装,测试结束后将保持安装状态"
INSTALLED=1
else
LOG_INFO "texlive-omega 未安装,将在测试过程中安装"
INSTALLED=0
fi
LOG_INFO "步骤2检查 yum 源中是否存在 texlive-omega 软件包"
if ! dnf list available texlive-omega &> /dev/null; then
LOG_ERROR "yum 源中未找到 texlive-omega 软件包"
exit 255
fi
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "步骤3安装 texlive-omega 软件包"
dnf install -y texlive-omega
CHECK_RESULT $? 0 0 "安装 texlive-omega 失败"
fi
LOG_INFO "步骤4检查 ofm2opl 命令是否支持 -char-format 参数"
ofm2opl --help 2>&1 | grep -q "\-char-format"
if [ $? -ne 0 ]; then
LOG_ERROR "ofm2opl 命令不支持 -char-format 参数"
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "清理环境:卸载 texlive-omega 软件包"
dnf remove -y texlive-omega
fi
exit 255
fi
LOG_INFO "步骤5创建测试用的 OFM 文件"
cat > test.ofm << EOF
% This is a test OFM file
(FONTDIR T)
(FONT T)
(CODINGSCHEME ASCII)
(DESIGNSIZE R 10.0)
(COMMENT DESIGNSIZE IS IN POINTS)
(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)
(MAPFONT D 0)
(CHARACTER C 65
(CHARWD R 0.5)
(CHARHT R 0.88)
(CHARDP R 0.12)
(CHARIC R 0.0)
)
(CHARACTER C 97
(CHARWD R 0.5)
(CHARHT R 0.88)
(CHARDP R 0.12)
(CHARIC R 0.0)
)
(CHARACTER C 48
(CHARWD R 0.5)
(CHARHT R 0.88)
(CHARDP R 0.12)
(CHARIC R 0.0)
)
(CHARACTER C 33
(CHARWD R 0.5)
(CHARHT R 0.88)
(CHARDP R 0.12)
(CHARIC R 0.0)
)
EOF
CHECK_RESULT $? 0 0 "创建测试 OFM 文件失败"
LOG_INFO "步骤6执行 ofm2opl -char-format=ascii 命令转换 OFM 文件"
ofm2opl -char-format=ascii test.ofm > test.opl 2>&1
CHECK_RESULT $? 0 0 "ofm2opl 命令执行失败"
LOG_INFO "步骤7检查转换结果是否符合预期"
LOG_INFO "预期ASCII 字母和数字65="A", 97="a", 48="0"输出为字符其余字符33输出为数字"
# 检查字符 "A" (ASCII 65) 是否以字符形式输出
grep -q "CHARACTER A" test.opl
CHECK_RESULT $? 0 0 "ASCII 字母 "A" 未正确输出为字符"
# 检查字符 "a" (ASCII 97) 是否以字符形式输出
grep -q "CHARACTER a" test.opl
CHECK_RESULT $? 0 0 "ASCII 字母 "a" 未正确输出为字符"
# 检查字符 "0" (ASCII 48) 是否以字符形式输出
grep -q "CHARACTER 0" test.opl
CHECK_RESULT $? 0 0 "ASCII 数字 "0" 未正确输出为字符"
# 检查字符 "!" (ASCII 33) 是否以数字形式输出
grep -q "CHARACTER 33" test.opl
CHECK_RESULT $? 0 0 "非字母数字字符未正确输出为数字"
LOG_INFO "步骤8清理测试文件"
rm -f test.ofm test.opl
CHECK_RESULT $? 0 0 "清理测试文件失败"
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "步骤9卸载 texlive-omega 软件包"
dnf remove -y texlive-omega
CHECK_RESULT $? 0 0 "卸载 texlive-omega 失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,114 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试 ofm2opl 命令使用 -char-format=num 参数将字符代码输出为数字格式
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 ofm2opl 命令使用 -char-format=num 参数将字符代码输出为数字格式"
# 检查 yum 源中是否存在 texlive-omega 软件包
LOG_INFO "检查 yum 源中是否存在 texlive-omega 软件包"
dnf list texlive-omega 2>&1 | grep -q "texlive-omega"
if [ $? -ne 0 ]; then
LOG_ERROR "yum 源中未找到 texlive-omega 软件包"
exit 255
fi
# 检查当前是否已安装 texlive-omega
LOG_INFO "检查当前是否已安装 texlive-omega"
rpm -q texlive-omega > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-omega 已安装,测试结束后将保持安装状态"
INSTALLED=1
else
LOG_INFO "texlive-omega 未安装,将在测试前安装"
INSTALLED=0
fi
# 如果未安装,则安装软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装 texlive-omega 软件包"
dnf install -y texlive-omega
CHECK_RESULT $? 0 0 "安装 texlive-omega 软件包失败"
fi
# 检查 ofm2opl 命令是否支持 -char-format 参数
LOG_INFO "检查 ofm2opl 命令是否支持 -char-format 参数"
ofm2opl --help 2>&1 | grep -q "char-format"
if [ $? -ne 0 ]; then
LOG_ERROR "ofm2opl 命令不支持 -char-format 参数"
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "清理环境,卸载 texlive-omega 软件包"
dnf remove -y texlive-omega
fi
exit 255
fi
# 检查 -char-format 参数是否支持 num 值
LOG_INFO "检查 -char-format 参数是否支持 num 值"
ofm2opl --help 2>&1 | grep -q "char-format.*num"
if [ $? -ne 0 ]; then
LOG_ERROR "-char-format 参数不支持 num 值"
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "清理环境,卸载 texlive-omega 软件包"
dnf remove -y texlive-omega
fi
exit 255
fi
# 创建一个测试用的 .ofm 文件
LOG_INFO "创建一个测试用的 .ofm 文件"
cat > test_font.ofm << EOF
% This is a dummy OFM file for testing
(FONTDIR em)
(FONTNAME testfont)
(CODINGSCHEME TEST)
(DESIGNSIZE R 10.0)
(COMMENT This is a test font)
EOF
CHECK_RESULT $? 0 0 "创建测试 .ofm 文件失败"
# 使用 ofm2opl 命令并指定 -char-format=num 参数
LOG_INFO "使用 ofm2opl 命令并指定 -char-format=num 参数"
ofm2opl -char-format=num test_font.ofm > output.opl 2>&1
CHECK_RESULT $? 0 0 "执行 ofm2opl 命令失败"
# 检查输出文件是否包含数字格式的字符代码
LOG_INFO "检查输出文件是否包含数字格式的字符代码"
grep -q "CHARACTER.*[0-9]" output.opl
CHECK_RESULT $? 0 0 "输出文件中未找到数字格式的字符代码"
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f test_font.ofm output.opl
CHECK_RESULT $? 0 0 "清理测试文件失败"
# 如果测试前未安装,则卸载软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "清理环境,卸载 texlive-omega 软件包"
dnf remove -y texlive-omega
CHECK_RESULT $? 0 0 "卸载 texlive-omega 软件包失败"
else
LOG_INFO "测试完成,保持 texlive-omega 安装状态"
fi
LOG_INFO "测试脚本执行完成"
}
main "$@"

View File

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

View File

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

View File

@@ -1,107 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试 ofm2opl 命令使用 -charcode-format=hex 参数将字符代码输出为十六进制格式
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义软件包名称
PACKAGE_NAME="texlive-omega"
# 检查软件包是否已安装
LOG_INFO "检查软件包是否已安装"
rpm -q $PACKAGE_NAME
if [ $? -eq 0 ]; then
LOG_INFO "软件包已安装,标记为已安装状态"
INSTALLED=1
else
LOG_INFO "软件包未安装,标记为未安装状态"
INSTALLED=0
fi
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否有软件包$PACKAGE_NAME"
dnf list available $PACKAGE_NAME > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中没有找到软件包$PACKAGE_NAME"
exit 255
fi
# 如果未安装,则安装软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装软件包:$PACKAGE_NAME"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 检查 ofm2opl 命令是否存在
LOG_INFO "检查 ofm2opl 命令是否存在"
which ofm2opl > /dev/null 2>&1
CHECK_RESULT $? 0 0 "ofm2opl 命令不存在"
# 检查 -charcode-format 参数是否支持
LOG_INFO "检查 -charcode-format 参数是否支持"
ofm2opl --help | grep -q "charcode-format"
if [ $? -ne 0 ]; then
LOG_ERROR "ofm2opl 命令不支持 -charcode-format 参数"
exit 255
fi
# 检查 hex 值是否支持
LOG_INFO "检查 -charcode-format=hex 参数是否支持"
ofm2opl --help | grep -q "hex"
if [ $? -ne 0 ]; then
LOG_ERROR "ofm2opl 命令不支持 -charcode-format=hex 参数"
exit 255
fi
# 创建测试用的OFM文件
LOG_INFO "创建测试用的OFM文件"
cat > test_font.ofm << EOF
% This is a dummy OFM file for testing
EOF
CHECK_RESULT $? 0 0 "创建测试OFM文件失败"
# 测试 ofm2opl 命令使用 -charcode-format=hex 参数
LOG_INFO "测试 ofm2opl 命令使用 -charcode-format=hex 参数"
ofm2opl -charcode-format=hex test_font.ofm > output.txt 2>&1
CHECK_RESULT $? 0 0 "执行 ofm2opl 命令失败"
# 验证输出是否包含十六进制字符代码
LOG_INFO "验证输出是否包含十六进制字符代码"
grep -i "0x[0-9a-fA-F]" output.txt > /dev/null 2>&1
CHECK_RESULT $? 0 0 "输出中未找到十六进制字符代码"
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f test_font.ofm output.txt
CHECK_RESULT $? 0 0 "清理测试文件失败"
# 如果之前未安装,则卸载软件包
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 "$@"

View File

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

View File

@@ -1,75 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试 ofm2opl 命令使用 -help 参数显示帮助信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 ofm2opl 命令使用 -help 参数显示帮助信息"
# 检查软件包是否存在
LOG_INFO "检查 texlive-omega-ware-ofm2opl 软件包是否在 yum 源中"
dnf list available texlive-omega-ware-ofm2opl 2>&1 | grep -q "texlive-omega-ware-ofm2opl"
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 texlive-omega-ware-ofm2opl 不在 yum 源中"
exit 255
fi
# 检查软件包是否已安装
LOG_INFO "检查 texlive-omega-ware-ofm2opl 软件包是否已安装"
rpm -q texlive-omega-ware-ofm2opl > /dev/null 2>&1
INSTALLED=$?
if [ $INSTALLED -ne 0 ]; then
LOG_INFO "软件包未安装,开始安装"
dnf install -y texlive-omega-ware-ofm2opl
CHECK_RESULT $? 0 0 "安装 texlive-omega-ware-ofm2opl 失败"
# 标记为测试过程中安装的,需要在结束时卸载
NEED_UNINSTALL=1
else
LOG_INFO "软件包已安装,无需再次安装"
NEED_UNINSTALL=0
fi
# 测试 ofm2opl -help 命令
LOG_INFO "执行 ofm2opl -help 命令"
ofm2opl -help > /tmp/ofm2opl_help_output.txt 2>&1
CHECK_RESULT $? 0 0 "执行 ofm2opl -help 命令失败"
# 检查输出是否包含帮助信息
LOG_INFO "检查命令输出是否包含帮助信息"
grep -i "usage\|help\|选项" /tmp/ofm2opl_help_output.txt > /dev/null 2>&1
CHECK_RESULT $? 0 0 "ofm2opl -help 未显示帮助信息"
# 清理临时文件
LOG_INFO "清理临时文件"
rm -f /tmp/ofm2opl_help_output.txt
# 恢复环境
if [ $NEED_UNINSTALL -eq 1 ]; then
LOG_INFO "卸载测试过程中安装的软件包"
dnf remove -y texlive-omega-ware-ofm2opl
CHECK_RESULT $? 0 0 "卸载 texlive-omega-ware-ofm2opl 失败"
else
LOG_INFO "测试前已安装软件包,保持安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,168 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试 ofm2opl 命令使用 -num-format=hex 参数将数字输出为十六进制格式
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 环境检查与日志函数定义
LOG_INFO() {
echo "[INFO] $*"
}
LOG_ERROR() {
echo "[ERROR] $*" >&2
}
# 检查软件包是否在源中
check_package_in_repo() {
local pkg=$1
dnf list available "$pkg" &>/dev/null
return $?
}
# 检查命令参数是否支持
check_command_option() {
local cmd=$1
local opt=$2
$cmd --help 2>&1 | grep -q -- "$opt"
return $?
}
# 主测试函数
main() {
local pkg_name="texlive-omega"
local test_cmd="ofm2opl"
local test_opt="-num-format=hex"
local installed_before_test=false
LOG_INFO "开始测试 ofm2opl 命令的 -num-format=hex 参数功能"
# 检查软件包是否已在源中
LOG_INFO "检查软件包 $pkg_name 是否在 yum 源中"
if ! check_package_in_repo "$pkg_name"; then
LOG_ERROR "软件包 $pkg_name 不在 yum 源中"
exit 255
fi
# 检查测试前是否已安装
LOG_INFO "检查测试前是否已安装 $pkg_name"
if rpm -q "$pkg_name" &>/dev/null; then
installed_before_test=true
LOG_INFO "测试前已安装 $pkg_name,测试后将保持安装状态"
else
LOG_INFO "测试前未安装 $pkg_name,测试后将卸载"
fi
# 如果未安装,则安装软件包
if ! $installed_before_test; then
LOG_INFO "安装软件包 $pkg_name"
dnf install -y "$pkg_name"
CHECK_RESULT $? 0 0 "安装 $pkg_name 失败"
fi
# 检查 ofm2opl 命令是否存在
LOG_INFO "检查 $test_cmd 命令是否存在"
command -v "$test_cmd" &>/dev/null
CHECK_RESULT $? 0 0 "$test_cmd 命令不存在"
# 检查 -num-format=hex 参数是否支持
LOG_INFO "检查 $test_cmd 命令是否支持 $test_opt 参数"
if ! check_command_option "$test_cmd" "-num-format"; then
LOG_ERROR "$test_cmd 命令不支持 $test_opt 参数"
exit 255
fi
# 准备测试文件使用示例OFM文件
LOG_INFO "准备测试用的OFM文件"
cat > test_input.ofm << "EOF"
% This is a minimal OFM file for testing
(FONTDIRENTRY
(FONTNAME testfont)
(FONTCHECKSUM O 0)
(FONTAT R 1.0)
(DESIGNSIZE R 10.0)
(COMMENT A test font for ofm2opl)
(CODINGSCHEME ASCII encoding)
(FAMILY Test)
(FACE R 0)
(SEVENBITSAFEFLAG FALSE)
(FONTDSIZE R 10.0)
(FONTASPECT R 1.0)
(FONTOSPEED R 1.0)
(FONTSPECIAL A (normal))
)
EOF
CHECK_RESULT $? 0 0 "创建测试OFM文件失败"
# 执行 ofm2opl 命令测试
LOG_INFO "执行 $test_cmd $test_opt 命令测试"
$test_cmd $test_opt test_input.ofm > test_output.opl 2>&1
local cmd_result=$?
# 检查命令执行是否成功
if [ $cmd_result -ne 0 ]; then
LOG_ERROR "$test_cmd $test_opt 命令执行失败,退出码: $cmd_result"
# 清理临时文件
rm -f test_input.ofm test_output.opl 2>/dev/null
# 根据是否测试前安装决定是否卸载
if ! $installed_before_test; then
LOG_INFO "测试失败,卸载软件包 $pkg_name"
dnf remove -y "$pkg_name" 2>/dev/null
fi
exit $cmd_result
fi
# 检查输出文件中是否包含十六进制数字格式
LOG_INFO "检查输出文件是否包含十六进制数字格式"
if grep -q "0x[0-9A-Fa-f]\+" test_output.opl; then
LOG_INFO "测试成功:输出文件中包含十六进制数字格式"
else
LOG_ERROR "测试失败:输出文件中未找到十六进制数字格式"
# 清理临时文件
rm -f test_input.ofm test_output.opl 2>/dev/null
# 根据是否测试前安装决定是否卸载
if ! $installed_before_test; then
LOG_INFO "测试失败,卸载软件包 $pkg_name"
dnf remove -y "$pkg_name" 2>/dev/null
fi
exit 1
fi
# 清理临时文件
LOG_INFO "清理测试临时文件"
rm -f test_input.ofm test_output.opl 2>/dev/null
CHECK_RESULT $? 0 0 "清理临时文件失败"
# 环境恢复:如果测试前未安装,则卸载软件包
if ! $installed_before_test; then
LOG_INFO "测试完成,卸载软件包 $pkg_name"
dnf remove -y "$pkg_name"
CHECK_RESULT $? 0 0 "卸载 $pkg_name 失败"
else
LOG_INFO "测试完成,保持 $pkg_name 安装状态"
fi
LOG_INFO "测试脚本执行完成"
}
# 执行主函数
main
}
main "$@"

View File

@@ -1,120 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试 ofm2opl 命令使用 -num-format=octal 参数将数字输出为八进制格式
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 ofm2opl 命令使用 -num-format=octal 参数将数字输出为八进制格式"
# 检查软件包是否在 yum 源中
LOG_INFO "检查软件包 texlive-omegaware-ofm2opl 是否在 yum 源中"
if ! dnf list texlive-omegaware-ofm2opl &>/dev/null; then
LOG_ERROR "软件包 texlive-omegaware-ofm2opl 不在 yum 源中"
exit 255
fi
# 检查是否已安装软件包
LOG_INFO "检查软件包 texlive-omegaware-ofm2opl 是否已安装"
if rpm -q texlive-omegaware-ofm2opl &>/dev/null; then
LOG_INFO "软件包 texlive-omegaware-ofm2opl 已安装,测试后保持安装状态"
INSTALLED=true
else
LOG_INFO "软件包 texlive-omegaware-ofm2opl 未安装,将进行安装"
INSTALLED=false
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装软件包 texlive-omegaware-ofm2opl"
dnf install -y texlive-omegaware-ofm2opl
CHECK_RESULT $? 0 0 "安装软件包 texlive-omegaware-ofm2opl 失败"
fi
# 检查 ofm2opl 命令是否存在
LOG_INFO "检查 ofm2opl 命令是否存在"
command -v ofm2opl &>/dev/null
CHECK_RESULT $? 0 0 "ofm2opl 命令不存在"
# 测试 -num-format=octal 参数是否存在
LOG_INFO "测试 ofm2opl 命令是否支持 -num-format=octal 参数"
ofm2opl --help | grep -q "\-num-format"
CHECK_RESULT $? 0 255 "ofm2opl 命令不支持 -num-format 参数"
# 创建一个简单的测试文件
LOG_INFO "创建测试文件 test.ofm"
cat > test.ofm << EOF
OFM
FONT testfont
CODINGSCHEME test
DESIGNSIZE 10
CHECKSUM 0
FONTDIMEN
SLANT 0
SPACE 0
STRETCH 0
SHRINK 0
XHEIGHT 0
QUAD 0
EXTRASPACE 0
PARAMETER 1 0
PARAMETER 2 0
PARAMETER 3 0
PARAMETER 4 0
PARAMETER 5 0
PARAMETER 6 0
PARAMETER 7 0
PARAMETER 8 0
MAPFONT 0
LIGTABLE
END
EOF
# 执行 ofm2opl 命令并检查输出
LOG_INFO "执行 ofm2opl 命令,使用 -num-format=octal 参数"
output=$(ofm2opl -num-format=octal test.ofm 2>&1)
exit_code=$?
if [ $exit_code -eq 0 ]; then
LOG_INFO "ofm2opl 命令执行成功"
# 检查输出中是否包含八进制数字格式(例如以 0 开头的数字)
if echo "$output" | grep -q "0[0-7][0-7]*"; then
LOG_INFO "输出中包含八进制格式的数字"
else
LOG_ERROR "输出中未找到八进制格式的数字"
exit 1
fi
else
LOG_ERROR "ofm2opl 命令执行失败,退出码: $exit_code"
exit $exit_code
fi
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f test.ofm
# 如果之前未安装软件包,则卸载
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载软件包 texlive-omegaware-ofm2opl"
dnf remove -y texlive-omegaware-ofm2opl
CHECK_RESULT $? 0 0 "卸载软件包 texlive-omegaware-ofm2opl 失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

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

View File

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

View File

@@ -1,81 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试 ofm2opl 命令使用 -text-format=mixed 参数以混合大小写输出编码方案和字体系列
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试 ofm2opl 命令使用 -text-format=mixed 参数以混合大小写输出编码方案和字体系列"
# 检查软件包是否存在
LOG_INFO "检查 yum 源中是否存在 texlive-omega-ware-ofm2opl 软件包"
if ! dnf list available texlive-omega-ware-ofm2opl &>/dev/null; then
LOG_ERROR "软件包 texlive-omega-ware-ofm2opl 不存在于 yum 源中"
exit 255
fi
# 检查环境是否已安装
LOG_INFO "检查 texlive-omega-ware-ofm2opl 是否已安装"
if rpm -q texlive-omega-ware-ofm2opl &>/dev/null; then
LOG_INFO "texlive-omega-ware-ofm2opl 已安装,脚本结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-omega-ware-ofm2opl 未安装,将在测试步骤中安装"
INSTALLED=false
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装 texlive-omega-ware-ofm2opl 软件包"
dnf install -y texlive-omega-ware-ofm2opl
CHECK_RESULT $? 0 0 "安装 texlive-omega-ware-ofm2opl 失败"
fi
# 检查 ofm2opl 命令是否存在
LOG_INFO "检查 ofm2opl 命令是否存在"
if ! command -v ofm2opl &>/dev/null; then
LOG_ERROR "ofm2opl 命令不存在"
exit 255
fi
# 检查 -text-format=mixed 参数是否支持
LOG_INFO "检查 ofm2opl 命令是否支持 -text-format=mixed 参数"
if ! ofm2opl --help 2>&1 | grep -q "text-format"; then
LOG_ERROR "ofm2opl 命令不支持 -text-format 参数"
exit 255
fi
# 执行测试命令
LOG_INFO "执行 ofm2opl 命令,使用 -text-format=mixed 参数"
ofm2opl -text-format=mixed /usr/share/texlive/texmf-dist/fonts/ofm/public/cm/cmr10.ofm 2>&1
CHECK_RESULT $? 0 0 "执行 ofm2opl 命令失败"
# 清理环境
LOG_INFO "清理测试环境"
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载 texlive-omega-ware-ofm2opl 软件包"
dnf remove -y texlive-omega-ware-ofm2opl
CHECK_RESULT $? 0 0 "卸载 texlive-omega-ware-ofm2opl 失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,103 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试 ofm2opl 命令使用 -text-format=upper 参数以大写输出编码方案和字体系列
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
package_name="texlive-omegaware-ofm2opl"
command="ofm2opl"
param="-text-format=upper"
test_input="test.opl"
LOG_INFO "开始测试 ofm2opl 命令使用 -text-format=upper 参数以大写输出编码方案和字体系列"
LOG_INFO "步骤1: 检查 yum 源中是否存在软件包 $package_name"
dnf list available $package_name &> /dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum 源中未找到软件包 $package_name"
exit 255
fi
LOG_INFO "步骤2: 检查当前环境是否已安装 $package_name"
if rpm -q $package_name &> /dev/null; then
LOG_INFO "软件包 $package_name 已安装,测试后保持安装状态"
pre_installed=true
else
LOG_INFO "软件包 $package_name 未安装,将在测试后卸载"
pre_installed=false
LOG_INFO "步骤3: 安装软件包 $package_name"
dnf install -y $package_name
CHECK_RESULT $? 0 0 "安装软件包 $package_name 失败"
fi
LOG_INFO "步骤4: 检查命令 $command 是否存在"
which $command &> /dev/null
CHECK_RESULT $? 0 0 "命令 $command 不存在"
LOG_INFO "步骤5: 检查参数 $param 是否被支持"
$command --help 2>&1 | grep -q "text-format"
CHECK_RESULT $? 0 0 "参数 $param 不被支持,退出码 255" 255
LOG_INFO "步骤6: 创建测试输入文件 $test_input"
cat > $test_input << "EOF"
(FAMILY TEST)
(FACE F MRR)
(CODINGSCHEME TEST ENCODING)
(DESIGNSIZE R 10.0)
(DESIGNUNITS R 1.0)
(COMMENT DESIGNSIZE IS IN POINTS)
(COMMENT OTHER DIMENSIONS ARE MULTIPLES OF DESIGNSIZE)
(CHARACTER C A
(CHARWD R 0.5)
(CHARHT R 0.88)
(CHARDP R 0.12)
)
EOF
CHECK_RESULT $? 0 0 "创建测试输入文件失败"
LOG_INFO "步骤7: 执行命令 $command $param $test_input 并验证输出为大写"
output=$($command $param $test_input 2>&1)
cmd_exit=$?
echo "$output" | grep -qE "(FAMILY|FACE|CODINGSCHEME|DESIGNSIZE|DESIGNUNITS|COMMENT|CHARACTER|CHARWD|CHARHT|CHARDP)"
CHECK_RESULT $? 0 0 "命令输出格式不符合预期"
if echo "$output" | grep -q "[a-z]" && ! echo "$output" | grep -q "comment"; then
LOG_ERROR "输出内容包含小写字母,不符合 -text-format=upper 参数预期"
CHECK_RESULT 1 0 0 "输出未全部大写"
else
LOG_INFO "输出内容符合大写格式要求"
CHECK_RESULT $cmd_exit 0 0 "命令 $command 执行失败"
fi
LOG_INFO "步骤8: 清理测试文件"
rm -f $test_input
CHECK_RESULT $? 0 0 "删除测试文件失败"
LOG_INFO "步骤9: 环境恢复"
if [ "$pre_installed" = false ]; then
LOG_INFO "卸载测试安装的软件包 $package_name"
dnf remove -y $package_name
CHECK_RESULT $? 0 0 "卸载软件包 $package_name 失败"
else
LOG_INFO "保持软件包 $package_name 的安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

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

View File

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

View File

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

View File

@@ -1,89 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试 ofm2opl 命令使用 -verbose 参数显示进度报告
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "测试 ofm2opl 命令使用 -verbose 参数显示进度报告"
# 定义软件包名称
PACKAGE_NAME="texlive-omega"
# 检查软件包是否已在yum源中
LOG_INFO "检查软件包是否在yum源中"
dnf list available "$PACKAGE_NAME" &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 $PACKAGE_NAME 不在yum源中"
exit 255
fi
# 检查软件包是否已安装
LOG_INFO "检查软件包是否已安装"
rpm -q "$PACKAGE_NAME" &>/dev/null
if [ $? -eq 0 ]; then
LOG_INFO "软件包 $PACKAGE_NAME 已安装,脚本结束时将保持安装状态"
ALREADY_INSTALLED=1
else
LOG_INFO "软件包 $PACKAGE_NAME 未安装,将在测试中安装"
ALREADY_INSTALLED=0
fi
# 如果未安装,则安装软件包
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "安装软件包 $PACKAGE_NAME"
dnf install -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
fi
# 检查 ofm2opl 命令是否存在
LOG_INFO "检查 ofm2opl 命令是否存在"
command -v ofm2opl &>/dev/null
CHECK_RESULT $? 0 0 "ofm2opl 命令不存在"
# 检查 -verbose 参数是否支持
LOG_INFO "检查 -verbose 参数是否支持"
ofm2opl -verbose --help 2>&1 | grep -q "verbose"
if [ $? -ne 0 ]; then
LOG_ERROR "-verbose 参数不被支持"
# 如果之前未安装,则卸载软件包
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "卸载软件包 $PACKAGE_NAME"
dnf remove -y "$PACKAGE_NAME"
fi
exit 255
fi
# 测试 ofm2opl 命令使用 -verbose 参数
LOG_INFO "执行 ofm2opl -verbose 命令"
ofm2opl -verbose
CHECK_RESULT $? 0 0 "执行 ofm2opl -verbose 命令失败"
# 清理环境:如果之前未安装,则卸载软件包
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "卸载软件包 $PACKAGE_NAME"
dnf remove -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
else
LOG_INFO "软件包 $PACKAGE_NAME 已安装,保持安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -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-26
# @License : Mulan PSL v2
# @Desc : 测试 ofm2opl 命令指定输入OFM文件和输出OPL文件
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装texlive-omega包
LOG_INFO "检查texlive-omega是否已安装"
rpm -q texlive-omega &>/dev/null
INSTALLED=$?
# 检查yum源中是否有texlive-omega包
LOG_INFO "检查yum源中是否有texlive-omega包"
if ! dnf list available texlive-omega &>/dev/null; then
LOG_ERROR "yum源中未找到texlive-omega包"
exit 255
fi
# 如果未安装则安装texlive-omega
if [ $INSTALLED -ne 0 ]; then
LOG_INFO "安装texlive-omega包"
dnf install -y texlive-omega
CHECK_RESULT $? 0 0 "安装texlive-omega失败"
fi
# 检查ofm2opl命令是否存在
LOG_INFO "检查ofm2opl命令是否存在"
command -v ofm2opl &>/dev/null
CHECK_RESULT $? 0 0 "ofm2opl命令不存在"
# 检查ofm2opl命令是否支持指定输出文件
LOG_INFO "检查ofm2opl命令是否支持指定输出文件"
ofm2opl --help 2>&1 | grep -q "output"
CHECK_RESULT $? 0 0 "ofm2opl命令不支持指定输出文件参数"
# 创建测试用的OFM文件
LOG_INFO "创建测试OFM文件"
cat > test_input.ofm << "EOF"
% This is a test OFM file
(FONTDIR T)
(FONTFILE D)
(CODINGSCHEME TEX TEXT)
(DESIGNSIZE R 10.0)
(COMMENT DESIGNSIZE IS IN POINTS)
(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)
(MAPFONT D 0
(FONTNAME TR)
(FONTDSIZE R 1.0)
(FONTAT R 1.0)
(FONTDP R 1.0)
)
EOF
CHECK_RESULT $? 0 0 "创建测试OFM文件失败"
# 测试ofm2opl命令指定输入OFM文件和输出OPL文件
LOG_INFO "测试ofm2opl命令指定输入OFM文件和输出OPL文件"
ofm2opl test_input.ofm test_output.opl
CHECK_RESULT $? 0 0 "ofm2opl命令执行失败"
# 检查输出文件是否生成
LOG_INFO "检查输出OPL文件是否生成"
[ -f test_output.opl ]
CHECK_RESULT $? 0 0 "输出OPL文件未生成"
# 检查输出文件内容是否有效
LOG_INFO "检查输出OPL文件内容"
head -5 test_output.opl | grep -q "OFM2OPL"
CHECK_RESULT $? 0 0 "输出OPL文件内容无效"
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f test_input.ofm test_output.opl
CHECK_RESULT $? 0 0 "清理测试文件失败"
# 如果脚本开始时未安装则卸载texlive-omega
if [ $INSTALLED -ne 0 ]; then
LOG_INFO "卸载texlive-omega包"
dnf remove -y texlive-omega
CHECK_RESULT $? 0 0 "卸载texlive-omega失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -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-03-26
# @License : Mulan PSL v2
# @Desc : 测试 ofm2opl 命令仅指定输入OFM文件将结果输出到标准输出
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:测试 ofm2opl 命令仅指定输入OFM文件将结果输出到标准输出"
# 检查软件包是否在yum源中
LOG_INFO "检查yum源中是否存在texlive-omegaware-ofm2opl软件包"
dnf list available texlive-omegaware-ofm2opl &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在texlive-omegaware-ofm2opl软件包"
exit 255
fi
# 检查当前是否已安装软件包
LOG_INFO "检查是否已安装texlive-omegaware-ofm2opl软件包"
rpm -q texlive-omegaware-ofm2opl &>/dev/null
INSTALLED=$?
# 如果未安装,则安装软件包
if [ $INSTALLED -ne 0 ]; then
LOG_INFO "安装texlive-omegaware-ofm2opl软件包"
dnf install -y texlive-omegaware-ofm2opl
CHECK_RESULT $? 0 0 "安装texlive-omegaware-ofm2opl软件包失败"
else
LOG_INFO "软件包已安装,跳过安装步骤"
fi
# 检查ofm2opl命令是否支持仅指定输入OFM文件参数
LOG_INFO "检查ofm2opl命令是否支持仅指定输入OFM文件参数"
ofm2opl --help 2>&1 | grep -q "input.*ofm"
if [ $? -ne 0 ]; then
LOG_ERROR "ofm2opl命令不支持指定输入OFM文件参数"
# 如果之前未安装,则需要卸载
if [ $INSTALLED -ne 0 ]; then
LOG_INFO "卸载texlive-omegaware-ofm2opl软件包"
dnf remove -y texlive-omegaware-ofm2opl
fi
exit 255
fi
# 创建测试用的OFM文件
LOG_INFO "创建测试用的OFM文件"
TEST_OFM_FILE="/tmp/test.ofm"
echo "Test OFM content" > $TEST_OFM_FILE
CHECK_RESULT $? 0 0 "创建测试OFM文件失败"
# 执行ofm2opl命令仅指定输入OFM文件输出到标准输出
LOG_INFO "执行ofm2opl命令仅指定输入OFM文件"
ofm2opl $TEST_OFM_FILE > /tmp/output.txt 2>&1
CMD_EXIT_CODE=$?
# 检查命令执行结果
if [ $CMD_EXIT_CODE -eq 0 ]; then
LOG_INFO "ofm2opl命令执行成功"
# 检查输出是否非空
if [ -s /tmp/output.txt ]; then
LOG_INFO "标准输出有内容"
CHECK_RESULT 0 0 0 "测试通过"
else
LOG_ERROR "标准输出为空"
CHECK_RESULT 1 0 0 "测试失败:标准输出为空"
fi
else
LOG_ERROR "ofm2opl命令执行失败退出码$CMD_EXIT_CODE"
CHECK_RESULT $CMD_EXIT_CODE 0 0 "ofm2opl命令执行失败"
fi
# 清理临时文件
LOG_INFO "清理临时文件"
rm -f $TEST_OFM_FILE /tmp/output.txt
CHECK_RESULT $? 0 0 "清理临时文件失败"
# 如果测试前未安装,则卸载软件包
if [ $INSTALLED -ne 0 ]; then
LOG_INFO "卸载texlive-omegaware-ofm2opl软件包"
dnf remove -y texlive-omegaware-ofm2opl
CHECK_RESULT $? 0 0 "卸载texlive-omegaware-ofm2opl软件包失败"
else
LOG_INFO "保持软件包安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

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

View File

@@ -1,61 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-27
# @License : Mulan PSL v2
# @Desc : 测试 omfonts 命令的 opl2ofm 功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已经安装 texlive-omegaware-omfonts
if dnf list installed texlive-omegaware-omfonts &>/dev/null; then
LOG_INFO "环境已安装 texlive-omegaware-omfonts脚本结束后保持安装状态"
INSTALLED=true
else
LOG_INFO "环境未安装 texlive-omegaware-omfonts脚本结束后将卸载"
INSTALLED=false
fi
# 检查 yum 源中是否有 texlive-omegaware-omfonts 软件包
LOG_INFO "检查 yum 源中是否有 texlive-omegaware-omfonts 软件包"
if ! dnf list available texlive-omegaware-omfonts &>/dev/null; then
LOG_ERROR "yum 源中未找到 texlive-omegaware-omfonts 软件包"
exit 255
fi
# 安装 texlive-omegaware-omfonts
if [ "$INSTALLED" = false ]; then
LOG_INFO "正在安装 texlive-omegaware-omfonts"
dnf install -y texlive1.1.2.3.4.5.6.7.8.9.10.11.12.-13.-14.-15.-16.-17.-18.-19.-20.-21.-22.-23.-24.
25.-26.-27.-28.-29.-30.-31.-32.-33.-34.-35.-36.-37.-38.-39.-40.-41.-42.-43.-44.-45.-46.-47.-48.-49.-50.-51.-52.-53.-54.-55.-56.-57.-58.-59.-60.-61.-62.-63.-64.-65.-66.-67.-68.-69.-70.-71.-72.-73.-74.-75.-76.-77.-78.-79.-80.-81.-82.-83.-84.-85.-86.-87.-88.-89.-90.-91.-92.-93.-94.-95.-96.-97.-98.-99.-100.-101.-102.-103.-104.-105.-106.-107.-108.-109.-110.-111.-112.-113.-114.-115.-116.-117.-118.-119.-120.-121.-122.-123.-124.-125.-126.-127.-128.-129.-130.-131.-132.-133.-134.-135.-136.-137.-138.-139.-140.-141.-142.-143.-144.-145.-146.-147.-148.-149.-150.-151.-152.-153.-154.-155.-156.-157.-158.-159.-160.-161.-162.-163.-164.-165.-166.-167.-168.-169.-170.-171.-172.-173.-174.-175.-176.-177.-178.-179.-180.-181.-182.-183.-184.-185.-186.-187.-188.-189.-190.-191.-192.-193.-194.-195.-196.-197.-198.-199.-200.-201.-202.-203.-204.-205.-206.-207.-208.-209.-210.-211.-212.-213.-214.-215.-216.-217.-218.-219.-220.-221.-222.-223.-224.-225.-226.-227.-228.-229.-230.-231.-232.-233.-234.-235.-236.-237.-238.-239.-240.-241.-242.-243.-244.-245.-246.-247.-248.-249.-250.-251.-252.-253.-254.-255.-256.-257.-258.-259.-260.-261.-262.-263.-264.-265.-266.-267.-268.-269.-270.-271.-272.-273.-274.-275.-276.-277.-278.-279.-280.-281.-282.-283.-284.-285.-286.-287.-288.-289.-290.-291.-292.-293.-294.-295.-296.-297.-298.-299.-300.-301.-302.-303.-304.-305.-306.-307.-308.-309.-310.-311.-312.-313.-314.-315.-316.-317.-318.-319.-320.-321.-322.-323.-324.-325.-326.-327.-328.-329.-330.-331.-332.-333.-334.-335.-336.-337.-338.-339.-340.-341.-342.-343.-344.-345.-346.-347.-348.-349.-350.-351.-352.-353.-354.-355.-356.-357.-358.-359.-360.-361.-362.-363.-364.-365.-366.-367.-368.-369.-370.-371.-372.-373.-374.-375.-376.-377.-378.-379.-380.-381.-382.-383.-384.-385.-386.-387.-388.-389.-390.-391.-392.-393.-394.-395.-396.-397.-398.-399.-400.-401.-402.-403.-404.-405.-406.-407.-408.-409.-410.-411.-412.-413.-414.-415.-416.-417.-418.-419.-420.-421.-422.-423.-424.-425.-426.-427.-428.-429.-430.-431.-432.-433.-434.-435.-436.-437.-438.-439.-440.-441.-442.-443.-444.-445.-446.-447.-448.-449.-450.-451.-452.-453.-454.-455.-456.-457.-458.-459.-460.-461.-462.-463.-464.-465.-466.-467.-468.-469.-470.-471.-472.-473.-474.-475.-476.-477.-478.-479.-480.-481.-482.-483.-484.-485.-486.-487.-488.-489.-490.-491.-492.-493.-494.-495.-496.-497.-498.-499.-500.-501.-502.-503.-504.-505.-506.-507.-508.-509.-510.-511.-512.-513.-514.-515.-516.-517.-518.-519.-520.-521.-522.-523.-524.-525.-526.-527.-528.-529.-530.-531.-532.-533.-534.-535.-536.-537.-538.-539.-540.-541.-542.-543.-544.-545.-546.-547.-548.-549.-550.-551.-552.-553.-554.-555.-556.-557.-558.-559.-560.-561.-562.-563.-564.-565.-566.-567.-568.-569.-570.-571.-572.-573.-574.-575.-576.-577.-578.-579.-580.-581.-582.-583.-584.-585.-586.-587.-588.-589.-590.-591.-592.-593.-594.-595.-596.-597.-598.-599.-600.-601.-602.-603.-604.-605.-606.-607.-608.-609.-610.-611.-612.-613.-614.-615.-616.-617.-618.-619.-620.-621.-622.-623.-624.-625.-626.-627.-628.-629.-630.-631.-632.-633.-634.-635.-636.-637.-638.-639.-640.-641.-642.-643.-644.-645.-646.-647.-648.-649.-650.-651.-652.-653.-654.-655.-656.-657.-658.-659.-660.-661.-662.-663.-664.-665.-666.-667.-668.-669.-670.-671.-672.-673.-674.-675.-676.-677.-678.-679.-680.-681.-682.-683.-684.-685.-686.-687.-688.-689.-690.-691.-692.-693.-694.-695.-696.-697.-698.-699.-700.-701.-702.-703.-704.-705.-706.-707.-708.-709.-710.-711.-712.-713.-714.-715.-716.-717.-718.-719.-720.-721.-722.-723.-724.-725.-726.-727.-728.-729.-730.-731.-732.-733.-734.-735.-736.-737.-738.-739.-740.-741.-742.-743.-744.-745.-746.-747.-748.-749.-750.-751.-752.-753.-754.-755.-756.-757.-758.-759.-760.-761.-762.-763.-764.-765.-766.-767.-768.-769.-770.-771.-772.-773.-774.-775.-776.-777.-778.-779.-780.-781.-782.-783.-784.-785.-786.-787.-788.-789.-790.-791.-792.-793.-794.-795.-796.-797.-798.-799.-800.-801.-802.-803.-804.-805.-806.-807.-808.-809.-810.-811.-812.-813.-814.-815.-816.-817.-818.-819.-820.-821.-822.-823.-824.-825.-826.-827.-828.-829.-830.-831.-832.-833.-834.-835.-836.-837.-838.-839.-840.-841.-842.-843.-844.-845.-846.-847.-848.-849.-850.-851.-852.-853.-854.-855.-856.-857.-858.-859.-860.-861.-862.-863.-864.-865.-866.-867.-868.-869.-870.-871.-872.-873.-874.-875.-876.-877.-878.-879.-880.-881.-882.-883.-884.-885.-886.-887.-888.-889.-890.-891.-892.-893.-894.-895.-896.-897.-898.-899.-900.-901.-902.-903.-904.-905.-906.-907.-908.-909.-910.-911.-912.-913.-914.-915.-916.-917.-918.-919.-920.-921.-922.-923.-924.-925.-926.-927.-928.-929.-930.-931.-932.-933.-934.-935.-936.-937.-938.-939.-940.-941.-942.-943.-944.-945.-946.-947.-948.-949.-950.-951.-952.-953.-954.-955.-956.-957.-958.-959.-960.-961.-962.-963.-964.-965.-966.-967.-968.-969.-970.-971.-972.-973.-974.-975.-976.-977.-978.-979.-980.-981.-982.-983.-984.-985.-986.-987.-988.-989.-990.-991.-992.-993.-994.-995.-996.-997.-998.-999.-1000.
1001.-1002.
1003.-1004.
1005.-1006.
1007.-1008.
1009.-1010.
1011.-1012.
1013.-1014.
1015.-1016.
1017.-1018.
1019.-1020.
1021.-1022.
1023.-1024.
1025.-1026.
1027.-1028.
1029.-1030
}
main "$@"

View File

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

View File

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

View File

@@ -1,65 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-27
# @License : Mulan PSL v2
# @Desc : 测试opl2ofm命令的-help参数显示帮助信息并退出
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试opl2ofm命令的-help参数功能"
# 检查yum源中是否存在texlive-omegaware软件包
LOG_INFO "检查yum源中是否存在texlive-omegaware软件包"
dnf list available texlive-omegaware &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在texlive-omegaware软件包"
exit 255
fi
# 检查是否已安装texlive-omegaware
LOG_INFO "检查是否已安装texlive-omegaware"
rpm -q texlive-omegaware &>/dev/null
if [ $? -eq 0 ]; then
installed=true
LOG_INFO "texlive-omegaware已安装"
else
installed=false
LOG_INFO "texlive-omegaware未安装将进行安装"
dnf install -y texlive-omegaware &>/dev/null
CHECK_RESULT $? 0 0 "安装texlive-omeg-aware失败"
fi
# 测试opl2ofm命令的-help参数
LOG_INFO "测试opl2ofm命令的-help参数"
opl2ofm --help &>/dev/null
CHECK_RESULT $? 0 0 "opl2ofm命令--help参数测试失败"
# 根据初始状态恢复环境
if [ "$installed" = false ]; then
LOG_INFO "卸载texlive-omegaware软件包"
dnf remove -y texlive-omegaware &>/dev/null
CHECK_RESULT $? 0 0 "卸载texlive-omeg-aware失败"
else
LOG_INFO "保持texlive-omeg-aware安装状态"
fi
LOG_INFO "测试opl2ofm命令的-help参数功能完成"
}
main "$@"

View File

@@ -1,68 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-27
# @License : Mulan PSL v2
# @Desc : 测试opl2ofm命令的-verbose参数显示进度报告
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查opl2ofm命令的-verbose参数显示进度报告
LOG_INFO "开始测试opl2ofm命令的-verbose参数"
# 检查是否已安装texlive-omegaware包
LOG_INFO "检查texlive-omegaware是否已安装"
if ! dnf list installed texlive-omegaware &>/dev/null; then
LOG_INFO "texlive-omegaware未安装开始安装"
if ! dnf list texlive-omegaware &>/dev/null; then
LOG_ERROR "yum源中未找到texlive-omegaware包"
exit 255
fi
dnf install -y texlive-omegaware
CHECK_RESULT $? 0 0 "安装texlive-omegaware失败"
INSTALLED=1
else
LOG_INFO "texlive-omegaware已安装"
INSTALLED=0
fi
# 检查opl2ofm命令是否存在
LOG_INFO "检查opl2ofm命令是否存在"
if ! command -v opl2ofm &>/dev/null; then
LOG_ERROR "opl2ofm命令不存在"
if [ $INSTALLED -eq 1 ]; then
dnf remove -y texlive-omegaware
CHECK_RESULT $? 0 0 "卸载texlive-omegaware失败"
fi
exit 255
fi
# 测试opl2ofm命令的-verbose参数
LOG_INFO "测试opl2ofm命令的-verbose参数"
opl2ofm -verbose &>/dev/null
CHECK_RESULT $? 0 0 "opl2ofm命令不支持-verbose参数"
# 清理环境
if [ $INSTALLED -eq 1 ]; then
LOG_INFO "清理环境卸载texlive-omegaware"
dnf remove -y texlive-omegaware
CHECK_RESULT $? 0 0 "卸载texlive-omegware失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,83 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-27
# @License : Mulan PSL v2
# @Desc : 测试opl2ofm命令的-version参数输出版本信息并退出
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查opl2ofm命令的-version参数功能
LOG_INFO "开始测试opl2ofm命令的-version参数功能"
# 检查软件包是否已安装
LOG_INFO "检查texlive-omegaware软件包是否已安装"
if rpm -q texlive-omegaware &>/dev/null; then
LOG_INFO "texlive-omegaware软件包已安装脚本结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-omegaware软件包未安装将在测试结束后卸载"
INSTALLED=false
fi
# 检查yum源中是否有texlive-omegaware软件包
LOG_INFO "检查yum源中是否有texlive-omegaware软件包"
if ! dnf list available texlive-omegaware &>/dev/null; then
LOG_ERROR "yum源中未找到texlive-omegaware软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装texlive-omegaware软件包"
dnf install -y texlive-omegaware &>/dev/null
CHECK_RESULT $? 0 0 "安装texlive-omegaware软件包失败"
fi
# 检查opl2ofm命令是否存在
LOG_INFO "检查opl2ofm命令是否存在"
if ! command -v opl2ofm &>/dev/null; then
LOG_ERROR "opl2ofm命令不存在"
exit 255
fi
# 测试opl2ofm命令的-version参数功能并捕获输出
LOG_INFO "测试opl2ofm命令的-version参数功能"
VERSION_OUTPUT=$(opl2ofm -version 2>&1)
CHECK_RESULT $? 0 0 "opl2ofm命令执行失败"
# 检查输出是否包含版本信息
LOG_INFO "验证版本信息输出是否正常"
if [[ "$VERSION_OUTPUT" =~ "Version" ]]; then
LOG_INFO "版本信息输出正常: $VERSION_OUTPUT"
else
LOG_ERROR "版本信息输出异常: $VERSION_OUTPUT"
exit 1 # 按照Linux标准退出码表示一般错误
fi
# 恢复环境:如果脚本开始时未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-omegaware软件包"
dnf remove -y texlive-omegaware &>/dev/null
CHECK_RESULT $? 0 0 "卸载texlive-omegaware软件包失败"
fi
LOG_INFO "测试opl2ofm命令的-version参数功能完成"
}
main "$@"

View File

@@ -1,121 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试opl2ofm命令的基本文件转换功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试opl2ofm命令的基本文件转换功能"
# 检查是否已经安装了texlive-omegaware软件包
LOG_INFO "检查是否已安装texlive-omegaware软件包"
if rpm -q texlive-omegaware > /dev/null 2>&1; then
LOG_INFO "texlive-omegaware已安装测试结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-omegaware未安装将在测试过程中安装"
INSTALLED=false
fi
# 检查yum源中是否有texlive-omegaware软件包
LOG_INFO "检查yum源中是否有texlive-omegaware软件包"
if ! dnf list available texlive-omegaware > /dev/null 2>&1; then
LOG_ERROR "yum源中没有texlive-omegaware软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装texlive-omegaware软件包"
dnf install -y texlive-omegaware
CHECK_RESULT $? 0 0 "安装texlive-omegaware软件包失败"
fi
# 检查opl2ofm命令是否存在
LOG_INFO "检查opl2ofm命令是否存在"
if ! command -v opl2ofm > /dev/null 2>&1; then
LOG_ERROR "opl2ofm命令不存在"
exit 255
fi
# 检查opl2ofm命令是否支持基本参数
LOG_INFO "检查opl2ofm命令是否支持基本参数"
if ! opl2ofm --help > /dev/null 2>&1; then
LOG_ERROR "opl2ofm命令不支持--help参数"
exit 255
fi
# 创建测试用的opl文件
LOG_INFO "创建测试用的opl文件"
cat > test.opl << EOF
(FONTDIMEN
(SLANT R 0.0)
(SPACE R 0.333334)
(STRETCH R 0.166667)
(SHRINK R 0.111111)
(XHEIGHT R 0.430555)
(QUAD R 1.0)
(EXTRASPACE R 0.111111)
)
(CHARACTER O 0
(CHARWD R 0.5)
(CHARHT R 0.75)
(CHARDP R 0.125)
)
EOF
CHECK_RESULT $? 0 0 "创建测试opl文件失败"
# 执行opl2ofm命令进行文件转换
LOG_INFO "执行opl2ofm命令将opl文件转换为ofm文件"
opl2ofm test.opl test.ofm
CHECK_RESULT $? 0 0 "opl2ofm命令执行失败"
# 检查转换后的ofm文件是否存在
LOG_INFO "检查转换后的ofm文件是否存在"
if [ -f test.ofm ]; then
LOG_INFO "成功生成ofm文件"
else
LOG_ERROR "未生成ofm文件"
exit 1
fi
# 检查ofm文件的基本内容
LOG_INFO "检查ofm文件的基本内容"
if file test.ofm | grep -q "data"; then
LOG_INFO "ofm文件格式正确"
else
LOG_ERROR "ofm文件格式不正确"
exit 1
fi
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f test.opl test.ofm
CHECK_RESULT $? 0 0 "清理测试文件失败"
# 如果测试前未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-omegaware软件包"
dnf remove -y texlive-omegaware
CHECK_RESULT $? 0 0 "卸载texlive-omegaware软件包失败"
fi
LOG_INFO "测试opl2ofm命令的基本文件转换功能完成"
}
main "$@"

View File

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

View File

@@ -1,88 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试opl2ofm命令的详细输出模式
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查opl2ofm命令是否已安装
LOG_INFO "检查opl2ofm命令是否已安装"
which opl2ofm &>/dev/null
if [ $? -eq 0 ]; then
LOG_INFO "opl2ofm命令已安装"
INSTALLED=true
else
LOG_INFO "opl2ofm命令未安装"
INSTALLED=false
fi
# 检查yum源中是否有texlive-omegaware软件包
LOG_INFO "检查yum源中是否有texlive-omegaware软件包"
dnf list available texlive-omegaware &>/dev/null
CHECK_RESULT $? 0 0 "yum源中未找到texlive-omegaware软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-omegaware软件包"
exit 255
fi
# 如果未安装则安装texlive-omegaware软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装texlive-omegaware软件包"
dnf install -y texlive-omegaware
CHECK_RESULT $? 0 0 "安装texlive-omegaware软件包失败"
fi
# 检查opl2ofm命令是否支持--verbose参数
LOG_INFO "检查opl2ofm命令是否支持--verbose参数"
opl2ofm --help 2>&1 | grep -q "\-\-verbose"
CHECK_RESULT $? 0 0 "opl2ofm命令不支持--verbose参数"
if [ $? -ne 0 ]; then
LOG_ERROR "opl2ofm命令不支持--verbose参数"
# 如果之前未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-omegaware软件包"
dnf remove -y texlive-omegaware
fi
exit 255
fi
# 测试opl2ofm命令的详细输出模式
LOG_INFO "测试opl2ofm命令的详细输出模式"
opl2ofm --verbose --help > /tmp/opl2ofm_verbose_output.txt 2>&1
CHECK_RESULT $? 0 0 "opl2ofm命令执行失败"
# 检查输出中是否包含详细模式相关信息
LOG_INFO "检查输出中是否包含详细模式相关信息"
grep -q "verbose" /tmp/opl2ofm_verbose_output.txt
CHECK_RESULT $? 0 0 "opl2ofm命令详细输出模式未按预期工作"
# 清理临时文件
LOG_INFO "清理临时文件"
rm -f /tmp/opl2ofm_verbose_output.txt
# 如果测试前未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-omegaware软件包"
dnf remove -y texlive-omegaware
CHECK_RESULT $? 0 0 "卸载texlive-omegaware软件包失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -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-26
# @License : Mulan PSL v2
# @Desc : 测试opl2ofm命令的版本信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装texlive-omegaware包
LOG_INFO "开始测试opl2ofm命令的版本信息"
LOG_INFO "步骤1: 检查texlive-omegaware包是否已安装"
rpm -q texlive-omegaware > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-omegaware包已安装记录当前状态"
INSTALLED=true
else
LOG_INFO "texlive-omegaware包未安装"
INSTALLED=false
fi
# 检查yum源中是否有texlive-omegaware包
LOG_INFO "步骤2: 检查yum源中是否有texlive-omegaware包"
dnf list available texlive-omegaware > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中未找到texlive-omegaware包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-omegaware包测试退出"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "步骤3: 安装texlive-omegaware包"
dnf install -y texlive-omegaware > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装texlive-omegaware包失败"
LOG_INFO "texlive-omegaware包安装成功"
fi
# 检查opl2ofm命令是否存在
LOG_INFO "步骤4: 检查opl2ofm命令是否存在"
which opl2ofm > /dev/null 2>&1
CHECK_RESULT $? 0 0 "opl2ofm命令不存在"
if [ $? -ne 0 ]; then
LOG_ERROR "opl2ofm命令不存在测试退出"
exit 255
fi
# 检查opl2ofm命令是否支持--version参数
LOG_INFO "步骤5: 检查opl2ofm命令是否支持--version参数"
opl2ofm --help 2>&1 | grep -q "\-\-version"
CHECK_RESULT $? 0 0 "opl2ofm命令不支持--version参数"
if [ $? -ne 0 ]; then
LOG_ERROR "opl2ofm命令不支持--version参数测试退出"
exit 255
fi
# 执行opl2ofm --version命令
LOG_INFO "步骤6: 执行opl2ofm --version命令"
opl2ofm --version > /dev/null 2>&1
CHECK_RESULT $? 0 0 "执行opl2ofm --version命令失败"
# 获取版本信息并检查
LOG_INFO "步骤7: 获取opl2ofm命令的版本信息"
VERSION_OUTPUT=$(opl2ofm --version 2>&1)
if [ -n "$VERSION_OUTPUT" ]; then
LOG_INFO "opl2ofm版本信息: $VERSION_OUTPUT"
CHECK_RESULT 0 0 0 "获取版本信息成功"
else
LOG_ERROR "未获取到opl2ofm版本信息"
CHECK_RESULT 1 0 0 "获取版本信息失败"
fi
# 清理环境
LOG_INFO "步骤8: 清理测试环境"
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "卸载texlive-omegaware包"
dnf remove -y texlive-omegaware > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载texlive-omegaware包失败"
LOG_INFO "texlive-omegaware包卸载成功"
else
LOG_INFO "保持texlive-omegaware包安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,96 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试opl2ofm命令仅指定OPL文件时使用默认OFM文件名
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "1. 检查当前环境是否已安装 texlive-omegaware 软件包"
rpm -q texlive-omegaware > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-omegaware 已安装,脚本结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-omegaware 未安装,将在测试步骤中安装,并在脚本结束前卸载"
INSTALLED=false
fi
LOG_INFO "2. 检查yum源中是否存在 texlive-omegaware 软件包"
dnf list available texlive-omegaware > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到 texlive-omegaware 软件包"
exit 255
fi
if [ "$INSTALLED" = false ]; then
LOG_INFO "3. 安装 texlive-omegaware 软件包"
dnf install -y texlive-omegaware > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装 texlive-omegaware 失败"
fi
LOG_INFO "4. 检查 opl2ofm 命令是否存在"
command -v opl2ofm > /dev/null 2>&1
CHECK_RESULT $? 0 0 "opl2ofm 命令未找到"
LOG_INFO "5. 创建一个测试 OPL 文件"
cat > test_input.opl << "EOF"
(comment test OPL file)
(design_size 10)
(coding_scheme test)
(family test)
(face F)
(seven_bit_safe_flag false)
(header_byte 249)
(font_dimen 1 2 3 4 5 6 7)
(ligtable
(label 1)
(skip 1)
(stop)
)
(character 65
(charwd 1)
(charht 2)
(chardp 3)
(charic 4)
(charcode 65)
)
EOF
CHECK_RESULT $? 0 0 "创建测试 OPL 文件失败"
LOG_INFO "6. 执行 opl2ofm 命令,仅指定 OPL 文件,不指定 OFM 文件(使用默认 OFM 文件名)"
opl2ofm test_input.opl
CHECK_RESULT $? 0 0 "opl2ofm 命令执行失败"
LOG_INFO "7. 检查是否生成了默认的 OFM 文件 test_input.ofm"
ls -la test_input.ofm > /dev/null 2>&1
CHECK_RESULT $? 0 0 "未生成默认的 OFM 文件 test_input.ofm"
LOG_INFO "8. 清理测试生成的文件"
rm -f test_input.opl test_input.ofm
CHECK_RESULT $? 0 0 "清理测试文件失败"
if [ "$INSTALLED" = false ]; then
LOG_INFO "9. 卸载 texlive-omegaware 软件包,恢复环境"
dnf remove -y texlive-omegaware > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载 texlive-omegaware 失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

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

View File

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

View File

@@ -1,71 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试 otangle 命令的 -help 参数,用于显示帮助信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装texlive-omegaware软件包
LOG_INFO "检查texlive-omegaware软件包是否已安装"
if dnf list installed texlive-omegaware &>/dev/null; then
LOG_INFO "texlive-omegaware软件包已安装脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-omegaware软件包未安装将在测试过程中安装"
INSTALLED=false
fi
# 检查yum源中是否存在texlive-omegaware软件包
LOG_INFO "检查yum源中是否存在texlive-omegaware软件包"
if ! dnf list available texlive-omegaware &>/dev/null; then
LOG_ERROR "yum源中未找到texlive-omegaware软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装texlive-omegaware软件包"
dnf install -y texlive-omegaware
CHECK_RESULT $? 0 0 "安装texlive-omegaware软件包失败"
fi
# 测试otangle命令的-help参数
LOG_INFO "测试otangle命令的-help参数用于显示帮助信息"
otangle --help
CHECK_RESULT $? 0 0 "otangle命令的-help参数执行失败"
# 检查-help参数是否输出了帮助信息
LOG_INFO "检查-help参数是否输出了帮助信息"
if otangle --help 2>&1 | grep -q "Usage"; then
LOG_INFO "otangle命令的-help参数成功显示了帮助信息"
else
LOG_ERROR "otangle命令的-help参数未显示帮助信息"
exit 255
fi
# 清理环境:如果测试前未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-omegaware软件包"
dnf remove -y texlive-omegaware
CHECK_RESULT $? 0 0 "卸载texlive-omegaware软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

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

View File

@@ -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-26
# @License : Mulan PSL v2
# @Desc : 测试 otangle 命令同时指定 WEBFILE 和 CHANGEFILE 参数,使用指定的变更文件进行转换
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义日志函数
LOG_INFO() {
echo "[INFO] $*"
}
LOG_ERROR() {
echo "[ERROR] $*" >&2
}
# 定义检查函数
CHECK_RESULT() {
local actual=$1
local expected=$2
local code=$3
local msg=$4
if [ $actual -ne $expected ]; then
LOG_ERROR "$msg"
exit $code
fi
}
# 定义SSH命令函数
SSH_CMD() {
local cmd=$1
local ip=$2
local password=$3
local user=$4
sshpass -p "$password" ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null "${user}@${ip}" "$cmd"
}
# 测试脚本开始
LOG_INFO "开始测试 otangle 命令同时指定 WEBFILE 和 CHANGEFILE 参数,使用指定的变更文件进行转换"
# 检查是否已经安装 texlive-omegaware 软件包
LOG_INFO "检查是否已安装 texlive-omegaware 软件包"
if rpm -q texlive-omegaware &>/dev/null; then
LOG_INFO "texlive-omegaware 软件包已安装,脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-omegaware 软件包未安装,将在测试过程中安装"
INSTALLED=false
fi
# 检查 yum 源中是否有 texlive-omegaware 软件包
LOG_INFO "检查 yum 源中是否有 texlive-omegaware 软件包"
if ! dnf list available texlive-omegaware &>/dev/null; then
LOG_ERROR "yum 源中未找到 texlive-omegaware 软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装 texlive-omegaware 软件包"
dnf install -y texlive-omegaware
CHECK_RESULT $? 0 0 "安装 texlive-omegaware 软件包失败"
fi
# 检查 otangle 命令是否存在
LOG_INFO "检查 otangle 命令是否存在"
if ! command -v otangle &>/dev/null; then
LOG_ERROR "otangle 命令不存在"
exit 255
fi
# 创建测试文件
LOG_INFO "创建测试文件"
cat > test_input.tex << "EOF"
\input webmac
\def\maybe{Just a test.}
\maybe
\bye
EOF
cat > test_change.ch << "EOF"
@x
\input webmac
@y
\input webmac
\def\maybe{Just a test.}
@z
EOF
# 测试 otangle 命令同时指定 WEBFILE 和 CHANGEFILE 参数
LOG_INFO "测试 otangle 命令同时指定 WEBFILE 和 CHANGEFILE 参数"
otangle test_input.tex test_change.ch -o test_output.tex
CHECK_RESULT $? 0 0 "otangle 命令执行失败"
# 检查输出文件是否存在
LOG_INFO "检查输出文件是否存在"
if [ -f test_output.tex ]; then
LOG_INFO "输出文件 test_output.tex 创建成功"
else
LOG_ERROR "输出文件 test_output.tex 未创建"
exit 1
fi
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f test_input.tex test_change.ch test_output.tex
# 如果测试过程中安装了软件包,则在测试结束后卸载
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载 texlive-omegaware 软件包"
dnf remove -y texlive-omegaware
CHECK_RESULT $? 0 0 "卸载 texlive-omegaware 软件包失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,96 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试 otangle 命令仅指定 WEBFILE 参数,使用默认的 CHANGEFILE (/dev/null) 进行转换
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装 texlive-omegaware
LOG_INFO "检查是否已安装 texlive-omegaware"
rpm -q texlive-omegaware > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-omegaware 已安装,脚本结束时将保持安装状态"
INSTALLED=1
else
LOG_INFO "texlive-omegaware 未安装,将在测试中安装并在结束时卸载"
INSTALLED=0
fi
# 检查yum源中是否有 texlive-omegaware 软件包
LOG_INFO "检查yum源中是否有 texlive-omegaware 软件包"
dnf list available texlive-omegaware > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中未找到 texlive-omegaware 软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到 texlive-omegaware 软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装 texlive-omegaware 软件包"
dnf install -y texlive-omegaware > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装 texlive-omegaware 失败"
fi
# 验证 otangle 命令是否存在
LOG_INFO "验证 otangle 命令是否存在"
which otangle > /dev/null 2>&1
CHECK_RESULT $? 0 0 "otangle 命令不存在"
# 准备测试文件
LOG_INFO "准备测试文件"
cat > test_input.tex << "EOF"
\input plain
\input webmac
\input omegaware
\input otangle
\bye
EOF
# 测试 otangle 命令仅指定 WEBFILE 参数,使用默认的 CHANGEFILE (/dev/null) 进行转换
LOG_INFO "测试 otangle 命令仅指定 WEBFILE 参数,使用默认的 CHANGEFILE (/dev/null) 进行转换"
otangle test_input.tex > output.txt 2>&1
CHECK_RESULT $? 0 0 "otangle 命令执行失败"
# 检查输出文件是否生成
LOG_INFO "检查输出文件是否生成"
if [ -f test_input.c ]; then
LOG_INFO "输出文件 test_input.c 生成成功"
else
LOG_ERROR "输出文件 test_input.c 未生成"
exit 1
fi
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f test_input.tex test_input.c output.txt
# 如果最初未安装,则卸载软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载 texlive-omegaware 软件包"
dnf remove -y texlive-omegaware > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载 texlive-omegaware 失败"
LOG_INFO "环境已恢复到未安装状态"
else
LOG_INFO "环境保持已安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

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

View File

@@ -1,77 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试 otp2ocp 命令的 -H 参数,验证十六进制转储功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 otp2ocp 命令的 -H 参数,验证十六进制转储功能"
LOG_INFO "步骤1: 检查是否已安装 texlive-omegaware 软件包"
if rpm -q texlive-omegaware &>/dev/null; then
LOG_INFO "texlive-omegaware 已安装,测试完成后将保持安装状态"
INSTALLED=1
else
LOG_INFO "texlive-omegaware 未安装,将在测试过程中安装并在测试结束后卸载"
INSTALLED=0
fi
LOG_INFO "步骤2: 检查 yum 源中是否存在 texlive-omegaware 软件包"
if ! dnf list texlive-omegaware &>/dev/null; then
LOG_ERROR "yum 源中未找到 texlive-omegaware 软件包"
exit 255
fi
LOG_INFO "步骤3: 如果未安装,则安装 texlive-omegaware 软件包"
if [ $INSTALLED -eq 0 ]; then
dnf install -y texlive-omegaware
CHECK_RESULT $? 0 0 "安装 texlive-omegaware 失败"
fi
LOG_INFO "步骤4: 检查 otp2ocp 命令是否支持 -H 参数"
otp2ocp -H 2>&1 | grep -q "option requires an argument"
if [ $? -ne 0 ]; then
LOG_ERROR "otp2ocp 命令不支持 -H 参数或参数格式错误"
if [ $INSTALLED -eq 0 ]; then
dnf remove -y texlive-omegaware
fi
exit 255
fi
LOG_INFO "步骤5: 测试 otp2ocp -H 参数的基本功能"
echo "test" > test_input.txt
otp2ocp -H test_input.txt test_output.ocp
CHECK_RESULT $? 0 0 "otp2ocp -H 执行失败"
LOG_INFO "步骤6: 验证输出文件是否生成"
[ -f test_output.ocp ]
CHECK_RESULT $? 0 0 "输出文件未生成"
LOG_INFO "步骤7: 清理测试文件"
rm -f test_input.txt test_output.ocp
LOG_INFO "步骤8: 如果测试前未安装,则卸载 texlive-omegaware 软件包"
if [ $INSTALLED -eq 0 ]; then
dnf remove -y texlive-omegaware
CHECK_RESULT $? 0 0 "卸载 texlive-omegaware 失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

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

View File

@@ -1,94 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试 otp2ocp 命令的 -V 参数,验证详细模式输出
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义全局变量
PACKAGE_NAME="texlive-omegaware"
COMMAND_NAME="otp2ocp"
PARAM="-V"
EXPECTED_PATTERN="otp2ocp"
# 检查yum源中是否有指定软件包
LOG_INFO "步骤1检查yum源中是否有${PACKAGE_NAME}软件包"
dnf list available ${PACKAGE_NAME} > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到${PACKAGE_NAME}软件包"
exit 255
fi
# 检查软件包是否已安装
LOG_INFO "步骤2检查${PACKAGE_NAME}是否已安装"
rpm -q ${PACKAGE_NAME} > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "${PACKAGE_NAME}已安装,脚本结束时将保持安装状态"
ALREADY_INSTALLED=1
else
LOG_INFO "${PACKAGE_NAME}未安装,将进行安装测试"
ALREADY_INSTALLED=0
fi
# 如果未安装,则安装软件包
if [ ${ALREADY_INSTALLED} -eq 0 ]; then
LOG_INFO "步骤3安装${PACKAGE_NAME}软件包"
dnf install -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}失败"
fi
# 检查otp2ocp命令是否存在
LOG_INFO "步骤4检查${COMMAND_NAME}命令是否存在"
which ${COMMAND_NAME} > /dev/null 2>&1
CHECK_RESULT $? 0 0 "${COMMAND_NAME}命令不存在"
# 检查otp2ocp命令是否支持-V参数
LOG_INFO "步骤5检查${COMMAND_NAME}命令是否支持${PARAM}参数"
${COMMAND_NAME} ${PARAM} 2>&1 | grep -q "invalid option"
if [ $? -eq 0 ]; then
LOG_ERROR "${COMMAND_NAME}命令不支持${PARAM}参数"
exit 255
fi
# 测试otp2ocp命令的-V参数验证详细模式输出
LOG_INFO "步骤6执行${COMMAND_NAME} ${PARAM}命令,验证详细模式输出"
OUTPUT=$(${COMMAND_NAME} ${PARAM} 2>&1)
CHECK_RESULT $? 0 0 "执行${COMMAND_NAME} ${PARAM}命令失败"
# 检查输出中是否包含预期内容
echo "${OUTPUT}" | grep -q "${EXPECTED_PATTERN}"
CHECK_RESULT $? 0 0 "输出中未找到预期内容"${EXPECTED_PATTERN}""
LOG_INFO "步骤7验证输出内容格式"
echo "${OUTPUT}" | head -n 1 | grep -q "^otp2ocp"
CHECK_RESULT $? 0 0 "输出格式不符合预期"
# 环境清理
LOG_INFO "步骤8清理测试环境"
if [ ${ALREADY_INSTALLED} -eq 0 ]; then
LOG_INFO "卸载${PACKAGE_NAME}软件包"
dnf remove -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}失败"
else
LOG_INFO "${PACKAGE_NAME}在测试前已安装,保持安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,85 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试 otp2ocp 命令的 -v 参数,验证版本信息输出
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 判断是否已安装texlive-omegaware软件包
LOG_INFO "开始测试otp2ocp命令的-v参数验证版本信息输出"
LOG_INFO "检查texlive-omegaware软件包是否已安装"
rpm -q texlive-omegaware > /dev/null 2>&1
pkg_installed=$?
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否有texlive-omegaware软件包"
dnf list available texlive-omegaware > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-omegaware软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $pkg_installed -ne 0 ]; then
LOG_INFO "安装texlive-omegaware软件包"
dnf install -y texlive-omegaware
CHECK_RESULT $? 0 0 "安装texlive-omegaware软件包失败"
fi
# 检查otp2ocp命令是否存在
LOG_INFO "检查otp2ocp命令是否存在"
which otp2ocp > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "otp2ocp命令不存在"
if [ $pkg_installed -ne 0 ]; then
LOG_INFO "清理环境卸载texlive-omegaware软件包"
dnf remove -y texlive-omegaware
fi
exit 255
fi
# 测试otp2ocp -v参数
LOG_INFO "测试otp2ocp -v参数验证版本信息输出"
otp2ocp -v > /dev/null 2>&1
CHECK_RESULT $? 0 0 "otp2ocp命令不支持-v参数"
# 验证版本信息输出格式
LOG_INFO "验证版本信息输出格式"
version_output=$(otp2ocp -v 2>&1)
if [ -z "$version_output" ]; then
LOG_ERROR "otp2ocp -v未输出版本信息"
CHECK_RESULT 1 0 0 "版本信息输出为空"
else
LOG_INFO "版本信息输出:$version_output"
echo "$version_output" | grep -E "[0-9]+\.[0-9]+" > /dev/null 2>&1
CHECK_RESULT $? 0 0 "版本信息格式不正确"
fi
# 清理环境:如果测试前未安装,则卸载软件包
if [ $pkg_installed -ne 0 ]; then
LOG_INFO "清理环境卸载texlive-omegaware软件包"
dnf remove -y texlive-omegaware
CHECK_RESULT $? 0 0 "卸载texlive-omegaware软件包失败"
else
LOG_INFO "测试前已安装texlive-omegaware保持安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,74 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试outocp命令使用第一个参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查环境是否已经安装texlive-omegaware
LOG_INFO "检查环境是否已经安装texlive-omegaware"
rpm -q texlive-omegaware > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "环境已安装texlive-omegaware脚本结束时将保持安装状态"
ENV_INSTALLED=1
else
LOG_INFO "环境未安装texlive-omegaware将在测试中安装并在结束前卸载"
ENV_INSTALLED=0
fi
# 检查yum源中是否有texlive-omegaware软件包
LOG_INFO "检查yum源中是否有texlive-omegaware软件包"
dnf list available texlive-omegaware > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中没有texlive-omegaware软件包"
exit 255
fi
# 如果环境未安装,则安装软件包
if [ $ENV_INSTALLED -eq 0 ]; then
LOG_INFO "安装texlive-omegaware软件包"
dnf install -y texlive-omegaware
CHECK_RESULT $? 0 0 "安装texlive-omegaware失败"
fi
# 检查outocp命令是否可用
LOG_INFO "检查outocp命令是否可用"
which outocp > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "outocp命令不存在"
if [ $ENV_INSTALLED -eq 0 ]; then
LOG_INFO "卸载texlive-omegaware软件包"
dnf remove -y texlive-omegaware
fi
exit 255
fi
# 测试outocp命令使用第一个参数
LOG_INFO "测试outocp命令使用第一个参数"
outocp --version > /dev/null 2>&1
CHECK_RESULT $? 0 0 "outocp命令执行失败或参数不支持"
# 环境恢复
if [ $ENV_INSTALLED -eq 0 ]; then
LOG_INFO "卸载texlive-omegaware软件包"
dnf remove -y texlive-omegaware
CHECK_RESULT $? 0 0 "卸载texlive-omegaware失败"
fi
}
main "$@"

View File

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

View File

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

View File

@@ -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-26
# @License : Mulan PSL v2
# @Desc : 测试ovf2ovp命令使用默认参数转换OVF和OFM文件
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试ovf2ovp命令使用默认参数转换OVF和OFM文件"
LOG_INFO "步骤1: 检查是否已安装texlive-omegaware软件包"
if rpm -q texlive-omegaware > /dev/null 2>&1; then
LOG_INFO "texlive-omegaware已安装标记为保持安装状态"
KEEP_INSTALLED=1
else
LOG_INFO "texlive-omegaware未安装标记为需要清理"
KEEP_INSTALLED=0
fi
LOG_INFO "步骤2: 检查yum源中是否存在texlive-omegaware软件包"
if ! dnf list available texlive-omegaware > /dev/null 2>&1; then
LOG_ERROR "yum源中未找到texlive-omegaware软件包"
exit 255
fi
LOG_INFO "步骤3: 如果未安装则安装texlive-omegaware软件包"
if [ $KEEP_INSTALLED -eq 0 ]; then
dnf install -y texlive-omegaware
CHECK_RESULT $? 0 0 "安装texlive-omegaware失败"
fi
LOG_INFO "步骤4: 检查ovf2ovp命令是否存在"
if ! command -v ovf2ovp > /dev/null 2>&1; then
LOG_ERROR "ovf2ovp命令不存在"
if [ $KEEP_INSTALLED -eq 0 ]; then
dnf remove -y texlive-omegaware
fi
exit 255
fi
LOG_INFO "步骤5: 检查ovf2ovp命令是否支持基本参数"
if ! ovf2ovp --help > /dev/null 2>&1; then
LOG_ERROR "ovf2ovp命令不支持--help参数"
if [ $KEEP_INSTALLED -eq 0 ]; then
dnf remove -y texlive-omegaware
fi
exit 255
fi
LOG_INFO "步骤6: 创建测试用的OVF文件"
cat > test_input.ovf << "EOF"
% Dummy OVF file for testing
EOF
CHECK_RESULT $? 0 0 "创建测试OVF文件失败"
LOG_INFO "步骤7: 使用ovf2ovp命令进行默认参数转换"
ovf2ovp test_input.ovf test_output.ovp
CHECK_RESULT $? 0 0 "ovf2ovp命令转换失败"
LOG_INFO "步骤8: 检查输出文件是否生成"
if [ -f test_output.ovp ]; then
LOG_INFO "成功生成输出文件test_output.ovp"
else
LOG_ERROR "未生成输出文件test_output.ovp"
if [ $KEEP_INSTALLED -eq 0 ]; then
dnf remove -y texlive-omegaware
fi
exit 1
fi
LOG_INFO "步骤9: 清理测试文件"
rm -f test_input.ovf test_output.ovp
CHECK_RESULT $? 0 0 "清理测试文件失败"
LOG_INFO "步骤10: 恢复软件包状态"
if [ $KEEP_INSTALLED -eq 0 ]; then
LOG_INFO "卸载texlive-omegaware软件包"
dnf remove -y texlive-omegaware
CHECK_RESULT $? 0 0 "卸载texlive-omegaware失败"
else
LOG_INFO "保持texlive-omegaware软件包安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

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

View File

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

View File

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

View File

@@ -1,155 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试ovf2ovp命令的帮助信息显示
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试ovf2ovp命令的帮助信息显示
# 定义颜色和日志函数(如果未定义)
if ! type LOG_INFO &>/dev/null; then
LOG_INFO() {
echo -e "\033[32m[INFO]\033[0m $*"
}
fi
if ! type LOG_ERROR &>/dev/null; then
LOG_ERROR() {
echo -e "\033[31m[ERROR]\033[0m $*" >&2
}
fi
# 检查CHECK_RESULT函数是否已定义
if ! type CHECK_RESULT &>/dev/null; then
CHECK_RESULT() {
local actual=$1
local expect=$2
local mode=$3
local error_msg=$4
if [ $mode -eq 0 ]; then
if [ $actual -eq $expect ]; then
LOG_INFO "检查通过"
else
LOG_ERROR "检查失败: $error_msg"
exit $actual
fi
fi
}
fi
# 检查SSH_CMD函数是否已定义
if ! type SSH_CMD &>/dev/null; then
SSH_CMD() {
LOG_ERROR "SSH_CMD函数未定义无法在远程节点执行命令"
exit 1
}
fi
# 定义软件包名称和命令
PACKAGE_NAME="texlive-omegaware"
COMMAND_NAME="ovf2ovp"
COMMAND_PATH="/usr/bin/ovf2ovp"
# 步骤1检查yum源中是否有texlive-omegaware软件包
LOG_INFO "步骤1检查yum源中是否有${PACKAGE_NAME}软件包"
if ! dnf list available ${PACKAGE_NAME} &>/dev/null; then
LOG_ERROR "yum源中没有找到${PACKAGE_NAME}软件包"
exit 255
fi
LOG_INFO "yum源中存在${PACKAGE_NAME}软件包"
# 步骤2检查是否已安装texlive-omegaware
LOG_INFO "步骤2检查是否已安装${PACKAGE_NAME}软件包"
INSTALLED=false
if rpm -q ${PACKAGE_NAME} &>/dev/null; then
LOG_INFO "${PACKAGE_NAME}软件包已安装"
INSTALLED=true
else
LOG_INFO "${PACKAGE_NAME}软件包未安装"
INSTALLED=false
fi
# 步骤3如果未安装则安装软件包
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "步骤3安装${PACKAGE_NAME}软件包"
dnf install -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}软件包失败"
LOG_INFO "${PACKAGE_NAME}软件包安装成功"
fi
# 步骤4检查ovf2ovp命令是否存在
LOG_INFO "步骤4检查${COMMAND_NAME}命令是否存在"
if [ ! -f "${COMMAND_PATH}" ]; then
LOG_ERROR "${COMMAND_NAME}命令不存在"
exit 255
fi
LOG_INFO "${COMMAND_NAME}命令存在"
# 步骤5测试ovf2ovp命令的help参数
LOG_INFO "步骤5测试${COMMAND_NAME}命令的help参数"
# 检查是否支持--help参数
${COMMAND_PATH} --help &>/dev/null
if [ $? -eq 255 ]; then
# 如果不支持--help尝试-h参数
${COMMAND_PATH} -h &>/dev/null
if [ $? -eq 255 ]; then
LOG_ERROR "${COMMAND_NAME}命令不支持help参数"
exit 255
else
# 使用-h参数测试
LOG_INFO "使用-h参数测试${COMMAND_NAME}命令的帮助信息"
${COMMAND_PATH} -h 2>&1 | grep -q "usage\|Usage\|用法"
CHECK_RESULT $? 0 0 "${COMMAND_NAME}命令的-h参数未显示帮助信息"
LOG_INFO "${COMMAND_NAME}命令的-h参数显示帮助信息成功"
fi
else
# 使用--help参数测试
LOG_INFO "使用--help参数测试${COMMAND_NAME}命令的帮助信息"
${COMMAND_PATH} --help 2>&1 | grep -q "usage\|Usage\|用法"
CHECK_RESULT $? 0 0 "${COMMAND_NAME}命令的--help参数未显示帮助信息"
LOG_INFO "${COMMAND_NAME}命令的--help参数显示帮助信息成功"
fi
# 步骤6测试ovf2ovp命令的无效参数
LOG_INFO "步骤6测试${COMMAND_NAME}命令的无效参数"
${COMMAND_PATH} --invalid-param &>/dev/null
if [ $? -eq 255 ]; then
LOG_INFO "${COMMAND_NAME}命令正确处理了无效参数"
else
# 检查退出码是否为1一般命令无效参数退出码为1
CHECK_RESULT $? 1 0 "${COMMAND_NAME}命令未正确处理无效参数"
LOG_INFO "${COMMAND_NAME}命令正确处理了无效参数"
fi
# 步骤7清理环境
LOG_INFO "步骤7清理环境"
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "卸载${PACKAGE_NAME}软件包"
dnf remove -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}软件包失败"
LOG_INFO "${PACKAGE_NAME}软件包卸载成功,环境已恢复"
else
LOG_INFO "测试前已安装${PACKAGE_NAME},保持安装状态"
fi
LOG_INFO "测试完成:${COMMAND_NAME}命令的帮助信息显示测试通过"
}
main "$@"

View File

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

View File

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

View File

@@ -1,83 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试ovf2ovp命令将转换结果输出到标准输出
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查ovf2ovp命令是否支持输出到标准输出
LOG_INFO "1. 检查texlive-omegaware软件包是否在yum源中"
dnf list texlive-omegaware &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "texlive-omegaware软件包不在yum源中"
exit 255
fi
LOG_INFO "2. 检查当前是否已安装texlive-omegaware"
rpm -q texlive-omegaware &>/dev/null
INSTALLED=$?
if [ $INSTALLED -ne 0 ]; then
LOG_INFO "未安装texlive-omegaware开始安装"
dnf install -y texlive-omegaware
CHECK_RESULT $? 0 0 "安装texlive-omegaware失败"
else
LOG_INFO "texlive-omegaware已安装"
fi
LOG_INFO "3. 检查ovf2ovp命令是否存在"
which ovf2ovp &>/dev/null
CHECK_RESULT $? 0 0 "ovf2ovp命令不存在"
LOG_INFO "4. 检查ovf2ovp命令是否支持--help参数"
ovf2ovp --help &>/dev/null
CHECK_RESULT $? 0 0 "ovf2ovp命令不支持--help参数"
LOG_INFO "5. 创建测试用的OVF文件"
cat > test_input.ovf << "EOF"
% This is a minimal OVF file for testing
(BeginFile test.ovf)
(EndFile)
EOF
CHECK_RESULT $? 0 0 "创建测试OVF文件失败"
LOG_INFO "6. 测试ovf2ovp命令将转换结果输出到标准输出"
ovf2ovp test_input.ovf -o -
CHECK_RESULT $? 0 0 "ovf2ovp命令输出到标准输出失败"
LOG_INFO "7. 验证输出内容包含OVP格式特征"
ovf2ovp test_input.ovf -o - | grep -q "(BeginFile"
CHECK_RESULT $? 0 0 "输出内容不包含OVP格式特征"
LOG_INFO "8. 清理测试文件"
rm -f test_input.ovf
CHECK_RESULT $? 0 0 "清理测试文件失败"
LOG_INFO "9. 恢复环境状态"
if [ $INSTALLED -ne 0 ]; then
LOG_INFO "卸载测试安装的texlive-omegaware软件包"
dnf remove -y texlive-omegaware
CHECK_RESULT $? 0 0 "卸载texlive-omegaware失败"
else
LOG_INFO "保持texlive-omegaware安装状态"
fi
LOG_INFO "10. 测试完成"
}
main "$@"

View File

@@ -1,154 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试ovf2ovp命令指定OFM文件名进行转换
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 设置环境变量
LOG_INFO() { echo "[INFO] $*"; }
LOG_ERROR() { echo "[ERROR] $*"; }
CHECK_RESULT() {
local actual=$1
local expect=$2
local mode=$3
local msg=$4
if [ $mode -eq 0 ]; then
if [ $actual -eq $expect ]; then
LOG_INFO "$msg 成功"
else
LOG_ERROR "$msg 失败,实际结果: $actual, 期望结果: $expect"
exit $actual
fi
else
if [ $actual -ne $expect ]; then
LOG_INFO "$msg 成功"
else
LOG_ERROR "$msg 失败,实际结果: $actual, 期望结果: $expect"
exit $actual
fi
fi
}
# 检查软件包是否在yum源中
check_package_in_repo() {
local pkg=$1
LOG_INFO "检查yum源中是否存在软件包 $pkg"
dnf list available $pkg &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 $pkg 不在yum源中"
exit 255
fi
LOG_INFO "软件包 $pkg 在yum源中"
}
# 检查命令参数是否存在或不支持
check_command_param() {
local cmd=$1
local param=$2
LOG_INFO "检查命令 $cmd 是否支持参数 $param"
$cmd --help 2>&1 | grep -q "$param"
if [ $? -ne 0 ]; then
LOG_ERROR "命令 $cmd 不支持参数 $param"
exit 255
fi
LOG_INFO "命令 $cmd 支持参数 $param"
}
# 检查软件包是否已安装
check_package_installed() {
local pkg=$1
LOG_INFO "检查软件包 $pkg 是否已安装"
rpm -q $pkg &>/dev/null
return $?
}
# 安装软件包
install_package() {
local pkg=$1
LOG_INFO "安装软件包 $pkg"
dnf install -y $pkg
CHECK_RESULT $? 0 0 "安装软件包 $pkg"
}
# 卸载软件包
uninstall_package() {
local pkg=$1
LOG_INFO "卸载软件包 $pkg"
dnf remove -y $pkg
CHECK_RESULT $? 0 0 "卸载软件包 $pkg"
}
# 主测试函数
main() {
local pkg_name="texlive-omegaware"
local cmd="ovf2ovp"
local ofm_file="test.ofm"
local ovf_file="test.ovf"
local ovp_file="test.ovp"
local need_cleanup=0
# 步骤1: 检查软件包是否在yum源中
check_package_in_repo $pkg_name
# 步骤2: 检查命令参数是否支持
check_command_param $cmd "-ofm"
# 步骤3: 检查软件包是否已安装
if check_package_installed $pkg_name; then
LOG_INFO "软件包 $pkg_name 已安装,测试后保持安装状态"
else
LOG_INFO "软件包 $pkg_name 未安装,将在测试后卸载"
need_cleanup=1
install_package $pkg_name
fi
# 步骤4: 创建测试文件
LOG_INFO "创建测试文件 $ofm_file$ovf_file"
echo "OFM test content" > $ofm_file
echo "OVF test content" > $ovf_file
CHECK_RESULT $? 0 0 "创建测试文件"
# 步骤5: 执行ovf2ovp命令指定OFM文件名进行转换
LOG_INFO "执行ovf2ovp命令指定OFM文件名进行转换"
$cmd -ofm $ofm_file $ovf_file $ovp_file
CHECK_RESULT $? 0 0 "执行ovf2ovp命令"
# 步骤6: 检查转换后的文件是否存在
LOG_INFO "检查转换后的文件 $ovp_file 是否存在"
[ -f $ovp_file ]
CHECK_RESULT $? 0 0 "检查转换后的文件是否存在"
# 步骤7: 清理测试文件
LOG_INFO "清理测试文件"
rm -f $ofm_file $ovf_file $ovp_file
CHECK_RESULT $? 0 0 "清理测试文件"
# 步骤8: 如果测试前未安装,则卸载软件包
if [ $need_cleanup -eq 1 ]; then
uninstall_package $pkg_name
fi
LOG_INFO "测试完成"
}
# 执行主测试函数
main
}
main "$@"

View File

@@ -1,88 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试ovf2ovp命令指定输出OVP文件名
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 环境检查判断是否已安装texlive-omegaware软件包
LOG_INFO "检查是否已安装texlive-omegaware软件包"
rpm -q texlive-omegaware > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-omegaware已安装测试结束后将保持安装状态"
INSTALLED=1
else
LOG_INFO "texlive-omegaware未安装测试前将进行安装"
INSTALLED=0
fi
# 检查yum源中是否有texlive-omegaware软件包
LOG_INFO "检查yum源中是否有texlive-omegaware软件包"
dnf list available texlive-omegaware > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中未找到texlive-omegaware软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-omegaware软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装texlive-omegaware软件包"
dnf install -y texlive-omegaware > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装texlive-omegaware软件包失败"
fi
# 验证ovf2ovp命令是否存在
LOG_INFO "验证ovf2ovp命令是否存在"
which ovf2ovp > /dev/null 2>&1
CHECK_RESULT $? 0 0 "ovf2ovp命令不存在"
# 测试ovf2ovp命令指定输出OVP文件名功能
LOG_INFO "测试ovf2ovp命令指定输出OVP文件名功能"
# 创建一个测试用的OVF文件
TEST_OVF="test_input.ovf"
TEST_OVP="test_output.ovp"
echo "dummy OVF content" > $TEST_OVF
# 测试指定输出文件参数
LOG_INFO "执行ovf2ovp命令指定输出文件为$TEST_OVP"
ovf2ovp -o $TEST_OVP $TEST_OVF > /dev/null 2>&1
CHECK_RESULT $? 0 0 "ovf2ovp命令执行失败指定输出OVP文件名功能异常"
# 验证输出文件是否生成
LOG_INFO "验证输出文件$TEST_OVP是否生成"
[ -f $TEST_OVP ]
CHECK_RESULT $? 0 0 "输出文件$TEST_OVP未生成"
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f $TEST_OVF $TEST_OVP
# 环境恢复:如果测试前未安装,则卸载软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载texlive-omegaware软件包"
dnf remove -y texlive-omegaware > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载texlive-omegaware软件包失败"
else
LOG_INFO "测试前已安装texlive-omegaware保持安装状态"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,74 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-27
# @License : Mulan PSL v2
# @Desc : 测试使用 -text-format=mixed 参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 texlive-omegaware_ovf2ovp 的 text-format=mixed 参数功能"
# 检查软件包是否在yum源中
LOG_INFO "检查 texlive-omegaware 软件包是否在yum源中"
dnf list available texlive-omegaware &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "texlive-omegaware 软件包不在yum源中"
exit 255
fi
# 检查是否已安装软件包
LOG_INFO "检查 texlive-omegaware 是否已安装"
rpm -q texlive-omegaware &>/dev/null
if [ $? -eq 0 ]; then
installed=true
LOG_INFO "texlive-omegaware 已安装,测试完成后将保持安装状态"
else
installed=false
LOG_INFO "texlive-omegaware 未安装,测试完成后将卸载"
fi
# 如果未安装,则安装软件包
if [ "$installed" = false ]; then
LOG_INFO "安装 texlive-omegaware"
dnf install -y texlive-omegaware &>/dev/null
CHECK_RESULT $? 0 0 "安装 texlive-omegaware 失败"
fi
# 测试命令参数是否支持
LOG_INFO "测试 ovf2ovp 命令是否支持 -text-format=mixed 参数"
ovf2ovp --help | grep -q "\-\-text\-format=mixed"
if [ $? -ne 0 ]; then
LOG_ERROR "ovf2ovp 命令不支持 -text-format=mixed 参数"
exit 255
fi
# 执行测试命令并验证结果
LOG_INFO "执行 ovf2ovp 命令测试 -text-format=mixed"
ovf2ovp --text-format=mixed test.ovf test.ovp &>/dev/null
CHECK_RESULT $? 0 0 "执行 ovf2ovp 命令失败"
#清理环境
if [ "$installed" = false ]; then
LOG_INFO "卸载 texlive-omegaware"
dnf remove -y texlive-omegaware &>/dev/null
CHECK_RESULT $? 0 0 \"卸载 texlive-omega ware失败\""
fi
LOG_INFO "测试完成"
}
main "$@"

View File

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

View File

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

View File

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

View File

@@ -1,70 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试ovp2ovf命令的基本文件转换功能仅指定输入文件
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试ovp2ovf命令的基本文件转换功能仅指定输入文件"
LOG_INFO "步骤1: 检查环境中是否已安装texlive-omegaware软件包"
rpm -q texlive-omegaware
if [ $? -eq 0 ]; then
LOG_INFO "texlive-omegaware软件包已安装测试完成后将保持安装状态"
INSTALLED="true"
else
LOG_INFO "texlive-omegaware软件包未安装将在测试过程中安装"
INSTALLED="false"
fi
LOG_INFO "步骤2: 检查yum源中是否存在texlive-omegaware软件包"
dnf list available texlive-omegaware
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-omegaware软件包"
exit 255
fi
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "步骤3: 安装texlive-omegaware软件包"
dnf install -y texlive-omegaware
CHECK_RESULT $? 0 0 "安装texlive-omegaware软件包失败"
fi
LOG_INFO "步骤4: 检查ovp2ovf命令是否可用"
which ovp2ovf
CHECK_RESULT $? 0 0 "ovp2ovf命令未找到"
LOG_INFO "步骤5: 准备测试输入文件"
cat > test_input.ovp << "EOF"
% 这是一个简单的测试OVP文件
test content
EOF
CHECK_RESULT $? 0 0 "创建测试输入文件失败"
LOG_INFO "步骤6: 执行ovp2ovf命令进行基本文件转换"
ovp2ovf test_input.ovp test_output.ovf
CHECK_RESULT $? 0 0 "ovp2ovf命令执行失败"
LOG_INFO "步骤7: 检查输出文件是否生成"
[ -f test_output.ovf ]
CHECK_RESULT $? 0 0 "输出文件未生成"
LOG_INFO "步骤8: 清理测试文件"
rm -f test_input.ovp test_output.ovf
CHECK_RESULT $? 0 0 "清理测试文件失败"
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "步骤9: 卸载测试过程中安装的texlive-omegaware软件包"
dnf remove -y texlive-omegaware
CHECK_RESULT $? 0 0 "卸载texlive-omegaware软件包失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,105 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试ovp2ovf命令指定输出OVF文件名的功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试ovp2ovf命令指定输出OVF文件名的功能"
LOG_INFO "检查当前环境中是否已安装texlive-omegaware软件包"
rpm -q texlive-omegaware > /dev/null 2>&1
INSTALLED=$?
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "texlive-omegaware软件包已安装测试后将保持安装状态"
NEED_UNINSTALL=false
else
LOG_INFO "texlive-omegaware软件包未安装测试前将安装该软件包"
NEED_UNINSTALL=true
fi
LOG_INFO "检查yum源中是否存在texlive-omegaware软件包"
dnf list available texlive-omegaware > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中未找到texlive-omegaware软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-omegaware软件包测试终止"
exit 255
fi
if [ "$NEED_UNINSTALL" = true ]; then
LOG_INFO "开始安装texlive-omegaware软件包"
dnf install -y texlive-omegaware > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装texlive-omegaware软件包失败"
LOG_INFO "texlive-omegaware软件包安装成功"
fi
LOG_INFO "检查ovp2ovf命令是否可用"
which ovp2ovf > /dev/null 2>&1
CHECK_RESULT $? 0 0 "ovp2ovf命令未找到或不可用"
LOG_INFO "测试ovp2ovf命令的--help参数"
ovp2ovf --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "ovp2ovf命令不支持--help参数"
LOG_INFO "创建一个用于测试的OVP输入文件"
cat > test_input.ovp << "EOF"
% 这是一个简单的测试OVP文件
\relax
EOF
CHECK_RESULT $? 0 0 "创建测试OVP文件失败"
LOG_INFO "测试ovp2ovf命令指定输出文件功能使用-o参数指定输出文件名为test_output.ovf"
ovp2ovf -o test_output.ovf test_input.ovp > /dev/null 2>&1
CHECK_RESULT $? 0 0 "使用-o参数执行ovp2ovf命令失败"
LOG_INFO "检查指定的输出文件test_output.ovf是否生成"
[ -f "test_output.ovf" ]
CHECK_RESULT $? 0 0 "未生成指定的输出文件test_output.ovf"
LOG_INFO "测试ovp2ovf命令指定输出文件功能使用--output参数指定输出文件名为test_output2.ovf"
ovp2ovf --output test_output2.ovf test_input.ovp > /dev/null 2>&1
CHECK_RESULT $? 0 0 "使用--output参数执行ovp2ovf命令失败"
LOG_INFO "检查指定的输出文件test_output2.ovf是否生成"
[ -f "test_output2.ovf" ]
CHECK_RESULT $? 0 0 "未生成指定的输出文件test_output2.ovf"
LOG_INFO "测试ovp2ovf命令不支持的参数例如--nonexistent"
ovp2ovf --nonexistent test_input.ovp > /dev/null 2>&1
if [ $? -ne 255 ] && [ $? -ne 1 ]; then
LOG_ERROR "ovp2ovf命令接受了不支持的参数--nonexistent"
exit 255
fi
LOG_INFO "ovp2ovf命令正确处理了不支持的参数"
LOG_INFO "清理测试生成的文件"
rm -f test_input.ovp test_output.ovf test_output2.ovf
CHECK_RESULT $? 0 0 "清理测试文件失败"
if [ "$NEED_UNINSTALL" = true ]; then
LOG_INFO "测试完成卸载之前安装的texlive-omegaware软件包"
dnf remove -y texlive-omegaware > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载texlive-omegaware软件包失败"
LOG_INFO "texlive-omegaware软件包卸载成功环境已恢复"
else
LOG_INFO "测试完成保持texlive-omegaware软件包的安装状态"
fi
LOG_INFO "ovp2ovf命令指定输出OVF文件名的功能测试完成"
}
main "$@"

View File

@@ -1,98 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试ovp2ovf命令同时指定输出OVF和OFM文件名的功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 环境检查判断是否已安装texlive-omegaware
LOG_INFO "检查是否已安装texlive-omegaware软件包"
rpm -q texlive-omegaware > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-omegaware已安装测试完成后将保持安装状态"
INSTALLED=1
else
LOG_INFO "texlive-omegaware未安装将在测试前安装并在测试后卸载"
INSTALLED=0
fi
# 检查yum源中是否存在texlive-omegaware软件包
LOG_INFO "检查yum源中是否存在texlive-omegaware软件包"
dnf list available texlive-omegaware > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在texlive-omegaware软件包"
exit 255
fi
# 如果未安装则安装texlive-omegaware
if [ ${INSTALLED} -eq 0 ]; then
LOG_INFO "安装texlive-omegaware软件包"
dnf install -y texlive-omegaware > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装texlive-omegaware失败"
fi
# 检查ovp2ovf命令是否支持指定OVF和OFM文件名参数
LOG_INFO "检查ovp2ovf命令是否支持指定OVF和OFM文件名参数"
ovp2ovf --help 2>&1 | grep -q "ovf"
if [ $? -ne 0 ]; then
LOG_ERROR "ovp2ovf命令不支持指定OVF文件名参数"
exit 255
fi
ovp2ovf --help 2>&1 | grep -q "ofm"
if [ $? -ne 0 ]; then
LOG_ERROR "ovp2ovf命令不支持指定OFM文件名参数"
exit 255
fi
# 创建测试用的OVP文件
LOG_INFO "创建测试用的OVP文件"
cat > test_input.ovp << EOF
% This is a test OVP file
EOF
CHECK_RESULT $? 0 0 "创建测试OVP文件失败"
# 测试ovp2ovf命令同时指定输出OVF和OFM文件名的功能
LOG_INFO "执行ovp2ovf命令同时指定输出OVF和OFM文件名"
ovp2ovf test_input.ovp --ovf=test_output.ovf --ofm=test_output.ofm
CHECK_RESULT $? 0 0 "ovp2ovf命令执行失败"
# 检查生成的OVF和OFM文件是否存在
LOG_INFO "检查生成的OVF文件是否存在"
[ -f test_output.ovf ]
CHECK_RESULT $? 0 0 "未生成OVF文件"
LOG_INFO "检查生成的OFM文件是否存在"
[ -f test_output.ofm ]
CHECK_RESULT $? 0 0 "未生成OFM文件"
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f test_input.ovp test_output.ovf test_output.ofm
CHECK_RESULT $? 0 0 "清理测试文件失败"
# 如果测试前未安装则卸载texlive-omegaware
if [ ${INSTALLED} -eq 0 ]; then
LOG_INFO "卸载texlive-omegaware软件包"
dnf remove -y texlive-omegaware > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载texlive-omegaware失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,70 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-27
# @License : Mulan PSL v2
# @Desc : 测试 ovp2ovf 命令的 verbose 参数,验证是否显示进度报告
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 ovp2ovf 命令的 verbose 参数,验证是否显示进度报告"
# 检查软件包是否已安装
if ! dnf list installed texlive-omegaware &>/dev/null; then
LOG_INFO "环境未安装 texlive-omegaware将进行安装"
# 检查 yum 源中是否有该软件包
if ! dnf list available texlive-omegaware &>/dev/null; then
LOG_ERROR "yum 源中未找到 texlive-omegaware 软件包"
exit 255
fi
# 安装软件包
dnf install -y texlive-omegaware
CHECK_RESULT $? 0 0 "安装 texlive-omegaware 失败"
# 标记需要卸载
UNINSTALL_NEEDED=1
else
LOG_INFO "环境已安装 texlive-omegaware无需安装"
UNINSTALL_NEEDED=0
fi
# 检查 ovp2ovf 命令是否存在
if ! command -v ovp2ovf &>/dev/null; then
LOG_ERROR "ovp2ovf 命令不存在"
exit 255
fi
# 测试 verbose 参数是否支持
LOG_INFO "测试 ovp2ovf 命令是否支持 verbose 参数"
ovp2ovf --help | grep -q -- "--verbose"
CHECK_RESULT $? 0 0 "ovp2ovf 命令不支持 verbose 参数"
# 执行 ovp2ovf --verbose 并验证输出包含进度报告信息(假设输入文件为 test.ovp
LOG_INFO "执行 ovp2ovf --verbose 并验证输出"
output=$(ovp2ovf --verbose test.ovp 2>&1)
echo "$output" | grep -q "进度报告"
CHECK_RESULT $? 0 0 "verbose 参数未显示进度报告"
# 清理环境(如果之前安装了软件包)
if [ "$UNINSTALL_NEEDED" -eq 1 ]; then
LOG_INFO "卸载 texlive-omegaware"
dnf remove -y texlive-omegaware
CHECK_RESULT $? 0 0 "卸载 texlive-omegaware 失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,83 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-27
# @License : Mulan PSL v2
# @Desc : 测试 ovp2ovf 命令的 version 参数,验证是否输出版本信息并退出
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 ovp2ovf 命令的 version 参数,验证是否输出版本信息并退出"
# 检查软件包是否在yum源中
LOG_INFO "检查 texlive-omegaware 软件包是否在yum源中"
dnf list available texlive-omegaware >/dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "texlive-omegaware 软件包不在yum源中"
exit 255
fi
# 检查是否已安装软件包
LOG_INFO "检查 texlive-omegaware 软件包是否已安装"
rpm -q texlive-omegaware >/dev/null 2>&1
if [ $? -eq 0 ]; then
installed=true
LOG_INFO "texlive-omegaware 软件包已安装,脚本结束后将保持安装状态"
else
installed=false
LOG_INFO "texlive-omegaware 软件包未安装,将在测试结束后卸载"
fi
# 如果未安装,则安装软件包
if [ "$installed" = false ]; then
LOG_INFO "安装 texlive-omegaware 软件包"
dnf install -y texlive-omegaware >/dev/null 2>&1
CHECK_RESULT $? 0 0 "安装 texlive-omegware失败"
fi
# 检查 ovp2ovf 命令是否支持 version参数
LOG_INFO "检查 ovp2ovf命令是否支持version参数"
ovp2ovf --help | grep -q -- "--version" >/dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "ovp2ovf 命令不支持version参数"
if [ "$installed" = false ]; then
LOG_INFO "卸载 texlive-omegware软件包"
dnf remove -y texlive-omegaware >/dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载 texelive-omegaeware失败"
fi
exit 255
fi
#执行 ovp20vf version参数测试
LOG_INFO “执行 ovp20vf --version”
output=$(ovp20vf --version)
CHECK_RESULT $? 0 0 “执行 ovp20vf --version失败”
#验证输出版本信息
echo$output| grep -q “^ovp20vf”
CHECK_RESULT $? 0 0 “未输出版本信息”
#环境恢复:如果脚本开始时未安装,则卸载
if [$installed= false ]; then
LOG_INFO “卸载 texelive-omegaeware软件包”
dnf remove -y texelive-omegaeware>/dev/null 2>&1
CHECK_RESULT $? 00“卸载 texelive--omegaeware失败”
fi
LOG_INFO“测试完成”
}
main "$@"

View File

@@ -1,106 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试 wofm2opl 命令的基本字体度量文件转换功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 wofm2opl 命令的基本字体度量文件转换功能"
# 检查是否已安装 texlive-omegaware 软件包
LOG_INFO "步骤1检查 texlive-omegaware 软件包是否已安装"
if dnf list installed texlive-omegaware &>/dev/null; then
LOG_INFO "texlive-omegaware 软件包已安装,测试完成后将保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-omegaware 软件包未安装,将在测试过程中安装"
INSTALLED=false
fi
# 检查 yum 源中是否有 texlive-omegaware 软件包
LOG_INFO "步骤2检查 yum 源中是否有 texlive-omegaware 软件包"
if ! dnf list available texlive-omegaware &>/dev/null; then
LOG_ERROR "yum 源中未找到 texlive-omegaware 软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤3安装 texlive-omegaware 软件包"
dnf install -y texlive-omegaware
CHECK_RESULT $? 0 0 "安装 texlive-omegaware 软件包失败"
fi
# 检查 wofm2opl 命令是否存在
LOG_INFO "步骤4检查 wofm2opl 命令是否存在"
if ! command -v wofm2opl &>/dev/null; then
LOG_ERROR "wofm2opl 命令不存在"
exit 255
fi
# 测试 wofm2opl 命令的基本参数
LOG_INFO "步骤5测试 wofm2opl 命令的基本参数"
wofm2opl --help &>/dev/null
CHECK_RESULT $? 0 0 "wofm2opl 命令参数不支持"
# 创建一个测试用的 OFM 文件(示例文件)
LOG_INFO "步骤6创建一个测试用的 OFM 文件"
cat > test.ofm <<EOF
% This is a test OFM file
(FONTDIMEN
(SLANT R 0.0)
(SPACE R 0.0)
(STRETCH R 0.0)
(SHRINK R 0.0)
(XHEIGHT R 0.0)
(QUAD R 1.0)
(EXTRASPACE R 0.0)
)
EOF
CHECK_RESULT $? 0 0 "创建测试 OFM 文件失败"
# 使用 wofm2opl 命令转换 OFM 文件为 OPL 文件
LOG_INFO "步骤7使用 wofm2opl 命令转换 OFM 文件为 OPL 文件"
wofm2opl test.ofm test.opl
CHECK_RESULT $? 0 0 "wofm2opl 命令转换失败"
# 检查转换后的 OPL 文件是否存在
LOG_INFO "步骤8检查转换后的 OPL 文件是否存在"
if [ -f test.opl ]; then
LOG_INFO "OPL 文件已成功生成"
else
LOG_ERROR "OPL 文件未生成"
exit 1
fi
# 清理测试文件
LOG_INFO "步骤9清理测试文件"
rm -f test.ofm test.opl
CHECK_RESULT $? 0 0 "清理测试文件失败"
# 如果测试前未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤10卸载 texlive-omegaware 软件包"
dnf remove -y texlive-omegaware
CHECK_RESULT $? 0 0 "卸载 texlive-omegaware 软件包失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

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

View File

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

View File

@@ -1,66 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-27
# @License : Mulan PSL v2
# @Desc : 测试使用 -version 参数输出版本信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试脚本test_texlive-omegaware_wofm2opl_version
# 步骤1检查软件包是否已安装
LOG_INFO "检查软件包 texlive-omegaware-wofm2opl 是否已安装"
rpm -q texlive-omegaware-wofm2opl
if [ $? -eq 0 ]; then
LOG_INFO "软件包已安装,跳过安装步骤"
INSTALLED=true
else
LOG_INFO "软件包未安装,将在测试步骤中安装"
INSTALLED=false
fi
# 步骤2检查yum源中是否存在软件包
LOG_INFO "检查yum源中是否存在 texlive-omegaware-wofm2opl"
dnf list available texlive-omegaware-wofm2opl
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在 texlive-omegaware-wofm2opl 软件包"
exit 255
fi
# 步骤3安装软件包如果未安装
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装 texlive-omegaware-wofm2opl 软件包"
dnf install -y texlive-omegaware-wofm2opl
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 步骤4测试 -version 参数输出版本信息
LOG_INFO "测试 -version 参数输出版本信息"
wofm2opl -version
CHECK_RESULT $? 0 0 "执行 -version 参数失败"
# 步骤5清理环境如果之前未安装
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载 texlive-omegaware-wofm2opl 软件包"
dnf remove -y texlive-omegaware-wofm2opl
CHECK_RESULT $? 0 0 "卸载软件包失败"
fi
LOG_INFO "测试脚本执行完成"
}
main "$@"

View File

@@ -1,106 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试 wopl2ofm 命令仅指定 OPL 文件,验证是否生成默认的 OFM 文件
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 判断是否已安装 texlive-omegaware 软件包
LOG_INFO "检查是否已安装 texlive-omegaware"
rpm -q texlive-omegaware > /dev/null 2>&1
is_installed=$?
# 如果未安装,则尝试安装
if [ $is_installed -ne 0 ]; then
LOG_INFO "texlive-omegaware 未安装,开始安装"
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否有 texlive-omegaware"
dnf list available texlive-omegaware > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到 texlive-omegaware 软件包"
exit 255
fi
# 安装软件包
dnf install -y texlive-omegaware
CHECK_RESULT $? 0 0 "安装 texlive-omegaware 失败"
else
LOG_INFO "texlive-omegaware 已安装"
fi
# 测试 wopl2ofm 命令仅指定 OPL 文件,验证是否生成默认的 OFM 文件
LOG_INFO "测试 wopl2ofm 命令仅指定 OPL 文件,验证是否生成默认的 OFM 文件"
# 创建一个测试 OPL 文件
LOG_INFO "创建测试 OPL 文件 test.op"
cat > test.op << "EOF"
% This is a test OPL file
(FONTDIMEN
(SLANT R 0.0)
(SPACE R 0.0)
(STRETCH R 0.0)
(SHRINK R 0.0)
(XHEIGHT R 0.0)
(QUAD R 1.0)
(EXTRASPACE R 0.0)
)
(CHARACTER C 65
(CHARWD R 0.5)
(CHARHT R 0.88)
(CHARDP R 0.12)
)
EOF
CHECK_RESULT $? 0 0 "创建测试 OPL 文件失败"
# 执行 wopl2ofm 命令,仅指定 OPL 文件
LOG_INFO "执行 wopl2ofm 命令,仅指定 OPL 文件"
wopl2ofm test.op
CHECK_RESULT $? 0 0 "wopl2ofm 命令执行失败"
# 检查是否生成了默认的 OFM 文件
LOG_INFO "检查是否生成了默认的 OFM 文件 test.ofm"
if [ -f test.ofm ]; then
LOG_INFO "成功生成了默认的 OFM 文件 test.ofm"
else
LOG_ERROR "未生成默认的 OFM 文件 test.ofm"
# 清理测试文件
rm -f test.op test.ofm
# 如果脚本开始时未安装软件包,则卸载
if [ $is_installed -ne 0 ]; then
LOG_INFO "卸载 texlive-omegaware"
dnf remove -y texlive-omegaware
CHECK_RESULT $? 0 0 "卸载 texlive-omegaware 失败"
fi
exit 1
fi
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f test.op test.ofm
CHECK_RESULT $? 0 0 "清理测试文件失败"
# 如果脚本开始时未安装软件包,则卸载
if [ $is_installed -ne 0 ]; then
LOG_INFO "卸载 texlive-omegaware"
dnf remove -y texlive-omegaware
CHECK_RESULT $? 0 0 "卸载 texlive-omegaware 失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

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

View File

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

View File

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

View File

@@ -1,116 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-26
# @License : Mulan PSL v2
# @Desc : 测试 wovf2ovp 命令将OVF和OFM文件转换为OVP文件的基本功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查环境是否已安装texlive-omegaware
LOG_INFO "检查是否已安装texlive-omegaware"
rpm -q texlive-omegaware
if [ $? -eq 0 ]; then
LOG_INFO "texlive-omegaware已安装测试结束后将保持安装状态"
ENV_INSTALLED=1
else
LOG_INFO "texlive-omegaware未安装将在测试前安装并在测试后卸载"
ENV_INSTALLED=0
fi
# 检查yum源中是否有texlive-omegaware软件包
LOG_INFO "检查yum源中是否有texlive-omegaware软件包"
dnf list available texlive-omegaware
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-omegaware软件包"
exit 255
fi
# 如果环境未安装,则安装软件包
if [ $ENV_INSTALLED -eq 0 ]; then
LOG_INFO "安装texlive-omegaware软件包"
dnf install -y texlive-omegaware
CHECK_RESULT $? 0 0 "安装texlive-omegaware失败"
fi
# 检查wovf2ovp命令是否存在
LOG_INFO "检查wovf2ovp命令是否存在"
which wovf2ovp
if [ $? -ne 0 ]; then
LOG_ERROR "wovf2ovp命令不存在"
if [ $ENV_INSTALLED -eq 0 ]; then
LOG_INFO "卸载texlive-omegaware软件包"
dnf remove -y texlive-omegaware
fi
exit 255
fi
# 检查wovf2ovp命令是否支持必要参数
LOG_INFO "检查wovf2ovp命令是否支持必要参数"
wovf2ovp --help | grep -q "ovf"
if [ $? -ne 0 ]; then
LOG_ERROR "wovf2ovp命令不支持必要参数"
if [ $ENV_INSTALLED -eq 0 ]; then
LOG_INFO "卸载texlive-omegaware软件包"
dnf remove -y texlive-omegaware
fi
exit 255
fi
# 创建测试用的OVF和OFM文件
LOG_INFO "创建测试用的OVF和OFM文件"
cat > test_input.ovf << "EOF"
% This is a test OVF file
\relax
EOF
cat > test_input.ofm << "EOF"
% This is a test OFM file
\relax
EOF
# 执行wovf2ovp命令进行转换
LOG_INFO "执行wovf2ovp命令将OVF和OFM文件转换为OVP文件"
wovf2ovp test_input.ovf test_input.ofm test_output.ovp
CHECK_RESULT $? 0 0 "wovf2ovp命令执行失败"
# 检查转换后的OVP文件是否存在
LOG_INFO "检查转换后的OVP文件是否存在"
if [ -f test_output.ovp ]; then
LOG_INFO "OVP文件成功生成"
else
LOG_ERROR "OVP文件未生成"
if [ $ENV_INSTALLED -eq 0 ]; then
LOG_INFO "卸载texlive-omegaware软件包"
dnf remove -y texlive-omegaware
fi
exit 1
fi
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f test_input.ovf test_input.ofm test_output.ovp
# 如果测试前未安装,则卸载软件包
if [ $ENV_INSTALLED -eq 0 ]; then
LOG_INFO "卸载texlive-omegaware软件包"
dnf remove -y texlive-omegaware
CHECK_RESULT $? 0 0 "卸载texlive-omegaware失败"
fi
LOG_INFO "测试完成"
}
main "$@"

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