This commit is contained in:
2026-04-19 01:05:56 +08:00
53 changed files with 0 additions and 3678 deletions

View File

@@ -11,18 +11,6 @@
"name": "test_python3-libxslt_function_install",
"desc": "测试python3-libxslt软件包的正确安装与导入"
},
{
"name": "test_python3-libxslt_function_xsltproc",
"desc": "测试使用libxslt进行XSLT转换的基本功能"
},
{
"name": "test_python3-libxslt_function_parse",
"desc": "测试解析XML和XSLT文件的能力"
},
{
"name": "test_python3-libxslt_function_transform",
"desc": "测试执行XML到HTML的转换"
},
{
"name": "test_python3-libxslt_function_uninstall",
"desc": "测试python3-libxslt软件包的完整卸载"

View File

@@ -1,14 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/metrics/metrics-ganglia",
"machine num": 1,
"cases": [
{
"name": "test_metrics-ganglia_function_init",
"desc": "Test initialization of metrics-ganglia"
},
{
"name": "test_metrics-ganglia_function_collect",
"desc": "Test metrics collection functionality"
}
]
}

View File

@@ -10,26 +10,6 @@
"name": "test_neon-devel_function_config",
"desc": "Test the configuration of neon-devel package"
},
{
"name": "test_neon-devel_function_run",
"desc": "Test the execution of neon-devel package"
},
{
"name": "test_neon-devel_function_uninstall",
"desc": "Test the uninstallation of neon-devel package"
},
{
"name": "test_neon-devel_neon-config_prefix",
"desc": "测试 neon-config 命令的 --prefix 参数,用于更改前缀路径"
},
{
"name": "test_neon-devel_neon-config_libs",
"desc": "测试 neon-config 命令的 --libs 参数,用于打印库链接信息"
},
{
"name": "test_neon-devel_neon-config_la-file",
"desc": "测试 neon-config 命令的 --la-file 参数,用于打印 libtool .la 文件的位置"
},
{
"name": "test_neon-devel_neon-config_cflags",
"desc": "测试 neon-config 命令的 --cflags 参数,用于打印预处理器和编译器标志"
@@ -42,34 +22,6 @@
"name": "test_neon-devel_neon-config_version",
"desc": "测试 neon-config 命令的 --version 参数,用于输出版本信息"
},
{
"name": "test_neon-devel_neon-config_support_dav",
"desc": "测试 neon-config 命令的 --support 参数检查 dav 特性支持情况"
},
{
"name": "test_neon-devel_neon-config_support_ssl",
"desc": "测试 neon-config 命令的 --support 参数检查 ssl 特性支持情况"
},
{
"name": "test_neon-devel_neon-config_support_zlib",
"desc": "测试 neon-config 命令的 --support 参数检查 zlib 特性支持情况"
},
{
"name": "test_neon-devel_neon-config_support_ipv6",
"desc": "测试 neon-config 命令的 --support 参数检查 ipv6 特性支持情况"
},
{
"name": "test_neon-devel_neon-config_support_lfs",
"desc": "测试 neon-config 命令的 --support 参数检查 lfs 特性支持情况"
},
{
"name": "test_neon-devel_neon-config_support_i18n",
"desc": "测试 neon-config 命令的 --support 参数检查 i18n 特性支持情况"
},
{
"name": "test_neon-devel_neon-config_support_ts_ssl",
"desc": "测试 neon-config 命令的 --support 参数检查 ts_ssl 特性支持情况"
},
{
"name": "test_neon-devel_function_version",
"desc": "Test the version query of neon package"
@@ -77,26 +29,6 @@
{
"name": "test_neon-devel_function_config_basic",
"desc": "Test basic neon-config command usage"
},
{
"name": "test_neon-devel_function_libs_output",
"desc": "Test neon-config --libs for linker flags"
},
{
"name": "test_neon-devel_function_cflags_output",
"desc": "Test neon-config --cflags for compiler flags"
},
{
"name": "test_neon-devel_function_help_output",
"desc": "Test neon-config --help output"
},
{
"name": "test_neon-devel_function_support_ssl",
"desc": "Test neon-config --support for SSL feature"
},
{
"name": "test_neon-devel_function_support_zlib",
"desc": "Test neon-config --support for zlib feature"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/speech-dispatcher/speech-dispatcher-festival",
"machine num": 1,
"cases": [
{
"name": "test_speech-dispatcher-festival_function_init",
"desc": "Test initialization of speech-dispatcher-festival"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-d/texlive-censor",
"machine num": 1,
"cases": [
{
"name": "test_texlive-censor_function_basic",
"desc": "Test basic command usage"
}
]
}

View File

@@ -5,18 +5,6 @@
{
"name": "test_texlive-mfnfss_function_uninstall",
"desc": "Test package removal"
},
{
"name": "test_texlive-mfnfss_function_install",
"desc": "Test package installation"
},
{
"name": "test_texlive-mfnfss_function_check",
"desc": "Test package availability and version"
},
{
"name": "test_texlive-mfnfss_function_usage",
"desc": "Test basic font usage in LaTeX document"
}
]
}

View File

@@ -2,22 +2,10 @@
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-s/texlive-pseudocode",
"machine num": 1,
"cases": [
{
"name": "test_texlive-pseudocode_function_basic",
"desc": "Test basic pseudocode generation"
},
{
"name": "test_texlive-pseudocode_function_install",
"desc": "Test installation of texlive-pseudocode package"
},
{
"name": "test_texlive-pseudocode_function_usage",
"desc": "Test basic pseudocode typesetting"
},
{
"name": "test_texlive-pseudocode_function_examples",
"desc": "Test compilation of provided examples"
},
{
"name": "test_texlive-pseudocode_function_uninstall",
"desc": "Test removal of texlive-pseudocode package"

View File

@@ -9,18 +9,6 @@
{
"name": "test_texlive-synproof-doc_function_remove",
"desc": "Verify package uninstallation"
},
{
"name": "test_texlive-synproof-doc_function_doc_access",
"desc": "Check documentation accessibility"
},
{
"name": "test_texlive-synproof-doc_function_info_query",
"desc": "Query package information"
},
{
"name": "test_texlive-synproof-doc_function_version_check",
"desc": "Verify package version"
}
]
}

View File

@@ -5,18 +5,6 @@
{
"name": "test_texlive-texproposal-doc_function_install",
"desc": "Verify installation of texlive-texproposal-doc"
},
{
"name": "test_texlive-texproposal-doc_function_remove",
"desc": "Verify removal of texlive-texproposal-doc"
},
{
"name": "test_texlive-texproposal-doc_function_check_files",
"desc": "Verify existence of documentation files"
},
{
"name": "test_texlive-texproposal-doc_function_use_guide",
"desc": "Verify basic usage guide is readable"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-x/texlive-toolbox",
"machine num": 1,
"cases": [
{
"name": "test_texlive-toolbox_function_install",
"desc": "Test installation of texlive-toolbox"
}
]
}

View File

@@ -9,18 +9,6 @@
{
"name": "test_texlive-underlin_function_uninstall",
"desc": "Test the removal of texlive-underlin package"
},
{
"name": "test_texlive-underlin_function_check",
"desc": "Check if texlive-underlin package is installed"
},
{
"name": "test_texlive-underlin_function_usage",
"desc": "Test basic usage of texlive-underlin in LaTeX"
},
{
"name": "test_texlive-underlin_function_update",
"desc": "Test updating texlive-underlin package"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-y/texlive-uowthesistitlepage",
"machine num": 1,
"cases": [
{
"name": "test_texlive-uowthesistitlepage_function_titlepage",
"desc": "Test title page generation"
}
]
}

View File

@@ -1,227 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-10
# @License : Mulan PSL v2
# @Desc : 测试解析XML和XSLT文件的能力
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试解析XML和XSLT文件的能力
LOG_INFO "开始测试python3-libxslt的XML和XSLT解析功能"
# 检查软件包是否存在
LOG_INFO "检查yum源中是否存在python3-libxslt软件包"
dnf list available python3-libxslt > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到python3-libxslt软件包"
exit 255
fi
# 检查是否已安装
LOG_INFO "检查python3-libxslt是否已安装"
rpm -q python3-libxslt > /dev/null 2>&1
if [ $? -eq 0 ]; then
already_installed=1
LOG_INFO "python3-libxslt已安装测试完成后将保持安装状态"
else
already_installed=0
LOG_INFO "python3-libxslt未安装将作为测试步骤安装"
fi
# 如果未安装,则安装软件包
if [ $already_installed -eq 0 ]; then
LOG_INFO "安装python3-libxslt软件包"
dnf install -y python3-libxslt
CHECK_RESULT $? 0 0 "安装python3-libxslt失败"
fi
# 创建测试XML文件
LOG_INFO "创建测试XML文件"
cat > test_input.xml << "EOF"
<?xml version="1.0"?>
<catalog>
<book id="bk101">
<author>Gambardella, Matthew</author>
<title>XML Developer"s Guide</title>
<genre>Computer</genre>
<price>44.95</price>
<publish_date>2000-10-01</publish_date>
<description>An in-depth look at creating applications with XML.</description>
</book>
<book id="bk102">
<author>Ralls, Kim</author>
<title>Midnight Rain</title>
<genre>Fantasy</genre>
<price>5.95</price>
<publish_date>2000-12-16</publish_date>
<description>A former architect battles corporate zombies.</description>
</book>
</catalog>
EOF
CHECK_RESULT $? 0 0 "创建XML文件失败"
# 创建测试XSLT文件
LOG_INFO "创建测试XSLT文件"
cat > test_transform.xsl << "EOF"
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>Book Catalog</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Title</th>
<th>Author</th>
<th>Price</th>
</tr>
<xsl:for-each select="catalog/book">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="author"/></td>
<td><xsl:value-of select="price"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
EOF
CHECK_RESULT $? 0 0 "创建XSLT文件失败"
# 使用xsltproc命令测试解析功能
LOG_INFO "使用xsltproc命令测试XML和XSLT解析"
if ! command -v xsltproc &> /dev/null; then
LOG_ERROR "xsltproc命令不存在"
if [ $already_installed -eq 0 ]; then
dnf remove -y python3-libxslt
fi
exit 255
fi
# 测试xsltproc是否支持--version参数
LOG_INFO "检查xsltproc命令参数支持"
xsltproc --version > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "xsltproc不支持--version参数"
if [ $already_installed -eq 0 ]; then
dnf remove -y python3-libxslt
fi
exit 255
fi
# 执行XSLT转换
LOG_INFO "执行XSLT转换将XML转换为HTML"
xsltproc test_transform.xsl test_input.xml > test_output.html
CHECK_RESULT $? 0 0 "XSLT转换失败"
# 验证输出文件
LOG_INFO "验证转换结果"
if [ -f test_output.html ] && [ -s test_output.html ]; then
LOG_INFO "成功生成HTML文件"
# 检查输出文件是否包含预期的内容
if grep -q "Book Catalog" test_output.html && grep -q "XML Developer"s Guide" test_output.html; then
LOG_INFO "转换结果符合预期"
else
LOG_ERROR "转换结果不符合预期"
CHECK_RESULT 1 0 0 "转换结果验证失败"
fi
else
LOG_ERROR "未生成有效的输出文件"
CHECK_RESULT 1 0 0 "输出文件验证失败"
fi
# 使用Python测试libxslt库
LOG_INFO "使用Python测试libxslt库功能"
cat > test_libxslt.py << "EOF"
import sys
import libxml2
import libxslt
# 解析XML文件
xml_doc = libxml2.parseFile("test_input.xml")
if xml_doc is None:
print("Failed to parse XML file")
sys.exit(1)
# 解析XSLT文件
xsl_doc = libxml2.parseFile("test_transform.xsl")
if xsl_doc is None:
print("Failed to parse XSLT file")
sys.exit(1)
# 创建XSLT样式表
styledoc = libxslt.parseStylesheetDoc(xsl_doc)
if styledoc is None:
print("Failed to create stylesheet")
sys.exit(1)
# 应用转换
result = styledoc.applyStylesheet(xml_doc, None)
if result is None:
print("Failed to apply stylesheet")
sys.exit(1)
# 保存结果
styledoc.saveResultToFilename("test_python_output.html", result, 0)
# 清理
styledoc.freeStylesheet()
result.freeDoc()
xml_doc.freeDoc()
xsl_doc.freeDoc()
print("Python libxslt test completed successfully")
EOF
python3 test_libxslt.py
CHECK_RESULT $? 0 0 "Python libxslt库测试失败"
# 验证Python生成的输出
LOG_INFO "验证Python生成的输出文件"
if [ -f test_python_output.html ] && [ -s test_python_output.html ]; then
LOG_INFO "Python成功生成HTML文件"
if grep -q "Book Catalog" test_python_output.html; then
LOG_INFO "Python转换结果符合预期"
else
LOG_ERROR "Python转换结果不符合预期"
CHECK_RESULT 1 0 0 "Python输出文件验证失败"
fi
else
LOG_ERROR "Python未生成有效的输出文件"
CHECK_RESULT 1 0 0 "Python输出文件验证失败"
fi
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f test_input.xml test_transform.xsl test_output.html test_python_output.html test_libxslt.py
CHECK_RESULT $? 0 0 "清理测试文件失败"
# 如果测试前未安装,则卸载软件包
if [ $already_installed -eq 0 ]; then
LOG_INFO "卸载python3-libxslt软件包"
dnf remove -y python3-libxslt
CHECK_RESULT $? 0 0 "卸载python3-libxslt失败"
else
LOG_INFO "保持python3-libxslt安装状态"
fi
LOG_INFO "python3-libxslt XML和XSLT解析功能测试完成"
}
main "$@"

View File

@@ -1,111 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-10
# @License : Mulan PSL v2
# @Desc : 测试执行XML到HTML的转换
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试测试执行XML到HTML的转换"
LOG_INFO "步骤1检查环境中是否已安装python3-libxslt软件包"
rpm -q python3-libxslt > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "python3-libxslt软件包已安装测试后将保持安装状态"
INSTALLED=true
else
LOG_INFO "python3-libxslt软件包未安装将在测试过程中安装"
INSTALLED=false
fi
LOG_INFO "步骤2检查yum源中是否有python3-libxslt软件包"
dnf list available python3-libxslt > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到python3-libxslt软件包"
exit 255
fi
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤3安装python3-libxslt软件包"
dnf install -y python3-libxslt
CHECK_RESULT $? 0 0 "安装python3-libxslt失败"
fi
LOG_INFO "步骤4准备测试用的XML和XSLT文件"
cat > test_input.xml << "EOF"
<?xml version="1.0"?>
<catalog>
<book id="bk101">
<author>Gambardella, Matthew</author>
<title>XML Developer"s Guide</title>
<genre>Computer</genre>
<price>44.95</price>
</book>
</catalog>
EOF
cat > test_transform.xslt << "EOF"
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>Book Catalog</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Title</th>
<th>Author</th>
<th>Price</th>
</tr>
<xsl:for-each select="catalog/book">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="author"/></td>
<td><xsl:value-of select="price"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
EOF
LOG_INFO "步骤5使用xsltproc执行XML到HTML的转换"
xsltproc test_transform.xslt test_input.xml -o test_output.html
CHECK_RESULT $? 0 0 "使用xsltproc执行XML到HTML转换失败"
LOG_INFO "步骤6验证生成的HTML文件内容"
grep -q "XML Developer"s Guide" test_output.html
CHECK_RESULT $? 0 0 "生成的HTML文件中未找到预期内容"
grep -q "Gambardella, Matthew" test_output.html
CHECK_RESULT $? 0 0 "生成的HTML文件中未找到预期内容"
grep -q "44.95" test_output.html
CHECK_RESULT $? 0 0 "生成的HTML文件中未找到预期内容"
LOG_INFO "步骤7清理测试文件"
rm -f test_input.xml test_transform.xslt test_output.html
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤8卸载测试过程中安装的python3-libxslt软件包"
dnf remove -y python3-libxslt
CHECK_RESULT $? 0 0 "卸载python3-libxslt失败"
fi
LOG_INFO "测试完成XML到HTML转换功能测试通过"
}
main "$@"

View File

@@ -1,167 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-10
# @License : Mulan PSL v2
# @Desc : 测试使用libxslt进行XSLT转换的基本功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 判断是否已安装python3-libxslt软件包
LOG_INFO "1. 检查是否已安装python3-libxslt软件包"
rpm -q python3-libxslt > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "python3-libxslt已安装测试结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "python3-libxslt未安装将在测试过程中安装"
INSTALLED=false
fi
# 检查yum源中是否存在python3-libxslt软件包
LOG_INFO "2. 检查yum源中是否存在python3-libxslt软件包"
dnf list available python3-libxslt > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到python3-libxslt软件包"
exit 255
fi
# 检查xsltproc命令是否存在
LOG_INFO "3. 检查xsltproc命令是否存在"
command -v xsltproc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_INFO "xsltproc命令未安装尝试安装libxslt软件包"
dnf list available libxslt > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到libxslt软件包"
exit 255
fi
if [ "$INSTALLED" = false ]; then
dnf install -y libxslt > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装libxslt失败"
LOG_INFO "libxslt安装成功"
fi
else
LOG_INFO "xsltproc命令已存在"
fi
# 安装python3-libxslt如果未安装
if [ "$INSTALLED" = false ]; then
LOG_INFO "4. 安装python3-libxslt软件包"
dnf install -y python3-libxslt > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装python3-libxslt失败"
LOG_INFO "python3-libxslt安装成功"
fi
# 创建测试用的XML和XSL文件
LOG_INFO "5. 创建测试用的XML和XSL文件"
cat > test.xml << EOF
<?xml version="1.0"?>
<catalog>
<book id="bk101">
<author>Gambardella, Matthew</author>
<title>XML Developer"s Guide</title>
<genre>Computer</genre>
<price>44.95</price>
<publish_date>2000-10-01</publish_date>
<description>An in-depth look at creating applications with XML.</description>
</book>
</catalog>
EOF
cat > test.xsl << EOF
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>Book Catalog</h2>
<table border="1">
<tr>
<th>Title</th>
<th>Author</th>
<th>Price</th>
</tr>
<xsl:for-each select="catalog/book">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="author"/></td>
<td><xsl:value-of select="price"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
EOF
# 检查xsltproc命令是否支持基本参数
LOG_INFO "6. 检查xsltproc命令是否支持基本参数"
xsltproc --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "xsltproc命令不支持--help参数"
LOG_INFO "xsltproc命令参数检查通过"
# 使用xsltproc进行XSLT转换测试
LOG_INFO "7. 使用xsltproc进行XSLT转换测试"
xsltproc test.xsl test.xml > output.html 2>&1
CHECK_RESULT $? 0 0 "xsltproc执行XSLT转换失败"
# 检查转换结果
LOG_INFO "8. 检查XSLT转换结果"
if [ -s output.html ]; then
grep -q "Book Catalog" output.html
CHECK_RESULT $? 0 0 "转换结果中未找到预期内容"
grep -q "XML Developer"s Guide" output.html
CHECK_RESULT $? 0 0 "转换结果中未找到书籍标题"
LOG_INFO "XSLT转换测试成功结果文件output.html已生成"
else
LOG_ERROR "转换结果文件为空"
exit 1
fi
# 清理测试文件
LOG_INFO "9. 清理测试文件"
rm -f test.xml test.xsl output.html
LOG_INFO "测试文件清理完成"
# 根据初始状态决定是否卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "10. 卸载测试过程中安装的软件包"
dnf remove -y python3-libxslt > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载python3-libxslt失败"
LOG_INFO "python3-libxslt卸载成功"
# 检查是否安装了libxslt如果是测试过程中安装的则卸载
rpm -q libxslt > /dev/null 2>&1
if [ $? -eq 0 ]; then
# 检查libxslt是否是测试前就安装的
if ! command -v xsltproc > /dev/null 2>&1; then
dnf remove -y libxslt > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载libxslt失败"
LOG_INFO "libxslt卸载成功"
else
LOG_INFO "libxslt在测试前已安装保持原状"
fi
fi
else
LOG_INFO "10. 测试前已安装python3-libxslt保持安装状态"
fi
LOG_INFO "测试脚本执行完成"
}
main "$@"

View File

@@ -1,69 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-12
# @License : Mulan PSL v2
# @Desc : Test metrics collection functionality
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试指标收集功能"
# 检查是否已安装ganglia相关软件包
LOG_INFO "检查是否已安装ganglia相关软件包"
if rpm -q ganglia-gmond &>/dev/null; then
LOG_INFO "ganglia-gmond已安装"
installed=true
else
LOG_INFO "ganglia-gmond未安装"
installed=false
fi
# 检查yum源中是否存在ganglia-gmond软件包
LOG_INFO "检查yum源中是否存在ganglia-gmond软件包"
if ! dnf list available ganglia-gmond &>/dev/null; then
LOG_ERROR "yum源中未找到ganglia-gmond软件包"
exit 255
fi
# 如果未安装则安装ganglia-gmond
if [ "$installed" = false ]; then
LOG_INFO "安装ganglia-gmond"
dnf install -y ganglia-gmond
CHECK_RESULT $? 0 0 "安装ganglia-gmond失败"
fi
# 检查gmond服务状态
LOG_INFO "检查gmond服务状态"
systemctl status gmond &>/dev/null
CHECK_RESULT $? 0 0 "gmond服务未运行"
# 测试指标收集功能
LOG_INFO "测试指标收集功能"
gmetric --name="test_metric" --value="100" --type="uint32" --units="count"
CHECK_RESULT $? 0 0 "指标收集失败"
# 清理环境如果脚本开始时未安装则卸载ganglia-gmond
if [ "$installed" = false ]; then
LOG_INFO "卸载ganglia-gmond"
dnf remove -y ganglia-gmond
CHECK_RESULT $? 0 0 "卸载ganglia-gmond失败"
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-30
# @License : Mulan PSL v2
# @Desc : Test initialization of metrics-ganglia
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试脚本test_metrics-ganglia_function_init
LOG_INFO "开始测试 metrics-ganglia 的初始化功能"
# 检查是否已安装 metrics-ganglia
LOG_INFO "检查 metrics-ganglia 是否已安装"
if dnf list installed metrics-ganglia &>/dev/null; then
LOG_INFO "metrics-ganglia 已安装,跳过安装步骤"
INSTALLED=true
else
LOG_INFO "metrics-ganglia 未安装,准备安装"
INSTALLED=false
fi
# 检查 yum 源中是否有 metrics-ganglia 软件包
LOG_INFO "检查 yum 源中是否存在 metrics-ganglia"
if ! dnf list available metrics-ganglia &>/dev/null; then
LOG_ERROR "yum 源中未找到 metrics-ganglia 软件包"
exit 255
fi
# 如果未安装,则安装 metrics-ganglia
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装 metrics-ganglia"
dnf install -y metrics-ganglia
CHECK_RESULT $? 0 0 "安装 metrics-ganglia 失败"
fi
# 测试初始化功能
LOG_INFO "测试 metrics-ganglia 的初始化功能"
ganglia-init --test-param
CHECK_RESULT $? 0 0 "metrics-ganglia 初始化失败"
# 如果之前未安装,则卸载 metrics-ganglia
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载 metrics-ganglia"
dnf remove -y metrics-ganglia
CHECK_RESULT $? 0 0 "卸载 metrics-gangalia失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,87 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-14
# @License : Mulan PSL v2
# @Desc : Test neon-config --cflags for compiler flags
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试neon-config --cflags编译器标志"
LOG_INFO "步骤1: 检查neon-devel软件包是否在yum源中"
dnf list available neon-devel > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到neon-devel软件包"
exit 255
fi
LOG_INFO "步骤2: 检查当前环境中是否已安装neon-devel"
rpm -q neon-devel > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "neon-devel已安装测试结束后将保持安装状态"
already_installed=true
else
LOG_INFO "neon-devel未安装将在测试前安装"
already_installed=false
fi
if [ "$already_installed" = false ]; then
LOG_INFO "步骤3: 安装neon-devel软件包"
dnf install -y neon-devel
CHECK_RESULT $? 0 0 "安装neon-devel软件包失败"
fi
LOG_INFO "步骤4: 检查neon-config命令是否存在"
which neon-config > /dev/null 2>&1
CHECK_RESULT $? 0 0 "neon-config命令不存在"
LOG_INFO "步骤5: 检查neon-config命令是否支持--cflags参数"
neon-config --help | grep -q "\-\-cflags"
CHECK_RESULT $? 0 0 "neon-config命令不支持--cflags参数"
LOG_INFO "步骤6: 执行neon-config --cflags命令"
output=$(neon-config --cflags 2>&1)
result=$?
CHECK_RESULT $result 0 0 "执行neon-config --cflags命令失败"
LOG_INFO "neon-config --cflags输出: $output"
LOG_INFO "步骤7: 验证输出内容包含编译器标志"
if [ -z "$output" ]; then
LOG_ERROR "neon-config --cflags未输出任何内容"
exit 1
fi
if echo "$output" | grep -q "-I"; then
LOG_INFO "输出包含-I标志测试通过"
else
LOG_ERROR "输出未包含预期的编译器标志"
exit 1
fi
LOG_INFO "步骤8: 清理环境"
if [ "$already_installed" = false ]; then
LOG_INFO "卸载neon-devel软件包"
dnf remove -y neon-devel
CHECK_RESULT $? 0 0 "卸载neon-devel软件包失败"
LOG_INFO "环境已恢复到测试前状态"
else
LOG_INFO "保持neon-devel软件包安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

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

View File

@@ -1,110 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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-14
# @License : Mulan PSL v2
# @Desc : Test neon-config --libs for linker flags
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试neon-config --libs链接器标志功能
LOG_INFO "开始测试neon-config --libs链接器标志功能"
# 定义软件包名称
PACKAGE_NAME="neon-devel"
# 检查软件包是否已安装
LOG_INFO "检查${PACKAGE_NAME}软件包是否已安装"
rpm -q ${PACKAGE_NAME} > /dev/null 2>&1
PACKAGE_INSTALLED=$?
# 记录初始安装状态
if [ ${PACKAGE_INSTALLED} -eq 0 ]; then
LOG_INFO "${PACKAGE_NAME}软件包已安装,测试后将保持安装状态"
else
LOG_INFO "${PACKAGE_NAME}软件包未安装,将在测试后卸载"
fi
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否有${PACKAGE_NAME}软件包"
dnf list available ${PACKAGE_NAME} > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中没有${PACKAGE_NAME}软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中没有${PACKAGE_NAME}软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ ${PACKAGE_INSTALLED} -ne 0 ]; then
LOG_INFO "安装${PACKAGE_NAME}软件包"
dnf install -y ${PACKAGE_NAME} > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}软件包失败"
fi
# 检查neon-config命令是否存在
LOG_INFO "检查neon-config命令是否存在"
which neon-config > /dev/null 2>&1
CHECK_RESULT $? 0 0 "neon-config命令不存在"
# 检查--libs参数是否支持
LOG_INFO "检查neon-config是否支持--libs参数"
neon-config --help 2>&1 | grep -q "\-\-libs"
CHECK_RESULT $? 0 0 "neon-config不支持--libs参数"
if [ $? -ne 0 ]; then
LOG_ERROR "neon-config不支持--libs参数"
# 如果之前未安装,需要卸载
if [ ${PACKAGE_INSTALLED} -ne 0 ]; then
dnf remove -y ${PACKAGE_NAME} > /dev/null 2>&1
fi
exit 255
fi
# 执行neon-config --libs命令
LOG_INFO "执行neon-config --libs命令获取链接器标志"
neon-config --libs > /tmp/neon_libs_output.txt 2>&1
CHECK_RESULT $? 0 0 "执行neon-config --libs命令失败"
# 检查输出内容
LOG_INFO "检查neon-config --libs命令输出"
if [ -s /tmp/neon_libs_output.txt ]; then
LOG_INFO "neon-config --libs输出内容:"
cat /tmp/neon_libs_output.txt
# 检查输出是否包含链接器标志
grep -q "-l" /tmp/neon_libs_output.txt
CHECK_RESULT $? 0 0 "neon-config --libs输出不包含链接器标志"
else
LOG_ERROR "neon-config --libs输出为空"
CHECK_RESULT 1 0 0 "neon-config --libs输出为空"
fi
# 清理临时文件
rm -f /tmp/neon_libs_output.txt
# 环境恢复
LOG_INFO "恢复测试环境"
if [ ${PACKAGE_INSTALLED} -ne 0 ]; then
LOG_INFO "卸载${PACKAGE_NAME}软件包"
dnf remove -y ${PACKAGE_NAME} > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}软件包失败"
else
LOG_INFO "保持${PACKAGE_NAME}软件包安装状态"
fi
LOG_INFO "测试neon-config --libs链接器标志功能完成"
}
main "$@"

View File

@@ -1,66 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-02
# @License : Mulan PSL v2
# @Desc : Test the execution of neon-devel package
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试neon-devel软件包的功能执行"
# 检查是否已安装neon-devel软件包
LOG_INFO "检查neon-devel软件包是否已安装"
if dnf list installed neon-devel &>/dev/null; then
LOG_INFO "neon-devel软件包已安装测试结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "neon-devel软件包未安装将在测试结束后卸载"
INSTALLED=false
fi
# 检查yum源中是否有neon-devel软件包
LOG_INFO "检查yum源中是否存在neon-devel软件包"
if ! dnf list available neon-devel &>/dev/null; then
LOG_ERROR "yum源中未找到neon-devel软件包"
exit 255
fi
# 如果未安装则安装neon-devel软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "正在安装neon-devel软件包"
dnf install -y neon-devel
CHECK_RESULT $? 0 0 "安装neon-devel软件包失败"
fi
# 测试执行命令(示例命令,需根据实际需求调整)
LOG_INFO "测试neon-devel软件包的某个功能执行"
sample_command --parameter value
CHECK_RESULT $? 0 0 "执行命令失败"
# 如果最初未安装则在测试结束后卸载neon-devel软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "正在卸载neon-devel软件包"
dnf remove -y neon-devel
CHECK_RESULT $? 0 0 "卸载neon-devel软件包失败"
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-14
# @License : Mulan PSL v2
# @Desc : Test neon-config --support for SSL feature
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查当前环境是否已经安装neon-devel软件包
LOG_INFO "检查neon-devel软件包是否已安装"
rpm -q neon-devel &> /dev/null
NEON_INSTALLED=$?
# 记录初始安装状态
if [ $NEON_INSTALLED -eq 0 ]; then
LOG_INFO "neon-devel软件包已安装脚本结束后将保持安装状态"
else
LOG_INFO "neon-devel软件包未安装将在测试过程中安装并在结束后卸载"
fi
# 检查yum源中是否有neon-devel软件包
LOG_INFO "检查yum源中是否有neon-devel软件包"
dnf list available neon-devel &> /dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到neon-devel软件包"
exit 255
fi
# 如果未安装则安装neon-devel软件包
if [ $NEON_INSTALLED -ne 0 ]; then
LOG_INFO "安装neon-devel软件包"
dnf install -y neon-devel
CHECK_RESULT $? 0 0 "安装neon-devel软件包失败"
fi
# 测试neon-config --support参数是否存在
LOG_INFO "测试neon-config --support参数是否存在"
neon-config --help 2>&1 | grep -q "\-\-support"
if [ $? -ne 0 ]; then
LOG_ERROR "neon-config命令不支持--support参数"
# 如果之前未安装,需要卸载已安装的软件包
if [ $NEON_INSTALLED -ne 0 ]; then
LOG_INFO "卸载neon-devel软件包"
dnf remove -y neon-devel
fi
exit 255
fi
# 测试neon-config --support SSL功能
LOG_INFO "测试neon-config --support SSL功能"
neon-config --support ssl
CHECK_RESULT $? 0 0 "neon-config --support ssl执行失败"
# 测试neon-config --support SSL功能输出内容
LOG_INFO "验证neon-config --support ssl输出内容"
neon-config --support ssl | grep -q "SSL"
CHECK_RESULT $? 0 0 "neon-config --support ssl未输出SSL相关信息"
# 清理环境:如果测试前未安装,则卸载软件包
if [ $NEON_INSTALLED -ne 0 ]; then
LOG_INFO "卸载neon-devel软件包"
dnf remove -y neon-devel
CHECK_RESULT $? 0 0 "卸载neon-devel软件包失败"
else
LOG_INFO "保持neon-devel软件包安装状态"
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-14
# @License : Mulan PSL v2
# @Desc : Test neon-config --support for zlib feature
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Test neon-config --support for zlib feature"
LOG_INFO "步骤1检查系统中是否已安装neon-devel软件包"
if rpm -q neon-devel &>/dev/null; then
LOG_INFO "neon-devel软件包已安装脚本结束时将保持安装状态"
already_installed=true
else
LOG_INFO "neon-devel软件包未安装将在测试过程中安装"
already_installed=false
fi
LOG_INFO "步骤2检查yum源中是否有neon-devel软件包"
if ! dnf list available neon-devel &>/dev/null; then
LOG_ERROR "yum源中未找到neon-devel软件包"
exit 255
fi
if [ "$already_installed" = false ]; then
LOG_INFO "步骤3安装neon-devel软件包"
dnf install -y neon-devel
CHECK_RESULT $? 0 0 "安装neon-devel软件包失败"
fi
LOG_INFO "步骤4检查neon-config命令是否支持--support参数"
neon-config --support &>/dev/null
if [ $? -eq 255 ]; then
LOG_ERROR "neon-config命令不支持--support参数"
exit 255
fi
LOG_INFO "步骤5执行neon-config --support命令检查zlib特性支持"
neon-config --support | grep -q "zlib"
CHECK_RESULT $? 0 0 "neon-config --support未显示zlib特性支持"
LOG_INFO "步骤6清理环境"
if [ "$already_installed" = false ]; then
LOG_INFO "卸载neon-devel软件包"
dnf remove -y neon-devel
CHECK_RESULT $? 0 0 "卸载neon-devel软件包失败"
else
LOG_INFO "neon-devel软件包已安装保持原状"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

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

View File

@@ -1,77 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-14
# @License : Mulan PSL v2
# @Desc : 测试 neon-config 命令的 --la-file 参数,用于打印 libtool .la 文件的位置
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已经安装 neon-devel 和 neon-config 软件包
LOG_INFO "检查 neon-devel 和 neon-config 软件包是否已安装"
rpm -q neon-devel neon-config > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "neon-devel 和 neon-config 软件包已安装,测试结束后将保持安装状态"
already_installed=true
else
LOG_INFO "neon-devel 和 neon-config 软件包未安装,将在测试步骤中安装"
already_installed=false
fi
# 检查 yum 源中是否存在 neon-devel 和 neon-config 软件包
LOG_INFO "检查 yum 源中是否存在 neon-devel 和 neon-config 软件包"
dnf list available neon-devel neon-config > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum 源中缺少 neon-devel 或 neon-config 软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum 源中缺少 neon-devel 或 neon-config 软件包,退出测试"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$already_installed" = "false" ]; then
LOG_INFO "安装 neon-devel 和 neon-config 软件包"
dnf install -y neon-devel neon-config
CHECK_RESULT $? 0 0 "安装 neon-devel 和 neon-config 软件包失败"
fi
# 测试 neon-config 命令的 --la-file 参数
LOG_INFO "测试 neon-config 命令的 --la-file 参数,用于打印 libtool .la 文件的位置"
# 首先检查 neon-config 命令是否支持 --la-file 参数
neon-config --help | grep -q -- "--la-file"
CHECK_RESULT $? 0 0 "neon-config 命令不支持 --la-file 参数"
if [ $? -ne 0 ]; then
LOG_ERROR "neon-config 命令不支持 --la-file 参数,退出测试"
exit 255
fi
# 执行 neon-config --la-file 命令
LOG_INFO "执行 neon-config --la-file 命令"
neon-config --la-file
CHECK_RESULT $? 0 0 "执行 neon-config --la-file 命令失败"
# 清理环境:如果测试前未安装,则卸载软件包
if [ "$already_installed" = "false" ]; then
LOG_INFO "卸载 neon-devel 和 neon-config 软件包"
dnf remove -y neon-devel neon-config
CHECK_RESULT $? 0 0 "卸载 neon-devel 和 neon-config 软件包失败"
else
LOG_INFO "测试前已安装 neon-devel 和 neon-config 软件包,测试结束后保持安装状态"
fi
LOG_INFO "测试完成,环境已恢复"
}
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-14
# @License : Mulan PSL v2
# @Desc : 测试 neon-config 命令的 --libs 参数,用于打印库链接信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试 neon-config 命令的 --libs 参数功能
LOG_INFO "开始测试 neon-config 命令的 --libs 参数功能"
# 步骤1检查测试环境是否已安装 neon-devel 和 neon-config 软件包
LOG_INFO "检查测试环境是否已安装 neon-devel 和 neon-config 软件包"
rpm -q neon-devel neon-config > /dev/null 2>&1
pkg_installed=$?
# 步骤2如果未安装则从yum源查找并安装软件包
if [ $pkg_installed -ne 0 ]; then
LOG_INFO "检测到 neon-devel 和 neon-config 未安装准备从yum源安装"
# 检查yum源中是否存在 neon-devel 软件包
LOG_INFO "检查yum源中是否存在 neon-devel 软件包"
dnf list available neon-devel 2>&1 | grep -q "neon-devel"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到 neon-devel 软件包"
exit 255
fi
# 检查yum源中是否存在 neon-config 软件包
LOG_INFO "检查yum源中是否存在 neon-config 软件包"
dnf list available neon-config 2>&1 | grep -q "neon-config"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到 neon-config 软件包"
exit 255
fi
# 安装软件包
LOG_INFO "开始安装 neon-devel 和 neon-config 软件包"
dnf install -y neon-devel neon-config
CHECK_RESULT $? 0 0 "安装 neon-devel 和 neon-config 软件包失败"
# 标记需要清理
need_cleanup=1
else
LOG_INFO "neon-devel 和 neon-config 软件包已安装"
need_cleanup=0
fi
# 步骤3验证 neon-config 命令是否存在
LOG_INFO "验证 neon-config 命令是否存在"
which neon-config > /dev/null 2>&1
CHECK_RESULT $? 0 0 "neon-config 命令不存在"
# 步骤4检查 neon-config 命令是否支持 --libs 参数
LOG_INFO "检查 neon-config 命令是否支持 --libs 参数"
neon-config --help 2>&1 | grep -q "\-\-libs"
if [ $? -ne 0 ]; then
LOG_ERROR "neon-config 命令不支持 --libs 参数"
# 如果之前安装了软件包,需要卸载
if [ $need_cleanup -eq 1 ]; then
LOG_INFO "清理安装的软件包"
dnf remove -y neon-devel neon-config
fi
exit 255
fi
# 步骤5执行 neon-config --libs 命令
LOG_INFO "执行 neon-config --libs 命令"
neon-config --libs
CHECK_RESULT $? 0 0 "执行 neon-config --libs 命令失败"
# 步骤6验证输出内容包含库链接信息
LOG_INFO "验证 neon-config --libs 输出内容"
output=$(neon-config --libs 2>&1)
echo "$output" | grep -q "-lneon"
CHECK_RESULT $? 0 0 "neon-config --libs 输出未包含库链接信息"
# 步骤7验证输出格式正确性
LOG_INFO "验证 neon-config --libs 输出格式"
if [ -z "$output" ]; then
LOG_ERROR "neon-config --libs 输出为空"
CHECK_RESULT 1 0 0 "输出验证失败"
fi
# 步骤8清理测试环境
if [ $need_cleanup -eq 1 ]; then
LOG_INFO "清理测试环境,卸载安装的软件包"
dnf remove -y neon-devel neon-config
CHECK_RESULT $? 0 0 "卸载 neon-devel 和 neon-config 软件包失败"
LOG_INFO "测试环境已恢复"
else
LOG_INFO "测试环境保持原状,未安装的软件包已卸载"
fi
LOG_INFO "neon-config --libs 参数功能测试完成"
}
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-14
# @License : Mulan PSL v2
# @Desc : 测试 neon-config 命令的 --prefix 参数,用于更改前缀路径
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 软件包名称
PACKAGE_NAME="neon-devel"
COMMAND_NAME="neon-config"
# 检查软件包是否在yum源中
LOG_INFO "步骤1检查yum源中是否存在${PACKAGE_NAME}软件包"
dnf list available ${PACKAGE_NAME} &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到${PACKAGE_NAME}软件包"
exit 255
fi
LOG_INFO "yum源中存在${PACKAGE_NAME}软件包"
# 判断软件包是否已安装
LOG_INFO "步骤2检查${PACKAGE_NAME}软件包是否已安装"
rpm -q ${PACKAGE_NAME} &>/dev/null
if [ $? -eq 0 ]; then
LOG_INFO "${PACKAGE_NAME}软件包已安装"
INSTALLED=1
else
LOG_INFO "${PACKAGE_NAME}软件包未安装"
INSTALLED=0
fi
# 如果未安装,则安装软件包
if [ ${INSTALLED} -eq 0 ]; then
LOG_INFO "步骤3安装${PACKAGE_NAME}软件包"
dnf install -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}软件包失败"
LOG_INFO "安装${PACKAGE_NAME}软件包成功"
fi
# 检查neon-config命令是否存在
LOG_INFO "步骤4检查${COMMAND_NAME}命令是否存在"
which ${COMMAND_NAME} &>/dev/null
CHECK_RESULT $? 0 0 "${COMMAND_NAME}命令不存在"
LOG_INFO "${COMMAND_NAME}命令存在"
# 检查--prefix参数是否支持
LOG_INFO "步骤5检查${COMMAND_NAME}命令是否支持--prefix参数"
${COMMAND_NAME} --help 2>&1 | grep -q "\-\-prefix"
CHECK_RESULT $? 0 0 "${COMMAND_NAME}命令不支持--prefix参数"
LOG_INFO "${COMMAND_NAME}命令支持--prefix参数"
# 测试--prefix参数功能
LOG_INFO "步骤6测试${COMMAND_NAME}命令的--prefix参数"
TEST_PREFIX="/tmp/test_prefix_$$"
mkdir -p ${TEST_PREFIX}
${COMMAND_NAME} --prefix=${TEST_PREFIX} &>/dev/null
CHECK_RESULT $? 0 0 "执行${COMMAND_NAME} --prefix失败"
LOG_INFO "执行${COMMAND_NAME} --prefix成功"
# 清理测试目录
LOG_INFO "步骤7清理测试目录"
rm -rf ${TEST_PREFIX}
CHECK_RESULT $? 0 0 "清理测试目录失败"
LOG_INFO "清理测试目录成功"
# 如果之前未安装,则卸载软件包
if [ ${INSTALLED} -eq 0 ]; then
LOG_INFO "步骤8卸载${PACKAGE_NAME}软件包"
dnf remove -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}软件包失败"
LOG_INFO "卸载${PACKAGE_NAME}软件包成功"
else
LOG_INFO "步骤8保持${PACKAGE_NAME}软件包安装状态"
fi
LOG_INFO "测试完成:${COMMAND_NAME}命令的--prefix参数功能正常"
}
main "$@"

View File

@@ -1,76 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-14
# @License : Mulan PSL v2
# @Desc : 测试 neon-config 命令的 --support 参数检查 dav 特性支持情况
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装neon-devel和neon-config
LOG_INFO "检查neon-devel和neon-config是否已安装"
rpm -q neon-devel neon-config > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "neon-devel和neon-config已安装将保持安装状态"
INSTALLED=1
else
LOG_INFO "neon-devel和neon-config未安装将在测试中安装"
INSTALLED=0
fi
# 检查yum源中是否有neon-devel和neon-config软件包
LOG_INFO "检查yum源中是否有neon-devel和neon-config软件包"
dnf list available neon-devel neon-config > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中没有neon-devel或neon-config软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装neon-devel和neon-config软件包"
dnf install -y neon-devel neon-config > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装neon-devel和neon-config失败"
fi
# 测试neon-config命令的--support参数检查dav特性支持情况
LOG_INFO "测试neon-config命令的--support参数检查dav特性支持情况"
neon-config --support dav > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "neon-config命令支持--support dav参数"
else
LOG_ERROR "neon-config命令不支持--support dav参数"
exit 255
fi
# 执行neon-config --support dav命令并检查结果
LOG_INFO "执行neon-config --support dav命令"
neon-config --support dav
CHECK_RESULT $? 0 0 "neon-config --support dav命令执行失败"
# 清理环境:如果测试前未安装,则卸载软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载neon-devel和neon-config软件包"
dnf remove -y neon-devel neon-config > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载neon-devel和neon-config失败"
else
LOG_INFO "保持neon-devel和neon-config安装状态"
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-14
# @License : Mulan PSL v2
# @Desc : 测试 neon-config 命令的 --support 参数检查 i18n 特性支持情况
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装neon-devel包
LOG_INFO "检查neon-devel软件包是否已安装"
rpm -q neon-devel > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "neon-devel软件包已安装测试完成后将保持安装状态"
INSTALLED_BEFORE="true"
else
LOG_INFO "neon-devel软件包未安装将在测试前安装"
INSTALLED_BEFORE="false"
fi
# 检查yum源中是否有neon-devel包
LOG_INFO "检查yum源中是否有neon-devel软件包"
dnf list available neon-devel > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中未找到neon-devel软件包"
# 如果未安装则安装neon-devel包
if [ "${INSTALLED_BEFORE}" = "false" ]; then
LOG_INFO "安装neon-devel软件包"
dnf install -y neon-devel
CHECK_RESULT $? 0 0 "安装neon-devel软件包失败"
fi
# 检查neon-config命令是否存在
LOG_INFO "检查neon-config命令是否存在"
which neon-config > /dev/null 2>&1
CHECK_RESULT $? 0 0 "neon-config命令未找到"
# 检查neon-config命令是否支持--support参数
LOG_INFO "检查neon-config命令是否支持--support参数"
neon-config --help | grep -q "\-\-support"
CHECK_RESULT $? 0 255 "neon-config命令不支持--support参数"
# 测试neon-config命令的--support参数检查i18n特性支持情况
LOG_INFO "测试neon-config命令的--support参数检查i18n特性支持情况"
neon-config --support i18n > /dev/null 2>&1
CHECK_RESULT $? 0 0 "neon-config命令检查i18n特性支持失败"
# 恢复环境如果之前未安装则卸载neon-devel包
if [ "${INSTALLED_BEFORE}" = "false" ]; then
LOG_INFO "卸载neon-devel软件包"
dnf remove -y neon-devel
CHECK_RESULT $? 0 0 "卸载neon-devel软件包失败"
else
LOG_INFO "测试前已安装neon-devel软件包测试完成后保持安装状态"
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-14
# @License : Mulan PSL v2
# @Desc : 测试 neon-config 命令的 --support 参数检查 ipv6 特性支持情况
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 neon-config 命令的 --support 参数检查 ipv6 特性支持情况"
# 检查 yum 源中是否存在 neon-devel 和 neon-config 软件包
LOG_INFO "检查 yum 源中是否存在 neon-devel 和 neon-config 软件包"
if ! dnf list available neon-devel 2>/dev/null | grep -q neon-devel; then
LOG_ERROR "yum 源中未找到 neon-devel 软件包"
exit 255
fi
if ! dnf list available neon-config 2>/dev/null | grep -q neon-config; then
LOG_ERROR "yum 源中未找到 neon-config 软件包"
exit 255
fi
# 判断 neon-devel 是否已经安装
LOG_INFO "判断 neon-devel 是否已经安装"
if rpm -q neon-devel >/dev/null 2>&1; then
already_installed=true
LOG_INFO "neon-devel 已经安装,脚本结束后将保持安装状态"
else
already_installed=false
LOG_INFO "neon-devel 未安装,将在测试步骤中安装"
fi
# 如果未安装,则安装 neon-devel 和 neon-config
if [ "$already_installed" = false ]; then
LOG_INFO "安装 neon-devel 和 neon-config 软件包"
dnf install -y neon-devel neon-config
CHECK_RESULT $? 0 0 "安装 neon-devel 和 neon-config 失败"
fi
# 检查 neon-config 命令是否支持 --support 参数
LOG_INFO "检查 neon-config 命令是否支持 --support 参数"
if ! neon-config --help 2>&1 | grep -q -- "--support"; then
LOG_ERROR "neon-config 命令不支持 --support 参数"
exit 255
fi
# 执行 neon-config --support 命令检查 ipv6 特性支持情况
LOG_INFO "执行 neon-config --support 命令检查 ipv6 特性支持情况"
neon-config --support ipv6
CHECK_RESULT $? 0 0 "neon-config --support ipv6 命令执行失败"
# 环境恢复:如果之前未安装,则卸载 neon-devel 和 neon-config
if [ "$already_installed" = false ]; then
LOG_INFO "卸载 neon-devel 和 neon-config 软件包"
dnf remove -y neon-devel neon-config
CHECK_RESULT $? 0 0 "卸载 neon-devel 和 neon-config 失败"
else
LOG_INFO "保持 neon-devel 和 neon-config 的安装状态"
fi
LOG_INFO "测试 neon-config 命令的 --support 参数检查 ipv6 特性支持情况完成"
}
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-14
# @License : Mulan PSL v2
# @Desc : 测试 neon-config 命令的 --support 参数检查 lfs 特性支持情况
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装neon-devel和neon-config软件包
LOG_INFO "检查是否已安装neon-devel和neon-config软件包"
rpm -q neon-devel neon-config
if [ $? -eq 0 ]; then
LOG_INFO "neon-devel和neon-config已安装"
INSTALLED=1
else
LOG_INFO "neon-devel和neon-config未安装"
INSTALLED=0
fi
# 检查yum源中是否有neon-devel和neon-config软件包
LOG_INFO "检查yum源中是否有neon-devel和neon-config软件包"
dnf list available neon-devel neon-config
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到neon-devel或neon-config软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装neon-devel和neon-config软件包"
dnf install -y neon-devel neon-config
CHECK_RESULT $? 0 0 "安装neon-devel和neon-config失败"
fi
# 检查neon-config命令是否支持--support参数
LOG_INFO "检查neon-config命令是否支持--support参数"
neon-config --help | grep -q "\-\-support"
if [ $? -ne 0 ]; then
LOG_ERROR "neon-config命令不支持--support参数"
exit 255
fi
# 测试neon-config命令的--support参数检查lfs特性支持情况
LOG_INFO "测试neon-config命令的--support参数检查lfs特性支持情况"
neon-config --support lfs
CHECK_RESULT $? 0 0 "neon-config --support lfs执行失败"
# 清理环境:如果之前未安装,则卸载软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载neon-devel和neon-config软件包"
dnf remove -y neon-devel neon-config
CHECK_RESULT $? 0 0 "卸载neon-devel和neon-config失败"
fi
}
main "$@"

View File

@@ -1,76 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-14
# @License : Mulan PSL v2
# @Desc : 测试 neon-config 命令的 --support 参数检查 ssl 特性支持情况
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 判断是否已经安装neon-devel和neon-config
LOG_INFO "检查是否已安装neon-devel和neon-config软件包"
rpm -q neon-devel neon-config > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "neon-devel和neon-config已安装测试结束后保持安装状态"
already_installed=1
else
LOG_INFO "neon-devel和neon-config未安装将在测试中安装"
already_installed=0
fi
# 检查yum源中是否有neon-devel和neon-config软件包
LOG_INFO "检查yum源中是否有neon-devel和neon-config软件包"
dnf list available neon-devel neon-config > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中未找到neon-devel或neon-config软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到neon-devel或neon-config软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $already_installed -eq 0 ]; then
LOG_INFO "安装neon-devel和neon-config软件包"
dnf install -y neon-devel neon-config
CHECK_RESULT $? 0 0 "安装neon-devel和neon-config失败"
fi
# 测试neon-config命令的--support参数检查ssl特性支持情况
LOG_INFO "测试neon-config命令的--support参数检查ssl特性支持情况"
neon-config --support ssl > /dev/null 2>&1
CHECK_RESULT $? 0 0 "neon-config命令不支持--support参数或参数错误"
if [ $? -ne 0 ]; then
LOG_ERROR "neon-config命令不支持--support参数或参数错误"
exit 255
fi
# 执行neon-config --support ssl命令并检查结果
LOG_INFO "执行neon-config --support ssl命令"
neon-config --support ssl
CHECK_RESULT $? 0 0 "neon-config --support ssl命令执行失败"
# 清理环境:如果测试前未安装,则卸载软件包
if [ $already_installed -eq 0 ]; then
LOG_INFO "卸载neon-devel和neon-config软件包"
dnf remove -y neon-devel neon-config
CHECK_RESULT $? 0 0 "卸载neon-devel和neon-config失败"
else
LOG_INFO "测试前已安装neon-devel和neon-config保持安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,87 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-14
# @License : Mulan PSL v2
# @Desc : 测试 neon-config 命令的 --support 参数检查 ts_ssl 特性支持情况
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 判断是否已安装neon-devel和neon-config软件包
LOG_INFO "检查neon-devel和neon-config软件包是否已安装"
rpm -q neon-devel neon-config >/dev/null 2>&1
pkg_installed=$?
# 记录初始安装状态
if [ $pkg_installed -eq 0 ]; then
LOG_INFO "检测到neon-devel和neon-config已安装"
need_cleanup=0
else
LOG_INFO "未检测到neon-devel和neon-config安装"
need_cleanup=1
fi
# 检查yum源中是否存在所需软件包
LOG_INFO "检查yum源中是否存在neon-devel和neon-config软件包"
dnf list available neon-devel neon-config >/dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到neon-devel或neon-config软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $pkg_installed -ne 0 ]; then
LOG_INFO "开始安装neon-devel和neon-config软件包"
dnf install -y neon-devel neon-config
CHECK_RESULT $? 0 0 "安装neon-devel和neon-config失败"
fi
# 检查neon-config命令是否存在
LOG_INFO "检查neon-config命令是否存在"
command -v neon-config >/dev/null 2>&1
CHECK_RESULT $? 0 0 "neon-config命令不存在"
# 检查--support参数是否支持
LOG_INFO "检查neon-config命令是否支持--support参数"
neon-config --help 2>&1 | grep -q "\-\-support"
if [ $? -ne 0 ]; then
LOG_ERROR "neon-config命令不支持--support参数"
# 如果之前未安装,需要卸载已安装的软件包
if [ $need_cleanup -eq 1 ]; then
dnf remove -y neon-devel neon-config
fi
exit 255
fi
# 测试--support参数检查ts_ssl特性
LOG_INFO "测试neon-config --support ts_ssl命令"
neon-config --support ts_ssl
CHECK_RESULT $? 0 0 "neon-config --support ts_ssl执行失败"
# 环境清理
LOG_INFO "开始环境清理"
if [ $need_cleanup -eq 1 ]; then
LOG_INFO "卸载测试安装的neon-devel和neon-config软件包"
dnf remove -y neon-devel neon-config
CHECK_RESULT $? 0 0 "卸载neon-devel和neon-config失败"
else
LOG_INFO "保持原有的neon-devel和neon-config安装状态"
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-14
# @License : Mulan PSL v2
# @Desc : 测试 neon-config 命令的 --support 参数检查 zlib 特性支持情况
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试 neon-config 命令的 --support 参数检查 zlib 特性支持情况
# 定义软件包名称
PACKAGE_NAME="neon-devel"
CONFIG_PACKAGE="neon-config"
# 步骤1检查yum源中是否存在指定软件包
LOG_INFO "步骤1检查yum源中是否存在 ${PACKAGE_NAME}${CONFIG_PACKAGE} 软件包"
dnf list available ${PACKAGE_NAME} ${CONFIG_PACKAGE} > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到 ${PACKAGE_NAME}${CONFIG_PACKAGE} 软件包"
exit 255
fi
# 步骤2检查当前是否已安装软件包
LOG_INFO "步骤2检查当前是否已安装 ${PACKAGE_NAME}${CONFIG_PACKAGE} 软件包"
rpm -q ${PACKAGE_NAME} ${CONFIG_PACKAGE} > /dev/null 2>&1
INSTALLED=$?
# 步骤3如果未安装则安装软件包
if [ ${INSTALLED} -ne 0 ]; then
LOG_INFO "步骤3安装 ${PACKAGE_NAME}${CONFIG_PACKAGE} 软件包"
dnf install -y ${PACKAGE_NAME} ${CONFIG_PACKAGE}
CHECK_RESULT $? 0 0 "安装 ${PACKAGE_NAME}${CONFIG_PACKAGE} 软件包失败"
fi
# 步骤4检查 neon-config 命令是否支持 --support 参数
LOG_INFO "步骤4检查 neon-config 命令是否支持 --support 参数"
neon-config --help | grep -q "\-\-support"
CHECK_RESULT $? 0 0 "neon-config 命令不支持 --support 参数"
# 步骤5使用 neon-config --support 检查 zlib 特性支持情况
LOG_INFO "步骤5使用 neon-config --support 检查 zlib 特性支持情况"
neon-config --support zlib > /dev/null 2>&1
CHECK_RESULT $? 0 0 "neon-config --support zlib 执行失败"
# 步骤6验证输出结果
LOG_INFO "步骤6验证 neon-config --support zlib 输出结果"
neon-config --support zlib | grep -q "zlib"
CHECK_RESULT $? 0 0 "neon-config --support zlib 未显示 zlib 特性支持信息"
# 步骤7环境恢复
LOG_INFO "步骤7环境恢复"
if [ ${INSTALLED} -ne 0 ]; then
LOG_INFO "卸载 ${PACKAGE_NAME}${CONFIG_PACKAGE} 软件包"
dnf remove -y ${PACKAGE_NAME} ${CONFIG_PACKAGE}
CHECK_RESULT $? 0 0 "卸载 ${PACKAGE_NAME}${CONFIG_PACKAGE} 软件包失败"
else
LOG_INFO "软件包已安装,保持安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,63 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-08
# @License : Mulan PSL v2
# @Desc : Test initialization of speech-dispatcher-festival
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "测试初始化 speech-dispatcher-festival 功能"
# 检查是否已安装 speech-dispatcher-festival
if dnf list installed speech-dispatcher-festival &>/dev/null; then
LOG_INFO "speech-dispatcher-festival 已安装,脚本结束后将保持安装状态"
installed=true
else
LOG_INFO "speech-dispatcher-festival 未安装,将在测试后卸载"
installed=false
fi
# 检查 yum 源中是否有 speech-dispatcher-festival 软件包
LOG_INFO "检查 yum 源中是否存在 speech-dispatcher-festival 软件包"
if ! dnf list available speech-dispatcher-festival &>/dev/null; then
LOG_ERROR "yum 源中不存在 speech-dispatcher-festival 软件包"
exit 255
fi
# 如果未安装,则安装 speech-dispatcher-festival
if [ "$installed" = false ]; then
LOG_INFO "安装 speech-dispatcher-festival"
dnf install -y speech-dispatcher-festival
CHECK_RESULT $? 0 0 "安装 speech-dispatcher-festival 失败"
fi
# 测试初始化功能
LOG_INFO "测试 speech-dispatcher-festival 初始化功能"
speech-dispatcher-festival --init &>/dev/null
CHECK_RESULT $? 0 0 "speech-dispatcher-festival --init 执行失败"
# 清理环境
if [ "$installed" = false ]; then
LOG_INFO "卸载 speech-dispatcher-festival"
dnf remove -y speech-dispatcher-festival
CHECK_RESULT $? 0 0 "卸载 speech-dispatcher-festival 失败"
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-09-25
# @License : Mulan PSL v2
# @Desc : Test basic command usage
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查环境是否已安装texlive-censor
LOG_INFO "检查是否已安装texlive-censor"
rpm -q texlive-censor
if [ $? -eq 0 ]; then
LOG_INFO "texlive-censor已安装脚本结束后将保持安装状态"
INSTALLED=1
else
LOG_INFO "texlive-censor未安装脚本结束后将卸载"
INSTALLED=0
fi
# 检查yum源中是否有texlive-censor软件包
LOG_INFO "检查yum源中是否有texlive-censor软件包"
dnf list available texlive-censor > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中未找到texlive-censor软件包"
# 安装texlive-censor
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装texlive-censor"
dnf install -y texlive-censor > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装texlive-censor失败"
fi
# 测试基本命令用法
LOG_INFO "测试基本命令用法"
texlua censor.lua --help > /dev/null 2>&1
CHECK_RESULT $? 0 255 "texlua censor.lua命令不支持--help参数"
# 清理环境
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载texlive-censor"
dnf remove -y texlive-censor > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载texlive-censor失败"
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 : 2026-03-19
# @License : Mulan PSL v2
# @Desc : Test package availability and version
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:测试软件包可用性和版本"
# 检查是否已安装 texlive-mfnfss 软件包
LOG_INFO "步骤1检查 texlive-mfnfss 是否已安装"
if rpm -q texlive-mfnfss &>/dev/null; then
LOG_INFO "texlive-mfnfss 已安装,脚本结束时将保持安装状态"
INSTALLED=1
else
LOG_INFO "texlive-mfnfss 未安装,将在测试步骤中安装"
INSTALLED=0
fi
# 检查 yum 源中是否有 texlive-mfnfss 软件包
LOG_INFO "步骤2检查 yum 源中是否有 texlive-mfnfss 软件包"
if ! dnf list available texlive-mfnfss &>/dev/null; then
LOG_ERROR "yum 源中未找到 texlive-mfnfss 软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "步骤3安装 texlive-mfnfss 软件包"
dnf install -y texlive-mfnfss
CHECK_RESULT $? 0 0 "安装 texlive-mfnfss 失败"
fi
# 测试软件包版本
LOG_INFO "步骤4测试 texlive-mfnfss 版本"
VERSION=$(rpm -q --queryformat "%{VERSION}" texlive-mfnfss)
CHECK_RESULT $? 0 0 "获取 texlive-mfnfss 版本失败"
LOG_INFO "texlive-mfnfss 版本为:$VERSION"
# 清理环境:如果测试前未安装,则卸载软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "步骤5卸载 texlive-mfnfss 软件包"
dnf remove -y texlive-mfnfss
CHECK_RESULT $? 0 0 "卸载 texlive-mfnfss 失败"
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 : 2026-03-19
# @License : Mulan PSL v2
# @Desc : Test package installation
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试软件包安装功能"
LOG_INFO "检查环境是否已安装texlive-mfnfss软件包"
rpm -q texlive-mfnfss > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "环境中已安装texlive-mfnfss软件包测试结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "环境中未安装texlive-mfnfss软件包测试将执行安装步骤"
INSTALLED=false
fi
LOG_INFO "检查yum源中是否存在texlive-mfnfss软件包"
dnf list available texlive-mfnfss > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中未找到texlive-mfnfss软件包退出测试"
LOG_INFO "执行软件包安装测试"
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装texlive-mfnfss软件包"
dnf install -y texlive-mfnfss
CHECK_RESULT $? 0 0 "安装texlive-mfnfss软件包失败"
LOG_INFO "texlive-mfnfss软件包安装成功"
fi
LOG_INFO "验证软件包安装是否成功"
rpm -q texlive-mfnfss > /dev/null 2>&1
CHECK_RESULT $? 0 0 "软件包安装验证失败"
LOG_INFO "执行软件包功能测试"
LOG_INFO "检查texlive-mfnfss软件包提供的命令"
command -v tex > /dev/null 2>&1
CHECK_RESULT $? 0 0 "tex命令未找到软件包功能可能不完整"
LOG_INFO "清理测试环境"
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载测试安装的texlive-mfnfss软件包"
dnf remove -y texlive-mfnfss
CHECK_RESULT $? 0 0 "卸载texlive-mfnfss软件包失败"
LOG_INFO "texlive-mfnfss软件包卸载成功"
else
LOG_INFO "环境中原本已安装texlive-mfnfss软件包保持安装状态"
fi
LOG_INFO "测试完成,环境已恢复到初始状态"
}
main "$@"

View File

@@ -1,93 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-19
# @License : Mulan PSL v2
# @Desc : Test basic font usage in LaTeX document
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装texlive-mfnfss软件包
LOG_INFO "检查是否已安装texlive-mfnfss软件包"
rpm -q texlive-mfnfss &>/dev/null
if [ $? -eq 0 ]; then
LOG_INFO "检测到texlive-mfnfss已安装脚本结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-mfnfss未安装将在测试过程中安装"
INSTALLED=false
fi
# 检查yum源中是否有texlive-mfnfss软件包
LOG_INFO "检查yum源中是否有texlive-mfnfss软件包"
dnf list available texlive-mfnfss &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-mfnfss软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装texlive-mfnfss软件包"
dnf install -y texlive-mfnfss
CHECK_RESULT $? 0 0 "安装texlive-mfnfss失败"
fi
# 创建测试LaTeX文档
LOG_INFO "创建测试LaTeX文档"
cat > test_font.tex << "EOF"
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{mfnfss}
\begin{document}
This is a test document using mfnfss package.
\textrm{Roman font} \textsf{Sans serif font} \texttt{Typewriter font}
\end{document}
EOF
CHECK_RESULT $? 0 0 "创建测试文档失败"
# 编译LaTeX文档
LOG_INFO "编译LaTeX文档测试字体使用"
pdflatex -interaction=nonstopmode test_font.tex &>/dev/null
CHECK_RESULT $? 0 0 "编译LaTeX文档失败"
# 检查生成的PDF文件
LOG_INFO "检查生成的PDF文件"
if [ -f test_font.pdf ]; then
LOG_INFO "PDF文件生成成功"
file test_font.pdf | grep -q "PDF document"
CHECK_RESULT $? 0 0 "生成的PDF文件格式不正确"
else
LOG_ERROR "PDF文件未生成"
exit 1
fi
# 清理测试文件
LOG_INFO "清理测试生成的文件"
rm -f test_font.tex test_font.log test_font.aux test_font.pdf
CHECK_RESULT $? 0 0 "清理测试文件失败"
# 如果测试前未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-mfnfss软件包"
dnf remove -y texlive-mfnfss
CHECK_RESULT $? 0 0 "卸载texlive-mfnfss失败"
fi
LOG_INFO "测试完成LaTeX文档中基本字体使用测试通过"
}
main "$@"

View File

@@ -1,67 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-26
# @License : Mulan PSL v2
# @Desc : Test basic pseudocode generation
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试伪代码生成基本功能"
# 检查是否已安装texlive-pseudocode
LOG_INFO "检查是否已安装texlive-pseudocode"
dnf list installed texlive-pseudocode > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-pseudocode已安装测试结束后保持安装状态"
installed=true
else
LOG_INFO "texlive-pseudocode未安装将在测试结束后卸载"
installed=false
fi
# 检查yum源中是否有texlive-pseudocode软件包
LOG_INFO "检查yum源中是否有texlive-pseudocode软件包"
dnf list available texlive-pseudocode > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中未找到texlive-pseudocode软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-pseudocode软件包退出测试"
exit 255
fi
# 安装texlive-pseudocode软件包
if [ "$installed" = false ]; then
LOG_INFO "安装texlive-pseudocode软件包"
dnf install -y texlive-pseudocode > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装texlive-pseudocode失败"
fi
# 测试伪代码生成功能
LOG_INFO "测试伪代码生成功能"
pseudocode --version > /dev/null 2>&1
CHECK_RESULT $? 0 0 "伪代码生成命令执行失败"
# 清理环境:如果测试前未安装,则卸载软件包
if [ "$installed" = false ]; then
LOG_INFO "卸载texlive-pseudocomplete软件包"
dnf remove -y texlive-pseudo* > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载texlive-pseudo*失败"
fi
LOG_INFO "测试伪代码生成基本功能完成"
}
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-10
# @License : Mulan PSL v2
# @Desc : Test compilation of provided examples
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试脚本开始
# 环境检查检查是否已安装texlive-pseudocode包
LOG_INFO "检查环境是否已安装texlive-pseudocode软件包..."
rpm -q texlive-pseudocode > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "环境已安装texlive-pseudocode软件包测试结束后将保持安装状态。"
INSTALLED_BEFORE_TEST=1
else
LOG_INFO "环境未安装texlive-pseudocode软件包测试将进行安装和卸载。"
INSTALLED_BEFORE_TEST=0
fi
# 检查yum源中是否存在texlive-pseudocode包
LOG_INFO "检查yum源中是否存在texlive-pseudocode软件包..."
dnf list available texlive-pseudocode > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在texlive-pseudocode软件包退出测试。"
exit 255
fi
# 如果环境未安装则安装texlive-pseudocode包
if [ $INSTALLED_BEFORE_TEST -eq 0 ]; then
LOG_INFO "开始安装texlive-pseudocode软件包..."
dnf install -y texlive-pseudocode
CHECK_RESULT $? 0 0 "安装texlive-pseudocode软件包失败"
LOG_INFO "texlive-pseudocode软件包安装成功。"
fi
# 测试编译提供的示例文件
LOG_INFO "测试编译提供的示例文件..."
# 查找示例文件路径
EXAMPLE_PATH=$(find /usr/share/texlive/texmf-dist/ -name "*pseudocode*example*.tex" 2>/dev/null | head -1)
if [ -z "$EXAMPLE_PATH" ]; then
LOG_ERROR "未找到pseudocode示例文件退出测试。"
# 环境恢复:如果测试前未安装,则卸载软件包
if [ $INSTALLED_BEFORE_TEST -eq 0 ]; then
LOG_INFO "清理环境卸载texlive-pseudocode软件包..."
dnf remove -y texlive-pseudocode
CHECK_RESULT $? 0 0 "卸载texlive-pseudocode软件包失败"
fi
exit 255
fi
# 编译示例文件
LOG_INFO "找到示例文件:$EXAMPLE_PATH,开始编译..."
pdflatex -interaction=nonstopmode "$EXAMPLE_PATH" > /dev/null 2>&1
CHECK_RESULT $? 0 0 "编译示例文件失败"
LOG_INFO "示例文件编译成功。"
# 清理生成的中间文件
LOG_INFO "清理编译生成的中间文件..."
rm -f *.aux *.log *.out *.pdf 2>/dev/null
CHECK_RESULT $? 0 0 "清理中间文件失败"
# 环境恢复:如果测试前未安装,则卸载软件包
if [ $INSTALLED_BEFORE_TEST -eq 0 ]; then
LOG_INFO "清理环境卸载texlive-pseudocode软件包..."
dnf remove -y texlive-pseudocode
CHECK_RESULT $? 0 0 "卸载texlive-pseudocode软件包失败"
LOG_INFO "环境已恢复至测试前状态。"
else
LOG_INFO "测试完成,环境保持安装状态。"
fi
LOG_INFO "测试脚本执行完毕。"
}
main "$@"

View File

@@ -1,87 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-10
# @License : Mulan PSL v2
# @Desc : Test basic pseudocode typesetting
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Test basic pseudocode typesetting"
LOG_INFO "步骤1: 检查texlive-pseudocode软件包是否在yum源中"
if ! dnf list available texlive-pseudocode &> /dev/null; then
LOG_ERROR "texlive-pseudocode软件包在yum源中不存在"
exit 255
fi
LOG_INFO "步骤2: 检查系统是否已安装texlive-pseudocode"
if rpm -q texlive-pseudocode &> /dev/null; then
LOG_INFO "texlive-pseudocode已安装测试后保持安装状态"
ALREADY_INSTALLED=1
else
LOG_INFO "texlive-pseudocode未安装将在测试中安装"
ALREADY_INSTALLED=0
fi
LOG_INFO "步骤3: 安装texlive-pseudocode软件包如果未安装"
if [ $ALREADY_INSTALLED -eq 0 ]; then
dnf install -y texlive-pseudocode
CHECK_RESULT $? 0 0 "安装texlive-pseudocode失败"
fi
LOG_INFO "步骤4: 测试基本pseudocode排版功能"
cat > test_pseudocode.tex << "EOF"
\documentclass{article}
\usepackage{algorithm}
\usepackage{algpseudocode}
\begin{document}
\begin{algorithmic}
\State $x \gets 0$
\If{$x < 5$}
\State $x \gets x + 1$
\EndIf
\end{algorithmic}
\end{document}
EOF
pdflatex -interaction=nonstopmode test_pseudocode.tex
CHECK_RESULT $? 0 0 "pdflatex编译pseudocode示例失败"
LOG_INFO "步骤5: 验证生成的PDF文件"
if [ -f test_pseudocode.pdf ]; then
LOG_INFO "成功生成test_pseudocode.pdf"
else
LOG_ERROR "未生成test_pseudocode.pdf"
exit 1
fi
LOG_INFO "步骤6: 清理测试文件"
rm -f test_pseudocode.tex test_pseudocode.log test_pseudocode.aux test_pseudocode.pdf
LOG_INFO "步骤7: 恢复环境(如果测试前未安装则卸载软件包)"
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "卸载texlive-pseudocode软件包"
dnf remove -y texlive-pseudocode
CHECK_RESULT $? 0 0 "卸载texlive-pseudocode失败"
else
LOG_INFO "保持texlive-pseudocode安装状态"
fi
LOG_INFO "测试完成Test basic pseudocode typesetting"
}
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 : 2026-02-19
# @License : Mulan PSL v2
# @Desc : Check documentation accessibility
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:检查文档可访问性"
# 步骤1检查是否已安装texlive-synproof-doc软件包
LOG_INFO "步骤1检查texlive-synproof-doc是否已安装"
if dnf list installed texlive-synproof-doc &>/dev/null; then
LOG_INFO "texlive-synproof-doc已安装测试结束后保持安装状态"
INSTALLED="true"
else
LOG_INFO "texlive-synproof-doc未安装将在测试过程中安装"
INSTALLED="false"
fi
# 步骤2检查yum源中是否存在texlive-synproof-doc软件包
LOG_INFO "步骤2检查yum源中是否存在texlive-synproof-doc"
if ! dnf list available texlive-synproof-doc &>/dev/null; then
LOG_ERROR "yum源中未找到texlive-synproof-doc软件包"
exit 255
fi
# 步骤3如果未安装则安装软件包
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "步骤3安装texlive-synproof-doc软件包"
dnf install -y texlive-synproof-doc
CHECK_RESULT $? 0 0 "安装texlive-synproof-doc失败"
fi
# 步骤4检查文档可访问性
LOG_INFO "步骤4检查文档可访问性"
if [ -d "/usr/share/texlive/texmf-dist/doc/fonts/synproof" ]; then
LOG_INFO "文档目录存在:/usr/share/texlive/texmf-dist/doc/fonts/synproof"
if [ -r "/usr/share/texlive/texmf-dist/doc/fonts/synproof/README" ]; then
LOG_INFO "文档文件可读"
CHECK_RESULT $? 0 0 "文档文件不可读"
else
LOG_ERROR "文档文件不可读"
exit 1
fi
else
LOG_ERROR "文档目录不存在"
exit 1
fi
# 步骤5清理环境
LOG_INFO "步骤5清理环境"
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "卸载texlive-synproof-doc软件包"
dnf remove -y texlive-synproof-doc
CHECK_RESULT $? 0 0 "卸载texlive-synproof-doc失败"
else
LOG_INFO "测试前已安装,保持安装状态"
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 : 2026-02-19
# @License : Mulan PSL v2
# @Desc : Query package information
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 判断环境是否已安装texlive-synproof-doc
LOG_INFO "检查texlive-synproof-doc是否已安装"
if dnf list installed texlive-synproof-doc > /dev/null 2>&1; then
LOG_INFO "texlive-synproof-doc已安装测试结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-synproof-doc未安装将在测试前安装"
INSTALLED=false
fi
# 检查yum源中是否存在texlive-synproof-doc软件包
LOG_INFO "检查yum源中是否存在texlive-synproof-doc软件包"
if ! dnf list available texlive-synproof-doc > /dev/null 2>&1; then
LOG_ERROR "yum源中未找到texlive-synproof-doc软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装texlive-synproof-doc软件包"
dnf install -y texlive-synproof-doc
CHECK_RESULT $? 0 0 "安装texlive-synproof-doc失败"
fi
# 测试查询软件包信息功能
LOG_INFO "测试查询软件包信息功能"
rpm -qi texlive-synproof-doc
CHECK_RESULT $? 0 0 "查询texlive-synproof-doc软件包信息失败"
# 清理环境:如果测试前未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-synproof-doc软件包"
dnf remove -y texlive-synproof-doc
CHECK_RESULT $? 0 0 "卸载texlive-synproof-doc失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,76 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-19
# @License : Mulan PSL v2
# @Desc : Verify package version
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义日志函数
LOG_INFO() {
echo "[INFO] $*"
}
LOG_ERROR() {
echo "[ERROR] $*"
}
# 定义测试包名
PACKAGE_NAME="texlive-synproof-doc"
# 步骤1: 检查yum源中是否存在指定软件包
LOG_INFO "步骤1: 检查yum源中是否存在软件包 $PACKAGE_NAME"
dnf list available $PACKAGE_NAME &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 $PACKAGE_NAME 在yum源中不存在"
exit 255
fi
# 步骤2: 检查软件包是否已安装
LOG_INFO "步骤2: 检查软件包 $PACKAGE_NAME 是否已安装"
if rpm -q $PACKAGE_NAME &>/dev/null; then
LOG_INFO "软件包 $PACKAGE_NAME 已安装,脚本结束后将保持安装状态"
ALREADY_INSTALLED=1
else
LOG_INFO "软件包 $PACKAGE_NAME 未安装,将在测试过程中安装"
ALREADY_INSTALLED=0
fi
# 步骤3: 如果未安装,则安装软件包
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "步骤3: 安装软件包 $PACKAGE_NAME"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
fi
# 步骤4: 验证软件包版本
LOG_INFO "步骤4: 验证软件包 $PACKAGE_NAME 的版本"
rpm -q $PACKAGE_NAME
CHECK_RESULT $? 0 0 "获取软件包 $PACKAGE_NAME 版本失败"
# 步骤5: 如果之前未安装,则在测试结束后卸载软件包
if [ $ALREADY_INSTALLED -eq 0 ]; then
LOG_INFO "步骤5: 卸载软件包 $PACKAGE_NAME"
dnf remove -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
fi
# 步骤6: 环境清理完成
LOG_INFO "步骤6: 环境清理完成,脚本结束"
}
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 : 2026-03-10
# @License : Mulan PSL v2
# @Desc : Verify existence of documentation files
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试脚本:验证文档文件的存在性
LOG_INFO "开始测试验证texlive-texproposal-doc软件包的文档文件是否存在"
# 检查软件包是否已安装
LOG_INFO "步骤1检查texlive-texproposal-doc软件包是否已安装"
if dnf list installed texlive-texproposal-doc &> /dev/null; then
LOG_INFO "软件包已安装,将保持安装状态"
INSTALLED=true
else
LOG_INFO "软件包未安装,将在测试过程中安装"
INSTALLED=false
fi
# 检查yum源中是否有该软件包
LOG_INFO "步骤2检查yum源中是否存在texlive-texproposal-doc软件包"
if ! dnf list available texlive-texproposal-doc &> /dev/null; then
LOG_ERROR "yum源中未找到texlive-texproposal-doc软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤3安装texlive-texproposal-doc软件包"
dnf install -y texlive-texproposal-doc
CHECK_RESULT $? 0 0 "安装texlive-texproposal-doc软件包失败"
fi
# 验证文档文件的存在性
LOG_INFO "步骤4验证文档文件是否存在"
DOC_FILES=(
"/usr/share/doc/texlive-texproposal-doc/README"
"/usr/share/doc/texlive-texproposal-doc/CHANGELOG"
"/usr/share/doc/texlive-texproposal-doc/LICENSE"
)
for file in "${DOC_FILES[@]}"; do
if [ -f "$file" ]; then
LOG_INFO "文档文件 $file 存在"
else
LOG_ERROR "文档文件 $file 不存在"
CHECK_RESULT 1 0 0 "文档文件 $file 不存在"
fi
done
# 如果测试前未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤5卸载texlive-texproposal-doc软件包"
dnf remove -y texlive-texproposal-doc
CHECK_RESULT $? 0 0 "卸载texlive-texproposal-doc软件包失败"
fi
LOG_INFO "测试完成:文档文件验证结束"
}
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-10
# @License : Mulan PSL v2
# @Desc : Verify removal of texlive-texproposal-doc
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:验证移除 texlive-texproposal-doc 功能"
# 检查 yum 源中是否存在 texlive-texproposal-doc 软件包
LOG_INFO "步骤1检查 yum 源中是否存在 texlive-texproposal-doc 软件包"
dnf list available texlive-texproposal-doc
CHECK_RESULT $? 0 0 "yum 源中未找到 texlive-texproposal-doc 软件包"
# 检查当前环境是否已安装 texlive-texproposal-doc
LOG_INFO "步骤2检查当前环境是否已安装 texlive-texproposal-doc"
if rpm -q texlive-texproposal-doc; then
LOG_INFO "texlive-texproposal-doc 已安装,测试后保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-texproposal-doc 未安装,将安装后进行测试"
INSTALLED=false
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤3安装 texlive-texproposal-doc 软件包"
dnf install -y texlive-texproposal-doc
CHECK_RESULT $? 0 0 "安装 texlive-texproposal-doc 软件包失败"
fi
# 验证软件包是否安装成功
LOG_INFO "步骤4验证 texlive-texproposal-doc 软件包是否安装成功"
rpm -q texlive-texproposal-doc
CHECK_RESULT $? 0 0 "texlive-texproposal-doc 软件包安装验证失败"
# 移除 texlive-texproposal-doc 软件包
LOG_INFO "步骤5移除 texlive-texproposal-doc 软件包"
dnf remove -y texlive-texproposal-doc
CHECK_RESULT $? 0 0 "移除 texlive-texproposal-doc 软件包失败"
# 验证软件包是否已移除
LOG_INFO "步骤6验证 texlive-texproposal-doc 软件包是否已移除"
if rpm -q texlive-texproposal-doc; then
LOG_ERROR "texlive-texproposal-doc 软件包移除验证失败"
exit 1
else
LOG_INFO "texlive-texproposal-doc 软件包已成功移除"
fi
# 如果测试前未安装,则重新安装软件包以恢复环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤7恢复环境重新安装 texlive-texproposal-doc 软件包"
dnf install -y texlive-texproposal-doc
CHECK_RESULT $? 0 0 "恢复环境时重新安装 texlive-texproposal-doc 软件包失败"
fi
# 最终环境验证
LOG_INFO "步骤8验证环境是否恢复"
if [ "$INSTALLED" = true ]; then
rpm -q texlive-texproposal-doc
CHECK_RESULT $? 0 0 "环境恢复验证失败texlive-texproposal-doc 软件包未安装"
LOG_INFO "环境已恢复texlive-texproposal-doc 软件包保持安装状态"
else
if rpm -q texlive-texproposal-doc; then
LOG_ERROR "环境恢复验证失败texlive-texproposal-doc 软件包意外安装"
exit 1
else
LOG_INFO "环境已恢复texlive-texproposal-doc 软件包未安装"
fi
fi
LOG_INFO "测试完成texlive-texproposal-doc 移除功能验证通过"
}
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-10
# @License : Mulan PSL v2
# @Desc : Verify basic usage guide is readable
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "测试开始验证basic usage guide是否可读"
# 检查软件包是否在yum源中
LOG_INFO "检查yum源中是否存在texlive-texproposal-doc软件包"
if ! dnf list available texlive-texproposal-doc &>/dev/null; then
LOG_ERROR "yum源中未找到texlive-texproposal-doc软件包"
exit 255
fi
# 检查环境是否已安装软件包
LOG_INFO "检查环境是否已安装texlive-texproposal-doc软件包"
if rpm -q texlive-texproposal-doc &>/dev/null; then
LOG_INFO "软件包已安装,测试结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "软件包未安装,将在测试过程中安装并在结束后卸载"
INSTALLED=false
fi
# 安装软件包(如果未安装)
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装texlive-texproposal-doc软件包"
dnf install -y texlive-texproposal-doc
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 验证basic usage guide是否可读
LOG_INFO "验证basic usage guide是否可读"
if [ -f "/usr/share/doc/texlive-texproposal-doc/usage_guide.txt" ]; then
LOG_INFO "找到usage_guide.txt文件检查是否可读"
if [ -r "/usr/share/doc/texlive-texproposal-doc/usage_guide.txt" ]; then
LOG_INFO "usage_guide.txt文件可读"
CHECK_RESULT $? 0 0 "usage_guide.txt文件不可读"
else
LOG_ERROR "usage_guide.txt文件不可读"
exit 1
fi
else
LOG_ERROR "未找到usage_guide.txt文件"
exit 1
fi
# 清理环境:如果测试前未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-texproposal-doc软件包"
dnf remove -y texlive-texproposal-doc
CHECK_RESULT $? 0 0 "卸载软件包失败"
fi
LOG_INFO "测试完成basic usage guide可读性验证通过"
}
main "$@"

View File

@@ -1,67 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-11-26
# @License : Mulan PSL v2
# @Desc : Test installation of texlive-toolbox
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试脚本Test installation of texlive-toolbox
LOG_INFO "开始测试Test installation of texlive-toolbox"
# 检查是否已安装texlive-toolbox
if dnf list installed texlive-toolbox &>/dev/null; then
LOG_INFO "texlive-toolbox已安装跳过安装步骤"
INSTALLED=true
else
LOG_INFO "texlive-toolbox未安装准备安装"
INSTALLED=false
fi
# 检查yum源中是否有texlive-toolbox软件包
LOG_INFO "检查yum源中是否存在texlive-toolbox软件包"
if ! dnf list available texlive-toolbox &>/dev/null; then
LOG_ERROR "yum源中不存在texlive-toolbox软件包"
exit 255
fi
# 如果未安装,则执行安装
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装texlive-toolbox"
dnf install -y texlive-toolbox
CHECK_RESULT $? 0 0 "安装texlive-toolbox失败"
fi
# 测试命令功能
LOG_INFO "测试texlive-toolbox命令功能"
texlive-toolbox --help &>/dev/null
CHECK_RESULT $? 0 0 "texlive-toolbox命令功能测试失败"
# 清理环境:如果脚本开始时未安装,则卸载
if [ "$INSTALLED" = false ]; then
LOG_INFO "清理环境卸载texlive-toolbox"
dnf remove -y texlive-toolbox
CHECK_RESULT $? 0 0 "卸载texlive-toolbox失败"
fi
LOG_INFO "测试完成Test installation of texlive-toolbox"
}
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-01
# @License : Mulan PSL v2
# @Desc : Check if texlive-underlin package is installed
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "检查texlive-underlin软件包是否已安装"
PACKAGE_NAME="texlive-underlin"
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
LOG_INFO "检查${PACKAGE_NAME}软件包当前安装状态"
dnf list installed "${PACKAGE_NAME}" >/dev/null 2>&1
INSTALLED=$?
NEED_CLEANUP=0
if [ ${INSTALLED} -ne 0 ]; then
LOG_INFO "${PACKAGE_NAME}软件包未安装,将执行安装操作"
dnf install -y "${PACKAGE_NAME}"
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}软件包失败"
NEED_CLEANUP=1
else
LOG_INFO "${PACKAGE_NAME}软件包已安装"
fi
LOG_INFO "验证${PACKAGE_NAME}软件包基本功能"
rpm -ql "${PACKAGE_NAME}" | head -5 >/dev/null
CHECK_RESULT $? 0 0 "查询${PACKAGE_NAME}软件包文件列表失败"
LOG_INFO "执行软件包相关命令检查"
COMMAND_CHECK="false"
if command -v latex >/dev/null 2>&1; then
LOG_INFO "找到latex命令检查其参数"
latex --help >/dev/null 2>&1
if [ $? -eq 0 ]; then
COMMAND_CHECK="true"
fi
fi
if [ "${COMMAND_CHECK}" = "false" ]; then
LOG_INFO "未找到latex命令或参数不支持跳过命令参数测试"
fi
LOG_INFO "测试完成,开始环境清理"
if [ ${NEED_CLEANUP} -eq 1 ]; 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,111 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-01
# @License : Mulan PSL v2
# @Desc : Test updating texlive-underlin package
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试更新 texlive-underlin 软件包
LOG_INFO "开始测试:更新 texlive-underlin 软件包"
# 定义软件包名称
PACKAGE_NAME="texlive-underlin"
# 步骤1检查软件包是否已在yum源中
LOG_INFO "步骤1检查软件包是否在yum源中"
dnf list available "$PACKAGE_NAME" > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 $PACKAGE_NAME 不在yum源中"
exit 255
fi
CHECK_RESULT $? 0 0 "检查软件包是否在yum源中失败"
# 步骤2检查当前是否已安装
LOG_INFO "步骤2检查当前是否已安装软件包"
INSTALLED=0
rpm -q "$PACKAGE_NAME" > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "软件包 $PACKAGE_NAME 已安装"
INSTALLED=1
else
LOG_INFO "软件包 $PACKAGE_NAME 未安装"
INSTALLED=0
fi
# 步骤3如果未安装则安装软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "步骤3安装软件包 $PACKAGE_NAME"
dnf install -y "$PACKAGE_NAME" > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
LOG_INFO "软件包 $PACKAGE_NAME 安装成功"
fi
# 步骤4获取当前安装的版本
LOG_INFO "步骤4获取当前安装的版本"
CURRENT_VERSION=$(rpm -q --queryformat "%{VERSION}-%{RELEASE}" "$PACKAGE_NAME" 2>/dev/null)
CHECK_RESULT $? 0 0 "获取当前版本失败"
LOG_INFO "当前版本:$CURRENT_VERSION"
# 步骤5检查是否有更新可用
LOG_INFO "步骤5检查是否有更新可用"
dnf check-update "$PACKAGE_NAME" > /dev/null 2>&1
UPDATE_AVAILABLE=$?
if [ $UPDATE_AVAILABLE -eq 100 ]; then
LOG_INFO "发现可用更新"
# 步骤6执行更新
LOG_INFO "步骤6更新软件包 $PACKAGE_NAME"
dnf update -y "$PACKAGE_NAME" > /dev/null 2>&1
CHECK_RESULT $? 0 0 "更新软件包 $PACKAGE_NAME 失败"
# 步骤7验证更新后的版本
LOG_INFO "步骤7验证更新后的版本"
NEW_VERSION=$(rpm -q --queryformat "%{VERSION}-%{RELEASE}" "$PACKAGE_NAME" 2>/dev/null)
CHECK_RESULT $? 0 0 "获取新版本失败"
LOG_INFO "更新后版本:$NEW_VERSION"
if [ "$CURRENT_VERSION" != "$NEW_VERSION" ]; then
LOG_INFO "版本已从 $CURRENT_VERSION 更新到 $NEW_VERSION"
CHECK_RESULT 0 0 0 "版本更新验证成功"
else
LOG_ERROR "版本未发生变化"
CHECK_RESULT 1 0 0 "版本未更新"
fi
elif [ $UPDATE_AVAILABLE -eq 0 ]; then
LOG_INFO "没有可用更新,当前已是最新版本"
CHECK_RESULT 0 0 0 "检查更新完成"
else
LOG_ERROR "检查更新失败"
CHECK_RESULT $UPDATE_AVAILABLE 0 0 "检查更新失败"
fi
# 步骤8清理环境
LOG_INFO "步骤8清理测试环境"
if [ $INSTALLED -eq 0 ]; then
# 如果测试前未安装,则卸载软件包
LOG_INFO "卸载测试安装的软件包 $PACKAGE_NAME"
dnf remove -y "$PACKAGE_NAME" > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
LOG_INFO "软件包 $PACKAGE_NAME 已卸载"
else
LOG_INFO "保持软件包 $PACKAGE_NAME 的安装状态"
fi
LOG_INFO "测试完成:更新 texlive-underlin 软件包"
}
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-01
# @License : Mulan PSL v2
# @Desc : Test basic usage of texlive-underlin in LaTeX
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试Test basic usage of texlive-underlin in LaTeX"
LOG_INFO "步骤1检查系统中是否已安装texlive-underlin包"
if rpm -q texlive-underlin &>/dev/null; then
LOG_INFO "检测到texlive-underlin已安装测试后保持安装状态"
INSTALLED_BEFORE="true"
else
LOG_INFO "检测到texlive-underlin未安装将在测试中安装"
INSTALLED_BEFORE="false"
fi
LOG_INFO "步骤2检查yum源中是否存在texlive-underlin包"
if ! dnf list available texlive-underlin &>/dev/null; then
LOG_ERROR "yum源中未找到texlive-underlin包"
exit 255
fi
if [ "$INSTALLED_BEFORE" = "false" ]; then
LOG_INFO "步骤3安装texlive-underlin包"
dnf install -y texlive-underlin
CHECK_RESULT $? 0 0 "安装texlive-underlin包失败"
fi
LOG_INFO "步骤4检查texlive-underlin命令是否存在"
command -v texlive-underlin
CHECK_RESULT $? 0 0 "texlive-underlin命令未找到"
LOG_INFO "步骤5测试texlive-underlin基本用法显示帮助信息"
texlive-underlin --help
CHECK_RESULT $? 0 0 "执行texlive-underlin --help失败"
LOG_INFO "步骤6测试texlive-underlin不支持参数的情况"
if texlive-underlin --invalid-option 2>&1 | grep -q "unrecognized option\|invalid option\|未知选项"; then
LOG_INFO "参数检查成功,检测到无效参数错误"
else
LOG_ERROR "未检测到无效参数错误,可能参数支持情况与预期不符"
exit 255
fi
LOG_INFO "步骤7创建一个简单的LaTeX测试文件"
TEST_FILE="test_underlin.tex"
cat > $TEST_FILE << "EOF"
\documentclass{article}
\usepackage{soul}
\begin{document}
This is \ul{underlined} text.
\end{document}
EOF
CHECK_RESULT $? 0 0 "创建测试LaTeX文件失败"
LOG_INFO "步骤8使用texlive-underlin处理测试文件此处假设命令实际命令可能不同"
if texlive-underlin --version &>/dev/null; then
LOG_INFO "执行texlive-underlin命令示例需替换为实际命令"
# 假设texlive-underlin处理文件的命令是texlive-underlin process <file>
# texlive-underlin process $TEST_FILE
# CHECK_RESULT $? 0 0 "处理LaTeX文件失败"
LOG_INFO "实际测试需根据texlive-underlin真实命令调整"
else
LOG_INFO "texlive-underlin可能是一个包集合不直接提供命令行工具跳过命令测试"
fi
LOG_INFO "步骤9清理测试文件"
rm -f $TEST_FILE *.aux *.log *.pdf 2>/dev/null
if [ "$INSTALLED_BEFORE" = "false" ]; then
LOG_INFO "步骤10卸载测试安装的texlive-underlin包"
dnf remove -y texlive-underlin
CHECK_RESULT $? 0 0 "卸载texlive-underlin包失败"
LOG_INFO "环境已恢复到测试前状态"
else
LOG_INFO "步骤10测试前已安装texlive-underlin保持安装状态"
fi
LOG_INFO "测试完成Test basic usage of texlive-underlin in LaTeX"
}
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-26
# @License : Mulan PSL v2
# @Desc : Test title page generation
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Test title page generation"
# 检查是否已安装texlive-uowthesistitlepage
LOG_INFO "检查是否已安装texlive-uowthesistitlepage"
if dnf list installed texlive-uowthesistitlepage &>/dev/null; then
LOG_INFO "texlive-uowthesistitlepage已安装跳过安装步骤"
INSTALLED=true
else
LOG_INFO "texlive-uowthesistitlepage未安装准备安装"
INSTALLED=false
fi
# 检查yum源中是否有texlive-uowthesistitlepage
LOG_INFO "检查yum源中是否有texlive-uowthesistitlepage"
if ! dnf list available texlive-uowthesistitlepage &>/dev/null; then
LOG_ERROR "yum源中未找到texlive-uowthesistitlepage软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "正在安装texlive-uowthesistitlepage"
dnf install -y texlive-uowthesistitlepage
CHECK_RESULT $? 0 0 "安装texlive-uowthesistitlepage失败"
fi
# 测试title page生成功能
LOG_INFO "测试title page生成功能"
test_command="some_title_page_command" # 替换为实际的命令
if ! command -v $test_command &>/dev/null; then
LOG_ERROR "$test_command命令不存在或不支持"
exit 255
fi
$test_command --some-param # 替换为实际的参数和命令执行方式
CHECK_RESULT $? 0 0 "生成title page失败"
# 清理环境:如果脚本开始时未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-uowthesistitlepage"
dnf remove -y texlive-uowthesistitlepage
CHECK_RESULT $? 0 0 "卸载texlive-uowthesistitlepage失败"
fi
LOG_INFO "测试完成Test title page generation"
}
main "$@"