Merge branch 'pkg' of http://10.30.190.190:54866/redrsoe2100/os-autotest into pkg
This commit is contained in:
@@ -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软件包的基础存在性,验证系统是否已安装或能够通过包管理器查询到该开发包。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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添加文件转移的基本功能。"
|
||||
|
||||
@@ -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能检测数据竞争"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
@@ -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 "$@"
|
||||
Reference in New Issue
Block a user