This commit is contained in:
2026-04-14 20:31:41 +08:00
30 changed files with 0 additions and 2066 deletions

View File

@@ -10,30 +10,6 @@
{
"name": "test_bash-devel_function_config",
"desc": "测试bash-devel软件包的配置功能验证配置文件是否正确生成和应用"
},
{
"name": "test_bash-devel_function_uninstall",
"desc": "测试bash-devel软件包的卸载功能验证是否能够正确从系统中卸载"
},
{
"name": "test_bash-devel_function_install",
"desc": "测试bash-devel软件包的安装功能验证其头文件和静态库等开发文件能否正确安装到系统指定路径。"
},
{
"name": "test_bash-devel_function_verify",
"desc": "测试bash-devel软件包的完整性验证确认安装的文件如bash.so、头文件等是否存在且版本匹配。"
},
{
"name": "test_bash-devel_function_link",
"desc": "测试bash-devel软件包的链接功能验证能否使用其提供的库成功编译和链接一个简单的C程序。"
},
{
"name": "test_bash-devel_function_build",
"desc": "测试bash-devel软件包的构建支持功能验证是否包含编译bash扩展或相关软件所必需的全部构建工具和脚本。"
},
{
"name": "test_bash-devel_function_check",
"desc": "测试bash-devel软件包的基础存在性验证系统是否已安装或能够通过包管理器查询到该开发包。"
}
]
}

View File

@@ -38,38 +38,10 @@
"name": "test_dpkg_dselect_remove",
"desc": "测试dselect命令的remove子命令"
},
{
"name": "test_dpkg_dselect_quit",
"desc": "测试dselect命令的quit子命令"
},
{
"name": "test_dpkg_dselect__upper_help",
"desc": "测试dselect命令的帮助选项"
},
{
"name": "test_dpkg_dselect_version",
"desc": "测试dselect命令的版本选项"
},
{
"name": "test_dpkg_dpkg__upper_v",
"desc": "测试 dpkg 的验证包完整性命令"
},
{
"name": "test_dpkg_dpkg__l",
"desc": "测试 dpkg 的简洁列出包命令"
},
{
"name": "test_dpkg_dpkg__upper_c",
"desc": "测试 dpkg 的检查损坏包命令"
},
{
"name": "test_dpkg_dpkg-realpath___help",
"desc": "测试 dpkg-realpath 命令的 --help 参数,显示帮助信息"
},
{
"name": "test_dpkg_dpkg-split_upper_i_part",
"desc": "测试 dpkg-split 命令的 -I 参数,用于显示部分文件的信息"
},
{
"name": "test_dpkg_dpkg_i",
"desc": "测试dpkg安装一个deb包"
@@ -106,10 +78,6 @@
"name": "test_dpkg_dpkg_force_help",
"desc": "测试dpkg显示强制选项的帮助信息"
},
{
"name": "test_dpkg_dpkg_root",
"desc": "测试dpkg在指定的根目录下执行操作"
},
{
"name": "test_dpkg_dpkg-deb_ctrl_tarfile",
"desc": "使用--ctrl-tarfile参数输出deb归档文件的控制信息tar文件"
@@ -118,10 +86,6 @@
"name": "test_dpkg_dpkg-deb_help",
"desc": "使用-?/--help参数显示帮助信息"
},
{
"name": "test_dpkg_dpkg-deb_version",
"desc": "使用--version参数显示版本信息"
},
{
"name": "test_dpkg_dpkg-divert_add",
"desc": "测试dpkg-divert添加文件转移的基本功能。"

View File

@@ -2,10 +2,6 @@
"path": "$OET_PATH/testcases/function_test/pkg_test/gcc-toolset/gcc-toolset-14-libtsan",
"machine num": 1,
"cases": [
{
"name": "test_gcc-toolset-14-libtsan_function_install",
"desc": "测试通过包管理器安装gcc-toolset-14-libtsan软件包"
},
{
"name": "test_gcc-toolset-14-libtsan_function_check",
"desc": "测试验证gcc-toolset-14-libtsan软件包已正确安装"
@@ -13,14 +9,6 @@
{
"name": "test_gcc-toolset-14-libtsan_function_uninstall",
"desc": "测试通过包管理器卸载gcc-toolset-14-libtsan软件包"
},
{
"name": "test_gcc-toolset-14-libtsan_function_tsan_linking",
"desc": "测试使用-ltsan链接程序进行编译"
},
{
"name": "test_gcc-toolset-14-libtsan_function_tsan_detection",
"desc": "测试编译并运行一个简单的多线程程序验证TSAN能检测数据竞争"
}
]
}

View File

@@ -2,37 +2,9 @@
"path": "$OET_PATH/testcases/function_test/pkg_test/jmh/jmh-generator-bytecode",
"machine num": 1,
"cases": [
{
"name": "test_jmh-generator-bytecode_function_generate",
"desc": "Test bytecode generation functionality"
},
{
"name": "test_jmh-generator-bytecode_function_validate",
"desc": "Test bytecode validation"
},
{
"name": "test_jmh-generator-bytecode_function_performance",
"desc": "Test bytecode generation performance"
},
{
"name": "test_jmh-generator-bytecode_function_install",
"desc": "Test package installation"
},
{
"name": "test_jmh-generator-bytecode_function_uninstall",
"desc": "Test package removal"
},
{
"name": "test_jmh-generator-bytecode_function_version",
"desc": "Test version checking"
},
{
"name": "test_jmh-generator-bytecode_function_basic_usage",
"desc": "Test basic command usage"
},
{
"name": "test_jmh-generator-bytecode_function_help",
"desc": "Test help command output"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-z/texlive-firamath-otf",
"machine num": 1,
"cases": [
{
"name": "test_texlive-firamath-otf_function_fontload",
"desc": "Test loading of FiraMath font"
}
]
}

View File

@@ -1,95 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-01-21
# @License : Mulan PSL v2
# @Desc : 测试bash-devel软件包的构建支持功能验证是否包含编译bash扩展或相关软件所必需的全部构建工具和脚本。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试bash-devel软件包的构建支持功能"
LOG_INFO "步骤1检查bash-devel软件包是否已在yum源中"
dnf list available bash-devel 2>&1 | grep -q "bash-devel"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到bash-devel软件包"
exit 255
fi
LOG_INFO "步骤2检查当前环境是否已安装bash-devel"
rpm -q bash-devel > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "bash-devel已安装测试结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "bash-devel未安装将在测试过程中安装"
INSTALLED=false
fi
LOG_INFO "步骤3安装bash-devel软件包"
if [ "$INSTALLED" = "false" ]; then
dnf install -y bash-devel
CHECK_RESULT $? 0 0 "安装bash-devel失败"
fi
LOG_INFO "步骤4验证bash-devel是否包含必要的构建工具和脚本"
LOG_INFO "检查bash-config脚本是否存在"
ls /usr/lib*/bash/config* 2>/dev/null | head -1
CHECK_RESULT $? 0 0 "bash-config脚本不存在"
LOG_INFO "检查bash头文件是否存在"
ls /usr/include/bash/*.h 2>/dev/null | head -1
CHECK_RESULT $? 0 0 "bash头文件不存在"
LOG_INFO "检查bash库文件是否存在"
ls /usr/lib*/bash/*.a 2>/dev/null | head -1
CHECK_RESULT $? 0 0 "bash库文件不存在"
LOG_INFO "步骤5测试bash-devel的构建功能"
LOG_INFO "创建一个简单的bash扩展测试程序"
cat > test_bash_extension.c << "EOF"
#include <stdio.h>
#include <bash/bash.h>
int main() {
printf("Bash development test successful\n");
return 0;
}
EOF
LOG_INFO "编译测试程序"
gcc -I/usr/include/bash -L/usr/lib64/bash test_bash_extension.c -o test_bash_extension
CHECK_RESULT $? 0 0 "编译bash扩展测试程序失败"
LOG_INFO "运行测试程序"
./test_bash_extension
CHECK_RESULT $? 0 0 "运行bash扩展测试程序失败"
LOG_INFO "步骤6清理测试文件"
rm -f test_bash_extension.c test_bash_extension
LOG_INFO "步骤7恢复环境状态"
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "卸载bash-devel软件包"
dnf remove -y bash-devel
CHECK_RESULT $? 0 0 "卸载bash-devel失败"
else
LOG_INFO "保持bash-devel安装状态"
fi
LOG_INFO "测试bash-devel软件包的构建支持功能完成"
}
main "$@"

View File

@@ -1,80 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-31
# @License : Mulan PSL v2
# @Desc : 测试bash-devel软件包的基础存在性验证系统是否已安装或能够通过包管理器查询到该开发包。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查bash-devel软件包是否存在或可安装
LOG_INFO "开始测试bash-devel软件包的基础存在性"
# 定义软件包名称
PACKAGE_NAME="bash-devel"
# 检查当前环境是否已安装bash-devel
LOG_INFO "检查系统是否已安装${PACKAGE_NAME}"
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
# 检查yum源中是否存在bash-devel软件包
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
# 如果未安装则安装bash-devel
if [ ${INSTALLED} -eq 0 ]; then
LOG_INFO "安装${PACKAGE_NAME}软件包"
dnf install -y ${PACKAGE_NAME} > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}失败"
LOG_INFO "${PACKAGE_NAME}安装成功"
fi
# 验证bash-devel软件包已正确安装
LOG_INFO "验证${PACKAGE_NAME}软件包已正确安装"
rpm -q ${PACKAGE_NAME} > /dev/null 2>&1
CHECK_RESULT $? 0 0 "${PACKAGE_NAME}软件包未正确安装"
# 检查bash-devel提供的开发文件
LOG_INFO "检查${PACKAGE_NAME}提供的开发文件"
rpm -ql ${PACKAGE_NAME} | grep -E "\.h$|\.so$" > /dev/null 2>&1
CHECK_RESULT $? 0 0 "${PACKAGE_NAME}未提供预期的开发文件"
# 清理环境:如果测试前未安装,则卸载软件包
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 "bash-devel软件包基础存在性测试完成"
}
main "$@"

View File

@@ -1,90 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-01-21
# @License : Mulan PSL v2
# @Desc : 测试bash-devel软件包的安装功能验证其头文件和静态库等开发文件能否正确安装到系统指定路径。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查bash-devel软件包是否已安装
LOG_INFO "检查bash-devel软件包是否已安装"
if rpm -q bash-devel &>/dev/null; then
LOG_INFO "bash-devel软件包已安装标记为已安装状态"
INSTALLED=1
else
LOG_INFO "bash-devel软件包未安装标记为未安装状态"
INSTALLED=0
fi
# 检查yum源中是否有bash-devel软件包
LOG_INFO "检查yum源中是否有bash-devel软件包"
if ! dnf list available bash-devel &>/dev/null; then
LOG_ERROR "yum源中未找到bash-devel软件包"
exit 255
fi
# 如果未安装则安装bash-devel软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装bash-devel软件包"
dnf install -y bash-devel
CHECK_RESULT $? 0 0 "bash-devel软件包安装失败"
LOG_INFO "bash-devel软件包安装成功"
fi
# 验证bash-devel的头文件是否正确安装
LOG_INFO "验证bash-devel的头文件是否正确安装"
if [ -f /usr/include/bash/version.h ]; then
LOG_INFO "头文件/usr/include/bash/version.h存在"
else
LOG_ERROR "头文件/usr/include/bash/version.h不存在"
exit 1
fi
# 验证bash-devel的静态库是否正确安装
LOG_INFO "验证bash-devel的静态库是否正确安装"
if [ -f /usr/lib64/libbash.a ]; then
LOG_INFO "静态库/usr/lib64/libbash.a存在"
elif [ -f /usr/lib/libbash.a ]; then
LOG_INFO "静态库/usr/lib/libbash.a存在"
else
LOG_ERROR "未找到bash的静态库文件"
exit 1
fi
# 验证bash-devel的开发文档是否正确安装
LOG_INFO "验证bash-devel的开发文档是否正确安装"
if [ -d /usr/share/doc/bash-devel-* ]; then
LOG_INFO "bash-devel开发文档目录存在"
else
LOG_ERROR "bash-devel开发文档目录不存在"
exit 1
fi
# 清理环境:如果脚本开始时未安装,则卸载软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "清理环境卸载bash-devel软件包"
dnf remove -y bash-devel
CHECK_RESULT $? 0 0 "bash-devel软件包卸载失败"
LOG_INFO "bash-devel软件包卸载成功环境已恢复"
else
LOG_INFO "脚本开始时bash-devel已安装保持安装状态"
fi
LOG_INFO "bash-devel软件包安装功能测试完成"
}
main "$@"

View File

@@ -1,116 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-01-21
# @License : Mulan PSL v2
# @Desc : 测试bash-devel软件包的链接功能验证能否使用其提供的库成功编译和链接一个简单的C程序。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查bash-devel软件包是否已安装
LOG_INFO "检查bash-devel软件包是否已安装"
rpm -q bash-devel &> /dev/null
pkg_installed=$?
# 定义软件包名称
PACKAGE_NAME="bash-devel"
# 检查yum源中是否有bash-devel软件包
LOG_INFO "检查yum源中是否有${PACKAGE_NAME}软件包"
dnf list available ${PACKAGE_NAME} &> /dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中没有找到${PACKAGE_NAME}软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ ${pkg_installed} -ne 0 ]; then
LOG_INFO "安装${PACKAGE_NAME}软件包"
dnf install -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}软件包失败"
fi
# 查找bash动态库路径
LOG_INFO "查找bash动态库路径"
bash_lib_path=$(rpm -ql bash-devel | grep -E "libbash\.so$" | head -1)
if [ -z "${bash_lib_path}" ]; then
LOG_ERROR "未找到bash动态库"
exit 255
fi
LOG_INFO "bash动态库路径: ${bash_lib_path}"
# 查找bash头文件路径
LOG_INFO "查找bash头文件路径"
bash_header_path=$(rpm -ql bash-devel | grep -E "bash\.h$" | head -1)
if [ -z "${bash_header_path}" ]; then
LOG_ERROR "未找到bash头文件"
exit 255
fi
LOG_INFO "bash头文件路径: ${bash_header_path}"
# 创建测试C程序
LOG_INFO "创建测试C程序"
cat > test_bash_link.c << "EOF"
#include <stdio.h>
#include <stdlib.h>
/* 从bash头文件中获取版本信息 */
#ifdef HAVE_BASH
#include <bash.h>
#endif
int main() {
printf("测试bash-devel链接功能\n");
#ifdef HAVE_BASH
printf("成功链接到bash库\n");
printf("BASH版本: %s\n", BASH_VERSION);
return 0;
#else
printf("未定义HAVE_BASH宏\n");
return 1;
#endif
}
EOF
CHECK_RESULT $? 0 0 "创建测试C程序失败"
# 编译测试程序
LOG_INFO "编译测试C程序"
gcc -o test_bash_link test_bash_link.c -I$(dirname ${bash_header_path}) -L$(dirname ${bash_lib_path}) -lbash -DHAVE_BASH
CHECK_RESULT $? 0 0 "编译测试C程序失败"
# 运行测试程序
LOG_INFO "运行测试程序"
./test_bash_link
CHECK_RESULT $? 0 0 "测试程序运行失败"
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f test_bash_link test_bash_link.c
CHECK_RESULT $? 0 0 "清理测试文件失败"
# 如果测试前未安装,则卸载软件包
if [ ${pkg_installed} -ne 0 ]; then
LOG_INFO "卸载${PACKAGE_NAME}软件包"
dnf remove -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}软件包失败"
fi
LOG_INFO "测试完成bash-devel软件包的链接功能验证成功"
}
main "$@"

View File

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

View File

@@ -1,92 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-01-21
# @License : Mulan PSL v2
# @Desc : 测试bash-devel软件包的完整性验证确认安装的文件如bash.so、头文件等是否存在且版本匹配。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试bash-devel软件包的完整性验证"
# 检查是否已安装bash-devel
LOG_INFO "检查是否已安装bash-devel"
if dnf list installed bash-devel &>/dev/null; then
LOG_INFO "bash-devel已安装测试结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "bash-devel未安装将在测试前安装"
INSTALLED=false
fi
# 检查yum源中是否有bash-devel
LOG_INFO "检查yum源中是否有bash-devel"
if ! dnf list available bash-devel &>/dev/null; then
LOG_ERROR "yum源中未找到bash-devel软件包"
exit 255
fi
# 如果未安装则安装bash-devel
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装bash-devel软件包"
dnf install -y bash-devel
CHECK_RESULT $? 0 0 "安装bash-devel失败"
fi
# 验证bash.so文件是否存在
LOG_INFO "验证bash.so文件是否存在"
if [ -f /usr/lib64/bash/session/bash.so ]; then
LOG_INFO "bash.so文件存在"
else
LOG_ERROR "bash.so文件不存在"
exit 1
fi
# 验证头文件是否存在
LOG_INFO "验证头文件是否存在"
HEADER_FILES=("bash.h" "config.h" "shell.h")
for header in "${HEADER_FILES[@]}"; do
if [ -f /usr/include/bash/$header ]; then
LOG_INFO "头文件$header存在"
else
LOG_ERROR "头文件$header不存在"
exit 1
fi
done
# 验证版本匹配
LOG_INFO "验证bash-devel版本与bash版本匹配"
BASH_VERSION=$(bash --version | head -1 | awk "{print $4}")
BASH_DEVEL_VERSION=$(rpm -q bash-devel --queryformat "%{VERSION}")
if [ "$BASH_VERSION" = "$BASH_DEVEL_VERSION" ]; then
LOG_INFO "bash-devel版本($BASH_DEVEL_VERSION)与bash版本($BASH_VERSION)匹配"
else
LOG_ERROR "bash-devel版本($BASH_DEVEL_VERSION)与bash版本($BASH_VERSION)不匹配"
exit 1
fi
# 清理环境如果测试前未安装则卸载bash-devel
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载bash-devel软件包"
dnf remove -y bash-devel
CHECK_RESULT $? 0 0 "卸载bash-devel失败"
fi
LOG_INFO "bash-devel软件包完整性验证完成"
}
main "$@"

View File

@@ -1,84 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-26
# @License : Mulan PSL v2
# @Desc : 使用--version参数显示版本信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义颜色和日志函数(虽然题目说直接使用,但实际环境中可能需要定义)
LOG_INFO() {
echo "[INFO] $*"
}
LOG_ERROR() {
echo "[ERROR] $*"
}
# 测试脚本开始
LOG_INFO "开始测试 dpkg 和 dpkg-deb 的 --version 参数功能"
# 步骤1检查是否已安装 dpkg 和 dpkg-deb
LOG_INFO "步骤1检查 dpkg 和 dpkg-deb 是否已安装"
if command -v dpkg &> /dev/null && command -v dpkg-deb &> /dev/null; then
LOG_INFO "dpkg 和 dpkg-deb 已安装,脚本结束后将保持安装状态"
already_installed=true
else
LOG_INFO "dpkg 和 dpkg-deb 未安装,将进行安装"
already_installed=false
fi
# 步骤2如果未安装则尝试安装
if [ "$already_installed" = false ]; then
LOG_INFO "步骤2尝试安装 dpkg 和 dpkg-deb"
# 检查 yum 源中是否有 dpkg 和 dpkg-deb 软件包
LOG_INFO "检查 yum 源中是否有 dpkg 和 dpkg-deb 软件包"
if ! dnf list available dpkg dpkg-deb &> /dev/null; then
LOG_ERROR "yum 源中没有 dpkg 或 dpkg-deb 软件包"
exit 255
fi
# 安装软件包
dnf install -y dpkg dpkg-deb
CHECK_RESULT $? 0 0 "安装 dpkg 和 dpkg-deb 失败"
LOG_INFO "dpkg 和 dpkg-deb 安装成功"
fi
# 步骤3测试 dpkg --version 参数
LOG_INFO "步骤3测试 dpkg --version 参数"
dpkg --version &> /dev/null
CHECK_RESULT $? 0 0 "dpkg --version 参数不存在或不支持"
LOG_INFO "dpkg --version 执行成功,版本信息显示正常"
# 步骤4测试 dpkg-deb --version 参数
LOG_INFO "步骤4测试 dpkg-deb --version 参数"
dpkg-deb --version &> /dev/null
CHECK_RESULT $? 0 0 "dpkg-deb --version 参数不存在或不支持"
LOG_INFO "dpkg-deb --version 执行成功,版本信息显示正常"
# 步骤5如果之前未安装则卸载软件包
if [ "$already_installed" = false ]; then
LOG_INFO "步骤5卸载之前安装的 dpkg 和 dpkg-deb 软件包"
dnf remove -y dpkg dpkg-deb
CHECK_RESULT $? 0 0 "卸载 dpkg 和 dpkg-deb 失败"
LOG_INFO "dpkg 和 dpkg-deb 卸载成功,环境已恢复"
else
LOG_INFO "步骤5保持 dpkg 和 dpkg-deb 的安装状态,无需卸载"
fi
LOG_INFO "测试脚本执行完成,所有步骤均通过"
}
main "$@"

View File

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

View File

@@ -1,67 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-13
# @License : Mulan PSL v2
# @Desc : 测试 dpkg-split 命令的 -I 参数,用于显示部分文件的信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 dpkg-split 命令的 -I 参数,用于显示部分文件的信息"
# 检查是否已安装 dpkg-split
if ! command -v dpkg-split &> /dev/null; then
LOG_INFO "环境未安装 dpkg-split开始安装"
if ! dnf list available dpkg-split &> /dev/null; then
LOG_ERROR "yum 源中未找到 dpkg-split 软件包"
exit 255
fi
dnf install -y dpkg-split
CHECK_RESULT $? 0 0 "安装 dpkg-split 失败"
INSTALLED=true
else
LOG_INFO "环境已安装 dpkg-split"
INSTALLED=false
fi
# 测试 dpkg-split -I 参数
LOG_INFO "测试 dpkg-split -I 参数功能"
TEST_FILE="test.deb"
if [ ! -f "$TEST_FILE" ]; then
LOG_INFO "创建测试文件 $TEST_FILE"
touch "$TEST_FILE"
fi
dpkg-split -I "$TEST_FILE"
CHECK_RESULT $? 0 0 "dpkg-split -I 参数执行失败"
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f "$TEST_FILE"
# 恢复环境
if [ "$INSTALLED" = true ]; then
LOG_INFO "卸载 dpkg-split"
dnf remove -y dpkg-split
CHECK_RESULT $? 0 0 "卸载 dpkg-split 失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,57 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-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-13
# @License : Mulan PSL v2
# @Desc : 测试 dpkg 的简洁列出包命令
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试 dpkg 的简洁列出包命令"
# 检查是否已安装 dpkg
if ! command -v dpkg &> /dev/null; then
LOG_INFO "dpkg 未安装,尝试安装"
if ! dnf list installed dpkg &> /dev/null; then
LOG_ERROR "yum 源中未找到 dpkg 软件包"
exit 255
fi
dnf install -y dpkg
CHECK_RESULT $? 0 0 "安装 dpkg 失败"
INSTALLED=true
else
LOG_INFO "dpkg 已安装"
INSTALLED=false
fi
# 测试简洁列出包命令
LOG_INFO "测试 dpkg -l 命令"
dpkg -l > /dev/null 2>&1
CHECK_RESULT $? 0 0 "dpkg -l 命令执行失败"
# 清理环境
if [ "$INSTALLED" = true ]; then
LOG_INFO "卸载 dpkg"
dnf remove -y dpkg
CHECK_RESULT $? 0 0 "卸载 dpkg 失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,72 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-13
# @License : Mulan PSL v2
# @Desc : 测试 dpkg 的验证包完整性命令
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装dpkg
if ! command -v dpkg &> /dev/null; then
LOG_INFO "环境未安装dpkg开始安装..."
dnf install -y dpkg
if [ $? -ne 0 ]; then
LOG_ERROR "安装dpkg失败"
exit 255
fi
INSTALLED=1
else
LOG_INFO "环境已安装dpkg"
INSTALLED=0
fi
# 测试dpkg验证包完整性命令
LOG_INFO "开始测试dpkg验证包完整性命令..."
# 检查dpkg命令是否支持--verify参数
if ! dpkg --help | grep -q "\--verify"; then
LOG_ERROR "dpkg不支持--verify参数"
exit 255
fi
# 使用dpkg --verify验证包完整性
LOG_INFO "执行dpkg --verify命令..."
dpkg --verify
CHECK_RESULT $? 0 0 "dpkg --verify命令执行失败"
# 环境恢复如果脚本安装了dpkg则卸载
if [ $INSTALLED -eq 1 ]; then
LOG_INFO "卸载测试安装的dpkg..."
dnf remove -y dpkg
CHECK_RESULT $? 0 0 "卸载dpkg失败"
# 确保卸载后环境恢复原状
if command -v dpkg &> /dev/null; then
LOG_ERROR "卸载dpkg后仍存在环境恢复失败"
exit 1
fi
else
LOG_INFO "环境未变动,无需恢复"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,81 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-02-26
# @License : Mulan PSL v2
# @Desc : 测试dpkg在指定的根目录下执行操作
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试dpkg在指定的根目录下执行操作"
LOG_INFO "检查dpkg软件包是否已在yum源中"
if ! dnf list available dpkg &>/dev/null; then
LOG_ERROR "yum源中没有dpkg软件包"
exit 255
fi
LOG_INFO "检查dpkg是否已安装"
if rpm -q dpkg &>/dev/null; then
ALREADY_INSTALLED=true
LOG_INFO "dpkg已安装测试结束后将保持安装状态"
else
ALREADY_INSTALLED=false
LOG_INFO "dpkg未安装将安装软件包作为测试步骤"
fi
LOG_INFO "检查dpkg命令是否支持--root参数"
if ! dpkg --help 2>&1 | grep -q "\-\-root"; then
LOG_ERROR "dpkg命令不支持--root参数"
exit 255
fi
if [ "$ALREADY_INSTALLED" = "false" ]; then
LOG_INFO "安装dpkg软件包"
dnf install -y dpkg
CHECK_RESULT $? 0 0 "安装dpkg失败"
fi
LOG_INFO "创建测试用的根目录结构"
TEST_ROOT="/tmp/test_dpkg_root_$(date +%s)"
mkdir -p "$TEST_ROOT/var/lib/dpkg"
mkdir -p "$TEST_ROOT/etc/dpkg"
cp -r /var/lib/dpkg/* "$TEST_ROOT/var/lib/dpkg/" 2>/dev/null || true
cp -r /etc/dpkg/* "$TEST_ROOT/etc/dpkg/" 2>/dev/null || true
LOG_INFO "测试dpkg在指定根目录下列出软件包"
dpkg --root="$TEST_ROOT" -l
CHECK_RESULT $? 0 0 "在指定根目录下执行dpkg -l失败"
LOG_INFO "测试dpkg在指定根目录下查询状态"
dpkg --root="$TEST_ROOT" -s bash 2>/dev/null || true
# 这里不检查返回值因为bash可能不在测试数据库中
LOG_INFO "清理测试根目录"
rm -rf "$TEST_ROOT"
if [ "$ALREADY_INSTALLED" = "false" ]; then
LOG_INFO "卸载dpkg软件包"
dnf remove -y dpkg
CHECK_RESULT $? 0 0 "卸载dpkg失败"
fi
LOG_INFO "dpkg指定根目录测试完成"
}
main "$@"

View File

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

View File

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

View File

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

View File

@@ -1,82 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-06
# @License : Mulan PSL v2
# @Desc : 测试通过包管理器安装gcc-toolset-14-libtsan软件包
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义颜色和日志函数
LOG_INFO() {
echo -e "\033[32m[INFO]\033[0m $1"
}
LOG_ERROR() {
echo -e "\033[31m[ERROR]\033[0m $1"
}
# 定义软件包名称
PACKAGE_NAME="gcc-toolset-14-libtsan"
# 步骤1检查yum源中是否存在指定的软件包
LOG_INFO "检查yum源中是否存在 $PACKAGE_NAME 软件包..."
dnf list available $PACKAGE_NAME &> /dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在 $PACKAGE_NAME 软件包"
exit 255
fi
# 步骤2检查当前环境是否已安装该软件包
LOG_INFO "检查当前环境是否已安装 $PACKAGE_NAME 软件包..."
rpm -q $PACKAGE_NAME &> /dev/null
if [ $? -eq 0 ]; then
LOG_INFO "$PACKAGE_NAME 软件包已安装,脚本结束时将保持安装状态"
INSTALLED_BEFORE=true
else
LOG_INFO "$PACKAGE_NAME 软件包未安装,将在测试步骤中安装"
INSTALLED_BEFORE=false
fi
# 步骤3如果未安装则安装软件包
if [ "$INSTALLED_BEFORE" = "false" ]; then
LOG_INFO "开始安装 $PACKAGE_NAME 软件包..."
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装 $PACKAGE_NAME 软件包失败"
fi
# 步骤4验证软件包是否安装成功
LOG_INFO "验证 $PACKAGE_NAME 软件包是否安装成功..."
rpm -q $PACKAGE_NAME
CHECK_RESULT $? 0 0 "验证 $PACKAGE_NAME 软件包安装失败"
# 步骤5测试软件包功能例如检查库文件是否存在
LOG_INFO "测试 $PACKAGE_NAME 软件包功能..."
ls /usr/lib*/libtsan.so &> /dev/null
CHECK_RESULT $? 0 0 "$PACKAGE_NAME 软件包功能测试失败"
# 步骤6清理环境如果之前未安装则卸载软件包
if [ "$INSTALLED_BEFORE" = "false" ]; then
LOG_INFO "清理环境:卸载 $PACKAGE_NAME 软件包..."
dnf remove -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "卸载 $PACKAGE_NAME 软件包失败"
else
LOG_INFO "环境保持安装状态,无需卸载 $PACKAGE_NAME 软件包"
fi
LOG_INFO "测试脚本执行完毕"
}
main "$@"

View File

@@ -1,88 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-06
# @License : Mulan PSL v2
# @Desc : 测试使用-ltsan链接程序进行编译
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:测试使用-ltsan链接程序进行编译"
LOG_INFO "步骤1检查yum源中是否存在gcc-toolset-14-libtsan软件包"
if ! dnf list available gcc-toolset-14-libtsan &>/dev/null; then
LOG_ERROR "yum源中未找到gcc-toolset-14-libtsan软件包"
exit 255
fi
LOG_INFO "软件包gcc-toolset-14-libtsan在yum源中存在"
LOG_INFO "步骤2检查当前环境是否已安装gcc-toolset-14-libtsan"
if rpm -q gcc-toolset-14-libtsan &>/dev/null; then
LOG_INFO "gcc-toolset-14-libtsan已安装脚本结束后将保持安装状态"
INSTALLED=1
else
LOG_INFO "gcc-toolset-14-libtsan未安装将在测试步骤中安装"
INSTALLED=0
fi
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "步骤3安装gcc-toolset-14-libtsan软件包"
dnf install -y gcc-toolset-14-libtsan
CHECK_RESULT $? 0 0 "安装gcc-toolset-14-libtsan失败"
LOG_INFO "gcc-toolset-14-libtsan安装成功"
fi
LOG_INFO "步骤4检查-ltsan链接参数是否被支持"
if ! gcc -print-search-dirs | grep -q "libtsan"; then
LOG_ERROR "编译器不支持-ltsan链接参数"
exit 255
fi
LOG_INFO "编译器支持-ltsan链接参数"
LOG_INFO "步骤5创建测试C程序文件"
cat > test_tsan.c << "EOF"
#include <stdio.h>
int main() {
printf("Testing -ltsan linking\n");
return 0;
}
EOF
CHECK_RESULT $? 0 0 "创建测试C程序文件失败"
LOG_INFO "步骤6使用-ltsan链接参数编译测试程序"
gcc test_tsan.c -ltsan -o test_tsan
CHECK_RESULT $? 0 0 "使用-ltsan链接参数编译失败"
LOG_INFO "步骤7运行编译后的测试程序"
./test_tsan
CHECK_RESULT $? 0 0 "运行测试程序失败"
LOG_INFO "步骤8清理测试文件"
rm -f test_tsan.c test_tsan
CHECK_RESULT $? 0 0 "清理测试文件失败"
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "步骤9卸载gcc-toolset-14-libtsan软件包"
dnf remove -y gcc-toolset-14-libtsan
CHECK_RESULT $? 0 0 "卸载gcc-toolset-14-libtsan失败"
LOG_INFO "gcc-toolset-14-libtsan卸载成功"
else
LOG_INFO "环境已安装gcc-toolset-14-libtsan保持安装状态"
fi
LOG_INFO "测试完成:测试使用-ltsan链接程序进行编译成功"
}
main "$@"

View File

@@ -1,74 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-01
# @License : Mulan PSL v2
# @Desc : Test basic command usage
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Test basic command usage"
LOG_INFO "步骤1: 检查测试环境是否已安装jmh-generator-bytecode软件包"
if dnf list installed | grep -q "jmh-generator-bytecode"; then
LOG_INFO "jmh-generator-bytecode已安装标记为保持安装状态"
KEEP_INSTALLED=1
else
LOG_INFO "jmh-generator-bytecode未安装标记为测试后卸载"
KEEP_INSTALLED=0
fi
LOG_INFO "步骤2: 检查yum源中是否存在jmh-generator-bytecode软件包"
if ! dnf list available | grep -q "jmh-generator-bytecode"; then
LOG_ERROR "yum源中未找到jmh-generator-bytecode软件包"
exit 255
fi
LOG_INFO "步骤3: 如果未安装则安装jmh-generator-bytecode软件包"
if [ $KEEP_INSTALLED -eq 0 ]; then
dnf install -y jmh-generator-bytecode
CHECK_RESULT $? 0 0 "安装jmh-generator-bytecode失败"
LOG_INFO "jmh-generator-bytecode安装成功"
fi
LOG_INFO "步骤4: 测试jmh-generator-bytecode基本命令用法"
jmh-generator-bytecode --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "jmh-generator-bytecode --help命令执行失败"
LOG_INFO "步骤5: 检查jmh-generator-bytecode命令是否支持--version参数"
if ! jmh-generator-bytecode --help 2>&1 | grep -q "\-\-version"; then
LOG_ERROR "jmh-generator-bytecode不支持--version参数"
exit 255
fi
LOG_INFO "步骤6: 执行jmh-generator-bytecode --version命令"
jmh-generator-bytecode --version
CHECK_RESULT $? 0 0 "jmh-generator-bytecode --version命令执行失败"
LOG_INFO "步骤7: 清理测试环境"
if [ $KEEP_INSTALLED -eq 0 ]; then
LOG_INFO "卸载jmh-generator-bytecode软件包"
dnf remove -y jmh-generator-bytecode
CHECK_RESULT $? 0 0 "卸载jmh-generator-bytecode失败"
LOG_INFO "jmh-generator-bytecode卸载成功"
else
LOG_INFO "保持jmh-generator-bytecode安装状态"
fi
LOG_INFO "测试完成Test basic command usage"
}
main "$@"

View File

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

View File

@@ -1,114 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-01
# @License : Mulan PSL v2
# @Desc : Test help command output
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试帮助命令输出
LOG_INFO "开始测试帮助命令输出"
# 定义软件包名称
PACKAGE_NAME="jmh-generator-bytecode"
# 检查是否已安装软件包
LOG_INFO "检查软件包是否已安装"
if dnf list installed "$PACKAGE_NAME" &>/dev/null; then
LOG_INFO "软件包已安装,测试结束后将保持安装状态"
INSTALLED_BEFORE_TEST=true
else
LOG_INFO "软件包未安装,将在测试过程中安装"
INSTALLED_BEFORE_TEST=false
fi
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否有软件包$PACKAGE_NAME"
if ! dnf list available "$PACKAGE_NAME" &>/dev/null; then
LOG_ERROR "yum源中未找到软件包$PACKAGE_NAME"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
LOG_INFO "安装软件包:$PACKAGE_NAME"
dnf install -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "安装软件包失败"
fi
# 测试帮助命令
LOG_INFO "测试帮助命令输出"
# 假设命令名为jmh-generator-bytecode帮助参数为--help或-h
# 首先检查命令是否存在
if ! command -v "$PACKAGE_NAME" &>/dev/null; then
LOG_ERROR "命令 $PACKAGE_NAME 不存在"
exit 255
fi
# 测试--help参数
LOG_INFO "测试--help参数"
if "$PACKAGE_NAME" --help &>/dev/null; then
LOG_INFO "--help参数支持"
# 检查输出是否包含帮助信息
HELP_OUTPUT=$("$PACKAGE_NAME" --help 2>&1)
if [ -n "$HELP_OUTPUT" ]; then
LOG_INFO "帮助命令输出正常"
else
LOG_ERROR "帮助命令无输出"
exit 1
fi
else
# 检查退出码是否为255参数不支持
EXIT_CODE=$?
if [ $EXIT_CODE -eq 255 ]; then
LOG_ERROR "--help参数不支持"
exit 255
else
LOG_ERROR "执行帮助命令失败,退出码:$EXIT_CODE"
exit $EXIT_CODE
fi
fi
# 测试-h参数如果--help支持通常-h也支持但这里按需求检查
LOG_INFO "测试-h参数"
if "$PACKAGE_NAME" -h &>/dev/null; then
LOG_INFO "-h参数支持"
else
EXIT_CODE=$?
if [ $EXIT_CODE -eq 255 ]; then
LOG_INFO "-h参数不支持某些工具可能只支持--help"
# 这不一定是错误,取决于工具设计
else
LOG_ERROR "执行-h命令失败退出码$EXIT_CODE"
exit $EXIT_CODE
fi
fi
# 清理环境:如果测试前未安装,则卸载软件包
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
LOG_INFO "卸载测试安装的软件包:$PACKAGE_NAME"
dnf remove -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "卸载软件包失败"
else
LOG_INFO "测试前已安装软件包,保持安装状态"
fi
LOG_INFO "测试帮助命令输出完成"
}
main "$@"

View File

@@ -1,80 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-01
# @License : Mulan PSL v2
# @Desc : Test package installation
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试软件包安装功能"
# 检查是否已安装指定软件包
LOG_INFO "检查环境是否已安装jmh-generator-bytecode软件包"
if dnf list installed jmh-generator-bytecode &>/dev/null; then
LOG_INFO "jmh-generator-bytecode软件包已安装将保持安装状态"
already_installed=true
else
LOG_INFO "jmh-generator-bytecode软件包未安装将执行安装测试"
already_installed=false
fi
# 检查yum源中是否存在该软件包
LOG_INFO "检查yum源中是否存在jmh-generator-bytecode软件包"
if ! dnf list available jmh-generator-bytecode &>/dev/null; then
LOG_ERROR "yum源中未找到jmh-generator-bytecode软件包"
exit 255
fi
# 检查dnf命令是否支持install和remove参数
LOG_INFO "检查dnf命令参数支持情况"
if ! dnf --help | grep -q "install\|remove"; then
LOG_ERROR "dnf命令不支持install或remove参数"
exit 255
fi
# 如果未安装,则执行安装测试
if [ "$already_installed" = false ]; then
LOG_INFO "开始安装jmh-generator-bytecode软件包"
dnf install -y jmh-generator-bytecode
CHECK_RESULT $? 0 0 "软件包安装失败"
LOG_INFO "验证软件包是否成功安装"
dnf list installed jmh-generator-bytecode
CHECK_RESULT $? 0 0 "软件包安装验证失败"
LOG_INFO "jmh-generator-bytecode软件包安装测试完成"
# 清理环境:卸载安装的软件包
LOG_INFO "清理测试环境卸载jmh-generator-bytecode软件包"
dnf remove -y jmh-generator-bytecode
CHECK_RESULT $? 0 0 "软件包卸载失败"
LOG_INFO "验证软件包是否成功卸载"
if dnf list installed jmh-generator-bytecode &>/dev/null; then
LOG_ERROR "软件包卸载失败,环境中仍存在该软件包"
exit 1
else
LOG_INFO "软件包已成功卸载"
fi
else
LOG_INFO "环境已安装jmh-generator-bytecode跳过安装测试步骤"
fi
LOG_INFO "测试脚本执行完成"
}
main "$@"

View File

@@ -1,113 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-08
# @License : Mulan PSL v2
# @Desc : Test bytecode generation performance
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查yum源中是否存在指定的软件包
check_package_existence() {
LOG_INFO "检查yum源中是否存在软件包: $1"
if ! dnf list available "$1" &>/dev/null; then
LOG_ERROR "yum源中不存在软件包: $1"
exit 255
fi
}
# 检查命令参数是否有效
check_command_arguments() {
LOG_INFO "检查命令参数是否有效: $1"
if ! command -v "$1" &>/dev/null; then
LOG_ERROR "命令参数无效或不支持: $1"
exit 255
fi
}
# 安装软件包
install_package() {
LOG_INFO "开始安装软件包: $1"
if ! dnf install -y "$1"; then
LOG_ERROR "安装软件包失败: $1"
exit 1
fi
}
# 卸载软件包
uninstall_package() {
LOG_INFO "开始卸载软件包: $1"
if ! dnf remove -y "$1"; then
LOG_ERROR "卸载软件包失败: $1"
exit 1
fi
}
# 检查环境是否已安装
is_package_installed() {
if rpm -q "$1" &>/dev/null; then
return 0 # 已安装
else
return 1 # 未安装
fi
}
# 主测试函数
test_jmh_generator_bytecode_function_performance() {
local package_name="jmh-generator-bytecode"
# 步骤1检查yum源是否存在该软件包
check_package_existence "$package_name"
# 步骤2检查环境是否已安装该软件包
if is_package_installed "$package_name"; then
LOG_INFO "环境已安装软件包: $package_name"
local already_installed=true
else
LOG_INFO "环境未安装软件包: $package_name"
local already_installed=false
fi
# 步骤3如果未安装则安装该软件包
if [ "$already_installed" = false ]; then
install_package "$package_name"
fi
# 步骤4执行性能测试命令示例
LOG_INFO "开始测试bytecode生成性能"
local test_command="jmh-generator-bytecode --benchmark"
check_command_arguments "$test_command"
eval "$test_command"
CHECK_RESULT $? 0 0 "bytecode生成性能测试失败"
# 步骤5如果脚本开始时未安装则卸载该软件包
if [ "$already_installed" = false ]; then
uninstall_package "$package_name"
fi
LOG_INFO "测试完成,环境已恢复原状"
}
test_jmh_generator_bytecode_function_performance
}
main "$@"

View File

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

View File

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