update testcase for testsuite rubygem-rspec2-mocks-doc
This commit is contained in:
@@ -1,15 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/rubygem-rspec2-mocks/rubygem-rspec2-mocks-doc",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_rubygem-rspec2-mocks-doc_reinstall",
|
||||
"desc": "测试软件包 rubygem-rspec2-mocks-doc 的重新安装功能",
|
||||
"machine num": 1
|
||||
},
|
||||
{
|
||||
"name": "test_rubygem-rspec2-mocks-doc_function_mock",
|
||||
"desc": "测试软件包的mock功能"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,105 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包的mock功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
check_package_in_repo() {
|
||||
dnf list available "$1" &>/dev/null
|
||||
return $?
|
||||
}
|
||||
|
||||
# 检查命令参数是否支持
|
||||
check_command_option() {
|
||||
local cmd=$1
|
||||
local option=$2
|
||||
if ! $cmd --help | grep -q -- "$option"; then
|
||||
LOG_ERROR "命令 $cmd 不支持参数 $option"
|
||||
exit 255
|
||||
fi
|
||||
}
|
||||
|
||||
# 主测试函数
|
||||
test_rubygem_rspec2_mocks_doc_function_mock() {
|
||||
local pkg_name="rubygem-rspec2-mocks-doc"
|
||||
local installed=false
|
||||
|
||||
# 检查环境是否已安装软件包
|
||||
if rpm -q "$pkg_name" &>/dev/null; then
|
||||
LOG_INFO "环境已安装软件包 $pkg_name"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "环境未安装软件包 $pkg_name,开始安装"
|
||||
# 检查yum源中是否有该软件包
|
||||
if ! check_package_in_repo "$pkg_name"; then
|
||||
LOG_ERROR "yum源中未找到软件包 $pkg_name"
|
||||
exit 255
|
||||
fi
|
||||
# 安装软件包
|
||||
dnf install -y "$pkg_name"
|
||||
CHECK_RESULT $? 0 0 "安装软件包 $pkg_name 失败"
|
||||
fi
|
||||
|
||||
# 测试mock功能(假设测试命令为 rspec-mock-test)
|
||||
LOG_INFO "开始测试 mock 功能"
|
||||
local test_cmd="rspec-mock-test"
|
||||
|
||||
# 检查命令是否存在(假设命令名为 rspec-mock-test)
|
||||
if ! command -v "$test_cmd" &>/dev/null; then
|
||||
LOG_ERROR "命令 $test_cmd 不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查命令是否支持 --mock 参数
|
||||
check_command_option "$test_cmd" "--mock"
|
||||
|
||||
# 执行测试命令(假设测试功能通过 --mock 参数实现)
|
||||
$test_cmd --mock
|
||||
CHECK_RESULT $? 0 0 "测试 mock 功能失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "清理环境,卸载软件包 $pkg_name"
|
||||
dnf remove -y "$pkg_name" &>/dev/null || true
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 $pkg_name 失败"
|
||||
|
||||
# 确认卸载成功(可选)
|
||||
if rpm -q "$pkg_name" &>/dev/null; then
|
||||
LOG_ERROR "卸载软件包 $pkg_name 失败"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "软件包 $pkg_name 卸载成功"
|
||||
fi
|
||||
else
|
||||
LOG_INFO "保持环境状态,不卸载已存在的软件包"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完成"
|
||||
}
|
||||
|
||||
#调用主测试函数
|
||||
test_rubygem_rspec2_mocks_doc_function_mock
|
||||
|
||||
exit 0
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,62 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-06-22
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包 rubygem-rspec2-mocks-doc 的重新安装功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试软件包 rubygem-rspec2-mocks-doc 的重新安装功能"
|
||||
|
||||
# 检查软件包是否已在yum源中
|
||||
LOG_INFO "检查yum源中是否存在 rubygem-rspec2-mocks-doc 软件包"
|
||||
dnf list available rubygem-rspec2-mocks-doc &> /dev/null
|
||||
CHECK_RESULT $? 0 255 "yum源中未找到 rubygem-rspec2-mocks-doc 软件包"
|
||||
|
||||
# 检查当前环境是否已安装软件包
|
||||
LOG_INFO "检查当前环境是否已安装 rubygem-rspec2-mocks-doc"
|
||||
if rpm -q rubygem-rspec2-mocks-doc &> /dev/null; then
|
||||
LOG_INFO "rubygem-rspec2-mocks-doc 已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "rubygem-rspec2-mocks-doc 未安装,将在测试步骤中安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装 rubygem-rspec2-mocks-doc"
|
||||
dnf install -y rubygem-rspec2-mocks-doc &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "安装 rubygem-rspec2-mocks-doc 失败"
|
||||
fi
|
||||
|
||||
# 测试重新安装功能
|
||||
LOG_INFO "测试重新安装 rubygem-rspec2-mocks-doc"
|
||||
dnf reinstall -y rubygem-rspec2-mocks-doc &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "重新安装 rubygem-rspec2-mocks-doc 失败"
|
||||
|
||||
# 如果初始状态未安装,则卸载软件包以恢复环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "恢复环境:卸载 rubygem-rspec2-mocks-doc"
|
||||
dnf remove -y rubygem-rspec2-mocks-doc &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "卸载 rubygem-rspec2-mocks-doc 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
Reference in New Issue
Block a user