From 3881ae79125de930a4e3b49a5c31e0d916af6c17 Mon Sep 17 00:00:00 2001 From: honghua Date: Wed, 15 Apr 2026 14:49:41 +0800 Subject: [PATCH 01/11] update testcase for testsuite fftw-libs-single --- .../pkg_test/fftw/fftw-libs-single.json | 20 --- ...est_fftw-libs-single_function_basic_api.sh | 123 ------------------ ...ftw-libs-single_function_import_headers.sh | 109 ---------------- ...est_fftw-libs-single_function_pkgconfig.sh | 104 --------------- ..._fftw-libs-single_function_runtime_link.sh | 96 -------------- ...fftw-libs-single_function_version_check.sh | 71 ---------- 6 files changed, 523 deletions(-) delete mode 100644 testcases/function_test/pkg_test/fftw/fftw-libs-single/test_fftw-libs-single_function_basic_api.sh delete mode 100644 testcases/function_test/pkg_test/fftw/fftw-libs-single/test_fftw-libs-single_function_import_headers.sh delete mode 100644 testcases/function_test/pkg_test/fftw/fftw-libs-single/test_fftw-libs-single_function_pkgconfig.sh delete mode 100644 testcases/function_test/pkg_test/fftw/fftw-libs-single/test_fftw-libs-single_function_runtime_link.sh delete mode 100644 testcases/function_test/pkg_test/fftw/fftw-libs-single/test_fftw-libs-single_function_version_check.sh diff --git a/suite2cases/function_test/pkg_test/fftw/fftw-libs-single.json b/suite2cases/function_test/pkg_test/fftw/fftw-libs-single.json index b503e813de2..a21422a59a5 100644 --- a/suite2cases/function_test/pkg_test/fftw/fftw-libs-single.json +++ b/suite2cases/function_test/pkg_test/fftw/fftw-libs-single.json @@ -13,26 +13,6 @@ { "name": "test_fftw-libs-single_function_lib_presence", "desc": "Test the presence of core library files (e.g., libfftw3f.so)" - }, - { - "name": "test_fftw-libs-single_function_basic_api", - "desc": "Test basic FFTW3 single-precision API functionality (plan creation and execution)" - }, - { - "name": "test_fftw-libs-single_function_runtime_link", - "desc": "Test dynamic linking and loading of libfftw3f.so at runtime" - }, - { - "name": "test_fftw-libs-single_function_version_check", - "desc": "Check the installed version of the fftw-libs-single package" - }, - { - "name": "test_fftw-libs-single_function_import_headers", - "desc": "Test the availability and basic correctness of FFTW3 single-precision header files (fftw3.h)" - }, - { - "name": "test_fftw-libs-single_function_pkgconfig", - "desc": "Test the presence and correctness of pkg-config file for fftw3f" } ] } \ No newline at end of file diff --git a/testcases/function_test/pkg_test/fftw/fftw-libs-single/test_fftw-libs-single_function_basic_api.sh b/testcases/function_test/pkg_test/fftw/fftw-libs-single/test_fftw-libs-single_function_basic_api.sh deleted file mode 100644 index d329aa2b3f8..00000000000 --- a/testcases/function_test/pkg_test/fftw/fftw-libs-single/test_fftw-libs-single_function_basic_api.sh +++ /dev/null @@ -1,123 +0,0 @@ -#!/usr/bin/bash - -# Copyright (c) 2024 ISCAS .ALL rights reserved. -# This program is licensed under Mulan PSL v2. -# You can use it according to the terms and conditions of the Mulan PSL v2. -# http://license.coscl.org.cn/MulanPSL2 -# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, -# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, -# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. -# See the Mulan PSL v2 for more details. - -# ############################################# -# @Author : honghua -# @Contact : honghua@iscas.ac.cn -# @Date : 2026-03-10 -# @License : Mulan PSL v2 -# @Desc : Test basic FFTW3 single-precision API functionality (plan creation and execution) -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试:Test basic FFTW3 single-precision API functionality (plan creation and execution)" - - LOG_INFO "步骤1: 检查fftw-libs-single软件包是否在yum源中" - dnf list available fftw-libs-single &> /dev/null - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到fftw-libs-single软件包" - exit 255 - fi - - LOG_INFO "步骤2: 检查当前环境是否已安装fftw-libs-single" - rpm -q fftw-libs-single &> /dev/null - if [ $? -eq 0 ]; then - LOG_INFO "fftw-libs-single已安装,标记为已存在" - ALREADY_INSTALLED=1 - else - LOG_INFO "fftw-libs-single未安装,标记为需要安装" - ALREADY_INSTALLED=0 - fi - - if [ ${ALREADY_INSTALLED} -eq 0 ]; then - LOG_INFO "步骤3: 安装fftw-libs-single软件包" - dnf install -y fftw-libs-single - CHECK_RESULT $? 0 0 "安装fftw-libs-single失败" - fi - - LOG_INFO "步骤4: 验证fftw3f库的基本API功能(计划创建和执行)" - - LOG_INFO "步骤4.1: 创建测试C程序" - cat > test_fftw3f_basic.c << "EOF" - #include - #include - #include - #include - - int main() { - int N = 8; - fftwf_complex *in, *out; - fftwf_plan p; - - in = (fftwf_complex*) fftwf_malloc(sizeof(fftwf_complex) * N); - out = (fftwf_complex*) fftwf_malloc(sizeof(fftwf_complex) * N); - - if (!in || !out) { - fprintf(stderr, "内存分配失败\n"); - return 1; - } - - for (int i = 0; i < N; i++) { - in[i][0] = i + 1; - in[i][1] = 0; - } - - p = fftwf_plan_dft_1d(N, in, out, FFTW_FORWARD, FFTW_ESTIMATE); - if (!p) { - fprintf(stderr, "FFTW计划创建失败\n"); - fftwf_free(in); - fftwf_free(out); - return 1; - } - - fftwf_execute(p); - - printf("FFT计算结果(单精度):\n"); - for (int i = 0; i < N; i++) { - printf("out[%d] = %f + %fi\n", i, out[i][0], out[i][1]); - } - - fftwf_destroy_plan(p); - fftwf_free(in); - fftwf_free(out); - - return 0; - } - EOF - CHECK_RESULT $? 0 0 "创建测试C程序失败" - - LOG_INFO "步骤4.2: 编译测试程序" - gcc -o test_fftw3f_basic test_fftw3f_basic.c -lfftw3f -lm - CHECK_RESULT $? 0 0 "编译测试程序失败" - - LOG_INFO "步骤4.3: 运行测试程序" - ./test_fftw3f_basic - CHECK_RESULT $? 0 0 "运行FFTW3单精度API测试程序失败" - - LOG_INFO "步骤5: 清理临时文件" - rm -f test_fftw3f_basic test_fftw3f_basic.c - CHECK_RESULT $? 0 0 "清理临时文件失败" - - LOG_INFO "步骤6: 环境恢复" - if [ ${ALREADY_INSTALLED} -eq 0 ]; then - LOG_INFO "卸载fftw-libs-single软件包" - dnf remove -y fftw-libs-single - CHECK_RESULT $? 0 0 "卸载fftw-libs-single失败" - else - LOG_INFO "保持fftw-libs-single安装状态" - fi - - LOG_INFO "测试完成:Test basic FFTW3 single-precision API functionality (plan creation and execution)" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/fftw/fftw-libs-single/test_fftw-libs-single_function_import_headers.sh b/testcases/function_test/pkg_test/fftw/fftw-libs-single/test_fftw-libs-single_function_import_headers.sh deleted file mode 100644 index adc1d6d2532..00000000000 --- a/testcases/function_test/pkg_test/fftw/fftw-libs-single/test_fftw-libs-single_function_import_headers.sh +++ /dev/null @@ -1,109 +0,0 @@ -#!/usr/bin/bash - -# Copyright (c) 2024 ISCAS .ALL rights reserved. -# This program is licensed under Mulan PSL v2. -# You can use it according to the terms and conditions of the Mulan PSL v2. -# http://license.coscl.org.cn/MulanPSL2 -# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, -# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, -# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. -# See the Mulan PSL v2 for more details. - -# ############################################# -# @Author : honghua -# @Contact : honghua@iscas.ac.cn -# @Date : 2026-03-10 -# @License : Mulan PSL v2 -# @Desc : Test the availability and basic correctness of FFTW3 single-precision header files (fftw3.h) -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试FFTW3单精度头文件(fftw3.h)的可用性和基本正确性" - - # 1. 检查环境是否已安装fftw3单精度库 - LOG_INFO "步骤1: 检查fftw3单精度库是否已安装" - if dnf list installed fftw-libs-single &>/dev/null; then - LOG_INFO "fftw3单精度库已安装,将保持安装状态" - already_installed=true - else - LOG_INFO "fftw3单精度库未安装" - already_installed=false - fi - - # 2. 检查yum源中是否有该软件包 - LOG_INFO "步骤2: 检查yum源中是否有fftw-libs-single软件包" - if ! dnf list available fftw-libs-single &>/dev/null; then - LOG_ERROR "yum源中未找到fftw-libs-single软件包" - exit 255 - fi - - # 3. 如果未安装,则安装软件包 - if [ "$already_installed" = false ]; then - LOG_INFO "步骤3: 安装fftw-libs-single软件包" - dnf install -y fftw-libs-single - CHECK_RESULT $? 0 0 "安装fftw-libs-single失败" - fi - - # 4. 测试头文件可用性 - LOG_INFO "步骤4: 测试fftw3.h头文件可用性" - - # 创建测试程序 - cat > /tmp/test_fftw3_single.c << "EOF" - #include - #include - - int main() { - fftwf_plan plan; - int n = 8; - float *in = (float*) fftwf_malloc(sizeof(float) * n); - fftwf_complex *out = (fftwf_complex*) fftwf_malloc(sizeof(fftwf_complex) * (n/2+1)); - - if (!in || !out) { - printf("内存分配失败\n"); - return 1; - } - - // 创建FFT计划 - plan = fftwf_plan_dft_r2c_1d(n, in, out, FFTW_ESTIMATE); - - if (plan) { - printf("FFTW3单精度头文件测试成功\n"); - fftwf_destroy_plan(plan); - } else { - printf("FFTW3单精度头文件测试失败\n"); - return 1; - } - - fftwf_free(in); - fftwf_free(out); - return 0; - } - EOF - - # 编译测试程序 - LOG_INFO "步骤5: 编译测试程序" - gcc -o /tmp/test_fftw3_single /tmp/test_fftw3_single.c -lfftw3f -lm - CHECK_RESULT $? 0 0 "编译FFTW3单精度测试程序失败" - - # 运行测试程序 - LOG_INFO "步骤6: 运行FFTW3单精度测试程序" - /tmp/test_fftw3_single - CHECK_RESULT $? 0 0 "FFTW3单精度头文件测试失败" - - # 5. 清理测试文件 - LOG_INFO "步骤7: 清理测试文件" - rm -f /tmp/test_fftw3_single.c /tmp/test_fftw3_single - - # 6. 如果测试前未安装,则卸载软件包 - if [ "$already_installed" = false ]; then - LOG_INFO "步骤8: 卸载fftw-libs-single软件包(测试前未安装)" - dnf remove -y fftw-libs-single - CHECK_RESULT $? 0 0 "卸载fftw-libs-single失败" - fi - - LOG_INFO "FFTW3单精度头文件测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/fftw/fftw-libs-single/test_fftw-libs-single_function_pkgconfig.sh b/testcases/function_test/pkg_test/fftw/fftw-libs-single/test_fftw-libs-single_function_pkgconfig.sh deleted file mode 100644 index a95ca5cc9c4..00000000000 --- a/testcases/function_test/pkg_test/fftw/fftw-libs-single/test_fftw-libs-single_function_pkgconfig.sh +++ /dev/null @@ -1,104 +0,0 @@ -#!/usr/bin/bash - -# Copyright (c) 2024 ISCAS .ALL rights reserved. -# This program is licensed under Mulan PSL v2. -# You can use it according to the terms and conditions of the Mulan PSL v2. -# http://license.coscl.org.cn/MulanPSL2 -# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, -# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, -# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. -# See the Mulan PSL v2 for more details. - -# ############################################# -# @Author : honghua -# @Contact : honghua@iscas.ac.cn -# @Date : 2026-03-10 -# @License : Mulan PSL v2 -# @Desc : Test the presence and correctness of pkg-config file for fftw3f -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 定义颜色输出(可选,但LOG_INFO/LOG_ERROR可能已内置) - LOG_INFO() { - echo "[INFO] $*" - } - LOG_ERROR() { - echo "[ERROR] $*" - } - - # 定义软件包名称和pkg-config文件名 - PKG_NAME="fftw-libs-single" - PC_FILE="fftw3f.pc" - - # 步骤1:检查yum源中是否存在fftw-libs-single软件包 - LOG_INFO "步骤1:检查yum源中是否存在${PKG_NAME}软件包" - dnf list available ${PKG_NAME} &>/dev/null - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到${PKG_NAME}软件包" - exit 255 - fi - - # 步骤2:检查当前是否已安装fftw-libs-single - LOG_INFO "步骤2:检查当前是否已安装${PKG_NAME}" - rpm -q ${PKG_NAME} &>/dev/null - if [ $? -eq 0 ]; then - LOG_INFO "${PKG_NAME}已安装,标记为已安装状态" - INSTALLED=1 - else - LOG_INFO "${PKG_NAME}未安装,标记为未安装状态" - INSTALLED=0 - fi - - # 步骤3:如果未安装,则安装软件包 - if [ ${INSTALLED} -eq 0 ]; then - LOG_INFO "步骤3:安装${PKG_NAME}软件包" - dnf install -y ${PKG_NAME} - CHECK_RESULT $? 0 0 "安装${PKG_NAME}失败" - fi - - # 步骤4:检查pkg-config文件是否存在 - LOG_INFO "步骤4:检查pkg-config文件${PC_FILE}是否存在" - pkg-config --exists ${PC_FILE} - CHECK_RESULT $? 0 0 "pkg-config文件${PC_FILE}不存在" - - # 步骤5:检查pkg-config文件内容是否正确 - LOG_INFO "步骤5:检查pkg-config文件${PC_FILE}内容是否正确" - # 获取fftw3f的版本信息 - PC_VERSION=$(pkg-config --modversion ${PC_FILE}) - if [ -z "${PC_VERSION}" ]; then - LOG_ERROR "无法获取${PC_FILE}的版本信息" - exit 1 - fi - LOG_INFO "${PC_FILE}版本为:${PC_VERSION}" - - # 检查库名称是否正确 - PC_LIBS=$(pkg-config --libs ${PC_FILE}) - if ! echo "${PC_LIBS}" | grep -q "fftw3f"; then - LOG_ERROR "${PC_FILE}的库名称不正确" - exit 1 - fi - LOG_INFO "${PC_FILE}库名称正确:${PC_LIBS}" - - # 检查包含路径是否正确 - PC_CFLAGS=$(pkg-config --cflags ${PC_FILE}) - if [ -z "${PC_CFLAGS}" ]; then - LOG_ERROR "${PC_FILE}的包含路径不正确" - exit 1 - fi - LOG_INFO "${PC_FILE}包含路径正确:${PC_CFLAGS}" - - # 步骤6:清理环境,如果之前未安装则卸载软件包 - if [ ${INSTALLED} -eq 0 ]; then - LOG_INFO "步骤6:清理环境,卸载${PKG_NAME}软件包" - dnf remove -y ${PKG_NAME} - CHECK_RESULT $? 0 0 "卸载${PKG_NAME}失败" - else - LOG_INFO "步骤6:环境已安装${PKG_NAME},保持安装状态" - fi - - LOG_INFO "测试完成:pkg-config文件${PC_FILE}存在且内容正确" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/fftw/fftw-libs-single/test_fftw-libs-single_function_runtime_link.sh b/testcases/function_test/pkg_test/fftw/fftw-libs-single/test_fftw-libs-single_function_runtime_link.sh deleted file mode 100644 index 0b29e8d0692..00000000000 --- a/testcases/function_test/pkg_test/fftw/fftw-libs-single/test_fftw-libs-single_function_runtime_link.sh +++ /dev/null @@ -1,96 +0,0 @@ -#!/usr/bin/bash - -# Copyright (c) 2024 ISCAS .ALL rights reserved. -# This program is licensed under Mulan PSL v2. -# You can use it according to the terms and conditions of the Mulan PSL v2. -# http://license.coscl.org.cn/MulanPSL2 -# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, -# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, -# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. -# See the Mulan PSL v2 for more details. - -# ############################################# -# @Author : honghua -# @Contact : honghua@iscas.ac.cn -# @Date : 2026-03-10 -# @License : Mulan PSL v2 -# @Desc : Test dynamic linking and loading of libfftw3f.so at runtime -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试:运行时动态链接和加载 libfftw3f.so" - LOG_INFO "步骤1:检查系统中是否已安装 fftw-libs 软件包" - if dnf list installed fftw-libs &> /dev/null; then - LOG_INFO "fftw-libs 软件包已安装,测试完成后将保持安装状态" - INSTALLED=true - else - LOG_INFO "fftw-libs 软件包未安装,将在测试前安装并在测试后卸载" - INSTALLED=false - fi - - LOG_INFO "步骤2:检查 yum 源中是否存在 fftw-libs 软件包" - if ! dnf list available fftw-libs &> /dev/null; then - LOG_ERROR "yum 源中未找到 fftw-libs 软件包" - exit 255 - fi - - if [ "$INSTALLED" = false ]; then - LOG_INFO "步骤3:安装 fftw-libs 软件包" - dnf install -y fftw-libs - CHECK_RESULT $? 0 0 "安装 fftw-libs 软件包失败" - fi - - LOG_INFO "步骤4:验证 libfftw3f.so 库文件是否存在" - if [ ! -f /usr/lib64/libfftw3f.so ]; then - LOG_ERROR "libfftw3f.so 库文件未找到" - exit 255 - fi - - LOG_INFO "步骤5:编写一个简单的 C 程序来测试动态链接和加载 libfftw3f.so" - cat > test_fftw.c << "EOF" - #include - #include - int main() { - fftwf_complex *in, *out; - fftwf_plan p; - int N = 8; - in = (fftwf_complex*) fftwf_malloc(sizeof(fftwf_complex) * N); - out = (fftwf_complex*) fftwf_malloc(sizeof(fftwf_complex) * N); - p = fftwf_plan_dft_1d(N, in, out, FFTW_FORWARD, FFTW_ESTIMATE); - if (p) { - printf("FFTW plan created successfully.\n"); - fftwf_destroy_plan(p); - } - fftwf_free(in); - fftwf_free(out); - return 0; - } - EOF - CHECK_RESULT $? 0 0 "创建测试 C 程序失败" - - LOG_INFO "步骤6:编译测试程序,动态链接 libfftw3f.so" - gcc -o test_fftw test_fftw.c -lfftw3f -lm - CHECK_RESULT $? 0 0 "编译测试程序失败" - - LOG_INFO "步骤7:运行测试程序,验证动态链接和加载是否成功" - ./test_fftw - CHECK_RESULT $? 0 0 "运行测试程序失败" - - LOG_INFO "步骤8:清理测试程序生成的文件" - rm -f test_fftw test_fftw.c - CHECK_RESULT $? 0 0 "清理测试程序文件失败" - - if [ "$INSTALLED" = false ]; then - LOG_INFO "步骤9:卸载 fftw-libs 软件包,恢复环境" - dnf remove -y fftw-libs - CHECK_RESULT $? 0 0 "卸载 fftw-libs 软件包失败" - else - LOG_INFO "步骤9:保持 fftw-libs 软件包安装状态" - fi - - LOG_INFO "测试完成:运行时动态链接和加载 libfftw3f.so 成功" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/fftw/fftw-libs-single/test_fftw-libs-single_function_version_check.sh b/testcases/function_test/pkg_test/fftw/fftw-libs-single/test_fftw-libs-single_function_version_check.sh deleted file mode 100644 index 2b605bb0170..00000000000 --- a/testcases/function_test/pkg_test/fftw/fftw-libs-single/test_fftw-libs-single_function_version_check.sh +++ /dev/null @@ -1,71 +0,0 @@ -#!/usr/bin/bash - -# Copyright (c) 2024 ISCAS .ALL rights reserved. -# This program is licensed under Mulan PSL v2. -# You can use it according to the terms and conditions of the Mulan PSL v2. -# http://license.coscl.org.cn/MulanPSL2 -# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, -# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, -# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. -# See the Mulan PSL v2 for more details. - -# ############################################# -# @Author : honghua -# @Contact : honghua@iscas.ac.cn -# @Date : 2026-03-10 -# @License : Mulan PSL v2 -# @Desc : Check the installed version of the fftw-libs-single package -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试:检查已安装的fftw-libs-single软件包版本" - - # 检查yum源中是否存在fftw-libs-single软件包 - LOG_INFO "检查yum源中是否存在fftw-libs-single软件包" - dnf list available fftw-libs-single > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到fftw-libs-single软件包" - exit 255 - fi - - # 检查系统是否已安装fftw-libs-single - LOG_INFO "检查系统是否已安装fftw-libs-single软件包" - rpm -q fftw-libs-single > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "系统已安装fftw-libs-single软件包,标记为已安装状态" - ALREADY_INSTALLED=1 - else - LOG_INFO "系统未安装fftw-libs-single软件包,标记为未安装状态" - ALREADY_INSTALLED=0 - fi - - # 如果未安装,则安装软件包 - if [ $ALREADY_INSTALLED -eq 0 ]; then - LOG_INFO "开始安装fftw-libs-single软件包" - dnf install -y fftw-libs-single > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "安装fftw-libs-single软件包失败" - LOG_INFO "fftw-libs-single软件包安装成功" - fi - - # 检查已安装的fftw-libs-single软件包版本 - LOG_INFO "检查已安装的fftw-libs-single软件包版本" - rpm -q fftw-libs-single - CHECK_RESULT $? 0 0 "获取fftw-libs-single软件包版本失败" - LOG_INFO "fftw-libs-single软件包版本检查成功" - - # 环境恢复:如果之前未安装,则卸载软件包 - if [ $ALREADY_INSTALLED -eq 0 ]; then - LOG_INFO "开始卸载fftw-libs-single软件包" - dnf remove -y fftw-libs-single > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "卸载fftw-libs-single软件包失败" - LOG_INFO "fftw-libs-single软件包卸载成功" - else - LOG_INFO "系统原本已安装fftw-libs-single,保持安装状态" - fi - - LOG_INFO "测试完成:fftw-libs-single软件包版本检查成功" -} - -main "$@" \ No newline at end of file From 6734e20bcaef5c842464222467977a7976cb95a8 Mon Sep 17 00:00:00 2001 From: honghua Date: Wed, 15 Apr 2026 14:52:03 +0800 Subject: [PATCH 02/11] update testcase for testsuite texlive-petri-nets --- .../texlive-base/texlive-petri-nets.json | 44 ------- ...xlive-petri-nets_function_basic_convert.sh | 97 -------------- .../test_texlive-petri-nets_function_help.sh | 60 --------- ...est_texlive-petri-nets_function_install.sh | 79 ------------ ...test_texlive-petri-nets_function_remove.sh | 110 ---------------- ...est_texlive-petri-nets_function_version.sh | 67 ---------- .../test_texlive-petri-nets_pn2pdf_b.sh | 115 ----------------- .../test_texlive-petri-nets_pn2pdf_f.sh | 66 ---------- .../test_texlive-petri-nets_pn2pdf_figure.sh | 105 --------------- .../test_texlive-petri-nets_pn2pdf_h.sh | 73 ----------- .../test_texlive-petri-nets_pn2pdf_k.sh | 107 ---------------- .../test_texlive-petri-nets_pn2pdf_t.sh | 120 ------------------ 12 files changed, 1043 deletions(-) delete mode 100644 testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_function_basic_convert.sh delete mode 100644 testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_function_help.sh delete mode 100644 testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_function_install.sh delete mode 100644 testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_function_remove.sh delete mode 100644 testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_function_version.sh delete mode 100644 testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_pn2pdf_b.sh delete mode 100644 testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_pn2pdf_f.sh delete mode 100644 testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_pn2pdf_figure.sh delete mode 100644 testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_pn2pdf_h.sh delete mode 100644 testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_pn2pdf_k.sh delete mode 100644 testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_pn2pdf_t.sh diff --git a/suite2cases/function_test/pkg_test/texlive-base/texlive-petri-nets.json b/suite2cases/function_test/pkg_test/texlive-base/texlive-petri-nets.json index 65b787d1806..675b3e0b678 100644 --- a/suite2cases/function_test/pkg_test/texlive-base/texlive-petri-nets.json +++ b/suite2cases/function_test/pkg_test/texlive-base/texlive-petri-nets.json @@ -5,50 +5,6 @@ { "name": "test_texlive-petri-nets_pn2pdf_d", "desc": "测试 pn2pdf 命令的 -d 参数,删除文件(可能为模式匹配)" - }, - { - "name": "test_texlive-petri-nets_pn2pdf_h", - "desc": "测试显示帮助信息" - }, - { - "name": "test_texlive-petri-nets_pn2pdf_figure", - "desc": "测试处理指定的FIGUR文件" - }, - { - "name": "test_texlive-petri-nets_pn2pdf_b", - "desc": "测试批处理文件中的命令" - }, - { - "name": "test_texlive-petri-nets_pn2pdf_k", - "desc": "测试处理时保留临时文件" - }, - { - "name": "test_texlive-petri-nets_pn2pdf_f", - "desc": "测试强制重新渲染所有图片" - }, - { - "name": "test_texlive-petri-nets_pn2pdf_t", - "desc": "测试为指定文件创建测试文件" - }, - { - "name": "test_texlive-petri-nets_function_install", - "desc": "测试软件包是否成功安装并能通过包管理器查询到" - }, - { - "name": "test_texlive-petri-nets_function_basic_convert", - "desc": "测试基本PN文件转换为PDF功能" - }, - { - "name": "test_texlive-petri-nets_function_remove", - "desc": "测试软件包卸载后相关命令是否失效" - }, - { - "name": "test_texlive-petri-nets_function_help", - "desc": "测试主命令显示帮助信息" - }, - { - "name": "test_texlive-petri-nets_function_version", - "desc": "测试显示软件包或工具版本信息" } ] } \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_function_basic_convert.sh b/testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_function_basic_convert.sh deleted file mode 100644 index cbf8f231509..00000000000 --- a/testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_function_basic_convert.sh +++ /dev/null @@ -1,97 +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-21 -# @License : Mulan PSL v2 -# @Desc : 测试基本PN文件转换为PDF功能 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试:基本PN文件转换为PDF功能" - - # 检查yum源中是否存在texlive-petri-nets软件包 - LOG_INFO "步骤1:检查yum源中是否存在texlive-petri-nets软件包" - dnf list texlive-petri-nets 2>/dev/null | grep -q texlive-petri-nets - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到texlive-petri-nets软件包" - exit 255 - fi - - # 检查系统是否已安装texlive-petri-nets - LOG_INFO "步骤2:检查系统是否已安装texlive-petri-nets" - rpm -q texlive-petri-nets >/dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "texlive-petri-nets已安装,脚本结束时将保持安装状态" - INSTALLED_BEFORE=1 - else - LOG_INFO "texlive-petri-nets未安装,将在测试过程中安装" - INSTALLED_BEFORE=0 - fi - - # 如果未安装,则安装软件包 - if [ $INSTALLED_BEFORE -eq 0 ]; then - LOG_INFO "步骤3:安装texlive-petri-nets软件包" - dnf install -y texlive-petri-nets - CHECK_RESULT $? 0 0 "安装texlive-petri-nets失败" - fi - - # 创建测试用的基本PN文件 - LOG_INFO "步骤4:创建测试用的基本PN文件" - cat > test_petri_net.tex << "EOF" - \documentclass{article} - \usepackage{petri} - \begin{document} - \begin{petrinet} - \place{p1}{at (0,0)}{$p_1$} - \place{p2}{at (2,0)}{$p_2$} - \trans{t1}{at (1,1)}{$t_1$} - \arc{p1}{t1} - \arc{t1}{p2} - \end{petrinet} - \end{document} - EOF - CHECK_RESULT $? 0 0 "创建测试PN文件失败" - - # 尝试将PN文件转换为PDF - LOG_INFO "步骤5:将PN文件转换为PDF" - pdflatex test_petri_net.tex >/dev/null 2>&1 - CHECK_RESULT $? 0 0 "PN文件转换为PDF失败" - - # 检查是否成功生成PDF文件 - LOG_INFO "步骤6:检查是否成功生成PDF文件" - if [ -f test_petri_net.pdf ]; then - LOG_INFO "成功生成PDF文件:test_petri_net.pdf" - CHECK_RESULT 0 0 0 "PDF文件生成失败" - else - LOG_ERROR "未找到生成的PDF文件" - CHECK_RESULT 1 0 0 "PDF文件生成失败" - fi - - # 清理生成的中间文件 - LOG_INFO "步骤7:清理生成的中间文件" - rm -f test_petri_net.aux test_petri_net.log test_petri_net.tex test_petri_net.pdf - - # 如果之前未安装,则在测试结束后卸载软件包 - if [ $INSTALLED_BEFORE -eq 0 ]; then - LOG_INFO "步骤8:卸载texlive-petri-nets软件包" - dnf remove -y texlive-petri-nets - CHECK_RESULT $? 0 0 "卸载texlive-petri-nets失败" - fi - - LOG_INFO "测试完成:基本PN文件转换为PDF功能测试通过" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_function_help.sh b/testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_function_help.sh deleted file mode 100644 index 123b46d8c92..00000000000 --- a/testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_function_help.sh +++ /dev/null @@ -1,60 +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-21 -# @License : Mulan PSL v2 -# @Desc : 测试主命令显示帮助信息 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试:测试主命令显示帮助信息" - LOG_INFO "步骤1:检查当前环境中是否已安装texlive-petri-nets软件包" - if dnf list installed texlive-petri-nets &> /dev/null; then - LOG_INFO "texlive-petri-nets软件包已安装,将保持安装状态" - already_installed=1 - else - LOG_INFO "texlive-petri-nets软件包未安装,将在后续步骤中安装" - already_installed=0 - fi - LOG_INFO "步骤2:检查yum源中是否有texlive-petri-nets软件包" - if ! dnf search texlive-petri-nets | grep -q "texlive-petri-nets"; then - LOG_ERROR "yum源中未找到texlive-petri-nets软件包" - exit 255 - fi - LOG_INFO "步骤3:安装texlive-petri-nets软件包" - if [ $already_installed -eq 0 ]; then - dnf install -y texlive-petri-nets - CHECK_RESULT $? 0 0 "安装texlive-petri-nets软件包失败" - fi - LOG_INFO "步骤4:测试主命令显示帮助信息" - LOG_INFO "执行命令:texlive-petri-nets --help" - texlive-petri-nets --help - CHECK_RESULT $? 0 0 "texlive-petri-nets --help命令执行失败" - LOG_INFO "步骤5:检查帮助信息中是否包含"usage"或"help"关键字" - texlive-petri-nets --help | grep -q -E "usage|help" - CHECK_RESULT $? 0 0 "帮助信息中未找到"usage"或"help"关键字" - LOG_INFO "步骤6:清理环境,恢复到之前的状态" - if [ $already_installed -eq 0 ]; then - LOG_INFO "卸载texlive-petri-nets软件包" - dnf remove -y texlive-petri-nets - CHECK_RESULT $? 0 0 "卸载texlive-petri-nets软件包失败" - else - LOG_INFO "保持texlive-petri-nets软件包安装状态" - fi - LOG_INFO "测试完成:测试主命令显示帮助信息" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_function_install.sh b/testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_function_install.sh deleted file mode 100644 index 1194ba727e9..00000000000 --- a/testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_function_install.sh +++ /dev/null @@ -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-02-21 -# @License : Mulan PSL v2 -# @Desc : 测试软件包是否成功安装并能通过包管理器查询到 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 设置环境变量 - SCRIPT_NAME="test_texlive-petri-nets_function_install" - PACKAGE_NAME="texlive-petri-nets" - - # 检查软件包是否在yum源中 - LOG_INFO "检查yum源中是否存在软件包 $PACKAGE_NAME" - dnf list available $PACKAGE_NAME > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中不存在软件包 $PACKAGE_NAME" - exit 255 - fi - - # 检查当前是否已安装 - LOG_INFO "检查软件包 $PACKAGE_NAME 是否已安装" - dnf list installed $PACKAGE_NAME > /dev/null 2>&1 - INSTALLED=$? - - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "软件包 $PACKAGE_NAME 已安装,测试完成后保持安装状态" - NEED_UNINSTALL=0 - else - LOG_INFO "软件包 $PACKAGE_NAME 未安装,将进行安装测试" - NEED_UNINSTALL=1 - fi - - # 如果未安装,则安装软件包 - if [ $NEED_UNINSTALL -eq 1 ]; then - LOG_INFO "开始安装软件包 $PACKAGE_NAME" - dnf install -y $PACKAGE_NAME - CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败" - LOG_INFO "软件包 $PACKAGE_NAME 安装成功" - fi - - # 测试通过包管理器查询软件包 - LOG_INFO "测试通过包管理器查询软件包 $PACKAGE_NAME" - dnf list installed $PACKAGE_NAME - CHECK_RESULT $? 0 0 "查询软件包 $PACKAGE_NAME 失败" - - # 测试软件包基本信息 - LOG_INFO "测试查询软件包 $PACKAGE_NAME 详细信息" - dnf info $PACKAGE_NAME - CHECK_RESULT $? 0 0 "查询软件包 $PACKAGE_NAME 详细信息失败" - - # 环境恢复 - if [ $NEED_UNINSTALL -eq 1 ]; then - LOG_INFO "测试完成,卸载软件包 $PACKAGE_NAME" - dnf remove -y $PACKAGE_NAME - CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败" - LOG_INFO "软件包 $PACKAGE_NAME 卸载成功" - else - LOG_INFO "测试完成,保持软件包 $PACKAGE_NAME 的安装状态" - fi - - LOG_INFO "测试脚本 $SCRIPT_NAME 执行完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_function_remove.sh b/testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_function_remove.sh deleted file mode 100644 index b4c9cccf4d6..00000000000 --- a/testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_function_remove.sh +++ /dev/null @@ -1,110 +0,0 @@ -#!/usr/bin/bash - -# Copyright (c) 2024 ISCAS .ALL rights reserved. -# This program is licensed under Mulan PSL v2. -# You can use it according to the terms and conditions of the Mulan PSL v2. -# http://license.coscl.org.cn/MulanPSL2 -# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, -# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, -# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. -# See the Mulan PSL v2 for more details. - -# ############################################# -# @Author : honghua -# @Contact : honghua@iscas.ac.cn -# @Date : 2026-02-21 -# @License : Mulan PSL v2 -# @Desc : 测试软件包卸载后相关命令是否失效 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试软件包卸载后相关命令是否失效" - LOG_INFO "检查环境中是否已安装texlive-petri-nets软件包" - dnf list installed texlive-petri-nets > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "环境中已安装texlive-petri-nets软件包" - INSTALLED_FLAG=1 - else - LOG_INFO "环境中未安装texlive-petri-nets软件包" - INSTALLED_FLAG=0 - fi - - LOG_INFO "检查yum源中是否存在texlive-petri-nets软件包" - dnf list available texlive-petri-nets > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "yum源中未找到texlive-petri-nets软件包" - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到texlive-petri-nets软件包" - exit 255 - fi - - if [ $INSTALLED_FLAG -eq 0 ]; then - LOG_INFO "开始安装texlive-petri-nets软件包" - dnf install -y texlive-petri-nets - CHECK_RESULT $? 0 0 "安装texlive-petri-nets软件包失败" - LOG_INFO "texlive-petri-nets软件包安装成功" - fi - - LOG_INFO "测试texlive-petri-nets软件包相关命令是否可用" - LOG_INFO "执行测试命令:texlua --help" - texlua --help > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "texlua命令不可用" - - LOG_INFO "执行测试命令:luatex --help" - luatex --help > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "luatex命令不可用" - - LOG_INFO "执行测试命令:context --help" - context --help > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "context命令不可用" - - LOG_INFO "卸载texlive-petri-nets软件包" - dnf remove -y texlive-petri-nets - CHECK_RESULT $? 0 0 "卸载texlive-petri-nets软件包失败" - LOG_INFO "texlive-petri-nets软件包卸载成功" - - LOG_INFO "验证软件包卸载后相关命令是否失效" - LOG_INFO "验证texlua命令是否失效" - texlua --help > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_ERROR "texlua命令在卸载后仍然可用" - CHECK_RESULT 1 0 0 "texlua命令在卸载后应该失效" - else - LOG_INFO "texlua命令已失效" - CHECK_RESULT 0 0 0 "texlua命令已失效" - fi - - LOG_INFO "验证luatex命令是否失效" - luatex --help > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_ERROR "luatex命令在卸载后仍然可用" - CHECK_RESULT 1 0 0 "luatex命令在卸载后应该失效" - else - LOG_INFO "luatex命令已失效" - CHECK_RESULT 0 0 0 "luatex命令已失效" - fi - - LOG_INFO "验证context命令是否失效" - context --help > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_ERROR "context命令在卸载后仍然可用" - CHECK_RESULT 1 0 0 "context命令在卸载后应该失效" - else - LOG_INFO "context命令已失效" - CHECK_RESULT 0 0 0 "context命令已失效" - fi - - if [ $INSTALLED_FLAG -eq 1 ]; then - LOG_INFO "恢复环境,重新安装texlive-petri-nets软件包" - dnf install -y texlive-petri-nets - CHECK_RESULT $? 0 0 "重新安装texlive-petri-nets软件包失败" - LOG_INFO "环境恢复完成" - else - LOG_INFO "环境清理完成,保持未安装状态" - fi - - LOG_INFO "测试软件包卸载后相关命令是否失效的测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_function_version.sh b/testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_function_version.sh deleted file mode 100644 index 7a87e55f35f..00000000000 --- a/testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_function_version.sh +++ /dev/null @@ -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 : 2026-02-21 -# @License : Mulan PSL v2 -# @Desc : 测试显示软件包或工具版本信息 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试:显示软件包或工具版本信息" - LOG_INFO "步骤1:检查环境中是否已安装texlive-petri-nets" - if dnf list installed texlive-petri-nets &>/dev/null; then - LOG_INFO "texlive-petri-nets已安装,跳过安装步骤" - INSTALLED=true - else - LOG_INFO "texlive-petri-nets未安装,将进行安装测试" - INSTALLED=false - fi - - LOG_INFO "步骤2:检查yum源中是否有texlive-petri-nets软件包" - if ! dnf list available texlive-petri-nets &>/dev/null; then - LOG_ERROR "yum源中未找到texlive-petri-nets软件包" - exit 255 - fi - - if [ "$INSTALLED" = false ]; then - LOG_INFO "步骤3:安装texlive-petri-nets软件包" - dnf install -y texlive-petri-nets - CHECK_RESULT $? 0 0 "安装texlive-petri-nets失败" - fi - - LOG_INFO "步骤4:测试显示软件包或工具版本信息" - if command -v texlive-petri-nets &>/dev/null; then - texlive-petri-nets --version - CHECK_RESULT $? 0 0 "执行texlive-petri-nets --version失败" - else - LOG_INFO "texlive-petri-nets命令不存在,尝试其他版本信息显示方式" - rpm -q texlive-petri-nets --queryformat="%{VERSION}-%{RELEASE}\n" - CHECK_RESULT $? 0 0 "获取texlive-petri-nets版本信息失败" - fi - - LOG_INFO "步骤5:清理环境,恢复原始状态" - if [ "$INSTALLED" = false ]; then - LOG_INFO "卸载测试安装的texlive-petri-nets软件包" - dnf remove -y texlive-petri-nets - CHECK_RESULT $? 0 0 "卸载texlive-petri-nets失败" - else - LOG_INFO "环境已安装texlive-petri-nets,保持安装状态" - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_pn2pdf_b.sh b/testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_pn2pdf_b.sh deleted file mode 100644 index 110d62bb92e..00000000000 --- a/testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_pn2pdf_b.sh +++ /dev/null @@ -1,115 +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-21 -# @License : Mulan PSL v2 -# @Desc : 测试批处理文件中的命令 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试批处理文件中的命令" - - LOG_INFO "检查texlive-petri-nets软件包是否已安装" - if rpm -q texlive-petri-nets &> /dev/null; then - LOG_INFO "texlive-petri-nets已安装,标记为保持安装状态" - KEEP_INSTALLED=1 - else - LOG_INFO "texlive-petri-nets未安装,标记为测试安装" - KEEP_INSTALLED=0 - fi - - LOG_INFO "检查yum源中是否有texlive-petri-nets软件包" - if ! dnf list available texlive-petri-nets &> /dev/null; then - LOG_ERROR "yum源中未找到texlive-petri-nets软件包" - exit 255 - fi - - if [ $KEEP_INSTALLED -eq 0 ]; then - LOG_INFO "安装texlive-petri-nets软件包" - dnf install -y texlive-petri-nets - CHECK_RESULT $? 0 0 "安装texlive-petri-nets失败" - fi - - LOG_INFO "检查pn2pdf命令是否存在" - if ! command -v pn2pdf &> /dev/null; then - LOG_ERROR "pn2pdf命令不存在" - if [ $KEEP_INSTALLED -eq 0 ]; then - LOG_INFO "清理环境:卸载texlive-petri-nets" - dnf remove -y texlive-petri-nets - fi - exit 255 - fi - - LOG_INFO "测试pn2pdf命令的基本参数" - LOG_INFO "检查--help参数" - pn2pdf --help - CHECK_RESULT $? 0 0 "pn2pdf --help执行失败" - - LOG_INFO "检查不支持的参数" - if pn2pdf --invalid-param &> /dev/null; then - LOG_ERROR "pn2pdf不支持--invalid-param参数,但未报错" - if [ $KEEP_INSTALLED -eq 0 ]; then - LOG_INFO "清理环境:卸载texlive-petri-nets" - dnf remove -y texlive-petri-nets - fi - exit 255 - else - LOG_INFO "pn2pdf正确拒绝了不支持的参数" - fi - - LOG_INFO "创建测试用的Petri网文件" - TEST_FILE="test_net.pn" - cat > $TEST_FILE << "EOF" - % 简单的Petri网示例 - \documentclass{standalone} - \usepackage{petri} - \begin{document} - \begin{tikzpicture} - \node[place] (p1) {}; - \node[transition] (t1) [right of=p1] {} - edge [pre] (p1); - \end{tikzpicture} - \end{document} - EOF - CHECK_RESULT $? 0 0 "创建测试文件失败" - - LOG_INFO "使用pn2pdf转换Petri网文件" - pn2pdf $TEST_FILE - CHECK_RESULT $? 0 0 "pn2pdf转换失败" - - LOG_INFO "检查生成的PDF文件" - if [ -f "${TEST_FILE%.pn}.pdf" ]; then - LOG_INFO "PDF文件生成成功" - else - LOG_ERROR "PDF文件未生成" - CHECK_RESULT 1 0 0 "PDF文件生成检查失败" - fi - - LOG_INFO "清理测试文件" - rm -f $TEST_FILE ${TEST_FILE%.pn}.pdf - - if [ $KEEP_INSTALLED -eq 0 ]; then - LOG_INFO "清理环境:卸载texlive-petri-nets" - dnf remove -y texlive-petri-nets - CHECK_RESULT $? 0 0 "卸载texlive-petri-nets失败" - else - LOG_INFO "保持texlive-petri-nets安装状态" - fi - - LOG_INFO "测试批处理文件中的命令完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_pn2pdf_f.sh b/testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_pn2pdf_f.sh deleted file mode 100644 index c44a811f563..00000000000 --- a/testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_pn2pdf_f.sh +++ /dev/null @@ -1,66 +0,0 @@ -#!/usr/bin/bash - -# Copyright (c) 2024 ISCAS .ALL rights reserved. -# This program is licensed under Mulan PSL v2. -# You can use it according to the terms and conditions of the Mulan PSL v2. -# http://license.coscl.org.cn/MulanPSL2 -# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, -# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, -# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. -# See the Mulan PSL v2 for more details. - -# ############################################# -# @Author : honghua -# @Contact : honghua@iscas.ac.cn -# @Date : 2026-02-21 -# @License : Mulan PSL v2 -# @Desc : 测试强制重新渲染所有图片 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试强制重新渲染所有图片功能" - LOG_INFO "步骤1: 检查texlive-petri-nets软件包是否在yum源中" - dnf list available texlive-petri-nets 2>&1 | grep -q "texlive-petri-nets" - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到texlive-petri-nets软件包" - exit 255 - fi - - LOG_INFO "步骤2: 检查pn2pdf命令是否支持-f参数" - pn2pdf --help 2>&1 | grep -q -- "-f" - if [ $? -ne 0 ]; then - LOG_ERROR "pn2pdf命令不支持-f参数" - exit 255 - fi - - LOG_INFO "步骤3: 检查texlive-petri-nets是否已安装" - rpm -q texlive-petri-nets > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "texlive-petri-nets已安装,测试结束后保持安装状态" - INSTALLED=1 - else - LOG_INFO "texlive-petri-nets未安装,开始安装" - dnf install -y texlive-petri-nets - CHECK_RESULT $? 0 0 "安装texlive-petri-nets失败" - INSTALLED=0 - fi - - LOG_INFO "步骤4: 执行pn2pdf -f命令强制重新渲染所有图片" - pn2pdf -f - CHECK_RESULT $? 0 0 "pn2pdf -f命令执行失败" - - LOG_INFO "步骤5: 清理测试环境" - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "卸载测试安装的texlive-petri-nets软件包" - dnf remove -y texlive-petri-nets - CHECK_RESULT $? 0 0 "卸载texlive-petri-nets失败" - else - LOG_INFO "保持texlive-petri-nets安装状态不变" - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_pn2pdf_figure.sh b/testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_pn2pdf_figure.sh deleted file mode 100644 index 6073892395b..00000000000 --- a/testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_pn2pdf_figure.sh +++ /dev/null @@ -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 : 2026-02-21 -# @License : Mulan PSL v2 -# @Desc : 测试处理指定的FIGUR文件 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 环境初始化检查 - LOG_INFO "开始测试:处理指定的FIGUR文件" - - # 检查软件包是否已在系统中安装 - LOG_INFO "检查texlive-petri-nets软件包是否已安装" - if dnf list installed texlive-petri-nets 2>/dev/null | grep -q texlive-petri-nets; then - LOG_INFO "texlive-petri-nets软件包已安装,测试后将保持安装状态" - PACKAGE_INSTALLED=true - else - LOG_INFO "texlive-petri-nets软件包未安装,将在测试中安装" - PACKAGE_INSTALLED=false - fi - - # 检查yum源中是否存在texlive-petri-nets软件包 - LOG_INFO "检查yum源中是否存在texlive-petri-nets软件包" - if ! dnf list available texlive-petri-nets 2>/dev/null | grep -q texlive-petri-nets; then - LOG_ERROR "yum源中不存在texlive-petri-nets软件包" - exit 255 - fi - - # 如果未安装,则安装软件包 - if [ "$PACKAGE_INSTALLED" = false ]; then - LOG_INFO "安装texlive-petri-nets软件包" - dnf install -y texlive-petri-nets - CHECK_RESULT $? 0 0 "安装texlive-petri-nets软件包失败" - fi - - # 检查pn2pdf命令是否可用 - LOG_INFO "检查pn2pdf命令是否可用" - if ! command -v pn2pdf &> /dev/null; then - LOG_ERROR "pn2pdf命令不存在" - exit 255 - fi - - # 创建测试用的FIGUR文件 - LOG_INFO "创建测试用的FIGUR文件" - TEST_FIGURE="test_figure.fig" - cat > "$TEST_FIGURE" << EOF - #FIG 3.2 - Landscape - Center - Metric - A4 - 100.00 - Single - -2 - 1200 2 - EOF - - CHECK_RESULT $? 0 0 "创建测试FIGUR文件失败" - - # 测试pn2pdf命令处理指定的FIGUR文件 - LOG_INFO "测试pn2pdf命令处理指定的FIGUR文件" - pn2pdf "$TEST_FIGURE" output.pdf - CHECK_RESULT $? 0 0 "pn2pdf处理FIGUR文件失败" - - # 检查生成的PDF文件是否存在 - LOG_INFO "检查生成的PDF文件是否存在" - if [ -f "output.pdf" ]; then - LOG_INFO "成功生成PDF文件:output.pdf" - else - LOG_ERROR "未生成PDF文件" - exit 1 - fi - - # 清理测试文件 - LOG_INFO "清理测试文件" - rm -f "$TEST_FIGURE" output.pdf - CHECK_RESULT $? 0 0 "清理测试文件失败" - - # 环境恢复:如果测试前未安装软件包,则卸载 - if [ "$PACKAGE_INSTALLED" = false ]; then - LOG_INFO "卸载texlive-petri-nets软件包" - dnf remove -y texlive-petri-nets - CHECK_RESULT $? 0 0 "卸载texlive-petri-nets软件包失败" - else - LOG_INFO "保持texlive-petri-nets软件包安装状态" - fi - - LOG_INFO "测试完成:处理指定的FIGUR文件" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_pn2pdf_h.sh b/testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_pn2pdf_h.sh deleted file mode 100644 index 7dcb4b99173..00000000000 --- a/testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_pn2pdf_h.sh +++ /dev/null @@ -1,73 +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-21 -# @License : Mulan PSL v2 -# @Desc : 测试显示帮助信息 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试显示帮助信息" - LOG_INFO "步骤1: 检查texlive-petri-nets软件包是否在yum源中" - dnf list available texlive-petri-nets 2>/dev/null | grep -q texlive-petri-nets - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到texlive-petri-nets软件包" - exit 255 - fi - - LOG_INFO "步骤2: 检查环境中是否已安装texlive-petri-nets软件包" - rpm -q texlive-petri-nets >/dev/null 2>&1 - INSTALLED=$? - - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "环境中已安装texlive-petri-nets,将保持安装状态" - INSTALL_NEEDED=0 - else - LOG_INFO "环境中未安装texlive-petri-nets,将进行安装" - INSTALL_NEEDED=1 - LOG_INFO "步骤3: 安装texlive-petri-nets软件包" - dnf install -y texlive-petri-nets - CHECK_RESULT $? 0 0 "安装texlive-petri-nets失败" - fi - - LOG_INFO "步骤4: 检查pn2pdf_h命令是否存在" - command -v pn2pdf_h >/dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "pn2pdf_h命令不存在" - exit 255 - fi - - LOG_INFO "步骤5: 测试pn2pdf_h命令显示帮助信息" - pn2pdf_h --help >/dev/null 2>&1 - CHECK_RESULT $? 0 0 "pn2pdf_h命令不支持--help参数或执行失败" - - LOG_INFO "步骤6: 测试pn2pdf_h命令显示帮助信息(使用-h参数)" - pn2pdf_h -h >/dev/null 2>&1 - CHECK_RESULT $? 0 0 "pn2pdf_h命令不支持-h参数或执行失败" - - LOG_INFO "步骤7: 清理环境" - if [ $INSTALL_NEEDED -eq 1 ]; then - LOG_INFO "卸载在测试过程中安装的texlive-petri-nets软件包" - dnf remove -y texlive-petri-nets - CHECK_RESULT $? 0 0 "卸载texlive-petri-nets失败" - else - LOG_INFO "保持texlive-petri-nets软件包安装状态" - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_pn2pdf_k.sh b/testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_pn2pdf_k.sh deleted file mode 100644 index 482b23d4b42..00000000000 --- a/testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_pn2pdf_k.sh +++ /dev/null @@ -1,107 +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-21 -# @License : Mulan PSL v2 -# @Desc : 测试处理时保留临时文件 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 测试脚本开始 - LOG_INFO "开始测试:处理时保留临时文件" - - # 步骤1:检查环境中是否已安装 texlive-petri-nets 软件包 - LOG_INFO "步骤1:检查 texlive-petri-nets 是否已安装" - if dnf list installed texlive-petri-nets &>/dev/null; then - LOG_INFO "texlive-petri-nets 已安装,脚本结束后将保持安装状态" - INSTALLED_ALREADY=1 - else - LOG_INFO "texlive-petri-nets 未安装,将在测试过程中安装" - INSTALLED_ALREADY=0 - fi - - # 步骤2:检查 yum 源中是否有 texlive-petri-nets 软件包 - LOG_INFO "步骤2:检查 yum 源中是否有 texlive-petri-nets 软件包" - if ! dnf list available texlive-petri-nets &>/dev/null; then - LOG_ERROR "yum 源中未找到 texlive-petri-nets 软件包" - exit 255 - fi - - # 步骤3:如果未安装,则安装 texlive-petri-nets 软件包 - if [ $INSTALLED_ALREADY -eq 0 ]; then - LOG_INFO "步骤3:安装 texlive-petri-nets 软件包" - dnf install -y texlive-petri-nets - CHECK_RESULT $? 0 0 "安装 texlive-petri-nets 失败" - fi - - # 步骤4:检查 pn2pdf 命令是否可用 - LOG_INFO "步骤4:检查 pn2pdf 命令是否可用" - if ! command -v pn2pdf &>/dev/null; then - LOG_ERROR "pn2pdf 命令不存在" - exit 255 - fi - - # 步骤5:测试 pn2pdf 命令的 -k 参数 - LOG_INFO "步骤5:测试 pn2pdf 命令的 -k 参数" - # 首先检查 -k 参数是否被支持 - pn2pdf --help | grep -q "\-k" - CHECK_RESULT $? 0 0 "pn2pdf 命令不支持 -k 参数" - - # 步骤6:创建一个临时的 .pn 文件用于测试 - LOG_INFO "步骤6:创建临时 .pn 文件用于测试" - TEST_PN_FILE=$(mktemp /tmp/test_petri_XXXXXX.pn) - cat > "$TEST_PN_FILE" << "EOF" - % 一个简单的 Petri 网示例 - \begin{tikzpicture} - \node[place] (p1) {}; - \node[transition] (t1) [right of=p1] {}; - \draw (p1) -- (t1); - \end{tikzpicture} - EOF - CHECK_RESULT $? 0 0 "创建临时 .pn 文件失败" - - # 步骤7:执行 pn2pdf -k 命令处理临时文件 - LOG_INFO "步骤7:执行 pn2pdf -k 命令处理临时文件" - pn2pdf -k "$TEST_PN_FILE" - CHECK_RESULT $? 0 0 "pn2pdf -k 命令执行失败" - - # 步骤8:检查是否保留了临时文件 - LOG_INFO "步骤8:检查是否保留了临时文件" - # pn2pdf -k 应该保留中间文件,检查是否有 .tex 文件生成 - TEX_FILE="${TEST_PN_FILE%.pn}.tex" - if [ -f "$TEX_FILE" ]; then - LOG_INFO "临时 .tex 文件已保留:$TEX_FILE" - else - LOG_ERROR "未找到保留的临时 .tex 文件" - exit 1 - fi - - # 步骤9:清理测试过程中创建的文件 - LOG_INFO "步骤9:清理测试过程中创建的文件" - rm -f "$TEST_PN_FILE" "$TEX_FILE" "${TEST_PN_FILE%.pn}.pdf" 2>/dev/null - CHECK_RESULT $? 0 0 "清理临时文件失败" - - # 步骤10:如果测试开始时未安装,则卸载 texlive-petri-nets 软件包 - if [ $INSTALLED_ALREADY -eq 0 ]; then - LOG_INFO "步骤10:卸载 texlive-petri-nets 软件包" - dnf remove -y texlive-petri-nets - CHECK_RESULT $? 0 0 "卸载 texlive-petri-nets 失败" - fi - - LOG_INFO "测试完成:处理时保留临时文件" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_pn2pdf_t.sh b/testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_pn2pdf_t.sh deleted file mode 100644 index dbc8ce71f95..00000000000 --- a/testcases/function_test/pkg_test/texlive-base/texlive-petri-nets/test_texlive-petri-nets_pn2pdf_t.sh +++ /dev/null @@ -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-02-21 -# @License : Mulan PSL v2 -# @Desc : 测试为指定文件创建测试文件 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 测试脚本:测试为指定文件创建测试文件 - - # 定义软件包名称 - PACKAGE_NAME="texlive-petri-nets" - COMMAND_NAME="pn2pdf" - - # 步骤1:检查yum源中是否存在指定软件包 - LOG_INFO "步骤1:检查yum源中是否存在软件包 ${PACKAGE_NAME}" - dnf list available ${PACKAGE_NAME} &>/dev/null - if [ $? -ne 0 ]; then - LOG_ERROR "软件包 ${PACKAGE_NAME} 在yum源中不存在" - exit 255 - fi - LOG_INFO "软件包 ${PACKAGE_NAME} 在yum源中存在" - - # 步骤2:检查当前环境是否已安装指定软件包 - LOG_INFO "步骤2:检查当前环境是否已安装软件包 ${PACKAGE_NAME}" - INSTALLED=0 - if rpm -q ${PACKAGE_NAME} &>/dev/null; then - LOG_INFO "软件包 ${PACKAGE_NAME} 已安装" - INSTALLED=1 - else - LOG_INFO "软件包 ${PACKAGE_NAME} 未安装" - fi - - # 步骤3:如果未安装,则安装软件包 - if [ ${INSTALLED} -eq 0 ]; then - LOG_INFO "步骤3:安装软件包 ${PACKAGE_NAME}" - dnf install -y ${PACKAGE_NAME} - CHECK_RESULT $? 0 0 "安装软件包 ${PACKAGE_NAME} 失败" - LOG_INFO "软件包 ${PACKAGE_NAME} 安装成功" - fi - - # 步骤4:检查命令是否存在 - LOG_INFO "步骤4:检查命令 ${COMMAND_NAME} 是否存在" - which ${COMMAND_NAME} &>/dev/null - CHECK_RESULT $? 0 0 "命令 ${COMMAND_NAME} 不存在" - LOG_INFO "命令 ${COMMAND_NAME} 存在" - - # 步骤5:测试命令参数是否支持 - LOG_INFO "步骤5:测试命令 ${COMMAND_NAME} 参数支持情况" - ${COMMAND_NAME} --help &>/dev/null - if [ $? -ne 0 ]; then - LOG_ERROR "命令 ${COMMAND_NAME} 不支持 --help 参数" - exit 255 - fi - LOG_INFO "命令 ${COMMAND_NAME} 支持 --help 参数" - - # 步骤6:创建测试输入文件 - LOG_INFO "步骤6:创建测试输入文件" - TEST_INPUT_FILE="test_input.pn" - cat > ${TEST_INPUT_FILE} << "EOF" - % Petri net example - \begin{tikzpicture} - \node[place] (p1) {}; - \node[transition] (t1) [right of=p1] {}; - \draw (p1) -- (t1); - \end{tikzpicture} - EOF - CHECK_RESULT $? 0 0 "创建测试输入文件失败" - LOG_INFO "测试输入文件 ${TEST_INPUT_FILE} 创建成功" - - # 步骤7:测试为指定文件创建PDF文件 - LOG_INFO "步骤7:测试为指定文件创建PDF文件" - ${COMMAND_NAME} ${TEST_INPUT_FILE} - CHECK_RESULT $? 0 0 "为指定文件创建PDF文件失败" - LOG_INFO "为指定文件创建PDF文件成功" - - # 步骤8:验证PDF文件是否创建成功 - LOG_INFO "步骤8:验证PDF文件是否创建成功" - OUTPUT_PDF_FILE="${TEST_INPUT_FILE%.*}.pdf" - if [ -f "${OUTPUT_PDF_FILE}" ]; then - LOG_INFO "PDF文件 ${OUTPUT_PDF_FILE} 创建成功" - else - LOG_ERROR "PDF文件 ${OUTPUT_PDF_FILE} 未创建" - exit 1 - fi - - # 步骤9:清理测试文件 - LOG_INFO "步骤9:清理测试文件" - rm -f ${TEST_INPUT_FILE} ${OUTPUT_PDF_FILE} - CHECK_RESULT $? 0 0 "清理测试文件失败" - LOG_INFO "测试文件清理成功" - - # 步骤10:如果测试前未安装,则卸载软件包 - if [ ${INSTALLED} -eq 0 ]; then - LOG_INFO "步骤10:卸载软件包 ${PACKAGE_NAME}" - dnf remove -y ${PACKAGE_NAME} - CHECK_RESULT $? 0 0 "卸载软件包 ${PACKAGE_NAME} 失败" - LOG_INFO "软件包 ${PACKAGE_NAME} 卸载成功" - else - LOG_INFO "步骤10:保持软件包 ${PACKAGE_NAME} 的安装状态" - fi - - LOG_INFO "测试脚本执行完成" -} - -main "$@" \ No newline at end of file From 317d556b09e469c7c3fb10637fc5bb8b574c5d1b Mon Sep 17 00:00:00 2001 From: honghua Date: Wed, 15 Apr 2026 14:52:22 +0800 Subject: [PATCH 03/11] update testcase for testsuite rubygem-expression_parser-doc --- .../rubygem-expression_parser-doc.json | 10 --- ...em-expression_parser-doc_function_parse.sh | 64 ------------------- 2 files changed, 74 deletions(-) delete mode 100644 suite2cases/function_test/pkg_test/rubygem-expression_parser/rubygem-expression_parser-doc.json delete mode 100644 testcases/function_test/pkg_test/rubygem-expression_parser/rubygem-expression_parser-doc/test_rubygem-expression_parser-doc_function_parse.sh diff --git a/suite2cases/function_test/pkg_test/rubygem-expression_parser/rubygem-expression_parser-doc.json b/suite2cases/function_test/pkg_test/rubygem-expression_parser/rubygem-expression_parser-doc.json deleted file mode 100644 index 7f5c4391f54..00000000000 --- a/suite2cases/function_test/pkg_test/rubygem-expression_parser/rubygem-expression_parser-doc.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "path": "$OET_PATH/testcases/function_test/pkg_test/rubygem-expression_parser/rubygem-expression_parser-doc", - "machine num": 1, - "cases": [ - { - "name": "test_rubygem-expression_parser-doc_function_parse", - "desc": "Test parsing functionality" - } - ] -} \ No newline at end of file diff --git a/testcases/function_test/pkg_test/rubygem-expression_parser/rubygem-expression_parser-doc/test_rubygem-expression_parser-doc_function_parse.sh b/testcases/function_test/pkg_test/rubygem-expression_parser/rubygem-expression_parser-doc/test_rubygem-expression_parser-doc_function_parse.sh deleted file mode 100644 index 43d9daaf3dc..00000000000 --- a/testcases/function_test/pkg_test/rubygem-expression_parser/rubygem-expression_parser-doc/test_rubygem-expression_parser-doc_function_parse.sh +++ /dev/null @@ -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-12-04 -# @License : Mulan PSL v2 -# @Desc : Test parsing functionality -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试解析功能" - - # 检查是否已安装rubygem-expression_parser-doc - LOG_INFO "检查是否已安装rubygem-expression_parser-doc" - if dnf list installed rubygem-expression_parser-doc &>/dev/null; then - LOG_INFO "rubygem-expression_parser-doc已安装" - installed=true - else - LOG_INFO "rubygem-expression_parser-doc未安装" - installed=false - fi - - # 检查yum源中是否有该软件包 - LOG_INFO "检查yum源中是否有rubygem-expression_parser-doc" - if ! dnf list available rubygem-expression_parser-doc &>/dev/null; then - LOG_ERROR "yum源中未找到rubygem-expression_parser-doc" - exit 255 - fi - - # 如果未安装,则安装 - if [ "$installed" = false ]; then - LOG_INFO "安装rubygem-expression_parser-doc" - dnf install -y rubygem-expression_parser-doc - CHECK_RESULT $? 0 0 "安装rubygem-expression_parser-doc失败" - fi - - # 测试解析功能 - LOG_INFO "测试解析功能" - parse_output=$(expression_parser --parse "test_expression") - CHECK_RESULT $? 0 0 "解析功能测试失败" - - # 清理环境:如果最初未安装,则卸载 - if [ "$installed" = false ]; then - LOG_INFO "卸载rubygem-expression_parser-doc" - dnf remove -y rubygem-expression_parser-doc - CHECK_RESULT $? 0 0 "卸载rubygem-expression_parser-doc失败" - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file From 5ee218a08c6d38a643b86e7706be19fa35886841 Mon Sep 17 00:00:00 2001 From: honghua Date: Wed, 15 Apr 2026 14:52:43 +0800 Subject: [PATCH 04/11] update testcase for testsuite python3-entrypoints --- .../python3-entrypoints.json | 14 ----- .../test_python3-entrypoints_function_load.sh | 63 ------------------- ...test_python3-entrypoints_function_parse.sh | 60 ------------------ 3 files changed, 137 deletions(-) delete mode 100644 suite2cases/function_test/pkg_test/python-entrypoints/python3-entrypoints.json delete mode 100644 testcases/function_test/pkg_test/python-entrypoints/python3-entrypoints/test_python3-entrypoints_function_load.sh delete mode 100644 testcases/function_test/pkg_test/python-entrypoints/python3-entrypoints/test_python3-entrypoints_function_parse.sh diff --git a/suite2cases/function_test/pkg_test/python-entrypoints/python3-entrypoints.json b/suite2cases/function_test/pkg_test/python-entrypoints/python3-entrypoints.json deleted file mode 100644 index 98c680e0694..00000000000 --- a/suite2cases/function_test/pkg_test/python-entrypoints/python3-entrypoints.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "path": "$OET_PATH/testcases/function_test/pkg_test/python-entrypoints/python3-entrypoints", - "machine num": 1, - "cases": [ - { - "name": "test_python3-entrypoints_function_load", - "desc": "Test loading entry points" - }, - { - "name": "test_python3-entrypoints_function_parse", - "desc": "Test parsing entry points" - } - ] -} \ No newline at end of file diff --git a/testcases/function_test/pkg_test/python-entrypoints/python3-entrypoints/test_python3-entrypoints_function_load.sh b/testcases/function_test/pkg_test/python-entrypoints/python3-entrypoints/test_python3-entrypoints_function_load.sh deleted file mode 100644 index 5e16b571eeb..00000000000 --- a/testcases/function_test/pkg_test/python-entrypoints/python3-entrypoints/test_python3-entrypoints_function_load.sh +++ /dev/null @@ -1,63 +0,0 @@ -#!/usr/bin/bash - -# Copyright (c) 2024 ISCAS .ALL rights reserved. -# This program is licensed under Mulan PSL v2. -# You can use it according to the terms and conditions of the Mulan PSL v2. -# http://license.coscl.org.cn/MulanPSL2 -# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, -# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, -# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. -# See the Mulan PSL v2 for more details. - -# ############################################# -# @Author : honghua -# @Contact : honghua@iscas.ac.cn -# @Date : 2025-11-30 -# @License : Mulan PSL v2 -# @Desc : Test loading entry points -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试:Test loading entry points" - - # 检查是否已安装python3 - LOG_INFO "检查是否已安装python3" - if ! command -v python3 &> /dev/null; then - LOG_INFO "未检测到python3,准备安装" - LOG_INFO "检查yum源中是否存在python3软件包" - if ! dnf list available python3 &> /dev/null; then - LOG_ERROR "yum源中未找到python3软件包" - exit 255 - fi - - LOG_INFO "安装python3" - dnf install -y python3 - CHECK_RESULT $? 0 0 "安装python3失败" - INSTALLED=true - else - LOG_INFO "检测到python3已安装" - INSTALLED=false - fi - - # 测试加载entry points功能 - LOG_INFO "测试加载entry points功能" - if ! python3 -c "import pkg_resources; print(pkg_resources.get_entry_map("pip"))" &> /dev/null; then - LOG_ERROR "加载entry points失败" - CHECK_RESULT $? 0 1 "加载entry points失败" # 预期命令执行失败 - else - CHECK_RESULT $? 0 0 "加载entry points成功" - fi - - # 清理环境 - if [ "$INSTALLED" = true ]; then - LOG_INFO "卸载python3以恢复环境" - dnf remove -y python3 - CHECK_RESULT $? 0 0 "卸载python3失败" - fi - - LOG_INFO "测试完成:Test loading entry points" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/python-entrypoints/python3-entrypoints/test_python3-entrypoints_function_parse.sh b/testcases/function_test/pkg_test/python-entrypoints/python3-entrypoints/test_python3-entrypoints_function_parse.sh deleted file mode 100644 index bef906a5495..00000000000 --- a/testcases/function_test/pkg_test/python-entrypoints/python3-entrypoints/test_python3-entrypoints_function_parse.sh +++ /dev/null @@ -1,60 +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-07 -# @License : Mulan PSL v2 -# @Desc : Test parsing entry points -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - - # 检查yum源中是否存在python3-entrypoints软件包 - LOG_INFO "检查yum源中是否存在python3-entrypoints软件包" - dnf list available python3-entrypoints >/dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中不存在python3-entrypoints软件包" - exit 255 - fi - - # 检查是否已安装python3-entrypoints - LOG_INFO "检查是否已安装python3-entrypoints" - rpm -q python3-entrypoints >/dev/null 2>&1 - installed=$? - - # 如果未安装,则安装软件包 - if [ $installed -ne 0 ]; then - LOG_INFO "安装python3-entrypoints软件包" - dnf install -y python3-entrypoints - CHECK_RESULT $? 0 0 "安装python3-entrypoints失败" - fi - - # 测试解析entry points功能 - LOG_INFO "测试解析entry points功能" - python3 -c "from entrypoints import get_entry_map; print(get_entry_map())" >/dev/null 2>&1 - CHECK_RESULT $? 0 0 "解析entry points失败" - - # 如果最初未安装,则在测试完成后卸载软件包 - if [ $installed -ne 0 ]; then - LOG_INFO "卸载python3-entrypoints软件包" - dnf remove -y python3-entrypoints - CHECK_RESULT $? 0 0 "卸载python3-entrypoints失败" - fi - - LOG_INFO "测试完成,环境已恢复" - -} - -main "$@" \ No newline at end of file From 0edfabc074c791effe4747ad06dcaebb2d305209 Mon Sep 17 00:00:00 2001 From: honghua Date: Wed, 15 Apr 2026 14:53:25 +0800 Subject: [PATCH 05/11] update testcase for testsuite libyaml-devel --- .../pkg_test/libyaml/libyaml-devel.json | 40 ---- ...st_libyaml-devel_function_basic_compile.sh | 81 -------- ...est_libyaml-devel_function_complex_emit.sh | 134 ------------- ...st_libyaml-devel_function_complex_parse.sh | 181 ------------------ .../test_libyaml-devel_function_config.sh | 141 -------------- .../test_libyaml-devel_function_header.sh | 82 -------- .../test_libyaml-devel_function_link.sh | 87 --------- .../test_libyaml-devel_function_unicode.sh | 115 ----------- .../test_libyaml-devel_function_verify.sh | 122 ------------ .../test_libyaml-devel_function_yaml_emit.sh | 99 ---------- .../test_libyaml-devel_function_yaml_parse.sh | 92 --------- 11 files changed, 1174 deletions(-) delete mode 100644 testcases/function_test/pkg_test/libyaml/libyaml-devel/test_libyaml-devel_function_basic_compile.sh delete mode 100644 testcases/function_test/pkg_test/libyaml/libyaml-devel/test_libyaml-devel_function_complex_emit.sh delete mode 100644 testcases/function_test/pkg_test/libyaml/libyaml-devel/test_libyaml-devel_function_complex_parse.sh delete mode 100644 testcases/function_test/pkg_test/libyaml/libyaml-devel/test_libyaml-devel_function_config.sh delete mode 100644 testcases/function_test/pkg_test/libyaml/libyaml-devel/test_libyaml-devel_function_header.sh delete mode 100644 testcases/function_test/pkg_test/libyaml/libyaml-devel/test_libyaml-devel_function_link.sh delete mode 100644 testcases/function_test/pkg_test/libyaml/libyaml-devel/test_libyaml-devel_function_unicode.sh delete mode 100644 testcases/function_test/pkg_test/libyaml/libyaml-devel/test_libyaml-devel_function_verify.sh delete mode 100644 testcases/function_test/pkg_test/libyaml/libyaml-devel/test_libyaml-devel_function_yaml_emit.sh delete mode 100644 testcases/function_test/pkg_test/libyaml/libyaml-devel/test_libyaml-devel_function_yaml_parse.sh diff --git a/suite2cases/function_test/pkg_test/libyaml/libyaml-devel.json b/suite2cases/function_test/pkg_test/libyaml/libyaml-devel.json index e1ed1604108..495dd12e3c2 100644 --- a/suite2cases/function_test/pkg_test/libyaml/libyaml-devel.json +++ b/suite2cases/function_test/pkg_test/libyaml/libyaml-devel.json @@ -14,49 +14,9 @@ "name": "test_libyaml-devel_function_version", "desc": "Test checking the version of libyaml-devel package" }, - { - "name": "test_libyaml-devel_function_verify", - "desc": "Test verifying the integrity of libyaml-devel package" - }, - { - "name": "test_libyaml-devel_function_header", - "desc": "Test the availability of yaml.h header file" - }, - { - "name": "test_libyaml-devel_function_link", - "desc": "Test linking a simple program with libyaml library" - }, - { - "name": "test_libyaml-devel_function_basic_compile", - "desc": "Test compiling a simple C program that uses libyaml" - }, - { - "name": "test_libyaml-devel_function_yaml_parse", - "desc": "Test parsing a simple YAML document" - }, - { - "name": "test_libyaml-devel_function_yaml_emit", - "desc": "Test generating a simple YAML document" - }, { "name": "test_libyaml-devel_function_error_handle", "desc": "Test handling libyaml parsing errors" - }, - { - "name": "test_libyaml-devel_function_config", - "desc": "Test using libyaml in a config scenario" - }, - { - "name": "test_libyaml-devel_function_complex_parse", - "desc": "Test parsing complex YAML structures" - }, - { - "name": "test_libyaml-devel_function_complex_emit", - "desc": "Test generating complex YAML structures" - }, - { - "name": "test_libyaml-devel_function_unicode", - "desc": "Test YAML Unicode character support" } ] } \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libyaml/libyaml-devel/test_libyaml-devel_function_basic_compile.sh b/testcases/function_test/pkg_test/libyaml/libyaml-devel/test_libyaml-devel_function_basic_compile.sh deleted file mode 100644 index 0a95dc18aea..00000000000 --- a/testcases/function_test/pkg_test/libyaml/libyaml-devel/test_libyaml-devel_function_basic_compile.sh +++ /dev/null @@ -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-01-29 -# @License : Mulan PSL v2 -# @Desc : Test compiling a simple C program that uses libyaml -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "检查yum源中是否存在libyaml-devel软件包" - dnf list libyaml-devel - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到libyaml-devel软件包" - exit 255 - fi - - LOG_INFO "检查当前环境是否已安装libyaml-devel" - rpm -q libyaml-devel - if [ $? -eq 0 ]; then - LOG_INFO "检测到libyaml-devel已安装,测试结束后将保持安装状态" - INSTALLED=1 - else - LOG_INFO "未检测到libyaml-devel,将进行安装" - INSTALLED=0 - fi - - if [ ${INSTALLED} -eq 0 ]; then - LOG_INFO "步骤:安装libyaml-devel软件包" - dnf install -y libyaml-devel - CHECK_RESULT $? 0 0 "安装libyaml-devel失败" - fi - - LOG_INFO "步骤:创建一个简单的C程序,用于测试libyaml编译" - TEST_CODE=$(cat << "EOF" - #include - #include - int main() { - printf("YAML library version: %s\n", yaml_get_version_string()); - return 0; - } - EOF - ) - echo "${TEST_CODE}" > test_libyaml.c - CHECK_RESULT $? 0 0 "创建测试C源文件失败" - - LOG_INFO "步骤:编译测试程序" - gcc test_libyaml.c -lyaml -o test_libyaml - CHECK_RESULT $? 0 0 "编译测试程序失败" - - LOG_INFO "步骤:运行编译后的测试程序" - ./test_libyaml - CHECK_RESULT $? 0 0 "运行测试程序失败" - - LOG_INFO "步骤:清理临时文件" - rm -f test_libyaml.c test_libyaml - CHECK_RESULT $? 0 0 "清理临时文件失败" - - if [ ${INSTALLED} -eq 0 ]; then - LOG_INFO "步骤:卸载测试安装的libyaml-devel软件包" - dnf remove -y libyaml-devel - CHECK_RESULT $? 0 0 "卸载libyaml-devel失败" - LOG_INFO "环境已恢复至测试前状态" - else - LOG_INFO "测试完成,libyaml-devel保持安装状态" - fi -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libyaml/libyaml-devel/test_libyaml-devel_function_complex_emit.sh b/testcases/function_test/pkg_test/libyaml/libyaml-devel/test_libyaml-devel_function_complex_emit.sh deleted file mode 100644 index 4b2f8f49238..00000000000 --- a/testcases/function_test/pkg_test/libyaml/libyaml-devel/test_libyaml-devel_function_complex_emit.sh +++ /dev/null @@ -1,134 +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-25 -# @License : Mulan PSL v2 -# @Desc : Test generating complex YAML structures -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 测试生成复杂的YAML结构 - - LOG_INFO "开始测试:Test generating complex YAML structures" - - # 检查环境是否已安装libyaml-devel - LOG_INFO "步骤1:检查libyaml-devel是否已安装" - if dnf list installed libyaml-devel &>/dev/null; then - LOG_INFO "libyaml-devel已安装,测试结束后将保持安装状态" - WAS_INSTALLED=true - else - LOG_INFO "libyaml-devel未安装,将在测试过程中安装" - WAS_INSTALLED=false - fi - - # 检查yum源中是否有libyaml-devel软件包 - LOG_INFO "步骤2:检查yum源中是否有libyaml-devel软件包" - if ! dnf list available libyaml-devel &>/dev/null; then - LOG_ERROR "yum源中未找到libyaml-devel软件包" - exit 255 - fi - - # 如果未安装,则安装软件包 - if [ "$WAS_INSTALLED" = false ]; then - LOG_INFO "步骤3:安装libyaml-devel软件包" - dnf install -y libyaml-devel - CHECK_RESULT $? 0 0 "安装libyaml-devel失败" - fi - - # 检查yaml命令是否可用 - LOG_INFO "步骤4:检查yaml命令是否可用" - if ! command -v yaml &>/dev/null; then - LOG_ERROR "yaml命令不存在或不支持" - if [ "$WAS_INSTALLED" = false ]; then - LOG_INFO "清理环境:卸载libyaml-devel" - dnf remove -y libyaml-devel - fi - exit 255 - fi - - # 测试生成复杂YAML结构 - LOG_INFO "步骤5:测试生成复杂YAML结构" - cat > test_complex.yaml << "EOF" - # 复杂YAML结构示例 - person: - name: "张三" - age: 30 - address: - street: "人民路" - city: "北京" - zip: "100000" - hobbies: - - "阅读" - - "游泳" - - "编程" - education: - - degree: "学士" - school: "清华大学" - year: 2010 - - degree: "硕士" - school: "北京大学" - year: 2013 - skills: - programming: - - "Python" - - "Java" - - "C++" - languages: - - "英语" - - "日语" - EOF - - CHECK_RESULT $? 0 0 "创建测试YAML文件失败" - - # 验证生成的YAML文件 - LOG_INFO "步骤6:验证生成的YAML文件" - if [ -f test_complex.yaml ]; then - yaml validate test_complex.yaml - CHECK_RESULT $? 0 0 "YAML文件验证失败" - - # 检查YAML文件内容 - if grep -q "张三" test_complex.yaml && \ - grep -q "清华大学" test_complex.yaml && \ - grep -q "Python" test_complex.yaml; then - LOG_INFO "复杂YAML结构生成成功" - else - LOG_ERROR "YAML文件内容不完整" - CHECK_RESULT 1 0 0 "YAML文件内容不完整" - fi - else - LOG_ERROR "测试YAML文件未创建" - CHECK_RESULT 1 0 0 "测试YAML文件未创建" - fi - - # 清理测试文件 - LOG_INFO "步骤7:清理测试文件" - rm -f test_complex.yaml - CHECK_RESULT $? 0 0 "清理测试文件失败" - - # 如果需要,卸载软件包 - if [ "$WAS_INSTALLED" = false ]; then - LOG_INFO "步骤8:卸载libyaml-devel软件包" - dnf remove -y libyaml-devel - CHECK_RESULT $? 0 0 "卸载libyaml-devel失败" - LOG_INFO "环境已恢复到测试前的状态" - else - LOG_INFO "环境保持原状,libyaml-devel保持安装状态" - fi - - LOG_INFO "测试完成:Test generating complex YAML structures" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libyaml/libyaml-devel/test_libyaml-devel_function_complex_parse.sh b/testcases/function_test/pkg_test/libyaml/libyaml-devel/test_libyaml-devel_function_complex_parse.sh deleted file mode 100644 index e2d4f353933..00000000000 --- a/testcases/function_test/pkg_test/libyaml/libyaml-devel/test_libyaml-devel_function_complex_parse.sh +++ /dev/null @@ -1,181 +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-25 -# @License : Mulan PSL v2 -# @Desc : Test parsing complex YAML structures -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试:解析复杂YAML结构" - - # 检查yum源中是否存在libyaml-devel软件包 - LOG_INFO "检查yum源中是否存在libyaml-devel软件包" - if ! dnf list available libyaml-devel &>/dev/null; then - LOG_ERROR "yum源中不存在libyaml-devel软件包" - exit 255 - fi - - # 判断环境是否已经安装libyaml-devel - LOG_INFO "检查环境是否已安装libyaml-devel" - if rpm -q libyaml-devel &>/dev/null; then - LOG_INFO "环境已安装libyaml-devel,测试结束后将保持安装状态" - INSTALLED_BEFORE_TEST=true - else - LOG_INFO "环境未安装libyaml-devel,将进行安装" - INSTALLED_BEFORE_TEST=false - fi - - # 如果未安装,则安装libyaml-devel - if [ "$INSTALLED_BEFORE_TEST" = false ]; then - LOG_INFO "安装libyaml-devel软件包" - dnf install -y libyaml-devel - CHECK_RESULT $? 0 0 "安装libyaml-devel失败" - fi - - # 创建测试用的复杂YAML文件 - LOG_INFO "创建测试用的复杂YAML文件" - cat > complex.yaml << "EOF" - --- - # 复杂YAML结构示例 - person: - name: "张三" - age: 30 - address: - city: "北京" - street: "长安街" - postal_code: 100000 - hobbies: - - "阅读" - - "游泳" - - "编程" - education: - - school: "清华大学" - degree: "本科" - year: 2010 - - school: "北京大学" - degree: "硕士" - year: 2013 - projects: - project1: - name: "项目A" - status: "完成" - project2: - name: "项目B" - status: "进行中" - EOF - - CHECK_RESULT $? 0 0 "创建YAML文件失败" - - # 测试使用yq解析复杂YAML结构 - LOG_INFO "测试使用yq解析复杂YAML结构" - if ! command -v yq &>/dev/null; then - LOG_INFO "安装yq工具" - dnf install -y yq - CHECK_RESULT $? 0 0 "安装yq失败" - YQ_INSTALLED=true - else - YQ_INSTALLED=false - fi - - # 解析YAML文件中的姓名 - LOG_INFO "解析YAML文件中的姓名" - name=$(yq e ".person.name" complex.yaml) - CHECK_RESULT $? 0 0 "解析姓名失败" - LOG_INFO "姓名为: $name" - - # 解析YAML文件中的城市 - LOG_INFO "解析YAML文件中的城市" - city=$(yq e ".person.address.city" complex.yaml) - CHECK_RESULT $? 0 0 "解析城市失败" - LOG_INFO "城市为: $city" - - # 解析YAML文件中的第一个爱好 - LOG_INFO "解析YAML文件中的第一个爱好" - hobby1=$(yq e ".person.hobbies[0]" complex.yaml) - CHECK_RESULT $? 0 0 "解析第一个爱好失败" - LOG_INFO "第一个爱好为: $hobby1" - - # 解析YAML文件中的第一个教育经历 - LOG_INFO "解析YAML文件中的第一个教育经历" - school1=$(yq e ".person.education[0].school" complex.yaml) - CHECK_RESULT $? 0 0 "解析第一个教育经历失败" - LOG_INFO "第一个教育学校为: $school1" - - # 解析YAML文件中的项目状态 - LOG_INFO "解析YAML文件中的项目状态" - project_status=$(yq e ".person.projects.project1.status" complex.yaml) - CHECK_RESULT $? 0 0 "解析项目状态失败" - LOG_INFO "项目A状态为: $project_status" - - # 测试使用python解析复杂YAML结构 - LOG_INFO "测试使用python解析复杂YAML结构" - cat > parse_yaml.py << "EOF" - import yaml - import sys - - try: - with open("complex.yaml", "r") as file: - data = yaml.safe_load(file) - - # 验证数据结构 - if "person" in data: - person = data["person"] - print(f"姓名: {person.get("name", "N/A")}") - print(f"年龄: {person.get("age", "N/A")}") - print(f"城市: {person["address"].get("city", "N/A")}") - print(f"爱好数量: {len(person.get("hobbies", []))}") - print(f"教育经历数量: {len(person.get("education", []))}") - print(f"项目数量: {len(person.get("projects", {}))}") - sys.exit(0) - else: - print("YAML文件中未找到person节点") - sys.exit(1) - except Exception as e: - print(f"解析YAML文件失败: {str(e)}") - sys.exit(1) - EOF - - LOG_INFO "执行Python解析脚本" - python3 parse_yaml.py - CHECK_RESULT $? 0 0 "Python解析YAML失败" - - # 清理测试文件 - LOG_INFO "清理测试文件" - rm -f complex.yaml parse_yaml.py - CHECK_RESULT $? 0 0 "清理测试文件失败" - - # 如果测试前未安装yq,则卸载yq - if [ "$YQ_INSTALLED" = true ]; then - LOG_INFO "卸载yq工具" - dnf remove -y yq - CHECK_RESULT $? 0 0 "卸载yq失败" - fi - - # 如果测试前未安装libyaml-devel,则卸载 - if [ "$INSTALLED_BEFORE_TEST" = false ]; then - LOG_INFO "卸载libyaml-devel软件包" - dnf remove -y libyaml-devel - CHECK_RESULT $? 0 0 "卸载libyaml-devel失败" - LOG_INFO "环境已恢复到测试前状态" - else - LOG_INFO "保持libyaml-devel安装状态" - fi - - LOG_INFO "测试完成:解析复杂YAML结构" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libyaml/libyaml-devel/test_libyaml-devel_function_config.sh b/testcases/function_test/pkg_test/libyaml/libyaml-devel/test_libyaml-devel_function_config.sh deleted file mode 100644 index 4e4ed54f06c..00000000000 --- a/testcases/function_test/pkg_test/libyaml/libyaml-devel/test_libyaml-devel_function_config.sh +++ /dev/null @@ -1,141 +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-29 -# @License : Mulan PSL v2 -# @Desc : Test using libyaml in a config scenario -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 检查是否已安装libyaml-devel - LOG_INFO "检查libyaml-devel是否已安装" - rpm -q libyaml-devel > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "libyaml-devel已安装,测试结束后将保持安装状态" - INSTALLED=1 - else - LOG_INFO "libyaml-devel未安装,将在测试过程中安装" - INSTALLED=0 - fi - - # 检查yum源中是否有libyaml-devel软件包 - LOG_INFO "检查yum源中是否有libyaml-devel软件包" - dnf list available libyaml-devel > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到libyaml-devel软件包" - exit 255 - fi - - # 如果未安装,则安装libyaml-devel - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "安装libyaml-devel" - dnf install -y libyaml-devel - CHECK_RESULT $? 0 0 "安装libyaml-devel失败" - fi - - # 测试libyaml在配置场景中的使用 - LOG_INFO "测试libyaml在配置场景中的使用" - - # 创建一个测试配置文件 - LOG_INFO "创建测试配置文件" - cat > test_config.yaml << EOF - database: - host: localhost - port: 3306 - username: testuser - password: testpass - logging: - level: info - file: /var/log/test.log - EOF - CHECK_RESULT $? 0 0 "创建测试配置文件失败" - - # 使用libyaml库读取配置文件 - LOG_INFO "使用libyaml库读取配置文件" - cat > test_libyaml.c << EOF - #include - #include - #include - - int main() { - yaml_parser_t parser; - yaml_event_t event; - FILE *file = fopen("test_config.yaml", "r"); - - if (!file) { - printf("无法打开文件\n"); - return 1; - } - - yaml_parser_initialize(&parser); - yaml_parser_set_input_file(&parser, file); - - int done = 0; - while (!done) { - if (!yaml_parser_parse(&parser, &event)) { - printf("解析失败\n"); - return 1; - } - - switch (event.type) { - case YAML_STREAM_START_EVENT: - printf("开始解析YAML流\n"); - break; - case YAML_STREAM_END_EVENT: - printf("结束解析YAML流\n"); - done = 1; - break; - case YAML_SCALAR_EVENT: - printf("标量: %s\n", event.data.scalar.value); - break; - } - - yaml_event_delete(&event); - } - - yaml_parser_delete(&parser); - fclose(file); - return 0; - } - EOF - CHECK_RESULT $? 0 0 "创建测试C程序失败" - - # 编译测试程序 - LOG_INFO "编译测试程序" - gcc -o test_libyaml test_libyaml.c -lyaml - CHECK_RESULT $? 0 0 "编译测试程序失败" - - # 运行测试程序 - LOG_INFO "运行测试程序" - ./test_libyaml - CHECK_RESULT $? 0 0 "运行测试程序失败" - - # 清理测试文件 - LOG_INFO "清理测试文件" - rm -f test_config.yaml test_libyaml.c test_libyaml - CHECK_RESULT $? 0 0 "清理测试文件失败" - - # 如果测试前未安装,则卸载libyaml-devel - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "卸载libyaml-devel" - dnf remove -y libyaml-devel - CHECK_RESULT $? 0 0 "卸载libyaml-devel失败" - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libyaml/libyaml-devel/test_libyaml-devel_function_header.sh b/testcases/function_test/pkg_test/libyaml/libyaml-devel/test_libyaml-devel_function_header.sh deleted file mode 100644 index d7c626a104d..00000000000 --- a/testcases/function_test/pkg_test/libyaml/libyaml-devel/test_libyaml-devel_function_header.sh +++ /dev/null @@ -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-01-28 -# @License : Mulan PSL v2 -# @Desc : Test the availability of yaml.h header file -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试yaml.h头文件的可用性" - LOG_INFO "步骤1: 检查yaml源中是否存在libyaml-devel软件包" - dnf list available libyaml-devel > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yaml源中未找到libyaml-devel软件包" - exit 255 - fi - - LOG_INFO "步骤2: 检查系统是否已安装libyaml-devel" - rpm -q libyaml-devel > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "检测到libyaml-devel已安装,测试后保持安装状态" - INSTALLED=1 - else - LOG_INFO "未检测到libyaml-devel安装,将执行安装步骤" - INSTALLED=0 - fi - - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "步骤3: 安装libyaml-devel软件包" - dnf install -y libyaml-devel - CHECK_RESULT $? 0 0 "安装libyaml-devel失败" - fi - - LOG_INFO "步骤4: 验证yaml.h头文件是否存在" - ls /usr/include/yaml.h > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "未找到yaml.h头文件" - - LOG_INFO "步骤5: 编译测试程序验证头文件可用性" - cat > test_yaml.c << "EOF" - #include - #include - int main() { - printf("yaml.h version: %d.%d.%d\n", YAML_VERSION_MAJOR, YAML_VERSION_MINOR, YAML_VERSION_PATCH); - return 0; - } - EOF - - gcc -o test_yaml test_yaml.c -lyaml - CHECK_RESULT $? 0 0 "编译测试程序失败" - - LOG_INFO "步骤6: 运行测试程序验证功能" - ./test_yaml - CHECK_RESULT $? 0 0 "运行测试程序失败" - - LOG_INFO "步骤7: 清理测试文件" - rm -f test_yaml test_yaml.c - - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "步骤8: 卸载libyaml-devel软件包恢复环境" - dnf remove -y libyaml-devel - CHECK_RESULT $? 0 0 "卸载libyaml-devel失败" - else - LOG_INFO "步骤8: 保持libyaml-devel安装状态" - fi - - LOG_INFO "测试完成: yaml.h头文件可用性验证成功" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libyaml/libyaml-devel/test_libyaml-devel_function_link.sh b/testcases/function_test/pkg_test/libyaml/libyaml-devel/test_libyaml-devel_function_link.sh deleted file mode 100644 index 3103e6708a4..00000000000 --- a/testcases/function_test/pkg_test/libyaml/libyaml-devel/test_libyaml-devel_function_link.sh +++ /dev/null @@ -1,87 +0,0 @@ -#!/usr/bin/bash - -# Copyright (c) 2024 ISCAS .ALL rights reserved. -# This program is licensed under Mulan PSL v2. -# You can use it according to the terms and conditions of the Mulan PSL v2. -# http://license.coscl.org.cn/MulanPSL2 -# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, -# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, -# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. -# See the Mulan PSL v2 for more details. - -# ############################################# -# @Author : honghua -# @Contact : honghua@iscas.ac.cn -# @Date : 2026-01-28 -# @License : Mulan PSL v2 -# @Desc : Test linking a simple program with libyaml library -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "检查yum源中是否存在libyaml-devel软件包" - dnf list available libyaml-devel > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "yum源中未找到libyaml-devel软件包" - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到libyaml-devel软件包" - exit 255 - fi - - LOG_INFO "检查当前环境中是否已安装libyaml-devel" - rpm -q libyaml-devel > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "当前环境已安装libyaml-devel,测试结束后将保持安装状态" - already_installed=1 - else - LOG_INFO "当前环境未安装libyaml-devel,将进行安装作为测试步骤" - already_installed=0 - fi - - if [ $already_installed -eq 0 ]; then - LOG_INFO "安装libyaml-devel软件包" - dnf install -y libyaml-devel - CHECK_RESULT $? 0 0 "安装libyaml-devel软件包失败" - fi - - LOG_INFO "创建测试C程序源代码文件test_libyaml.c" - cat > test_libyaml.c << "EOF" - #include - #include - #include - - int main() { - yaml_parser_t parser; - if (!yaml_parser_initialize(&parser)) { - printf("Failed to initialize YAML parser\n"); - return EXIT_FAILURE; - } - yaml_parser_delete(&parser); - printf("Successfully linked with libyaml\n"); - return EXIT_SUCCESS; - } - EOF - CHECK_RESULT $? 0 0 "创建测试C程序源代码文件失败" - - LOG_INFO "编译测试程序,链接libyaml库" - gcc -o test_libyaml_program test_libyaml.c -lyaml - CHECK_RESULT $? 0 0 "编译链接libyaml库失败" - - LOG_INFO "运行测试程序" - ./test_libyaml_program - CHECK_RESULT $? 0 0 "运行链接了libyaml库的程序失败" - - LOG_INFO "清理测试程序文件" - rm -f test_libyaml.c test_libyaml_program - CHECK_RESULT $? 0 0 "清理测试程序文件失败" - - if [ $already_installed -eq 0 ]; then - LOG_INFO "卸载测试安装的libyaml-devel软件包" - dnf remove -y libyaml-devel - CHECK_RESULT $? 0 0 "卸载libyaml-devel软件包失败" - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libyaml/libyaml-devel/test_libyaml-devel_function_unicode.sh b/testcases/function_test/pkg_test/libyaml/libyaml-devel/test_libyaml-devel_function_unicode.sh deleted file mode 100644 index 98795f86804..00000000000 --- a/testcases/function_test/pkg_test/libyaml/libyaml-devel/test_libyaml-devel_function_unicode.sh +++ /dev/null @@ -1,115 +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-25 -# @License : Mulan PSL v2 -# @Desc : Test YAML Unicode character support -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "测试开始:测试YAML Unicode字符支持" - LOG_INFO "步骤1:检查系统中是否已安装libyaml-devel软件包" - rpm -q libyaml-devel > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "libyaml-devel软件包已安装,脚本结束时将保持安装状态" - already_installed=1 - else - LOG_INFO "libyaml-devel软件包未安装" - already_installed=0 - fi - - LOG_INFO "步骤2:检查yum源中是否有libyaml-devel软件包" - dnf list available libyaml-devel > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "yum源中没有libyaml-devel软件包" - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中没有libyaml-devel软件包,退出测试" - exit 255 - fi - - if [ $already_installed -eq 0 ]; then - LOG_INFO "步骤3:安装libyaml-devel软件包" - dnf install -y libyaml-devel - CHECK_RESULT $? 0 0 "安装libyaml-devel软件包失败" - LOG_INFO "libyaml-devel软件包安装成功" - fi - - LOG_INFO "步骤4:测试YAML Unicode字符支持" - LOG_INFO "步骤4.1:创建包含Unicode字符的YAML测试文件" - cat > test_unicode.yaml << "EOF" - --- - unicode_test: - - "Hello 世界" - - "Привет мир" - - "مرحبا بالعالم" - - "नमस्ते दुनिया" - EOF - - LOG_INFO "步骤4.2:使用python3验证YAML文件解析" - python3 -c " - import yaml - import sys - try: - with open("test_unicode.yaml", "r", encoding="utf-8") as f: - data = yaml.safe_load(f) - if "unicode_test" in data and isinstance(data["unicode_test"], list): - print("YAML Unicode解析成功") - for item in data["unicode_test"]: - print(f" - {item}") - else: - print("YAML文件结构不符合预期") - sys.exit(1) - except Exception as e: - print(f"YAML解析失败: {e}") - sys.exit(1) - " - CHECK_RESULT $? 0 0 "YAML Unicode字符解析测试失败" - - LOG_INFO "步骤4.3:使用ruby验证YAML文件解析" - ruby -e " - require "yaml" - begin - data = YAML.load_file("test_unicode.yaml") - if data.key?("unicode_test") && data["unicode_test"].is_a?(Array) - puts "YAML Unicode解析成功" - data["unicode_test"].each { |item| puts \" - #{item}\" } - else - puts "YAML文件结构不符合预期" - exit 1 - end - rescue => e - puts \"YAML解析失败: #{e}\" - exit 1 - end - " - CHECK_RESULT $? 0 0 "Ruby YAML Unicode字符解析测试失败" - - LOG_INFO "步骤5:清理测试文件" - rm -f test_unicode.yaml - CHECK_RESULT $? 0 0 "删除测试文件失败" - - if [ $already_installed -eq 0 ]; then - LOG_INFO "步骤6:卸载libyaml-devel软件包" - dnf remove -y libyaml-devel - CHECK_RESULT $? 0 0 "卸载libyaml-devel软件包失败" - LOG_INFO "libyaml-devel软件包卸载成功" - else - LOG_INFO "步骤6:保持libyaml-devel软件包安装状态" - fi - - LOG_INFO "测试结束:YAML Unicode字符支持测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libyaml/libyaml-devel/test_libyaml-devel_function_verify.sh b/testcases/function_test/pkg_test/libyaml/libyaml-devel/test_libyaml-devel_function_verify.sh deleted file mode 100644 index 7140ae8f845..00000000000 --- a/testcases/function_test/pkg_test/libyaml/libyaml-devel/test_libyaml-devel_function_verify.sh +++ /dev/null @@ -1,122 +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-28 -# @License : Mulan PSL v2 -# @Desc : Test verifying the integrity of libyaml-devel package -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 测试libyaml-devel软件包功能完整性 - LOG_INFO "开始测试:验证libyaml-devel软件包的完整性" - - # 初始化变量 - PACKAGE_NAME="libyaml-devel" - INSTALLED_FLAG=0 - - # 步骤1:检查yum源中是否存在该软件包 - LOG_INFO "步骤1:检查yum源中是否存在$PACKAGE_NAME软件包" - dnf list available $PACKAGE_NAME >/dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到$PACKAGE_NAME软件包" - exit 255 - fi - LOG_INFO "yum源中存在$PACKAGE_NAME软件包" - - # 步骤2:检查系统是否已安装该软件包 - LOG_INFO "步骤2:检查系统是否已安装$PACKAGE_NAME软件包" - rpm -q $PACKAGE_NAME >/dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "$PACKAGE_NAME软件包已安装" - INSTALLED_FLAG=1 - else - LOG_INFO "$PACKAGE_NAME软件包未安装" - fi - - # 步骤3:如果未安装,则安装软件包 - if [ $INSTALLED_FLAG -eq 0 ]; then - LOG_INFO "步骤3:安装$PACKAGE_NAME软件包" - dnf install -y $PACKAGE_NAME - CHECK_RESULT $? 0 0 "安装$PACKAGE_NAME失败" - LOG_INFO "$PACKAGE_NAME软件包安装成功" - fi - - # 步骤4:验证软件包文件完整性 - LOG_INFO "步骤4:验证$PACKAGE_NAME软件包文件完整性" - rpm -V $PACKAGE_NAME - CHECK_RESULT $? 0 0 "$PACKAGE_NAME软件包文件完整性验证失败" - - # 步骤5:检查头文件是否存在 - LOG_INFO "步骤5:检查libyaml头文件是否存在" - if [ -f /usr/include/yaml.h ]; then - LOG_INFO "找到yaml.h头文件" - else - LOG_ERROR "未找到yaml.h头文件" - CHECK_RESULT 1 0 0 "缺少yaml.h头文件" - fi - - # 步骤6:检查库文件是否存在 - LOG_INFO "步骤6:检查libyaml库文件是否存在" - if [ -f /usr/lib64/libyaml.so ] || [ -f /usr/lib/libyaml.so ]; then - LOG_INFO "找到libyaml.so库文件" - else - LOG_ERROR "未找到libyaml.so库文件" - CHECK_RESULT 1 0 0 "缺少libyaml.so库文件" - fi - - # 步骤7:测试编译简单的YAML程序 - LOG_INFO "步骤7:测试使用libyaml-devel编译简单程序" - cat > test_yaml.c << "EOF" - #include - #include - - int main() { - printf("YAML parser version: %d.%d.%d\n", - YAML_VERSION_MAJOR, - YAML_VERSION_MINOR, - YAML_VERSION_PATCH); - return 0; - } - EOF - - gcc -o test_yaml test_yaml.c -lyaml - CHECK_RESULT $? 0 0 "使用libyaml编译测试程序失败" - - # 步骤8:运行编译的程序 - LOG_INFO "步骤8:运行编译的测试程序" - ./test_yaml - CHECK_RESULT $? 0 0 "运行测试程序失败" - - # 步骤9:清理测试文件 - LOG_INFO "步骤9:清理测试文件" - rm -f test_yaml.c test_yaml - LOG_INFO "测试文件清理完成" - - # 步骤10:环境恢复 - LOG_INFO "步骤10:环境恢复" - if [ $INSTALLED_FLAG -eq 0 ]; then - LOG_INFO "卸载$PACKAGE_NAME软件包" - dnf remove -y $PACKAGE_NAME - CHECK_RESULT $? 0 0 "卸载$PACKAGE_NAME失败" - LOG_INFO "$PACKAGE_NAME软件包卸载完成" - else - LOG_INFO "系统原本已安装$PACKAGE_NAME,保持安装状态" - fi - - LOG_INFO "测试完成:libyaml-devel软件包功能完整性验证成功" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libyaml/libyaml-devel/test_libyaml-devel_function_yaml_emit.sh b/testcases/function_test/pkg_test/libyaml/libyaml-devel/test_libyaml-devel_function_yaml_emit.sh deleted file mode 100644 index e477aea99cf..00000000000 --- a/testcases/function_test/pkg_test/libyaml/libyaml-devel/test_libyaml-devel_function_yaml_emit.sh +++ /dev/null @@ -1,99 +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-29 -# @License : Mulan PSL v2 -# @Desc : Test generating a simple YAML document -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 判断是否已安装libyaml-devel软件包 - LOG_INFO "检查libyaml-devel是否已安装" - rpm -q libyaml-devel > /dev/null 2>&1 - is_installed=$? - - # 检查yum源中是否有libyaml-devel软件包 - LOG_INFO "检查yum源中是否有libyaml-devel软件包" - dnf list available libyaml-devel > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到libyaml-devel软件包" - exit 255 - fi - - # 如果未安装,则安装软件包 - if [ $is_installed -ne 0 ]; then - LOG_INFO "安装libyaml-devel软件包" - dnf install -y libyaml-devel - CHECK_RESULT $? 0 0 "安装libyaml-devel失败" - fi - - # 验证yaml_emit命令是否存在 - LOG_INFO "验证yaml_emit命令是否存在" - command -v yaml_emit > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yaml_emit命令不存在" - exit 255 - fi - - # 测试生成简单YAML文档 - LOG_INFO "测试生成简单YAML文档" - yaml_emit --help > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yaml_emit命令参数不支持" - exit 255 - fi - - # 创建测试输入文件 - LOG_INFO "创建测试输入文件" - cat > test_input.yaml << EOF - key1: value1 - key2: - subkey1: subvalue1 - subkey2: subvalue2 - EOF - CHECK_RESULT $? 0 0 "创建测试输入文件失败" - - # 执行yaml_emit命令 - LOG_INFO "执行yaml_emit命令生成YAML文档" - yaml_emit test_input.yaml > test_output.yaml 2>&1 - CHECK_RESULT $? 0 0 "执行yaml_emit命令失败" - - # 验证输出文件是否存在且非空 - LOG_INFO "验证输出文件是否存在且非空" - if [ -s test_output.yaml ]; then - LOG_INFO "YAML文档生成成功" - cat test_output.yaml - else - LOG_ERROR "YAML文档生成失败" - exit 1 - fi - - # 清理测试文件 - LOG_INFO "清理测试文件" - rm -f test_input.yaml test_output.yaml - CHECK_RESULT $? 0 0 "清理测试文件失败" - - # 如果脚本开始时未安装,则卸载软件包 - if [ $is_installed -ne 0 ]; then - LOG_INFO "卸载libyaml-devel软件包" - dnf remove -y libyaml-devel - CHECK_RESULT $? 0 0 "卸载libyaml-devel失败" - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libyaml/libyaml-devel/test_libyaml-devel_function_yaml_parse.sh b/testcases/function_test/pkg_test/libyaml/libyaml-devel/test_libyaml-devel_function_yaml_parse.sh deleted file mode 100644 index 3312b378cf0..00000000000 --- a/testcases/function_test/pkg_test/libyaml/libyaml-devel/test_libyaml-devel_function_yaml_parse.sh +++ /dev/null @@ -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-29 -# @License : Mulan PSL v2 -# @Desc : Test parsing a simple YAML document -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试: Test parsing a simple YAML document" - - LOG_INFO "步骤1: 检查yum源中是否存在libyaml-devel软件包" - if ! dnf list available libyaml-devel &>/dev/null; then - LOG_ERROR "yum源中未找到libyaml-devel软件包" - exit 255 - fi - - LOG_INFO "步骤2: 检查系统是否已经安装libyaml-devel" - if rpm -q libyaml-devel &>/dev/null; then - LOG_INFO "libyaml-devel已经安装,标记为无需卸载" - NEED_UNINSTALL=0 - else - LOG_INFO "libyaml-devel未安装,标记为需要卸载" - NEED_UNINSTALL=1 - fi - - if [ $NEED_UNINSTALL -eq 1 ]; then - LOG_INFO "步骤3: 安装libyaml-devel软件包" - dnf install -y libyaml-devel - CHECK_RESULT $? 0 0 "安装libyaml-devel失败" - fi - - LOG_INFO "步骤4: 检查yaml_parse命令是否存在" - if ! command -v yaml_parse &>/dev/null; then - LOG_ERROR "yaml_parse命令不存在或不支持" - if [ $NEED_UNINSTALL -eq 1 ]; then - dnf remove -y libyaml-devel - fi - exit 255 - fi - - LOG_INFO "步骤5: 创建测试用的简单YAML文档" - cat > test_simple.yaml << "EOF" - --- - name: "Test User" - age: 30 - city: "Beijing" - EOF - CHECK_RESULT $? 0 0 "创建YAML文档失败" - - LOG_INFO "步骤6: 使用yaml_parse解析YAML文档" - yaml_parse test_simple.yaml - CHECK_RESULT $? 0 0 "解析YAML文档失败" - - LOG_INFO "步骤7: 验证解析结果" - if grep -q "name: Test User" test_simple.yaml.parsed 2>/dev/null; then - LOG_INFO "解析结果验证成功" - else - LOG_ERROR "解析结果验证失败" - rm -f test_simple.yaml test_simple.yaml.parsed - if [ $NEED_UNINSTALL -eq 1 ]; then - dnf remove -y libyaml-devel - fi - exit 1 - fi - - LOG_INFO "步骤8: 清理临时文件" - rm -f test_simple.yaml test_simple.yaml.parsed - - if [ $NEED_UNINSTALL -eq 1 ]; then - LOG_INFO "步骤9: 卸载libyaml-devel软件包" - dnf remove -y libyaml-devel - CHECK_RESULT $? 0 0 "卸载libyaml-devel失败" - fi - - LOG_INFO "测试完成: Test parsing a simple YAML document" -} - -main "$@" \ No newline at end of file From 12120847b80b0cb39cf86443901b22698aebe589 Mon Sep 17 00:00:00 2001 From: honghua Date: Wed, 15 Apr 2026 14:53:50 +0800 Subject: [PATCH 06/11] update testcase for testsuite nodejs-lodash-round --- .../pkg_test/lodash/nodejs-lodash-round.json | 16 --- ...test_nodejs-lodash-round_function_basic.sh | 110 --------------- .../test_nodejs-lodash-round_function_edge.sh | 131 ------------------ ..._nodejs-lodash-round_function_precision.sh | 112 --------------- ...st_nodejs-lodash-round_function_require.sh | 96 ------------- 5 files changed, 465 deletions(-) delete mode 100644 testcases/function_test/pkg_test/lodash/nodejs-lodash-round/test_nodejs-lodash-round_function_basic.sh delete mode 100644 testcases/function_test/pkg_test/lodash/nodejs-lodash-round/test_nodejs-lodash-round_function_edge.sh delete mode 100644 testcases/function_test/pkg_test/lodash/nodejs-lodash-round/test_nodejs-lodash-round_function_precision.sh delete mode 100644 testcases/function_test/pkg_test/lodash/nodejs-lodash-round/test_nodejs-lodash-round_function_require.sh diff --git a/suite2cases/function_test/pkg_test/lodash/nodejs-lodash-round.json b/suite2cases/function_test/pkg_test/lodash/nodejs-lodash-round.json index d162492d547..5b4ba0c3a40 100644 --- a/suite2cases/function_test/pkg_test/lodash/nodejs-lodash-round.json +++ b/suite2cases/function_test/pkg_test/lodash/nodejs-lodash-round.json @@ -6,22 +6,6 @@ "name": "test_nodejs-lodash-round_function_install", "desc": "测试nodejs-lodash-round软件包能否通过系统包管理器正常安装。" }, - { - "name": "test_nodejs-lodash-round_function_require", - "desc": "测试在Node.js环境中能否成功引入lodash.round模块。" - }, - { - "name": "test_nodejs-lodash-round_function_basic", - "desc": "测试lodash.round函数对数字进行四舍五入的基本功能。" - }, - { - "name": "test_nodejs-lodash-round_function_precision", - "desc": "测试lodash.round函数按指定精度(小数位)进行四舍五入。" - }, - { - "name": "test_nodejs-lodash-round_function_edge", - "desc": "测试lodash.round函数处理边界值(如0、负数、NaN)的行为。" - }, { "name": "test_nodejs-lodash-round_function_uninstall", "desc": "测试nodejs-lodash-round软件包能否通过系统包管理器正常卸载。" diff --git a/testcases/function_test/pkg_test/lodash/nodejs-lodash-round/test_nodejs-lodash-round_function_basic.sh b/testcases/function_test/pkg_test/lodash/nodejs-lodash-round/test_nodejs-lodash-round_function_basic.sh deleted file mode 100644 index 6b9b17aadbc..00000000000 --- a/testcases/function_test/pkg_test/lodash/nodejs-lodash-round/test_nodejs-lodash-round_function_basic.sh +++ /dev/null @@ -1,110 +0,0 @@ -#!/usr/bin/bash - -# Copyright (c) 2024 ISCAS .ALL rights reserved. -# This program is licensed under Mulan PSL v2. -# You can use it according to the terms and conditions of the Mulan PSL v2. -# http://license.coscl.org.cn/MulanPSL2 -# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, -# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, -# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. -# See the Mulan PSL v2 for more details. - -# ############################################# -# @Author : honghua -# @Contact : honghua@iscas.ac.cn -# @Date : 2026-03-05 -# @License : Mulan PSL v2 -# @Desc : 测试lodash.round函数对数字进行四舍五入的基本功能。 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - PACKAGE_NAME="nodejs-lodash-round" - TEST_SCRIPT="test_lodash_round.js" - - LOG_INFO "步骤1: 检查yum源中是否存在$PACKAGE_NAME软件包" - dnf list available $PACKAGE_NAME > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到$PACKAGE_NAME软件包" - exit 255 - fi - - LOG_INFO "步骤2: 检查当前环境是否已安装$PACKAGE_NAME" - rpm -q $PACKAGE_NAME > /dev/null 2>&1 - INSTALLED=$? - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "$PACKAGE_NAME已安装,测试完成后保持安装状态" - NEED_CLEANUP=0 - else - LOG_INFO "$PACKAGE_NAME未安装,将作为测试步骤安装" - NEED_CLEANUP=1 - fi - - if [ $NEED_CLEANUP -eq 1 ]; then - LOG_INFO "步骤3: 安装$PACKAGE_NAME软件包" - dnf install -y $PACKAGE_NAME - CHECK_RESULT $? 0 0 "安装$PACKAGE_NAME失败" - fi - - LOG_INFO "步骤4: 创建Node.js测试脚本" - cat > $TEST_SCRIPT << "EOF" - const _ = require("lodash.round"); - - console.log("测试lodash.round函数基本功能:"); - console.log("============================="); - - const testCases = [ - { input: 4.006, expected: 4 }, - { input: 4.006, precision: 2, expected: 4.01 }, - { input: 4.016, precision: 2, expected: 4.02 }, - { input: 4.1, expected: 4 }, - { input: 4.9, expected: 5 }, - { input: 4.5, expected: 5 }, - { input: 4.4, expected: 4 }, - { input: -4.006, expected: -4 }, - { input: -4.006, precision: 2, expected: -4.01 }, - { input: -4.5, expected: -4 } - ]; - - let allPassed = true; - - testCases.forEach((testCase, index) => { - const result = _.round(testCase.input, testCase.precision); - const passed = result === testCase.expected; - - if (!passed) { - allPassed = false; - console.log(`测试${index + 1}失败: round(${testCase.input}, ${testCase.precision || 0}) = ${result}, 期望: ${testCase.expected}`); - } - }); - - if (allPassed) { - console.log("所有测试用例通过!"); - process.exit(0); - } else { - console.log("部分测试用例失败!"); - process.exit(1); - } - EOF - - LOG_INFO "步骤5: 执行Node.js测试脚本" - node $TEST_SCRIPT - CHECK_RESULT $? 0 0 "lodash.round函数基本功能测试失败" - - LOG_INFO "步骤6: 清理测试脚本文件" - rm -f $TEST_SCRIPT - - if [ $NEED_CLEANUP -eq 1 ]; then - LOG_INFO "步骤7: 卸载$PACKAGE_NAME软件包" - dnf remove -y $PACKAGE_NAME - CHECK_RESULT $? 0 0 "卸载$PACKAGE_NAME失败" - LOG_INFO "环境已恢复到测试前状态" - else - LOG_INFO "步骤7: 保持$PACKAGE_NAME安装状态" - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/lodash/nodejs-lodash-round/test_nodejs-lodash-round_function_edge.sh b/testcases/function_test/pkg_test/lodash/nodejs-lodash-round/test_nodejs-lodash-round_function_edge.sh deleted file mode 100644 index b6b1621ab0d..00000000000 --- a/testcases/function_test/pkg_test/lodash/nodejs-lodash-round/test_nodejs-lodash-round_function_edge.sh +++ /dev/null @@ -1,131 +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-05 -# @License : Mulan PSL v2 -# @Desc : 测试lodash.round函数处理边界值(如0、负数、NaN)的行为。 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 定义软件包名称 - PACKAGE_NAME="nodejs" - TEST_PACKAGE="nodejs-lodash-round_function_edge" - - # 步骤1:检查yum源中是否存在指定软件包 - LOG_INFO "步骤1:检查yum源中是否存在${PACKAGE_NAME}软件包" - dnf list available ${PACKAGE_NAME} &>/dev/null - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到${PACKAGE_NAME}软件包" - exit 255 - fi - - # 步骤2:检查当前环境是否已安装软件包 - LOG_INFO "步骤2:检查当前环境是否已安装${PACKAGE_NAME}软件包" - rpm -q ${PACKAGE_NAME} &>/dev/null - if [ $? -eq 0 ]; then - LOG_INFO "检测到${PACKAGE_NAME}已安装,标记为保持安装状态" - KEEP_INSTALLED=true - else - LOG_INFO "检测到${PACKAGE_NAME}未安装,标记为需要清理" - KEEP_INSTALLED=false - fi - - # 步骤3:如果未安装,则安装软件包 - if [ "$KEEP_INSTALLED" = "false" ]; then - LOG_INFO "步骤3:安装${PACKAGE_NAME}软件包" - dnf install -y ${PACKAGE_NAME} - CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}失败" - fi - - # 步骤4:验证node命令是否可用 - LOG_INFO "步骤4:验证node命令是否可用" - node --version &>/dev/null - CHECK_RESULT $? 0 0 "node命令不可用" - - # 步骤5:创建测试脚本文件 - LOG_INFO "步骤5:创建测试脚本文件" - cat > /tmp/test_lodash_round.js << "EOF" - const _ = require("lodash"); - - console.log("测试lodash.round函数处理边界值:"); - - // 测试1:处理0 - const result1 = _.round(0, 2); - console.log(`_.round(0, 2) = ${result1}`); - if (result1 !== 0) { - console.error("失败:_.round(0, 2) 应返回 0"); - process.exit(1); - } - - // 测试2:处理负数 - const result2 = _.round(-3.456, 2); - console.log(`_.round(-3.456, 2) = ${result2}`); - if (result2 !== -3.46) { - console.error("失败:_.round(-3.456, 2) 应返回 -3.46"); - process.exit(1); - } - - // 测试3:处理NaN - const result3 = _.round(NaN, 2); - console.log(`_.round(NaN, 2) = ${result3}`); - if (!isNaN(result3)) { - console.error("失败:_.round(NaN, 2) 应返回 NaN"); - process.exit(1); - } - - // 测试4:处理Infinity - const result4 = _.round(Infinity, 2); - console.log(`_.round(Infinity, 2) = ${result4}`); - if (result4 !== Infinity) { - console.error("失败:_.round(Infinity, 2) 应返回 Infinity"); - process.exit(1); - } - - // 测试5:处理-Infinity - const result5 = _.round(-Infinity, 2); - console.log(`_.round(-Infinity, 2) = ${result5}`); - if (result5 !== -Infinity) { - console.error("失败:_.round(-Infinity, 2) 应返回 -Infinity"); - process.exit(1); - } - - console.log("所有边界值测试通过"); - EOF - - # 步骤6:执行测试脚本 - LOG_INFO "步骤6:执行测试脚本" - node /tmp/test_lodash_round.js - CHECK_RESULT $? 0 0 "lodash.round函数边界值测试失败" - - # 步骤7:清理测试文件 - LOG_INFO "步骤7:清理测试文件" - rm -f /tmp/test_lodash_round.js - CHECK_RESULT $? 0 0 "清理测试文件失败" - - # 步骤8:环境恢复 - LOG_INFO "步骤8:环境恢复" - if [ "$KEEP_INSTALLED" = "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 "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/lodash/nodejs-lodash-round/test_nodejs-lodash-round_function_precision.sh b/testcases/function_test/pkg_test/lodash/nodejs-lodash-round/test_nodejs-lodash-round_function_precision.sh deleted file mode 100644 index 96bc9869fe2..00000000000 --- a/testcases/function_test/pkg_test/lodash/nodejs-lodash-round/test_nodejs-lodash-round_function_precision.sh +++ /dev/null @@ -1,112 +0,0 @@ -#!/usr/bin/bash - -# Copyright (c) 2024 ISCAS .ALL rights reserved. -# This program is licensed under Mulan PSL v2. -# You can use it according to the terms and conditions of the Mulan PSL v2. -# http://license.coscl.org.cn/MulanPSL2 -# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, -# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, -# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. -# See the Mulan PSL v2 for more details. - -# ############################################# -# @Author : honghua -# @Contact : honghua@iscas.ac.cn -# @Date : 2026-03-05 -# @License : Mulan PSL v2 -# @Desc : 测试lodash.round函数按指定精度(小数位)进行四舍五入。 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - set -e - - LOG_INFO "1. 检查系统中是否已安装nodejs" - if ! dnf list installed nodejs &>/dev/null; then - LOG_INFO "nodejs未安装,将在测试过程中安装" - INSTALL_NODEJS=1 - else - LOG_INFO "nodejs已安装" - INSTALL_NODEJS=0 - fi - - LOG_INFO "2. 检查yum源中是否有nodejs软件包" - if ! dnf list available nodejs &>/dev/null; then - LOG_ERROR "yum源中没有nodejs软件包" - exit 255 - fi - - LOG_INFO "3. 创建测试脚本test_lodash_round.js" - cat > test_lodash_round.js << "EOF" - const _ = require("lodash"); - - console.log("测试lodash.round函数:"); - - // 测试用例1:正常四舍五入 - const result1 = _.round(4.006, 2); - console.log("_.round(4.006, 2) = " + result1); - if (result1 !== 4.01) { - console.error("测试失败: 预期4.01,实际" + result1); - process.exit(1); - } - - // 测试用例2:负数的四舍五入 - const result2 = _.round(-4.006, 2); - console.log("_.round(-4.006, 2) = " + result2); - if (result2 !== -4.01) { - console.error("测试失败: 预期-4.01,实际" + result2); - process.exit(1); - } - - // 测试用例3:精度为0 - const result3 = _.round(4.5, 0); - console.log("_.round(4.5, 0) = " + result3); - if (result3 !== 5) { - console.error("测试失败: 预期5,实际" + result3); - process.exit(1); - } - - // 测试用例4:精度为负数 - const result4 = _.round(4060, -2); - console.log("_.round(4060, -2) = " + result4); - if (result4 !== 4100) { - console.error("测试失败: 预期4100,实际" + result4); - process.exit(1); - } - - console.log("所有测试用例通过"); - EOF - - LOG_INFO "4. 如果未安装nodejs,则安装nodejs" - if [ $INSTALL_NODEJS -eq 1 ]; then - LOG_INFO "安装nodejs" - dnf install -y nodejs - CHECK_RESULT $? 0 0 "安装nodejs失败" - fi - - LOG_INFO "5. 检查是否安装lodash" - if ! npm list lodash &>/dev/null; then - LOG_INFO "安装lodash" - npm install lodash - CHECK_RESULT $? 0 0 "安装lodash失败" - fi - - LOG_INFO "6. 执行测试脚本" - node test_lodash_round.js - CHECK_RESULT $? 0 0 "lodash.round函数测试失败" - - LOG_INFO "7. 清理测试文件" - rm -f test_lodash_round.js - - LOG_INFO "8. 如果测试前未安装nodejs,则卸载nodejs" - if [ $INSTALL_NODEJS -eq 1 ]; then - LOG_INFO "卸载nodejs" - dnf remove -y nodejs - CHECK_RESULT $? 0 0 "卸载nodejs失败" - fi - - LOG_INFO "9. 测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/lodash/nodejs-lodash-round/test_nodejs-lodash-round_function_require.sh b/testcases/function_test/pkg_test/lodash/nodejs-lodash-round/test_nodejs-lodash-round_function_require.sh deleted file mode 100644 index 0dbde336cf7..00000000000 --- a/testcases/function_test/pkg_test/lodash/nodejs-lodash-round/test_nodejs-lodash-round_function_require.sh +++ /dev/null @@ -1,96 +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-05 -# @License : Mulan PSL v2 -# @Desc : 测试在Node.js环境中能否成功引入lodash.round模块。 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 判断是否已安装nodejs - LOG_INFO "检查是否已安装nodejs" - rpm -q nodejs > /dev/null 2>&1 - nodejs_installed=$? - - # 判断是否已安装lodash.round - LOG_INFO "检查是否已安装lodash.round" - npm list -g lodash.round > /dev/null 2>&1 - lodash_round_installed=$? - - # 检查yum源中是否有nodejs软件包 - LOG_INFO "检查yum源中是否有nodejs软件包" - dnf list available nodejs > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "yum源中没有nodejs软件包" - - # 安装nodejs(如果未安装) - if [ $nodejs_installed -ne 0 ]; then - LOG_INFO "安装nodejs" - dnf install -y nodejs - CHECK_RESULT $? 0 0 "安装nodejs失败" - fi - - # 检查npm命令是否可用 - LOG_INFO "检查npm命令是否可用" - npm --version > /dev/null 2>&1 - CHECK_RESULT $? 0 255 "npm命令不存在或不支持" - - # 安装lodash.round(如果未安装) - if [ $lodash_round_installed -ne 0 ]; then - LOG_INFO "安装lodash.round模块" - npm install -g lodash.round - CHECK_RESULT $? 0 0 "安装lodash.round模块失败" - fi - - # 测试在Node.js环境中能否成功引入lodash.round模块 - LOG_INFO "测试在Node.js环境中能否成功引入lodash.round模块" - cat > /tmp/test_lodash_round.js << "EOF" - try { - const round = require("lodash.round"); - console.log("lodash.round模块引入成功"); - console.log("测试round(4.006, 2) =", round(4.006, 2)); - console.log("测试round(4.006) =", round(4.006)); - process.exit(0); - } catch (error) { - console.error("lodash.round模块引入失败:", error.message); - process.exit(1); - } - EOF - - node /tmp/test_lodash_round.js - CHECK_RESULT $? 0 0 "Node.js环境中引入lodash.round模块失败" - - # 清理临时文件 - LOG_INFO "清理临时文件" - rm -f /tmp/test_lodash_round.js - - # 环境恢复:如果之前未安装lodash.round,则卸载 - if [ $lodash_round_installed -ne 0 ]; then - LOG_INFO "卸载lodash.round模块" - npm uninstall -g lodash.round - CHECK_RESULT $? 0 0 "卸载lodash.round模块失败" - fi - - # 环境恢复:如果之前未安装nodejs,则卸载 - if [ $nodejs_installed -ne 0 ]; then - LOG_INFO "卸载nodejs" - dnf remove -y nodejs - CHECK_RESULT $? 0 0 "卸载nodejs失败" - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file From 3d51eda8e97980763e85e8be0eda9d02ed965150 Mon Sep 17 00:00:00 2001 From: honghua Date: Wed, 15 Apr 2026 14:55:51 +0800 Subject: [PATCH 07/11] update testcase for testsuite texlive-cmdtrack-doc --- .../texlive-split-e/texlive-cmdtrack-doc.json | 10 --- ...t_texlive-cmdtrack-doc_function_install.sh | 69 ------------------- 2 files changed, 79 deletions(-) delete mode 100644 suite2cases/function_test/pkg_test/texlive-split-e/texlive-cmdtrack-doc.json delete mode 100644 testcases/function_test/pkg_test/texlive-split-e/texlive-cmdtrack-doc/test_texlive-cmdtrack-doc_function_install.sh diff --git a/suite2cases/function_test/pkg_test/texlive-split-e/texlive-cmdtrack-doc.json b/suite2cases/function_test/pkg_test/texlive-split-e/texlive-cmdtrack-doc.json deleted file mode 100644 index 598ee47c362..00000000000 --- a/suite2cases/function_test/pkg_test/texlive-split-e/texlive-cmdtrack-doc.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-e/texlive-cmdtrack-doc", - "machine num": 1, - "cases": [ - { - "name": "test_texlive-cmdtrack-doc_function_install", - "desc": "Verify installation of texlive-cmdtrack-doc" - } - ] -} \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-e/texlive-cmdtrack-doc/test_texlive-cmdtrack-doc_function_install.sh b/testcases/function_test/pkg_test/texlive-split-e/texlive-cmdtrack-doc/test_texlive-cmdtrack-doc_function_install.sh deleted file mode 100644 index 8d5c2e0e830..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-e/texlive-cmdtrack-doc/test_texlive-cmdtrack-doc_function_install.sh +++ /dev/null @@ -1,69 +0,0 @@ -#!/usr/bin/bash - -# Copyright (c) 2024 ISCAS .ALL rights reserved. -# This program is licensed under Mulan PSL v2. -# You can use it according to the terms and conditions of the Mulan PSL v2. -# http://license.coscl.org.cn/MulanPSL2 -# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, -# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, -# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. -# See the Mulan PSL v2 for more details. - -# ############################################# -# @Author : honghua -# @Contact : honghua@iscas.ac.cn -# @Date : 2025-11-27 -# @License : Mulan PSL v2 -# @Desc : Verify installation of texlive-cmdtrack-doc -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - - LOG_INFO "开始测试:Verify installation of texlive-cmdtrack-doc" - - # 检查是否已安装texlive-cmdtrack-doc - LOG_INFO "检查是否已安装texlive-cmdtrack-doc" - rpm -q texlive-cmdtrack-doc - if [ $? -eq 0 ]; then - LOG_INFO "texlive-cmdtrack-doc已安装,测试环境准备就绪" - INSTALLED=true - else - LOG_INFO "texlive-cmdtrack-doc未安装,将在测试结束后卸载" - INSTALLED=false - fi - - # 检查yum源中是否存在texlive-cmdtrack-doc - LOG_INFO "检查yum源中是否存在texlive-cmdtrack-doc" - dnf list available texlive-cmdtrack-doc > /dev/null 2>&1 - CHECK_RESULT $? 0 255 "yum源中不存在texlive-cmdtrack-doc" - - # 安装texlive-cmdtrack-doc - if [ "$INSTALLED" = false ]; then - LOG_INFO "开始安装texlive-cmdtrack-doc" - dnf install -y texlive-cmdtrack-doc > /dev/null 2>&1 - CHECK_RESULT $? 0 1 "安装texlive-cmdtrack-doc失败" - fi - - # 验证安装是否成功 - LOG_INFO "验证texlive-cmdtrack-doc是否安装成功" - rpm -q texlive-cmdtrack-doc - CHECK_RESULT $? 0 1 "验证texlive-cmdtrack-doc安装失败" - - # 执行命令测试功能(假设命令为texdoc cmdtrack) - LOG_INFO "执行命令测试功能:texdoc cmdtrack" - texdoc cmdtrack > /dev/null 2>&1 - CHECK_RESULT $? 0 255 "texdoc cmdtrack命令执行失败或参数不支持" - - # 清理环境 - if [ "$INSTALLED" = false ]; then - LOG_INFO "卸载texlive-cmdtrack-doc以恢复环境" - dnf remove -y texlive-cmdtrack-doc > /dev/null 2>&1 - CHECK_RESULT $? 0 1 "卸载texlive-cmdtrack-doc失败" - fi - - LOG_INFO "测试完成:Verify installation of texlive-cmdtrack-doc" -} - -main "$@" \ No newline at end of file From ad70d49c956b9830b2d350b9f0c6938ea7b064cb Mon Sep 17 00:00:00 2001 From: honghua Date: Wed, 15 Apr 2026 14:56:52 +0800 Subject: [PATCH 08/11] update testcase for testsuite cereal-devel --- .../pkg_test/cereal/cereal-devel.json | 4 - .../test_cereal-devel_function_serialize.sh | 106 ------------------ 2 files changed, 110 deletions(-) delete mode 100644 testcases/function_test/pkg_test/cereal/cereal-devel/test_cereal-devel_function_serialize.sh diff --git a/suite2cases/function_test/pkg_test/cereal/cereal-devel.json b/suite2cases/function_test/pkg_test/cereal/cereal-devel.json index e6a052d7aa9..5e84809f9ed 100644 --- a/suite2cases/function_test/pkg_test/cereal/cereal-devel.json +++ b/suite2cases/function_test/pkg_test/cereal/cereal-devel.json @@ -11,10 +11,6 @@ "name": "test_cereal-devel_uninstall", "desc": "测试软件包cereal-devel的卸载功能,验证卸载过程是否成功。", "machine num": 1 - }, - { - "name": "test_cereal-devel_function_serialize", - "desc": "测试软件包cereal-devel的序列化功能,验证数据序列化是否成功。" } ] } \ No newline at end of file diff --git a/testcases/function_test/pkg_test/cereal/cereal-devel/test_cereal-devel_function_serialize.sh b/testcases/function_test/pkg_test/cereal/cereal-devel/test_cereal-devel_function_serialize.sh deleted file mode 100644 index a28ebd63b58..00000000000 --- a/testcases/function_test/pkg_test/cereal/cereal-devel/test_cereal-devel_function_serialize.sh +++ /dev/null @@ -1,106 +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-04 -# @License : Mulan PSL v2 -# @Desc : 测试软件包cereal-devel的序列化功能,验证数据序列化是否成功。 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - - # 检查yum源中是否存在cereal-devel软件包 - LOG_INFO "检查yum源中是否存在cereal-devel软件包" - dnf list available cereal-devel > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到cereal-devel软件包" - exit 255 - fi - - # 检查是否已安装cereal-devel软件包 - LOG_INFO "检查是否已安装cereal-devel软件包" - rpm -q cereal-devel > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "cereal-devel软件包已安装,脚本结束后将保持安装状态" - INSTALLED=true - else - LOG_INFO "cereal-devel软件包未安装,将在测试结束后卸载" - INSTALLED=false - fi - - # 安装cereal-devel软件包 - if [ "$INSTALLED" = false ]; then - LOG_INFO "安装cereal-devel软件包" - dnf install -y cereal-devel - CHECK_RESULT $? 0 0 "安装cereal-devel软件包失败" - fi - - # 测试序列化功能 - LOG_INFO "测试cereal-devel的序列化功能" - cat < test_serialize.cpp - #include - #include - #include - #include - - int main() { - std::vector data = {1, 2, 3, 4, 5}; - { - std::ofstream ofs("test_serialize.bin", std::ios::binary); - cereal::BinaryOutputArchive archive(ofs); - archive(data); - } - - std::vector loaded_data; - { - std::ifstream ifs("test_serialize.bin", std::ios::binary); - cereal::BinaryInputArchive archive(ifs); - archive(loaded_data); - } - - if (data == loaded_data) { - return 0; - } else { - return -1; - } - } - EOF - - # 编译测试程序 - LOG_INFO "编译测试程序" - g++ test_serialize.cpp -o test_serialize -lcereal - CHECK_RESULT $? 0 0 "编译测试程序失败" - - # 执行测试程序 - LOG_INFO "执行测试程序" - ./test_serialize - CHECK_RESULT $? 0 0 "序列化功能测试失败" - - # 清理测试文件 - LOG_INFO "清理测试文件" - rm -f test_serialize.cpp test_serialize test_serialize.bin - - # 卸载cereal-devel软件包(如果脚本开始时未安装) - if [ "$INSTALLED" = false ]; then - LOG_INFO "卸载cereal-devel软件包" - dnf remove -y cereal-devel - CHECK_RESULT $? 0 0 "卸载cereal-devel软件包失败" - fi - - LOG_INFO "测试脚本执行完毕" - -} - -main "$@" \ No newline at end of file From 013181a4a35e2dea92cb0729e4db1bb04567957e Mon Sep 17 00:00:00 2001 From: honghua Date: Wed, 15 Apr 2026 14:57:42 +0800 Subject: [PATCH 09/11] update testcase for testsuite texlive-tikz-opm-doc --- .../texlive-split-x/texlive-tikz-opm-doc.json | 8 --- ...ive-tikz-opm-doc_function_check_content.sh | 71 ------------------- ...exlive-tikz-opm-doc_function_info_query.sh | 68 ------------------ 3 files changed, 147 deletions(-) delete mode 100644 testcases/function_test/pkg_test/texlive-split-x/texlive-tikz-opm-doc/test_texlive-tikz-opm-doc_function_check_content.sh delete mode 100644 testcases/function_test/pkg_test/texlive-split-x/texlive-tikz-opm-doc/test_texlive-tikz-opm-doc_function_info_query.sh diff --git a/suite2cases/function_test/pkg_test/texlive-split-x/texlive-tikz-opm-doc.json b/suite2cases/function_test/pkg_test/texlive-split-x/texlive-tikz-opm-doc.json index 5a36bf0c64c..e8bd4afcdc0 100644 --- a/suite2cases/function_test/pkg_test/texlive-split-x/texlive-tikz-opm-doc.json +++ b/suite2cases/function_test/pkg_test/texlive-split-x/texlive-tikz-opm-doc.json @@ -10,17 +10,9 @@ "name": "test_texlive-tikz-opm-doc_function_doc_exists", "desc": "Verify documentation files exist" }, - { - "name": "test_texlive-tikz-opm-doc_function_info_query", - "desc": "Query package info via tlmgr" - }, { "name": "test_texlive-tikz-opm-doc_function_list_files", "desc": "List package documentation files" - }, - { - "name": "test_texlive-tikz-opm-doc_function_check_content", - "desc": "Check doc for key content" } ] } \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-x/texlive-tikz-opm-doc/test_texlive-tikz-opm-doc_function_check_content.sh b/testcases/function_test/pkg_test/texlive-split-x/texlive-tikz-opm-doc/test_texlive-tikz-opm-doc_function_check_content.sh deleted file mode 100644 index 276e39f05fa..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-x/texlive-tikz-opm-doc/test_texlive-tikz-opm-doc_function_check_content.sh +++ /dev/null @@ -1,71 +0,0 @@ -#!/usr/bin/bash - -# Copyright (c) 2024 ISCAS .ALL rights reserved. -# This program is licensed under Mulan PSL v2. -# You can use it according to the terms and conditions of the Mulan PSL v2. -# http://license.coscl.org.cn/MulanPSL2 -# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, -# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, -# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. -# See the Mulan PSL v2 for more details. - -# ############################################# -# @Author : honghua -# @Contact : honghua@iscas.ac.cn -# @Date : 2026-03-28 -# @License : Mulan PSL v2 -# @Desc : Check doc for key content -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始执行测试:Check doc for key content" - - LOG_INFO "步骤1:检查texlive-tikz-opm-doc软件包是否在yum源中" - dnf list available texlive-tikz-opm-doc > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "软件包texlive-tikz-opm-doc不在yum源中" - exit 255 - fi - - LOG_INFO "步骤2:检查环境是否已安装texlive-tikz-opm-doc" - rpm -q texlive-tikz-opm-doc > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "软件包已安装,测试结束后将保持安装状态" - INSTALLED=1 - else - LOG_INFO "软件包未安装,将作为测试步骤安装" - INSTALLED=0 - fi - - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "步骤3:安装texlive-tikz-opm-doc软件包" - dnf install -y texlive-tikz-opm-doc - CHECK_RESULT $? 0 0 "安装texlive-tikz-opm-doc失败" - fi - - LOG_INFO "步骤4:检查文档目录是否存在" - DOC_PATH=$(rpm -ql texlive-tikz-opm-doc | head -1) - if [ -z "$DOC_PATH" ]; then - LOG_ERROR "无法找到texlive-tikz-opm-doc的文档路径" - exit 1 - fi - - LOG_INFO "步骤5:检查文档中是否包含关键内容" - grep -r "tikz" "$DOC_PATH" > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "文档中未找到关键内容"tikz"" - - LOG_INFO "步骤6:清理环境" - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "卸载texlive-tikz-opm-doc软件包" - dnf remove -y texlive-tikz-opm-doc - CHECK_RESULT $? 0 0 "卸载texlive-tikz-opm-doc失败" - else - LOG_INFO "环境已安装,保持安装状态" - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/texlive-split-x/texlive-tikz-opm-doc/test_texlive-tikz-opm-doc_function_info_query.sh b/testcases/function_test/pkg_test/texlive-split-x/texlive-tikz-opm-doc/test_texlive-tikz-opm-doc_function_info_query.sh deleted file mode 100644 index 97b29f50279..00000000000 --- a/testcases/function_test/pkg_test/texlive-split-x/texlive-tikz-opm-doc/test_texlive-tikz-opm-doc_function_info_query.sh +++ /dev/null @@ -1,68 +0,0 @@ -#!/usr/bin/bash - -# Copyright (c) 2024 ISCAS .ALL rights reserved. -# This program is licensed under Mulan PSL v2. -# You can use it according to the terms and conditions of the Mulan PSL v2. -# http://license.coscl.org.cn/MulanPSL2 -# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, -# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, -# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. -# See the Mulan PSL v2 for more details. - -# ############################################# -# @Author : honghua -# @Contact : honghua@iscas.ac.cn -# @Date : 2026-03-28 -# @License : Mulan PSL v2 -# @Desc : Query package info via tlmgr -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 检查tlmgr命令是否存在 - LOG_INFO "检查tlmgr命令是否已安装" - if command -v tlmgr > /dev/null 2>&1; then - LOG_INFO "tlmgr命令已存在,无需安装" - INSTALLED=true - else - LOG_INFO "tlmgr命令未安装,将进行安装" - INSTALLED=false - fi - - # 如果未安装,则检查软件包是否存在并安装 - if [ "$INSTALLED" = false ]; then - LOG_INFO "检查yum源中是否存在texlive-tikz-opm-doc软件包" - dnf list available texlive-tikz-opm-doc > /dev/null 2>&1 - CHECK_RESULT $? 0 255 "yum源中不存在texlive-tikz-opm-doc软件包" - - LOG_INFO "安装texlive-tikz-opm-doc软件包" - dnf install -y texlive-tikz-opm-doc - CHECK_RESULT $? 0 0 "安装texlive-tikz-opm-doc失败" - fi - - # 测试tlmgr info功能 - LOG_INFO "测试tlmgr info命令查询包信息" - tlmgr info texlive-tikz-opm-doc - CHECK_RESULT $? 0 0 "tlmgr info命令执行失败" - - # 测试tlmgr info命令的特定参数 - LOG_INFO "测试tlmgr info --list命令" - tlmgr info --list texlive-tikz-opm-doc - CHECK_RESULT $? 0 255 "tlmgr info --list参数不支持" - - LOG_INFO "测试tlmgr info --json命令" - tlmgr info --json texlive-tikz-opm-doc - CHECK_RESULT $? 0 255 "tlmgr info --json参数不支持" - - # 清理环境:如果脚本开始时未安装,则卸载软件包 - if [ "$INSTALLED" = false ]; then - LOG_INFO "卸载texlive-tikz-opm-doc软件包" - dnf remove -y texlive-tikz-opm-doc - CHECK_RESULT $? 0 0 "卸载texlive-tikz-opm-doc失败" - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file From fee6111dcae8857a0d0ee3dbda9e6014589a6942 Mon Sep 17 00:00:00 2001 From: honghua Date: Wed, 15 Apr 2026 14:58:18 +0800 Subject: [PATCH 10/11] update testcase for testsuite libvirt-client --- .../pkg_test/libvirt/libvirt-client.json | 92 ------------- ...t_libvirt-client_function_virsh_connect.sh | 73 ---------- ...t_libvirt-client_function_virsh_dominfo.sh | 89 ------------ ...test_libvirt-client_function_virsh_list.sh | 78 ----------- ..._libvirt-client_function_virsh_list_all.sh | 87 ------------ ...bvirt-client_function_virt-xml-validate.sh | 106 -------------- .../test_libvirt-client_virsh__c.sh | 81 ----------- .../test_libvirt-client_virsh__d_num_0.sh | 82 ----------- .../test_libvirt-client_virsh__d_num_4.sh | 66 --------- .../test_libvirt-client_virsh__h.sh | 69 ---------- .../test_libvirt-client_virsh__k_num_0.sh | 101 -------------- .../test_libvirt-client_virsh__k_num_5.sh | 81 ----------- .../test_libvirt-client_virsh__l.sh | 78 ----------- .../test_libvirt-client_virsh__q.sh | 73 ---------- .../test_libvirt-client_virsh__t.sh | 75 ---------- ...est_libvirt-client_virsh__upper_k_num_3.sh | 78 ----------- .../test_libvirt-client_virsh_version_long.sh | 107 --------------- ...t_libvirt-client_virt-pki-query-dn_FILE.sh | 116 ---------------- ...libvirt-client_virt-pki-query-dn_h_FILE.sh | 98 ------------- ...test_libvirt-client_virt-pki-query-dn_v.sh | 108 --------------- ...libvirt-client_virt-pki-query-dn_v_FILE.sh | 129 ------------------ ...test_libvirt-client_virt-xml-validate_h.sh | 112 --------------- ...bvirt-client_virt-xml-validate_xml_file.sh | 118 ---------------- 23 files changed, 2097 deletions(-) delete mode 100644 testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_function_virsh_connect.sh delete mode 100644 testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_function_virsh_dominfo.sh delete mode 100644 testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_function_virsh_list.sh delete mode 100644 testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_function_virsh_list_all.sh delete mode 100644 testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_function_virt-xml-validate.sh delete mode 100644 testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh__c.sh delete mode 100644 testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh__d_num_0.sh delete mode 100644 testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh__d_num_4.sh delete mode 100644 testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh__h.sh delete mode 100644 testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh__k_num_0.sh delete mode 100644 testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh__k_num_5.sh delete mode 100644 testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh__l.sh delete mode 100644 testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh__q.sh delete mode 100644 testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh__t.sh delete mode 100644 testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh__upper_k_num_3.sh delete mode 100644 testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh_version_long.sh delete mode 100644 testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virt-pki-query-dn_FILE.sh delete mode 100644 testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virt-pki-query-dn_h_FILE.sh delete mode 100644 testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virt-pki-query-dn_v.sh delete mode 100644 testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virt-pki-query-dn_v_FILE.sh delete mode 100644 testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virt-xml-validate_h.sh delete mode 100644 testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virt-xml-validate_xml_file.sh diff --git a/suite2cases/function_test/pkg_test/libvirt/libvirt-client.json b/suite2cases/function_test/pkg_test/libvirt/libvirt-client.json index 718607fae3c..9c33d777290 100644 --- a/suite2cases/function_test/pkg_test/libvirt/libvirt-client.json +++ b/suite2cases/function_test/pkg_test/libvirt/libvirt-client.json @@ -114,101 +114,9 @@ "name": "test_libvirt-client_virt-xml-validate_upper_h", "desc": "测试使用--help参数显示virt-xml-validate命令的帮助信息" }, - { - "name": "test_libvirt-client_virsh__c", - "desc": "测试virsh命令的-c选项,指定hypervisor连接URI" - }, - { - "name": "test_libvirt-client_virsh__d_num_0", - "desc": "测试virsh命令的-d选项,设置调试级别为0" - }, - { - "name": "test_libvirt-client_virsh__d_num_4", - "desc": "测试virsh命令的-d选项,设置调试级别为4" - }, - { - "name": "test_libvirt-client_virsh__h", - "desc": "测试virsh命令的-h选项,显示帮助信息" - }, - { - "name": "test_libvirt-client_virsh__k_num_5", - "desc": "测试virsh命令的-k选项,设置保活间隔为5秒" - }, - { - "name": "test_libvirt-client_virsh__k_num_0", - "desc": "测试virsh命令的-k选项,禁用保活机制" - }, - { - "name": "test_libvirt-client_virsh__upper_k_num_3", - "desc": "测试virsh命令的-K选项,设置允许丢失的保活消息数量为3" - }, - { - "name": "test_libvirt-client_virsh__l", - "desc": "测试virsh命令的-l选项,将日志输出到指定文件" - }, - { - "name": "test_libvirt-client_virsh__q", - "desc": "测试virsh命令的-q选项,启用安静模式" - }, - { - "name": "test_libvirt-client_virsh__t", - "desc": "测试virsh命令的-t选项,打印计时信息" - }, { "name": "test_libvirt-client_virsh_version_short", "desc": "测试virsh命令的--version选项,显示短版本信息" - }, - { - "name": "test_libvirt-client_virsh_version_long", - "desc": "测试virsh命令的--version选项,显示长版本信息" - }, - { - "name": "test_libvirt-client_virt-pki-query-dn_FILE", - "desc": "测试从指定的PEM证书文件中提取可分辨名称" - }, - { - "name": "test_libvirt-client_virt-pki-query-dn_v", - "desc": "测试显示virt-pki-query-dn命令的版本信息" - }, - { - "name": "test_libvirt-client_virt-pki-query-dn_h_FILE", - "desc": "测试在提供证书文件参数的同时使用-h参数,预期应显示帮助信息" - }, - { - "name": "test_libvirt-client_virt-pki-query-dn_v_FILE", - "desc": "测试在提供证书文件参数的同时使用-v参数,预期应显示版本信息" - }, - { - "name": "test_libvirt-client_virt-xml-validate_h", - "desc": "测试使用-h参数显示帮助信息" - }, - { - "name": "test_libvirt-client_virt-xml-validate_xml_file", - "desc": "测试使用XML-FILE参数验证XML文件的语法" - }, - { - "name": "test_libvirt-client_virt-xml-validate_xml_file_schema_name", - "desc": "测试使用XML-FILE和SCHEMA-NAME参数验证XML文件符合指定模式" - }, - { - "name": "test_libvirt-client_function_virsh_connect", - "desc": "测试使用virsh连接到本地libvirt守护进程" - }, - { - "name": "test_libvirt-client_function_virsh_list", - "desc": "测试使用virsh list命令列出活跃的虚拟机" - }, - { - "name": "test_libvirt-client_function_virsh_list_all", - "desc": "测试使用virsh list --all命令列出所有虚拟机" - }, - { - "name": "test_libvirt-client_function_virsh_dominfo", - "desc": "测试使用virsh dominfo命令获取指定虚拟机信息" - }, - { - "name": "test_libvirt-client_function_virt-xml-validate", - "desc": "测试使用virt-xml-validate验证基本域XML文件" } ] } \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_function_virsh_connect.sh b/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_function_virsh_connect.sh deleted file mode 100644 index a5ec1c9f535..00000000000 --- a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_function_virsh_connect.sh +++ /dev/null @@ -1,73 +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-04 -# @License : Mulan PSL v2 -# @Desc : 测试使用virsh连接到本地libvirt守护进程 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试:使用virsh连接到本地libvirt守护进程" - - # 检查环境是否已安装libvirt-client - LOG_INFO "检查libvirt-client是否已安装" - if dnf list installed libvirt-client &>/dev/null; then - LOG_INFO "libvirt-client已安装,测试结束后将保持安装状态" - INSTALLED_BEFORE=1 - else - LOG_INFO "libvirt-client未安装,将在测试前安装" - INSTALLED_BEFORE=0 - fi - - # 检查yum源中是否有libvirt-client软件包 - LOG_INFO "检查yum源中是否存在libvirt-client软件包" - if ! dnf list available libvirt-client &>/dev/null; then - LOG_ERROR "yum源中未找到libvirt-client软件包" - exit 255 - fi - - # 如果未安装,则安装libvirt-client - if [ $INSTALLED_BEFORE -eq 0 ]; then - LOG_INFO "安装libvirt-client软件包" - dnf install -y libvirt-client - CHECK_RESULT $? 0 0 "安装libvirt-client失败" - fi - - # 检查virsh命令是否支持connect参数 - LOG_INFO "检查virsh命令是否支持connect参数" - if ! virsh help connect &>/dev/null; then - LOG_ERROR "virsh命令不支持connect参数" - exit 255 - fi - - # 测试使用virsh连接到本地libvirt守护进程 - LOG_INFO "执行virsh connect命令连接到本地libvirt守护进程" - virsh connect qemu:///system - CHECK_RESULT $? 0 0 "virsh连接到本地libvirt守护进程失败" - - # 环境恢复:如果测试前未安装,则卸载libvirt-client - if [ $INSTALLED_BEFORE -eq 0 ]; then - LOG_INFO "卸载libvirt-client软件包" - dnf remove -y libvirt-client - CHECK_RESULT $? 0 0 "卸载libvirt-client失败" - else - LOG_INFO "测试前已安装libvirt-client,保持安装状态" - fi - - LOG_INFO "测试完成:使用virsh连接到本地libvirt守护进程" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_function_virsh_dominfo.sh b/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_function_virsh_dominfo.sh deleted file mode 100644 index f9a51fb6cf0..00000000000 --- a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_function_virsh_dominfo.sh +++ /dev/null @@ -1,89 +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-04 -# @License : Mulan PSL v2 -# @Desc : 测试使用virsh dominfo命令获取指定虚拟机信息 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 检查是否已安装libvirt-client - LOG_INFO "检查libvirt-client是否已安装" - rpm -q libvirt-client > /dev/null 2>&1 - installed=$? - - # 如果未安装,则检查yum源中是否有该软件包 - if [ $installed -ne 0 ]; then - LOG_INFO "libvirt-client未安装,检查yum源中是否有该软件包" - dnf list available libvirt-client > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到libvirt-client软件包" - exit 255 - fi - # 安装libvirt-client - LOG_INFO "安装libvirt-client" - dnf install -y libvirt-client - CHECK_RESULT $? 0 0 "安装libvirt-client失败" - fi - - # 检查virsh命令是否存在 - LOG_INFO "检查virsh命令是否存在" - which virsh > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "virsh命令不存在" - exit 255 - fi - - # 检查virsh dominfo参数是否存在 - LOG_INFO "检查virsh dominfo参数是否存在" - virsh help dominfo > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "virsh dominfo参数不存在或不支持" - exit 255 - fi - - # 获取虚拟机列表 - LOG_INFO "获取虚拟机列表" - vm_list=$(virsh list --all --name) - if [ $? -ne 0 ]; then - LOG_ERROR "获取虚拟机列表失败" - exit 1 - fi - - # 检查是否有虚拟机存在 - if [ -z "$vm_list" ]; then - LOG_INFO "当前没有虚拟机,测试结束" - else - # 获取第一个虚拟机的名称 - first_vm=$(echo "$vm_list" | head -n 1) - LOG_INFO "测试获取虚拟机信息:$first_vm" - - # 使用virsh dominfo获取虚拟机信息 - virsh dominfo "$first_vm" - CHECK_RESULT $? 0 0 "获取虚拟机信息失败" - fi - - # 环境清理:如果脚本开始时未安装libvirt-client,则卸载 - if [ $installed -ne 0 ]; then - LOG_INFO "清理环境:卸载libvirt-client" - dnf remove -y libvirt-client - CHECK_RESULT $? 0 0 "卸载libvirt-client失败" - else - LOG_INFO "保持libvirt-client安装状态" - fi -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_function_virsh_list.sh b/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_function_virsh_list.sh deleted file mode 100644 index 1af09be9b37..00000000000 --- a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_function_virsh_list.sh +++ /dev/null @@ -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-04 -# @License : Mulan PSL v2 -# @Desc : 测试使用virsh list命令列出活跃的虚拟机 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试:测试使用virsh list命令列出活跃的虚拟机" - - LOG_INFO "步骤1:检查libvirt-client软件包是否已在yum源中" - dnf list available libvirt-client 2>/dev/null | grep -q libvirt-client - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到libvirt-client软件包" - exit 255 - fi - LOG_INFO "libvirt-client软件包在yum源中可用" - - LOG_INFO "步骤2:检查virsh命令是否已安装" - if command -v virsh &> /dev/null; then - LOG_INFO "virsh命令已安装,标记为已安装状态" - INSTALLED=true - else - LOG_INFO "virsh命令未安装,标记为未安装状态" - INSTALLED=false - fi - - if [ "$INSTALLED" = false ]; then - LOG_INFO "步骤3:安装libvirt-client软件包" - dnf install -y libvirt-client - CHECK_RESULT $? 0 0 "安装libvirt-client失败" - LOG_INFO "libvirt-client软件包安装成功" - fi - - LOG_INFO "步骤4:检查virsh list命令是否支持" - virsh list --help 2>&1 | grep -q "\-\-list" - if [ $? -ne 0 ]; then - LOG_ERROR "virsh list命令不支持或参数错误" - if [ "$INSTALLED" = false ]; then - LOG_INFO "清理环境:卸载libvirt-client软件包" - dnf remove -y libvirt-client - fi - exit 255 - fi - LOG_INFO "virsh list命令支持" - - LOG_INFO "步骤5:执行virsh list命令列出活跃的虚拟机" - virsh list --all - CHECK_RESULT $? 0 0 "执行virsh list命令失败" - - LOG_INFO "步骤6:清理环境" - if [ "$INSTALLED" = false ]; then - LOG_INFO "卸载libvirt-client软件包" - dnf remove -y libvirt-client - CHECK_RESULT $? 0 0 "卸载libvirt-client失败" - LOG_INFO "libvirt-client软件包卸载成功" - else - LOG_INFO "保持原有安装状态,无需卸载" - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_function_virsh_list_all.sh b/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_function_virsh_list_all.sh deleted file mode 100644 index 819329818ab..00000000000 --- a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_function_virsh_list_all.sh +++ /dev/null @@ -1,87 +0,0 @@ -#!/usr/bin/bash - -# Copyright (c) 2024 ISCAS .ALL rights reserved. -# This program is licensed under Mulan PSL v2. -# You can use it according to the terms and conditions of the Mulan PSL v2. -# http://license.coscl.org.cn/MulanPSL2 -# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, -# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, -# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. -# See the Mulan PSL v2 for more details. - -# ############################################# -# @Author : honghua -# @Contact : honghua@iscas.ac.cn -# @Date : 2026-03-04 -# @License : Mulan PSL v2 -# @Desc : 测试使用virsh list --all命令列出所有虚拟机 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 设置环境变量 - NODE2_IPV4="" - NODE2_PASSWORD="" - NODE2_USER="" - - # 定义软件包名称 - PACKAGE_NAME="libvirt-client" - - # 检查yum源中是否存在指定软件包 - LOG_INFO "步骤1:检查yum源中是否存在${PACKAGE_NAME}软件包" - dnf list available ${PACKAGE_NAME} &> /dev/null - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中不存在${PACKAGE_NAME}软件包" - exit 255 - fi - - # 检查当前是否已安装软件包 - LOG_INFO "步骤2:检查当前是否已安装${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 - - # 如果未安装,则安装软件包 - if [ "${INSTALLED_BEFORE}" = "false" ]; then - LOG_INFO "步骤3:安装${PACKAGE_NAME}软件包" - dnf install -y ${PACKAGE_NAME} - CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}软件包失败" - fi - - # 检查virsh命令是否存在 - LOG_INFO "步骤4:检查virsh命令是否存在" - which virsh &> /dev/null - CHECK_RESULT $? 0 0 "virsh命令不存在" - - # 检查virsh list --all参数是否支持 - LOG_INFO "步骤5:检查virsh list --all参数是否支持" - virsh list --all &> /dev/null - if [ $? -eq 255 ]; then - LOG_ERROR "virsh list --all参数不存在或不支持" - exit 255 - fi - - # 执行virsh list --all命令 - LOG_INFO "步骤6:执行virsh list --all命令列出所有虚拟机" - virsh list --all - CHECK_RESULT $? 0 0 "执行virsh list --all命令失败" - - # 环境恢复:如果测试前未安装,则卸载软件包 - if [ "${INSTALLED_BEFORE}" = "false" ]; then - LOG_INFO "步骤7:卸载${PACKAGE_NAME}软件包" - dnf remove -y ${PACKAGE_NAME} - CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}软件包失败" - else - LOG_INFO "步骤7:测试前已安装${PACKAGE_NAME}软件包,保持安装状态" - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_function_virt-xml-validate.sh b/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_function_virt-xml-validate.sh deleted file mode 100644 index f17ef513591..00000000000 --- a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_function_virt-xml-validate.sh +++ /dev/null @@ -1,106 +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-04 -# @License : Mulan PSL v2 -# @Desc : 测试使用virt-xml-validate验证基本域XML文件 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试:使用virt-xml-validate验证基本域XML文件" - - # 定义软件包名称 - PACKAGE="libvirt-client" - - # 检查是否已安装软件包 - LOG_INFO "检查是否已安装$PACKAGE" - if rpm -q $PACKAGE &>/dev/null; then - LOG_INFO "$PACKAGE已安装" - INSTALLED=1 - else - LOG_INFO "$PACKAGE未安装" - INSTALLED=0 - fi - - # 检查yum源中是否有该软件包 - LOG_INFO "检查yum源中是否有$PACKAGE" - if ! dnf list available $PACKAGE &>/dev/null; then - LOG_ERROR "yum源中没有$PACKAGE软件包" - exit 255 - fi - - # 如果未安装,则安装软件包 - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "安装$PACKAGE" - dnf install -y $PACKAGE - CHECK_RESULT $? 0 0 "安装$PACKAGE失败" - fi - - # 检查virt-xml-validate命令是否存在 - LOG_INFO "检查virt-xml-validate命令是否存在" - if ! command -v virt-xml-validate &>/dev/null; then - LOG_ERROR "virt-xml-validate命令不存在" - exit 255 - fi - - # 检查virt-xml-validate命令是否支持基本参数 - LOG_INFO "检查virt-xml-validate命令是否支持基本参数" - virt-xml-validate --help &>/dev/null - CHECK_RESULT $? 0 0 "virt-xml-validate命令不支持基本参数" - - # 创建一个基本的域XML文件用于测试 - LOG_INFO "创建基本域XML文件用于测试" - cat > /tmp/test_domain.xml << EOF - - test_vm - 1048576 - 1 - - hvm - - - - - - - - - - - EOF - - # 使用virt-xml-validate验证XML文件 - LOG_INFO "使用virt-xml-validate验证XML文件" - virt-xml-validate /tmp/test_domain.xml - CHECK_RESULT $? 0 0 "virt-xml-validate验证XML文件失败" - - # 清理测试文件 - LOG_INFO "清理测试文件" - rm -f /tmp/test_domain.xml - - # 环境恢复:如果之前未安装,则卸载软件包 - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "卸载$PACKAGE" - dnf remove -y $PACKAGE - CHECK_RESULT $? 0 0 "卸载$PACKAGE失败" - else - LOG_INFO "保持$PACKAGE安装状态" - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh__c.sh b/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh__c.sh deleted file mode 100644 index f8c4376d36b..00000000000 --- a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh__c.sh +++ /dev/null @@ -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-03-04 -# @License : Mulan PSL v2 -# @Desc : 测试virsh命令的-c选项,指定hypervisor连接URI -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试virsh命令的-c选项,指定hypervisor连接URI" - - # 定义软件包名称 - PACKAGE="libvirt-client" - - # 检查环境是否已安装libvirt-client - LOG_INFO "步骤1:检查环境中是否已安装$PACKAGE" - if dnf list installed "$PACKAGE" > /dev/null 2>&1; then - LOG_INFO "$PACKAGE已安装,脚本结束时将保持安装状态" - INSTALLED_BEFORE=true - else - LOG_INFO "$PACKAGE未安装,将在测试过程中安装,并在测试结束后卸载" - INSTALLED_BEFORE=false - fi - - # 检查yum源中是否存在该软件包 - LOG_INFO "步骤2:检查yum源中是否存在$PACKAGE" - if ! dnf list available "$PACKAGE" > /dev/null 2>&1; then - LOG_ERROR "yum源中未找到$PACKAGE软件包" - exit 255 - fi - - # 如果环境未安装,则安装软件包 - if [ "$INSTALLED_BEFORE" = false ]; then - LOG_INFO "步骤3:安装$PACKAGE软件包" - dnf install -y "$PACKAGE" - CHECK_RESULT $? 0 0 "安装$PACKAGE失败" - fi - - # 测试virsh命令的-c选项,指定hypervisor连接URI - LOG_INFO "步骤4:测试virsh命令的-c选项" - # 假设本地使用qemu:///system作为测试URI - TEST_URI="qemu:///system" - virsh -c "$TEST_URI" list --all > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "virsh -c $TEST_URI命令执行失败" - - # 测试不支持的参数或选项 - LOG_INFO "步骤5:测试不支持的参数" - virsh --invalid-option 2>/dev/null - if [ $? -ne 0 ]; then - LOG_INFO "不支持--invalid-option参数,符合预期" - else - LOG_ERROR "错误:--invalid-option参数被错误支持" - exit 255 - fi - - # 清理环境:如果脚本开始时未安装,则卸载软件包 - if [ "$INSTALLED_BEFORE" = false ]; then - LOG_INFO "步骤6:卸载$PACKAGE软件包,恢复环境" - dnf remove -y "$PACKAGE" - CHECK_RESULT $? 0 0 "卸载$PACKAGE失败" - else - LOG_INFO "步骤6:环境已安装$PACKAGE,保持安装状态,无需卸载" - fi - - LOG_INFO "测试完成,环境已恢复" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh__d_num_0.sh b/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh__d_num_0.sh deleted file mode 100644 index dccb0a1d0e7..00000000000 --- a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh__d_num_0.sh +++ /dev/null @@ -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-04 -# @License : Mulan PSL v2 -# @Desc : 测试virsh命令的-d选项,设置调试级别为0 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 测试virsh命令的-d选项,设置调试级别为0 - LOG_INFO "开始测试virsh命令的-d选项,设置调试级别为0" - - # 定义软件包名称 - PACKAGE_NAME="libvirt-client" - - # 检查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 - - # 检查当前是否已安装软件包 - LOG_INFO "检查当前是否已安装${PACKAGE_NAME}软件包" - rpm -q ${PACKAGE_NAME} &>/dev/null - INSTALLED=$? - - # 如果未安装,则安装软件包 - if [ ${INSTALLED} -ne 0 ]; then - LOG_INFO "安装${PACKAGE_NAME}软件包" - dnf install -y ${PACKAGE_NAME} - CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}软件包失败" - fi - - # 检查virsh命令是否支持-d选项 - LOG_INFO "检查virsh命令是否支持-d选项" - virsh --help 2>&1 | grep -q "\-d.*debug" - if [ $? -ne 0 ]; then - LOG_ERROR "virsh命令不支持-d选项" - # 如果测试前未安装软件包,则卸载 - if [ ${INSTALLED} -ne 0 ]; then - LOG_INFO "卸载${PACKAGE_NAME}软件包" - dnf remove -y ${PACKAGE_NAME} - fi - exit 255 - fi - - # 测试virsh命令的-d选项,设置调试级别为0 - LOG_INFO "执行virsh命令:virsh -d 0 version" - virsh -d 0 version - CHECK_RESULT $? 0 0 "virsh -d 0命令执行失败" - - LOG_INFO "测试virsh命令的-d选项,设置调试级别为0成功" - - # 环境恢复:如果测试前未安装软件包,则卸载 - if [ ${INSTALLED} -ne 0 ]; then - LOG_INFO "卸载${PACKAGE_NAME}软件包" - dnf remove -y ${PACKAGE_NAME} - CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}软件包失败" - LOG_INFO "已恢复环境,卸载了${PACKAGE_NAME}软件包" - else - LOG_INFO "测试前已安装${PACKAGE_NAME}软件包,保持安装状态" - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh__d_num_4.sh b/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh__d_num_4.sh deleted file mode 100644 index e4ddfc03cdc..00000000000 --- a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh__d_num_4.sh +++ /dev/null @@ -1,66 +0,0 @@ -#!/usr/bin/bash - -# Copyright (c) 2024 ISCAS .ALL rights reserved. -# This program is licensed under Mulan PSL v2. -# You can use it according to the terms and conditions of the Mulan PSL v2. -# http://license.coscl.org.cn/MulanPSL2 -# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, -# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, -# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. -# See the Mulan PSL v2 for more details. - -# ############################################# -# @Author : honghua -# @Contact : honghua@iscas.ac.cn -# @Date : 2026-03-04 -# @License : Mulan PSL v2 -# @Desc : 测试virsh命令的-d选项,设置调试级别为4 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 判断是否已安装libvirt-client - LOG_INFO "检查libvirt-client是否已安装" - rpm -q libvirt-client > /dev/null 2>&1 - installed=$? - - # 定义需要安装的软件包名称 - PACKAGE_NAME="libvirt-client" - - # 检查yum源中是否有该软件包 - LOG_INFO "检查yum源中是否有${PACKAGE_NAME}软件包" - dnf list available ${PACKAGE_NAME} > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中没有找到${PACKAGE_NAME}软件包" - exit 255 - fi - - # 如果未安装,则安装软件包 - if [ ${installed} -ne 0 ]; then - LOG_INFO "安装${PACKAGE_NAME}软件包" - dnf install -y ${PACKAGE_NAME} > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "安装libvirt-client失败" - fi - - # 测试virsh命令的-d选项,设置调试级别为4 - LOG_INFO "测试virsh命令的-d选项,设置调试级别为4" - virsh -d 4 help > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "virsh命令不支持-d选项或设置调试级别为4失败" - - # 检查-d选项是否支持参数4 - LOG_INFO "检查-d选项是否支持参数4" - virsh -d 4 help 2>&1 | grep -q "debug" - CHECK_RESULT $? 0 0 "-d选项不支持参数4" - - # 清理环境:如果之前未安装,则卸载软件包 - if [ ${installed} -ne 0 ]; then - LOG_INFO "卸载${PACKAGE_NAME}软件包" - dnf remove -y ${PACKAGE_NAME} > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "卸载libvirt-client失败" - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh__h.sh b/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh__h.sh deleted file mode 100644 index ccfe44a4978..00000000000 --- a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh__h.sh +++ /dev/null @@ -1,69 +0,0 @@ -#!/usr/bin/bash - -# Copyright (c) 2024 ISCAS .ALL rights reserved. -# This program is licensed under Mulan PSL v2. -# You can use it according to the terms and conditions of the Mulan PSL v2. -# http://license.coscl.org.cn/MulanPSL2 -# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, -# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, -# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. -# See the Mulan PSL v2 for more details. - -# ############################################# -# @Author : honghua -# @Contact : honghua@iscas.ac.cn -# @Date : 2026-03-04 -# @License : Mulan PSL v2 -# @Desc : 测试virsh命令的-h选项,显示帮助信息 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试virsh命令的-h选项,显示帮助信息" - LOG_INFO "步骤1: 检查环境中是否已安装libvirt-client软件包" - rpm -q libvirt-client - if [ $? -eq 0 ]; then - LOG_INFO "环境已安装libvirt-client,测试结束后将保持安装状态" - INSTALLED=1 - else - LOG_INFO "环境未安装libvirt-client,将在测试过程中安装,并在测试结束后卸载" - INSTALLED=0 - fi - - LOG_INFO "步骤2: 检查yum源中是否存在libvirt-client软件包" - dnf list available libvirt-client 2>&1 | grep -q "libvirt-client" - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到libvirt-client软件包" - exit 255 - fi - - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "步骤3: 安装libvirt-client软件包" - dnf install -y libvirt-client - CHECK_RESULT $? 0 0 "安装libvirt-client失败" - fi - - LOG_INFO "步骤4: 检查virsh命令的-h参数是否存在" - virsh -h 2>&1 | grep -q "Usage:" - if [ $? -ne 0 ]; then - LOG_ERROR "virsh命令不支持-h参数" - exit 255 - fi - - LOG_INFO "步骤5: 执行virsh -h命令,显示帮助信息" - virsh -h - CHECK_RESULT $? 0 0 "执行virsh -h命令失败" - - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "步骤6: 卸载libvirt-client软件包,恢复环境" - dnf remove -y libvirt-client - CHECK_RESULT $? 0 0 "卸载libvirt-client失败" - else - LOG_INFO "步骤6: 环境已安装libvirt-client,无需卸载" - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh__k_num_0.sh b/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh__k_num_0.sh deleted file mode 100644 index e4b88db7e69..00000000000 --- a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh__k_num_0.sh +++ /dev/null @@ -1,101 +0,0 @@ -#!/usr/bin/bash - -# Copyright (c) 2024 ISCAS .ALL rights reserved. -# This program is licensed under Mulan PSL v2. -# You can use it according to the terms and conditions of the Mulan PSL v2. -# http://license.coscl.org.cn/MulanPSL2 -# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, -# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, -# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. -# See the Mulan PSL v2 for more details. - -# ############################################# -# @Author : honghua -# @Contact : honghua@iscas.ac.cn -# @Date : 2026-03-04 -# @License : Mulan PSL v2 -# @Desc : 测试virsh命令的-k选项,禁用保活机制 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 定义日志函数(实际环境中可能已定义,这里为防止未定义而提供) - LOG_INFO() { echo "[INFO] $*"; } - LOG_ERROR() { echo "[ERROR] $*"; } - - # 定义检查结果函数(实际环境中可能已定义) - CHECK_RESULT() { - local actual=$1 - local expected=$2 - local exit_code=$3 - local message=$4 - if [ "$actual" -ne "$expected" ]; then - LOG_ERROR "$message" - exit $exit_code - fi - } - - # 定义SSH_CMD函数(实际环境中可能已定义) - SSH_CMD() { - local cmd=$1 - local node_ip=$2 - local node_password=$3 - local node_user=$4 - # 这里只是模拟,实际应根据环境实现 - sshpass -p "$node_password" ssh -o StrictHostKeyChecking=no "$node_user@$node_ip" "$cmd" - } - - # 定义软件包名称 - PACKAGE_NAME="libvirt-client" - - # 步骤1:检查yum源中是否有libvirt-client软件包 - LOG_INFO "步骤1:检查yum源中是否有libvirt-client软件包" - if ! dnf list available "$PACKAGE_NAME" &>/dev/null; then - LOG_ERROR "yum源中没有找到$PACKAGE_NAME软件包" - exit 255 - fi - - # 步骤2:检查环境是否已安装libvirt-client - LOG_INFO "步骤2:检查环境是否已安装libvirt-client" - if rpm -q "$PACKAGE_NAME" &>/dev/null; then - LOG_INFO "$PACKAGE_NAME已安装,脚本结束后将保持安装状态" - INSTALLED_BEFORE=true - else - LOG_INFO "$PACKAGE_NAME未安装,将在测试步骤中安装" - INSTALLED_BEFORE=false - fi - - # 步骤3:如果未安装,则安装libvirt-client - if [ "$INSTALLED_BEFORE" = false ]; then - LOG_INFO "步骤3:安装libvirt-client软件包" - dnf install -y "$PACKAGE_NAME" - CHECK_RESULT $? 0 0 "安装$PACKAGE_NAME失败" - fi - - # 步骤4:检查virsh命令是否支持-k选项 - LOG_INFO "步骤4:检查virsh命令是否支持-k选项" - if ! virsh --help | grep -q "\-k"; then - LOG_ERROR "virsh命令不支持-k选项" - exit 255 - fi - - # 步骤5:测试virsh命令的-k选项,禁用保活机制 - LOG_INFO "步骤5:测试virsh命令的-k选项,禁用保活机制" - # 这里假设测试命令为virsh -k version,实际应根据测试用例调整 - virsh -k version - CHECK_RESULT $? 0 0 "virsh -k命令执行失败" - - # 步骤6:清理环境,如果之前未安装则卸载软件包 - if [ "$INSTALLED_BEFORE" = false ]; then - LOG_INFO "步骤6:卸载libvirt-client软件包" - dnf remove -y "$PACKAGE_NAME" - CHECK_RESULT $? 0 0 "卸载$PACKAGE_NAME失败" - else - LOG_INFO "步骤6:保持libvirt-client软件包安装状态" - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh__k_num_5.sh b/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh__k_num_5.sh deleted file mode 100644 index 4d67933a7fc..00000000000 --- a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh__k_num_5.sh +++ /dev/null @@ -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-03-04 -# @License : Mulan PSL v2 -# @Desc : 测试virsh命令的-k选项,设置保活间隔为5秒 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 定义变量 - LIBVIRT_CLIENT_PKG="libvirt-client" - VIRSH_CMD="virsh" - TEST_OPTION="-k" - TEST_VALUE="5" - - # 步骤1:检查libvirt-client软件包是否在yum源中 - LOG_INFO "步骤1:检查libvirt-client软件包是否在yum源中" - dnf list available $LIBVIRT_CLIENT_PKG > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "软件包 $LIBVIRT_CLIENT_PKG 不在yum源中" - exit 255 - fi - - # 步骤2:检查virsh命令是否已安装 - LOG_INFO "步骤2:检查virsh命令是否已安装" - command -v $VIRSH_CMD > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "virsh命令已安装" - INSTALLED=true - else - LOG_INFO "virsh命令未安装" - INSTALLED=false - fi - - # 步骤3:如果未安装,则安装libvirt-client软件包 - if [ "$INSTALLED" = false ]; then - LOG_INFO "步骤3:安装libvirt-client软件包" - dnf install -y $LIBVIRT_CLIENT_PKG - CHECK_RESULT $? 0 0 "安装libvirt-client软件包失败" - fi - - # 步骤4:检查virsh命令是否支持-k选项 - LOG_INFO "步骤4:检查virsh命令是否支持-k选项" - $VIRSH_CMD --help | grep -q "$TEST_OPTION" - if [ $? -ne 0 ]; then - LOG_ERROR "virsh命令不支持 $TEST_OPTION 选项" - exit 255 - fi - - # 步骤5:测试virsh命令的-k选项,设置保活间隔为5秒 - LOG_INFO "步骤5:测试virsh命令的-k选项,设置保活间隔为5秒" - $VIRSH_CMD $TEST_OPTION $TEST_VALUE list > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "设置保活间隔为5秒失败" - - # 步骤6:清理环境,恢复到之前的状态 - LOG_INFO "步骤6:清理环境,恢复到之前的状态" - if [ "$INSTALLED" = false ]; then - LOG_INFO "卸载libvirt-client软件包" - dnf remove -y $LIBVIRT_CLIENT_PKG - CHECK_RESULT $? 0 0 "卸载libvirt-client软件包失败" - else - LOG_INFO "保持libvirt-client软件包安装状态" - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh__l.sh b/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh__l.sh deleted file mode 100644 index 557f477e544..00000000000 --- a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh__l.sh +++ /dev/null @@ -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-04 -# @License : Mulan PSL v2 -# @Desc : 测试virsh命令的-l选项,将日志输出到指定文件 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "开始测试virsh命令的-l选项,将日志输出到指定文件" - - # 检查是否已安装libvirt-client软件包 - if ! dnf list installed libvirt-client >/dev/null 2>&1; then - LOG_INFO "环境未安装libvirt-client,将在测试过程中安装并最终卸载" - INSTALLED_DURING_TEST=1 - else - LOG_INFO "环境已安装libvirt-client,测试结束后保持安装状态" - INSTALLED_DURING_TEST=0 - fi - - # 检查yum源中是否有libvirt-client软件包 - LOG_INFO "检查yum源中是否存在libvirt-client软件包" - if ! dnf list available libvirt-client >/dev/null 2>&1; then - LOG_ERROR "yum源中未找到libvirt-client软件包" - exit 255 - fi - - # 如果环境未安装,则安装libvirt-client - if [ ${INSTALLED_DURING_TEST} -eq 1 ]; then - LOG_INFO "安装libvirt-client软件包" - dnf install -y libvirt-client - CHECK_RESULT $? 0 0 "安装libvirt-client失败" - fi - - # 测试virsh命令的-l选项 - LOG_INFO "测试virsh命令的-l选项,将日志输出到指定文件" - TEST_LOG_FILE="/tmp/virsh_test_log_$$.log" - virsh -l "${TEST_LOG_FILE}" >/dev/null 2>&1 - CHECK_RESULT $? 0 0 "virsh命令的-l选项执行失败" - - # 检查日志文件是否创建 - LOG_INFO "检查日志文件是否创建" - if [ -f "${TEST_LOG_FILE}" ]; then - LOG_INFO "日志文件已创建:${TEST_LOG_FILE}" - else - LOG_ERROR "日志文件未创建" - CHECK_RESULT 1 0 0 "日志文件未创建" - fi - - # 清理测试日志文件 - LOG_INFO "清理测试日志文件" - rm -f "${TEST_LOG_FILE}" - CHECK_RESULT $? 0 0 "清理日志文件失败" - - # 如果测试过程中安装了软件包,则卸载 - if [ ${INSTALLED_DURING_TEST} -eq 1 ]; then - LOG_INFO "卸载测试过程中安装的libvirt-client软件包" - dnf remove -y libvirt-client - CHECK_RESULT $? 0 0 "卸载libvirt-client失败" - fi - - LOG_INFO "测试完成,环境已恢复" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh__q.sh b/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh__q.sh deleted file mode 100644 index 877d7d8db30..00000000000 --- a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh__q.sh +++ /dev/null @@ -1,73 +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-04 -# @License : Mulan PSL v2 -# @Desc : 测试virsh命令的-q选项,启用安静模式 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "测试开始:测试virsh命令的-q选项,启用安静模式" - - LOG_INFO "步骤1:检查环境是否已安装libvirt-client软件包" - if rpm -q libvirt-client > /dev/null 2>&1; then - LOG_INFO "libvirt-client已安装,脚本结束时将保持安装状态" - INSTALLED_BEFORE=true - else - LOG_INFO "libvirt-client未安装,将在测试过程中安装" - INSTALLED_BEFORE=false - fi - - LOG_INFO "步骤2:检查yum源中是否有libvirt-client软件包" - if ! dnf list available libvirt-client > /dev/null 2>&1; then - LOG_ERROR "yum源中未找到libvirt-client软件包" - exit 255 - fi - - if [ "$INSTALLED_BEFORE" = false ]; then - LOG_INFO "步骤3:安装libvirt-client软件包" - dnf install -y libvirt-client - CHECK_RESULT $? 0 0 "安装libvirt-client失败" - fi - - LOG_INFO "步骤4:检查virsh命令是否支持-q选项" - virsh --help | grep -q -- "-q" - CHECK_RESULT $? 0 0 "virsh命令不支持-q选项" - - LOG_INFO "步骤5:测试virsh -q命令,检查是否启用安静模式" - virsh -q list > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "virsh -q命令执行失败" - - LOG_INFO "步骤6:测试virsh -q命令在无效参数下的行为" - virsh -q invalid-command > /dev/null 2>&1 - if [ $? -eq 255 ]; then - LOG_ERROR "virsh命令参数不存在或不支持" - exit 255 - fi - - LOG_INFO "步骤7:清理环境,恢复原始状态" - if [ "$INSTALLED_BEFORE" = false ]; then - LOG_INFO "卸载libvirt-client软件包" - dnf remove -y libvirt-client - CHECK_RESULT $? 0 0 "卸载libvirt-client失败" - else - LOG_INFO "保持libvirt-client软件包安装状态" - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh__t.sh b/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh__t.sh deleted file mode 100644 index 91b479ebccf..00000000000 --- a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh__t.sh +++ /dev/null @@ -1,75 +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-04 -# @License : Mulan PSL v2 -# @Desc : 测试virsh命令的-t选项,打印计时信息 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 定义变量 - PACKAGE_NAME="libvirt-client" - - # 步骤1: 检查是否已安装libvirt-client - LOG_INFO "检查是否已安装$PACKAGE_NAME" - if dnf list installed "$PACKAGE_NAME" &>/dev/null; then - LOG_INFO "$PACKAGE_NAME 已安装" - INSTALLED="yes" - else - LOG_INFO "$PACKAGE_NAME 未安装" - INSTALLED="no" - fi - - # 步骤2: 检查yum源中是否有libvirt-client软件包 - LOG_INFO "检查yum源中是否有$PACKAGE_NAME软件包" - if ! dnf list available "$PACKAGE_NAME" &>/dev/null; then - LOG_ERROR "yum源中没有找到$PACKAGE_NAME软件包" - exit 255 - fi - - # 步骤3: 如果未安装,则安装libvirt-client - if [ "$INSTALLED" = "no" ]; then - LOG_INFO "安装$PACKAGE_NAME软件包" - dnf install -y "$PACKAGE_NAME" - CHECK_RESULT $? 0 0 "安装$PACKAGE_NAME失败" - fi - - # 步骤4: 测试virsh命令的-t选项,打印计时信息 - LOG_INFO "测试virsh命令的-t选项,打印计时信息" - if virsh help | grep -q "\-t"; then - LOG_INFO "virsh命令支持-t选项" - else - LOG_ERROR "virsh命令不支持-t选项" - exit 255 - fi - - # 步骤5: 执行virsh -t命令 - LOG_INFO "执行virsh -t version命令" - virsh -t version - CHECK_RESULT $? 0 0 "virsh -t命令执行失败" - - # 步骤6: 清理环境 - LOG_INFO "清理环境" - if [ "$INSTALLED" = "no" ]; then - LOG_INFO "卸载$PACKAGE_NAME软件包" - dnf remove -y "$PACKAGE_NAME" - CHECK_RESULT $? 0 0 "卸载$PACKAGE_NAME失败" - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh__upper_k_num_3.sh b/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh__upper_k_num_3.sh deleted file mode 100644 index 5c5cc9568e9..00000000000 --- a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh__upper_k_num_3.sh +++ /dev/null @@ -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-04 -# @License : Mulan PSL v2 -# @Desc : 测试virsh命令的-K选项,设置允许丢失的保活消息数量为3 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - set -e - - LOG_INFO "开始测试:测试virsh命令的-K选项,设置允许丢失的保活消息数量为3" - - # 检查virsh命令是否已安装 - if command -v virsh &> /dev/null; then - LOG_INFO "virsh命令已安装,无需额外安装" - already_installed=true - else - LOG_INFO "virsh命令未安装,将进行安装" - already_installed=false - fi - - # 如果未安装,则安装libvirt-client包 - if [ "$already_installed" = false ]; then - LOG_INFO "检查yum源中是否有libvirt-client软件包" - if ! dnf list available libvirt-client &> /dev/null; then - LOG_ERROR "yum源中没有libvirt-client软件包" - exit 255 - fi - - LOG_INFO "安装libvirt-client软件包" - dnf install -y libvirt-client - CHECK_RESULT $? 0 0 "安装libvirt-client失败" - fi - - # 检查virsh命令是否支持-K选项 - LOG_INFO "检查virsh命令是否支持-K选项" - if ! virsh --help | grep -q "\-K"; then - LOG_ERROR "virsh命令不支持-K选项" - # 如果之前未安装,则卸载软件包 - if [ "$already_installed" = false ]; then - LOG_INFO "卸载libvirt-client软件包" - dnf remove -y libvirt-client - fi - exit 255 - fi - - # 测试virsh命令的-K选项,设置允许丢失的保活消息数量为3 - LOG_INFO "执行virsh -K 3命令" - virsh -K 3 - CHECK_RESULT $? 0 0 "执行virsh -K 3命令失败" - - # 环境恢复 - if [ "$already_installed" = false ]; then - LOG_INFO "卸载libvirt-client软件包" - dnf remove -y libvirt-client - CHECK_RESULT $? 0 0 "卸载libvirt-client失败" - else - LOG_INFO "保持virsh命令安装状态" - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh_version_long.sh b/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh_version_long.sh deleted file mode 100644 index 649144e6975..00000000000 --- a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virsh_version_long.sh +++ /dev/null @@ -1,107 +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-04 -# @License : Mulan PSL v2 -# @Desc : 测试virsh命令的--version选项,显示长版本信息 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 定义日志函数 - LOG_INFO() { - echo "[INFO] $*" - } - - LOG_ERROR() { - echo "[ERROR] $*" >&2 - } - - # 检查软件包是否在yum源中 - check_package_in_repo() { - local pkg=$1 - LOG_INFO "检查yum源中是否存在软件包: $pkg" - if ! dnf list available "$pkg" &>/dev/null; then - LOG_ERROR "软件包 $pkg 不在yum源中" - exit 255 - fi - LOG_INFO "软件包 $pkg 在yum源中存在" - } - - # 检查命令参数是否支持 - check_command_option() { - local cmd=$1 - local option=$2 - LOG_INFO "检查命令 $cmd 是否支持参数 $option" - if ! $cmd --help 2>&1 | grep -q -- "$option"; then - LOG_ERROR "命令 $cmd 不支持参数 $option" - exit 255 - fi - LOG_INFO "命令 $cmd 支持参数 $option" - } - - # 主函数 - main() { - local pkg_name="libvirt-client" - local cmd="virsh" - local option="--version-long" - local installed=false - - # 步骤1: 检查环境是否已安装libvirt-client - LOG_INFO "步骤1: 检查环境是否已安装libvirt-client" - if rpm -q "$pkg_name" &>/dev/null; then - LOG_INFO "libvirt-client 已安装" - installed=true - else - LOG_INFO "libvirt-client 未安装" - fi - - # 步骤2: 如果未安装,则安装软件包 - if ! $installed; then - LOG_INFO "步骤2: 安装libvirt-client软件包" - check_package_in_repo "$pkg_name" - dnf install -y "$pkg_name" - CHECK_RESULT $? 0 0 "安装libvirt-client失败" - LOG_INFO "libvirt-client 安装成功" - fi - - # 步骤3: 检查virsh命令是否支持--version-long参数 - LOG_INFO "步骤3: 检查virsh命令是否支持--version-long参数" - check_command_option "$cmd" "$option" - - # 步骤4: 执行virsh --version-long命令 - LOG_INFO "步骤4: 执行virsh --version-long命令" - $cmd $option - CHECK_RESULT $? 0 0 "执行virsh --version-long命令失败" - - # 步骤5: 清理环境 - LOG_INFO "步骤5: 清理环境" - if ! $installed; then - LOG_INFO "卸载libvirt-client软件包" - dnf remove -y "$pkg_name" - CHECK_RESULT $? 0 0 "卸载libvirt-client失败" - LOG_INFO "libvirt-client 卸载成功" - else - LOG_INFO "保持libvirt-client安装状态" - fi - - LOG_INFO "测试完成" - } - - # 执行主函数 - main "$@" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virt-pki-query-dn_FILE.sh b/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virt-pki-query-dn_FILE.sh deleted file mode 100644 index c36508937bc..00000000000 --- a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virt-pki-query-dn_FILE.sh +++ /dev/null @@ -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-03-04 -# @License : Mulan PSL v2 -# @Desc : 测试从指定的PEM证书文件中提取可分辨名称 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - LOG_INFO "1. 检查yum源中是否存在virt-pki-query-dn软件包" - dnf list virt-pki-query-dn - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中不存在virt-pki-query-dn软件包" - exit 255 - fi - - LOG_INFO "2. 检查当前环境是否已安装virt-pki-query-dn" - rpm -q virt-pki-query-dn - if [ $? -eq 0 ]; then - LOG_INFO "virt-pki-query-dn已安装,标记为已安装状态" - INSTALLED=1 - else - LOG_INFO "virt-pki-query-dn未安装,标记为未安装状态" - INSTALLED=0 - fi - - if [ $INSTALLED -eq 0 ]; then - LOG_INFO "3. 安装virt-pki-query-dn软件包" - dnf install -y virt-pki-query-dn - CHECK_RESULT $? 0 0 "安装virt-pki-query-dn失败" - fi - - LOG_INFO "4. 检查virt-pki-query-dn命令是否支持--file参数" - virt-pki-query-dn --help | grep -q -- "--file" - CHECK_RESULT $? 0 0 "virt-pki-query-dn命令不支持--file参数" - - LOG_INFO "5. 创建测试用的PEM证书文件" - cat > /tmp/test_cert.pem << EOF - -----BEGIN CERTIFICATE----- - MIIDXTCCAkWgAwIBAgIJAKL1a1z5Qq5qMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV - BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX - aWRnaXRzIFB0eSBMdGQwHhcNMjQwMTAxMDAwMDAwWhcNMjUwMTAxMDAwMDAwWjBF - MQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50 - ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB - CgKCAQEAw6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6KQ8q - 6Q6KQ8q6Q6KQ8q6Q6KQ8q6Q6 -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virt-pki-query-dn_h_FILE.sh b/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virt-pki-query-dn_h_FILE.sh deleted file mode 100644 index 85136852e93..00000000000 --- a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virt-pki-query-dn_h_FILE.sh +++ /dev/null @@ -1,98 +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-04 -# @License : Mulan PSL v2 -# @Desc : 测试在提供证书文件参数的同时使用-h参数,预期应显示帮助信息 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 定义变量 - PKG_NAME="libvirt-client" - CMD="virt-pki-query-dn" - PARAM_FILE="/tmp/test_cert.pem" - PARAM_H="-h" - - # 生成临时证书文件用于测试 - cat > ${PARAM_FILE} << EOF - -----BEGIN CERTIFICATE----- - MIIDXTCCAkWgAwIBAgIJALrA7zJ7e3vAMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV - BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX - aWRnaXRzIFB0eSBMdGQwHhcNMjMwNTAxMDAwMDAwWhcNMjQwNDMwMDAwMDAwWjBF - MQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50 - ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB - CgKCAQEAw6h6lJ4vQ6q7V6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 - v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6v6l6 -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virt-pki-query-dn_v.sh b/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virt-pki-query-dn_v.sh deleted file mode 100644 index 4159fa0c1c5..00000000000 --- a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virt-pki-query-dn_v.sh +++ /dev/null @@ -1,108 +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-04 -# @License : Mulan PSL v2 -# @Desc : 测试显示virt-pki-query-dn命令的版本信息 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 定义日志函数 - LOG_INFO() { - echo "[INFO] $*" - } - - LOG_ERROR() { - echo "[ERROR] $*" - } - - # 定义检查函数 - CHECK_RESULT() { - if [ $1 -ne $2 ]; then - LOG_ERROR "$4" - exit $3 - fi - } - - # 定义SSH命令函数 - SSH_CMD() { - # 这里假设SSH_CMD函数已经定义,直接使用 - # 实际使用时需要根据具体环境实现 - command="$1" - node_ip="$2" - node_password="$3" - node_user="$4" - # 示例:使用sshpass执行命令 - sshpass -p "$node_password" ssh -o StrictHostKeyChecking=no "$node_user"@"$node_ip" "$command" - } - - # 测试脚本开始 - LOG_INFO "开始测试:测试显示virt-pki-query-dn命令的版本信息" - - # 步骤1:检查yum源中是否有libvirt-client软件包 - LOG_INFO "步骤1:检查yum源中是否有libvirt-client软件包" - dnf list available libvirt-client 2>/dev/null | grep -q libvirt-client - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中没有libvirt-client软件包" - exit 255 - fi - - # 步骤2:检查是否已安装libvirt-client - LOG_INFO "步骤2:检查是否已安装libvirt-client" - rpm -q libvirt-client >/dev/null 2>&1 - installed=$? - - # 步骤3:如果未安装,则安装软件包 - if [ $installed -ne 0 ]; then - LOG_INFO "步骤3:安装libvirt-client软件包" - dnf install -y libvirt-client - CHECK_RESULT $? 0 255 "安装libvirt-client失败" - else - LOG_INFO "步骤3:libvirt-client已安装,跳过安装步骤" - fi - - # 步骤4:检查virt-pki-query-dn命令是否存在 - LOG_INFO "步骤4:检查virt-pki-query-dn命令是否存在" - command -v virt-pki-query-dn >/dev/null 2>&1 - CHECK_RESULT $? 0 255 "virt-pki-query-dn命令不存在" - - # 步骤5:检查virt-pki-query-dn命令是否支持--version参数 - LOG_INFO "步骤5:检查virt-pki-query-dn命令是否支持--version参数" - virt-pki-query-dn --version >/dev/null 2>&1 - if [ $? -eq 255 ]; then - LOG_ERROR "virt-pki-query-dn命令不支持--version参数" - exit 255 - fi - - # 步骤6:执行virt-pki-query-dn --version命令 - LOG_INFO "步骤6:执行virt-pki-query-dn --version命令" - virt-pki-query-dn --version - CHECK_RESULT $? 0 $? "执行virt-pki-query-dn --version命令失败" - - # 步骤7:环境恢复 - LOG_INFO "步骤7:环境恢复" - if [ $installed -ne 0 ]; then - LOG_INFO "卸载libvirt-client软件包" - dnf remove -y libvirt-client - CHECK_RESULT $? 0 $? "卸载libvirt-client失败" - else - LOG_INFO "保持libvirt-client安装状态" - fi - - LOG_INFO "测试完成" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virt-pki-query-dn_v_FILE.sh b/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virt-pki-query-dn_v_FILE.sh deleted file mode 100644 index 64396871783..00000000000 --- a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virt-pki-query-dn_v_FILE.sh +++ /dev/null @@ -1,129 +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-04 -# @License : Mulan PSL v2 -# @Desc : 测试在提供证书文件参数的同时使用-v参数,预期应显示版本信息 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 设置环境变量 - LOG_INFO() { - echo "[INFO] $*" - } - - LOG_ERROR() { - echo "[ERROR] $*" - } - - # 测试开始 - LOG_INFO "开始测试:测试在提供证书文件参数的同时使用-v参数,预期应显示版本信息" - - # 定义软件包名称 - PACKAGE_NAME="libvirt-client" - - # 步骤1:检查yum源中是否有libvirt-client软件包 - LOG_INFO "步骤1:检查yum源中是否有libvirt-client软件包" - dnf list available $PACKAGE_NAME > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中没有找到$PACKAGE_NAME软件包" - exit 255 - fi - - # 步骤2:检查当前环境是否已安装libvirt-client - LOG_INFO "步骤2:检查当前环境是否已安装libvirt-client" - rpm -q $PACKAGE_NAME > /dev/null 2>&1 - if [ $? -eq 0 ]; then - INSTALLED="true" - LOG_INFO "当前环境已安装$PACKAGE_NAME" - else - INSTALLED="false" - LOG_INFO "当前环境未安装$PACKAGE_NAME" - fi - - # 步骤3:如果未安装,则安装libvirt-client - if [ "$INSTALLED" = "false" ]; then - LOG_INFO "步骤3:安装libvirt-client软件包" - dnf install -y $PACKAGE_NAME - CHECK_RESULT $? 0 0 "安装libvirt-client失败" - fi - - # 步骤4:检查virt-pki-query-dn命令是否存在 - LOG_INFO "步骤4:检查virt-pki-query-dn命令是否存在" - command -v virt-pki-query-dn > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "virt-pki-query-dn命令不存在" - if [ "$INSTALLED" = "false" ]; then - LOG_INFO "清理环境:卸载libvirt-client" - dnf remove -y $PACKAGE_NAME - fi - exit 255 - fi - - # 步骤5:检查virt-pki-query-dn命令是否支持-v参数 - LOG_INFO "步骤5:检查virt-pki-query-dn命令是否支持-v参数" - virt-pki-query-dn -v --help > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "virt-pki-query-dn命令不支持-v参数" - if [ "$INSTALLED" = "false" ]; then - LOG_INFO "清理环境:卸载libvirt-client" - dnf remove -y $PACKAGE_NAME - fi - exit 255 - fi - - # 步骤6:创建测试用的证书文件 - LOG_INFO "步骤6:创建测试用的证书文件" - TEST_CERT_FILE="/tmp/test_cert.pem" - cat > $TEST_CERT_FILE << EOF - -----BEGIN CERTIFICATE----- - MIIBkTCB+wIJAKHHIgKwVGlOMA0GCSqGSIb3DQEBBQUAMA0xCzAJBgNVBAYTAlVT - -----END CERTIFICATE----- - EOF - CHECK_RESULT $? 0 0 "创建测试证书文件失败" - - # 步骤7:测试在提供证书文件参数的同时使用-v参数 - LOG_INFO "步骤7:测试在提供证书文件参数的同时使用-v参数" - virt-pki-query-dn -v -f $TEST_CERT_FILE > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "virt-pki-query-dn -v -f 命令执行失败" - - # 步骤8:验证是否显示版本信息 - LOG_INFO "步骤8:验证是否显示版本信息" - VERSION_OUTPUT=$(virt-pki-query-dn -v -f $TEST_CERT_FILE 2>&1) - if echo "$VERSION_OUTPUT" | grep -q "version\|Version"; then - LOG_INFO "成功显示版本信息" - CHECK_RESULT $? 0 0 "未显示版本信息" - else - LOG_ERROR "未显示版本信息" - CHECK_RESULT $? 1 0 "未显示版本信息" - fi - - # 步骤9:清理测试证书文件 - LOG_INFO "步骤9:清理测试证书文件" - rm -f $TEST_CERT_FILE - CHECK_RESULT $? 0 0 "删除测试证书文件失败" - - # 步骤10:如果测试前未安装,则卸载libvirt-client - if [ "$INSTALLED" = "false" ]; then - LOG_INFO "步骤10:清理环境:卸载libvirt-client" - dnf remove -y $PACKAGE_NAME - CHECK_RESULT $? 0 0 "卸载libvirt-client失败" - fi - - LOG_INFO "测试完成:测试在提供证书文件参数的同时使用-v参数,预期应显示版本信息" -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virt-xml-validate_h.sh b/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virt-xml-validate_h.sh deleted file mode 100644 index 68ef8c22dad..00000000000 --- a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virt-xml-validate_h.sh +++ /dev/null @@ -1,112 +0,0 @@ -#!/usr/bin/bash - -# Copyright (c) 2024 ISCAS .ALL rights reserved. -# This program is licensed under Mulan PSL v2. -# You can use it according to the terms and conditions of the Mulan PSL v2. -# http://license.coscl.org.cn/MulanPSL2 -# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, -# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, -# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. -# See the Mulan PSL v2 for more details. - -# ############################################# -# @Author : honghua -# @Contact : honghua@iscas.ac.cn -# @Date : 2026-03-04 -# @License : Mulan PSL v2 -# @Desc : 测试使用-h参数显示帮助信息 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 定义日志函数 - LOG_INFO() { - echo "[INFO] $*" - } - - LOG_ERROR() { - echo "[ERROR] $*" >&2 - } - - # 定义检查结果函数 - CHECK_RESULT() { - local actual=$1 - local expect=$2 - local mode=$3 - local message=$4 - if [ $mode -eq 0 ]; then - if [ $actual -eq $expect ]; then - LOG_INFO "$message 成功" - else - LOG_ERROR "$message 失败" - exit $actual - fi - else - if [ $actual -ne $expect ]; then - LOG_INFO "$message 成功" - else - LOG_ERROR "$message 失败" - exit 255 - fi - fi - } - - # 定义远程执行函数 - SSH_CMD() { - local cmd=$1 - local ip=$2 - local passwd=$3 - local user=$4 - sshpass -p $passwd ssh -o StrictHostKeyChecking=no $user@$ip "$cmd" - } - - # 主测试函数 - main() { - # 步骤1:检查virt-xml-validate命令是否存在 - LOG_INFO "步骤1:检查virt-xml-validate命令是否存在" - if command -v virt-xml-validate &> /dev/null; then - LOG_INFO "virt-xml-validate命令已存在,无需安装" - INSTALLED=true - else - LOG_INFO "virt-xml-validate命令不存在,需要安装" - INSTALLED=false - fi - - # 步骤2:检查yum源中是否有libvirt-client软件包 - LOG_INFO "步骤2:检查yum源中是否有libvirt-client软件包" - dnf list available libvirt-client &> /dev/null - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中没有libvirt-client软件包" - exit 255 - fi - - # 步骤3:如果未安装,则安装libvirt-client软件包 - if [ "$INSTALLED" = false ]; then - LOG_INFO "步骤3:安装libvirt-client软件包" - dnf install -y libvirt-client - CHECK_RESULT $? 0 0 "安装libvirt-client软件包" - fi - - # 步骤4:测试virt-xml-validate命令的-h参数 - LOG_INFO "步骤4:测试virt-xml-validate命令的-h参数" - virt-xml-validate -h &> /dev/null - CHECK_RESULT $? 0 0 "virt-xml-validate -h 显示帮助信息" - - # 步骤5:清理环境,如果之前未安装,则卸载软件包 - if [ "$INSTALLED" = false ]; then - LOG_INFO "步骤5:卸载libvirt-client软件包" - dnf remove -y libvirt-client - CHECK_RESULT $? 0 0 "卸载libvirt-client软件包" - else - LOG_INFO "步骤5:环境已安装,保持安装状态" - fi - - LOG_INFO "测试完成" - } - - # 调用主函数 - main -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virt-xml-validate_xml_file.sh b/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virt-xml-validate_xml_file.sh deleted file mode 100644 index 7c5bbdd942c..00000000000 --- a/testcases/function_test/pkg_test/libvirt/libvirt-client/test_libvirt-client_virt-xml-validate_xml_file.sh +++ /dev/null @@ -1,118 +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-04 -# @License : Mulan PSL v2 -# @Desc : 测试使用XML-FILE参数验证XML文件的语法 -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - set -e - - LOG_INFO "开始测试:使用XML-FILE参数验证XML文件的语法" - - LOG_INFO "1. 检查当前环境是否已安装libvirt-client软件包" - if rpm -q libvirt-client &> /dev/null; then - LOG_INFO "环境已安装libvirt-client,标记为无需清理" - need_cleanup=0 - else - LOG_INFO "环境未安装libvirt-client,标记为需要清理" - need_cleanup=1 - fi - - LOG_INFO "2. 检查yum源中是否存在libvirt-client软件包" - if ! dnf list available libvirt-client &> /dev/null; then - LOG_ERROR "yum源中未找到libvirt-client软件包" - exit 255 - fi - - if [ $need_cleanup -eq 1 ]; then - LOG_INFO "3. 安装libvirt-client软件包" - dnf install -y libvirt-client - CHECK_RESULT $? 0 0 "安装libvirt-client失败" - fi - - LOG_INFO "4. 检查virt-xml-validate命令是否支持XML-FILE参数" - if ! virt-xml-validate --help | grep -q "\-\-xml-file"; then - LOG_ERROR "virt-xml-validate命令不支持XML-FILE参数" - exit 255 - fi - - LOG_INFO "5. 创建一个临时的有效XML文件用于测试" - temp_xml=$(mktemp) - cat > $temp_xml << "EOF" - - testvm - 1048576 - 1 - - hvm - - - - - - - - - - - EOF - CHECK_RESULT $? 0 0 "创建临时XML文件失败" - - LOG_INFO "6. 使用virt-xml-validate验证有效的XML文件" - virt-xml-validate --xml-file $temp_xml - CHECK_RESULT $? 0 0 "验证有效XML文件失败" - - LOG_INFO "7. 创建一个临时的无效XML文件用于测试" - invalid_xml=$(mktemp) - cat > $invalid_xml << "EOF" - - testvm - 1048576 - 1 - - hvm - - - - Date: Wed, 15 Apr 2026 15:00:30 +0800 Subject: [PATCH 11/11] update testcase for testsuite qt5-qtdatavis3d-examples --- .../qt5-qtdatavis3d-examples.json | 20 ---- ...qt5-qtdatavis3d-examples_function_basic.sh | 67 ------------ ...5-qtdatavis3d-examples_function_install.sh | 101 ------------------ 3 files changed, 188 deletions(-) delete mode 100644 testcases/function_test/pkg_test/qt5-qtdatavis3d/qt5-qtdatavis3d-examples/test_qt5-qtdatavis3d-examples_function_basic.sh delete mode 100644 testcases/function_test/pkg_test/qt5-qtdatavis3d/qt5-qtdatavis3d-examples/test_qt5-qtdatavis3d-examples_function_install.sh diff --git a/suite2cases/function_test/pkg_test/qt5-qtdatavis3d/qt5-qtdatavis3d-examples.json b/suite2cases/function_test/pkg_test/qt5-qtdatavis3d/qt5-qtdatavis3d-examples.json index 65512141e8f..3bbec605d84 100644 --- a/suite2cases/function_test/pkg_test/qt5-qtdatavis3d/qt5-qtdatavis3d-examples.json +++ b/suite2cases/function_test/pkg_test/qt5-qtdatavis3d/qt5-qtdatavis3d-examples.json @@ -2,26 +2,6 @@ "path": "$OET_PATH/testcases/function_test/pkg_test/qt5-qtdatavis3d/qt5-qtdatavis3d-examples", "machine num": 1, "cases": [ - { - "name": "test_qt5-qtdatavis3d-examples_function_basic", - "desc": "Basic functionality test for qt5-qtdatavis3d-examples" - }, - { - "name": "test_qt5-qtdatavis3d-examples_function_install", - "desc": "Test the installation of the qt5-qtdatavis3d-examples package" - }, - { - "name": "test_qt5-qtdatavis3d-examples_function_check_installed", - "desc": "Verify that the package is correctly installed on the system" - }, - { - "name": "test_qt5-qtdatavis3d-examples_function_list_examples", - "desc": "Check if example programs are available after installation" - }, - { - "name": "test_qt5-qtdatavis3d-examples_function_run_basic_example", - "desc": "Test running a basic 3D data visualization example" - }, { "name": "test_qt5-qtdatavis3d-examples_function_uninstall", "desc": "Test the removal of the qt5-qtdatavis3d-examples package" diff --git a/testcases/function_test/pkg_test/qt5-qtdatavis3d/qt5-qtdatavis3d-examples/test_qt5-qtdatavis3d-examples_function_basic.sh b/testcases/function_test/pkg_test/qt5-qtdatavis3d/qt5-qtdatavis3d-examples/test_qt5-qtdatavis3d-examples_function_basic.sh deleted file mode 100644 index e28819e815f..00000000000 --- a/testcases/function_test/pkg_test/qt5-qtdatavis3d/qt5-qtdatavis3d-examples/test_qt5-qtdatavis3d-examples_function_basic.sh +++ /dev/null @@ -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-07 -# @License : Mulan PSL v2 -# @Desc : Basic functionality test for qt5-qtdatavis3d-examples -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - - # 检查yum源中是否存在qt5-qtdatavis3d-examples软件包 - LOG_INFO "检查yum源中是否存在qt5-qtdatavis3d-examples软件包" - dnf list available qt5-qtdatavis3d-examples > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到qt5-qtdatavis3d-examples软件包" - exit 255 - fi - - # 检查是否已安装qt5-qtdatavis3d-examples - LOG_INFO "检查是否已安装qt5-qtdatavis3d-examples" - rpm -q qt5-qtdatavis3d-examples > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "qt5-qtdatavis3d-examples已安装,脚本结束时保持安装状态" - INSTALLED=true - else - LOG_INFO "qt5-qtdatavis3d-examples未安装,将在测试步骤中安装" - INSTALLED=false - fi - - # 如果未安装,则安装软件包 - if [ "$INSTALLED" = false ]; then - LOG_INFO "开始安装qt5-qtdatavis3d-examples" - dnf install -y qt5-qtdatavis3d-examples > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "安装qt5-qtdatavis3d-examples失败" - fi - - # 测试基本功能 - LOG_INFO "测试qt5-qtdatavis3d-examples基本功能" - example_command="qt5-qtdatavis3d-examples-command" # 替换为实际的命令 - $example_command > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "执行qt5-qtdatavis3d-examples基本功能测试失败" - - # 清理环境 - if [ "$INSTALLED" = false ]; then - LOG_INFO "卸载qt5-qtdatavis3d-examples" - dnf remove -y qt5-qtdatavis3d-examples > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "卸载qt5-qtdatavis3d-examples失败" - fi - - LOG_INFO "测试脚本执行完毕,环境已恢复" - -} - -main "$@" \ No newline at end of file diff --git a/testcases/function_test/pkg_test/qt5-qtdatavis3d/qt5-qtdatavis3d-examples/test_qt5-qtdatavis3d-examples_function_install.sh b/testcases/function_test/pkg_test/qt5-qtdatavis3d/qt5-qtdatavis3d-examples/test_qt5-qtdatavis3d-examples_function_install.sh deleted file mode 100644 index 0f4263e57f9..00000000000 --- a/testcases/function_test/pkg_test/qt5-qtdatavis3d/qt5-qtdatavis3d-examples/test_qt5-qtdatavis3d-examples_function_install.sh +++ /dev/null @@ -1,101 +0,0 @@ -#!/usr/bin/bash - -# Copyright (c) 2024 ISCAS .ALL rights reserved. -# This program is licensed under Mulan PSL v2. -# You can use it according to the terms and conditions of the Mulan PSL v2. -# http://license.coscl.org.cn/MulanPSL2 -# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, -# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, -# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. -# See the Mulan PSL v2 for more details. - -# ############################################# -# @Author : honghua -# @Contact : honghua@iscas.ac.cn -# @Date : 2026-03-12 -# @License : Mulan PSL v2 -# @Desc : Test the installation of the qt5-qtdatavis3d-examples package -# ############################################ - -source "$OET_PATH/libs/locallibs/common_lib.sh" - -function run_test() { - # 判断qt5-qtdatavis3d-examples是否已安装 - LOG_INFO "检查qt5-qtdatavis3d-examples是否已安装" - rpm -q qt5-qtdatavis3d-examples > /dev/null 2>&1 - if [ $? -eq 0 ]; then - LOG_INFO "qt5-qtdatavis3d-examples已安装,标记为已安装状态" - INSTALLED_FLAG=1 - else - LOG_INFO "qt5-qtdatavis3d-examples未安装,标记为未安装状态" - INSTALLED_FLAG=0 - fi - - # 检查yum源中是否存在qt5-qtdatavis3d-examples包 - LOG_INFO "检查yum源中是否存在qt5-qtdatavis3d-examples包" - dnf list available qt5-qtdatavis3d-examples > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "yum源中未找到qt5-qtdatavis3d-examples包" - exit 255 - fi - - # 如果未安装,则安装qt5-qtdatavis3d-examples - if [ ${INSTALLED_FLAG} -eq 0 ]; then - LOG_INFO "开始安装qt5-qtdatavis3d-examples包" - dnf install -y qt5-qtdatavis3d-examples - CHECK_RESULT $? 0 0 "安装qt5-qtdatavis3d-examples失败" - LOG_INFO "qt5-qtdatavis3d-examples安装成功" - fi - - # 验证qt5-qtdatavis3d-examples安装 - LOG_INFO "验证qt5-qtdatavis3d-examples安装" - rpm -q qt5-qtdatavis3d-examples > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "qt5-qtdatavis3d-examples未正确安装" - - # 查找并运行一个示例程序 - LOG_INFO "查找qt5-qtdatavis3d-examples示例程序" - EXAMPLE_PATH=$(find /usr -name "*qtdatavis3d*example*" -type f -executable | head -1) - if [ -z "${EXAMPLE_PATH}" ]; then - LOG_ERROR "未找到qt5-qtdatavis3d-examples示例程序" - # 如果之前未安装,则卸载包 - if [ ${INSTALLED_FLAG} -eq 0 ]; then - LOG_INFO "清理环境:卸载qt5-qtdatavis3d-examples包" - dnf remove -y qt5-qtdatavis3d-examples - fi - exit 255 - fi - - LOG_INFO "找到示例程序:${EXAMPLE_PATH}" - - # 检查示例程序是否支持--help参数 - LOG_INFO "检查示例程序是否支持--help参数" - ${EXAMPLE_PATH} --help > /dev/null 2>&1 - if [ $? -ne 0 ]; then - LOG_ERROR "示例程序不支持--help参数" - # 如果之前未安装,则卸载包 - if [ ${INSTALLED_FLAG} -eq 0 ]; then - LOG_INFO "清理环境:卸载qt5-qtdatavis3d-examples包" - dnf remove -y qt5-qtdatavis3d-examples - fi - exit 255 - fi - - # 运行示例程序(带--help参数,不启动图形界面) - LOG_INFO "运行示例程序(带--help参数)" - ${EXAMPLE_PATH} --help > /dev/null 2>&1 - CHECK_RESULT $? 0 0 "运行qt5-qtdatavis3d-examples示例程序失败" - - LOG_INFO "qt5-qtdatavis3d-examples功能测试通过" - - # 环境恢复:如果之前未安装,则卸载包 - if [ ${INSTALLED_FLAG} -eq 0 ]; then - LOG_INFO "清理环境:卸载qt5-qtdatavis3d-examples包" - dnf remove -y qt5-qtdatavis3d-examples - CHECK_RESULT $? 0 0 "卸载qt5-qtdatavis3d-examples失败" - LOG_INFO "环境已恢复" - else - LOG_INFO "环境保持安装状态" - fi -} - -main "$@" \ No newline at end of file