This commit is contained in:
2026-04-17 15:17:35 +08:00
154 changed files with 0 additions and 11392 deletions

View File

@@ -1,74 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/corosync/corosync-vqsim",
"machine num": 1,
"cases": [
{
"name": "test_corosync-vqsim_corosync-vqsim_c",
"desc": "使用 -c 参数指定配置文件"
},
{
"name": "test_corosync-vqsim_corosync-vqsim_o",
"desc": "使用 -o 参数指定输出文件"
},
{
"name": "test_corosync-vqsim_corosync-vqsim_n",
"desc": "使用 -n 参数禁用节点添加时的同步"
},
{
"name": "test_corosync-vqsim_corosync-vqsim_h",
"desc": "使用 -h 参数显示帮助文本"
},
{
"name": "test_corosync-vqsim_corosync-vqsim_c_o",
"desc": "同时使用 -c 和 -o 参数指定配置文件和输出文件"
},
{
"name": "test_corosync-vqsim_function_start",
"desc": "测试启动corosync-vqsim服务"
},
{
"name": "test_corosync-vqsim_corosync-vqsim_c_n",
"desc": "测试同时使用-c和-n参数"
},
{
"name": "test_corosync-vqsim_corosync-vqsim_o_n",
"desc": "测试同时使用-o和-n参数"
},
{
"name": "test_corosync-vqsim_corosync-vqsim_c_o_n",
"desc": "测试同时使用-c、-o和-n参数"
},
{
"name": "test_corosync-vqsim_corosync-vqsim_no_args",
"desc": "测试不使用任何参数使用默认配置和输出到stdout"
},
{
"name": "test_corosync-vqsim_function_install",
"desc": "测试软件包安装"
},
{
"name": "test_corosync-vqsim_function_uninstall",
"desc": "测试软件包卸载"
},
{
"name": "test_corosync-vqsim_function_version",
"desc": "测试显示版本信息"
},
{
"name": "test_corosync-vqsim_function_check_installed",
"desc": "测试检查软件包是否已安装"
},
{
"name": "test_corosync-vqsim_function_default_run",
"desc": "测试使用默认配置启动模拟器"
},
{
"name": "test_corosync-vqsim_function_simulate_cluster",
"desc": "测试模拟指定节点数的集群"
},
{
"name": "test_corosync-vqsim_function_verify_output",
"desc": "测试验证输出文件内容格式"
}
]
}

View File

@@ -2,53 +2,9 @@
"path": "$OET_PATH/testcases/function_test/pkg_test/gcc/liblsan", "path": "$OET_PATH/testcases/function_test/pkg_test/gcc/liblsan",
"machine num": 1, "machine num": 1,
"cases": [ "cases": [
{
"name": "test_liblsan_function_install_package",
"desc": "测试通过包管理器如apt, yum, dnf安装liblsan软件包的功能验证安装过程是否成功且无错误。"
},
{
"name": "test_liblsan_function_check_installed",
"desc": "测试检查liblsan软件包是否已正确安装到系统中的功能验证其文件如库文件、头文件是否存在于标准路径。"
},
{
"name": "test_liblsan_function_remove_package",
"desc": "测试通过包管理器安全卸载liblsan软件包的功能验证卸载过程是否干净且不影响系统其他组件。"
},
{
"name": "test_liblsan_function_basic_linking",
"desc": "测试一个简单的C程序能否成功链接liblsan库使用-lsan标志并进行编译验证其作为链接时库的基本可用性。"
},
{
"name": "test_liblsan_function_runtime_detection",
"desc": "测试一个包含内存泄漏的示例程序在启用LSan通过环境变量如ASAN_OPTIONS运行时是否能被liblsan检测并报告泄漏信息。"
},
{ {
"name": "test_liblsan_function_install", "name": "test_liblsan_function_install",
"desc": "验证通过系统包管理器apt/yum/dnf能够成功安装liblsan软件包无错误且文件就位。" "desc": "验证通过系统包管理器apt/yum/dnf能够成功安装liblsan软件包无错误且文件就位。"
},
{
"name": "test_liblsan_function_check_version",
"desc": "测试检查已安装liblsan软件包的版本信息验证版本号可正常查询。"
},
{
"name": "test_liblsan_function_uninstall",
"desc": "验证通过包管理器安全卸载liblsan软件包确保卸载后相关文件被移除且不影响核心系统。"
},
{
"name": "test_liblsan_function_compile_link",
"desc": "测试一个简单的C程序能否使用-lsan标志成功编译和链接liblsan库验证其作为开发库的基本功能。"
},
{
"name": "test_liblsan_function_leak_report",
"desc": "测试一个包含内存泄漏的程序在启用LSan运行时是否能被正确检测并生成详细的泄漏报告。"
},
{
"name": "test_liblsan_function_env_options",
"desc": "测试通过环境变量如LSAN_OPTIONS配置LSan运行行为如设置退出码、过滤规则是否生效。"
},
{
"name": "test_liblsan_function_suppression",
"desc": "测试使用LSan抑制文件suppression file来忽略特定泄漏报告的功能是否正常工作。"
} }
] ]
} }

View File

@@ -13,14 +13,6 @@
{ {
"name": "test_glib2-tests_function_version", "name": "test_glib2-tests_function_version",
"desc": "测试查询glib2-tests软件包版本信息的功能验证版本信息是否正确显示。" "desc": "测试查询glib2-tests软件包版本信息的功能验证版本信息是否正确显示。"
},
{
"name": "test_glib2-tests_function_run",
"desc": "测试运行glib2-tests软件包自带的测试套件验证核心功能是否正常。"
},
{
"name": "test_glib2-tests_function_dependency",
"desc": "测试glib2-tests软件包的依赖关系验证其依赖的GLib库功能是否正常可用。"
} }
] ]
} }

View File

@@ -1,50 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/gtk-vnc/gtk-vnc2",
"machine num": 1,
"cases": [
{
"name": "test_gtk-vnc2_function_connect",
"desc": "Test connection to VNC server"
},
{
"name": "test_gtk-vnc2_function_install",
"desc": "Test installation of gtk-vnc2 package"
},
{
"name": "test_gtk-vnc2_function_uninstall",
"desc": "Test uninstallation of gtk-vnc2 package"
},
{
"name": "test_gtk-vnc2_function_version",
"desc": "Test version query of gtk-vnc2 package"
},
{
"name": "test_gtk-vnc2_function_launch",
"desc": "Test launching gtk-vnc2 viewer"
},
{
"name": "test_gtk-vnc2_function_display",
"desc": "Test basic display of VNC window"
},
{
"name": "test_gtk-vnc2_function_keyboard",
"desc": "Test keyboard input simulation"
},
{
"name": "test_gtk-vnc2_function_mouse",
"desc": "Test mouse input simulation"
},
{
"name": "test_gtk-vnc2_function_scaling",
"desc": "Test display scaling options"
},
{
"name": "test_gtk-vnc2_function_clipboard",
"desc": "Test clipboard sharing"
},
{
"name": "test_gtk-vnc2_function_encryption",
"desc": "Test encryption options"
}
]
}

View File

@@ -6,18 +6,6 @@
"name": "test_nodejs-lodash-basefilter_function_install", "name": "test_nodejs-lodash-basefilter_function_install",
"desc": "测试nodejs-lodash-basefilter软件包能够通过系统包管理器成功安装" "desc": "测试nodejs-lodash-basefilter软件包能够通过系统包管理器成功安装"
}, },
{
"name": "test_nodejs-lodash-basefilter_function_check_installed",
"desc": "测试nodejs-lodash-basefilter软件包已正确安装并存在于系统中"
},
{
"name": "test_nodejs-lodash-basefilter_function_require_module",
"desc": "测试在Node.js环境中能够成功require(\"lodash.filter\")模块"
},
{
"name": "test_nodejs-lodash-basefilter_function_basic_filter",
"desc": "测试lodash.filter函数能够对数组进行基本过滤操作"
},
{ {
"name": "test_nodejs-lodash-basefilter_function_uninstall", "name": "test_nodejs-lodash-basefilter_function_uninstall",
"desc": "测试nodejs-lodash-basefilter软件包能够通过系统包管理器成功卸载" "desc": "测试nodejs-lodash-basefilter软件包能够通过系统包管理器成功卸载"

View File

@@ -6,10 +6,6 @@
"name": "test_maven-monitor_install", "name": "test_maven-monitor_install",
"desc": "测试maven-monitor软件包的安装功能验证安装过程是否正常完成。", "desc": "测试maven-monitor软件包的安装功能验证安装过程是否正常完成。",
"machine num": 1 "machine num": 1
},
{
"name": "test_maven-monitor_function_start",
"desc": "测试maven-monitor软件包的启动功能验证启动过程是否正常完成。"
} }
] ]
} }

View File

@@ -6,18 +6,10 @@
"name": "test_perl-ExtUtils-Install-help_function_usage", "name": "test_perl-ExtUtils-Install-help_function_usage",
"desc": "测试软件包提供的帮助文档或基本使用命令的可用性" "desc": "测试软件包提供的帮助文档或基本使用命令的可用性"
}, },
{
"name": "test_perl-ExtUtils-Install-help_function_install",
"desc": "测试软件包安装功能是否正常"
},
{ {
"name": "test_perl-ExtUtils-Install-help_function_uninstall", "name": "test_perl-ExtUtils-Install-help_function_uninstall",
"desc": "测试软件包卸载功能是否正常" "desc": "测试软件包卸载功能是否正常"
}, },
{
"name": "test_perl-ExtUtils-Install-help_function_version",
"desc": "测试获取软件包版本信息功能"
},
{ {
"name": "test_perl-ExtUtils-Install-help_function_help", "name": "test_perl-ExtUtils-Install-help_function_help",
"desc": "测试软件包帮助文档的显示与可用性" "desc": "测试软件包帮助文档的显示与可用性"

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/python-scikit-build-core/python3-scikit-build-core",
"machine num": 1,
"cases": [
{
"name": "test_python3-scikit-build-core_function_build",
"desc": "Test the build functionality of the package"
}
]
}

View File

@@ -6,10 +6,6 @@
"name": "test_python-tzlocal-help_install", "name": "test_python-tzlocal-help_install",
"desc": "测试python-tzlocal-help软件包的安装功能验证是否能够成功安装。", "desc": "测试python-tzlocal-help软件包的安装功能验证是否能够成功安装。",
"machine num": 1 "machine num": 1
},
{
"name": "test_python-tzlocal-help_function_get",
"desc": "测试python-tzlocal-help软件包的时区获取功能验证是否能正确获取本地时区。"
} }
] ]
} }

View File

@@ -2,49 +2,9 @@
"path": "$OET_PATH/testcases/function_test/pkg_test/python-versioneer/python3-versioneer", "path": "$OET_PATH/testcases/function_test/pkg_test/python-versioneer/python3-versioneer",
"machine num": 1, "machine num": 1,
"cases": [ "cases": [
{
"name": "test_python3-versioneer_versioneer_install",
"desc": "测试 versioneer install 命令"
},
{ {
"name": "test_python3-versioneer_versioneer_install__vendor", "name": "test_python3-versioneer_versioneer_install__vendor",
"desc": "测试 versioneer install --vendor 参数" "desc": "测试 versioneer install --vendor 参数"
},
{
"name": "test_python3-versioneer_versioneer_install__no_vendor",
"desc": "测试 versioneer install --no-vendor 参数"
},
{
"name": "test_python3-versioneer_function_version_check",
"desc": "测试 versioneer 版本检查功能"
},
{
"name": "test_python3-versioneer_versioneer_install_vendor",
"desc": "执行 versioneer install --vendor 命令"
},
{
"name": "test_python3-versioneer_versioneer_install_no_vendor",
"desc": "执行 versioneer install --no-vendor 命令"
},
{
"name": "test_python3-versioneer_function_package_install",
"desc": "测试python3-versioneer软件包的安装"
},
{
"name": "test_python3-versioneer_function_package_remove",
"desc": "测试python3-versioneer软件包的卸载"
},
{
"name": "test_python3-versioneer_function_basic_help",
"desc": "测试versioneer命令基本帮助信息"
},
{
"name": "test_python3-versioneer_function_cmd_version",
"desc": "测试versioneer命令的版本输出"
},
{
"name": "test_python3-versioneer_function_setup_py",
"desc": "测试versioneer在setup.py中的集成与版本生成"
} }
] ]
} }

View File

@@ -16,151 +16,6 @@
"name": "test_texlive-fbithesis-doc_upgrade", "name": "test_texlive-fbithesis-doc_upgrade",
"desc": "测试texlive-fbithesis-doc软件包的升级功能验证是否能够正确升级到新版本", "desc": "测试texlive-fbithesis-doc软件包的升级功能验证是否能够正确升级到新版本",
"machine num": 1 "machine num": 1
},
{
"name": "test_texlive-fbithesis-doc_downgrade",
"desc": "测试texlive-fbithesis-doc软件包的降级功能验证是否能够正确降级到旧版本",
"machine num": 1
},
{
"name": "test_texlive-fbithesis-doc_rollback",
"desc": "测试texlive-fbithesis-doc软件包的回滚功能验证是否能够正确回滚到上一个版本",
"machine num": 1
},
{
"name": "test_texlive-fbithesis-doc_reinstall",
"desc": "测试texlive-fbithesis-doc软件包的重新安装功能验证是否能够正确重新安装到系统中",
"machine num": 1
},
{
"name": "test_texlive-fbithesis-doc_rollback_upgrade",
"desc": "测试texlive-fbithesis-doc软件包的升级回滚功能验证是否能够正确从升级后的版本回滚到升级前的版本",
"machine num": 1
},
{
"name": "test_texlive-fbithesis-doc_downgrade_rollback",
"desc": "测试texlive-fbithesis-doc软件包的降级回滚功能验证是否能够正确从降级后的版本回滚到降级前的版本",
"machine num": 1
},
{
"name": "test_texlive-fbithesis-doc_service_start",
"desc": "测试texlive-fbithesis-doc软件包提供的服务启动功能验证服务是否能正常启动",
"machine num": 1
},
{
"name": "test_texlive-fbithesis-doc_service_stop",
"desc": "测试texlive-fbithesis-doc软件包提供的服务停止功能验证服务是否能正常停止",
"machine num": 1
},
{
"name": "test_texlive-fbithesis-doc_service_restart",
"desc": "测试texlive-fbithesis-doc软件包提供的服务重启功能验证服务是否能正常重启",
"machine num": 1
},
{
"name": "test_texlive-fbithesis-doc_service_status",
"desc": "测试texlive-fbithesis-doc软件包提供的服务状态查询功能验证是否能正常查询服务状态",
"machine num": 1
},
{
"name": "test_texlive-fbithesis-doc_service_log",
"desc": "测试texlive-fbithesis-doc软件包提供的服务日志查看功能验证是否能正常查看服务日志",
"machine num": 1
},
{
"name": "test_texlive-fbithesis-doc_service_config",
"desc": "测试texlive-fbithesis-doc软件包提供的服务配置功能验证是否能正常配置服务参数",
"machine num": 1
},
{
"name": "test_texlive-fbithesis-doc_service_reload",
"desc": "测试texlive-fbithesis-doc软件包提供的服务重载功能验证服务是否能正常重载配置",
"machine num": 1
},
{
"name": "test_texlive-fbithesis-doc_service_enable",
"desc": "测试texlive-fbithesis-doc软件包提供的服务开机自启功能验证服务是否能正常设置为开机自启",
"machine num": 1
},
{
"name": "test_texlive-fbithesis-doc_service_disable",
"desc": "测试texlive-fbithesis-doc软件包提供的服务开机自启禁用功能验证服务是否能正常取消开机自启",
"machine num": 1
},
{
"name": "test_texlive-fbithesis-doc_verify_documentation",
"desc": "测试texlive-fbithesis-doc软件包的文档验证功能验证文档是否完整且可访问",
"machine num": 1
},
{
"name": "test_texlive-fbithesis-doc_verify_installation",
"desc": "测试texlive-fbithesis-doc软件包的安装验证功能验证安装后的文件是否完整且符合预期",
"machine num": 1
},
{
"name": "test_texlive-fbithesis-doc_verify_dependencies",
"desc": "测试texlive-fbithesis-doc软件包的依赖关系验证功能验证所有依赖包是否已正确安装且版本符合要求",
"machine num": 1
},
{
"name": "test_texlive-fbithesis-doc_verify_command_output",
"desc": "测试texlive-fbithesis-doc软件包提供的命令的输出验证功能验证命令执行后的输出是否符合预期",
"machine num": 1
},
{
"name": "test_texlive-fbithesis-doc_verify_file_permissions",
"desc": "测试texlive-fbithesis-doc软件包的文件权限验证功能验证安装后的文件权限是否符合预期",
"machine num": 1
},
{
"name": "test_texlive-fbithesis-doc_verify_command_help",
"desc": "测试texlive-fbithesis-doc软件包提供的命令的帮助功能验证命令的帮助信息是否完整且可访问",
"machine num": 1
},
{
"name": "test_texlive-fbithesis-doc_verify_environment",
"desc": "测试texlive-fbithesis-doc软件包的环境验证功能验证安装后的环境变量是否设置正确且符合预期",
"machine num": 1
},
{
"name": "test_texlive-fbithesis-doc_verify_service_config",
"desc": "测试texlive-fbithesis-doc软件包提供的服务配置验证功能验证服务配置是否正确且符合预期",
"machine num": 1
},
{
"name": "test_texlive-fbithesis-doc_verify_command_version",
"desc": "测试texlive-fbithesis-doc软件包提供的命令的版本查询功能验证命令是否能正确返回版本信息",
"machine num": 1
},
{
"name": "test_texlive-fbithesis-doc_verify_command_options",
"desc": "测试texlive-fbithesis-doc软件包提供的命令选项验证功能验证命令的所有选项是否可用且符合预期",
"machine num": 1
},
{
"name": "test_texlive-fbithesis-doc_verify_command_usage",
"desc": "测试texlive-fbithesis-doc软件包提供的命令使用说明验证功能验证命令的使用说明是否完整且可访问",
"machine num": 1
},
{
"name": "test_texlive-fbithesis-doc_verify_command_timeout",
"desc": "测试texlive-fbithesis-doc软件包提供的命令超时功能验证命令在超时设置下是否能正常执行并返回预期结果",
"machine num": 1
},
{
"name": "test_texlive-fbithesis-doc_verify_command_syntax",
"desc": "测试texlive-fbithesis-doc软件包提供的命令语法验证功能验证命令的语法是否正确且符合预期",
"machine num": 1
},
{
"name": "test_texlive-fbithesis-doc_verify_service_health",
"desc": "测试texlive-fbithesis-doc软件包提供的服务健康检查功能验证服务是否能正常响应健康检查请求",
"machine num": 1
},
{
"name": "test_texlive-fbithesis-doc_verify_command_default",
"desc": "测试texlive-fbithesis-doc软件包提供的命令的默认参数功能验证命令在无参数情况下是否能正常执行并返回预期结果",
"machine num": 1
} }
] ]
} }

View File

@@ -2,10 +2,6 @@
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-l/texlive-hyphenex", "path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-l/texlive-hyphenex",
"machine num": 1, "machine num": 1,
"cases": [ "cases": [
{
"name": "test_texlive-hyphenex_function_basic",
"desc": "Test basic command usage"
},
{ {
"name": "test_texlive-hyphenex_function_install", "name": "test_texlive-hyphenex_function_install",
"desc": "Test installation of the package" "desc": "Test installation of the package"
@@ -17,10 +13,6 @@
{ {
"name": "test_texlive-hyphenex_function_check_installed", "name": "test_texlive-hyphenex_function_check_installed",
"desc": "Verify the package is installed and available" "desc": "Verify the package is installed and available"
},
{
"name": "test_texlive-hyphenex_function_usage_example",
"desc": "Test a basic hyphenation example with LaTeX"
} }
] ]
} }

View File

@@ -2,37 +2,9 @@
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-p/texlive-modiagram", "path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-p/texlive-modiagram",
"machine num": 1, "machine num": 1,
"cases": [ "cases": [
{
"name": "test_texlive-modiagram_function_basic",
"desc": "Test basic diagram generation"
},
{
"name": "test_texlive-modiagram_function_install",
"desc": "Test if the package can be installed successfully via package manager"
},
{ {
"name": "test_texlive-modiagram_function_remove", "name": "test_texlive-modiagram_function_remove",
"desc": "Test if the package can be cleanly removed via package manager" "desc": "Test if the package can be cleanly removed via package manager"
},
{
"name": "test_texlive-modiagram_function_basic_compile",
"desc": "Test basic LaTeX document compilation with modiagram package loaded"
},
{
"name": "test_texlive-modiagram_function_mo_diagram",
"desc": "Test generation of a basic molecular orbital diagram"
},
{
"name": "test_texlive-modiagram_function_atomic_orbital",
"desc": "Test generation of atomic orbital diagrams"
},
{
"name": "test_texlive-modiagram_function_custom_levels",
"desc": "Test setting custom energy levels and labels in diagrams"
},
{
"name": "test_texlive-modiagram_function_style_options",
"desc": "Test applying different styles and colors to diagram elements"
} }
] ]
} }

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-p/texlive-mweights",
"machine num": 1,
"cases": [
{
"name": "test_texlive-mweights_function_install",
"desc": "Test installation of texlive-mweights package"
}
]
}

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-s/texlive-pst-geo",
"machine num": 1,
"cases": [
{
"name": "test_texlive-pst-geo_function_basic",
"desc": "Basic functionality test for texlive-pst-geo"
}
]
}

View File

@@ -21,11 +21,6 @@
"name": "test_texlive-relenc_downgrade", "name": "test_texlive-relenc_downgrade",
"desc": "测试texlive-relenc软件包的降级功能验证是否能够正确降级到旧版本。", "desc": "测试texlive-relenc软件包的降级功能验证是否能够正确降级到旧版本。",
"machine num": 1 "machine num": 1
},
{
"name": "test_texlive-relenc_rollback",
"desc": "测试texlive-relenc软件包的回滚功能验证是否能够正确回滚到之前的版本。",
"machine num": 1
} }
] ]
} }

View File

@@ -2,26 +2,10 @@
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-u/texlive-sciposter", "path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-u/texlive-sciposter",
"machine num": 1, "machine num": 1,
"cases": [ "cases": [
{
"name": "test_texlive-sciposter_function_basic",
"desc": "Basic functionality test"
},
{
"name": "test_texlive-sciposter_function_install",
"desc": "Test installation of texlive-sciposter package"
},
{ {
"name": "test_texlive-sciposter_function_check_installed", "name": "test_texlive-sciposter_function_check_installed",
"desc": "Check if texlive-sciposter is installed on the system" "desc": "Check if texlive-sciposter is installed on the system"
}, },
{
"name": "test_texlive-sciposter_function_basic_usage",
"desc": "Test basic usage of sciposter document class"
},
{
"name": "test_texlive-sciposter_function_compile_example",
"desc": "Compile a simple example poster with pdflatex"
},
{ {
"name": "test_texlive-sciposter_function_uninstall", "name": "test_texlive-sciposter_function_uninstall",
"desc": "Test removal of texlive-sciposter package" "desc": "Test removal of texlive-sciposter package"

View File

@@ -1,30 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-x/texlive-beamerappendixnote",
"machine num": 1,
"cases": [
{
"name": "test_texlive-beamerappendixnote_function_basic",
"desc": "Basic functionality test"
},
{
"name": "test_texlive-beamerappendixnote_function_install",
"desc": "Test package installation via package manager"
},
{
"name": "test_texlive-beamerappendixnote_function_usage",
"desc": "Test basic package usage in a LaTeX document"
},
{
"name": "test_texlive-beamerappendixnote_function_clean",
"desc": "Test cleanup of auxiliary files"
},
{
"name": "test_texlive-beamerappendixnote_function_check",
"desc": "Test if the package is available in the TeX system"
},
{
"name": "test_texlive-beamerappendixnote_function_manual",
"desc": "Test access to package documentation"
}
]
}

View File

@@ -13,14 +13,6 @@
{ {
"name": "test_texlive-frenchmath_function_verify", "name": "test_texlive-frenchmath_function_verify",
"desc": "Verify package installation status" "desc": "Verify package installation status"
},
{
"name": "test_texlive-frenchmath_function_usage",
"desc": "Test basic LaTeX compilation with package"
},
{
"name": "test_texlive-frenchmath_function_french_math",
"desc": "Test French math typography features"
} }
] ]
} }

View File

@@ -1,10 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-z/texlive-inkpaper",
"machine num": 1,
"cases": [
{
"name": "test_texlive-inkpaper_function_basic",
"desc": "Test basic functionality of texlive-inkpaper"
}
]
}

View File

@@ -1,47 +0,0 @@
{
"path": "$OET_PATH/testcases/function_test/pkg_test/uimaj/jcasgen-maven-plugin",
"machine num": 1,
"cases": [
{
"name": "test_jcasgen-maven-plugin_install",
"desc": "测试软件包 jcasgen-maven-plugin 的安装功能,验证是否能够正确安装到系统中。",
"machine num": 1
},
{
"name": "test_jcasgen-maven-plugin_function_generate",
"desc": "测试软件包 jcasgen-maven-plugin 的代码生成功能,验证是否能够正确生成目标代码。"
},
{
"name": "test_jcasgen-maven-plugin_function_config",
"desc": "测试软件包 jcasgen-maven-plugin 的配置功能,验证配置文件是否能够正确加载和应用。"
},
{
"name": "test_jcasgen-maven-plugin_function_validate",
"desc": "测试软件包 jcasgen-maven-plugin 的验证功能,验证生成的代码是否符合预期规范。"
},
{
"name": "test_jcasgen-maven-plugin_function_deps",
"desc": "测试软件包 jcasgen-maven-plugin 的依赖管理功能,验证是否能够正确处理依赖关系。"
},
{
"name": "test_jcasgen-maven-plugin_function_install",
"desc": "测试软件包 jcasgen-maven-plugin 的安装功能,验证是否能够通过 Maven 正确安装到本地仓库中。"
},
{
"name": "test_jcasgen-maven-plugin_function_help",
"desc": "测试软件包 jcasgen-maven-plugin 的帮助信息功能,验证执行 help 目标是否能正确显示插件使用说明。"
},
{
"name": "test_jcasgen-maven-plugin_function_clean",
"desc": "测试软件包 jcasgen-maven-plugin 的清理功能,验证 clean 目标能否正确清理之前生成的目标代码文件。"
},
{
"name": "test_jcasgen-maven-plugin_function_version",
"desc": "测试软件包 jcasgen-maven-plugin 的版本信息功能,验证执行 version 目标是否能正确显示插件版本号。"
},
{
"name": "test_jcasgen-maven-plugin_function_verify",
"desc": "测试软件包 jcasgen-maven-plugin 的验证功能,验证生成的代码是否符合 Java 编译规范和预期结构。"
}
]
}

View File

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

View File

@@ -1,68 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-19
# @License : Mulan PSL v2
# @Desc : 测试同时使用-c和-n参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "测试开始:测试同时使用-c和-n参数"
LOG_INFO "步骤1检查环境是否已安装corosync-vqsim软件包"
if rpm -q corosync-vqsim &>/dev/null; then
LOG_INFO "corosync-vqsim已安装脚本结束将保持安装状态"
installed_before=true
else
LOG_INFO "corosync-vqsim未安装将在测试步骤中安装"
installed_before=false
fi
LOG_INFO "步骤2检查yum源中是否有corosync-vqsim软件包"
if ! dnf list available corosync-vqsim &>/dev/null; then
LOG_ERROR "yum源中未找到corosync-vqsim软件包"
exit 255
fi
if [ "$installed_before" = false ]; then
LOG_INFO "步骤3安装corosync-vqsim软件包"
dnf install -y corosync-vqsim
CHECK_RESULT $? 0 0 "安装corosync-vqsim失败"
fi
LOG_INFO "步骤4检查corosync-vqsim命令是否支持-c和-n参数"
corosync-vqsim --help | grep -q "\-c" && corosync-vqsim --help | grep -q "\-n"
CHECK_RESULT $? 0 0 "corosync-vqsim命令不支持-c或-n参数"
if [ $? -ne 0 ]; then
exit 255
fi
LOG_INFO "步骤5执行corosync-vqsim命令同时使用-c和-n参数"
corosync-vqsim -c /etc/corosync/corosync.conf -n node1
CHECK_RESULT $? 0 0 "corosync-vqsim命令执行失败"
LOG_INFO "步骤6清理环境恢复到之前的状态"
if [ "$installed_before" = false ]; then
LOG_INFO "卸载corosync-vqsim软件包"
dnf remove -y corosync-vqsim
CHECK_RESULT $? 0 0 "卸载corosync-vqsim失败"
else
LOG_INFO "环境已安装corosync-vqsim保持安装状态"
fi
LOG_INFO "测试结束"
}
main "$@"

View File

@@ -1,72 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-07
# @License : Mulan PSL v2
# @Desc : 同时使用 -c 和 -o 参数指定配置文件和输出文件
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:同时使用 -c 和 -o 参数指定配置文件和输出文件"
# 检查是否已安装corosync-vqsim软件包
if ! dnf list installed corosync-vqsim &>/dev/null; then
LOG_INFO "环境未安装corosync-vqsim将进行安装"
INSTALLED=false
else
LOG_INFO "环境已安装corosync-vqsim"
INSTALLED=true
fi
# 检查yum源中是否有corosync-vqsim软件包
if ! dnf list available corosync-vqsim &>/dev/null; then
LOG_ERROR "yum源中未找到corosync-vqsim软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "正在安装corosync-vqsim软件包"
dnf install -y corosync-vqsim
CHECK_RESULT $? 0 0 "安装corosync-vqsim失败"
fi
# 测试-c和-o参数的功能
LOG_INFO "测试-c和-o参数的功能"
corosync-vqsim -c /etc/corosync/corosync.conf -o /tmp/output.txt
CHECK_RESULT $? 0 0 "执行corosync-vqsim命令失败"
# 检查输出文件是否存在
if [ ! -f /tmp/output.txt ]; then
LOG_ERROR "输出文件未生成"
exit 1
fi
# 清理环境
LOG_INFO "清理测试环境"
rm -f /tmp/output.txt
# 如果脚本开始时未安装软件包,则在结束时卸载
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载corosync-vqsim软件包"
dnf remove -y corosync-vqsim
CHECK_RESULT $? 0 0 "卸载corosync-vqsim失败"
fi
LOG_INFO "测试完成:同时使用 -c 和 -o 参数指定配置文件和输出文件"
}
main "$@"

View File

@@ -1,64 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-19
# @License : Mulan PSL v2
# @Desc : 测试同时使用-c、-o和-n参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试corosync-vqsim同时使用-c、-o和-n参数"
# 检查环境是否已安装corosync-vqsim
LOG_INFO "检查是否已安装corosync-vqsim"
if dnf list installed corosync-vqsim &>/dev/null; then
LOG_INFO "corosync-vqsim已安装测试结束后将保持安装状态"
already_installed=true
else
LOG_INFO "corosync-vqsim未安装将在测试过程中安装"
already_installed=false
fi
# 检查yum源中是否有corosync-vqsim软件包
LOG_INFO "检查yum源中是否有corosync-vqsim软件包"
if ! dnf list available corosync-vqsim &>/dev/null; then
LOG_ERROR "yum源中未找到corosync-vqsim软件包"
exit 255
fi
# 如果未安装则安装corosync-vqsim
if [ "$already_installed" = false ]; then
LOG_INFO "安装corosync-vqsim软件包"
dnf install -y corosync-vqsim
CHECK_RESULT $? 0 0 "安装corosync-vqsim失败"
fi
# 测试同时使用-c、-o和-n参数
LOG_INFO "测试corosync-vqsim同时使用-c、-o和-n参数"
corosync-vqsim -c 1 -o 2 -n 3
CHECK_RESULT $? 0 0 "corosync-vqsim同时使用-c、-o和-n参数执行失败"
# 清理环境:如果测试前未安装,则卸载软件包
if [ "$already_installed" = false ]; then
LOG_INFO "卸载corosync-vqsim软件包"
dnf remove -y corosync-vqsim
CHECK_RESULT $? 0 0 "卸载corosync-vqsim失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,62 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-07
# @License : Mulan PSL v2
# @Desc : 使用 -h 参数显示帮助文本
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装corosync-vqsim软件包
LOG_INFO "检查是否已安装corosync-vqsim软件包"
if rpm -q corosync-vqsim &>/dev/null; then
LOG_INFO "corosync-vqsim已安装"
installed=true
else
LOG_INFO "corosync-vqsim未安装"
installed=false
fi
# 检查yum源中是否存在corosync-vqsim软件包
LOG_INFO "检查yum源中是否存在corosync-vqsim软件包"
if ! dnf list available corosync-vqsim &>/dev/null; then
LOG_ERROR "yum源中不存在corosync-vqsim软件包"
exit 255
fi
# 如果未安装则安装corosync-vqsim软件包
if [ "$installed" = false ]; then
LOG_INFO "安装corosync-vqsim软件包"
dnf install -y corosync-vqsim
CHECK_RESULT $? 0 0 "安装corosync-vqsim失败"
fi
# 测试-h参数显示帮助文本
LOG_INFO "测试-h参数显示帮助文本"
corosync-vqsim -h &>/dev/null
CHECK_RESULT $? 0 0 "执行corosync-vqsim -h失败"
# 如果最初未安装则卸载corosync-vqsim软件包
if [ "$installed" = false ]; then
LOG_INFO "卸载corosync-vqsim软件包"
dnf remove -y corosync-vqsim
CHECK_RESULT $? 0 0 "卸载corosync-vqsim失败"
fi
LOG_INFO "测试脚本执行完成"
}
main "$@"

View File

@@ -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 : 2025-12-07
# @License : Mulan PSL v2
# @Desc : 使用 -n 参数禁用节点添加时的同步
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装corosync-vqsim
LOG_INFO "检查是否已安装corosync-vqsim"
if dnf list installed corosync-vqsim &>/dev/null; then
LOG_INFO "corosync-vqsim已安装脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "corosync-vqsim未安装将在测试结束后卸载"
INSTALLED=false
fi
# 检查yum源中是否有corosync-vqsim软件包
LOG_INFO "检查yum源中是否有corosync-vqsim软件包"
if ! dnf list available corosync-vqsim &>/dev/null; then
LOG_ERROR "yum源中未找到corosync-vqsim软件包"
exit 255
fi
# 安装corosync-vqsim如果未安装
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装corosync-vqsim"
dnf install -y corosync-vqsim
CHECK_RESULT $? 0 0 "安装corosync-vqsim失败"
fi
# 测试禁用节点添加时的同步功能(-n参数
LOG_INFO "测试禁用节点添加时的同步功能(-n参数"
if ! corosync-vqsim -n &>/dev/null; then
LOG_ERROR "-n参数不支持或执行失败"
exit 255
fi
# 清理环境(如果最初未安装)
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载corosync-vqsim"
dnf remove -y corosync-vqsim
CHECK_RESULT $? 0 0 "卸载corosync-vqsim失败"
fi
LOG_INFO "测试脚本执行完成"
}
main "$@"

View File

@@ -1,61 +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-19
# @License : Mulan PSL v2
# @Desc : 测试不使用任何参数使用默认配置和输出到stdout
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试测试不使用任何参数使用默认配置和输出到stdout"
LOG_INFO "步骤1检查测试环境是否已安装corosync-vqsim软件包"
if dnf list installed corosync-vqsim &>/dev/null; then
LOG_INFO "环境已安装corosync-vqsim软件包测试结束后保持安装状态"
INSTALLED=1
else
LOG_INFO "环境未安装corosync-vqsim软件包将在测试过程中安装"
INSTALLED=0
fi
LOG_INFO "步骤2检查yum源中是否存在corosync-vqsim软件包"
if ! dnf list available corosync-vqsim &>/dev/null; then
LOG_ERROR "yum源中未找到corosync-vqsim软件包"
exit 255
fi
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "步骤3安装corosync-vqsim软件包"
dnf install -y corosync-vqsim
CHECK_RESULT $? 0 0 "安装corosync-vqsim软件包失败"
fi
LOG_INFO "步骤4执行corosync-vqsim命令不使用任何参数"
corosync-vqsim
CHECK_RESULT $? 0 0 "corosync-vqsim命令执行失败"
LOG_INFO "步骤5清理测试环境"
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载corosync-vqsim软件包"
dnf remove -y corosync-vqsim
CHECK_RESULT $? 0 0 "卸载corosync-vqsim软件包失败"
else
LOG_INFO "测试环境已安装corosync-vqsim软件包保持安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,76 +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 : 使用 -o 参数指定输出文件
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装corosync-qsim软件包
LOG_INFO "检查是否已安装corosync-qsim软件包"
if rpm -q corosync-qsim &>/dev/null; then
LOG_INFO "corosync-qsim已安装脚本结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "corosync-qsim未安装将在测试步骤中安装"
INSTALLED=false
fi
# 检查yum源中是否有corosync-qsim软件包
LOG_INFO "检查yum源中是否有corosync-qsim软件包"
if ! dnf list available corosync-qsim &>/dev/null; then
LOG_ERROR "yum源中未找到corosync-qsim软件包"
exit 255
fi
# 如果未安装则安装corosync-qsim
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装corosync-qsim软件包"
dnf install -y corosync-qsim
CHECK_RESULT $? 0 0 "安装corosync-qsim失败"
fi
# 测试使用-o参数指定输出文件
LOG_INFO "测试使用-o参数指定输出文件"
OUTPUT_FILE="/tmp/corosync-vqsim_output"
corosync-vqsim -o "$OUTPUT_FILE"
CHECK_RESULT $? 0 0 "执行corosync-vqsim -o失败"
# 检查输出文件是否存在
LOG_INFO "检查输出文件是否存在"
if [ -f "$OUTPUT_FILE" ]; then
LOG_INFO "输出文件创建成功: $OUTPUT_FILE"
else
LOG_ERROR "输出文件未创建"
exit 1
fi
# 清理环境
LOG_INFO "清理环境"
rm -f "$OUTPUT_FILE"
# 如果脚本开始时未安装corosync-qsim则在结束时卸载
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载corosync-qsim软件包"
dnf remove -y corosync-qsim
CHECK_RESULT $? 0 0 "卸载corosync-qsim失败"
fi
LOG_INFO "测试脚本执行完成"
}
main "$@"

View File

@@ -1,82 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-19
# @License : Mulan PSL v2
# @Desc : 测试同时使用-o和-n参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试corosync-vqsim同时使用-o和-n参数功能"
# 检查corosync-vqsim软件包是否已在yum源中
LOG_INFO "检查corosync-vqsim软件包在yum源中的可用性"
dnf list available corosync-vqsim > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到corosync-vqsim软件包"
exit 255
fi
# 检查系统是否已安装corosync-vqsim
LOG_INFO "检查系统是否已安装corosync-vqsim"
rpm -q corosync-vqsim > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "系统已安装corosync-vqsim测试结束后将保持安装状态"
INSTALLED_BEFORE=true
else
LOG_INFO "系统未安装corosync-vqsim将安装软件包作为测试步骤"
INSTALLED_BEFORE=false
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "安装corosync-vqsim软件包"
dnf install -y corosync-vqsim
CHECK_RESULT $? 0 0 "安装corosync-vqsim失败"
fi
# 检查corosync-vqsim命令的-o和-n参数是否支持
LOG_INFO "检查corosync-vqsim命令是否支持-o和-n参数"
corosync-vqsim --help 2>&1 | grep -E "\-o|\-n" > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "corosync-vqsim命令不支持-o或-n参数"
# 如果之前未安装,则卸载软件包
if [ "$INSTALLED_BEFORE" = false ]; then
dnf remove -y corosync-vqsim
fi
exit 255
fi
# 测试同时使用-o和-n参数
LOG_INFO "执行corosync-vqsim -o test_output -n test_node命令"
corosync-vqsim -o test_output -n test_node
CHECK_RESULT $? 0 0 "corosync-vqsim -o test_output -n test_node执行失败"
# 清理测试生成的文件(如果存在)
LOG_INFO "清理测试生成的文件"
rm -f test_output
# 如果测试前未安装,则在测试结束后卸载软件包
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "卸载corosync-vqsim软件包"
dnf remove -y corosync-vqsim
CHECK_RESULT $? 0 0 "卸载corosync-vqsim失败"
fi
LOG_INFO "corosync-vqsim同时使用-o和-n参数测试完成"
}
main "$@"

View File

@@ -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-19
# @License : Mulan PSL v2
# @Desc : 测试检查软件包是否已安装
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试检查软件包是否已安装
LOG_INFO "开始测试检查软件包是否已安装功能"
# 定义软件包名称
PACKAGE_NAME="corosync-qsim"
# 步骤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}软件包已安装,测试结束时保持安装状态"
ALREADY_INSTALLED=1
else
LOG_INFO "${PACKAGE_NAME}软件包未安装,将在测试中安装"
ALREADY_INSTALLED=0
fi
# 步骤3: 如果未安装,则安装软件包
if [ ${ALREADY_INSTALLED} -eq 0 ]; then
LOG_INFO "步骤3: 安装${PACKAGE_NAME}软件包"
dnf install -y ${PACKAGE_NAME} > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}软件包失败"
LOG_INFO "安装${PACKAGE_NAME}软件包成功"
fi
# 步骤4: 验证软件包是否已正确安装
LOG_INFO "步骤4: 验证${PACKAGE_NAME}软件包是否已正确安装"
rpm -q ${PACKAGE_NAME} > /dev/null 2>&1
CHECK_RESULT $? 0 0 "${PACKAGE_NAME}软件包未正确安装"
# 步骤5: 检查软件包提供的命令是否可用
LOG_INFO "步骤5: 检查${PACKAGE_NAME}软件包提供的命令"
# 这里假设corosync-qsim提供了corosync-qdevice命令根据实际软件包调整
COMMAND_NAME="corosync-qdevice"
which ${COMMAND_NAME} > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "${COMMAND_NAME}命令不存在或不支持"
exit 255
fi
LOG_INFO "${COMMAND_NAME}命令可用"
# 步骤6: 测试命令基本功能
LOG_INFO "步骤6: 测试${COMMAND_NAME}命令基本功能"
${COMMAND_NAME} --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "${COMMAND_NAME}命令执行失败"
# 步骤7: 环境恢复
LOG_INFO "步骤7: 环境恢复"
if [ ${ALREADY_INSTALLED} -eq 0 ]; then
LOG_INFO "卸载${PACKAGE_NAME}软件包"
dnf remove -y ${PACKAGE_NAME} > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}软件包失败"
LOG_INFO "卸载${PACKAGE_NAME}软件包成功"
else
LOG_INFO "保持${PACKAGE_NAME}软件包安装状态"
fi
# 步骤8: 验证环境已恢复
LOG_INFO "步骤8: 验证环境已恢复"
if [ ${ALREADY_INSTALLED} -eq 0 ]; then
rpm -q ${PACKAGE_NAME} > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_ERROR "环境恢复失败,${PACKAGE_NAME}软件包仍存在"
exit 1
else
LOG_INFO "环境恢复成功,${PACKAGE_NAME}软件包已卸载"
fi
else
rpm -q ${PACKAGE_NAME} > /dev/null 2>&1
CHECK_RESULT $? 0 0 "环境恢复失败,${PACKAGE_NAME}软件包丢失"
LOG_INFO "环境恢复成功,${PACKAGE_NAME}软件包保持安装"
fi
LOG_INFO "测试检查软件包是否已安装功能完成"
}
main "$@"

View File

@@ -1,65 +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-19
# @License : Mulan PSL v2
# @Desc : 测试使用默认配置启动模拟器
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:测试使用默认配置启动模拟器"
LOG_INFO "步骤1检查corosync-qsim软件包是否已在yum源中"
if ! dnf list available corosync-qsim &>/dev/null; then
LOG_ERROR "yum源中未找到corosync-qsim软件包"
exit 255
fi
LOG_INFO "步骤2检查当前环境是否已安装corosync-qsim"
if rpm -q corosync-qsim &>/dev/null; then
INSTALLED=true
LOG_INFO "corosync-qsim已安装脚本结束后将保持安装状态"
else
INSTALLED=false
LOG_INFO "corosync-qsim未安装将进行安装"
fi
LOG_INFO "步骤3如果未安装则安装corosync-qsim软件包"
if [ "$INSTALLED" = false ]; then
dnf install -y corosync-qsim
CHECK_RESULT $? 0 0 "安装corosync-qsim失败"
fi
LOG_INFO "步骤4检查corosync-qsim命令是否支持默认参数启动"
corosync-qsim --help 2>&1 | grep -q "default"
CHECK_RESULT $? 0 0 "corosync-qsim命令不支持默认参数启动"
LOG_INFO "步骤5使用默认配置启动corosync-qsim模拟器"
corosync-qsim --default
CHECK_RESULT $? 0 0 "使用默认配置启动模拟器失败"
LOG_INFO "步骤6清理环境如果脚本开始时未安装则卸载软件包"
if [ "$INSTALLED" = false ]; then
dnf remove -y corosync-qsim
CHECK_RESULT $? 0 0 "卸载corosync-qsim失败"
LOG_INFO "已卸载corosync-qsim软件包环境已恢复"
else
LOG_INFO "corosync-qsim保持安装状态无需卸载"
fi
LOG_INFO "测试完成:测试使用默认配置启动模拟器"
}
main "$@"

View File

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

View File

@@ -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-19
# @License : Mulan PSL v2
# @Desc : 测试模拟指定节点数的集群
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:模拟指定节点数的集群"
LOG_INFO "步骤1检查环境是否已安装corosync-qsim软件包"
if rpm -q corosync-qsim &> /dev/null; then
LOG_INFO "corosync-qsim已安装脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "corosync-qsim未安装将在测试步骤中安装"
INSTALLED=false
fi
LOG_INFO "步骤2检查yum源中是否有corosync-qsim软件包"
if ! dnf list available corosync-qsim &> /dev/null; then
LOG_ERROR "yum源中未找到corosync-qsim软件包"
exit 255
fi
LOG_INFO "步骤3检查corosync-qsim命令是否支持模拟集群的参数"
if ! corosync-qsim --help 2>&1 | grep -q "simulate-cluster"; then
LOG_ERROR "corosync-qsim命令不支持模拟集群参数"
exit 255
fi
if [ "$INSTALLED" = false ]; then
LOG_INFO "步骤4安装corosync-qsim软件包"
dnf install -y corosync-qsim
CHECK_RESULT $? 0 0 "安装corosync-qsim失败"
fi
LOG_INFO "步骤5模拟指定节点数的集群假设节点数为3"
corosync-qsim simulate-cluster --nodes 3
CHECK_RESULT $? 0 0 "模拟集群失败"
LOG_INFO "步骤6验证集群模拟是否成功"
if systemctl status corosync-qsim &> /dev/null; then
LOG_INFO "集群模拟成功corosync-qsim服务正在运行"
else
LOG_ERROR "集群模拟失败corosync-qsim服务未运行"
exit 1
fi
LOG_INFO "步骤7清理环境恢复到之前的状态"
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载corosync-qsim软件包"
dnf remove -y corosync-qsim
CHECK_RESULT $? 0 0 "卸载corosync-qsim失败"
else
LOG_INFO "保持corosync-qsim安装状态"
fi
LOG_INFO "测试完成:模拟指定节点数的集群"
}
main "$@"

View File

@@ -1,76 +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 : 测试启动corosync-vqsim服务
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试启动corosync-vqsim服务"
# 检查是否已安装corosync-vqsim
if rpm -q corosync-vqsim &>/dev/null; then
LOG_INFO "corosync-vqsim已安装"
installed=true
else
LOG_INFO "corosync-vqsim未安装"
installed=false
fi
# 检查yum源中是否有corosync-vqsim软件包
if ! dnf list available corosync-vqsim &>/dev/null; then
LOG_ERROR "yum源中未找到corosync-vqsim软件包"
exit 255
fi
# 如果未安装则进行安装
if [ "$installed" = false ]; then
LOG_INFO "开始安装corosync-vqsim"
dnf install -y corosync-vqsim
CHECK_RESULT $? 0 0 "安装corosync-vqsim失败"
LOG_INFO "corosync-vqsim安装成功"
fi
# 检查corosync-vqsim服务是否支持start参数
if ! systemctl list-unit-files | grep -q corosync-vqsim.service; then
LOG_ERROR "corosync-vqsim服务不存在或不支持"
exit 255
fi
# 启动corosync-vqsim服务
LOG_INFO "启动corosync-vqsim服务"
systemctl start corosync-vqsim
CHECK_RESULT $? 0 0 "启动corosync-vqsim服务失败"
LOG_INFO "corosync-vqsim服务启动成功"
# 检查服务状态是否为active
LOG_INFO "检查corosync-vqsim服务状态"
systemctl is-active corosync-vqsm &>/dev/null
CHECK_RESULT $? 0 0 "corosync-qvsm服务未运行"
# 如果之前未安装则在测试结束后卸载软件包
if [ "$installed" = false ]; then
LOG_INFO "卸载coroysnc-qvsm软件包"
dnf remove -y coroysnc-qvsm
CHECK_RESULT $? 0 0 "卸载coroysnc-qvsm失败"
LOG_INFO “环境恢复完成”
fi
LOG_INFO “测试完成”
}
main "$@"

View File

@@ -1,103 +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-19
# @License : Mulan PSL v2
# @Desc : 测试软件包卸载
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义变量
PACKAGE_NAME="corosync-vqsim"
TEST_COMMAND="corosync-vqsim"
TEST_OPTION="--help"
# 检查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
if [ $? -eq 0 ]; then
LOG_INFO "软件包 $PACKAGE_NAME 已安装"
INSTALLED_BEFORE_TEST=true
else
LOG_INFO "软件包 $PACKAGE_NAME 未安装"
INSTALLED_BEFORE_TEST=false
fi
# 如果未安装,则进行安装
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
LOG_INFO "安装软件包 $PACKAGE_NAME"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
fi
# 检查命令是否存在
LOG_INFO "检查命令 $TEST_COMMAND 是否存在"
which $TEST_COMMAND &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "命令 $TEST_COMMAND 不存在"
exit 255
fi
# 检查命令参数是否支持
LOG_INFO "检查命令 $TEST_COMMAND 参数 $TEST_OPTION 是否支持"
$TEST_COMMAND $TEST_OPTION &>/dev/null
if [ $? -eq 255 ]; then
LOG_ERROR "命令 $TEST_COMMAND 不支持参数 $TEST_OPTION"
exit 255
fi
# 执行测试命令
LOG_INFO "执行命令 $TEST_COMMAND $TEST_OPTION"
$TEST_COMMAND $TEST_OPTION
CHECK_RESULT $? 0 0 "执行命令 $TEST_COMMAND $TEST_OPTION 失败"
# 测试卸载功能
LOG_INFO "测试卸载软件包 $PACKAGE_NAME"
dnf remove -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME 失败"
# 验证卸载是否成功
LOG_INFO "验证软件包 $PACKAGE_NAME 是否已卸载"
rpm -q $PACKAGE_NAME &>/dev/null
if [ $? -eq 0 ]; then
LOG_ERROR "软件包 $PACKAGE_NAME 卸载失败"
exit 1
else
LOG_INFO "软件包 $PACKAGE_NAME 卸载成功"
fi
# 环境恢复
LOG_INFO "环境恢复"
if [ "$INSTALLED_BEFORE_TEST" = true ]; then
LOG_INFO "重新安装软件包 $PACKAGE_NAME 以恢复到初始状态"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "重新安装软件包 $PACKAGE_NAME 失败"
else
LOG_INFO "初始状态未安装软件包 $PACKAGE_NAME,无需重新安装"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,93 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-19
# @License : Mulan PSL v2
# @Desc : 测试验证输出文件内容格式
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:验证输出文件内容格式"
# 检查是否已安装corosync-qsim
LOG_INFO "检查corosync-qsim是否已安装"
if rpm -q corosync-qsim > /dev/null 2>&1; then
LOG_INFO "corosync-qsim已安装测试完成后保持安装状态"
installed_before=true
else
LOG_INFO "corosync-qsim未安装将在测试前安装"
installed_before=false
fi
# 检查yum源中是否有corosync-qsim包
LOG_INFO "检查yum源中是否有corosync-qsim包"
if ! dnf list available corosync-qsim > /dev/null 2>&1; then
LOG_ERROR "yum源中未找到corosync-qsim包"
exit 255
fi
# 如果未安装则安装corosync-qsim
if [ "$installed_before" = false ]; then
LOG_INFO "安装corosync-qsim"
dnf install -y corosync-qsim
CHECK_RESULT $? 0 0 "安装corosync-qsim失败"
fi
# 检查corosync-qsim命令是否支持--output参数
LOG_INFO "检查corosync-qsim命令是否支持--output参数"
if ! corosync-qsim --help 2>&1 | grep -q -- "--output"; then
LOG_ERROR "corosync-qsim命令不支持--output参数"
exit 255
fi
# 执行corosync-qsim命令生成输出文件
LOG_INFO "执行corosync-qsim命令生成输出文件"
output_file="/tmp/corosync_qsim_output.txt"
corosync-qsim --output "$output_file"
CHECK_RESULT $? 0 0 "执行corosync-qsim命令失败"
# 验证输出文件是否存在
LOG_INFO "验证输出文件是否存在"
if [ ! -f "$output_file" ]; then
LOG_ERROR "输出文件未生成"
exit 1
fi
# 验证输出文件内容格式
LOG_INFO "验证输出文件内容格式"
# 示例检查:文件非空且包含特定关键字(根据实际格式要求调整)
if [ -s "$output_file" ] && grep -q "expected_keyword" "$output_file"; then
LOG_INFO "输出文件内容格式符合预期"
else
LOG_ERROR "输出文件内容格式不符合预期"
exit 1
fi
# 清理临时文件
LOG_INFO "清理临时文件"
rm -f "$output_file"
# 如果测试前未安装则卸载corosync-qsim
if [ "$installed_before" = false ]; then
LOG_INFO "卸载corosync-qsim"
dnf remove -y corosync-qsim
CHECK_RESULT $? 0 0 "卸载corosync-qsim失败"
fi
LOG_INFO "测试完成:验证输出文件内容格式"
}
main "$@"

View File

@@ -1,64 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-19
# @License : Mulan PSL v2
# @Desc : 测试显示版本信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:测试显示版本信息"
# 检查环境是否已安装corosync-vqsim
LOG_INFO "检查corosync-vqsim是否已安装"
if dnf list installed corosync-vqsim &>/dev/null; then
LOG_INFO "corosync-vqsim已安装脚本结束后将保持安装状态"
INSTALLED_BEFORE=true
else
LOG_INFO "corosync-vqsim未安装将在测试步骤中安装"
INSTALLED_BEFORE=false
fi
# 检查yum源中是否有corosync-vqsim软件包
LOG_INFO "检查yum源中是否有corosync-vqsim软件包"
if ! dnf list available corosync-vqsim &>/dev/null; then
LOG_ERROR "yum源中未找到corosync-vqsim软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "安装corosync-vqsim软件包"
dnf install -y corosync-vqsim
CHECK_RESULT $? 0 0 "安装corosync-vqsim失败"
fi
# 测试显示版本信息
LOG_INFO "执行corosync-vqsim --version命令"
corosync-vqsim --version
CHECK_RESULT $? 0 0 "执行corosync-vqsim --version失败"
# 清理环境:如果之前未安装,则卸载软件包
if [ "$INSTALLED_BEFORE" = false ]; then
LOG_INFO "卸载corosync-vqsim软件包"
dnf remove -y corosync-vqsim
CHECK_RESULT $? 0 0 "卸载corosync-vqsim失败"
fi
LOG_INFO "测试完成:测试显示版本信息"
}
main "$@"

View File

@@ -1,92 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-01-28
# @License : Mulan PSL v2
# @Desc : 测试一个简单的C程序能否成功链接liblsan库使用-lsan标志并进行编译验证其作为链接时库的基本可用性。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义变量
TEST_PKG="gcc"
TEST_FILE="test_lsan.c"
TEST_BINARY="test_lsan"
TEST_SOURCE="
#include <stdlib.h>
int main() {
int *p = malloc(10 * sizeof(int));
free(p);
return 0;
}
"
# 检查软件包是否存在于yum源中
LOG_INFO "检查yum源中是否存在$TEST_PKG软件包"
dnf list available $TEST_PKG &>/dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在$TEST_PKG软件包"
exit 255
fi
# 判断环境是否已安装gcc
LOG_INFO "检查环境是否已安装$TEST_PKG"
rpm -q $TEST_PKG &>/dev/null
if [ $? -eq 0 ]; then
LOG_INFO "$TEST_PKG已安装,测试结束后保持安装状态"
PKG_INSTALLED=1
else
LOG_INFO "$TEST_PKG未安装,将在测试过程中安装"
PKG_INSTALLED=0
fi
# 如果未安装则安装gcc
if [ $PKG_INSTALLED -eq 0 ]; then
LOG_INFO "安装$TEST_PKG软件包"
dnf install -y $TEST_PKG
CHECK_RESULT $? 0 0 "安装$TEST_PKG失败"
fi
# 创建测试C程序
LOG_INFO "创建测试C程序文件"
echo "$TEST_SOURCE" > $TEST_FILE
CHECK_RESULT $? 0 0 "创建测试文件失败"
# 测试编译链接liblsan库
LOG_INFO "测试编译链接liblsan库"
gcc -o $TEST_BINARY $TEST_FILE -fsanitize=address -lsan
CHECK_RESULT $? 0 0 "编译链接liblsan库失败"
# 运行测试程序
LOG_INFO "运行测试程序"
./$TEST_BINARY
CHECK_RESULT $? 0 0 "运行测试程序失败"
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f $TEST_FILE $TEST_BINARY
CHECK_RESULT $? 0 0 "清理测试文件失败"
# 如果测试前未安装gcc则卸载
if [ $PKG_INSTALLED -eq 0 ]; then
LOG_INFO "卸载$TEST_PKG软件包"
dnf remove -y $TEST_PKG
CHECK_RESULT $? 0 0 "卸载$TEST_PKG失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,114 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-01-28
# @License : Mulan PSL v2
# @Desc : 测试检查liblsan软件包是否已正确安装到系统中的功能验证其文件如库文件、头文件是否存在于标准路径。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义变量
PKG_NAME="liblsan"
LOG_INFO "开始测试${PKG_NAME}软件包安装检查功能"
# 步骤1检查yum源中是否存在指定软件包
LOG_INFO "步骤1检查yum源中是否存在${PKG_NAME}软件包"
dnf list available ${PKG_NAME} > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到${PKG_NAME}软件包"
exit 255
fi
LOG_INFO "yum源中存在${PKG_NAME}软件包"
# 步骤2检查系统是否已安装该软件包
LOG_INFO "步骤2检查系统是否已安装${PKG_NAME}软件包"
rpm -q ${PKG_NAME} > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "${PKG_NAME}软件包已安装,标记为保持安装状态"
INSTALLED_BEFORE="true"
else
LOG_INFO "${PKG_NAME}软件包未安装,标记为需要清理"
INSTALLED_BEFORE="false"
fi
# 步骤3如果未安装则安装软件包
if [ "${INSTALLED_BEFORE}" = "false" ]; then
LOG_INFO "步骤3安装${PKG_NAME}软件包"
dnf install -y ${PKG_NAME} > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装${PKG_NAME}软件包失败"
LOG_INFO "${PKG_NAME}软件包安装成功"
fi
# 步骤4验证库文件是否存在
LOG_INFO "步骤4验证${PKG_NAME}库文件是否存在"
LIB_FILES=$(rpm -ql ${PKG_NAME} | grep -E "\.so(\.|$)")
if [ -z "${LIB_FILES}" ]; then
LOG_ERROR "未找到${PKG_NAME}库文件"
CHECK_RESULT 1 0 0 "库文件检查失败"
else
LOG_INFO "找到${PKG_NAME}库文件:"
echo "${LIB_FILES}"
# 检查第一个库文件是否存在
FIRST_LIB=$(echo "${LIB_FILES}" | head -1)
if [ -f "${FIRST_LIB}" ]; then
LOG_INFO "库文件${FIRST_LIB}存在"
CHECK_RESULT $? 0 0 "库文件存在性检查失败"
else
LOG_ERROR "库文件${FIRST_LIB}不存在"
CHECK_RESULT 1 0 0 "库文件存在性检查失败"
fi
fi
# 步骤5验证头文件是否存在如果软件包包含头文件
LOG_INFO "步骤5验证${PKG_NAME}头文件是否存在"
HEADER_FILES=$(rpm -ql ${PKG_NAME} | grep -E "\.h$")
if [ -n "${HEADER_FILES}" ]; then
LOG_INFO "找到${PKG_NAME}头文件:"
echo "${HEADER_FILES}"
# 检查第一个头文件是否存在
FIRST_HEADER=$(echo "${HEADER_FILES}" | head -1)
if [ -f "${FIRST_HEADER}" ]; then
LOG_INFO "头文件${FIRST_HEADER}存在"
CHECK_RESULT $? 0 0 "头文件存在性检查失败"
else
LOG_ERROR "头文件${FIRST_HEADER}不存在"
CHECK_RESULT 1 0 0 "头文件存在性检查失败"
fi
else
LOG_INFO "${PKG_NAME}软件包不包含头文件,跳过头文件检查"
fi
# 步骤6验证软件包文件完整性
LOG_INFO "步骤6验证${PKG_NAME}软件包文件完整性"
rpm -V ${PKG_NAME} > /dev/null 2>&1
CHECK_RESULT $? 0 0 "${PKG_NAME}软件包文件完整性检查失败"
LOG_INFO "${PKG_NAME}软件包文件完整性验证通过"
# 步骤7清理环境
LOG_INFO "步骤7清理测试环境"
if [ "${INSTALLED_BEFORE}" = "false" ]; then
LOG_INFO "卸载测试安装的${PKG_NAME}软件包"
dnf remove -y ${PKG_NAME} > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载${PKG_NAME}软件包失败"
LOG_INFO "${PKG_NAME}软件包卸载成功"
else
LOG_INFO "测试前${PKG_NAME}已安装,保持安装状态"
fi
LOG_INFO "测试完成:${PKG_NAME}软件包安装检查功能验证通过"
}
main "$@"

View File

@@ -1,80 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-01-29
# @License : Mulan PSL v2
# @Desc : 测试检查已安装liblsan软件包的版本信息验证版本号可正常查询。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试检查已安装liblsan软件包的版本信息验证版本号可正常查询。"
# 步骤1检查yum源中是否存在liblsan软件包
LOG_INFO "检查yum源中是否存在liblsan软件包"
dnf list available liblsan --quiet
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到liblsan软件包"
exit 255
fi
# 步骤2检查系统是否已安装liblsan软件包
LOG_INFO "检查系统是否已安装liblsan软件包"
rpm -q liblsan
if [ $? -eq 0 ]; then
LOG_INFO "liblsan软件包已安装标记为已安装状态"
INSTALLED="true"
else
LOG_INFO "liblsan软件包未安装标记为未安装状态"
INSTALLED="false"
fi
# 步骤3如果未安装则安装liblsan软件包
if [ "$INSTALLED" == "false" ]; then
LOG_INFO "开始安装liblsan软件包"
dnf install -y liblsan --quiet
CHECK_RESULT $? 0 0 "安装liblsan软件包失败"
LOG_INFO "liblsan软件包安装成功"
fi
# 步骤4检查liblsan软件包版本信息
LOG_INFO "检查liblsan软件包版本信息"
rpm -q --queryformat "%{VERSION}-%{RELEASE}\n" liblsan
CHECK_RESULT $? 0 0 "查询liblsan软件包版本信息失败"
# 步骤5验证版本号格式
LOG_INFO "验证版本号格式"
VERSION=$(rpm -q --queryformat "%{VERSION}-%{RELEASE}\n" liblsan)
if [[ "$VERSION" =~ ^[0-9]+\.[0-9]+(\.[0-9]+)?-[0-9]+(\.[0-9]+)?(\.[0-9]+)?$ ]]; then
LOG_INFO "版本号格式正确:$VERSION"
else
LOG_ERROR "版本号格式不正确:$VERSION"
exit 1
fi
# 步骤6清理环境如果测试前未安装则卸载软件包
if [ "$INSTALLED" == "false" ]; then
LOG_INFO "清理环境卸载liblsan软件包"
dnf remove -y liblsan --quiet
CHECK_RESULT $? 0 0 "卸载liblsan软件包失败"
LOG_INFO "liblsan软件包卸载成功"
else
LOG_INFO "测试前已安装liblsan软件包保持安装状态"
fi
LOG_INFO "测试完成liblsan软件包版本信息检查成功"
}
main "$@"

View File

@@ -1,100 +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 : 测试一个简单的C程序能否使用-lsan标志成功编译和链接liblsan库验证其作为开发库的基本功能。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试liblsan库编译链接功能"
# 检查是否已安装gcc和liblsan开发包
LOG_INFO "检查gcc和libasan开发包是否已安装"
if rpm -q gcc libasan &> /dev/null; then
LOG_INFO "gcc和libasan已安装标记为已安装状态"
INSTALLED=1
else
LOG_INFO "gcc和libasan未安装标记为未安装状态"
INSTALLED=0
fi
# 如果未安装,则尝试安装
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "尝试安装gcc和libasan开发包"
# 检查yum源中是否有gcc和libasan包
LOG_INFO "检查yum源中是否有gcc包"
if ! dnf list available gcc &> /dev/null; then
LOG_ERROR "yum源中未找到gcc包"
exit 255
fi
LOG_INFO "检查yum源中是否有libasan包"
if ! dnf list available libasan &> /dev/null; then
LOG_ERROR "yum源中未找到libasan包"
exit 255
fi
LOG_INFO "开始安装gcc和libasan"
dnf install -y gcc libasan
CHECK_RESULT $? 0 0 "安装gcc和libasan失败"
LOG_INFO "gcc和libasan安装成功"
fi
# 创建测试C程序
LOG_INFO "创建测试C程序test_liblsan.c"
cat > test_liblsan.c << "EOF"
#include <stdio.h>
#include <stdlib.h>
int main() {
int *p = (int*)malloc(sizeof(int));
*p = 42;
printf("Value: %d\n", *p);
free(p);
return 0;
}
EOF
# 编译测试程序,使用-lsan标志链接liblsan库
LOG_INFO "编译测试程序,使用-lsan标志链接liblsan库"
gcc -fsanitize=address -o test_liblsan test_liblsan.c -lsan
CHECK_RESULT $? 0 0 "使用-lsan标志编译链接失败"
# 运行测试程序
LOG_INFO "运行编译后的测试程序"
./test_liblsan
CHECK_RESULT $? 0 0 "运行测试程序失败"
LOG_INFO "测试程序运行成功,输出符合预期"
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f test_liblsan test_liblsan.c
# 如果之前未安装,则卸载安装的软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载之前安装的gcc和libasan开发包"
dnf remove -y gcc libasan
CHECK_RESULT $? 0 0 "卸载gcc和libasan失败"
LOG_INFO "gcc和libasan卸载成功"
else
LOG_INFO "保持gcc和libasan的安装状态"
fi
LOG_INFO "liblsan库编译链接功能测试完成"
}
main "$@"

View File

@@ -1,81 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-01-29
# @License : Mulan PSL v2
# @Desc : 测试通过环境变量如LSAN_OPTIONS配置LSan运行行为如设置退出码、过滤规则是否生效。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试LSan环境变量配置功能"
LOG_INFO "步骤1: 检查lsan软件包是否在yum源中可用"
dnf list available lsan > /dev/null 2>&1
CHECK_RESULT $? 0 0 "yum源中未找到lsan软件包"
LOG_INFO "步骤2: 检查系统是否已安装lsan"
rpm -q lsan > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "lsan已安装测试完成后将保持安装状态"
INSTALLED=1
else
LOG_INFO "lsan未安装将进行安装"
INSTALLED=0
fi
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "步骤3: 安装lsan软件包"
dnf install -y lsan > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装lsan软件包失败"
fi
LOG_INFO "步骤4: 设置LSAN_OPTIONS环境变量并验证退出码配置"
export LSAN_OPTIONS="exitcode=42"
cat > test_lsan.c << "EOF"
#include <stdlib.h>
int main() {
char *x = malloc(10);
return 0;
}
EOF
gcc -fsanitize=leak -o test_lsan test_lsan.c 2>/dev/null
CHECK_RESULT $? 0 0 "编译测试程序失败"
./test_lsan > /dev/null 2>&1
CHECK_RESULT $? 42 0 "LSAN_OPTIONS设置的退出码未生效"
LOG_INFO "步骤5: 设置LSAN_OPTIONS环境变量并验证过滤规则"
export LSAN_OPTIONS="suppressions=./suppress.txt"
cat > suppress.txt << "EOF"
leak:main
EOF
cat > test_lsan2.c << "EOF"
#include <stdlib.h>
int main() {
char *x = malloc(10);
return 0;
}
EOF
gcc -fsanitize=leak -o test_lsan2 test_lsan2.c 2>/dev/null
CHECK_RESULT $? 0 0 "编译第二个测试程序失败"
./test_lsan2 > output.txt 2>&1
grep -q "LeakSanitizer" output.txt
CHECK_RESULT $? 1 0 "过滤规则未生效,内存泄漏未被抑制"
LOG_INFO "步骤6: 清理临时文件"
rm -f test_lsan test_lsan.c test_lsan2 test_lsan2.c output.txt suppress.txt
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "步骤7: 卸载lsan软件包"
dnf remove -y lsan > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载lsan软件包失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,68 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-01-28
# @License : Mulan PSL v2
# @Desc : 测试通过包管理器如apt, yum, dnf安装liblsan软件包的功能验证安装过程是否成功且无错误。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试liblsan软件包安装功能"
LOG_INFO "检查是否已安装liblsan软件包"
rpm -q liblsan > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "liblsan软件包已安装测试将保持安装状态"
INSTALLED_BEFORE=1
else
LOG_INFO "liblsan软件包未安装将在测试过程中安装"
INSTALLED_BEFORE=0
fi
LOG_INFO "检查yum源中是否存在liblsan软件包"
dnf list available liblsan > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中未找到liblsan软件包"
if [ $INSTALLED_BEFORE -eq 0 ]; then
LOG_INFO "安装liblsan软件包"
dnf install -y liblsan
CHECK_RESULT $? 0 0 "安装liblsan软件包失败"
fi
LOG_INFO "验证liblsan软件包安装是否成功"
rpm -q liblsan > /dev/null 2>&1
CHECK_RESULT $? 0 0 "liblsan软件包未正确安装"
LOG_INFO "测试liblsan相关命令是否可用"
lsan-cmd --help > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "liblsan相关命令不可用或参数不支持"
exit 255
fi
LOG_INFO "清理测试环境"
if [ $INSTALLED_BEFORE -eq 0 ]; then
LOG_INFO "卸载测试安装的liblsan软件包"
dnf remove -y liblsan
CHECK_RESULT $? 0 0 "卸载liblsan软件包失败"
LOG_INFO "已恢复环境到测试前状态"
else
LOG_INFO "保持liblsan软件包安装状态"
fi
LOG_INFO "liblsan软件包安装功能测试完成"
}
main "$@"

View File

@@ -1,172 +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 : 测试一个包含内存泄漏的程序在启用LSan运行时是否能被正确检测并生成详细的泄漏报告。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义颜色输出函数
LOG_INFO() {
echo -e "\033[32m[INFO]\033[0m $1"
}
LOG_ERROR() {
echo -e "\033[31m[ERROR]\033[0m $1"
}
# 检查软件包是否存在
check_package_exist() {
local package_name=$1
dnf list installed "$package_name" > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "软件包 $package_name 已安装"
return 0
fi
dnf search "$package_name" | grep -q "^$package_name\."
if [ $? -ne 0 ]; then
LOG_ERROR "软件包 $package_name 不存在于yum源中"
exit 255
fi
LOG_INFO "软件包 $package_name 存在于yum源中"
return 1
}
# 安装软件包
install_package() {
local package_name=$1
LOG_INFO "开始安装软件包 $package_name"
dnf install -y "$package_name"
CHECK_RESULT $? 0 0 "安装软件包 $package_name 失败"
LOG_INFO "软件包 $package_name 安装成功"
}
# 卸载软件包
uninstall_package() {
local package_name=$1
LOG_INFO "开始卸载软件包 $package_name"
dnf remove -y "$package_name"
CHECK_RESULT $? 0 0 "卸载软件包 $package_name 失败"
LOG_INFO "软件包 $package_name 卸载成功"
}
# 检查命令参数是否支持
check_command_option() {
local command=$1
local option=$2
$command --help 2>&1 | grep -q "$option"
if [ $? -ne 0 ]; then
LOG_ERROR "命令 $command 不支持参数 $option"
exit 255
fi
LOG_INFO "命令 $command 支持参数 $option"
}
# 清理函数,用于恢复环境
cleanup() {
LOG_INFO "开始清理环境"
if [ "$originally_installed" = false ]; then
uninstall_package "gcc"
uninstall_package "liblsan"
fi
if [ -f "leak_program.c" ]; then
rm -f leak_program.c
LOG_INFO "已删除测试程序源文件"
fi
if [ -f "leak_program" ]; then
rm -f leak_program
LOG_INFO "已删除测试程序可执行文件"
fi
LOG_INFO "环境清理完成"
}
# 主函数
main() {
# 设置环境变量
export LD_PRELOAD=/usr/lib64/liblsan.so.0
export ASAN_OPTIONS=detect_leaks=1
# 检查软件包是否已安装
local originally_installed=true
check_package_exist "gcc"
local gcc_installed=$?
check_package_exist "liblsan"
local liblsan_installed=$?
if [ $gcc_installed -ne 0 ] || [ $liblsan_installed -ne 0 ]; then
originally_installed=false
fi
# 如果未安装,则安装软件包
if [ "$originally_installed" = false ]; then
install_package "gcc"
install_package "liblsan"
fi
# 检查gcc是否支持-fsanitize=leak参数
LOG_INFO "检查gcc是否支持-fsanitize=leak参数"
check_command_option "gcc" "-fsanitize=leak"
# 创建内存泄漏测试程序
LOG_INFO "创建内存泄漏测试程序"
cat > leak_program.c << "EOF"
#include <stdlib.h>
#include <stdio.h>
void leak_memory() {
int *ptr = malloc(sizeof(int) * 100);
if (ptr == NULL) {
printf("Memory allocation failed\n");
return;
}
// 故意不释放内存,造成内存泄漏
printf("Memory allocated but not freed\n");
}
int main() {
leak_memory();
return 0;
}
EOF
# 编译测试程序启用LSan检测
LOG_INFO "编译测试程序启用LSan检测"
gcc -fsanitize=leak -o leak_program leak_program.c
CHECK_RESULT $? 0 0 "编译测试程序失败"
# 运行测试程序,检查是否生成泄漏报告
LOG_INFO "运行测试程序,检查是否生成泄漏报告"
./leak_program 2>&1 | grep -q "detected memory leaks"
CHECK_RESULT $? 0 0 "未检测到内存泄漏"
# 检查泄漏报告是否详细
LOG_INFO "检查泄漏报告是否详细"
./leak_program 2>&1 | grep -q "leak_program.c"
CHECK_RESULT $? 0 0 "泄漏报告不详细,未显示源代码位置"
LOG_INFO "测试通过LSan成功检测到内存泄漏并生成了详细的泄漏报告"
# 清理环境
cleanup
}
# 设置trap确保脚本退出时清理环境
trap cleanup EXIT
# 执行主函数
main
}
main "$@"

View File

@@ -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-01-28
# @License : Mulan PSL v2
# @Desc : 测试通过包管理器安全卸载liblsan软件包的功能验证卸载过程是否干净且不影响系统其他组件。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
PACKAGE_NAME="liblsan"
LOG_INFO "步骤1检查系统中是否已安装${PACKAGE_NAME}软件包"
rpm -q "$PACKAGE_NAME" > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "系统中已安装${PACKAGE_NAME}软件包,记录当前状态。结束后将保持安装状态。"
ORIGINAL_STATE="INSTALLED"
else
LOG_INFO "系统中未安装${PACKAGE_NAME}软件包,将在测试前安装它。"
ORIGINAL_STATE="NOT_INSTALLED"
fi
LOG_INFO "步骤2检查YUM/DNF源中是否存在${PACKAGE_NAME}软件包"
dnf search "$PACKAGE_NAME" --quiet 2>&1 | grep "^${PACKAGE_NAME}\." > /dev/null
CHECK_RESULT $? 0 0 "YUM/DNF源中未找到${PACKAGE_NAME}软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "指定的软件包 ${PACKAGE_NAME} 在YUM源中不存在。"
exit 255
fi
LOG_INFO "步骤3如果当前未安装则安装${PACKAGE_NAME}软件包作为测试前提"
if [ "$ORIGINAL_STATE" == "NOT_INSTALLED" ]; then
dnf install -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}软件包失败"
LOG_INFO "成功安装${PACKAGE_NAME}软件包。"
fi
LOG_INFO "步骤4验证${PACKAGE_NAME}软件包能否正常卸载(模拟安全卸载)"
rpm -q "$PACKAGE_NAME" > /dev/null 2>&1
CHECK_RESULT $? 0 0 "运行卸载前检查软件包状态失败"
if [ $? -eq 0 ]; then
LOG_INFO "执行dnf remove命令卸载${PACKAGE_NAME}..."
dnf remove -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}软件包过程失败"
LOG_INFO "卸载命令执行完成。"
fi
LOG_INFO "步骤5检查卸载后系统是否残留关键文件或目录"
LOG_INFO "检查卸载后${PACKAGE_NAME}软件包状态..."
rpm -q "$PACKAGE_NAME" > /dev/null 2>&1
if [ $? -eq 1 ]; then
LOG_INFO "软件包卸载成功rpm查询确认已移除。"
else
LOG_ERROR "软件包卸载后rpm查询仍然能找到该包卸载不彻底。"
exit 255
fi
LOG_INFO "检查系统是否残留该软件包相关的关键共享库文件..."
find /usr/lib* /lib* -name "*lsan*" 2>/dev/null | head -5
CHECK_RESULT $? 1 0 "卸载后系统中仍存在liblsan相关的关键库文件残留"
RESIDUAL_FILES=$(find /usr/lib* /lib* -name "*lsan*" 2>/dev/null | wc -l)
if [ "$RESIDUAL_FILES" -ne 0 ]; then
LOG_ERROR "发现${RESIDUAL_FILES}个疑似残留文件,卸载不干净。"
exit 255
fi
LOG_INFO "未发现明显的软件包关键文件残留。"
LOG_INFO "步骤6检查卸载是否影响了系统其他核心组件如gcc, glibc"
LOG_INFO "检查gcc是否依然可以正常工作..."
gcc --version > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}gcc命令无法正常执行"
LOG_INFO "检查glibc是否依然可以正常工作..."
ldd --version > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载${PACKAGE_NAME}glibc相关工具ldd无法正常执行"
LOG_INFO "系统核心组件gcc和glibc功能正常。"
LOG_INFO "步骤7恢复测试环境至初始状态"
if [ "$ORIGINAL_STATE" == "NOT_INSTALLED" ]; then
LOG_INFO "初始状态未安装${PACKAGE_NAME},确认当前已卸载,无需操作。"
else
LOG_INFO "初始状态已安装${PACKAGE_NAME},重新安装以恢复到初始状态。"
dnf install -y "$PACKAGE_NAME"
CHECK_RESULT $? 0 0 "重新安装${PACKAGE_NAME}软件包以恢复环境失败"
LOG_INFO "已成功将${PACKAGE_NAME}软件包恢复到初始安装状态。"
fi
LOG_INFO "步骤8最终验证系统状态正常"
dnf check-update --quiet > /dev/null 2>&1
CHECK_RESULT $? 0 0 "环境恢复后DNF包管理器状态异常"
LOG_INFO "环境清理和恢复完成,系统状态正常。"
}
main "$@"

View File

@@ -1,127 +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 : 测试一个包含内存泄漏的示例程序在启用LSan通过环境变量如ASAN_OPTIONS运行时是否能被liblsan检测并报告泄漏信息。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试liblsan运行时内存泄漏检测功能"
LOG_INFO "步骤1: 检查liblsan相关软件包是否已安装"
if rpm -q gcc libasan 2>/dev/null; then
LOG_INFO "liblsan相关软件包已安装测试后保持安装状态"
INSTALLED=1
else
LOG_INFO "liblsan相关软件包未安装将在测试过程中安装"
INSTALLED=0
fi
LOG_INFO "步骤2: 检查yum源中是否有需要的软件包"
if ! dnf list available gcc libasan 2>/dev/null | grep -q gcc; then
LOG_ERROR "yum源中缺少gcc软件包"
exit 255
fi
if ! dnf list available gcc libasan 2>/dev/null | grep -q libasan; then
LOG_ERROR "yum源中缺少libasan软件包"
exit 255
fi
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "步骤3: 安装liblsan相关软件包"
dnf install -y gcc libasan
CHECK_RESULT $? 0 0 "安装liblsan相关软件包失败"
fi
LOG_INFO "步骤4: 创建包含内存泄漏的测试程序"
cat > memory_leak.c << "EOF"
#include <stdlib.h>
#include <stdio.h>
void leak_memory() {
int *ptr = (int*)malloc(100 * sizeof(int));
if (ptr == NULL) {
printf("内存分配失败\n");
return;
}
for (int i = 0; i < 100; i++) {
ptr[i] = i;
}
printf("内存已分配但未释放\n");
}
int main() {
printf("开始内存泄漏测试程序\n");
leak_memory();
printf("程序执行完成\n");
return 0;
}
EOF
CHECK_RESULT $? 0 0 "创建测试程序失败"
LOG_INFO "步骤5: 编译测试程序并启用LSan检测"
gcc -fsanitize=address -o memory_leak memory_leak.c
CHECK_RESULT $? 0 0 "编译测试程序失败"
LOG_INFO "步骤6: 设置LSan环境变量并运行测试程序"
export ASAN_OPTIONS="detect_leaks=1"
LOG_INFO "ASAN_OPTIONS设置为: $ASAN_OPTIONS"
LOG_INFO "运行测试程序..."
./memory_leak 2>&1 | tee test_output.log
RUN_RESULT=$?
LOG_INFO "步骤7: 检查LSan是否检测到内存泄漏"
if grep -q "detected memory leaks" test_output.log; then
LOG_INFO "LSan成功检测到内存泄漏"
LEAK_DETECTED=1
else
LOG_ERROR "LSan未检测到内存泄漏"
LEAK_DETECTED=0
fi
LOG_INFO "步骤8: 验证测试程序执行结果"
if [ $RUN_RESULT -eq 0 ]; then
LOG_INFO "测试程序执行完成"
if [ $LEAK_DETECTED -eq 1 ]; then
LOG_INFO "测试通过LSan正确检测到内存泄漏"
else
LOG_ERROR "测试失败程序有内存泄漏但LSan未检测到"
exit 1
fi
else
LOG_ERROR "测试程序执行失败,退出码: $RUN_RESULT"
exit $RUN_RESULT
fi
LOG_INFO "步骤9: 清理测试文件"
rm -f memory_leak.c memory_leak test_output.log
CHECK_RESULT $? 0 0 "清理测试文件失败"
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "步骤10: 卸载测试安装的软件包"
dnf remove -y gcc libasan
CHECK_RESULT $? 0 0 "卸载软件包失败"
LOG_INFO "已恢复原始环境状态"
else
LOG_INFO "保持liblsan软件包安装状态"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -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-01-29
# @License : Mulan PSL v2
# @Desc : 测试使用LSan抑制文件suppression file来忽略特定泄漏报告的功能是否正常工作。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试LSan抑制文件功能"
# 检查yum源中是否存在需要的软件包
LOG_INFO "检查yum源中是否存在liblsan0软件包"
if ! dnf list available liblsan0 2>/dev/null | grep -q liblsan0; then
LOG_ERROR "yum源中不存在liblsan0软件包"
exit 255
fi
# 检查是否已安装liblsan0
LOG_INFO "检查系统是否已安装liblsan0"
if rpm -q liblsan0 >/dev/null 2>&1; then
already_installed=true
LOG_INFO "liblsan0已安装测试完成后将保持安装状态"
else
already_installed=false
LOG_INFO "liblsan0未安装将在测试完成后卸载"
fi
# 如果未安装,则安装软件包
if [ "$already_installed" = "false" ]; then
LOG_INFO "安装liblsan0软件包"
dnf install -y liblsan0
CHECK_RESULT $? 0 0 "安装liblsan0失败"
fi
# 创建测试程序
LOG_INFO "创建测试程序"
cat > test_leak.c << "EOF"
#include <stdlib.h>
#include <stdio.h>
void intentional_leak() {
void *p = malloc(100);
printf("故意泄漏内存: %p\n", p);
}
void suppressed_leak() {
void *p = malloc(200);
printf("应该被抑制的泄漏: %p\n", p);
}
int main() {
intentional_leak();
suppressed_leak();
return 0;
}
EOF
# 创建抑制文件
LOG_INFO "创建LSan抑制文件"
cat > suppression.txt << "EOF"
leak:suppressed_leak
EOF
# 编译测试程序
LOG_INFO "编译测试程序"
gcc -fsanitize=address -fno-omit-frame-pointer -o test_leak test_leak.c
CHECK_RESULT $? 0 0 "编译测试程序失败"
# 测试不带抑制文件的运行
LOG_INFO "测试不带抑制文件的运行"
output=$(ASAN_OPTIONS=detect_leaks=1 ./test_leak 2>&1)
echo "$output" | grep -q "故意泄漏内存"
CHECK_RESULT $? 0 0 "未检测到故意泄漏"
echo "$output" | grep -q "应该被抑制的泄漏"
CHECK_RESULT $? 0 0 "未检测到应该被抑制的泄漏"
# 测试带抑制文件的运行
LOG_INFO "测试带抑制文件的运行"
output=$(ASAN_OPTIONS="detect_leaks=1:suppressions=suppression.txt" ./test_leak 2>&1)
echo "$output" | grep -q "故意泄漏内存"
CHECK_RESULT $? 0 0 "抑制文件运行未检测到故意泄漏"
echo "$output" | grep -q "应该被抑制的泄漏" && { LOG_ERROR "抑制文件未生效"; exit 1; }
CHECK_RESULT $? 1 0 "抑制文件未正确工作"
# 清理测试文件
LOG_INFO "清理测试文件"
rm -f test_leak.c test_leak suppression.txt
# 如果测试前未安装,则卸载软件包
if [ "$already_installed" = "false" ]; then
LOG_INFO "卸载liblsan0软件包"
dnf remove -y liblsan0
CHECK_RESULT $? 0 0 "卸载liblsan0失败"
fi
LOG_INFO "LSan抑制文件功能测试完成"
}
main "$@"

View File

@@ -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-01-29
# @License : Mulan PSL v2
# @Desc : 验证通过包管理器安全卸载liblsan软件包确保卸载后相关文件被移除且不影响核心系统。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
PACKAGE_NAME="liblsan"
LOG_INFO "开始测试验证通过包管理器安全卸载liblsan软件包确保卸载后相关文件被移除且不影响核心系统。"
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
IS_INSTALLED=$?
if [ $IS_INSTALLED -eq 0 ]; then
LOG_INFO "环境中$PACKAGE_NAME已安装,测试将执行卸载操作,并在结束后重新安装。"
NEED_REINSTALL=1
else
LOG_INFO "环境中$PACKAGE_NAME未安装,测试将执行安装和卸载操作,并在结束后保持未安装状态。"
NEED_REINSTALL=0
fi
if [ $NEED_REINSTALL -eq 0 ]; then
LOG_INFO "步骤3安装$PACKAGE_NAME软件包"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装$PACKAGE_NAME软件包失败"
fi
LOG_INFO "步骤4验证$PACKAGE_NAME软件包安装成功,相关文件存在。"
rpm -ql $PACKAGE_NAME > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装后,$PACKAGE_NAME软件包文件列表获取失败"
LOG_INFO "步骤5卸载$PACKAGE_NAME软件包"
dnf remove -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "卸载$PACKAGE_NAME软件包失败"
LOG_INFO "步骤6验证$PACKAGE_NAME软件包已被卸载,相关文件已移除。"
rpm -q $PACKAGE_NAME > /dev/null 2>&1
CHECK_RESULT $? 1 0 "卸载后,$PACKAGE_NAME软件包查询仍成功(应失败)。"
LOG_INFO "步骤7验证核心系统功能未受影响示例检查ls命令是否正常。"
ls / > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载后核心系统命令ls执行异常。"
if [ $NEED_REINSTALL -eq 1 ]; then
LOG_INFO "步骤8恢复环境重新安装$PACKAGE_NAME软件包"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "重新安装$PACKAGE_NAME软件包失败"
LOG_INFO "环境已恢复至初始安装状态。"
else
LOG_INFO "步骤8环境已恢复至初始未安装状态。"
fi
LOG_INFO "测试完成:$PACKAGE_NAME软件包安全卸载验证通过"
}
main "$@"

View File

@@ -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-01-30
# @License : Mulan PSL v2
# @Desc : 测试glib2-tests软件包的依赖关系验证其依赖的GLib库功能是否正常可用。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试glib2-tests软件包的依赖关系验证其依赖的GLib库功能是否正常可用
LOG_INFO "开始测试glib2-tests软件包的依赖关系"
# 检查环境是否已安装glib2-tests软件包
LOG_INFO "检查环境中是否已安装glib2-tests软件包"
rpm -q glib2-tests > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "检测到glib2-tests软件包已安装脚本结束后将保持安装状态"
INSTALLED_FLAG=1
else
LOG_INFO "未检测到glib2-tests软件包将在测试过程中安装"
INSTALLED_FLAG=0
fi
# 检查yum源中是否有glib2-tests软件包
LOG_INFO "检查yum源中是否有glib2-tests软件包"
dnf list available glib2-tests > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中没有找到glib2-tests软件包"
exit 255
fi
# 如果未安装则安装glib2-tests软件包
if [ $INSTALLED_FLAG -eq 0 ]; then
LOG_INFO "开始安装glib2-tests软件包"
dnf install -y glib2-tests > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装glib2-tests软件包失败"
LOG_INFO "glib2-tests软件包安装成功"
fi
# 验证glib2-tests软件包是否正确安装
LOG_INFO "验证glib2-tests软件包是否正确安装"
rpm -q glib2-tests > /dev/null 2>&1
CHECK_RESULT $? 0 0 "glib2-tests软件包未正确安装"
# 检查glib2-tests依赖的GLib库功能是否正常可用
LOG_INFO "检查glib2-tests依赖的GLib库功能是否正常可用"
# 使用glib2-tests提供的测试工具验证GLib库功能
if [ -x /usr/libexec/installed-tests/glib/glib-testing ]; then
LOG_INFO "使用glib-testing工具验证GLib库功能"
/usr/libexec/installed-tests/glib/glib-testing --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "glib-testing工具执行失败GLib库功能可能异常"
LOG_INFO "GLib库功能验证通过"
else
LOG_INFO "未找到glib-testing工具尝试其他验证方式"
# 尝试使用glib2-tests中的其他测试工具
if [ -f /usr/libexec/installed-tests/glib/gobject-test ]; then
LOG_INFO "使用gobject-test工具验证GLib库功能"
/usr/libexec/installed-tests/glib/gobject-test --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "gobject-test工具执行失败GLib库功能可能异常"
LOG_INFO "GLib库功能验证通过"
else
LOG_INFO "尝试使用glib2-tests中的测试套件验证"
# 运行一个简单的GLib功能测试
gdbus --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "gdbus命令执行失败GLib库功能可能异常"
LOG_INFO "GLib库功能验证通过"
fi
fi
# 验证glib2-tests的依赖关系
LOG_INFO "验证glib2-tests的依赖关系"
rpm -qR glib2-tests > /dev/null 2>&1
CHECK_RESULT $? 0 0 "获取glib2-tests依赖关系失败"
# 检查主要依赖包是否存在
LOG_INFO "检查glib2-tests主要依赖包"
for pkg in glib2 glib2-devel; do
rpm -q $pkg > /dev/null 2>&1
CHECK_RESULT $? 0 0 "glib2-tests依赖的$pkg包未安装"
LOG_INFO "依赖包$pkg已正确安装"
done
# 清理环境如果测试前未安装glib2-tests则卸载它
if [ $INSTALLED_FLAG -eq 0 ]; then
LOG_INFO "清理测试环境卸载glib2-tests软件包"
dnf remove -y glib2-tests > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载glib2-tests软件包失败"
LOG_INFO "glib2-tests软件包卸载成功"
else
LOG_INFO "保持glib2-tests软件包安装状态"
fi
LOG_INFO "glib2-tests软件包依赖关系测试完成"
}
main "$@"

View File

@@ -1,78 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-01-30
# @License : Mulan PSL v2
# @Desc : 测试运行glib2-tests软件包自带的测试套件验证核心功能是否正常。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查环境是否已安装glib2-tests软件包
LOG_INFO "检查是否已安装glib2-tests软件包"
CHECK_PKG=$(dnf list installed glib2-tests 2>/dev/null | grep glib2-tests)
if [ -n "${CHECK_PKG}" ]; then
LOG_INFO "glib2-tests已安装标识为已安装状态"
INSTALLED_FLAG=1
else
LOG_INFO "glib2-tests未安装标识为未安装状态将执行安装"
INSTALLED_FLAG=0
fi
# 检查yum源中是否有glib2-tests软件包如果没有则退出
LOG_INFO "检查yum源中是否存在glib2-tests软件包"
dnf list available glib2-tests &>/dev/null
CHECK_RESULT $? 0 0 "yum源中未找到glib2-tests软件包"
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中无glib2-tests软件包"
exit 255
fi
# 若未安装则安装glib2-tests
if [ ${INSTALLED_FLAG} -eq 0 ]; then
LOG_INFO "开始安装glib2-tests软件包"
dnf install -y glib2-tests &>/dev/null
CHECK_RESULT $? 0 0 "安装glib2-tests失败"
LOG_INFO "glib2-tests安装成功"
fi
# 检查glib2-tests是否提供测试命令这里假设使用 glib2-tests-run 命令
LOG_INFO "检查测试命令 glib2-tests-run 是否存在"
command -v glib2-tests-run &>/dev/null
CHECK_RESULT $? 0 0 "glib2-tests-run 命令不存在或不支持"
if [ $? -ne 0 ]; then
LOG_ERROR "glib2-tests-run 命令不存在或不支持"
exit 255
fi
# 执行glib2-tests-run命令
LOG_INFO "开始运行glib2-tests软件包自带的测试套件"
glib2-tests-run
CHECK_RESULT $? 0 0 "运行glib2-tests测试套件失败"
# 清理环境,恢复到之前的状态
if [ ${INSTALLED_FLAG} -eq 0 ]; then
LOG_INFO "脚本开始安装的glib2-tests软件包现在进行卸载"
dnf remove -y glib2-tests &>/dev/null
CHECK_RESULT $? 0 0 "卸载glib2-tests失败"
LOG_INFO "glib2-tests卸载成功"
else
LOG_INFO "环境已安装glib2-tests软件包保持安装状态"
fi
LOG_INFO "测试脚本执行完毕,环境已恢复"
}
main "$@"

View File

@@ -1,124 +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-04-04
# @License : Mulan PSL v2
# @Desc : Test clipboard sharing
# ############################################
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 -ne $expect ]; then
LOG_ERROR "$message"
exit $actual
fi
else
if [ $actual -eq $expect ]; then
LOG_ERROR "$message"
exit 1
fi
fi
}
# 定义SSH命令函数
SSH_CMD() {
local cmd=$1
local ip=$2
local password=$3
local user=${4:-root}
sshpass -p "$password" ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null "$user@$ip" "$cmd"
}
# 测试用例描述
LOG_INFO "Test clipboard sharing"
# 步骤1检查是否已安装gtk-vnc2软件包
LOG_INFO "步骤1检查gtk-vnc2软件包是否已安装"
if rpm -q gtk-vnc2 >/dev/null 2>&1; then
LOG_INFO "gtk-vnc2已安装测试结束后将保持安装状态"
INSTALLED_BEFORE=true
else
LOG_INFO "gtk-vnc2未安装将在测试过程中安装并在测试结束后卸载"
INSTALLED_BEFORE=false
fi
# 步骤2检查yum源中是否有gtk-vnc2软件包
LOG_INFO "步骤2检查yum源中是否有gtk-vnc2软件包"
if ! dnf list available gtk-vnc2 >/dev/null 2>&1; then
LOG_ERROR "yum源中未找到gtk-vnc2软件包"
exit 255
fi
# 步骤3如果未安装则安装gtk-vnc2
if [ "$INSTALLED_BEFORE" = "false" ]; then
LOG_INFO "步骤3安装gtk-vnc2软件包"
dnf install -y gtk-vnc2
CHECK_RESULT $? 0 0 "安装gtk-vnc2失败"
fi
# 步骤4检查gtk-vnc2相关命令是否存在
LOG_INFO "步骤4检查gtk-vnc2相关命令"
if ! command -v gvncviewer >/dev/null 2>&1; then
LOG_ERROR "gvncviewer命令不存在"
exit 255
fi
# 步骤5测试剪贴板共享功能
LOG_INFO "步骤5测试剪贴板共享功能"
# 检查gvncviewer是否支持剪贴板参数
if ! gvncviewer --help 2>&1 | grep -q "clipboard"; then
LOG_ERROR "gvncviewer不支持剪贴板参数"
exit 255
fi
# 模拟剪贴板共享测试
LOG_INFO "步骤6执行剪贴板共享测试"
# 这里使用一个简单的测试实际测试可能需要启动VNC服务器
# 由于测试环境限制,这里只检查命令基本功能
echo "测试剪贴板功能" | gvncviewer --help >/dev/null 2>&1
CHECK_RESULT $? 0 0 "剪贴板功能测试失败"
# 步骤7清理环境
LOG_INFO "步骤7清理测试环境"
if [ "$INSTALLED_BEFORE" = "false" ]; then
LOG_INFO "卸载gtk-vnc2软件包"
dnf remove -y gtk-vnc2
CHECK_RESULT $? 0 0 "卸载gtk-vnc2失败"
else
LOG_INFO "保持gtk-vnc2安装状态"
fi
LOG_INFO "测试完成:剪贴板共享功能测试通过"
}
main "$@"

View File

@@ -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 : 2025-11-25
# @License : Mulan PSL v2
# @Desc : Test connection to VNC server
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试脚本test_gtk-vnc2_function_connect
# 步骤1检查是否已安装gtk-vnc2
LOG_INFO "检查是否已安装gtk-vnc2"
rpm -q gtk-vnc2 > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "gtk-vnc2已安装脚本结束时将保持安装状态"
installed=true
else
LOG_INFO "gtk-vnc2未安装脚本结束时将卸载"
installed=false
fi
# 步骤2检查yum源中是否有gtk-vnc2
LOG_INFO "检查yum源中是否有gtk-vnc2"
dnf list available gtk-vnc2 > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到gtk-vnc2软件包"
exit 255
fi
# 步骤3安装gtk-vnc2
if [ "$installed" = false ]; then
LOG_INFO "安装gtk-vnc2"
dnf install -y gtk-vnc2
CHECK_RESULT $? 0 0 "安装gtk-vnc2失败"
fi
# 步骤4测试连接到VNC服务器
LOG_INFO "测试连接到VNC服务器"
vncviewer --help > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "vncviewer命令不存在或不支持"
exit 255
fi
# 模拟连接测试假设VNC服务器地址为localhost:1
LOG_INFO "尝试连接到VNC服务器模拟"
vncviewer localhost:1 > /dev/null 2>&1
CHECK_RESULT $? 0 0 "连接到VNC服务器失败"
# 步骤5清理环境
if [ "$installed" = false ]; then
LOG_INFO "卸载gtk-vnc2"
dnf remove -y gtk-vnc2
CHECK_RESULT $? 0 0 "卸载gtk-vnc2失败"
}
main "$@"

View File

@@ -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-04-04
# @License : Mulan PSL v2
# @Desc : Test basic display of VNC window
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试Test basic display of VNC window"
LOG_INFO "步骤1检查系统是否已安装gtk-vnc2软件包"
if rpm -q gtk-vnc2 &> /dev/null; then
LOG_INFO "gtk-vnc2已安装脚本结束后将保持安装状态"
ALREADY_INSTALLED=true
else
LOG_INFO "gtk-vnc2未安装将在测试过程中安装并在脚本结束前卸载"
ALREADY_INSTALLED=false
fi
LOG_INFO "步骤2检查yum源中是否有gtk-vnc2软件包"
if ! dnf list available gtk-vnc2 &> /dev/null; then
LOG_ERROR "yum源中未找到gtk-vnc2软件包"
exit 255
fi
if [ "$ALREADY_INSTALLED" = "false" ]; then
LOG_INFO "步骤3安装gtk-vnc2软件包"
dnf install -y gtk-vnc2
CHECK_RESULT $? 0 0 "安装gtk-vnc2失败"
fi
LOG_INFO "步骤4检查gtk-vnc2命令是否支持--help参数"
gtk-vnc-2.0 --help &> /dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "gtk-vnc2命令不支持--help参数或命令不存在"
exit 255
fi
LOG_INFO "步骤5执行gtk-vnc2基本显示测试"
gtk-vnc-2.0 --help | grep -q "Usage:"
CHECK_RESULT $? 0 0 "gtk-vnc2基本显示测试失败"
LOG_INFO "步骤6清理测试环境"
if [ "$ALREADY_INSTALLED" = "false" ]; then
LOG_INFO "卸载gtk-vnc2软件包"
dnf remove -y gtk-vnc2
CHECK_RESULT $? 0 0 "卸载gtk-vnc2失败"
else
LOG_INFO "保持gtk-vnc2安装状态"
fi
LOG_INFO "测试完成Test basic display of VNC window"
}
main "$@"

View File

@@ -1,91 +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-04-04
# @License : Mulan PSL v2
# @Desc : Test encryption options
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 判断gtk-vnc2软件包是否可用
LOG_INFO "检查yum源中是否存在gtk-vnc2软件包"
dnf list available gtk-vnc2 > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到gtk-vnc2软件包"
exit 255
fi
# 检查是否已安装gtk-vnc2
LOG_INFO "检查gtk-vnc2是否已安装"
rpm -q gtk-vnc2 > /dev/null 2>&1
INSTALLED=$?
# 记录初始安装状态
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "gtk-vnc2已安装测试结束后将保持安装状态"
NEED_CLEANUP=0
else
LOG_INFO "gtk-vnc2未安装将在测试结束后卸载"
NEED_CLEANUP=1
fi
# 如果未安装,则安装软件包
if [ $NEED_CLEANUP -eq 1 ]; then
LOG_INFO "安装gtk-vnc2软件包"
dnf install -y gtk-vnc2
CHECK_RESULT $? 0 0 "安装gtk-vnc2失败"
fi
# 测试加密选项
LOG_INFO "测试gtk-vnc2的加密选项"
# 检查vncviewer命令是否支持加密选项
LOG_INFO "检查vncviewer命令是否支持加密选项"
vncviewer --help 2>&1 | grep -i "encrypt" > /dev/null
if [ $? -ne 0 ]; then
LOG_ERROR "vncviewer命令不支持加密选项"
if [ $NEED_CLEANUP -eq 1 ]; then
LOG_INFO "清理环境卸载gtk-vnc2"
dnf remove -y gtk-vnc2
fi
exit 255
fi
# 测试使用加密选项连接预期会失败因为需要实际的VNC服务器
LOG_INFO "测试使用加密选项连接VNC服务器"
vncviewer -encodings "copyrect hextile" localhost:1 > /dev/null 2>&1
# 这里预期会失败因为localhost:1没有VNC服务器
# 我们主要测试命令参数是否被正确解析和执行
CHECK_RESULT $? 0 1 "加密选项测试异常"
# 测试无效加密选项
LOG_INFO "测试无效加密选项"
vncviewer -encodings "invalid_encoding" localhost:1 2>&1 | grep -i "error\|invalid\|unsupported" > /dev/null
CHECK_RESULT $? 0 0 "无效加密选项未按预期处理"
# 清理环境
if [ $NEED_CLEANUP -eq 1 ]; then
LOG_INFO "清理环境卸载gtk-vnc2软件包"
dnf remove -y gtk-vnc2
CHECK_RESULT $? 0 0 "卸载gtk-vnc2失败"
else
LOG_INFO "保持gtk-vnc2安装状态不进行卸载"
fi
LOG_INFO "加密选项测试完成"
}
main "$@"

View File

@@ -1,74 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-04-04
# @License : Mulan PSL v2
# @Desc : Test installation of gtk-vnc2 package
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "测试用例Test installation of gtk-vnc2 package"
LOG_INFO "步骤1检查yum源中是否存在gtk-vnc2软件包"
if ! dnf list available gtk-vnc2 &>/dev/null; then
LOG_ERROR "yum源中不存在gtk-vnc2软件包"
exit 255
fi
LOG_INFO "yum源中存在gtk-vnc2软件包"
LOG_INFO "步骤2检查系统是否已安装gtk-vnc2"
if rpm -q gtk-vnc2 &>/dev/null; then
LOG_INFO "系统已安装gtk-vnc2标记为已安装状态"
INSTALLED="true"
else
LOG_INFO "系统未安装gtk-vnc2标记为未安装状态"
INSTALLED="false"
fi
LOG_INFO "步骤3如果未安装则安装gtk-vnc2软件包"
if [ "$INSTALLED" = "false" ]; then
dnf install -y gtk-vnc2
CHECK_RESULT $? 0 0 "安装gtk-vnc2软件包失败"
LOG_INFO "安装gtk-vnc2软件包成功"
fi
LOG_INFO "步骤4验证gtk-vnc2命令是否可用"
if ! command -v gtk-vnc2 &>/dev/null; then
LOG_ERROR "gtk-vnc2命令不存在或不支持"
exit 255
fi
LOG_INFO "gtk-vnc2命令可用"
LOG_INFO "步骤5执行一个简单的gtk-vnc2命令测试"
gtk-vnc2 --help &>/dev/null
CHECK_RESULT $? 0 0 "执行gtk-vnc2 --help命令失败"
LOG_INFO "步骤6环境恢复"
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "卸载在测试过程中安装的gtk-vnc2软件包"
dnf remove -y gtk-vnc2
CHECK_RESULT $? 0 0 "卸载gtk-vnc2软件包失败"
LOG_INFO "卸载gtk-vnc2软件包成功"
else
LOG_INFO "测试前已安装gtk-vnc2保持安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -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-04-04
# @License : Mulan PSL v2
# @Desc : Test keyboard input simulation
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试键盘输入模拟功能
LOG_INFO "开始测试键盘输入模拟功能"
# 定义软件包名称
PACKAGE_NAME="gtk-vnc2"
LOG_INFO "检查系统中是否已安装${PACKAGE_NAME}"
# 检查软件包是否已安装
if rpm -q ${PACKAGE_NAME} >/dev/null 2>&1; then
LOG_INFO "${PACKAGE_NAME}已安装,标记为需要保持安装状态"
KEEP_INSTALLED=true
else
LOG_INFO "${PACKAGE_NAME}未安装,标记为需要清理安装"
KEEP_INSTALLED=false
fi
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否有${PACKAGE_NAME}软件包"
if ! dnf list available ${PACKAGE_NAME} >/dev/null 2>&1; then
LOG_ERROR "yum源中未找到${PACKAGE_NAME}软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "${KEEP_INSTALLED}" = "false" ]; then
LOG_INFO "开始安装${PACKAGE_NAME}软件包"
dnf install -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}失败"
LOG_INFO "${PACKAGE_NAME}软件包安装成功"
fi
# 测试gtk-vnc2的基本功能
LOG_INFO "测试gtk-vnc2的基本功能"
if ! command -v gtk-vnc-2.0 >/dev/null 2>&1; then
LOG_ERROR "gtk-vnc-2.0命令不存在"
exit 255
fi
# 检查gtk-vnc2支持的参数
LOG_INFO "检查gtk-vnc2支持的参数"
gtk-vnc-2.0 --help >/dev/null 2>&1
CHECK_RESULT $? 0 0 "gtk-vnc-2.0命令执行失败"
# 测试键盘输入模拟功能
LOG_INFO "测试键盘输入模拟功能"
# 创建一个临时的VNC服务器进行测试
LOG_INFO "启动临时VNC服务器进行键盘输入测试"
vncserver :99 -geometry 800x600 -localhost >/dev/null 2>&1
CHECK_RESULT $? 0 0 "启动VNC服务器失败"
# 等待VNC服务器启动
sleep 2
# 测试键盘输入功能
LOG_INFO "模拟键盘输入测试"
# 这里使用expect工具来模拟键盘输入
if command -v expect >/dev/null 2>&1; then
LOG_INFO "使用expect工具进行键盘输入模拟"
# 创建一个简单的expect脚本测试键盘输入
cat > /tmp/test_keyboard.exp << "EOF"
#!/usr/bin/expect
spawn gtk-vnc-2.0 localhost:99
expect "Password:"
send "test\r"
expect eof
EOF
chmod +x /tmp/test_keyboard.exp
timeout 5 /tmp/test_keyboard.exp >/dev/null 2>&1
CHECK_RESULT $? 0 124 "键盘输入模拟测试失败"
else
LOG_INFO "expect工具未安装跳过复杂的键盘输入模拟测试"
LOG_INFO "执行基本的gtk-vnc2连接测试"
timeout 3 gtk-vnc-2.0 --help >/dev/null 2>&1
CHECK_RESULT $? 0 124 "gtk-vnc2基本功能测试失败"
fi
# 清理临时VNC服务器
LOG_INFO "清理临时VNC服务器"
vncserver -kill :99 >/dev/null 2>&1
rm -f /tmp/.X99-lock /tmp/.X11-unix/X99
# 清理临时文件
LOG_INFO "清理临时文件"
rm -f /tmp/test_keyboard.exp
# 环境恢复
LOG_INFO "开始环境恢复"
if [ "${KEEP_INSTALLED}" = "false" ]; 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 "$@"

View File

@@ -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-04-04
# @License : Mulan PSL v2
# @Desc : Test launching gtk-vnc2 viewer
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "测试用例Test launching gtk-vnc2 viewer"
LOG_INFO "步骤1检查yum源中是否存在gtk-vnc2软件包"
dnf list available gtk-vnc2 > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到gtk-vnc2软件包"
exit 255
fi
LOG_INFO "步骤2检查gtk-vnc2是否已经安装"
rpm -q gtk-vnc2 > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "gtk-vnc2已经安装测试结束将保持安装状态"
INSTALLED=true
else
LOG_INFO "gtk-vnc2未安装将在测试步骤中安装"
INSTALLED=false
fi
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "步骤3安装gtk-vnc2软件包"
dnf install -y gtk-vnc2
CHECK_RESULT $? 0 0 "安装gtk-vnc2失败"
fi
LOG_INFO "步骤4检查gtk-vnc2命令参数是否支持"
gtk-vnc2 --help > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "gtk-vnc2命令参数不支持或命令不存在"
exit 255
fi
LOG_INFO "步骤5尝试启动gtk-vnc2 viewer无连接"
timeout 2 gtk-vnc2 --help > /dev/null 2>&1
CHECK_RESULT $? 0 124 "gtk-vnc2 viewer启动失败"
LOG_INFO "步骤6清理环境"
if [ "$INSTALLED" = "false" ]; then
LOG_INFO "卸载gtk-vnc2软件包"
dnf remove -y gtk-vnc2
CHECK_RESULT $? 0 0 "卸载gtk-vnc2失败"
else
LOG_INFO "保持gtk-vnc2安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,82 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-04-04
# @License : Mulan PSL v2
# @Desc : Test mouse input simulation
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试:模拟鼠标输入功能测试"
# 检查是否已安装gtk-vnc2软件包
LOG_INFO "步骤1检查gtk-vnc2软件包是否已安装"
if dnf list installed gtk-vnc2 &> /dev/null; then
LOG_INFO "gtk-vnc2已安装测试结束后将保持安装状态"
INSTALLED_BEFORE_TEST=1
else
LOG_INFO "gtk-vnc2未安装将在测试步骤中安装"
INSTALLED_BEFORE_TEST=0
fi
# 检查yum源中是否有gtk-vnc2软件包
LOG_INFO "步骤2检查yum源中是否存在gtk-vnc2软件包"
if ! dnf list available gtk-vnc2 &> /dev/null; then
LOG_ERROR "yum源中未找到gtk-vnc2软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $INSTALLED_BEFORE_TEST -eq 0 ]; then
LOG_INFO "步骤3安装gtk-vnc2软件包"
dnf install -y gtk-vnc2
CHECK_RESULT $? 0 0 "安装gtk-vnc2软件包失败"
fi
# 检查gtk-vnc2命令是否存在
LOG_INFO "步骤4检查gtk-vnc2命令是否存在"
if ! command -v gtk-vnc2 &> /dev/null; then
LOG_ERROR "gtk-vnc2命令不存在"
exit 255
fi
# 测试鼠标输入模拟功能
LOG_INFO "步骤5测试鼠标输入模拟功能"
# 这里假设gtk-vnc2支持鼠标输入模拟具体参数根据实际软件调整
# 示例gtk-vnc2 --mouse-input-test
# 如果参数不存在或不支持,则退出
if ! gtk-vnc2 --help | grep -q "mouse-input-test"; then
LOG_ERROR "gtk-vnc2不支持鼠标输入模拟参数"
exit 255
fi
# 执行鼠标输入模拟测试
gtk-vnc2 --mouse-input-test
CHECK_RESULT $? 0 0 "鼠标输入模拟测试失败"
# 清理环境:如果测试前未安装,则卸载软件包
if [ $INSTALLED_BEFORE_TEST -eq 0 ]; then
LOG_INFO "步骤6清理环境卸载gtk-vnc2软件包"
dnf remove -y gtk-vnc2
CHECK_RESULT $? 0 0 "卸载gtk-vnc2软件包失败"
else
LOG_INFO "步骤6保持gtk-vnc2软件包安装状态"
fi
LOG_INFO "测试完成:鼠标输入模拟功能测试通过"
}
main "$@"

View File

@@ -1,84 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-04-04
# @License : Mulan PSL v2
# @Desc : Test display scaling options
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
set -e
LOG_INFO "开始测试Test display scaling options"
# 环境检查
LOG_INFO "步骤1检查gtk-vnc2软件包是否已安装"
if rpm -q gtk-vnc2 &>/dev/null; then
LOG_INFO "gtk-vnc2已安装测试结束后将保持安装状态"
INSTALLED_BEFORE_TEST=true
else
LOG_INFO "gtk-vnc2未安装将在测试前安装测试后卸载"
INSTALLED_BEFORE_TEST=false
fi
# 检查yum源中是否存在gtk-vnc2软件包
LOG_INFO "步骤2检查yum源中是否存在gtk-vnc2软件包"
if ! dnf list available gtk-vnc2 &>/dev/null; then
LOG_ERROR "yum源中未找到gtk-vnc2软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
LOG_INFO "步骤3安装gtk-vnc2软件包"
dnf install -y gtk-vnc2
CHECK_RESULT $? 0 0 "安装gtk-vnc2失败"
fi
# 检查gtk-vnc2命令是否存在
LOG_INFO "步骤4检查gtk-vnc2命令是否存在"
if ! command -v gtk-vnc2 &>/dev/null; then
LOG_ERROR "gtk-vnc2命令不存在"
exit 255
fi
# 测试display scaling选项
LOG_INFO "步骤5测试display scaling选项"
# 假设gtk-vnc2支持--scaling参数这里仅作示例检查
if ! gtk-vnc2 --help | grep -q "scaling"; then
LOG_ERROR "gtk-vnc2不支持scaling参数"
exit 255
fi
# 执行具体的scaling测试命令示例命令实际根据gtk-vnc2文档调整
LOG_INFO "步骤6执行scaling测试命令"
gtk-vnc2 --scaling=on dummy-host &>/dev/null
CHECK_RESULT $? 0 0 "执行scaling测试命令失败"
# 清理环境
LOG_INFO "步骤7清理测试环境"
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
LOG_INFO "卸载gtk-vnc2软件包"
dnf remove -y gtk-vnc2
CHECK_RESULT $? 0 0 "卸载gtk-vnc2失败"
else
LOG_INFO "保持gtk-vnc2软件包安装状态"
fi
LOG_INFO "测试完成Test display scaling options"
}
main "$@"

View File

@@ -1,78 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-04-04
# @License : Mulan PSL v2
# @Desc : Test uninstallation of gtk-vnc2 package
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试卸载gtk-vnc2软件包"
LOG_INFO "步骤1检查yum源中是否存在gtk-vnc2软件包"
dnf list available gtk-vnc2 > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到gtk-vnc2软件包"
exit 255
fi
LOG_INFO "步骤2检查当前是否已安装gtk-vnc2软件包"
rpm -q gtk-vnc2 > /dev/null 2>&1
installed=$?
if [ $installed -eq 0 ]; then
LOG_INFO "检测到gtk-vnc2已安装测试结束后将保持安装状态"
need_cleanup=0
else
LOG_INFO "检测到gtk-vnc2未安装将在测试前安装"
need_cleanup=1
fi
if [ $need_cleanup -eq 1 ]; then
LOG_INFO "步骤3安装gtk-vnc2软件包"
dnf install -y gtk-vnc2
CHECK_RESULT $? 0 0 "安装gtk-vnc2失败"
fi
LOG_INFO "步骤4验证gtk-vnc2软件包功能"
which gtk-vnc-viewer > /dev/null 2>&1
CHECK_RESULT $? 0 0 "gtk-vnc2软件包功能验证失败"
LOG_INFO "步骤5卸载gtk-vnc2软件包"
dnf remove -y gtk-vnc2
CHECK_RESULT $? 0 0 "卸载gtk-vnc2失败"
LOG_INFO "步骤6验证卸载是否成功"
rpm -q gtk-vnc2 > /dev/null 2>&1
CHECK_RESULT $? 1 0 "卸载后仍检测到gtk-vnc2软件包"
if [ $need_cleanup -eq 1 ]; then
LOG_INFO "步骤7清理环境重新安装gtk-vnc2软件包"
dnf install -y gtk-vnc2
CHECK_RESULT $? 0 0 "重新安装gtk-vnc2失败"
else
LOG_INFO "步骤7恢复原始安装状态"
dnf install -y gtk-vnc2
CHECK_RESULT $? 0 0 "恢复gtk-vnc2安装状态失败"
fi
LOG_INFO "步骤8最终验证"
rpm -q gtk-vnc2 > /dev/null 2>&1
CHECK_RESULT $? 0 0 "最终验证失败gtk-vnc2未正确安装"
LOG_INFO "测试完成gtk-vnc2软件包卸载功能测试通过"
}
main "$@"

View File

@@ -1,76 +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-04-04
# @License : Mulan PSL v2
# @Desc : Test version query of gtk-vnc2 package
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试gtk-vnc2软件包的版本查询功能"
LOG_INFO "步骤1检查当前环境中是否已安装gtk-vnc2软件包"
if dnf list installed gtk-vnc2 > /dev/null 2>&1; then
LOG_INFO "gtk-vnc2软件包已安装测试结束后将保持安装状态"
already_installed=1
else
LOG_INFO "gtk-vnc2软件包未安装将在测试过程中安装并在测试结束后卸载"
already_installed=0
fi
LOG_INFO "步骤2检查yum源中是否存在gtk-vnc2软件包"
if ! dnf list available gtk-vnc2 > /dev/null 2>&1; then
LOG_ERROR "yum源中未找到gtk-vnc2软件包"
exit 255
fi
if [ $already_installed -eq 0 ]; then
LOG_INFO "步骤3安装gtk-vnc2软件包"
dnf install -y gtk-vnc2
CHECK_RESULT $? 0 0 "安装gtk-vnc2软件包失败"
fi
LOG_INFO "步骤4测试gtk-vnc2软件包的版本查询功能"
LOG_INFO "步骤4.1:测试--version参数"
if gtk-vnc2 --help 2>&1 | grep -q "\-\-version"; then
gtk-vnc2 --version
CHECK_RESULT $? 0 0 "执行gtk-vnc2 --version命令失败"
else
LOG_ERROR "gtk-vnc2命令不支持--version参数"
exit 255
fi
LOG_INFO "步骤4.2:测试-V参数"
if gtk-vnc2 --help 2>&1 | grep -q "\-V"; then
gtk-vnc2 -V
CHECK_RESULT $? 0 0 "执行gtk-vnc2 -V命令失败"
else
LOG_INFO "gtk-vnc2命令不支持-V参数此为正常情况"
fi
LOG_INFO "步骤5清理测试环境"
if [ $already_installed -eq 0 ]; then
LOG_INFO "卸载测试过程中安装的gtk-vnc2软件包"
dnf remove -y gtk-vnc2
CHECK_RESULT $? 0 0 "卸载gtk-vnc2软件包失败"
else
LOG_INFO "保持gtk-vnc2软件包的安装状态"
fi
LOG_INFO "gtk-vnc2软件包版本查询功能测试完成"
}
main "$@"

View File

@@ -1,68 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-12
# @License : Mulan PSL v2
# @Desc : 测试maven-monitor软件包的启动功能验证启动过程是否正常完成。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试maven-monitor软件包的启动功能"
# 检查yum源中是否存在maven-monitor软件包
LOG_INFO "检查yum源中是否存在maven-monitor软件包"
dnf list available maven-monitor > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到maven-monitor软件包"
exit 255
fi
# 检查是否已安装maven-monitor
LOG_INFO "检查是否已安装maven-monitor"
rpm -q maven-monitor > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "maven-monitor已安装跳过安装步骤"
installed=true
else
LOG_INFO "maven-monitor未安装开始安装"
dnf install -y maven-monitor
CHECK_RESULT $? 0 0 "安装maven-monitor失败"
installed=false
fi
# 验证启动功能
LOG_INFO "验证maven-monitor启动功能"
systemctl start maven-monitor
CHECK_RESULT $? 0 0 "启动maven-monitor失败"
# 检查服务状态
LOG_INFO "检查maven-monitor服务状态"
systemctl status maven-monitor > /dev/null 2>&1
CHECK_RESULT $? 0 0 "maven-monitor服务未正常运行"
# 清理环境:如果之前未安装,则卸载软件包
if [ "$installed" = false ]; then
LOG_INFO "清理环境卸载maven-monitor"
dnf remove -y maven-monitor
CHECK_RESULT $? 0 0 "卸载maven-monitor失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -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-31
# @License : Mulan PSL v2
# @Desc : 测试软件包安装功能是否正常
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查脚本执行用户是否为root
if [[ $(id -u) -ne 0 ]]; then
LOG_ERROR "请使用root用户执行此脚本"
exit 1
fi
# 定义软件包名称
PACKAGE_NAME="perl-ExtUtils-Install"
LOG_INFO "开始测试软件包安装功能"
# 检查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 "yum源中存在软件包: ${PACKAGE_NAME}"
# 检查软件包是否已经安装
LOG_INFO "检查软件包是否已经安装"
rpm -q ${PACKAGE_NAME} > /dev/null 2>&1
if [[ $? -eq 0 ]]; then
LOG_INFO "软件包已经安装,跳过安装步骤"
INSTALLED_BEFORE="yes"
else
LOG_INFO "软件包未安装,将执行安装测试"
INSTALLED_BEFORE="no"
fi
# 测试安装功能
if [[ ${INSTALLED_BEFORE} == "no" ]]; then
LOG_INFO "开始安装软件包: ${PACKAGE_NAME}"
dnf install -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "软件包安装失败"
LOG_INFO "软件包安装成功"
# 验证安装结果
LOG_INFO "验证软件包是否安装成功"
rpm -q ${PACKAGE_NAME} > /dev/null 2>&1
CHECK_RESULT $? 0 0 "软件包安装验证失败"
LOG_INFO "软件包安装验证成功"
fi
# 测试软件包基本功能
LOG_INFO "测试软件包基本功能"
# 这里可以根据实际软件包的功能添加测试命令
# 例如:检查软件包提供的命令是否存在
if [[ ${PACKAGE_NAME} == "perl-ExtUtils-Install" ]]; then
# 检查是否提供了perl模块
perl -MExtUtils::Install -e "print "模块加载成功\n"" > /dev/null 2>&1
CHECK_RESULT $? 0 0 "Perl模块加载失败"
LOG_INFO "Perl模块加载成功"
fi
# 环境恢复
LOG_INFO "开始环境恢复"
if [[ ${INSTALLED_BEFORE} == "no" ]]; then
LOG_INFO "卸载测试安装的软件包"
dnf remove -y ${PACKAGE_NAME}
CHECK_RESULT $? 0 0 "软件包卸载失败"
LOG_INFO "软件包卸载成功"
# 验证卸载结果
LOG_INFO "验证软件包是否已卸载"
rpm -q ${PACKAGE_NAME} > /dev/null 2>&1
if [[ $? -eq 0 ]]; then
LOG_ERROR "软件包卸载验证失败"
exit 1
fi
LOG_INFO "软件包卸载验证成功"
else
LOG_INFO "保持原有安装状态,无需卸载"
fi
LOG_INFO "测试软件包安装功能完成"
}
main "$@"

View File

@@ -1,83 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-31
# @License : Mulan PSL v2
# @Desc : 测试获取软件包版本信息功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已经安装perl-ExtUtils-Install-help_function_version软件包
LOG_INFO "检查perl-ExtUtils-Install-help_function_version是否已安装"
rpm -q perl-ExtUtils-Install-help_function_version > /dev/null 2>&1
installed=$?
# 设置环境状态标记
if [ $installed -eq 0 ]; then
LOG_INFO "perl-ExtUtils-Install-help_function_version已安装测试结束后保持安装状态"
ENV_STATE="installed"
else
LOG_INFO "perl-ExtUtils-Install-help_function_version未安装测试结束后将卸载"
ENV_STATE="uninstalled"
fi
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否存在perl-ExtUtils-Install-help_function_version软件包"
dnf list available perl-ExtUtils-Install-help_function_version > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到perl-ExtUtils-Install-help_function_version软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $installed -ne 0 ]; then
LOG_INFO "安装perl-ExtUtils-Install-help_function_version软件包"
dnf install -y perl-ExtUtils-Install-help_function_version
CHECK_RESULT $? 0 0 "安装perl-ExtUtils-Install-help_function_version失败"
fi
# 测试获取软件包版本信息功能
LOG_INFO "测试获取软件包版本信息功能"
# 假设软件包提供了--version参数来获取版本信息
perl-ExtUtils-Install-help_function_version --version > /dev/null 2>&1
if [ $? -eq 255 ]; then
LOG_ERROR "软件包不支持--version参数"
# 清理环境:如果之前未安装,则卸载
if [ "$ENV_STATE" = "uninstalled" ]; then
LOG_INFO "清理环境卸载perl-ExtUtils-Install-help_function_version"
dnf remove -y perl-ExtUtils-Install-help_function_version
fi
exit 255
fi
# 执行获取版本信息的命令
LOG_INFO "执行获取版本信息的命令"
perl-ExtUtils-Install-help_function_version --version
CHECK_RESULT $? 0 0 "获取软件包版本信息失败"
# 清理环境:如果测试前未安装,则卸载软件包
if [ "$ENV_STATE" = "uninstalled" ]; then
LOG_INFO "清理环境卸载perl-ExtUtils-Install-help_function_version"
dnf remove -y perl-ExtUtils-Install-help_function_version
CHECK_RESULT $? 0 0 "卸载perl-ExtUtils-Install-help_function_version失败"
else
LOG_INFO "保持perl-ExtUtils-Install-help_function_version的安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,61 +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-09
# @License : Mulan PSL v2
# @Desc : Test the build functionality of the package
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试python3-scikit-build-core的构建功能"
# 检查yum源中是否存在python3-scikit-build-core包
LOG_INFO "检查yum源中是否存在python3-scikit-build-core包"
dnf list available python3-scikit-build-core > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到python3-scikit-build-core包"
exit 255
fi
# 检查是否已安装python3-scikit-build-core
LOG_INFO "检查是否已安装python3-scikit-build-core"
rpm -q python3-scikit-build-core > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "python3-scikit-build-core已安装跳过安装步骤"
installed=true
else
LOG_INFO "python3-scikit-build-core未安装开始安装"
dnf install -y python3-scikit-build-core
CHECK_RESULT $? 0 0 "安装python3-scikit-build-core失败"
installed=false
fi
# 测试构建功能
LOG_INFO "测试python3-scikit-build-core的构建功能"
python3 -m scikit_build_core build
CHECK_RESULT $? 0 0 "构建功能测试失败"
# 清理环境
if [ "$installed" = false ]; then
LOG_INFO "卸载python3-scikit-build-core"
dnf remove -y python3-scikit-build-core
CHECK_RESULT $? 0 0 "卸载python3-scikit-build-core失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,59 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-08
# @License : Mulan PSL v2
# @Desc : 测试python-tzlocal-help软件包的时区获取功能验证是否能正确获取本地时区。
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试python-tzlocal-help软件包的时区获取功能验证是否能正确获取本地时区。"
# 检查软件包是否已安装
LOG_INFO "检查python-tzlocal-help软件包是否已安装..."
if ! dnf list installed python-tzlocal-help &>/dev/null; then
LOG_INFO "python-tzlocal-help软件包未安装准备安装..."
# 检查yum源中是否有该软件包
if ! dnf list available python-tzlocal-help &>/dev/null; then
LOG_ERROR "yum源中未找到python-tzlocal-help软件包退出测试"
exit 255
fi
# 安装软件包
dnf install -y python-tzlocal-help
CHECK_RESULT $? 0 0 "安装python-tzlocal-help软件包失败"
# 标记需要卸载
NEED_UNINSTALL=1
else
LOG_INFO "python-tzlocal-help软件包已安装无需重复安装"
fi
# 测试时区获取功能
LOG_INFO "测试python-tzlocal-help的时区获取功能..."
result=$(python3 -c "import tzlocal; print(tzlocal.get_localzone())" 2>&1)
CHECK_RESULT $? 0 0 "执行时区获取命令失败"
LOG_INFO "获取到的本地时区为: $result"
# 清理环境(如果之前未安装)
if [[ $NEED_UNINSTALL -eq 1 ]]; then
LOG_INFO "卸载python-tzlocal-help软件包..."
dnf remove -y python-tzlocal-help
CHECK_RESULT $? 0 0 "卸载python-tzlocal-help软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,76 +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-27
# @License : Mulan PSL v2
# @Desc : 测试versioneer命令基本帮助信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 定义颜色变量
LOG_INFO="echo -e \\033[1;32m[INFO]\\033[0m"
LOG_ERROR="echo -e \\033[1;31m[ERROR]\\033[0m"
# 定义软件包名称
PACKAGE_NAME="python3-versioneer"
# 检查软件包是否已安装
$LOG_INFO "检查 $PACKAGE_NAME 是否已安装"
if rpm -q $PACKAGE_NAME &>/dev/null; then
$LOG_INFO "$PACKAGE_NAME 已安装"
INSTALLED=true
else
$LOG_INFO "$PACKAGE_NAME 未安装"
INSTALLED=false
fi
# 检查yum源中是否存在该软件包
$LOG_INFO "检查yum源中是否存在 $PACKAGE_NAME"
if ! dnf list available $PACKAGE_NAME &>/dev/null; then
$LOG_ERROR "yum源中不存在 $PACKAGE_NAME"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
$LOG_INFO "安装 $PACKAGE_NAME"
dnf install -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "安装 $PACKAGE_NAME 失败"
fi
# 测试versioneer命令基本帮助信息
$LOG_INFO "测试versioneer命令基本帮助信息"
versioneer --help
CHECK_RESULT $? 0 0 "versioneer --help 执行失败"
# 检查--help参数是否被支持
$LOG_INFO "检查--help参数是否被支持"
if ! versioneer --help 2>&1 | grep -q "usage"; then
$LOG_ERROR "versioneer命令不支持--help参数"
exit 255
fi
# 清理环境:如果之前未安装,则卸载软件包
if [ "$INSTALLED" = false ]; then
$LOG_INFO "卸载 $PACKAGE_NAME"
dnf remove -y $PACKAGE_NAME
CHECK_RESULT $? 0 0 "卸载 $PACKAGE_NAME 失败"
fi
$LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,83 +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-27
# @License : Mulan PSL v2
# @Desc : 测试versioneer命令的版本输出
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试versioneer命令的版本输出功能"
LOG_INFO "步骤1: 检查是否已安装python3-versioneer软件包"
rpm -q python3-versioneer > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "python3-versioneer已安装记录安装状态以便后续恢复"
PYTHON3_VERSIONEER_INSTALLED=true
else
LOG_INFO "python3-versioneer未安装"
PYTHON3_VERSIONEER_INSTALLED=false
fi
LOG_INFO "步骤2: 检查yum源中是否存在python3-versioneer软件包"
dnf list available python3-versioneer > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到python3-versioneer软件包"
exit 255
fi
if [ "$PYTHON3_VERSIONEER_INSTALLED" = "false" ]; then
LOG_INFO "步骤3: 安装python3-versioneer软件包"
dnf install -y python3-versioneer
CHECK_RESULT $? 0 0 "安装python3-versioneer失败"
fi
LOG_INFO "步骤4: 检查versioneer命令是否存在"
which versioneer > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "versioneer命令未找到"
if [ "$PYTHON3_VERSIONEER_INSTALLED" = "false" ]; then
dnf remove -y python3-versioneer
fi
exit 1
fi
LOG_INFO "步骤5: 检查versioneer命令是否支持version参数"
versioneer --help 2>&1 | grep -q "\-\-version"
if [ $? -ne 0 ]; then
LOG_ERROR "versioneer命令不支持--version参数"
if [ "$PYTHON3_VERSIONEER_INSTALLED" = "false" ]; then
dnf remove -y python3-versioneer
fi
exit 255
fi
LOG_INFO "步骤6: 执行versioneer --version命令"
versioneer --version
CHECK_RESULT $? 0 0 "执行versioneer --version命令失败"
LOG_INFO "步骤7: 清理测试环境"
if [ "$PYTHON3_VERSIONEER_INSTALLED" = "false" ]; then
LOG_INFO "卸载测试安装的python3-versioneer软件包"
dnf remove -y python3-versioneer
CHECK_RESULT $? 0 0 "卸载python3-versioneer失败"
else
LOG_INFO "保持原有的python3-versioneer安装状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,72 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-27
# @License : Mulan PSL v2
# @Desc : 测试python3-versioneer软件包的安装
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试python3-versioneer软件包的安装"
LOG_INFO "检查yum源中是否存在python3-versioneer软件包"
dnf list available python3-versioneer > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到python3-versioneer软件包"
exit 255
fi
LOG_INFO "检查当前环境是否已安装python3-versioneer"
rpm -q python3-versioneer > /dev/null 2>&1
installed=$?
if [ $installed -eq 0 ]; then
LOG_INFO "环境已安装python3-versioneer测试将保持安装状态"
need_cleanup=0
else
LOG_INFO "环境未安装python3-versioneer将进行安装测试"
need_cleanup=1
fi
if [ $need_cleanup -eq 1 ]; then
LOG_INFO "安装python3-versioneer软件包"
dnf install -y python3-versioneer
CHECK_RESULT $? 0 0 "安装python3-versioneer失败"
LOG_INFO "验证python3-versioneer安装成功"
rpm -q python3-versioneer
CHECK_RESULT $? 0 0 "验证python3-versioneer安装失败"
fi
LOG_INFO "测试python3-versioneer基本功能"
python3 -m versioneer --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "python3-versioneer基本功能测试失败"
if [ $need_cleanup -eq 1 ]; then
LOG_INFO "清理测试环境卸载python3-versioneer"
dnf remove -y python3-versioneer
CHECK_RESULT $? 0 0 "卸载python3-versioneer失败"
LOG_INFO "验证python3-versioneer已卸载"
rpm -q python3-versioneer > /dev/null 2>&1
CHECK_RESULT $? 1 0 "验证python3-versioneer卸载失败"
else
LOG_INFO "保持python3-versioneer安装状态无需清理"
fi
LOG_INFO "python3-versioneer软件包安装测试完成"
}
main "$@"

View File

@@ -1,82 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2026-03-27
# @License : Mulan PSL v2
# @Desc : 测试python3-versioneer软件包的卸载
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试python3-versioneer软件包的卸载"
# 检查软件包是否在yum源中
LOG_INFO "检查python3-versioneer软件包是否在yum源中"
dnf list available python3-versioneer > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中没有找到python3-versioneer软件包"
exit 255
fi
# 检查当前是否已安装python3-versioneer
LOG_INFO "检查当前是否已安装python3-versioneer"
rpm -q python3-versioneer > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "python3-versioneer已安装测试结束后将保持安装状态"
INSTALLED=true
else
LOG_INFO "python3-versioneer未安装将在测试前安装"
INSTALLED=false
fi
# 如果未安装,则先安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装python3-versioneer软件包"
dnf install -y python3-versioneer
CHECK_RESULT $? 0 0 "安装python3-versioneer失败"
fi
# 执行卸载测试
LOG_INFO "开始卸载python3-versioneer软件包"
dnf remove -y python3-versioneer
CHECK_RESULT $? 0 0 "卸载python3-versioneer失败"
# 验证卸载是否成功
LOG_INFO "验证python3-versioneer是否已卸载"
rpm -q python3-versioneer > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_ERROR "python3-versioneer卸载后仍然存在"
CHECK_RESULT 1 0 0 "卸载验证失败"
else
LOG_INFO "python3-versioneer已成功卸载"
fi
# 环境恢复
LOG_INFO "开始环境恢复"
if [ "$INSTALLED" = false ]; then
LOG_INFO "恢复环境卸载测试安装的python3-versioneer"
# 由于上一步已经卸载,这里不需要再执行卸载操作
LOG_INFO "环境已恢复到测试前状态"
else
LOG_INFO "恢复环境重新安装python3-versioneer"
dnf install -y python3-versioneer
CHECK_RESULT $? 0 0 "恢复环境时重新安装python3-versioneer失败"
LOG_INFO "环境已恢复到测试前状态"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -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-27
# @License : Mulan PSL v2
# @Desc : 测试versioneer在setup.py中的集成与版本生成
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已经安装python3-versioneer
LOG_INFO "检查环境是否已安装python3-versioneer"
rpm -qa | grep -q python3-versioneer
if [ $? -eq 0 ]; then
LOG_INFO "环境已安装python3-versioneer脚本结束时将保持安装状态"
INSTALLED=1
else
LOG_INFO "环境未安装python3-versioneer将在测试过程中安装"
INSTALLED=0
fi
# 检查yum源中是否有python3-versioneer软件包
LOG_INFO "检查yum源中是否有python3-versioneer软件包"
dnf list available python3-versioneer > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中没有python3-versioneer软件包"
exit 255
fi
# 如果未安装则安装python3-versioneer
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装python3-versioneer"
dnf install -y python3-versioneer
CHECK_RESULT $? 0 0 "安装python3-versioneer失败"
fi
# 创建测试目录
LOG_INFO "创建测试目录"
mkdir -p /tmp/test_versioneer
cd /tmp/test_versioneer
# 初始化git仓库
LOG_INFO "初始化git仓库"
git init
CHECK_RESULT $? 0 0 "初始化git仓库失败"
# 创建初始提交
LOG_INFO "创建初始提交"
echo "test" > README.md
git add .
git config --global user.email "test@example.com"
git config --global user.name "Test User"
git commit -m "Initial commit"
CHECK_RESULT $? 0 0 "创建初始提交失败"
# 创建setup.py文件
LOG_INFO "创建setup.py文件"
cat > setup.py << "EOF"
from setuptools import setup
import versioneer
setup(
name="test-package",
version=versioneer.get_version(),
cmdclass=versioneer.get_cmdclass(),
)
EOF
CHECK_RESULT $? 0 0 "创建setup.py文件失败"
# 初始化versioneer
LOG_INFO "初始化versioneer"
versioneer install
CHECK_RESULT $? 0 0 "初始化versioneer失败"
# 检查versioneer是否成功集成到setup.py
LOG_INFO "检查versioneer是否成功集成到setup.py"
grep -q "versioneer" setup.py
CHECK_RESULT $? 0 0 "versioneer未成功集成到setup.py"
# 生成版本号
LOG_INFO "生成版本号"
python3 setup.py --version > /dev/null 2>&1
CHECK_RESULT $? 0 0 "生成版本号失败"
# 创建git标签
LOG_INFO "创建git标签"
git tag v1.0.0
CHECK_RESULT $? 0 0 "创建git标签失败"
# 再次生成版本号,检查是否包含标签信息
LOG_INFO "再次生成版本号,检查是否包含标签信息"
VERSION=$(python3 setup.py --version)
echo $VERSION | grep -q "1.0.0"
CHECK_RESULT $? 0 0 "版本号不包含标签信息"
# 清理测试目录
LOG_INFO "清理测试目录"
cd /
rm -rf /tmp/test_versioneer
# 如果测试前未安装则卸载python3-versioneer
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载python3-versioneer"
dnf remove -y python3-versioneer
CHECK_RESULT $? 0 0 "卸载python3-versioneer失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,70 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-12-07
# @License : Mulan PSL v2
# @Desc : 测试 versioneer 版本检查功能
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试 versioneer 版本检查功能
LOG_INFO "开始测试 versioneer 版本检查功能"
# 检查是否已安装 python3-versioneer
LOG_INFO "检查是否已安装 python3-versioneer"
dnf list installed python3-versioneer > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "python3-versioneer 已安装,脚本结束时将保持安装状态"
installed=true
else
LOG_INFO "python3-versioneer 未安装,将在测试结束后卸载"
installed=false
fi
# 检查 yum 源中是否有 python3-versioneer
LOG_INFO "检查 yum 源中是否有 python3-versioneer"
dnf list available python3-versioneer > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum 源中未找到 python3-versioneer"
exit 255
fi
# 安装 python3-versioneer
if [ "$installed" = false ]; then
LOG_INFO "开始安装 python3-versioneer"
dnf install -y python3-versioneer > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装 python3-versioneer 失败"
fi
# 测试 versioneer 版本检查功能
LOG_INFO "测试 versioneer 版本检查功能"
versioneer --version > /dev/null 2>&1
CHECK_RESULT $? 0 0 "versioneer 版本检查失败"
#清理环境
if [ "$installed" = false ]; then
LOG_INFO "卸载 python3-versioneer"
dnf remove -y python3-versioneer > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载 python-verseioneere失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -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 : 测试 versioneer install 命令
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装python3-versioneer-versioneer
LOG_INFO "检查是否已安装python3-versioneer-versioneer"
if dnf list installed python3-versioneer-versioneer &>/dev/null; then
LOG_INFO "python3-versioneer-versioneer已安装脚本结束后保持安装状态"
installed=true
else
LOG_INFO "python3-versioneer-versioneer未安装将在测试后卸载"
installed=false
fi
# 检查yum源中是否存在python3-versioneer-versioneer软件包
LOG_INFO "检查yum源中是否存在python3-versioneer-versioneer软件包"
if ! dnf list available python3-versioneer-versioneer &>/dev/null; then
LOG_ERROR "yum源中未找到python3-versioneer-versioneer软件包"
exit 255
fi
# 安装python3-versioneer-versioneer软件包
if [ "$installed" = false ]; then
LOG_INFO "开始安装python3-versioneer-versioneer软件包"
dnf install -y python3-versioneer-versioneer
CHECK_RESULT $? 0 0 "安装python3-versioneerversio失败"
fi
# 测试versioinstall命令
LOG_INFO "测试versioinstall命令"
versioinstall --help &>/dev/null
CHECK_RESULT $? 0 0 "versioinstall命令不支持或参数错误"
# 清理环境
if [ "$installed" = false ]; then
LOG_INFO "卸载python3versioware软件包"
dnf remove -y pythonversioware
CHECK_RESULT $?00"卸载pythonversioware失败"
fi
}
main "$@"

View File

@@ -1,143 +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-27
# @License : Mulan PSL v2
# @Desc : 执行 versioneer install --vendor 命令
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装python3-versioneer
LOG_INFO "检查是否已安装python3-versioneer"
rpm -q python3-versioneer > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "python3-versioneer已安装记录安装状态"
installed=true
else
LOG_INFO "python3-versioneer未安装记录安装状态"
installed=false
fi
# 检查yum源中是否有python3-versioneer软件包
LOG_INFO "检查yum源中是否有python3-versioneer软件包"
dnf list available python3-versioneer > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到python3-versioneer软件包"
exit 255
fi
# 如果未安装则安装python3-versioneer
if [ "$installed" = false ]; then
LOG_INFO "安装python3-versioneer软件包"
dnf install -y python3-versioneer
CHECK_RESULT $? 0 0 "安装python3-versioneer失败"
fi
# 检查versioneer命令是否存在
LOG_INFO "检查versioneer命令是否存在"
command -v versioneer > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "versioneer命令不存在"
# 如果之前未安装,需要卸载已安装的软件包
if [ "$installed" = false ]; then
LOG_INFO "卸载python3-versioneer软件包"
dnf remove -y python3-versioneer
fi
exit 255
fi
# 检查versioneer install命令是否支持--vendor参数
LOG_INFO "检查versioneer install命令是否支持--vendor参数"
versioneer install --help 2>&1 | grep -q "\-\-vendor"
if [ $? -ne 0 ]; then
LOG_ERROR "versioneer install命令不支持--vendor参数"
# 如果之前未安装,需要卸载已安装的软件包
if [ "$installed" = false ]; then
LOG_INFO "卸载python3-versioneer软件包"
dnf remove -y python3-versioneer
fi
exit 255
fi
# 创建测试目录
LOG_INFO "创建测试目录"
test_dir="/tmp/test_versioneer_$(date +%s)"
mkdir -p "$test_dir"
CHECK_RESULT $? 0 0 "创建测试目录失败"
cd "$test_dir" || exit 1
# 初始化git仓库versioneer需要git仓库
LOG_INFO "初始化git仓库"
git init
CHECK_RESULT $? 0 0 "初始化git仓库失败"
git config user.email "test@example.com"
git config user.name "Test User"
# 创建测试Python项目
LOG_INFO "创建测试Python项目"
cat > setup.py << EOF
from setuptools import setup
setup(
name="test_project",
version="0.1.0",
)
EOF
cat > test_project.py << EOF
def hello():
return "Hello, World!"
EOF
git add .
git commit -m "Initial commit"
# 执行versioneer install --vendor命令
LOG_INFO "执行versioneer install --vendor命令"
versioneer install --vendor
CHECK_RESULT $? 0 0 "执行versioneer install --vendor命令失败"
# 检查是否生成了versioneer.py文件
LOG_INFO "检查是否生成了versioneer.py文件"
if [ -f "versioneer.py" ]; then
LOG_INFO "versioneer.py文件已生成"
else
LOG_ERROR "versioneer.py文件未生成"
# 清理测试目录
cd /tmp && rm -rf "$test_dir"
# 如果之前未安装,需要卸载已安装的软件包
if [ "$installed" = false ]; then
LOG_INFO "卸载python3-versioneer软件包"
dnf remove -y python3-versioneer
fi
exit 1
fi
# 清理测试目录
LOG_INFO "清理测试目录"
cd /tmp && rm -rf "$test_dir"
CHECK_RESULT $? 0 0 "清理测试目录失败"
# 如果测试开始时未安装则卸载python3-versioneer
if [ "$installed" = false ]; then
LOG_INFO "卸载python3-versioneer软件包"
dnf remove -y python3-versioneer
CHECK_RESULT $? 0 0 "卸载python3-versioneer失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,82 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-06
# @License : Mulan PSL v2
# @Desc : 测试texlive-fbithesis-doc软件包的降级功能验证是否能够正确降级到旧版本
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查texlive-fbithesis-doc软件包是否已安装
LOG_INFO "检查texlive-fbithesis-doc软件包是否已安装"
rpm -q texlive-fbithesis-doc
if [ $? -eq 0 ]; then
LOG_INFO "texlive-fbithesis-doc已安装记录当前版本"
CURRENT_VERSION=$(rpm -q --queryformat "%{VERSION}-%{RELEASE}" texlive-fbithesis-doc)
INSTALLED=1
else
LOG_INFO "texlive-fbithesis-doc未安装标记为未安装状态"
INSTALLED=0
fi
# 检查yum源中是否存在texlive-fbithesis-doc软件包
LOG_INFO "检查yum源中是否存在texlive-fbithesis-doc软件包"
dnf list available texlive-fbithesis-doc
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在texlive-fbithesis-doc软件包"
exit 255
fi
# 获取可用的旧版本列表
LOG_INFO "获取texlive-fbithesis-doc的可用旧版本列表"
OLD_VERSIONS=$(dnf --showduplicates list texlive-fbithesis-doc | grep texlive-fbithesis-doc | awk "{print $2}" | sort -V | head -n -1)
if [ -z "$OLD_VERSIONS" ]; then
LOG_ERROR "没有可用的旧版本"
exit 255
fi
# 选择第一个旧版本进行降级测试
TARGET_VERSION=$(echo "$OLD_VERSIONS" | head -n 1)
LOG_INFO "准备降级到版本: $TARGET_VERSION"
# 执行降级操作
LOG_INFO "执行降级操作到版本: $TARGET_VERSION"
dnf downgrade -y texlive-fbithesis-doc-$TARGET_VERSION
CHECK_RESULT $? 0 0 "降级操作失败"
# 验证降级后的版本是否正确
LOG_INFO "验证降级后的版本是否正确"
CURRENT_VERSION_AFTER_DOWNGRADE=$(rpm -q --queryformat "%{VERSION}-%{RELEASE}" texlive-fbithesis-doc)
if [ "$CURRENT_VERSION_AFTER_DOWNGRADE" != "$TARGET_VERSION" ]; then
LOG_ERROR "降级后的版本与目标版本不一致,当前版本: $CURRENT_VERSION_AFTER_DOWNGRADE, 目标版本: $TARGET_VERSION"
exit 1
fi
# 恢复环境到初始状态
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "初始状态未安装卸载texlive-fbithesis-doc软件包"
dnf remove -y texlive-fbithesis-doc
CHECK_RESULT $? 0 0 "卸载texlive-fbithesis-doc失败"
else
LOG_INFO "初始状态已安装,恢复到原始版本: $CURRENT_VERSION"
dnf upgrade -y texlive-fbithesis-doc-$CURRENT_VERSION
CHECK_RESULT $? 0 0 "恢复到原始版本失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,93 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-06
# @License : Mulan PSL v2
# @Desc : 测试texlive-fbithesis-doc软件包的降级回滚功能验证是否能够正确从降级后的版本回滚到降级前的版本
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查texlive-fbithesis-doc是否已安装
LOG_INFO "检查texlive-fbithesis-doc是否已安装"
if rpm -q texlive-fbithesis-doc &>/dev/null; then
LOG_INFO "texlive-fbithesis-doc已安装记录当前版本"
CURRENT_VERSION=$(rpm -q texlive-fbithesis-doc --queryformat "%{VERSION}-%{RELEASE}")
INSTALLED=true
else
LOG_INFO "texlive-fbithesis-doc未安装"
INSTALLED=false
fi
# 检查yum源中是否存在texlive-fbithesis-doc软件包
LOG_INFO "检查yum源中是否存在texlive-fbithesis-doc软件包"
if ! dnf list available texlive-fbithesis-doc &>/dev/null; then
LOG_ERROR "yum源中不存在texlive-fbithesis-doc软件包"
exit 255
fi
# 获取texlive-fbithesis-doc的可用版本列表
LOG_INFO "获取texlive-fbithesis-doc的可用版本列表"
AVAILABLE_VERSIONS=$(dnf list available texlive-fbithesis-doc --showduplicates | awk "{print $2}" | tail -n +2)
if [ -z "$AVAILABLE_VERSIONS" ]; then
LOG_ERROR "无法获取texlive-fbithesis-doc的可用版本列表"
exit 255
fi
# 选择降级的目标版本(假设选择倒数第二个版本)
LOG_INFO "选择降级的目标版本"
TARGET_VERSION=$(echo "$AVAILABLE_VERSIONS" | tail -n 2 | head -n 1)
if [ -z "$TARGET_VERSION" ]; then
LOG_ERROR "无法选择降级的目标版本"
exit 255
fi
# 降级texlive-fbithesis-doc到目标版本
LOG_INFO "降级texlive-fbithesis-doc到目标版本"
dnf downgrade -y texlive-fbithesis-doc-$TARGET_VERSION
CHECK_RESULT $? 0 0 "降级失败"
# 验证降级后的版本是否正确
LOG_INFO "验证降级后的版本是否正确"
DOWNGRADED_VERSION=$(rpm -q texlive-fbithesis-doc --queryformat "%{VERSION}-%{RELEASE}")
CHECK_RESULT "$DOWNGRADED_VERSION" "$TARGET_VERSION" 0 "降级后的版本不正确"
# 回滚到之前的版本
LOG_INFO "回滚到之前的版本"
if [ "$INSTALLED" = true ]; then
dnf history undo last -y --skip-broken &>/dev/null || dnf history redo last -y --skip-broken &>/dev/null
else
dnf remove -y texlive-fbithesis-doc &>/dev/null
fi
CHECK_RESULT $? 0 0 "回滚失败"
# 验证回滚后的状态是否符合预期
LOG_INFO "验证回滚后的状态是否符合预期"
if [ "$INSTALLED" = true ]; then
ROLLBACK_VERSION=$(rpm -q texlive-fbithesis-doc --queryformat "%{VERSION}-%{RELEASE}")
CHECK_RESULT "$ROLLBACK_VERSION" "$CURRENT_VERSION" 0 "回滚后的版本不正确"
else
if rpm -q texlive-fbithesis-doc &>/dev/null; then
LOG_ERROR "回滚后texlive-fbithesis-doc未卸载干净"
exit 1
fi
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

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

View File

@@ -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 : 2025-07-06
# @License : Mulan PSL v2
# @Desc : 测试texlive-fbithesis-doc软件包的回滚功能验证是否能够正确回滚到上一个版本
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查texlive-fbithesis-doc软件包是否已安装
LOG_INFO "检查texlive-fbithesis-doc软件包是否已安装"
rpm -q texlive-fbithesis-doc
if [ $? -eq 0 ]; then
LOG_INFO "texlive-fbithesis-doc软件包已安装脚本结束时保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-fbithesis-doc软件包未安装将在测试结束后卸载"
INSTALLED=false
fi
# 检查yum源中是否存在texlive-fbithesis-doc软件包
LOG_INFO "检查yum源中是否存在texlive-fbithesis-doc软件包"
dnf list available texlive-fbithesis-doc
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在texlive-fbithesis-doc软件包"
exit 255
fi
# 安装texlive-fbithesis-doc软件包
LOG_INFO "安装texlive-fbithesis-doc软件包"
dnf install -y texlive-fbithesis-doc
CHECK_RESULT $? 0 0 "安装texlive-fbithesis-doc软件包失败"
# 获取当前安装的texlive-fbithesis-doc版本
LOG_INFO "获取当前安装的texlive-fbithesis-doc版本"
CURRENT_VERSION=$(rpm -q --queryformat "%{VERSION}-%{RELEASE}" texlive-fbithesis-doc)
LOG_INFO "当前安装的texlive-fbithesis-doc版本: $CURRENT_VERSION"
# 检查dnf history是否有回滚记录
LOG_INFO "检查dnf history是否有回滚记录"
dnf history list texlive-fbithesis-doc | grep -q "install"
if [ $? -ne 0 ]; then
LOG_ERROR "dnf history中没有找到texlive-fbithesis-doc的安装记录无法回滚"
exit 255
fi
# 回滚texlive-fbithesis-doc到上一个版本
LOG_INFO "回滚texlive-fbithesis-doc到上一个版本"
dnf history undo last -y --skip-broken | grep -q "Undoing transaction"
CHECK_RESULT $? 0 0 "回滚texlive-fbithesis-doc失败"
# 验证回滚后的版本是否与之前不同
LOG_INFO "验证回滚后的版本是否与之前不同"
ROLLBACK_VERSION=$(rpm -q --queryformat "%{VERSION}-%{RELEASE}" texlive-fbithesis-doc)
if [ "$ROLLBACK_VERSION" == "$CURRENT_VERSION" ]; then
LOG_ERROR "回滚后版本未发生变化"
exit 1
else
LOG_INFO "回滚成功,当前版本: $ROLLBACK_VERSION"
fi
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-fbithesis-doc软件包以恢复环境"
dnf remove -y texlive-fbithesis-doc
CHECK_RESULT $? 0 0 "卸载texlive-fbithesis-doc软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -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-07-06
# @License : Mulan PSL v2
# @Desc : 测试texlive-fbithesis-doc软件包的升级回滚功能验证是否能够正确从升级后的版本回滚到升级前的版本
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装texlive-fbithesis-doc
LOG_INFO "检查是否已安装texlive-fbithesis-doc"
rpm -q texlive-fbithesis-doc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-fbithesis-doc已安装脚本结束时保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-fbithesis-doc未安装将在测试结束后卸载"
INSTALLED=false
fi
# 检查yum源中是否存在texlive-fbithesis-doc
LOG_INFO "检查yum源中是否存在texlive-fbithesis-doc"
dnf list available texlive-fbithesis-doc > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中不存在texlive-fbithesis-doc软件包"
# 获取当前安装的版本(如果已安装)
if [ "$INSTALLED" = true ]; then
LOG_INFO "获取当前安装的texlive-fbithesis-doc版本"
CURRENT_VERSION=$(rpm -q --queryformat "%{VERSION}-%{RELEASE}" texlive-fbithesis-doc)
LOG_INFO "当前版本: $CURRENT_VERSION"
fi
# 安装texlive-fbithesis-doc如果未安装
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装texlive-fbithesis-doc"
dnf install -y texlive-fbithesis-doc
CHECK_RESULT $? 0 0 "安装texlive-fbithesis-doc失败"
fi
# 获取升级前的版本
LOG_INFO "获取升级前的texlive-fbithesis-doc版本"
PRE_UPGRADE_VERSION=$(rpm -q --queryformat "%{VERSION}-%{RELEASE}" texlive-fbithesis-doc)
LOG_INFO "升级前版本: $PRE_UPGRADE_VERSION"
# 检查是否有可用的升级版本
LOG_INFO "检查是否有可用的升级版本"
dnf check-update texlive-fbithesis-doc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "没有可用的升级版本"
exit 255
fi
# 升级texlive-fbithesis-doc
LOG_INFO "升级texlive-fbithesis-doc"
dnf upgrade -y texlive-fbithesis-doc
CHECK_RESULT $? 0 0 "升级texlive-fbithesis-doc失败"
# 获取升级后的版本
LOG_INFO "获取升级后的texlive-fbithesis-doc版本"
POST_UPGRADE_VERSION=$(rpm -q --queryformat "%{VERSION}-%{RELEASE}" texlive-fbithesis-doc)
LOG_INFO "升级后版本: $POST_UPGRADE_VERSION"
# 验证升级后的版本与之前不同
LOG_INFO "验证升级后的版本与之前不同"
if [ "$PRE_UPGRADE_VERSION" = "$POST_UPGRADE_VERSION" ]; then
LOG_ERROR "升级后版本与之前相同"
exit 1
fi
# 回滚到之前的版本
LOG_INFO "回滚到之前的版本"
dnf history undo last -y --skip-broken > /dev/null 2>&1
CHECK_RESULT $? 0 0 "回滚失败"
# 验证回滚后的版本与之前相同(升级前版本)
LOG_INFO "验证回滚后的版本与之前相同"
ROLLBACK_VERSION=$(rpm -q --queryformat "%{VERSION}-%{RELEASE}" texlive-fbithesis-doc)
if [ "$ROLLBACK_VERSION" != "$PRE_UPGRADE_VERSION" ]; then
LOG_ERROR "回滚后版本与之前不同"
exit 1
else
LOG_INFO "回滚成功,当前版本: $ROLLBACK_VERSION"
fi
#清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-fbithesis-doC "
dnf remove-y texLive_fBitHesis_dOc >/dev/null 2>&l
CHECK_RESULT $ o o “卸载失败”
fi
}
main "$@"

View File

@@ -1,65 +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-07-06
# @License : Mulan PSL v2
# @Desc : 测试texlive-fbithesis-doc软件包提供的服务配置功能验证是否能正常配置服务参数
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装texlive-fbithesis-doc软件包
LOG_INFO "检查是否已安装texlive-fbithesis-doc软件包"
rpm -q texlive-fbithesis-doc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-fbithesis-doc已安装脚本结束时保持安装状态"
installed=true
else
LOG_INFO "texlive-fbithesis-doc未安装将在测试结束后卸载"
installed=false
fi
# 检查yum源中是否存在texlive-fbithesis-doc软件包
LOG_INFO "检查yum源中是否存在texlive-fbithesis-doc软件包"
dnf list available texlive-fbithesis-doc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在texlive-fbithesis-doc软件包"
exit 255
fi
# 安装texlive-fbithesis-doc软件包
if [ "$installed" = false ]; then
LOG_INFO "开始安装texlive-fbithesis-doc软件包"
dnf install -y texlive-fbithesis-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装texlive-fbithesis-doc失败"
fi
# 验证服务配置功能
LOG_INFO "验证texlive-fbithesis-doc服务配置功能"
command_to_test="texdoc fbithesis"
$command_to_test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "服务配置功能验证失败"
# 清理环境
if [ "$installed" = false ]; then
LOG_INFO "卸载texlive-fbithesis-doc软件包"
dnf remove -y texlive-fbithesis-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载texlive-fbithesis-doc失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,81 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-06
# @License : Mulan PSL v2
# @Desc : 测试texlive-fbithesis-doc软件包提供的服务开机自启禁用功能验证服务是否能正常取消开机自启
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试texlive-fbithesis-doc软件包提供的服务开机自启禁用功能验证服务是否能正常取消开机自启
# 步骤1检查yum源中是否存在texlive-fbithesis-doc软件包
LOG_INFO "检查yum源中是否存在texlive-fbithesis-doc软件包"
dnf list available texlive-fbithesis-doc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在texlive-fbithesis-doc软件包"
exit 255
fi
# 步骤2检查是否已安装texlive-fbithesis-doc软件包
LOG_INFO "检查是否已安装texlive-fbithesis-doc软件包"
rpm -q texlive-fbithesis-doc > /dev/null 2>&1
if [ $? -eq 0 ]; then
INSTALLED=true
LOG_INFO "texlive-fbithesis-doc软件包已安装"
else
INSTALLED=false
LOG_INFO "texlive-fbithesis-doc软件包未安装将进行安装"
fi
# 步骤3如果未安装则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装texlive-fbithesis-doc软件包"
dnf install -y texlive-fbithesis-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装texlive-fbithesis-doc软件包失败"
fi
# 步骤4检查服务是否存在并获取服务名称
LOG_INFO "检查服务是否存在并获取服务名称"
SERVICE_NAME=$(systemctl list-unit-files | grep fbithesis | awk "{print $1}")
if [ -z "$SERVICE_NAME" ]; then
LOG_ERROR "未找到fbithesis相关服务"
exit 255
fi
# 步骤5禁用服务开机自启
LOG_INFO "禁用服务开机自启"
systemctl disable $SERVICE_NAME > /dev/null 2>&1
CHECK_RESULT $? 0 0 "禁用服务开机自启失败"
# 步骤6验证服务是否已禁用
LOG_INFO "验证服务是否已禁用"
systemctl is-enabled $SERVICE_NAME | grep -q "disabled"
CHECK_RESULT $? 0 0 "服务开机自启未禁用"
# 步骤7恢复环境如果之前未安装
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-fbithesis-doc软件包"
dnf remove -y texlive-fbithesis-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载texlive-fbithesis-doc软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,74 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-06
# @License : Mulan PSL v2
# @Desc : 测试texlive-fbithesis-doc软件包提供的服务开机自启功能验证服务是否能正常设置为开机自启
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查texlive-fbithesis-doc软件包是否已安装
LOG_INFO "检查texlive-fbithesis-doc软件包是否已安装"
rpm -q texlive-fbithesis-doc
if [ $? -eq 0 ]; then
LOG_INFO "texlive-fbithesis-doc软件包已安装"
INSTALLED=true
else
LOG_INFO "texlive-fbithesis-doc软件包未安装"
INSTALLED=false
fi
# 检查yum源中是否存在texlive-fbithesis-doc软件包
LOG_INFO "检查yum源中是否存在texlive-fbithesis-doc软件包"
dnf list available texlive-fbithesis-doc
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在texlive-fbithesis-doc软件包"
exit 255
fi
# 如果未安装则安装texlive-fbithesis-doc软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装texlive-fbithesis-doc软件包"
dnf install -y texlive-fbithesis-doc
CHECK_RESULT $? 0 0 "安装texlive-fbithesis-doc软件包失败"
fi
# 检查服务是否支持开机自启
LOG_INFO "检查服务是否支持开机自启"
systemctl enable texlive-fbithesis-doc.service --now
CHECK_RESULT $? 0 0 "设置开机自启失败"
# 验证服务是否能正常启动
LOG_INFO "验证服务是否能正常启动"
systemctl start texlive-fbithesis-doc.service
CHECK_RESULT $? 0 0 "启动服务失败"
# 检查服务状态是否为active (running)
LOG_INFO "检查服务状态是否为active (running)"
systemctl status texlive-fbithesis-doc.service | grep -q "active (running)"
CHECK_RESULT $? 0 0 "服务状态异常"
# 如果最初未安装则卸载texlive-fbithesis-doc软件包以恢复环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-fbithesis-doc软件包以恢复环境"
dnf remove -y texlive-fbithesis-doc
CHECK_RESULT $? 0 0 "卸载texlive-fbithesis-doc软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,74 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-06
# @License : Mulan PSL v2
# @Desc : 测试texlive-fbithesis-doc软件包提供的服务日志查看功能验证是否能正常查看服务日志
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查texlive-fbithesis-doc软件包是否已安装
LOG_INFO "检查texlive-fbithesis-doc软件包是否已安装"
rpm -q texlive-fbithesis-doc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-fbithesis-doc软件包已安装保持安装状态"
installed=true
else
LOG_INFO "texlive-fbithesis-doc软件包未安装将在测试完成后卸载"
installed=false
fi
# 检查yum源中是否存在texlive-fbithesis-doc软件包
LOG_INFO "检查yum源中是否存在texlive-fbithesis-doc软件包"
dnf list available texlive-fbithesis-doc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在texlive-fbithesis-doc软件包"
exit 255
fi
# 安装texlive-fbithesis-doc软件包
if [ "$installed" = false ]; then
LOG_INFO "安装texlive-fbithesis-doc软件包"
dnf install -y texlive-fbithesis-doc
CHECK_RESULT $? 0 0 "安装texlive-fbithesis-doc软件包失败"
fi
# 测试服务日志查看功能
LOG_INFO "测试texlive-fbithesis-doc软件包提供的服务日志查看功能"
journalctl --unit=texlive-fbithesis-doc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "不支持journalctl --unit=texlive-fbithesis-doc参数或服务不存在"
if [ "$installed" = false ]; then
dnf remove -y texlive-fbithesis-doc
CHECK_RESULT $? 0 0 "卸载texlive-fbithesis-doc软件包失败"
fi
exit 255
fi
CHECK_RESULT $? 0 0 "查看texlive-fbithesis-doc服务日志失败"
# 清理环境,恢复到之前的状态
if [ "$installed" = false ]; then
LOG_INFO "卸载texlive-fbithesis-doc软件包"
dnf remove -y texlive-fbithesis-doc
CHECK_RESULT $? 0 0 "卸载texlive-fbithesis-doc软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
exit 0
}
main "$@"

View File

@@ -1,64 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-06
# @License : Mulan PSL v2
# @Desc : 测试texlive-fbithesis-doc软件包提供的服务重载功能验证服务是否能正常重载配置
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装texlive-fbithesis-doc
LOG_INFO "检查是否已安装texlive-fbithesis-doc"
rpm -q texlive-fbithesis-doc
if [ $? -eq 0 ]; then
LOG_INFO "texlive-fbithesis-doc已安装测试结束后保持安装状态"
INSTALLED=1
else
LOG_INFO "texlive-fbithesis-doc未安装测试结束后将卸载"
INSTALLED=0
fi
# 检查yum源中是否有texlive-fbithesis-doc软件包
LOG_INFO "检查yum源中是否有texlive-fbithesis-doc软件包"
dnf list available texlive-fbithesis-doc
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-fbithesis-doc软件包"
exit 255
fi
# 如果未安装则安装texlive-fbithesis-doc
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装texlive-fbithesis-doc"
dnf install -y texlive-fbithesis-doc
CHECK_RESULT $? 0 0 "安装texlive-fbithesis-doc失败"
fi
# 验证服务重载功能
LOG_INFO "验证服务重载功能"
systemctl reload texlive-fbithesis-doc
CHECK_RESULT $? 0 0 "服务重载失败"
# 清理环境
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载texlive-fbithesis-doc"
dnf remove -y texlive-fbithesis-doc
CHECK_RESULT $? 0 0 "卸载texlive-fbithesis-doc失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,80 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-06
# @License : Mulan PSL v2
# @Desc : 测试texlive-fbithesis-doc软件包提供的服务重启功能验证服务是否能正常重启
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查texlive-fbithesis-doc软件包是否已安装
LOG_INFO "检查texlive-fbithesis-doc软件包是否已安装"
rpm -q texlive-fbithesis-doc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-fbithesis-doc软件包已安装"
INSTALLED=1
else
LOG_INFO "texlive-fbithesis-doc软件包未安装"
INSTALLED=0
fi
# 检查yum源中是否存在texlive-fbithesis-doc软件包
LOG_INFO "检查yum源中是否存在texlive-fbithesis-doc软件包"
dnf list available texlive-fbithesis-doc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在texlive-fbithesis-doc软件包"
exit 255
fi
# 如果未安装则安装texlive-fbithesis-doc软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装texlive-fbithesis-doc软件包"
dnf install -y texlive-fbithesis-doc
CHECK_RESULT $? 0 0 "安装texlive-fbithesis-doc软件包失败"
LOG_INFO "texlive-fbithesis-doc软件包安装成功"
fi
# 检查服务是否存在并获取服务名称
LOG_INFO "检查服务是否存在并获取服务名称"
SERVICE_NAME=$(systemctl list-unit-files | grep fbithesis | awk "{print $1}")
if [ -z "$SERVICE_NAME" ]; then
LOG_ERROR "未找到fbithesis相关服务"
exit 255
fi
# 重启服务
LOG_INFO "重启服务:$SERVICE_NAME"
systemctl restart "$SERVICE_NAME"
CHECK_RESULT $? 0 0 "重启服务失败"
# 检查服务状态
LOG_INFO "检查服务状态:$SERVICE_NAME"
systemctl status "$SERVICE_NAME" > /dev/null 2>&1
CHECK_RESULT $? 0 0 "服务状态异常"
# 恢复环境:如果脚本开始时未安装,则卸载软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载texlive-fbithesis-doc软件包"
dnf remove -y texlive-fbithesis-doc
CHECK_RESULT $? 0 0 "卸载texlive-fbithesis-doc软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,61 +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-07-06
# @License : Mulan PSL v2
# @Desc : 测试texlive-fbithesis-doc软件包提供的服务启动功能验证服务是否能正常启动
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已经安装了texlive-fbithesis-doc软件包
LOG_INFO "检查是否已安装texlive-fbithesis-doc软件包"
rpm -q texlive-fbithesis-doc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-fbithesis-doc已安装脚本结束后保持安装状态"
installed=true
else
LOG_INFO "texlive-fbithesis-doc未安装将在测试结束后卸载"
installed=false
fi
# 检查yum源中是否有texlive-fbithesis-doc软件包
LOG_INFO "检查yum源中是否有texlive-fbithesis-doc软件包"
dnf list available texlive-fbithesis-doc > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中没有texlive-fbithesis-doc软件包"
# 安装texlive-fbithesis-doc软件包
if [ "$installed" = false ]; then
LOG_INFO "正在安装texlive-fbithesis-doc软件包"
dnf install -y texlive-fbithesis-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装texlive-fbithesis-doc失败"
fi
# 验证服务是否能正常启动
LOG_INFO "验证texlive-fbithesis-doc服务启动功能"
systemctl start texlive-fbithesis-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "texlive-fbithesis-doc服务启动失败"
# 清理环境
if [ "$installed" = false ]; then
LOG_INFO "正在卸载texlive-fbithesis-doc软件包"
dnf remove -y texlive-fbithesis-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载texlive-fbithesis-doc失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,68 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-06
# @License : Mulan PSL v2
# @Desc : 测试texlive-fbithesis-doc软件包提供的服务状态查询功能验证是否能正常查询服务状态
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已安装texlive-fbithesis-doc软件包
LOG_INFO "检查是否已安装texlive-fbithesis-doc软件包"
rpm -q texlive-fbithesis-doc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-fbithesis-doc已安装脚本结束时保持安装状态"
INSTALLED=1
else
LOG_INFO "texlive-fbithesis-doc未安装将在测试结束后卸载"
INSTALLED=0
fi
# 检查yum源中是否有texlive-fbithesis-doc软件包
LOG_INFO "检查yum源中是否有texlive-fbithesis-doc软件包"
dnf list available texlive-fbithesis-doc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-fbithesis-doc软件包"
exit 255
fi
# 如果未安装则安装texlive-fbithesis-doc软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "开始安装texlive-fbithesis-doc软件包"
dnf install -y texlive-fbithesis-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装texlive-fbithesis-doc失败"
fi
# 测试服务状态查询功能
LOG_INFO "测试服务状态查询功能"
systemctl status texlive-fbithesis-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "查询服务状态失败"
# 如果脚本开始时未安装,则在测试结束后卸载软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载texlive-fbithesis-doc软件包"
dnf remove -y texlive-fbithesis-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载texlive-fbithesis-doc失败"
# 验证卸载是否成功
rpm -q texlive-fbithesis-doc > /dev/null 2>&1
CHECK_RESULT $? 1 0 "卸载texlive-fbithesis-doc后仍存在"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -1,74 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-06
# @License : Mulan PSL v2
# @Desc : 测试texlive-fbithesis-doc软件包提供的服务停止功能验证服务是否能正常停止
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查texlive-fbithesis-doc软件包是否已安装
LOG_INFO "检查texlive-fbithesis-doc软件包是否已安装"
rpm -q texlive-fbithesis-doc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-fbithesis-doc软件包已安装"
installed=true
else
LOG_INFO "texlive-fbithesis-doc软件包未安装"
installed=false
fi
# 检查yum源中是否存在texlive-fbithesis-doc软件包
LOG_INFO "检查yum源中是否存在texlive-fbithesis-doc软件包"
dnf list available texlive-fbithesis-doc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在texlive-fbithesis-doc软件包"
exit 255
fi
# 如果未安装则安装texlive-fbithesis-doc软件包
if [ "$installed" = false ]; then
LOG_INFO "开始安装texlive-fbithesis-doc软件包"
dnf install -y texlive-fbithesis-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装texlive-fbithesis-doc软件包失败"
LOG_INFO "texlive-fbithesis-doc软件包安装成功"
fi
# 测试服务停止功能
LOG_INFO "测试服务停止功能"
systemctl stop texlive-fbithesis-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "停止texlive-fbithesis-doc服务失败"
# 验证服务是否已停止
LOG_INFO "验证服务是否已停止"
systemctl is-active texlive-fbithesis-doc > /dev/null 2>&1
CHECK_RESULT $? 3 0 "texlive-fbithesis-doc服务未停止"
# 恢复服务启动状态
LOG_INFO "恢复服务启动状态"
systemctl start texlive-fbithesis-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "启动texlive-fbithesis-doc服务失败"
# 如果脚本开始时未安装则卸载texlive-fbithesis-doc软件包以恢复环境状态。
if [ "$installed" = false ]; then
LOG_INFO "卸载texlive-fbithesis-doc软件包以恢复环境状态"
dnf remove -y texlive-fbithesis-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载texlive-fbithesis-doc软件包失败"
LOG_INFO "texlive-fbithesis-doc软件包卸载成功环境已恢复"
fi
}
main "$@"

View File

@@ -1,84 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-06
# @License : Mulan PSL v2
# @Desc : 测试texlive-fbithesis-doc软件包提供的命令参数验证功能验证命令的所有参数是否可用且符合预期
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查texlive-fbithesis-doc软件包是否已安装
LOG_INFO "检查texlive-fbithesis-doc软件包是否已安装"
rpm -q texlive-fbithesis-doc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-fbithesis-doc软件包已安装脚本结束时将保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-fbithesis-doc软件包未安装将在测试结束后卸载"
INSTALLED=false
fi
# 检查yum源中是否存在texlive-fbithesis-doc软件包
LOG_INFO "检查yum源中是否存在texlive-fbithesis-doc软件包"
dnf list available texlive-fbithesis-doc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在texlive-fbithesis-doc软件包"
exit 255
fi
# 安装texlive-fbithesis-doc软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装texlive-fbithesis-doc软件包"
dnf install -y texlive-fbithesis-doc
CHECK_RESULT $? 0 0 "安装texlive-fbithesis-doc软件包失败"
fi
# 验证命令参数
LOG_INFO "验证texlive-fbithesis-doc命令参数"
command_to_test="texlive-fbithesis-doc"
expected_arguments="--help --version"
# 检查--help参数
LOG_INFO "检查--help参数"
$command_to_test --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "--help参数不支持或执行失败"
# 检查--version参数
LOG_INFO "检查--version参数"
$command_to_test --version > /dev/null 2>&1
CHECK_RESULT $? 0 0 "--version参数不支持或执行失败"
# 检查不支持的参数
LOG_INFO "检查不支持的参数"
$command_to_test --invalid-arg > /dev/null 2>&1
if [ $? -ne 255 ]; then
LOG_ERROR "不支持的参数未按预期退出"
exit 255
fi
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-fbithesis-doc软件包"
dnf remove -y texlive-fbithesis-doc
CHECK_RESULT $? 0 0 "卸载texlive-fbithesis-doc软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -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 : 2025-07-06
# @License : Mulan PSL v2
# @Desc : 测试texlive-fbithesis-doc软件包提供的命令参数组合验证功能验证命令在多个参数组合下是否能正常执行并返回预期结果
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查yum源中是否存在texlive-fbithesis-doc软件包
LOG_INFO "检查yum源中是否存在texlive-fbithesis-doc软件包"
dnf list available texlive-fbithesis-doc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在texlive-fbithesis-doc软件包"
exit 255
fi
# 检查是否已安装texlive-fbithesis-doc
LOG_INFO "检查是否已安装texlive-fbithesis-doc"
rpm -q texlive-fbithesis-doc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-fbithesis-doc已安装"
INSTALLED=1
else
LOG_INFO "texlive-fbithesis-doc未安装开始安装"
dnf install -y texlive-fbithesis-doc
CHECK_RESULT $? 0 0 "安装texlive-fbithesis-doc失败"
INSTALLED=0
fi
# 测试命令参数组合
LOG_INFO "测试命令参数组合"
command_to_test="fbithesis"
valid_args=("--help" "--version")
invalid_args=("--invalid" "--nonexistent")
# 验证有效参数
for arg in "${valid_args[@]}"; do
LOG_INFO "测试参数: $arg"
$command_to_test $arg > /dev/null 2>&1
CHECK_RESULT $? 0 0 "命令参数$arg执行失败"
done
# 验证无效参数
for arg in "${invalid_args[@]}"; do
LOG_INFO "测试无效参数: $arg"
$command_to_test $arg > /dev/null 2>&1
if [ $? -ne 255 ]; then
LOG_ERROR "无效参数$arg未返回预期退出码255"
exit 255
fi
done
# 清理环境
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载texlive-fbithesis-doc"
dnf remove -y texlive-fbithesis-doc
CHECK_RESULT $? 0 0 "卸载texlive-fbithesis-doc失败"
fi
LOG_INFO "测试完成"
}
main "$@"

View File

@@ -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 : 2025-07-06
# @License : Mulan PSL v2
# @Desc : 测试texlive-fbithesis-doc软件包提供的命令补全功能验证命令补全是否可用且符合预期
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查texlive-fbithesis-doc软件包是否已安装
LOG_INFO "检查texlive-fbithesis-doc软件包是否已安装"
rpm -q texlive-fbithesis-doc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-fbithesis-doc软件包已安装测试完成后保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-fbithesis-doc软件包未安装将在测试完成后卸载"
INSTALLED=false
fi
# 检查yum源中是否存在texlive-fbithesis-doc软件包
LOG_INFO "检查yum源中是否存在texlive-fbithesis-doc软件包"
dnf list available texlive-fbithesis-doc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在texlive-fbithesis-doc软件包"
exit 255
fi
# 安装texlive-fbithesis-doc软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装texlive-fbithesis-doc软件包"
dnf install -y texlive-fbithesis-doc
CHECK_RESULT $? 0 0 "安装texlive-fbithesis-doc软件包失败"
fi
# 验证命令补全功能是否可用
LOG_INFO "验证命令补全功能是否可用"
command -v fbithesis > /dev/null 2>&1
CHECK_RESULT $? 0 0 "fbithesis命令不存在"
# 测试命令补全功能是否符合预期
LOG_INFO "测试命令补全功能是否符合预期"
fbithesis --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "fbithesis命令补全功能不符合预期"
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-fbithesis-doc软件包"
dnf remove -y texlive-fbithesis-doc
CHECK_RESULT $? 0 0 "卸载texlive-fbithesis-doc软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,76 +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-07-06
# @License : Mulan PSL v2
# @Desc : 测试texlive-fbithesis-doc软件包提供的命令的默认参数功能验证命令在无参数情况下是否能正常执行并返回预期结果
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
LOG_INFO "开始测试texlive-fbithesis-doc软件包提供的命令的默认参数功能"
# 检查软件包是否存在于yum源中
LOG_INFO "检查texlive-fbithesis-doc软件包是否在yum源中"
dnf list available texlive-fbithesis-doc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "texlive-fbithesis-doc软件包不在yum源中"
exit 255
fi
# 检查是否已安装软件包
LOG_INFO "检查texlive-fbithesis-doc软件包是否已安装"
rpm -q texlive-fbithesis-doc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-fbithesis-doc软件包已安装"
INSTALLED=true
else
LOG_INFO "texlive-fbithesis-doc软件包未安装将进行安装"
INSTALLED=false
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装texlive-fbithesis-doc软件包"
dnf install -y texlive-fbithesis-doc
CHECK_RESULT $? 0 0 "安装texlive-fbithesis-doc软件包失败"
fi
# 测试命令的默认参数功能
LOG_INFO "测试命令的默认参数功能"
command_to_test="fbithesis" # 假设fbithesis是texlive-fbithesis-doc提供的命令
# 检查命令是否存在
which $command_to_test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "$command_to_test命令不存在或不支持"
exit 255
fi
# 执行命令并验证结果
$command_to_test > /dev/null 2>&1
CHECK_RESULT $? 0 0 "$command_to_test命令执行失败"
# 如果之前未安装,则卸载软件包以恢复环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-fbithesis-doc软件包以恢复环境"
dnf remove -y texlive-fbithesis-doc
CHECK_RESULT $? 0 0 "卸载texlive-fbithesis-doc软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -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 : 2025-07-06
# @License : Mulan PSL v2
# @Desc : 测试texlive-fbithesis-doc软件包提供的命令环境验证功能验证命令执行时的环境变量是否设置正确且符合预期
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 测试texlive-fbithesis-doc软件包提供的命令环境验证功能
LOG_INFO "开始测试texlive-fbithesis-doc软件包的命令环境验证功能"
# 检查软件包是否已安装
LOG_INFO "检查texlive-fbithesis-doc是否已安装"
if dnf list installed texlive-fbithesis-doc &>/dev/null; then
LOG_INFO "texlive-fbithesis-doc已安装脚本结束时保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-fbithesis-doc未安装将在测试结束后卸载"
INSTALLED=false
fi
# 检查yum源中是否有该软件包
LOG_INFO "检查yum源中是否有texlive-fbithesis-doc"
if ! dnf list available texlive-fbithesis-doc &>/dev/null; then
LOG_ERROR "yum源中未找到texlive-fbithesis-doc软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装texlive-fbithesis-doc"
dnf install -y texlive-fbithesis-doc
CHECK_RESULT $? 0 0 "安装texlive-fbithesis-doc失败"
fi
# 验证命令执行时的环境变量
LOG_INFO "验证命令执行时的环境变量是否设置正确"
command_to_test="fbithesis-doc"
if ! command -v "$command_to_test" &>/dev/null; then
LOG_ERROR "命令$command_to_test不存在或不支持"
exit 255
fi
# 执行命令并检查环境变量
LOG_INFO "执行$command_to_test命令并检查环境变量"
output=$($command_to_test --version)
CHECK_RESULT $? 0 0 "执行$command_to_test命令失败"
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-fbithesis-doc以恢复环境"
dnf remove -y texlive-fbithesis-doc
CHECK_RESULT $? 0 0 "卸载texlive-fbithesis-doc失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,62 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-06
# @License : Mulan PSL v2
# @Desc : 测试texlive-fbithesis-doc软件包提供的命令环境变量验证功能验证命令执行时的环境变量是否设置正确且符合预期
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查texlive-fbithesis-doc软件包是否已安装
LOG_INFO "检查texlive-fbithesis-doc软件包是否已安装"
dnf list installed texlive-fbithesis-doc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-fbithesis-doc已安装脚本结束后保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-fbithesis-doc未安装将在测试后卸载"
INSTALLED=false
fi
# 检查yum源中是否存在texlive-fbithesis-doc软件包
LOG_INFO "检查yum源中是否存在texlive-fbithesis-doc软件包"
dnf list available texlive-fbithesis-doc > /dev/null 2>&1
CHECK_RESULT $? 0 255 "yum源中不存在texlive-fbithesis-doc软件包"
# 安装texlive-fbithesis-doc软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "安装texlive-fbithesis-doc软件包"
dnf install -y texlive-fbithesis-doc
CHECK_RESULT $? 0 0 "安装texlive-fbithesis-doc软件包失败"
fi
# 验证命令执行时的环境变量是否设置正确
LOG_INFO "验证命令执行时的环境变量是否设置正确"
export TEST_ENV_VAR="test_value"
env | grep TEST_ENV_VAR
CHECK_RESULT $? 0 0 "环境变量TEST_ENV_VAR未设置成功"
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-fbithesis-doc软件包"
dnf remove -y texlive-fbithesis-doc
CHECK_RESULT $? 0 0 "卸载texlive-fbithesis-doc软件包失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -1,81 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-06
# @License : Mulan PSL v2
# @Desc : 测试texlive-fbithesis-doc软件包提供的命令错误处理功能验证命令在错误输入或无效参数下是否能正确处理并返回预期错误信息
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查是否已经安装texlive-fbithesis-doc软件包
LOG_INFO "检查是否已安装texlive-fbithesis-doc软件包..."
rpm -q texlive-fbithesis-doc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-fbithesis-doc已安装脚本结束时将保持安装状态..."
INSTALLED=true
else
LOG_INFO "texlive-fbithesis-doc未安装脚本结束时将卸载..."
INSTALLED=false
fi
# 检查yum源中是否存在texlive-fbithesis-doc软件包
LOG_INFO "检查yum源中是否存在texlive-fbithesis-doc软件包..."
dnf list available texlive-fbithesis-doc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在texlive-fbithesis-doc软件包..."
exit 255
fi
# 安装texlive-fbithesis-doc软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "正在安装texlive-fbithesis-doc软件包..."
dnf install -y texlive-fbithesis-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装texlive-fbithesis-doc失败..."
fi
# 测试命令的错误处理功能
LOG_INFO "测试texlive-fbithesis-doc提供的命令错误处理功能..."
# 测试无效参数的情况假设命令为fbithesis-doc
LOG_INFO "测试无效参数的情况..."
fbithesis-doc --invalid-arg > /dev/null 2>&1
if [ $? -ne 255 ]; then
LOG_ERROR "命令未正确处理无效参数..."
exit 255
fi
# 测试不支持的参数的情况假设命令为fbithesis-doc
LOG_INFO "测试不支持的参数的情况..."
fbithesis-doc --unsupported-arg > /dev/null 2>&1
if [ $? -ne 255 ]; then
LOG_ERROR "命令未正确处理不支持的参数..."
exit 255
fi
# 测试命令执行失败的情况假设命令为fbithesis-doc
LOG_INFO "测试命令执行失败的情况..."
fbithesis-doc --fail > /dev/null 2>&1
CHECK_RESULT $? !0 0 "命令未正确处理执行失败的情况..."
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "正在卸载texlive-fbithesis-doc软件包..."
dnf remove -y texlive-fbithesis-doc > /dev/null 2>&1
CHECK_RESULT $?
}
main "$@"

View File

@@ -1,67 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-06
# @License : Mulan PSL v2
# @Desc : 测试texlive-fbithesis-doc软件包提供的命令执行功能验证命令是否能正常执行并返回预期结果
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查yum源中是否存在texlive-fbithesis-doc软件包
LOG_INFO "检查yum源中是否存在texlive-fbithesis-doc软件包"
dnf list available texlive-fbithesis-doc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在texlive-fbithesis-doc软件包"
exit 255
fi
# 检查是否已安装texlive-fbithesis-doc
LOG_INFO "检查是否已安装texlive-fbithesis-doc"
rpm -q texlive-fbithesis-doc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-fbithesis-doc已安装保持安装状态"
INSTALLED=true
else
LOG_INFO "texlive-fbithesis-doc未安装将进行安装"
INSTALLED=false
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装texlive-fbithesis-doc"
dnf install -y texlive-fbithesis-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装texlive-fbithesis-doc失败"
fi
# 验证命令是否能正常执行并返回预期结果
LOG_INFO "验证命令是否能正常执行并返回预期结果"
command_to_test="fbithesis-doc"
$command_to_test --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "命令执行失败或参数不支持"
# 清理环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-fbithesis-doc"
dnf remove -y texlive-fbithesis-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载texlive-fbithesis-doc失败"
fi
LOG_INFO "测试完成,环境已恢复"
}
main "$@"

View File

@@ -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 : 2025-07-06
# @License : Mulan PSL v2
# @Desc : 测试texlive-fbithesis-doc软件包提供的命令的帮助功能验证命令的帮助信息是否完整且可访问
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查texlive-fbithesis-doc软件包是否已安装
LOG_INFO "检查texlive-fbithesis-doc软件包是否已安装"
rpm -q texlive-fbithesis-doc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-fbithesis-doc软件包已安装"
INSTALLED=true
else
LOG_INFO "texlive-fbithesis-doc软件包未安装"
INSTALLED=false
fi
# 检查yum源中是否存在texlive-fbithesis-doc软件包
LOG_INFO "检查yum源中是否存在texlive-fbithesis-doc软件包"
dnf list available texlive-fbithesis-doc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中不存在texlive-fbithesis-doc软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ "$INSTALLED" = false ]; then
LOG_INFO "开始安装texlive-fbithesis-doc软件包"
dnf install -y texlive-fbithesis-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "安装texlive-fbithesis-doc软件包失败"
fi
# 验证命令的帮助信息是否完整且可访问
LOG_INFO "验证命令的帮助信息是否完整且可访问"
fbithesis --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "fbithesis命令的帮助信息不可访问"
# 如果脚本开始时未安装,则在结束时卸载软件包以恢复环境
if [ "$INSTALLED" = false ]; then
LOG_INFO "卸载texlive-fbithesis-doc软件包以恢复环境"
dnf remove -y texlive-fbithesis-doc > /dev/null 2>&1
CHECK_RESULT $? 0 0 "卸载texlive-fbithesis-doc软件包失败"
fi
LOG_INFO "测试脚本执行完成"
}
main "$@"

View File

@@ -1,81 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-06
# @License : Mulan PSL v2
# @Desc : 测试texlive-fbithesis-doc软件包提供的命令的交互模式功能验证命令在交互模式下是否能正常执行并返回预期结果
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查texlive-fbithesis-doc软件包是否已安装
LOG_INFO "检查texlive-fbithesis-doc软件包是否已安装"
rpm -q texlive-fbithesis-doc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-fbithesis-doc软件包已安装脚本结束后将保持安装状态"
INSTALLED=1
else
LOG_INFO "texlive-fbithesis-doc软件包未安装将在测试结束后卸载"
INSTALLED=0
fi
# 检查yum源中是否存在texlive-fbithesis-doc软件包
LOG_INFO "检查yum源中是否存在texlive-fbithesis-doc软件包"
dnf list available texlive-fbithesis-doc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-fbithesis-doc软件包"
exit 255
fi
# 若未安装,则安装软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装texlive-fbithesis-doc软件包"
dnf install -y texlive-fbithesis-doc
CHECK_RESULT $? 0 0 "安装texlive-fbithesis-doc软件包失败"
fi
# 验证命令的交互模式功能
LOG_INFO "验证texlive-fbithesis-doc提供的命令的交互模式功能"
command_to_test="fbithesis" # 假设fbithesis是texlive-fbithesis-doc提供的命令
# 检查命令是否存在
which $command_to_test > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "命令$command_to_test不存在"
exit 255
fi
# 检查命令是否支持交互模式
LOG_INFO "检查$command_to_test是否支持交互模式"
$command_to_test --help | grep -q "\-i" #假设-i参数表示交互模式
if [ $? -ne 0 ]; then
LOG_ERROR "命令$command_to_test不支持交互模式"
exit 255
fi
# 执行交互模式测试(模拟输入)
LOG_INFO "测试$command_to_test在交互模式下是否能正常执行"
echo -e "input_for_interactive_mode\nexit" | $command_to_test -i
CHECK_RESULT $? 0 0 "$command_to_test交互模式执行失败"
#环境恢复:若脚本开始时未安装,则卸载软件包
if [ $INSTALLED -eq ]; then
LOG_INFO “卸载tex live- fbi thesis- doc 软体包裹”
dnf remove y tex live- fbi thesis- doc
CHECK_RESULT $?00“卸载 tex live- fbi thesis- doc软体包裹失败”
fi
}
main "$@"

View File

@@ -1,72 +0,0 @@
#!/usr/bin/bash
# Copyright (c) 2024 ISCAS .ALL rights reserved.
# This program is licensed under Mulan PSL v2.
# You can use it according to the terms and conditions of the Mulan PSL v2.
# http://license.coscl.org.cn/MulanPSL2
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.
# #############################################
# @Author : honghua
# @Contact : honghua@iscas.ac.cn
# @Date : 2025-07-06
# @License : Mulan PSL v2
# @Desc : 测试texlive-fbithesis-doc软件包提供的命令选项验证功能验证命令的所有选项是否可用且符合预期
# ############################################
source "$OET_PATH/libs/locallibs/common_lib.sh"
function run_test() {
# 检查texlive-fbithesis-doc软件包是否已安装
LOG_INFO "检查texlive-fbithesis-doc软件包是否已安装"
rpm -q texlive-fbithesis-doc > /dev/null 2>&1
if [ $? -eq 0 ]; then
LOG_INFO "texlive-fbithesis-doc软件包已安装"
INSTALLED=1
else
LOG_INFO "texlive-fbithesis-doc软件包未安装"
INSTALLED=0
fi
# 检查yum源中是否有texlive-fbithesis-doc软件包
LOG_INFO "检查yum源中是否有texlive-fbithesis-doc软件包"
dnf list available texlive-fbithesis-doc > /dev/null 2>&1
if [ $? -ne 0 ]; then
LOG_ERROR "yum源中未找到texlive-fbithesis-doc软件包"
exit 255
fi
# 如果未安装,则安装软件包
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "安装texlive-fbithesis-doc软件包"
dnf install -y texlive-fbithesis-doc
CHECK_RESULT $? 0 0 "安装texlive-fbithesis-doc软件包失败"
fi
# 验证命令选项功能
LOG_INFO "验证texlive-fbithesis-doc命令选项功能"
# 假设命令为fbithesis验证其选项
fbithesis --help > /dev/null 2>&1
CHECK_RESULT $? 0 0 "fbithesis命令--help选项不可用"
fbithesis --version > /dev/null 2>&1
CHECK_RESULT $? 0 0 "fbithesis命令--version选项不可用"
# 其他选项验证可根据实际命令选项添加
# 例如fbithesis --option1
# CHECK_RESULT $? 0 0 "fbithesis命令--option1选项不可用"
# 如果脚本开始时未安装软件包,则在结束时卸载
if [ $INSTALLED -eq 0 ]; then
LOG_INFO "卸载texlive-fbithesis-doc软件包"
dnf remove -y texlive-fbithesis-doc
CHECK_RESULT $? 0 0 "卸载texlive-fbithesis-doc软件包失败"
fi
LOG_INFO "测试完成"
}
main "$@"

Some files were not shown because too many files have changed in this diff Show More