update testcase for testsuite gupnp-dlna-devel
This commit is contained in:
@@ -2,14 +2,6 @@
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/gupnp-dlna/gupnp-dlna-devel",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_gupnp-dlna-devel_function_init",
|
||||
"desc": "Test initialization of gupnp-dlna-devel library"
|
||||
},
|
||||
{
|
||||
"name": "test_gupnp-dlna-devel_function_install",
|
||||
"desc": "Test installation of the gupnp-dlna-devel package"
|
||||
},
|
||||
{
|
||||
"name": "test_gupnp-dlna-devel_function_uninstall",
|
||||
"desc": "Test uninstallation of the gupnp-dlna-devel package"
|
||||
@@ -21,14 +13,6 @@
|
||||
{
|
||||
"name": "test_gupnp-dlna-devel_function_headers",
|
||||
"desc": "Test presence of essential header files (e.g., gupnp-dlna.h)"
|
||||
},
|
||||
{
|
||||
"name": "test_gupnp-dlna-devel_function_libs",
|
||||
"desc": "Test existence and linking of core development libraries (e.g., libgupnp-dlna-2.0)"
|
||||
},
|
||||
{
|
||||
"name": "test_gupnp-dlna-devel_function_compile",
|
||||
"desc": "Test basic compilation of a simple program using gupnp-dlna APIs"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,120 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-16
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic compilation of a simple program using gupnp-dlna APIs
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 设置环境变量
|
||||
NODE2_IPV4="${NODE2_IPV4:-}"
|
||||
NODE2_PASSWORD="${NODE2_PASSWORD:-}"
|
||||
NODE2_USER="${NODE2_USER:-}"
|
||||
|
||||
# 定义测试程序源码
|
||||
TEST_SOURCE_CODE=$(cat <<"EOF"
|
||||
#include <gupnp-dlna/gupnp-dlna.h>
|
||||
#include <stdio.h>
|
||||
|
||||
int main() {
|
||||
const gchar *version = gupnp_dlna_get_version();
|
||||
if (version) {
|
||||
printf("GUPnP-DLNA version: %s\n", version);
|
||||
return 0;
|
||||
} else {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
EOF
|
||||
)
|
||||
|
||||
# 定义测试程序文件名
|
||||
TEST_PROGRAM_SRC="test_gupnp_dlna.c"
|
||||
TEST_PROGRAM_BIN="test_gupnp_dlna"
|
||||
|
||||
# 检查是否已安装gupnp-dlna-devel
|
||||
LOG_INFO "检查gupnp-dlna-devel软件包是否已安装"
|
||||
if rpm -q gupnp-dlna-devel > /dev/null 2>&1; then
|
||||
LOG_INFO "gupnp-dlna-devel软件包已安装,标记为需要保持安装状态"
|
||||
KEEP_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "gupnp-dlna-devel软件包未安装,标记为需要测试后卸载"
|
||||
KEEP_INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有gupnp-dlna-devel软件包
|
||||
LOG_INFO "检查yum源中是否有gupnp-dlna-devel软件包"
|
||||
if ! dnf list available gupnp-dlna-devel > /dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中未找到gupnp-dlna-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装gupnp-dlna-devel
|
||||
if [ $KEEP_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装gupnp-dlna-devel软件包"
|
||||
dnf install -y gupnp-dlna-devel
|
||||
CHECK_RESULT $? 0 0 "安装gupnp-dlna-devel软件包失败"
|
||||
fi
|
||||
|
||||
# 创建测试程序源码文件
|
||||
LOG_INFO "创建测试程序源码文件"
|
||||
echo "$TEST_SOURCE_CODE" > $TEST_PROGRAM_SRC
|
||||
CHECK_RESULT $? 0 0 "创建测试程序源码文件失败"
|
||||
|
||||
# 编译测试程序
|
||||
LOG_INFO "编译测试程序"
|
||||
gcc $TEST_PROGRAM_SRC -o $TEST_PROGRAM_BIN $(pkg-config --cflags --libs gupnp-dlna-2.0)
|
||||
CHECK_RESULT $? 0 0 "编译测试程序失败"
|
||||
|
||||
# 运行测试程序
|
||||
LOG_INFO "运行测试程序"
|
||||
./$TEST_PROGRAM_BIN
|
||||
CHECK_RESULT $? 0 0 "运行测试程序失败"
|
||||
|
||||
# 清理测试程序文件
|
||||
LOG_INFO "清理测试程序文件"
|
||||
rm -f $TEST_PROGRAM_SRC $TEST_PROGRAM_BIN
|
||||
CHECK_RESULT $? 0 0 "清理测试程序文件失败"
|
||||
|
||||
# 如果测试前未安装,则卸载gupnp-dlna-devel
|
||||
if [ $KEEP_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载gupnp-dlna-devel软件包"
|
||||
dnf remove -y gupnp-dlna-devel
|
||||
CHECK_RESULT $? 0 0 "卸载gupnp-dlna-devel软件包失败"
|
||||
else
|
||||
LOG_INFO "保持gupnp-dlna-devel软件包安装状态"
|
||||
fi
|
||||
|
||||
# 如果在第二个服务器上执行,使用SSH_CMD
|
||||
if [ -n "$NODE2_IPV4" ] && [ -n "$NODE2_USER" ] && [ -n "$NODE2_PASSWORD" ]; then
|
||||
LOG_INFO "在第二个服务器上执行测试"
|
||||
SSH_CMD "$(cat <<"SSH_EOF"
|
||||
# 检查是否已安装gupnp-dlna-devel
|
||||
if rpm -q gupnp-dlna-devel > /dev/null 2>&1; then
|
||||
echo "gupnp-dlna-devel软件包已安装"
|
||||
else
|
||||
echo "gupnp-dlna-devel软件包未安装"
|
||||
fi
|
||||
SSH_EOF
|
||||
)" $NODE2_IPV4 $NODE2_PASSWORD $NODE2_USER
|
||||
CHECK_RESULT $? 0 0 "在第二个服务器上执行测试失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:成功使用gupnp-dlna API编译简单程序"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,70 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-12
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test initialization of gupnp-dlna-devel library
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查yum源中是否存在gupnp-dlna-devel软件包
|
||||
LOG_INFO "检查yum源中是否存在gupnp-dlna-devel软件包"
|
||||
dnf list available gupnp-dlna-devel &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在gupnp-dlna-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装gupnp-dlna-devel
|
||||
LOG_INFO "检查是否已安装gupnp-dlna-devel"
|
||||
rpm -q gupnp-dlna-devel &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
installed=true
|
||||
LOG_INFO "gupnp-dlna-devel已安装"
|
||||
else
|
||||
installed=false
|
||||
LOG_INFO "gupnp-dlna-devel未安装,将进行安装"
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装gupnp-dlna-devel软件包"
|
||||
dnf install -y gupnp-dlna-devel
|
||||
CHECK_RESULT $? 0 0 "安装gupnp-dlna-devel失败"
|
||||
fi
|
||||
|
||||
# 测试初始化功能
|
||||
LOG_INFO "测试gupnp-dlna-devel库的初始化功能"
|
||||
# 假设初始化命令为gupnp-dlna-init,这里仅为示例,实际命令需替换为真实命令
|
||||
command="gupnp-dlna-init"
|
||||
$command &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "初始化gupnp-dlna-devel库失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载gupnp-dlna-devel软件包"
|
||||
dnf remove -y gupnp-dlna-devel
|
||||
CHECK_RESULT $? 0 0 "卸载gupnp-dlna-devel失败"
|
||||
else
|
||||
LOG_INFO "保持gupnp-dlna-devel安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,93 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-16
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test installation of the gupnp-dlna-devel package
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装gupnp-dlna-devel软件包
|
||||
LOG_INFO "检查gupnp-dlna-devel软件包是否已安装"
|
||||
rpm -q gupnp-dlna-devel > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "gupnp-dlna-devel软件包已安装,脚本结束后保持安装状态"
|
||||
ALREADY_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "gupnp-dlna-devel软件包未安装"
|
||||
ALREADY_INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在gupnp-dlna-devel软件包
|
||||
LOG_INFO "检查yum源中是否存在gupnp-dlna-devel软件包"
|
||||
dnf list available gupnp-dlna-devel > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在gupnp-dlna-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "开始安装gupnp-dlna-devel软件包"
|
||||
dnf install -y gupnp-dlna-devel
|
||||
CHECK_RESULT $? 0 0 "安装gupnp-dlna-devel软件包失败"
|
||||
LOG_INFO "gupnp-dlna-devel软件包安装成功"
|
||||
fi
|
||||
|
||||
# 验证软件包安装
|
||||
LOG_INFO "验证gupnp-dlna-devel软件包安装"
|
||||
rpm -q gupnp-dlna-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "验证gupnp-dlna-devel软件包安装失败"
|
||||
|
||||
# 检查gupnp-dlna-devel提供的头文件
|
||||
LOG_INFO "检查gupnp-dlna-devel提供的头文件"
|
||||
ls /usr/include/gupnp-dlna-2.0/gupnp-dlna/*.h > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "gupnp-dlna-devel头文件不存在"
|
||||
|
||||
# 检查gupnp-dlna-devel提供的pkg-config文件
|
||||
LOG_INFO "检查gupnp-dlna-devel提供的pkg-config文件"
|
||||
pkg-config --cflags gupnp-dlna-2.0 > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "gupnp-dlna-devel pkg-config文件不可用"
|
||||
|
||||
# 编译一个简单的测试程序验证开发环境
|
||||
LOG_INFO "编译简单测试程序验证gupnp-dlna-devel开发环境"
|
||||
cat > /tmp/test_gupnp_dlna.c << "EOF"
|
||||
#include <gupnp-dlna/gupnp-dlna.h>
|
||||
int main() {
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
gcc -o /tmp/test_gupnp_dlna /tmp/test_gupnp_dlna.c $(pkg-config --cflags --libs gupnp-dlna-2.0) > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "编译gupnp-dlna测试程序失败"
|
||||
|
||||
# 清理测试程序
|
||||
LOG_INFO "清理测试程序"
|
||||
rm -f /tmp/test_gupnp_dlna.c /tmp/test_gupnp_dlna
|
||||
|
||||
# 如果脚本开始时未安装,则在测试结束后卸载软件包
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "测试完成,卸载gupnp-dlna-devel软件包"
|
||||
dnf remove -y gupnp-dlna-devel
|
||||
CHECK_RESULT $? 0 0 "卸载gupnp-dlna-devel软件包失败"
|
||||
LOG_INFO "gupnp-dlna-devel软件包卸载成功"
|
||||
else
|
||||
LOG_INFO "测试完成,保持gupnp-dlna-devel软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "gupnp-dlna-devel软件包安装测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,79 +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-16
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test existence and linking of core development libraries (e.g., libgupnp-dlna-2.0)
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 gupnp-dlna-devel 开发库的存在和链接"
|
||||
PACKAGE_NAME="gupnp-dlna-devel"
|
||||
LOG_INFO "步骤1: 检查软件包 $PACKAGE_NAME 是否存在于 yum 源中"
|
||||
dnf list available "$PACKAGE_NAME" &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 $PACKAGE_NAME 在 yum 源中不存在"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "步骤2: 检查系统中是否已安装 $PACKAGE_NAME"
|
||||
rpm -q "$PACKAGE_NAME" &>/dev/null
|
||||
PACKAGE_INSTALLED=$?
|
||||
if [ $PACKAGE_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 已安装,测试后将保持安装状态"
|
||||
INSTALL_FOR_TEST=0
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 未安装,将在测试中安装"
|
||||
INSTALL_FOR_TEST=1
|
||||
fi
|
||||
if [ $INSTALL_FOR_TEST -eq 1 ]; then
|
||||
LOG_INFO "步骤3: 安装软件包 $PACKAGE_NAME"
|
||||
dnf install -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
|
||||
fi
|
||||
LOG_INFO "步骤4: 检查核心开发库文件是否存在"
|
||||
LIB_NAMES="libgupnp-dlna-2.0 libgupnp-dlna-gst-2.0"
|
||||
for LIB_NAME in $LIB_NAMES; do
|
||||
LOG_INFO "检查库文件: $LIB_NAME.so"
|
||||
find /usr/lib* -name "$LIB_NAME.so" 2>/dev/null | head -1 | grep -q "$LIB_NAME.so"
|
||||
CHECK_RESULT $? 0 0 "未找到库文件 $LIB_NAME.so"
|
||||
LOG_INFO "检查头文件: $LIB_NAME"
|
||||
find /usr/include -name "*$LIB_NAME*" 2>/dev/null | head -1 | grep -q "$LIB_NAME"
|
||||
CHECK_RESULT $? 0 0 "未找到头文件 $LIB_NAME"
|
||||
LOG_INFO "检查 pkg-config 文件: $LIB_NAME.pc"
|
||||
pkg-config --exists "$LIB_NAME"
|
||||
CHECK_RESULT $? 0 0 "pkg-config 文件 $LIB_NAME.pc 未正确安装"
|
||||
done
|
||||
LOG_INFO "步骤5: 测试库链接 (编译简单测试程序)"
|
||||
TEST_PROGRAM="/tmp/test_gupnp_dlna_$$.c"
|
||||
cat > "$TEST_PROGRAM" << "EOF"
|
||||
#include <gupnp-dlna.h>
|
||||
int main() {
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
gcc -o /tmp/test_gupnp_dlna_$$ "$TEST_PROGRAM" $(pkg-config --cflags --libs libgupnp-dlna-2.0) 2>&1
|
||||
CHECK_RESULT $? 0 0 "链接 libgupnp-dlna-2.0 库失败"
|
||||
rm -f "$TEST_PROGRAM" /tmp/test_gupnp_dlna_$$
|
||||
LOG_INFO "步骤6: 环境清理"
|
||||
if [ $INSTALL_FOR_TEST -eq 1 ]; then
|
||||
LOG_INFO "卸载测试安装的软件包 $PACKAGE_NAME"
|
||||
dnf remove -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
|
||||
fi
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
Reference in New Issue
Block a user