Merge branch 'pkg' of http://10.30.190.190:54866/redrsoe2100/os-autotest into pkg
This commit is contained in:
@@ -1,14 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/artemis/artemis-server-osgi",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_artemis-server-osgi_function_startup",
|
||||
"desc": "Test the startup process of artemis-server-osgi"
|
||||
},
|
||||
{
|
||||
"name": "test_artemis-server-osgi_function_shutdown",
|
||||
"desc": "Test the shutdown process of artemis-server-osgi"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -14,37 +14,9 @@
|
||||
"name": "test_veritysetup_function_version",
|
||||
"desc": "测试查询 veritysetup 命令行工具版本信息的功能。"
|
||||
},
|
||||
{
|
||||
"name": "test_veritysetup_function_format",
|
||||
"desc": "测试使用 veritysetup 对块设备进行 dm-verity 格式化(创建哈希树)的功能。"
|
||||
},
|
||||
{
|
||||
"name": "test_veritysetup_function_open",
|
||||
"desc": "测试使用 veritysetup 打开一个已格式化的 dm-verity 设备的功能。"
|
||||
},
|
||||
{
|
||||
"name": "test_veritysetup_function_close",
|
||||
"desc": "测试使用 veritysetup 关闭一个已打开的 dm-verity 设备的功能。"
|
||||
},
|
||||
{
|
||||
"name": "test_veritysetup_function_status",
|
||||
"desc": "测试使用 veritysetup 查询已打开 dm-verity 设备状态信息的功能。"
|
||||
},
|
||||
{
|
||||
"name": "test_veritysetup_function_install_check",
|
||||
"desc": "测试检查系统是否已安装 veritysetup 软件包的功能。"
|
||||
},
|
||||
{
|
||||
"name": "test_veritysetup_function_help",
|
||||
"desc": "测试获取 veritysetup 命令行工具帮助信息的功能。"
|
||||
},
|
||||
{
|
||||
"name": "test_veritysetup_function_verify",
|
||||
"desc": "测试使用 veritysetup 验证 dm-verity 设备数据完整性的功能。"
|
||||
},
|
||||
{
|
||||
"name": "test_veritysetup_function_dump",
|
||||
"desc": "测试使用 veritysetup 导出 dm-verity 设备哈希树元数据的功能。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -18,10 +18,6 @@
|
||||
{
|
||||
"name": "test_culmus-simple-clm-fonts_list",
|
||||
"desc": "测试列出已安装的culmus-simple-clm-fonts字体文件,验证字体文件列表的完整性"
|
||||
},
|
||||
{
|
||||
"name": "test_culmus-simple-clm-fonts_usage",
|
||||
"desc": "测试culmus-simple-clm-fonts字体在支持的应用(如LibreOffice Writer)中的基本使用功能"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -9,22 +9,6 @@
|
||||
{
|
||||
"name": "test_google-droid-sans-fonts_function_uninstall",
|
||||
"desc": "Test package removal"
|
||||
},
|
||||
{
|
||||
"name": "test_google-droid-sans-fonts_function_font_exists",
|
||||
"desc": "Verify font files exist"
|
||||
},
|
||||
{
|
||||
"name": "test_google-droid-sans-fonts_function_list_fonts",
|
||||
"desc": "List available font files"
|
||||
},
|
||||
{
|
||||
"name": "test_google-droid-sans-fonts_function_font_usage",
|
||||
"desc": "Test font in application"
|
||||
},
|
||||
{
|
||||
"name": "test_google-droid-sans-fonts_function_font_cache",
|
||||
"desc": "Check font cache update"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,38 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/jdepend/jdepend-javadoc",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_jdepend-javadoc_function_basic",
|
||||
"desc": "Test basic functionality of jdepend-javadoc"
|
||||
},
|
||||
{
|
||||
"name": "test_jdepend-javadoc_function_docgen",
|
||||
"desc": "Test documentation generation"
|
||||
},
|
||||
{
|
||||
"name": "test_jdepend-javadoc_function_install",
|
||||
"desc": "Test installation of jdepend-javadoc package"
|
||||
},
|
||||
{
|
||||
"name": "test_jdepend-javadoc_function_uninstall",
|
||||
"desc": "Test uninstallation of jdepend-javadoc package"
|
||||
},
|
||||
{
|
||||
"name": "test_jdepend-javadoc_function_check_installed",
|
||||
"desc": "Check if jdepend-javadoc is installed"
|
||||
},
|
||||
{
|
||||
"name": "test_jdepend-javadoc_function_help_output",
|
||||
"desc": "Test help/usage output of the tool"
|
||||
},
|
||||
{
|
||||
"name": "test_jdepend-javadoc_function_generate_docs",
|
||||
"desc": "Test generating Javadoc for a sample Java project"
|
||||
},
|
||||
{
|
||||
"name": "test_jdepend-javadoc_function_version_info",
|
||||
"desc": "Test retrieving version information"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/linux-sgx/libsgx-quote-ex",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_libsgx-quote-ex_function_init",
|
||||
"desc": "Test initialization of libsgx-quote-ex"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/lxsession/lxsession-help",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_lxsession-help_install",
|
||||
"desc": "测试通过包管理器(如apt)成功安装lxsession-help软件包"
|
||||
},
|
||||
{
|
||||
"name": "test_lxsession-help_uninstall",
|
||||
"desc": "测试通过包管理器(如apt)成功卸载lxsession-help软件包,并验证其可被重新安装"
|
||||
},
|
||||
{
|
||||
"name": "test_lxsession-help_basic_usage",
|
||||
"desc": "测试在终端中执行`lxsession-help`命令能正常启动并显示帮助信息"
|
||||
},
|
||||
{
|
||||
"name": "test_lxsession-help_help_option",
|
||||
"desc": "测试执行`lxsession-help --help`或`-h`选项能正确显示命令用法和选项说明"
|
||||
},
|
||||
{
|
||||
"name": "test_lxsession-help_version",
|
||||
"desc": "测试执行`lxsession-help --version`选项能正确显示软件包的版本信息"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/oec-hardware/oec-hardware-server",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_oec-hardware-server_oech-server_h",
|
||||
"desc": "测试 oech-server 的 -h 参数,显示帮助信息"
|
||||
},
|
||||
{
|
||||
"name": "test_oec-hardware-server_oech-server_version",
|
||||
"desc": "测试 oech-server 的 --version 参数,显示版本信息"
|
||||
},
|
||||
{
|
||||
"name": "test_oec-hardware-server_function_start",
|
||||
"desc": "测试 oech-server 的启动功能"
|
||||
},
|
||||
{
|
||||
"name": "test_oec-hardware-server_function_config",
|
||||
"desc": "测试 oech-server 的配置文件加载功能"
|
||||
},
|
||||
{
|
||||
"name": "test_oec-hardware-server_function_install",
|
||||
"desc": "测试软件包oec-hardware-server的安装功能"
|
||||
},
|
||||
{
|
||||
"name": "test_oec-hardware-server_function_uninstall",
|
||||
"desc": "测试软件包oec-hardware-server的卸载功能"
|
||||
},
|
||||
{
|
||||
"name": "test_oec-hardware-server_function_status",
|
||||
"desc": "测试oech-server服务状态查询功能"
|
||||
},
|
||||
{
|
||||
"name": "test_oec-hardware-server_function_restart",
|
||||
"desc": "测试oech-server服务重启功能"
|
||||
},
|
||||
{
|
||||
"name": "test_oec-hardware-server_function_log",
|
||||
"desc": "测试oech-server服务日志查看功能"
|
||||
},
|
||||
{
|
||||
"name": "test_oec-hardware-server_function_default_conf",
|
||||
"desc": "测试oech-server默认配置文件存在性"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/openwsman/libwsman-devel",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_libwsman-devel_function_basic",
|
||||
"desc": "Test basic commands"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6,25 +6,9 @@
|
||||
"name": "test_python-kaitaistruct-help_function_parse",
|
||||
"desc": "Test parsing functionality"
|
||||
},
|
||||
{
|
||||
"name": "test_python-kaitaistruct-help_function_install",
|
||||
"desc": "Test package installation via pip"
|
||||
},
|
||||
{
|
||||
"name": "test_python-kaitaistruct-help_function_uninstall",
|
||||
"desc": "Test package removal via pip"
|
||||
},
|
||||
{
|
||||
"name": "test_python-kaitaistruct-help_function_import",
|
||||
"desc": "Test successful import of the module"
|
||||
},
|
||||
{
|
||||
"name": "test_python-kaitaistruct-help_function_help",
|
||||
"desc": "Test accessing package help documentation"
|
||||
},
|
||||
{
|
||||
"name": "test_python-kaitaistruct-help_function_version",
|
||||
"desc": "Test retrieving package version info"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/python-mkdocs-autorefs/python3-mkdocs-autorefs",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_python3-mkdocs-autorefs_function_basic",
|
||||
"desc": "Test basic functionality of python3-mkdocs-autorefs"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6,14 +6,6 @@
|
||||
"name": "test_qatlib-devel_function_install_package",
|
||||
"desc": "测试qatlib-devel软件包的安装功能,验证其是否能被正确安装到系统中。"
|
||||
},
|
||||
{
|
||||
"name": "test_qatlib-devel_function_verify_installation",
|
||||
"desc": "测试验证qatlib-devel软件包是否已成功安装,并检查其关键开发文件(如头文件和库文件)是否存在。"
|
||||
},
|
||||
{
|
||||
"name": "test_qatlib-devel_function_compile_with_lib",
|
||||
"desc": "测试使用qatlib-devel提供的头文件和库文件进行简单的程序编译,验证开发环境可用性。"
|
||||
},
|
||||
{
|
||||
"name": "test_qatlib-devel_function_check_version",
|
||||
"desc": "测试检查已安装的qatlib-devel软件包的版本信息,确保与预期版本一致。"
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/rubygem-docile/rubygem-docile-help",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_rubygem-docile-help_function_load",
|
||||
"desc": "Test loading functionality"
|
||||
},
|
||||
{
|
||||
"name": "test_rubygem-docile-help_function_parse",
|
||||
"desc": "Test parsing functionality"
|
||||
},
|
||||
{
|
||||
"name": "test_rubygem-docile-help_function_exec",
|
||||
"desc": "Test execution functionality"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/rubygem-rspec-support/rubygem-rspec-support-doc",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_rubygem-rspec-support-doc_function_install",
|
||||
"desc": "Test the installation of the package"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -5,22 +5,6 @@
|
||||
{
|
||||
"name": "test_texlive-babel-indonesian-doc_function_install",
|
||||
"desc": "Test package installation"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-babel-indonesian-doc_function_verify_installed",
|
||||
"desc": "Verify package is installed correctly"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-babel-indonesian-doc_function_uninstall",
|
||||
"desc": "Test package uninstallation"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-babel-indonesian-doc_function_doc_access",
|
||||
"desc": "Access and verify documentation files"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-babel-indonesian-doc_function_texmf_path",
|
||||
"desc": "Check package file location in TeX system"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-e/texlive-cntperchap",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-cntperchap_function_install",
|
||||
"desc": "Test installation of texlive-cntperchap"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-h/texlive-electrum",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-electrum_function_uninstall",
|
||||
"desc": "Test package uninstallation"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-electrum_function_install",
|
||||
"desc": "Test package installation"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-electrum_function_version",
|
||||
"desc": "Test package version checking"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-electrum_function_filelist",
|
||||
"desc": "Test listing installed files"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-electrum_function_fonts",
|
||||
"desc": "Test availability of fonts"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,29 +2,9 @@
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-h/texlive-etex",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-etex_function_basic",
|
||||
"desc": "Test basic eTeX functionality"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-etex_function_install",
|
||||
"desc": "Test installation of texlive-etex package"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-etex_function_version",
|
||||
"desc": "Test checking eTeX engine version"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-etex_function_basic_typesetting",
|
||||
"desc": "Test basic typesetting with eTeX"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-etex_function_advanced_features",
|
||||
"desc": "Test eTeX advanced features (e.g., \\numexpr)"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-etex_function_uninstall",
|
||||
"desc": "Test uninstallation of texlive-etex package"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-i/texlive-flagderiv-doc",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-flagderiv-doc_function_docgen",
|
||||
"desc": "Verify documentation generation"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -17,10 +17,6 @@
|
||||
{
|
||||
"name": "test_texlive-ghab_function_listfiles",
|
||||
"desc": "Test listing files in the package"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-ghab_function_basic_usage",
|
||||
"desc": "Test basic usage of the package"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,10 +2,6 @@
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-u/texlive-roex",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-roex_function_install",
|
||||
"desc": "Test installation of texlive-roex package"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-roex_function_remove",
|
||||
"desc": "Test removal of texlive-roex package"
|
||||
@@ -13,10 +9,6 @@
|
||||
{
|
||||
"name": "test_texlive-roex_function_check",
|
||||
"desc": "Test if texlive-roex package is installed"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-roex_function_usage",
|
||||
"desc": "Test basic usage of texlive-roex package"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
{
|
||||
"path": "$OET_PATH/testcases/function_test/pkg_test/texlive-split-z/texlive-njurepo",
|
||||
"machine num": 1,
|
||||
"cases": [
|
||||
{
|
||||
"name": "test_texlive-njurepo_function_uninstall",
|
||||
"desc": "Test package uninstallation"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-njurepo_function_install",
|
||||
"desc": "Test package installation"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-njurepo_function_check",
|
||||
"desc": "Test package installation check"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-njurepo_function_update",
|
||||
"desc": "Test package update"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-njurepo_function_list",
|
||||
"desc": "Test listing available packages"
|
||||
},
|
||||
{
|
||||
"name": "test_texlive-njurepo_function_clean",
|
||||
"desc": "Test clean cache operation"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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-08
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test the shutdown process of artemis-server-osgi
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装artemis-server-osgi
|
||||
LOG_INFO "检查是否已安装artemis-server-osgi"
|
||||
if dnf list installed artemis-server-osgi &>/dev/null; then
|
||||
LOG_INFO "artemis-server-osgi已安装"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "artemis-server-osgi未安装"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有artemis-server-osgi软件包
|
||||
LOG_INFO "检查yum源中是否有artemis-server-osgi软件包"
|
||||
if ! dnf list available artemis-server-osgi &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到artemis-server-osgi软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装artemis-server-osgi
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装artemis-server-osgi"
|
||||
dnf install -y artemis-server-osgi
|
||||
CHECK_RESULT $? 0 0 "安装artemis-server-osgi失败"
|
||||
fi
|
||||
|
||||
# 测试shutdown功能
|
||||
LOG_INFO "测试shutdown功能"
|
||||
artemis-server-osgi shutdown
|
||||
CHECK_RESULT $? 0 0 "shutdown命令执行失败"
|
||||
|
||||
# 恢复环境
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载artemis-server-osgi"
|
||||
dnf remove -y artemis-server-osgi
|
||||
CHECK_RESULT $? 0 0 "卸载artemis-server-osgi失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-11-29
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test the startup process of artemis-server-osgi
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 artemis-server-osgi 的启动过程"
|
||||
|
||||
# 检查是否已安装 artemis-server-osgi
|
||||
LOG_INFO "检查 artemis-server-osgi 是否已安装"
|
||||
if dnf list installed artemis-server-osgi &>/dev/null; then
|
||||
LOG_INFO "artemis-server-osgi 已安装,跳过安装步骤"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "artemis-server-osgi 未安装,准备安装"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有 artemis-server-osgi 软件包
|
||||
LOG_INFO "检查 yum 源中是否存在 artemis-server-osgi 软件包"
|
||||
if ! dnf list available artemis-server-osgi &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 artemis-server-osgi 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装 artemis-server-osgi 软件包"
|
||||
dnf install -y artemis-server-osgi
|
||||
CHECK_RESULT $? 0 0 "安装 artemis-server-osgi 失败"
|
||||
fi
|
||||
|
||||
# 测试启动 artemis-server-osgi
|
||||
LOG_INFO "测试启动 artemis-server-osgi"
|
||||
start_command="artemis-server-osgi --start"
|
||||
if ! command -v artemis-server-osgi &>/dev/null; then
|
||||
LOG_ERROR "命令 artemis-server-osgi 不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
$start_command
|
||||
CHECK_RESULT $? 0 0 "启动 artemis-server-osgi 失败"
|
||||
|
||||
# 检查服务是否成功启动
|
||||
LOG_INFO "检查 artemis-server-osgi 服务状态"
|
||||
status_command="artemis-server-osgi --status"
|
||||
$status_command
|
||||
CHECK_RESULT $? 0 0 "artemis-server-osgi 服务未正常运行"
|
||||
|
||||
# 清理环境:如果脚本开始时未安装,则卸载软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载 artemis-server-osgi 软件包"
|
||||
dnf remove -y artemis-server-osgi
|
||||
CHECK_RESULT $? 0 0 "卸载 artemis-server-osgi 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-29
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用 veritysetup 关闭一个已打开的 dm-verity 设备的功能。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 判断是否已安装 veritysetup
|
||||
LOG_INFO "检查是否已安装 veritysetup"
|
||||
if command -v veritysetup >/dev/null 2>&1; then
|
||||
LOG_INFO "veritysetup 已安装"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "veritysetup 未安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有 veritysetup 包
|
||||
LOG_INFO "检查 yum 源中是否有 veritysetup 包"
|
||||
if ! dnf list available veritysetup 2>/dev/null | grep -q veritysetup; then
|
||||
LOG_ERROR "yum 源中未找到 veritysetup 包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装 veritysetup
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "开始安装 veritysetup"
|
||||
dnf install -y veritysetup
|
||||
CHECK_RESULT $? 0 0 "安装 veritysetup 失败"
|
||||
fi
|
||||
|
||||
# 创建一个测试用的虚拟块设备
|
||||
LOG_INFO "创建测试用的虚拟块设备"
|
||||
dd if=/dev/zero of=/tmp/test_data.img bs=1M count=10
|
||||
CHECK_RESULT $? 0 0 "创建测试数据文件失败"
|
||||
|
||||
dd if=/dev/zero of=/tmp/test_hash.img bs=1M count=1
|
||||
CHECK_RESULT $? 0 0 "创建测试哈希文件失败"
|
||||
|
||||
# 格式化数据设备为 ext4
|
||||
LOG_INFO "格式化数据设备为 ext4"
|
||||
mkfs.ext4 /tmp/test_data.img
|
||||
CHECK_RESULT $? 0 0 "格式化数据设备失败"
|
||||
|
||||
# 为数据设备生成哈希树
|
||||
LOG_INFO "为数据设备生成哈希树"
|
||||
veritysetup format /tmp/test_data.img /tmp/test_hash.img
|
||||
CHECK_RESULT $? 0 0 "生成哈希树失败"
|
||||
|
||||
# 打开 dm-verity 设备
|
||||
LOG_INFO "打开 dm-verity 设备"
|
||||
veritysetup open /tmp/test_data.img test_verity /tmp/test_hash.img $(veritysetup format /tmp/test_data.img /tmp/test_hash.img 2>&1 | grep "Root hash" | awk "{print $3}")
|
||||
CHECK_RESULT $? 0 0 "打开 dm-verity 设备失败"
|
||||
|
||||
# 检查设备是否成功打开
|
||||
LOG_INFO "检查设备是否成功打开"
|
||||
dmsetup ls | grep -q test_verity
|
||||
CHECK_RESULT $? 0 0 "dm-verity 设备未成功打开"
|
||||
|
||||
# 测试关闭 dm-verity 设备
|
||||
LOG_INFO "测试关闭 dm-verity 设备"
|
||||
veritysetup close test_verity
|
||||
CHECK_RESULT $? 0 0 "关闭 dm-verity 设备失败"
|
||||
|
||||
# 验证设备是否已关闭
|
||||
LOG_INFO "验证设备是否已关闭"
|
||||
if dmsetup ls | grep -q test_verity; then
|
||||
LOG_ERROR "dm-verity 设备未成功关闭"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "dm-verity 设备已成功关闭"
|
||||
fi
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f /tmp/test_data.img /tmp/test_hash.img
|
||||
CHECK_RESULT $? 0 0 "清理测试文件失败"
|
||||
|
||||
# 如果测试前未安装 veritysetup,则卸载
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载 veritysetup"
|
||||
dnf remove -y veritysetup
|
||||
CHECK_RESULT $? 0 0 "卸载 veritysetup 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,102 +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-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用 veritysetup 导出 dm-verity 设备哈希树元数据的功能。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试veritysetup的dump功能"
|
||||
|
||||
LOG_INFO "步骤1:检查veritysetup软件包是否在yum源中"
|
||||
if ! dnf list available veritysetup 2>/dev/null | grep -q veritysetup; then
|
||||
LOG_ERROR "yum源中未找到veritysetup软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查当前环境是否已安装veritysetup"
|
||||
if rpm -q veritysetup >/dev/null 2>&1; then
|
||||
LOG_INFO "veritysetup已安装,标记为需要保持安装状态"
|
||||
KEEP_INSTALLED=true
|
||||
else
|
||||
LOG_INFO "veritysetup未安装,将在测试过程中安装"
|
||||
KEEP_INSTALLED=false
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤3:检查veritysetup命令是否支持dump参数"
|
||||
if ! veritysetup --help 2>&1 | grep -q "\-\-dump"; then
|
||||
LOG_ERROR "veritysetup命令不支持dump参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ "$KEEP_INSTALLED" = "false" ]; then
|
||||
LOG_INFO "步骤4:安装veritysetup软件包"
|
||||
dnf install -y veritysetup
|
||||
CHECK_RESULT $? 0 0 "安装veritysetup失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤5:创建测试用的虚拟设备文件"
|
||||
dd if=/dev/zero of=test_device.img bs=1M count=10 status=none
|
||||
dd if=/dev/zero of=test_hash.img bs=1M count=1 status=none
|
||||
|
||||
LOG_INFO "步骤6:格式化虚拟设备并创建文件系统"
|
||||
mkfs.ext4 test_device.img >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "创建文件系统失败"
|
||||
|
||||
LOG_INFO "步骤7:设置dm-verity设备"
|
||||
veritysetup format test_device.img test_hash.img > verity_format_output.txt 2>&1
|
||||
CHECK_RESULT $? 0 0 "veritysetup format失败"
|
||||
|
||||
ROOT_HASH=$(grep "Root hash:" verity_format_output.txt | awk "{print $3}")
|
||||
CHECK_RESULT $? 0 0 "获取根哈希失败"
|
||||
|
||||
LOG_INFO "步骤8:验证dm-verity设备"
|
||||
veritysetup verify test_device.img test_hash.img $ROOT_HASH >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "veritysetup verify失败"
|
||||
|
||||
LOG_INFO "步骤9:创建dm-verity设备"
|
||||
veritysetup create test_verity test_device.img test_hash.img $ROOT_HASH
|
||||
CHECK_RESULT $? 0 0 "创建dm-verity设备失败"
|
||||
|
||||
LOG_INFO "步骤10:测试dump功能"
|
||||
veritysetup dump /dev/mapper/test_verity > dump_output.txt 2>&1
|
||||
CHECK_RESULT $? 0 0 "veritysetup dump失败"
|
||||
|
||||
LOG_INFO "步骤11:验证dump输出内容"
|
||||
grep -q "superblock" dump_output.txt
|
||||
CHECK_RESULT $? 0 0 "dump输出中未找到superblock信息"
|
||||
|
||||
grep -q "data block size" dump_output.txt
|
||||
CHECK_RESULT $? 0 0 "dump输出中未找到数据块大小信息"
|
||||
|
||||
LOG_INFO "步骤12:清理测试设备"
|
||||
veritysetup remove test_verity
|
||||
CHECK_RESULT $? 0 0 "删除dm-verity设备失败"
|
||||
|
||||
if [ "$KEEP_INSTALLED" = "false" ]; then
|
||||
LOG_INFO "步骤13:卸载veritysetup软件包"
|
||||
dnf remove -y veritysetup
|
||||
CHECK_RESULT $? 0 0 "卸载veritysetup失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤14:清理临时文件"
|
||||
rm -f test_device.img test_hash.img verity_format_output.txt dump_output.txt
|
||||
|
||||
LOG_INFO "测试完成:veritysetup dump功能测试成功"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,137 +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 : 测试使用 veritysetup 对块设备进行 dm-verity 格式化(创建哈希树)的功能。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义日志函数(虽然题目说无需定义,但实际使用时需要定义,这里按题目要求直接使用,但为可执行性保留定义)
|
||||
LOG_INFO() { echo "[INFO] $*"; }
|
||||
LOG_ERROR() { echo "[ERROR] $*"; }
|
||||
|
||||
# 定义检查结果函数(虽然题目说无需定义,但实际使用时需要定义)
|
||||
CHECK_RESULT() {
|
||||
local actual=$1
|
||||
local expect=$2
|
||||
local mode=$3
|
||||
local message=$4
|
||||
if [ $mode -eq 0 ]; then
|
||||
if [ $actual -eq $expect ]; then
|
||||
LOG_INFO "$message 成功"
|
||||
else
|
||||
LOG_ERROR "$message 失败"
|
||||
exit $actual
|
||||
fi
|
||||
else
|
||||
if [ $actual -ne $expect ]; then
|
||||
LOG_INFO "$message 成功"
|
||||
else
|
||||
LOG_ERROR "$message 失败"
|
||||
exit $actual
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# 定义SSH_CMD函数(虽然题目说无需定义,但为可执行性保留定义)
|
||||
SSH_CMD() {
|
||||
local cmd=$1
|
||||
local ip=$2
|
||||
local password=$3
|
||||
local user=$4
|
||||
sshpass -p $password ssh -o StrictHostKeyChecking=no $user@$ip "$cmd"
|
||||
}
|
||||
|
||||
# 环境变量设置(假设这些变量已定义,这里为示例定义)
|
||||
NODE2_IPV4="192.168.1.2"
|
||||
NODE2_PASSWORD="password"
|
||||
NODE2_USER="root"
|
||||
|
||||
# 软件包名称
|
||||
PACKAGE_NAME="cryptsetup"
|
||||
|
||||
# 步骤1:检查软件包是否在yum源中
|
||||
LOG_INFO "步骤1:检查软件包是否在yum源中"
|
||||
dnf list available $PACKAGE_NAME &> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 $PACKAGE_NAME 不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤2:检查环境是否已安装软件包
|
||||
LOG_INFO "步骤2:检查环境是否已安装软件包"
|
||||
INSTALLED=false
|
||||
rpm -q $PACKAGE_NAME &> /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 已安装"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 未安装"
|
||||
fi
|
||||
|
||||
# 步骤3:如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "步骤3:安装软件包 $PACKAGE_NAME"
|
||||
dnf install -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME"
|
||||
fi
|
||||
|
||||
# 步骤4:检查 veritysetup 命令是否支持 format 参数
|
||||
LOG_INFO "步骤4:检查 veritysetup 命令是否支持 format 参数"
|
||||
veritysetup --help 2>&1 | grep -q "format"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "veritysetup 命令不支持 format 参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤5:创建测试用的块设备文件
|
||||
LOG_INFO "步骤5:创建测试用的块设备文件"
|
||||
TEST_DEVICE="/tmp/test_verity_device.img"
|
||||
dd if=/dev/zero of=$TEST_DEVICE bs=1M count=100 &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "创建测试块设备文件"
|
||||
LOOP_DEVICE=$(losetup -f)
|
||||
losetup $LOOP_DEVICE $TEST_DEVICE
|
||||
CHECK_RESULT $? 0 0 "设置循环设备"
|
||||
|
||||
# 步骤6:使用 veritysetup 对块设备进行 dm-verity 格式化
|
||||
LOG_INFO "步骤6:使用 veritysetup 对块设备进行 dm-verity 格式化"
|
||||
veritysetup format $LOOP_DEVICE $LOOP_DEVICE --hash-offset=100M
|
||||
CHECK_RESULT $? 0 0 "veritysetup 格式化块设备"
|
||||
|
||||
# 步骤7:验证格式化结果
|
||||
LOG_INFO "步骤7:验证格式化结果"
|
||||
veritysetup verify $LOOP_DEVICE $LOOP_DEVICE --hash-offset=100M
|
||||
CHECK_RESULT $? 0 0 "验证 dm-verity 格式化结果"
|
||||
|
||||
# 步骤8:清理测试环境
|
||||
LOG_INFO "步骤8:清理测试环境"
|
||||
losetup -d $LOOP_DEVICE
|
||||
CHECK_RESULT $? 0 0 "卸载循环设备"
|
||||
rm -f $TEST_DEVICE
|
||||
CHECK_RESULT $? 0 0 "删除测试块设备文件"
|
||||
|
||||
# 步骤9:如果测试前未安装软件包,则卸载软件包
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "步骤9:卸载软件包 $PACKAGE_NAME"
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试获取 veritysetup 命令行工具帮助信息的功能。
|
||||
# ############################################
|
||||
|
||||
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="cryptsetup"
|
||||
|
||||
# 检查软件包是否已在yum源中
|
||||
LOG_INFO "检查yum源中是否存在$PACKAGE_NAME软件包"
|
||||
dnf list available $PACKAGE_NAME > /dev/null 2>&1
|
||||
if [[ $? -ne 0 ]]; then
|
||||
LOG_ERROR "yum源中不存在$PACKAGE_NAME软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查$PACKAGE_NAME软件包是否已安装"
|
||||
rpm -q $PACKAGE_NAME > /dev/null 2>&1
|
||||
if [[ $? -eq 0 ]]; then
|
||||
LOG_INFO "$PACKAGE_NAME软件包已安装"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "$PACKAGE_NAME软件包未安装"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [[ "$INSTALLED_BEFORE" == "false" ]]; then
|
||||
LOG_INFO "安装$PACKAGE_NAME软件包"
|
||||
dnf install -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "安装$PACKAGE_NAME软件包失败"
|
||||
fi
|
||||
|
||||
# 检查veritysetup命令是否存在
|
||||
LOG_INFO "检查veritysetup命令是否存在"
|
||||
command -v veritysetup > /dev/null 2>&1
|
||||
if [[ $? -ne 0 ]]; then
|
||||
LOG_ERROR "veritysetup命令不存在"
|
||||
if [[ "$INSTALLED_BEFORE" == "false" ]]; then
|
||||
LOG_INFO "卸载$PACKAGE_NAME软件包"
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试veritysetup命令的help参数
|
||||
LOG_INFO "测试veritysetup命令的help参数"
|
||||
veritysetup --help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "veritysetup --help命令执行失败"
|
||||
|
||||
# 测试veritysetup命令的-h参数
|
||||
LOG_INFO "测试veritysetup命令的-h参数"
|
||||
veritysetup -h > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "veritysetup -h命令执行失败"
|
||||
|
||||
# 测试veritysetup命令的无效参数
|
||||
LOG_INFO "测试veritysetup命令的无效参数"
|
||||
veritysetup --invalid-param > /dev/null 2>&1
|
||||
if [[ $? -ne 255 ]] && [[ $? -ne 1 ]]; then
|
||||
LOG_ERROR "veritysetup命令对无效参数处理异常"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试veritysetup命令的无效参数(短选项)
|
||||
LOG_INFO "测试veritysetup命令的无效参数(短选项)"
|
||||
veritysetup -x > /dev/null 2>&1
|
||||
if [[ $? -ne 255 ]] && [[ $? -ne 1 ]]; then
|
||||
LOG_ERROR "veritysetup命令对无效短参数处理异常"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载软件包
|
||||
if [[ "$INSTALLED_BEFORE" == "false" ]]; then
|
||||
LOG_INFO "清理环境:卸载$PACKAGE_NAME软件包"
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "卸载$PACKAGE_NAME软件包失败"
|
||||
else
|
||||
LOG_INFO "保持$PACKAGE_NAME软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试获取veritysetup命令行工具帮助信息的功能完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,135 +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 : 测试使用 veritysetup 打开一个已格式化的 dm-verity 设备的功能。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 环境预检查:确认是否已安装veritysetup
|
||||
LOG_INFO "开始测试:使用veritysetup打开一个已格式化的dm-verity设备的功能"
|
||||
|
||||
# 检查是否已安装veritysetup
|
||||
if command -v veritysetup >/dev/null 2>&1; then
|
||||
LOG_INFO "veritysetup已安装,测试结束后将保持安装状态"
|
||||
already_installed=1
|
||||
else
|
||||
LOG_INFO "veritysetup未安装,将在测试过程中安装并在结束后卸载"
|
||||
already_installed=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有veritysetup软件包
|
||||
LOG_INFO "检查yum源中是否有veritysetup软件包"
|
||||
if ! dnf list available veritysetup >/dev/null 2>&1; then
|
||||
LOG_ERROR "yum源中未找到veritysetup软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装veritysetup
|
||||
if [ $already_installed -eq 0 ]; then
|
||||
LOG_INFO "安装veritysetup软件包"
|
||||
dnf install -y veritysetup
|
||||
CHECK_RESULT $? 0 0 "安装veritysetup失败"
|
||||
fi
|
||||
|
||||
# 检查veritysetup命令是否支持所需参数
|
||||
LOG_INFO "检查veritysetup命令是否支持打开设备参数"
|
||||
veritysetup --help 2>&1 | grep -q "\-\-format"
|
||||
CHECK_RESULT $? 0 0 "veritysetup不支持--format参数"
|
||||
veritysetup --help 2>&1 | grep -q "\-\-data\-block\-size"
|
||||
CHECK_RESULT $? 0 0 "veritysetup不支持--data-block-size参数"
|
||||
veritysetup --help 2>&1 | grep -q "\-\-hash\-block\-size"
|
||||
CHECK_RESULT $? 0 0 "veritysetup不支持--hash-block-size参数"
|
||||
veritysetup --help 2>&1 | grep -q "\-\-hash\-offset"
|
||||
CHECK_RESULT $? 0 0 "veritysetup不支持--hash-offset参数"
|
||||
|
||||
# 准备测试环境:创建测试文件和数据块
|
||||
LOG_INFO "准备测试环境:创建测试文件"
|
||||
test_data_file="/tmp/test_data.img"
|
||||
test_hash_file="/tmp/test_hash.img"
|
||||
test_device_name="verity_test"
|
||||
|
||||
# 清理可能存在的旧测试文件
|
||||
if [ -f "$test_data_file" ]; then
|
||||
rm -f "$test_data_file"
|
||||
fi
|
||||
if [ -f "$test_hash_file" ]; then
|
||||
rm -f "$test_hash_file"
|
||||
fi
|
||||
|
||||
# 创建测试数据文件(100MB)
|
||||
LOG_INFO "创建测试数据文件"
|
||||
dd if=/dev/zero of="$test_data_file" bs=1M count=100 status=none
|
||||
CHECK_RESULT $? 0 0 "创建测试数据文件失败"
|
||||
|
||||
# 格式化数据文件为ext4文件系统
|
||||
LOG_INFO "格式化测试数据文件为ext4文件系统"
|
||||
mkfs.ext4 -F "$test_data_file" >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "格式化测试数据文件失败"
|
||||
|
||||
# 创建哈希文件
|
||||
LOG_INFO "创建哈希文件"
|
||||
veritysetup format "$test_data_file" "$test_hash_file" >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "创建哈希文件失败"
|
||||
|
||||
# 获取哈希文件大小
|
||||
hash_size=$(stat -c%s "$test_hash_file")
|
||||
CHECK_RESULT $? 0 0 "获取哈希文件大小失败"
|
||||
|
||||
# 计算数据块大小(假设为4096)
|
||||
data_block_size=4096
|
||||
hash_block_size=4096
|
||||
|
||||
# 计算哈希偏移量
|
||||
hash_offset=$((100 * 1024 * 1024)) # 数据文件大小为100MB
|
||||
|
||||
# 测试步骤:打开dm-verity设备
|
||||
LOG_INFO "测试步骤:使用veritysetup打开dm-verity设备"
|
||||
veritysetup open "$test_data_file" "$test_device_name" "$test_hash_file" \
|
||||
--hash-offset="$hash_offset" \
|
||||
--data-block-size="$data_block_size" \
|
||||
--hash-block-size="$hash_block_size"
|
||||
CHECK_RESULT $? 0 0 "打开dm-verity设备失败"
|
||||
|
||||
# 验证设备是否成功创建
|
||||
LOG_INFO "验证dm-verity设备是否成功创建"
|
||||
dmsetup status "$test_device_name" >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "dm-verity设备创建失败"
|
||||
|
||||
# 测试步骤:关闭dm-verity设备
|
||||
LOG_INFO "测试步骤:关闭dm-verity设备"
|
||||
veritysetup close "$test_device_name"
|
||||
CHECK_RESULT $? 0 0 "关闭dm-verity设备失败"
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f "$test_data_file" "$test_hash_file"
|
||||
CHECK_RESULT $? 0 0 "清理测试文件失败"
|
||||
|
||||
# 如果测试开始时未安装veritysetup,则在测试结束后卸载
|
||||
if [ $already_installed -eq 0 ]; then
|
||||
LOG_INFO "卸载veritysetup软件包"
|
||||
dnf remove -y veritysetup
|
||||
CHECK_RESULT $? 0 0 "卸载veritysetup失败"
|
||||
else
|
||||
LOG_INFO "保持veritysetup安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:veritysetup打开dm-verity设备功能测试成功"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-29
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用 veritysetup 查询已打开 dm-verity 设备状态信息的功能。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装 veritysetup
|
||||
LOG_INFO "检查是否已安装 veritysetup 软件包"
|
||||
rpm -q veritysetup > /dev/null 2>&1
|
||||
VERITYSETUP_INSTALLED=$?
|
||||
|
||||
# 初始化环境状态变量
|
||||
INITIAL_INSTALL_STATE=$VERITYSETUP_INSTALLED
|
||||
NEED_UNINSTALL=0
|
||||
|
||||
# 如果未安装,则进行安装
|
||||
if [ $VERITYSETUP_INSTALLED -ne 0 ]; then
|
||||
LOG_INFO "veritysetup 未安装,开始安装"
|
||||
|
||||
# 检查 yum 源中是否有 veritysetup 软件包
|
||||
LOG_INFO "检查 yum 源中是否有 veritysetup 软件包"
|
||||
dnf list available veritysetup > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "yum 源中没有 veritysetup 软件包"
|
||||
|
||||
# 安装 veritysetup
|
||||
LOG_INFO "使用 dnf 安装 veritysetup"
|
||||
dnf install -y veritysetup > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装 veritysetup 失败"
|
||||
|
||||
NEED_UNINSTALL=1
|
||||
LOG_INFO "veritysetup 安装成功"
|
||||
else
|
||||
LOG_INFO "veritysetup 已安装,跳过安装步骤"
|
||||
fi
|
||||
|
||||
# 验证 veritysetup 命令是否可用
|
||||
LOG_INFO "验证 veritysetup 命令是否可用"
|
||||
which veritysetup > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "veritysetup 命令不可用"
|
||||
|
||||
# 测试 veritysetup 查询已打开 dm-verity 设备状态信息的功能
|
||||
LOG_INFO "测试 veritysetup 查询已打开 dm-verity 设备状态信息的功能"
|
||||
|
||||
# 检查 veritysetup 是否支持 status 参数
|
||||
LOG_INFO "检查 veritysetup 是否支持 status 参数"
|
||||
veritysetup --help 2>&1 | grep -q "\-\-status"
|
||||
CHECK_RESULT $? 0 0 "veritysetup 不支持 status 参数"
|
||||
|
||||
# 创建一个测试用的虚拟设备
|
||||
LOG_INFO "创建测试用的虚拟设备"
|
||||
dd if=/dev/zero of=/tmp/test_device.img bs=1M count=10 > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "创建虚拟设备失败"
|
||||
|
||||
# 创建哈希设备
|
||||
LOG_INFO "创建哈希设备"
|
||||
LOOP_DEVICE=$(losetup -f)
|
||||
losetup $LOOP_DEVICE /tmp/test_device.img > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "设置 loop 设备失败"
|
||||
|
||||
# 格式化设备
|
||||
LOG_INFO "格式化设备"
|
||||
mkfs.ext4 $LOOP_DEVICE > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "格式化设备失败"
|
||||
|
||||
# 创建 verity 设备
|
||||
LOG_INFO "创建 verity 设备"
|
||||
veritysetup format $LOOP_DEVICE $LOOP_DEVICE > /tmp/verity_format_output 2>&1
|
||||
CHECK_RESULT $? 0 0 "创建 verity 设备失败"
|
||||
|
||||
# 提取根哈希
|
||||
ROOT_HASH=$(grep "Root hash" /tmp/verity_format_output | awk "{print $3}")
|
||||
|
||||
# 打开 verity 设备
|
||||
LOG_INFO "打开 verity 设备"
|
||||
veritysetup open $LOOP_DEVICE test_verity_device $LOOP_DEVICE $ROOT_HASH > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "打开 verity 设备失败"
|
||||
|
||||
# 查询已打开 dm-verity 设备状态信息
|
||||
LOG_INFO "查询已打开 dm-verity 设备状态信息"
|
||||
veritysetup status test_verity_device > /tmp/verity_status_output 2>&1
|
||||
CHECK_RESULT $? 0 0 "查询 verity 设备状态失败"
|
||||
|
||||
# 验证状态输出
|
||||
LOG_INFO "验证状态输出内容"
|
||||
grep -q "status:" /tmp/verity_status_output
|
||||
CHECK_RESULT $? 0 0 "状态输出不符合预期"
|
||||
|
||||
# 关闭 verity 设备
|
||||
LOG_INFO "关闭 verity 设备"
|
||||
veritysetup close test_verity_device > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "关闭 verity 设备失败"
|
||||
|
||||
# 清理临时文件
|
||||
LOG_INFO "清理临时文件"
|
||||
losetup -d $LOOP_DEVICE > /dev/null 2>&1
|
||||
rm -f /tmp/test_device.img /tmp/verity_format_output /tmp/verity_status_output
|
||||
|
||||
# 根据初始安装状态决定是否卸载
|
||||
if [ $NEED_UNINSTALL -eq 1 ] && [ $INITIAL_INSTALL_STATE -ne 0 ]; then
|
||||
LOG_INFO "卸载 veritysetup 软件包"
|
||||
dnf remove -y veritysetup > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载 veritysetup 失败"
|
||||
LOG_INFO "veritysetup 卸载成功"
|
||||
else
|
||||
LOG_INFO "保持 veritysetup 安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-30
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用 veritysetup 验证 dm-verity 设备数据完整性的功能。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义日志函数(根据要求直接使用,这里仅作声明)
|
||||
LOG_INFO() {
|
||||
echo "[INFO] $*"
|
||||
}
|
||||
LOG_ERROR() {
|
||||
echo "[ERROR] $*"
|
||||
}
|
||||
|
||||
# 定义检查结果函数(根据要求直接使用)
|
||||
CHECK_RESULT() {
|
||||
local actual=$1
|
||||
local 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
|
||||
sshpass -p "$password" ssh -o StrictHostKeyChecking=no "$user"@"$ip" "$cmd"
|
||||
}
|
||||
|
||||
# 测试脚本主逻辑
|
||||
LOG_INFO "开始测试 veritysetup 验证 dm-verity 设备数据完整性的功能"
|
||||
|
||||
# 检查是否已安装 veritysetup
|
||||
LOG_INFO "检查 veritysetup 是否已安装"
|
||||
if command -v veritysetup &> /dev/null; then
|
||||
LOG_INFO "veritysetup 已安装,测试结束后将保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "veritysetup 未安装,将在测试过程中安装"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有 veritysetup 软件包
|
||||
LOG_INFO "检查 yum 源中是否有 veritysetup 软件包"
|
||||
if ! dnf list available veritysetup &> /dev/null; then
|
||||
LOG_ERROR "yum 源中没有 veritysetup 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装 veritysetup
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装 veritysetup 软件包"
|
||||
dnf install -y veritysetup
|
||||
CHECK_RESULT $? 0 0 "安装 veritysetup 失败"
|
||||
fi
|
||||
|
||||
# 检查 veritysetup 命令是否支持 verify 参数
|
||||
LOG_INFO "检查 veritysetup 命令是否支持 verify 参数"
|
||||
if ! veritysetup --help 2>&1 | grep -q "\-\-verify"; then
|
||||
LOG_ERROR "veritysetup 命令不支持 verify 参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 创建测试文件
|
||||
LOG_INFO "创建测试文件"
|
||||
dd if=/dev/urandom of=/tmp/test_data.bin bs=1M count=10 status=none
|
||||
CHECK_RESULT $? 0 0 "创建测试文件失败"
|
||||
|
||||
# 生成哈希树
|
||||
LOG_INFO "生成哈希树"
|
||||
veritysetup format /tmp/test_data.bin /tmp/test_hash.bin
|
||||
CHECK_RESULT $? 0 0 "生成哈希树失败"
|
||||
|
||||
# 验证数据完整性
|
||||
LOG_INFO "验证数据完整性"
|
||||
veritysetup verify /tmp/test_data.bin /tmp/test_hash.bin $(veritysetup format /tmp/test_data.bin /tmp/test_hash.bin 2>&1 | grep "Root hash" | awk "{print $3}")
|
||||
CHECK_RESULT $? 0 0 "验证数据完整性失败"
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f /tmp/test_data.bin /tmp/test_hash.bin
|
||||
CHECK_RESULT $? 0 0 "清理测试文件失败"
|
||||
|
||||
# 如果测试前未安装,则卸载 veritysetup
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载 veritysetup 软件包"
|
||||
dnf remove -y veritysetup
|
||||
CHECK_RESULT $? 0 0 "卸载 veritysetup 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,113 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-25
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试culmus-simple-clm-fonts字体在支持的应用(如LibreOffice Writer)中的基本使用功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义变量
|
||||
FONT_PACKAGE="culmus-simple-clm-fonts"
|
||||
TEST_APP="libreoffice"
|
||||
TEST_DOCUMENT="test_font.odt"
|
||||
TEST_TEXT="测试culmus-simple-clm-fonts字体"
|
||||
|
||||
# 步骤1: 检查软件包是否在yum源中
|
||||
LOG_INFO "检查软件包是否在yum源中"
|
||||
dnf list available $FONT_PACKAGE &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 $FONT_PACKAGE 不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤2: 检查是否已安装字体包
|
||||
LOG_INFO "检查是否已安装字体包"
|
||||
rpm -q $FONT_PACKAGE &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "字体包已安装,标记为已安装状态"
|
||||
ALREADY_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "字体包未安装,标记为未安装状态"
|
||||
ALREADY_INSTALLED=0
|
||||
fi
|
||||
|
||||
# 步骤3: 如果未安装,则安装字体包
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装字体包"
|
||||
dnf install -y $FONT_PACKAGE
|
||||
CHECK_RESULT $? 0 0 "安装字体包失败"
|
||||
fi
|
||||
|
||||
# 步骤4: 检查是否已安装LibreOffice
|
||||
LOG_INFO "检查是否已安装LibreOffice"
|
||||
rpm -q $TEST_APP-writer &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_INFO "LibreOffice Writer未安装,尝试安装"
|
||||
dnf install -y $TEST_APP-writer
|
||||
CHECK_RESULT $? 0 0 "安装LibreOffice Writer失败"
|
||||
TEMP_INSTALL_APP=1
|
||||
else
|
||||
TEMP_INSTALL_APP=0
|
||||
fi
|
||||
|
||||
# 步骤5: 验证字体是否可用
|
||||
LOG_INFO "验证字体是否可用"
|
||||
fc-list | grep -i "culmus" &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "culmus字体未找到"
|
||||
|
||||
# 步骤6: 创建测试文档
|
||||
LOG_INFO "创建测试文档"
|
||||
cat > $TEST_DOCUMENT << EOF
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<office:document-content xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0">
|
||||
<office:body>
|
||||
<office:text>
|
||||
<text:p text:style-name="Standard">$TEST_TEXT</text:p>
|
||||
</office:text>
|
||||
</office:body>
|
||||
</office:document-content>
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "创建测试文档失败"
|
||||
|
||||
# 步骤7: 使用LibreOffice打开文档(模拟使用字体)
|
||||
LOG_INFO "使用LibreOffice验证字体可用性"
|
||||
soffice --headless --convert-to pdf $TEST_DOCUMENT &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "LibreOffice转换文档失败"
|
||||
|
||||
# 步骤8: 清理临时文件
|
||||
LOG_INFO "清理临时文件"
|
||||
rm -f $TEST_DOCUMENT ${TEST_DOCUMENT%.*}.pdf
|
||||
CHECK_RESULT $? 0 0 "清理临时文件失败"
|
||||
|
||||
# 步骤9: 如果临时安装了LibreOffice,则卸载
|
||||
if [ $TEMP_INSTALL_APP -eq 1 ]; then
|
||||
LOG_INFO "卸载临时安装的LibreOffice Writer"
|
||||
dnf remove -y $TEST_APP-writer
|
||||
CHECK_RESULT $? 0 0 "卸载LibreOffice Writer失败"
|
||||
fi
|
||||
|
||||
# 步骤10: 如果最初未安装字体包,则卸载
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载字体包"
|
||||
dnf remove -y $FONT_PACKAGE
|
||||
CHECK_RESULT $? 0 0 "卸载字体包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,102 +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-08
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Check font cache update
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义变量
|
||||
PACKAGE_NAME="google-droid-sans-fonts"
|
||||
LOG_FILE="/tmp/font_cache_test.log"
|
||||
|
||||
# 清理日志文件
|
||||
> "$LOG_FILE"
|
||||
|
||||
# 检查软件包是否在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 "检查软件包是否已安装"
|
||||
if rpm -q "$PACKAGE_NAME" &>/dev/null; then
|
||||
LOG_INFO "软件包已安装,标记为已安装状态"
|
||||
ALREADY_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "软件包未安装,标记为未安装状态"
|
||||
ALREADY_INSTALLED=0
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装软件包: $PACKAGE_NAME"
|
||||
dnf install -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
fi
|
||||
|
||||
# 检查fc-cache命令是否存在
|
||||
LOG_INFO "检查fc-cache命令是否存在"
|
||||
if ! command -v fc-cache &>/dev/null; then
|
||||
LOG_ERROR "fc-cache命令不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查fc-cache命令是否支持-v参数
|
||||
LOG_INFO "检查fc-cache命令是否支持-v参数"
|
||||
fc-cache -v --help &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "fc-cache命令不支持-v参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行字体缓存更新测试
|
||||
LOG_INFO "执行字体缓存更新测试"
|
||||
fc-cache -v -f
|
||||
CHECK_RESULT $? 0 0 "字体缓存更新失败"
|
||||
|
||||
# 验证字体缓存是否更新成功
|
||||
LOG_INFO "验证字体缓存是否更新成功"
|
||||
if fc-list | grep -i "droid sans" &>/dev/null; then
|
||||
LOG_INFO "字体缓存更新成功,Droid Sans字体已加载"
|
||||
CHECK_RESULT $? 0 0 "字体缓存验证失败"
|
||||
else
|
||||
LOG_ERROR "字体缓存更新失败,未找到Droid Sans字体"
|
||||
CHECK_RESULT $? 0 1 "字体缓存验证失败"
|
||||
fi
|
||||
|
||||
# 清理环境:如果脚本开始时未安装,则卸载软件包
|
||||
if [ $ALREADY_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载软件包: $PACKAGE_NAME"
|
||||
dnf remove -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
|
||||
# 再次清理字体缓存
|
||||
LOG_INFO "清理字体缓存"
|
||||
fc-cache -v -f
|
||||
CHECK_RESULT $? 0 0 "清理字体缓存失败"
|
||||
else
|
||||
LOG_INFO "保持软件包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,74 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-08
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Verify font files exist
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装google-droid-sans-fonts字体包
|
||||
LOG_INFO "检查系统是否已安装google-droid-sans-fonts字体包"
|
||||
if dnf list installed google-droid-sans-fonts &>/dev/null; then
|
||||
LOG_INFO "google-droid-sans-fonts已安装,测试结束后保持安装状态"
|
||||
ALREADY_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "google-droid-sans-fonts未安装,将在测试中安装"
|
||||
ALREADY_INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有该软件包
|
||||
LOG_INFO "检查yum源中是否存在google-droid-sans-fonts软件包"
|
||||
if ! dnf list available google-droid-sans-fonts &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到google-droid-sans-fonts软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ ${ALREADY_INSTALLED} -eq 0 ]; then
|
||||
LOG_INFO "开始安装google-droid-sans-fonts软件包"
|
||||
dnf install -y google-droid-sans-fonts
|
||||
CHECK_RESULT $? 0 0 "安装google-droid-sans-fonts失败"
|
||||
fi
|
||||
|
||||
# 验证字体文件是否存在
|
||||
LOG_INFO "验证google-droid-sans-fonts字体文件是否存在"
|
||||
FONT_FILES=(
|
||||
"/usr/share/fonts/google-droid-sans-fonts/DroidSans.ttf"
|
||||
"/usr/share/fonts/google-droid-sans-fonts/DroidSans-Bold.ttf"
|
||||
)
|
||||
|
||||
for font_file in "${FONT_FILES[@]}"; do
|
||||
if [ -f "${font_file}" ]; then
|
||||
LOG_INFO "字体文件 ${font_file} 存在"
|
||||
else
|
||||
LOG_ERROR "字体文件 ${font_file} 不存在"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
LOG_INFO "所有字体文件验证通过"
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载软件包
|
||||
if [ ${ALREADY_INSTALLED} -eq 0 ]; then
|
||||
LOG_INFO "清理环境:卸载google-droid-sans-fonts软件包"
|
||||
dnf remove -y google-droid-sans-fonts
|
||||
CHECK_RESULT $? 0 0 "卸载google-droid-sans-fonts失败"
|
||||
LOG_INFO "环境已恢复"
|
||||
fi
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-03-08
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test font in application
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test font in application"
|
||||
|
||||
# 检查是否已安装google-droid-sans-fonts
|
||||
LOG_INFO "检查google-droid-sans-fonts是否已安装"
|
||||
if rpm -q google-droid-sans-fonts &>/dev/null; then
|
||||
LOG_INFO "google-droid-sans-fonts已安装"
|
||||
already_installed=true
|
||||
else
|
||||
LOG_INFO "google-droid-sans-fonts未安装"
|
||||
already_installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有google-droid-sans-fonts软件包
|
||||
LOG_INFO "检查yum源中是否存在google-droid-sans-fonts软件包"
|
||||
if ! dnf list available google-droid-sans-fonts &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到google-droid-sans-fonts软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "开始安装google-droid-sans-fonts"
|
||||
dnf install -y google-droid-sans-fonts
|
||||
CHECK_RESULT $? 0 0 "安装google-droid-sans-fonts失败"
|
||||
LOG_INFO "google-droid-sans-fonts安装成功"
|
||||
fi
|
||||
|
||||
# 测试字体在应用中的使用
|
||||
LOG_INFO "测试字体在应用中的使用"
|
||||
# 检查fc-list命令是否存在
|
||||
if ! command -v fc-list &>/dev/null; then
|
||||
LOG_ERROR "fc-list命令不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查fc-list是否支持--format参数
|
||||
if ! fc-list --help | grep -q -- "--format"; then
|
||||
LOG_ERROR "fc-list命令不支持--format参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 使用fc-list检查字体是否可用
|
||||
LOG_INFO "使用fc-list检查google-droid-sans-fonts字体"
|
||||
fc-list --format="%{family}\n" | grep -i "droid sans" >/dev/null
|
||||
CHECK_RESULT $? 0 0 "google-droid-sans-fonts字体未正确安装或不可用"
|
||||
|
||||
# 测试字体文件是否存在
|
||||
LOG_INFO "检查字体文件是否存在"
|
||||
if [ -f /usr/share/fonts/google-droid-sans-fonts/DroidSans.ttf ]; then
|
||||
LOG_INFO "DroidSans.ttf字体文件存在"
|
||||
else
|
||||
LOG_ERROR "DroidSans.ttf字体文件不存在"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载软件包
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "清理环境:卸载google-droid-sans-fonts"
|
||||
dnf remove -y google-droid-sans-fonts
|
||||
CHECK_RESULT $? 0 0 "卸载google-droid-sans-fonts失败"
|
||||
LOG_INFO "google-droid-sans-fonts卸载成功"
|
||||
else
|
||||
LOG_INFO "测试前已安装,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test font in application"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,68 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-08
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : List available font files
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装google-droid-sans-fonts软件包
|
||||
LOG_INFO "检查google-droid-sans-fonts软件包是否已安装"
|
||||
rpm -q google-droid-sans-fonts > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "google-droid-sans-fonts软件包已安装"
|
||||
INSTALLED_FLAG=1
|
||||
else
|
||||
LOG_INFO "google-droid-sans-fonts软件包未安装"
|
||||
INSTALLED_FLAG=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在google-droid-sans-fonts软件包
|
||||
LOG_INFO "检查yum源中是否存在google-droid-sans-fonts软件包"
|
||||
dnf list available google-droid-sans-fonts > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在google-droid-sans-fonts软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ ${INSTALLED_FLAG} -eq 0 ]; then
|
||||
LOG_INFO "安装google-droid-sans-fonts软件包"
|
||||
dnf install -y google-droid-sans-fonts > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装google-droid-sans-fonts软件包失败"
|
||||
LOG_INFO "google-droid-sans-fonts软件包安装成功"
|
||||
fi
|
||||
|
||||
# 测试list-fonts功能
|
||||
LOG_INFO "测试list-fonts功能"
|
||||
fc-list | grep -i "droid" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "list-fonts功能测试失败,未找到Droid字体"
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载软件包
|
||||
if [ ${INSTALLED_FLAG} -eq 0 ]; then
|
||||
LOG_INFO "卸载google-droid-sans-fonts软件包"
|
||||
dnf remove -y google-droid-sans-fonts > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载google-droid-sans-fonts软件包失败"
|
||||
LOG_INFO "google-droid-sans-fonts软件包卸载成功"
|
||||
else
|
||||
LOG_INFO "测试前已安装google-droid-sans-fonts软件包,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,64 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-29
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic functionality of jdepend-javadoc
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试jdepend-javadoc的基本功能"
|
||||
|
||||
# 检查是否已安装jdepend-javadoc
|
||||
LOG_INFO "检查jdepend-javadoc是否已安装"
|
||||
if dnf list installed jdepend-javadoc &>/dev/null; then
|
||||
LOG_INFO "jdepend-javadoc已安装,测试完成后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "jdepend-javadoc未安装,将在测试完成后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有jdepend-javadoc软件包
|
||||
LOG_INFO "检查yum源中是否存在jdepend-javadoc软件包"
|
||||
if ! dnf list available jdepend-javadoc &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到jdepend-javadoc软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装jdepend-javadoc
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装jdepend-javadoc"
|
||||
dnf install -y jdepend-javadoc
|
||||
CHECK_RESULT $? 0 0 "安装jdepend-javadoc失败"
|
||||
fi
|
||||
|
||||
# 测试jdepend-javadoc基本功能
|
||||
LOG_INFO "测试jdepend-javadoc基本功能"
|
||||
javadoc -doclet jdepend.xmlui.JDepend -docletpath /usr/share/java/jdepend.jar -sourcepath . &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "执行jdepend-javadoc失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载jdepend-javadoc"
|
||||
dnf remove -y jdepend-javadoc
|
||||
CHECK_RESULT $? 0 0 "卸载jdepend-javadoc失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,87 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Check if jdepend-javadoc is installed
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试:检查jdepend-javadoc是否安装"
|
||||
|
||||
# 检查yum源中是否存在jdepend-javadoc包
|
||||
LOG_INFO "步骤1:检查yum源中是否存在jdepend-javadoc软件包"
|
||||
if ! dnf list available jdepend-javadoc &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到jdepend-javadoc软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装jdepend-javadoc
|
||||
LOG_INFO "步骤2:检查当前系统是否已安装jdepend-javadoc"
|
||||
if rpm -q jdepend-javadoc &>/dev/null; then
|
||||
LOG_INFO "jdepend-javadoc已安装,记录安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "jdepend-javadoc未安装,将进行安装测试"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤3:安装jdepend-javadoc软件包"
|
||||
dnf install -y jdepend-javadoc
|
||||
CHECK_RESULT $? 0 0 "安装jdepend-javadoc失败"
|
||||
fi
|
||||
|
||||
# 验证安装
|
||||
LOG_INFO "步骤4:验证jdepend-javadoc安装"
|
||||
rpm -q jdepend-javadoc
|
||||
CHECK_RESULT $? 0 0 "验证jdepend-javadoc安装失败"
|
||||
|
||||
# 测试jdepend-javadoc命令是否可用
|
||||
LOG_INFO "步骤5:测试jdepend-javadoc命令是否可用"
|
||||
if ! command -v jdepend-javadoc &>/dev/null; then
|
||||
LOG_ERROR "jdepend-javadoc命令未找到"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试jdepend-javadoc命令基本功能
|
||||
LOG_INFO "步骤6:测试jdepend-javadoc命令基本功能"
|
||||
jdepend-javadoc --help &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "jdepend-javadoc命令执行失败"
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤7:清理环境,卸载测试安装的jdepend-javadoc"
|
||||
dnf remove -y jdepend-javadoc
|
||||
CHECK_RESULT $? 0 0 "卸载jdepend-javadoc失败"
|
||||
|
||||
# 验证卸载
|
||||
LOG_INFO "步骤8:验证jdepend-javadoc已卸载"
|
||||
if rpm -q jdepend-javadoc &>/dev/null; then
|
||||
LOG_ERROR "jdepend-javadoc卸载失败"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
LOG_INFO "步骤7:测试前已安装jdepend-javadoc,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:jdepend-javadoc安装检查通过"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,64 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-06
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test documentation generation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装jdepend-javadoc软件包
|
||||
LOG_INFO "检查是否已安装jdepend-javadoc软件包"
|
||||
if dnf list installed jdepend-javadoc &>/dev/null; then
|
||||
LOG_INFO "jdepend-javadoc软件包已安装"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "jdepend-javadoc软件包未安装"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在jdepend-javadoc软件包
|
||||
LOG_INFO "检查yum源中是否存在jdepend-javadoc软件包"
|
||||
if ! dnf list available jdepend-javadoc &>/dev/null; then
|
||||
LOG_ERROR "yum源中不存在jdepend-javadoc软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装jdepend-javadoc软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装jdepend-javadoc软件包"
|
||||
dnf install -y jdepend-javadoc
|
||||
CHECK_RESULT $? 0 0 "安装jdepend-javadoc失败"
|
||||
fi
|
||||
|
||||
# 测试文档生成功能
|
||||
LOG_INFO "测试文档生成功能"
|
||||
javadoc -doclet JDepend -docletpath /usr/share/java/jdepend.jar -sourcepath . -subpackages .
|
||||
CHECK_RESULT $? 0 0 "文档生成失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载jdepend-javadoc软件包"
|
||||
dnf remove -y jdepend-javadoc
|
||||
CHECK_RESULT $? 0 0 "卸载jdepend-javadoc失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,122 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test generating Javadoc for a sample Java project
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:为示例Java项目生成Javadoc"
|
||||
|
||||
# 定义软件包名称和命令
|
||||
PACKAGE_NAME="jdepend-javadoc"
|
||||
COMMAND="jdepend-javadoc"
|
||||
SAMPLE_PROJECT_PATH="/tmp/sample_java_project"
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
LOG_INFO "检查yum源中是否存在软件包 ${PACKAGE_NAME}"
|
||||
if ! dnf list available ${PACKAGE_NAME} &>/dev/null; then
|
||||
LOG_ERROR "软件包 ${PACKAGE_NAME} 不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查环境是否已安装软件包
|
||||
LOG_INFO "检查环境是否已安装软件包 ${PACKAGE_NAME}"
|
||||
if rpm -q ${PACKAGE_NAME} &>/dev/null; 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 "检查命令 ${COMMAND} 是否存在"
|
||||
if ! command -v ${COMMAND} &>/dev/null; then
|
||||
LOG_ERROR "命令 ${COMMAND} 不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查命令支持的参数
|
||||
LOG_INFO "检查命令 ${COMMAND} 是否支持参数 -h"
|
||||
${COMMAND} -h &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "命令 ${COMMAND} 不支持参数 -h"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 创建示例Java项目目录
|
||||
LOG_INFO "创建示例Java项目目录 ${SAMPLE_PROJECT_PATH}"
|
||||
mkdir -p ${SAMPLE_PROJECT_PATH}
|
||||
CHECK_RESULT $? 0 0 "创建目录 ${SAMPLE_PROJECT_PATH} 失败"
|
||||
|
||||
# 创建示例Java源文件
|
||||
LOG_INFO "创建示例Java源文件"
|
||||
cat > ${SAMPLE_PROJECT_PATH}/SampleClass.java << "EOF"
|
||||
/**
|
||||
* 这是一个示例Java类。
|
||||
*/
|
||||
public class SampleClass {
|
||||
/**
|
||||
* 示例方法。
|
||||
* @param name 名称
|
||||
* @return 拼接后的字符串
|
||||
*/
|
||||
public String sayHello(String name) {
|
||||
return "Hello, " + name + "!";
|
||||
}
|
||||
}
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "创建示例Java源文件失败"
|
||||
|
||||
# 生成Javadoc
|
||||
LOG_INFO "为示例Java项目生成Javadoc"
|
||||
${COMMAND} -d ${SAMPLE_PROJECT_PATH}/docs ${SAMPLE_PROJECT_PATH}/SampleClass.java
|
||||
CHECK_RESULT $? 0 0 "生成Javadoc失败"
|
||||
|
||||
# 检查生成的Javadoc文件是否存在
|
||||
LOG_INFO "检查生成的Javadoc文件是否存在"
|
||||
if [ -f "${SAMPLE_PROJECT_PATH}/docs/index.html" ]; then
|
||||
LOG_INFO "Javadoc生成成功"
|
||||
else
|
||||
LOG_ERROR "Javadoc生成失败,未找到 index.html 文件"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理测试环境
|
||||
LOG_INFO "清理测试环境"
|
||||
rm -rf ${SAMPLE_PROJECT_PATH}
|
||||
CHECK_RESULT $? 0 0 "清理测试环境失败"
|
||||
|
||||
# 如果测试前未安装软件包,则卸载
|
||||
if [ "${INSTALLED_BEFORE_TEST}" = "false" ]; then
|
||||
LOG_INFO "卸载软件包 ${PACKAGE_NAME}"
|
||||
dnf remove -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 ${PACKAGE_NAME} 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:为示例Java项目生成Javadoc"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,139 +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-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test help/usage output of the tool
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
PACKAGE_NAME="jdepend-javadoc"
|
||||
COMMAND="jdepend-javadoc"
|
||||
EXPECTED_HELP_PATTERN="用法:\|用法:\|Usage:\|usage:"
|
||||
|
||||
# 检查yum源中是否存在指定的软件包
|
||||
check_package_in_repo() {
|
||||
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 "yum源中存在软件包: $PACKAGE_NAME"
|
||||
}
|
||||
|
||||
# 检查软件包是否已安装
|
||||
check_package_installed() {
|
||||
LOG_INFO "检查软件包是否已安装: $PACKAGE_NAME"
|
||||
rpm -q "$PACKAGE_NAME" &>/dev/null
|
||||
return $?
|
||||
}
|
||||
|
||||
# 安装软件包
|
||||
install_package() {
|
||||
LOG_INFO "开始安装软件包: $PACKAGE_NAME"
|
||||
dnf install -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
LOG_INFO "软件包安装成功: $PACKAGE_NAME"
|
||||
}
|
||||
|
||||
# 卸载软件包
|
||||
uninstall_package() {
|
||||
LOG_INFO "开始卸载软件包: $PACKAGE_NAME"
|
||||
dnf remove -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
LOG_INFO "软件包卸载成功: $PACKAGE_NAME"
|
||||
}
|
||||
|
||||
# 测试帮助/使用说明输出
|
||||
test_help_output() {
|
||||
LOG_INFO "测试帮助/使用说明输出"
|
||||
|
||||
# 检查命令是否存在
|
||||
if ! command -v "$COMMAND" &>/dev/null; then
|
||||
LOG_ERROR "命令不存在: $COMMAND"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 尝试获取帮助信息
|
||||
LOG_INFO "执行命令获取帮助信息: $COMMAND --help"
|
||||
help_output=$($COMMAND --help 2>&1)
|
||||
help_exit_code=$?
|
||||
|
||||
# 如果--help参数不支持,尝试-h参数
|
||||
if [ $help_exit_code -ne 0 ]; then
|
||||
LOG_INFO "--help参数不支持,尝试-h参数"
|
||||
help_output=$($COMMAND -h 2>&1)
|
||||
help_exit_code=$?
|
||||
fi
|
||||
|
||||
# 如果-h参数也不支持,尝试不带参数
|
||||
if [ $help_exit_code -ne 0 ]; then
|
||||
LOG_INFO "-h参数不支持,尝试不带参数"
|
||||
help_output=$($COMMAND 2>&1)
|
||||
help_exit_code=$?
|
||||
fi
|
||||
|
||||
# 检查命令执行是否成功
|
||||
if [ $help_exit_code -eq 255 ]; then
|
||||
LOG_ERROR "命令参数不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查输出中是否包含帮助信息
|
||||
LOG_INFO "检查输出中是否包含帮助信息"
|
||||
echo "$help_output" | grep -q -E "$EXPECTED_HELP_PATTERN"
|
||||
CHECK_RESULT $? 0 0 "帮助信息输出不符合预期"
|
||||
|
||||
LOG_INFO "帮助信息输出测试通过"
|
||||
}
|
||||
|
||||
# 主函数
|
||||
main() {
|
||||
LOG_INFO "开始测试: Test help/usage output of the tool"
|
||||
|
||||
# 检查yum源中是否存在软件包
|
||||
check_package_in_repo
|
||||
|
||||
# 检查软件包是否已安装
|
||||
if check_package_installed; then
|
||||
LOG_INFO "软件包已安装,测试结束后保持安装状态"
|
||||
was_installed=true
|
||||
else
|
||||
LOG_INFO "软件包未安装,将在测试前安装"
|
||||
was_installed=false
|
||||
install_package
|
||||
fi
|
||||
|
||||
# 执行测试
|
||||
test_help_output
|
||||
|
||||
# 环境清理
|
||||
LOG_INFO "开始环境清理"
|
||||
if [ "$was_installed" = "false" ]; then
|
||||
uninstall_package
|
||||
else
|
||||
LOG_INFO "软件包原本已安装,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
# 执行主函数
|
||||
main
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,69 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test installation of jdepend-javadoc package
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test installation of jdepend-javadoc package"
|
||||
LOG_INFO "步骤1:检查是否已安装jdepend-javadoc包"
|
||||
if dnf list installed jdepend-javadoc &>/dev/null; then
|
||||
LOG_INFO "jdepend-javadoc已安装,跳过安装步骤"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "jdepend-javadoc未安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查yum源中是否有jdepend-javadoc包"
|
||||
if ! dnf list available jdepend-javadoc &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到jdepend-javadoc包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "步骤3:安装jdepend-javadoc包"
|
||||
dnf install -y jdepend-javadoc
|
||||
CHECK_RESULT $? 0 0 "安装jdepend-javadoc包失败"
|
||||
LOG_INFO "jdepend-javadoc包安装成功"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:验证jdepend-javadoc命令是否可用"
|
||||
if ! command -v jdepend &>/dev/null; then
|
||||
LOG_ERROR "jdepend命令不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤5:测试jdepend命令基本功能"
|
||||
jdepend --help &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "jdepend命令参数不支持或执行失败"
|
||||
|
||||
LOG_INFO "步骤6:清理环境"
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "卸载jdepend-javadoc包"
|
||||
dnf remove -y jdepend-javadoc
|
||||
CHECK_RESULT $? 0 0 "卸载jdepend-javadoc包失败"
|
||||
LOG_INFO "jdepend-javadoc包卸载成功"
|
||||
else
|
||||
LOG_INFO "保持jdepend-javadoc包安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test installation of jdepend-javadoc package"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,81 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test uninstallation of jdepend-javadoc package
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:卸载jdepend-javadoc软件包"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="jdepend-javadoc"
|
||||
|
||||
# 检查软件包是否已在yum源中
|
||||
LOG_INFO "检查yum源中是否存在软件包:$PACKAGE_NAME"
|
||||
dnf list available "$PACKAGE_NAME" > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 $PACKAGE_NAME 在yum源中不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查当前环境是否已安装该软件包
|
||||
LOG_INFO "检查当前环境是否已安装软件包:$PACKAGE_NAME"
|
||||
rpm -q "$PACKAGE_NAME" > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 已安装,测试结束后保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 未安装,将进行安装和卸载测试"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
# 如果未安装,则先安装软件包
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "安装软件包:$PACKAGE_NAME"
|
||||
dnf install -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME 失败"
|
||||
fi
|
||||
|
||||
# 测试卸载软件包
|
||||
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 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "软件包 $PACKAGE_NAME 卸载失败"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 卸载成功"
|
||||
fi
|
||||
|
||||
# 环境恢复:如果测试前未安装,则重新安装以恢复环境
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "恢复环境:重新安装软件包 $PACKAGE_NAME"
|
||||
dnf install -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "恢复环境时安装软件包 $PACKAGE_NAME 失败"
|
||||
else
|
||||
LOG_INFO "环境恢复:软件包 $PACKAGE_NAME 保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:卸载jdepend-javadoc软件包"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,92 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-17
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test retrieving version information
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 环境初始化检查
|
||||
LOG_INFO "开始执行测试:获取版本信息"
|
||||
LOG_INFO "步骤1:检查当前环境是否已安装jdepend-javadoc软件包"
|
||||
rpm -q jdepend-javadoc > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "检测到jdepend-javadoc已安装,标记为已存在状态"
|
||||
EXISTING_INSTALL=1
|
||||
else
|
||||
LOG_INFO "未检测到jdepend-javadoc安装,标记为未安装状态"
|
||||
EXISTING_INSTALL=0
|
||||
fi
|
||||
|
||||
# 检查软件包是否在yum源中可用
|
||||
LOG_INFO "步骤2:检查yum源中是否存在jdepend-javadoc软件包"
|
||||
dnf list available jdepend-javadoc > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到jdepend-javadoc软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装则执行安装
|
||||
if [ $EXISTING_INSTALL -eq 0 ]; then
|
||||
LOG_INFO "步骤3:安装jdepend-javadoc软件包"
|
||||
dnf install -y jdepend-javadoc
|
||||
CHECK_RESULT $? 0 0 "安装jdepend-javadoc失败"
|
||||
fi
|
||||
|
||||
# 测试获取版本信息功能
|
||||
LOG_INFO "步骤4:测试jdepend-javadoc版本信息获取"
|
||||
jdepend-javadoc --version > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_INFO "尝试使用--version参数失败,尝试使用-version参数"
|
||||
jdepend-javadoc -version > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "jdepend-javadoc不支持--version或-version参数"
|
||||
# 清理环境
|
||||
if [ $EXISTING_INSTALL -eq 0 ]; then
|
||||
LOG_INFO "清理环境:卸载jdepend-javadoc软件包"
|
||||
dnf remove -y jdepend-javadoc
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
fi
|
||||
|
||||
# 验证版本信息输出格式
|
||||
LOG_INFO "步骤5:验证版本信息输出格式"
|
||||
VERSION_OUTPUT=$(jdepend-javadoc --version 2>/dev/null || jdepend-javadoc -version 2>/dev/null)
|
||||
if [ -z "$VERSION_OUTPUT" ]; then
|
||||
LOG_ERROR "版本信息输出为空"
|
||||
CHECK_RESULT 1 0 0 "版本信息输出验证失败"
|
||||
else
|
||||
LOG_INFO "获取到的版本信息:$VERSION_OUTPUT"
|
||||
echo "$VERSION_OUTPUT" | grep -E "[0-9]+\.[0-9]+" > /dev/null
|
||||
CHECK_RESULT $? 0 0 "版本信息格式不正确"
|
||||
fi
|
||||
|
||||
# 环境清理
|
||||
LOG_INFO "步骤6:清理测试环境"
|
||||
if [ $EXISTING_INSTALL -eq 0 ]; then
|
||||
LOG_INFO "卸载测试安装的jdepend-javadoc软件包"
|
||||
dnf remove -y jdepend-javadoc
|
||||
CHECK_RESULT $? 0 0 "卸载jdepend-javadoc失败"
|
||||
else
|
||||
LOG_INFO "保持原有安装状态,不执行卸载"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:版本信息获取功能验证成功"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,64 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-02
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test initialization of libsgx-quote-ex
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test initialization of libsgx-quote-ex"
|
||||
|
||||
# 检查是否已安装libsgx-quote-ex
|
||||
LOG_INFO "检查是否已安装libsgx-quote-ex"
|
||||
if dnf list installed libsgx-quote-ex &>/dev/null; then
|
||||
LOG_INFO "libsgx-quote-ex已安装,跳过安装步骤"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "libsgx-quote-ex未安装,准备安装"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有libsgx-quote-ex软件包
|
||||
LOG_INFO "检查yum源中是否有libsgx-quote-ex软件包"
|
||||
if ! dnf list available libsgx-quote-ex &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到libsgx-quote-ex软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "开始安装libsgx-quote-ex"
|
||||
dnf install -y libsgx-quote-ex
|
||||
CHECK_RESULT $? 0 0 "安装libsgx-quote-ex失败"
|
||||
fi
|
||||
|
||||
# 测试初始化功能
|
||||
LOG_INFO "测试libsgx-quote-ex初始化功能"
|
||||
/usr/bin/libsgx-quote-ex init
|
||||
CHECK_RESULT $? 0 0 "初始化libsgx-quote-ex失败"
|
||||
|
||||
# 清理环境:如果脚本开始时未安装,则卸载软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "清理环境:卸载libsgx-quote-ex"
|
||||
dnf remove -y libsgx-quote-ex
|
||||
CHECK_RESULT $? 0 0 "卸载libsgx-quote-ex失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test initialization of libsgx-quote-ex"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,89 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-03
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试在终端中执行`lxsession-help`命令能正常启动并显示帮助信息
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查环境是否已安装lxsession-help软件包
|
||||
LOG_INFO "1. 检查lxsession-help软件包是否已安装"
|
||||
rpm -q lxsession-help > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "lxsession-help软件包已安装,测试结束后将保持安装状态"
|
||||
INSTALLED_FLAG=1
|
||||
else
|
||||
LOG_INFO "lxsession-help软件包未安装,将在测试前安装并在测试后卸载"
|
||||
INSTALLED_FLAG=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有lxsession-help软件包
|
||||
LOG_INFO "2. 检查yum源中是否存在lxsession-help软件包"
|
||||
dnf list available lxsession-help > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到lxsession-help软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ ${INSTALLED_FLAG} -eq 0 ]; then
|
||||
LOG_INFO "3. 安装lxsession-help软件包"
|
||||
dnf install -y lxsession-help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装lxsession-help软件包失败"
|
||||
fi
|
||||
|
||||
# 检查lxsession-help命令是否存在
|
||||
LOG_INFO "4. 检查lxsession-help命令是否存在"
|
||||
which lxsession-help > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "lxsession-help命令未找到"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试lxsession-help命令的--help参数
|
||||
LOG_INFO "5. 测试lxsession-help命令的--help参数"
|
||||
lxsession-help --help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "lxsession-help命令--help参数执行失败"
|
||||
|
||||
# 测试lxsession-help命令的-h参数
|
||||
LOG_INFO "6. 测试lxsession-help命令的-h参数"
|
||||
lxsession-help -h > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "lxsession-help命令-h参数执行失败"
|
||||
|
||||
# 测试lxsession-help命令不带参数的情况
|
||||
LOG_INFO "7. 测试lxsession-help命令不带参数的情况"
|
||||
lxsession-help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "lxsession-help命令不带参数执行失败"
|
||||
|
||||
# 测试lxsession-help命令显示帮助信息
|
||||
LOG_INFO "8. 测试lxsession-help命令显示帮助信息"
|
||||
lxsession-help --help | grep -i "usage" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "lxsession-help命令未显示帮助信息"
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载软件包
|
||||
if [ ${INSTALLED_FLAG} -eq 0 ]; then
|
||||
LOG_INFO "9. 卸载lxsession-help软件包"
|
||||
dnf remove -y lxsession-help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载lxsession-help软件包失败"
|
||||
else
|
||||
LOG_INFO "9. 测试前已安装lxsession-help软件包,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "10. 测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,68 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-03
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试执行`lxsession-help --help`或`-h`选项能正确显示命令用法和选项说明
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 lxsession-help 命令的 --help 和 -h 选项功能"
|
||||
LOG_INFO "检查当前环境是否已安装 lxsession-help 软件包"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
if rpm -q lxsession-help > /dev/null 2>&1; then
|
||||
LOG_INFO "lxsession-help 软件包已安装,测试结束后将保持安装状态"
|
||||
already_installed=true
|
||||
else
|
||||
LOG_INFO "lxsession-help 软件包未安装,将在测试前安装并在测试后卸载"
|
||||
already_installed=false
|
||||
fi
|
||||
|
||||
LOG_INFO "检查 yum 源中是否存在 lxsession-help 软件包"
|
||||
if ! dnf list available lxsession-help > /dev/null 2>&1; then
|
||||
LOG_ERROR "yum 源中未找到 lxsession-help 软件包,测试无法继续"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "正在安装 lxsession-help 软件包"
|
||||
dnf install -y lxsession-help
|
||||
CHECK_RESULT $? 0 0 "安装 lxsession-help 软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试 lxsession-help --help 选项"
|
||||
lxsession-help --help
|
||||
CHECK_RESULT $? 0 0 "lxsession-help --help 命令执行失败或返回非零退出码"
|
||||
|
||||
LOG_INFO "测试 lxsession-help -h 选项"
|
||||
lxsession-help -h
|
||||
CHECK_RESULT $? 0 0 "lxsession-help -h 命令执行失败或返回非零退出码"
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载软件包
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "清理环境:卸载 lxsession-help 软件包"
|
||||
dnf remove -y lxsession-help
|
||||
CHECK_RESULT $? 0 0 "卸载 lxsession-help 软件包失败"
|
||||
else
|
||||
LOG_INFO "测试前已安装 lxsession-help,保持安装状态,无需卸载"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,71 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-03
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试通过包管理器(如apt)成功安装lxsession-help软件包
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试lxsession-help软件包安装"
|
||||
|
||||
# 检查是否已经安装lxsession-help
|
||||
LOG_INFO "检查lxsession-help是否已安装"
|
||||
if dnf list installed lxsession-help &> /dev/null; then
|
||||
LOG_INFO "lxsession-help已安装,跳过安装步骤"
|
||||
INSTALLED_ALREADY=true
|
||||
else
|
||||
LOG_INFO "lxsession-help未安装,将进行安装测试"
|
||||
INSTALLED_ALREADY=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有lxsession-help软件包
|
||||
LOG_INFO "检查yum源中是否存在lxsession-help软件包"
|
||||
if ! dnf list available lxsession-help &> /dev/null; then
|
||||
LOG_ERROR "yum源中不存在lxsession-help软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED_ALREADY" = false ]; then
|
||||
LOG_INFO "开始安装lxsession-help软件包"
|
||||
dnf install -y lxsession-help
|
||||
CHECK_RESULT $? 0 0 "安装lxsession-help失败"
|
||||
LOG_INFO "lxsession-help安装成功"
|
||||
fi
|
||||
|
||||
# 验证安装是否成功
|
||||
LOG_INFO "验证lxsession-help安装是否成功"
|
||||
which lxsession-help
|
||||
CHECK_RESULT $? 0 0 "lxsession-help命令不存在"
|
||||
|
||||
# 测试lxsession-help命令的基本功能
|
||||
LOG_INFO "测试lxsession-help命令的基本功能"
|
||||
lxsession-help --help
|
||||
CHECK_RESULT $? 0 0 "lxsession-help --help命令执行失败"
|
||||
|
||||
# 如果测试前未安装,则卸载软件包
|
||||
if [ "$INSTALLED_ALREADY" = false ]; then
|
||||
LOG_INFO "开始卸载lxsession-help软件包"
|
||||
dnf remove -y lxsession-help
|
||||
CHECK_RESULT $? 0 0 "卸载lxsession-help失败"
|
||||
LOG_INFO "lxsession-help卸载成功"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,89 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-03
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试通过包管理器(如apt)成功卸载lxsession-help软件包,并验证其可被重新安装
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试:通过包管理器成功卸载lxsession-help软件包,并验证其可被重新安装"
|
||||
|
||||
LOG_INFO "步骤1:检查yum源中是否存在lxsession-help软件包"
|
||||
if ! dnf list available lxsession-help &>/dev/null; then
|
||||
LOG_ERROR "yum源中不存在lxsession-help软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2:检查系统是否已安装lxsession-help"
|
||||
if rpm -q lxsession-help &>/dev/null; then
|
||||
LOG_INFO "lxsession-help已安装,记录当前状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "lxsession-help未安装,将在测试中安装"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED_BEFORE" = "false" ]; then
|
||||
LOG_INFO "步骤3:安装lxsession-help软件包"
|
||||
dnf install -y lxsession-help
|
||||
CHECK_RESULT $? 0 0 "安装lxsession-help失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:验证lxsession-help命令是否可用"
|
||||
if ! command -v lxsession-help &>/dev/null; then
|
||||
LOG_ERROR "lxsession-help命令不存在或不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤5:卸载lxsession-help软件包"
|
||||
dnf remove -y lxsession-help
|
||||
CHECK_RESULT $? 0 0 "卸载lxsession-help失败"
|
||||
|
||||
LOG_INFO "步骤6:验证lxsession-help已卸载"
|
||||
if rpm -q lxsession-help &>/dev/null; then
|
||||
LOG_ERROR "lxsession-help卸载后仍然存在"
|
||||
exit 1
|
||||
fi
|
||||
LOG_INFO "lxsession-help卸载成功"
|
||||
|
||||
LOG_INFO "步骤7:重新安装lxsession-help软件包"
|
||||
dnf install -y lxsession-help
|
||||
CHECK_RESULT $? 0 0 "重新安装lxsession-help失败"
|
||||
|
||||
LOG_INFO "步骤8:验证重新安装后lxsession-help可用"
|
||||
if ! command -v lxsession-help &>/dev/null; then
|
||||
LOG_ERROR "重新安装后lxsession-help命令不可用"
|
||||
exit 1
|
||||
fi
|
||||
LOG_INFO "lxsession-help重新安装成功"
|
||||
|
||||
LOG_INFO "步骤9:环境恢复"
|
||||
if [ "$INSTALLED_BEFORE" = "false" ]; then
|
||||
LOG_INFO "测试前未安装lxsession-help,执行卸载"
|
||||
dnf remove -y lxsession-help
|
||||
CHECK_RESULT $? 0 0 "环境恢复时卸载lxsession-help失败"
|
||||
LOG_INFO "环境恢复完成,系统状态与测试前一致"
|
||||
else
|
||||
LOG_INFO "测试前已安装lxsession-help,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:成功验证lxsession-help的卸载与重新安装"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,73 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-03
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试执行`lxsession-help --version`选项能正确显示软件包的版本信息
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 判断是否已经安装lxsession-help
|
||||
LOG_INFO "检查是否已安装lxsession-help"
|
||||
rpm -q lxsession-help > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "lxsession-help已安装,标记为已安装状态"
|
||||
INSTALLED="true"
|
||||
else
|
||||
LOG_INFO "lxsession-help未安装,标记为未安装状态"
|
||||
INSTALLED="false"
|
||||
fi
|
||||
|
||||
# 如果未安装,则先安装
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "检查yum源中是否存在lxsession-help软件包"
|
||||
dnf list available lxsession-help > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到lxsession-help软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "开始安装lxsession-help"
|
||||
dnf install -y lxsession-help
|
||||
CHECK_RESULT $? 0 0 "安装lxsession-help失败"
|
||||
fi
|
||||
|
||||
# 测试lxsession-help --version选项
|
||||
LOG_INFO "测试lxsession-help --version选项"
|
||||
lxsession-help --version > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "lxsession-help不支持--version参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行命令并检查结果
|
||||
LOG_INFO "执行lxsession-help --version命令"
|
||||
VERSION_OUTPUT=$(lxsession-help --version 2>&1)
|
||||
CHECK_RESULT $? 0 0 "执行lxsession-help --version失败"
|
||||
LOG_INFO "版本信息:$VERSION_OUTPUT"
|
||||
|
||||
# 环境恢复
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "恢复环境:卸载lxsession-help"
|
||||
dnf remove -y lxsession-help
|
||||
CHECK_RESULT $? 0 0 "卸载lxsession-help失败"
|
||||
else
|
||||
LOG_INFO "环境已安装,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,55 +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 : 测试 oech-server 的配置文件加载功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 oech-server 的配置文件加载功能"
|
||||
|
||||
# 检查是否已安装 oech-server
|
||||
if ! dnf list installed oech-server &>/dev/null; then
|
||||
LOG_INFO "oech-server 未安装,将进行安装"
|
||||
if ! dnf list available oech-server &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到 oech-server 软件包"
|
||||
exit 255
|
||||
fi
|
||||
dnf install -y oech-server
|
||||
CHECK_RESULT $? 0 0 "安装 oech-server 失败"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "oech-server 已安装,跳过安装步骤"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 测试配置文件加载功能
|
||||
LOG_INFO "测试 oech-server 配置文件加载功能"
|
||||
oech-server --config /etc/oech-server/config.yaml
|
||||
CHECK_RESULT $? 0 0 "配置文件加载失败"
|
||||
|
||||
# 清理环境
|
||||
if [ $INSTALLED -eq 1 ]; then
|
||||
LOG_INFO "卸载 oech-server"
|
||||
dnf remove -y oech-server
|
||||
CHECK_RESULT $? 0 0 "卸载 oech-server 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-02-28
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试oech-server默认配置文件存在性
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:测试oech-server默认配置文件存在性"
|
||||
LOG_INFO "步骤1:检查是否已安装oech-server软件包"
|
||||
if dnf list installed oech-server &> /dev/null; then
|
||||
LOG_INFO "oech-server软件包已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "oech-server软件包未安装,将在测试过程中安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
LOG_INFO "步骤2:检查yum源中是否存在oech-server软件包"
|
||||
if ! dnf list available oech-server &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到oech-server软件包"
|
||||
exit 255
|
||||
fi
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤3:安装oech-server软件包"
|
||||
dnf install -y oech-server
|
||||
CHECK_RESULT $? 0 0 "安装oech-server失败"
|
||||
fi
|
||||
LOG_INFO "步骤4:检查oech-server默认配置文件是否存在"
|
||||
CONFIG_FILE="/etc/oech-server/default.conf"
|
||||
if [ -f "$CONFIG_FILE" ]; then
|
||||
LOG_INFO "默认配置文件 $CONFIG_FILE 存在"
|
||||
else
|
||||
LOG_ERROR "默认配置文件 $CONFIG_FILE 不存在"
|
||||
exit 1
|
||||
fi
|
||||
LOG_INFO "步骤5:清理环境"
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载oech-server软件包"
|
||||
dnf remove -y oech-server
|
||||
CHECK_RESULT $? 0 0 "卸载oech-server失败"
|
||||
else
|
||||
LOG_INFO "保持oech-server软件包安装状态"
|
||||
fi
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,79 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-28
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包oec-hardware-server的安装功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试软件包oec-hardware-server的安装功能"
|
||||
|
||||
# 检查是否已经安装oec-hardware-server
|
||||
LOG_INFO "检查oec-hardware-server是否已经安装"
|
||||
if dnf list installed oec-hardware-server &>/dev/null; then
|
||||
LOG_INFO "oec-hardware-server已经安装,测试结束后将保持安装状态"
|
||||
already_installed=true
|
||||
else
|
||||
LOG_INFO "oec-hardware-server未安装,将在测试过程中安装"
|
||||
already_installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有oec-hardware-server软件包
|
||||
LOG_INFO "检查yum源中是否存在oec-hardware-server软件包"
|
||||
if ! dnf list available oec-hardware-server &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到oec-hardware-server软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "安装oec-hardware-server软件包"
|
||||
dnf install -y oec-hardware-server
|
||||
CHECK_RESULT $? 0 0 "安装oec-hardware-server失败"
|
||||
fi
|
||||
|
||||
# 验证安装是否成功
|
||||
LOG_INFO "验证oec-hardware-server安装是否成功"
|
||||
dnf list installed oec-hardware-server
|
||||
CHECK_RESULT $? 0 0 "验证oec-hardware-server安装失败"
|
||||
|
||||
# 测试oec-hardware-server命令是否存在
|
||||
LOG_INFO "测试oec-hardware-server命令是否存在"
|
||||
command -v oec-hardware-server
|
||||
CHECK_RESULT $? 0 0 "oec-hardware-server命令不存在"
|
||||
|
||||
# 测试oec-hardware-server命令的帮助信息
|
||||
LOG_INFO "测试oec-hardware-server命令的帮助信息"
|
||||
oec-hardware-server --help
|
||||
CHECK_RESULT $? 0 0 "oec-hardware-server命令帮助信息获取失败"
|
||||
|
||||
# 测试oec-hardware-server命令的版本信息
|
||||
LOG_INFO "测试oec-hardware-server命令的版本信息"
|
||||
oec-hardware-server --version
|
||||
CHECK_RESULT $? 0 0 "oec-hardware-server命令版本信息获取失败"
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载软件包
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "卸载oec-hardware-server软件包"
|
||||
dnf remove -y oec-hardware-server
|
||||
CHECK_RESULT $? 0 0 "卸载oec-hardware-server失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "oec-hardware-server安装功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,97 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-28
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试oech-server服务日志查看功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试oech-server服务日志查看功能
|
||||
|
||||
LOG_INFO "1. 检查是否已安装oech-server软件包"
|
||||
dnf list installed oech-server &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "oech-server已安装,脚本结束后将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "oech-server未安装,将在测试过程中安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
LOG_INFO "2. 检查yum源中是否有oech-server软件包"
|
||||
dnf list available oech-server &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "yum源中未找到oech-server软件包"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到oech-server软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "3. 安装oech-server软件包"
|
||||
dnf install -y oech-server
|
||||
CHECK_RESULT $? 0 0 "安装oech-server失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "4. 检查oech-server服务状态"
|
||||
systemctl status oech-server --no-pager
|
||||
CHECK_RESULT $? 0 0 "检查oech-server服务状态失败"
|
||||
|
||||
LOG_INFO "5. 测试日志查看功能:查看最近10条日志"
|
||||
journalctl -u oech-server -n 10
|
||||
CHECK_RESULT $? 0 0 "查看oech-server日志失败"
|
||||
|
||||
LOG_INFO "6. 测试日志查看功能:查看指定时间范围内的日志"
|
||||
journalctl -u oech-server --since "1 hour ago" --until "now"
|
||||
CHECK_RESULT $? 0 0 "查看指定时间范围内的日志失败"
|
||||
|
||||
LOG_INFO "7. 测试日志查看功能:查看错误级别的日志"
|
||||
journalctl -u oech-server -p err
|
||||
CHECK_RESULT $? 0 0 "查看错误级别日志失败"
|
||||
|
||||
LOG_INFO "8. 测试日志查看功能:实时跟踪日志"
|
||||
timeout 2s journalctl -u oech-server -f
|
||||
CHECK_RESULT $? 124 0 "实时跟踪日志功能异常"
|
||||
|
||||
LOG_INFO "9. 测试日志查看功能:导出日志到文件"
|
||||
journalctl -u oech-server --since "today" > /tmp/oech-server-today.log
|
||||
CHECK_RESULT $? 0 0 "导出日志到文件失败"
|
||||
[ -f /tmp/oech-server-today.log ] && rm -f /tmp/oech-server-today.log
|
||||
|
||||
LOG_INFO "10. 检查journalctl命令参数支持情况"
|
||||
journalctl --help | grep -q "\-\-since"
|
||||
CHECK_RESULT $? 0 0 "journalctl不支持--since参数"
|
||||
journalctl --help | grep -q "\-f"
|
||||
CHECK_RESULT $? 0 0 "journalctl不支持-f参数"
|
||||
journalctl --help | grep -q "\-p"
|
||||
CHECK_RESULT $? 0 0 "journalctl不支持-p参数"
|
||||
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "11. 清理环境:卸载oech-server软件包"
|
||||
dnf remove -y oech-server
|
||||
CHECK_RESULT $? 0 0 "卸载oech-server失败"
|
||||
|
||||
LOG_INFO "12. 验证oech-server已卸载"
|
||||
dnf list installed oech-server &>/dev/null
|
||||
CHECK_RESULT $? 1 0 "oech-server卸载不彻底"
|
||||
else
|
||||
LOG_INFO "11. 保持oech-server安装状态,不进行卸载"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,119 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-28
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试oech-server服务重启功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试oech-server服务重启功能"
|
||||
|
||||
# 检查软件包是否已在yum源中
|
||||
LOG_INFO "检查oech-server软件包是否在yum源中"
|
||||
dnf list available oech-server > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到oech-server软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查系统是否已安装oech-server
|
||||
LOG_INFO "检查系统是否已安装oech-server"
|
||||
rpm -q oech-server > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "系统已安装oech-server,测试结束后将保持安装状态"
|
||||
INSTALLED_BEFORE_TEST=1
|
||||
else
|
||||
LOG_INFO "系统未安装oech-server,测试结束后将卸载"
|
||||
INSTALLED_BEFORE_TEST=0
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $INSTALLED_BEFORE_TEST -eq 0 ]; then
|
||||
LOG_INFO "安装oech-server软件包"
|
||||
dnf install -y oech-server
|
||||
CHECK_RESULT $? 0 0 "安装oech-server失败"
|
||||
fi
|
||||
|
||||
# 检查oech-server命令是否存在
|
||||
LOG_INFO "检查oech-server命令是否存在"
|
||||
command -v oech-server > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "oech-server命令不存在"
|
||||
|
||||
# 检查oech-server命令是否支持restart参数
|
||||
LOG_INFO "检查oech-server命令是否支持restart参数"
|
||||
oech-server --help 2>&1 | grep -q "restart"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "oech-server命令不支持restart参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 启动oech-server服务(如果未运行)
|
||||
LOG_INFO "检查oech-server服务状态"
|
||||
systemctl is-active oech-server > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_INFO "启动oech-server服务"
|
||||
systemctl start oech-server
|
||||
CHECK_RESULT $? 0 0 "启动oech-server服务失败"
|
||||
fi
|
||||
|
||||
# 获取服务启动后的进程ID
|
||||
LOG_INFO "获取oech-server服务重启前的进程ID"
|
||||
OLD_PID=$(systemctl show oech-server --property=MainPID --value)
|
||||
LOG_INFO "重启前进程ID: $OLD_PID"
|
||||
|
||||
# 执行服务重启
|
||||
LOG_INFO "执行oech-server服务重启"
|
||||
systemctl restart oech-server
|
||||
CHECK_RESULT $? 0 0 "重启oech-server服务失败"
|
||||
|
||||
# 等待服务完全重启
|
||||
LOG_INFO "等待服务重启完成"
|
||||
sleep 5
|
||||
|
||||
# 检查服务状态
|
||||
LOG_INFO "检查重启后oech-server服务状态"
|
||||
systemctl is-active oech-server > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "重启后oech-server服务未运行"
|
||||
|
||||
# 获取服务重启后的进程ID
|
||||
LOG_INFO "获取oech-server服务重启后的进程ID"
|
||||
NEW_PID=$(systemctl show oech-server --property=MainPID --value)
|
||||
LOG_INFO "重启后进程ID: $NEW_PID"
|
||||
|
||||
# 验证进程ID已改变(说明服务确实重启了)
|
||||
LOG_INFO "验证服务已重启(进程ID已改变)"
|
||||
if [ "$OLD_PID" != "$NEW_PID" ] && [ "$NEW_PID" != "0" ]; then
|
||||
LOG_INFO "服务重启成功,进程ID已更新"
|
||||
else
|
||||
LOG_ERROR "服务重启失败,进程ID未改变或无效"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理环境
|
||||
LOG_INFO "清理测试环境"
|
||||
if [ $INSTALLED_BEFORE_TEST -eq 0 ]; then
|
||||
LOG_INFO "卸载oech-server软件包"
|
||||
dnf remove -y oech-server
|
||||
CHECK_RESULT $? 0 0 "卸载oech-server失败"
|
||||
else
|
||||
LOG_INFO "测试前已安装oech-server,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "oech-server服务重启功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,68 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-28
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 oech-server 的启动功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试 oech-server 的启动功能"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查 oech-server 软件包是否已安装"
|
||||
if rpm -q oech-server &>/dev/null; then
|
||||
LOG_INFO "oech-server 已安装,跳过安装步骤"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "oech-server 未安装,准备安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否存在 oech-server 软件包
|
||||
LOG_INFO "检查 yum 源中是否存在 oech-server 软件包"
|
||||
if ! dnf list available oech-server &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 oech-server 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装软件包(如果未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装 oech-server"
|
||||
dnf install -y oech-server
|
||||
CHECK_RESULT $? 0 0 "安装 oech-server 失败"
|
||||
fi
|
||||
|
||||
# 测试启动功能
|
||||
LOG_INFO "测试 oech-server 的启动功能"
|
||||
systemctl start oech-server
|
||||
CHECK_RESULT $? 0 0 "启动 oech-server 失败"
|
||||
|
||||
LOG_INFO "验证 oech-server 是否成功启动"
|
||||
systemctl is-active oech-server | grep -q "active"
|
||||
CHECK_RESULT $? 0 0 "oech-server 未成功启动"
|
||||
|
||||
# 清理环境(如果之前未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载 oech-server 以恢复环境"
|
||||
dnf remove -y oech-server
|
||||
CHECK_RESULT $? 0 0 卸载 o ech- server 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-02-28
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试oech-server服务状态查询功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试oech-server服务状态查询功能"
|
||||
|
||||
# 检查是否已安装oech-server软件包
|
||||
LOG_INFO "检查是否已安装oech-server软件包"
|
||||
if rpm -q oech-server &> /dev/null; then
|
||||
LOG_INFO "oech-server已安装,记录当前状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "oech-server未安装,将在测试过程中安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在oech-server软件包
|
||||
LOG_INFO "检查yum源中是否存在oech-server软件包"
|
||||
if ! dnf list available oech-server &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到oech-server软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装oech-server软件包"
|
||||
dnf install -y oech-server
|
||||
CHECK_RESULT $? 0 0 "安装oech-server失败"
|
||||
fi
|
||||
|
||||
# 检查oech-server服务状态查询命令是否支持
|
||||
LOG_INFO "检查oech-server服务状态查询命令参数"
|
||||
if ! oech-server status --help &> /dev/null; then
|
||||
LOG_ERROR "oech-server命令不支持状态查询参数"
|
||||
# 如果是未安装的情况,需要卸载已安装的软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "清理环境:卸载oech-server软件包"
|
||||
dnf remove -y oech-server
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试服务状态查询功能
|
||||
LOG_INFO "测试oech-server服务状态查询功能"
|
||||
oech-server status
|
||||
CHECK_RESULT $? 0 0 "oech-server服务状态查询失败"
|
||||
|
||||
# 如果测试前未安装,则清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "清理环境:卸载oech-server软件包"
|
||||
dnf remove -y oech-server
|
||||
CHECK_RESULT $? 0 0 "卸载oech-server失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "oech-server服务状态查询功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,90 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-02-28
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试软件包oec-hardware-server的卸载功能
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查当前是否已安装oec-hardware-server
|
||||
LOG_INFO "检查是否已安装oec-hardware-server软件包"
|
||||
rpm -q oec-hardware-server > /dev/null 2>&1
|
||||
PACKAGE_INSTALLED=$?
|
||||
|
||||
# 如果未安装,则先安装软件包
|
||||
if [ $PACKAGE_INSTALLED -ne 0 ]; then
|
||||
LOG_INFO "软件包未安装,开始安装oec-hardware-server"
|
||||
|
||||
# 检查yum源中是否有该软件包
|
||||
LOG_INFO "检查yum源中是否存在oec-hardware-server软件包"
|
||||
dnf list available oec-hardware-server > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "yum源中不存在oec-hardware-server软件包"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在oec-hardware-server软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装软件包
|
||||
LOG_INFO "开始安装oec-hardware-server软件包"
|
||||
dnf install -y oec-hardware-server
|
||||
CHECK_RESULT $? 0 0 "安装oec-hardware-server软件包失败"
|
||||
else
|
||||
LOG_INFO "oec-hardware-server软件包已安装"
|
||||
fi
|
||||
|
||||
# 验证软件包已安装
|
||||
LOG_INFO "验证oec-hardware-server软件包已安装"
|
||||
rpm -q oec-hardware-server > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "oec-hardware-server软件包未正确安装"
|
||||
|
||||
# 检查卸载命令参数是否支持
|
||||
LOG_INFO "检查dnf remove命令参数支持"
|
||||
dnf remove --help | grep -q "\-\-nodeps"
|
||||
CHECK_RESULT $? 0 0 "dnf remove命令不支持--nodeps参数"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "dnf remove命令参数不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行卸载操作
|
||||
LOG_INFO "开始卸载oec-hardware-server软件包"
|
||||
dnf remove -y oec-hardware-server
|
||||
CHECK_RESULT $? 0 0 "卸载oec-hardware-server软件包失败"
|
||||
|
||||
# 验证软件包已卸载
|
||||
LOG_INFO "验证oec-hardware-server软件包已卸载"
|
||||
rpm -q oec-hardware-server > /dev/null 2>&1
|
||||
CHECK_RESULT $? 1 0 "oec-hardware-server软件包未正确卸载"
|
||||
|
||||
# 环境恢复:如果最初未安装,则保持未安装状态;如果最初已安装,则重新安装
|
||||
if [ $PACKAGE_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "恢复环境:重新安装oec-hardware-server软件包"
|
||||
dnf install -y oec-hardware-server
|
||||
CHECK_RESULT $? 0 0 "重新安装oec-hardware-server软件包失败"
|
||||
|
||||
# 验证恢复安装成功
|
||||
LOG_INFO "验证环境恢复成功"
|
||||
rpm -q oec-hardware-server > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "环境恢复失败,oec-hardware-server软件包未安装"
|
||||
else
|
||||
LOG_INFO "环境恢复:保持oec-hardware-server软件包未安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "oec-hardware-server卸载功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,63 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-28
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 oech-server 的 -h 参数,显示帮助信息
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
LOG_INFO "开始测试 oech-server 的 -h 参数,显示帮助信息"
|
||||
|
||||
# 检查是否已安装 oech-server
|
||||
if ! dnf list installed oech-server &>/dev/null; then
|
||||
LOG_INFO "环境未安装 oech-server,将进行安装并测试"
|
||||
INSTALLED=false
|
||||
else
|
||||
LOG_INFO "环境已安装 oech-server,跳过安装步骤"
|
||||
INSTALLED=true
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有 oech-server 软件包
|
||||
if ! dnf list available oech-server &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 oech-server 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在安装 oech-server"
|
||||
dnf install -y oech-server
|
||||
CHECK_RESULT $? 0 0 "安装 oech-server 失败"
|
||||
fi
|
||||
|
||||
# 测试 -h 参数
|
||||
LOG_INFO "测试 oech-server -h 参数"
|
||||
oech-server -h &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "oech-server -h 参数测试失败"
|
||||
|
||||
# 如果之前未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在卸载 oech-server"
|
||||
dnf remove -y oech-server
|
||||
CHECK_RESULT $? 0 0 "卸载 oech-server 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,63 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-28
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试 oech-server 的 --version 参数,显示版本信息
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试 oech-server 的 --version 参数,显示版本信息
|
||||
|
||||
LOG_INFO "开始测试 oech-server 的 --version 参数"
|
||||
|
||||
# 检查是否已安装 oech-server
|
||||
if ! dnf list installed oech-server &>/dev/null; then
|
||||
LOG_INFO "oech-server 未安装,将进行安装"
|
||||
# 检查 yum 源中是否有 oech-server
|
||||
if ! dnf list available oech-server &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 oech-server 软件包"
|
||||
exit 255
|
||||
fi
|
||||
# 安装 oech-server
|
||||
dnf install -y oech-server
|
||||
CHECK_RESULT $? 0 0 "安装 oech-server 失败"
|
||||
else
|
||||
LOG_INFO "oech-server 已安装,跳过安装步骤"
|
||||
fi
|
||||
|
||||
# 测试 --version 参数
|
||||
LOG_INFO "测试 oech-server --version 命令"
|
||||
oech-server --version &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "oech-server --version 命令执行失败"
|
||||
|
||||
# 获取版本信息并打印
|
||||
version=$(oech-server --version | head -n1)
|
||||
LOG_INFO "oech-server 版本信息: $version"
|
||||
|
||||
# 恢复环境
|
||||
if ! dnf list installed oech-server &>/dev/null; then
|
||||
LOG_INFO "卸载 oech-server"
|
||||
dnf remove -y oech-server
|
||||
CHECK_RESULT $? 0 0 "卸载 oech-server 失败"
|
||||
else
|
||||
LOG_INFO "oech-server 已安装,无需卸载"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,64 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-09-24
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic commands
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装libwsman-devel软件包
|
||||
LOG_INFO "检查是否已安装libwsman-devel软件包"
|
||||
rpm -q libwsman-devel > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "libwsman-devel已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "libwsman-devel未安装,脚本结束时将卸载软件包"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有libwsman-devel软件包
|
||||
LOG_INFO "检查yum源中是否有libwsman-devel软件包"
|
||||
dnf list available libwsman-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中没有libwsman-devel软件包"
|
||||
|
||||
# 安装libwsman-devel软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "安装libwsman-devel软件包"
|
||||
dnf install -y libwsman-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "安装libwsman-devel软件包失败"
|
||||
fi
|
||||
|
||||
# 测试基本命令
|
||||
LOG_INFO "测试基本命令"
|
||||
TEST_COMMAND="wsman"
|
||||
$TEST_COMMAND --help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "命令$TEST_COMMAND不支持或参数错误"
|
||||
|
||||
# 清理环境
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "卸载libwsman-devel软件包"
|
||||
dnf remove -y libwsman-devel > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 $? "卸载libwsman-devel软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,66 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-28
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test accessing package help documentation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "测试开始:测试访问包帮助文档"
|
||||
|
||||
# 检查是否已安装python3-kaitaistruct-help包
|
||||
LOG_INFO "步骤1:检查python3-kaitaistruct-help包是否已安装"
|
||||
if dnf list installed python3-kaitaistruct-help &> /dev/null; then
|
||||
LOG_INFO "python3-kaitaistruct-help包已安装,测试后将保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "python3-kaitaistruct-help包未安装,将在测试后卸载"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有python3-kaitaistruct-help包
|
||||
LOG_INFO "步骤2:检查yum源中是否有python3-kaitaistruct-help包"
|
||||
if ! dnf list available python3-kaitaistruct-help &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到python3-kaitaistruct-help包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装python3-kaitaistruct-help包
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "步骤3:安装python3-kaitaistruct-help包"
|
||||
dnf install -y python3-kaitaistruct-help
|
||||
CHECK_RESULT $? 0 0 "安装python3-kaitaistruct-help包失败"
|
||||
fi
|
||||
|
||||
# 测试访问帮助文档
|
||||
LOG_INFO "步骤4:测试访问python3-kaitaistruct-help包的帮助文档"
|
||||
if ! python3-kaitaistruct-help --help &> /dev/null; then
|
||||
LOG_ERROR "无法访问python3-kaitaistruct-help包的帮助文档"
|
||||
CHECK_RESULT $? 0 0 "帮助文档访问失败"
|
||||
fi
|
||||
|
||||
# 清理环境:如果之前未安装,则卸载python3-kaitaistruct-help包
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "步骤5:清理环境,卸载python3-kaitaistruct-help包"
|
||||
dnf remove -y python3-kaitaistruct-help
|
||||
CHECK_RESULT $? 0 0 "卸载python3-kaitaistruct-help包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试结束:访问包帮助文档测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,67 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-28
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package installation via pip
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:通过pip安装python-kaitaistruct-help-function软件包"
|
||||
LOG_INFO "步骤1: 检查yum源中是否存在python3-pip软件包"
|
||||
dnf list python3-pip > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到python3-pip软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤2: 检查环境中是否已安装python3-pip"
|
||||
pip3 --version > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "环境中已安装python3-pip,跳过安装步骤"
|
||||
INSTALLED="true"
|
||||
else
|
||||
LOG_INFO "环境中未安装python3-pip,开始安装"
|
||||
dnf install -y python3-pip
|
||||
CHECK_RESULT $? 0 0 "安装python3-pip失败"
|
||||
INSTALLED="false"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤3: 通过pip安装python-kaitaistruct-help-function"
|
||||
pip3 install python-kaitaistruct-help-function
|
||||
CHECK_RESULT $? 0 0 "通过pip安装python-kaitaistruct-help-function失败"
|
||||
|
||||
LOG_INFO "步骤4: 验证python-kaitaistruct-help-function是否安装成功"
|
||||
python3 -c "import kaitaistruct" > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "python-kaitaistruct-help-function安装后验证失败"
|
||||
|
||||
LOG_INFO "步骤5: 清理环境,恢复原始状态"
|
||||
if [ "$INSTALLED" == "false" ]; then
|
||||
LOG_INFO "卸载通过pip安装的python-kaitaistruct-help-function"
|
||||
pip3 uninstall -y python-kaitaistruct-help-function
|
||||
CHECK_RESULT $? 0 0 "卸载python-kaitaistruct-help-function失败"
|
||||
|
||||
LOG_INFO "卸载python3-pip软件包"
|
||||
dnf remove -y python3-pip
|
||||
CHECK_RESULT $? 0 0 "卸载python3-pip失败"
|
||||
else
|
||||
LOG_INFO "环境中原本已安装python3-pip,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:通过pip安装python-kaitaistruct-help-function软件包测试通过"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,146 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-28
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package removal via pip
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试python-kaitaistruct-help-function的卸载功能
|
||||
LOG_INFO "开始测试python-kaitaistruct-help-function的卸载功能"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="python-kaitaistruct-help-function"
|
||||
|
||||
# 步骤1: 检查软件包是否已在yum源中
|
||||
LOG_INFO "步骤1: 检查软件包是否在yum源中"
|
||||
dnf list available $PACKAGE_NAME &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 $PACKAGE_NAME 不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
CHECK_RESULT $? 0 0 "检查软件包是否在yum源中失败"
|
||||
|
||||
# 步骤2: 检查当前是否已安装该软件包
|
||||
LOG_INFO "步骤2: 检查当前是否已安装软件包"
|
||||
IS_INSTALLED=0
|
||||
rpm -q $PACKAGE_NAME &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 已安装"
|
||||
IS_INSTALLED=1
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 未安装"
|
||||
IS_INSTALLED=0
|
||||
fi
|
||||
|
||||
# 步骤3: 如果未安装,则安装软件包
|
||||
if [ $IS_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤3: 安装软件包 $PACKAGE_NAME"
|
||||
dnf install -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
fi
|
||||
|
||||
# 步骤4: 验证软件包安装成功
|
||||
LOG_INFO "步骤4: 验证软件包安装成功"
|
||||
rpm -q $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "验证软件包安装失败"
|
||||
|
||||
# 步骤5: 检查pip命令是否可用
|
||||
LOG_INFO "步骤5: 检查pip命令是否可用"
|
||||
pip --version &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "pip命令不可用"
|
||||
exit 255
|
||||
fi
|
||||
CHECK_RESULT $? 0 0 "检查pip命令失败"
|
||||
|
||||
# 步骤6: 检查pip uninstall命令是否支持
|
||||
LOG_INFO "步骤6: 检查pip uninstall命令是否支持"
|
||||
pip uninstall --help | grep -q "uninstall"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "pip uninstall命令不支持"
|
||||
exit 255
|
||||
fi
|
||||
CHECK_RESULT $? 0 0 "检查pip uninstall命令失败"
|
||||
|
||||
# 步骤7: 检查python-kaitaistruct-help-function是否可通过pip卸载
|
||||
LOG_INFO "步骤7: 检查python-kaitaistruct-help-function是否可通过pip卸载"
|
||||
pip show python-kaitaistruct-help-function &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_INFO "python-kaitaistruct-help-function未通过pip安装,跳过pip卸载测试"
|
||||
PIP_UNINSTALL_TEST=0
|
||||
else
|
||||
PIP_UNINSTALL_TEST=1
|
||||
LOG_INFO "python-kaitaistruct-help-function已通过pip安装,将进行pip卸载测试"
|
||||
fi
|
||||
|
||||
# 步骤8: 测试通过pip卸载软件包(如果适用)
|
||||
if [ $PIP_UNINSTALL_TEST -eq 1 ]; then
|
||||
LOG_INFO "步骤8: 测试通过pip卸载python-kaitaistruct-help-function"
|
||||
pip uninstall -y python-kaitaistruct-help-function
|
||||
CHECK_RESULT $? 0 0 "通过pip卸载软件包失败"
|
||||
|
||||
# 验证pip卸载成功
|
||||
LOG_INFO "验证pip卸载成功"
|
||||
pip show python-kaitaistruct-help-function &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "pip卸载后软件包仍然存在"
|
||||
exit 1
|
||||
fi
|
||||
CHECK_RESULT $? 1 0 "验证pip卸载失败"
|
||||
else
|
||||
LOG_INFO "步骤8: 跳过pip卸载测试(软件包未通过pip安装)"
|
||||
fi
|
||||
|
||||
# 步骤9: 环境清理
|
||||
LOG_INFO "步骤9: 环境清理"
|
||||
if [ $IS_INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "清理: 卸载测试安装的软件包"
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
|
||||
# 验证软件包已卸载
|
||||
rpm -q $PACKAGE_NAME &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "软件包卸载后仍然存在"
|
||||
exit 1
|
||||
fi
|
||||
CHECK_RESULT $? 1 0 "验证软件包卸载失败"
|
||||
else
|
||||
LOG_INFO "清理: 保持原有安装状态"
|
||||
fi
|
||||
|
||||
# 步骤10: 最终验证
|
||||
LOG_INFO "步骤10: 最终环境验证"
|
||||
if [ $IS_INSTALLED -eq 1 ]; then
|
||||
rpm -q $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "最终验证失败:软件包应保持安装状态"
|
||||
LOG_INFO "测试完成:环境已恢复到原始安装状态"
|
||||
else
|
||||
rpm -q $PACKAGE_NAME &>/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "最终验证失败:软件包不应存在"
|
||||
exit 1
|
||||
fi
|
||||
CHECK_RESULT $? 1 0 "最终验证失败:软件包不应存在"
|
||||
LOG_INFO "测试完成:环境已清理,无残留软件包"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,72 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-28
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test retrieving package version info
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "测试开始:Test retrieving package version info"
|
||||
|
||||
# 步骤1:检查yum源中是否存在python-kaitaistruct-help软件包
|
||||
LOG_INFO "步骤1:检查yum源中是否存在python-kaitaistruct-help软件包"
|
||||
dnf list available python-kaitaistruct-help &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在python-kaitaistruct-help软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤2:检查系统是否已安装python-kaitaistruct-help
|
||||
LOG_INFO "步骤2:检查系统是否已安装python-kaitaistruct-help"
|
||||
if rpm -q python-kaitaistruct-help &>/dev/null; then
|
||||
LOG_INFO "python-kaitaistruct-help已安装,标记为已存在"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "python-kaitaistruct-help未安装,标记为未安装"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 步骤3:如果未安装,则安装软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤3:安装python-kaitaistruct-help软件包"
|
||||
dnf install -y python-kaitaistruct-help
|
||||
CHECK_RESULT $? 0 0 "安装python-kaitaistruct-help失败"
|
||||
fi
|
||||
|
||||
# 步骤4:检查软件包版本信息
|
||||
LOG_INFO "步骤4:检查python-kaitaistruct-help软件包版本信息"
|
||||
rpm -q python-kaitaistruct-help --queryformat "%{VERSION}-%{RELEASE}\n"
|
||||
CHECK_RESULT $? 0 0 "获取python-kaitaistruct-help版本信息失败"
|
||||
|
||||
# 步骤5:检查软件包帮助信息
|
||||
LOG_INFO "步骤5:检查python-kaitaistruct-help软件包帮助信息"
|
||||
python-kaitaistruct-help --help &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "执行python-kaitaistruct-help --help失败"
|
||||
|
||||
# 步骤6:清理环境,如果之前未安装则卸载软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "步骤6:清理环境,卸载python-kaitaistruct-help软件包"
|
||||
dnf remove -y python-kaitaistruct-help
|
||||
CHECK_RESULT $? 0 0 "卸载python-kaitaistruct-help失败"
|
||||
else
|
||||
LOG_INFO "步骤6:保持python-kaitaistruct-help安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试结束:Test retrieving package version info"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-12-10
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic functionality of python3-mkdocs-autorefs
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查python3-mkdocs-autorefs是否已安装
|
||||
LOG_INFO "检查python3-mkdocs-autorefs是否已安装"
|
||||
if dnf list installed python3-mkdocs-autorefs &>/dev/null; then
|
||||
LOG_INFO "python3-mkdocs-autorefs已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "python3-mkdocs-autorefs未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在python3-mkdocs-autorefs
|
||||
LOG_INFO "检查yum源中是否存在python3-mkdocs-autorefs"
|
||||
if ! dnf list available python3-mkdocs-autorefs &>/dev/null; then
|
||||
LOG_ERROR "yum源中不存在python3-mkdocs-autorefs,退出脚本"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装python3-mkdocs-autorefs
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装python3-mkdocs-autorefs"
|
||||
dnf install -y python3-mkdocs-autorefs
|
||||
CHECK_RESULT $? 0 0 "安装python3-mkdocs-autorefs失败"
|
||||
fi
|
||||
|
||||
# 测试基本功能
|
||||
LOG_INFO "测试python3-mkdocs-autorefs的基本功能"
|
||||
python3 -m mkdocs_autorefs --help
|
||||
CHECK_RESULT $? 0 0 "执行python3 -m mkdocs_autorefs --help失败"
|
||||
|
||||
# 检查参数是否存在或不支持
|
||||
LOG_INFO "检查不支持的参数"
|
||||
if python3 -m mkdocs_autorefs --invalid-arg &>/dev/null; then
|
||||
LOG_ERROR "不支持--invalid-arg参数,退出脚本"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载python3-mkdocs-autorefs"
|
||||
dnf remove -y python3-mkdocs-autorefs
|
||||
CHECK_RESULT $? 0 0 "卸载python3-mkdocs-autorefs失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,88 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-09
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试使用qatlib-devel提供的头文件和库文件进行简单的程序编译,验证开发环境可用性。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:验证qatlib-devel开发环境可用性"
|
||||
|
||||
LOG_INFO "步骤1:检查yum源中是否存在qatlib-devel软件包"
|
||||
dnf list available qatlib-devel 2>/dev/null | grep -q qatlib-devel
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到qatlib-devel软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum源中存在qatlib-devel软件包"
|
||||
|
||||
LOG_INFO "步骤2:检查当前环境中是否已安装qatlib-devel"
|
||||
rpm -q qatlib-devel > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "检测到qatlib-devel已安装,标记为保持安装状态"
|
||||
INSTALLED_BEFORE="yes"
|
||||
else
|
||||
LOG_INFO "检测到qatlib-devel未安装,标记为测试安装"
|
||||
INSTALLED_BEFORE="no"
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED_BEFORE" = "no" ]; then
|
||||
LOG_INFO "步骤3:安装qatlib-devel软件包"
|
||||
dnf install -y qatlib-devel
|
||||
CHECK_RESULT $? 0 0 "安装qatlib-devel失败"
|
||||
LOG_INFO "qatlib-devel安装成功"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4:创建测试C程序源码文件"
|
||||
cat > /tmp/test_qat_compile.c << "EOF"
|
||||
#include <stdio.h>
|
||||
#include <qatlib.h>
|
||||
|
||||
int main() {
|
||||
printf("QAT library test program compiled successfully.\n");
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "创建测试源码文件失败"
|
||||
|
||||
LOG_INFO "步骤5:编译测试程序,链接qatlib库"
|
||||
gcc -o /tmp/test_qat_program /tmp/test_qat_compile.c -lqat
|
||||
CHECK_RESULT $? 0 0 "编译测试程序失败,请检查qatlib-devel开发环境"
|
||||
LOG_INFO "测试程序编译成功"
|
||||
|
||||
LOG_INFO "步骤6:运行测试程序"
|
||||
/tmp/test_qat_program
|
||||
CHECK_RESULT $? 0 0 "运行测试程序失败"
|
||||
LOG_INFO "测试程序运行成功,输出符合预期"
|
||||
|
||||
LOG_INFO "步骤7:清理临时文件"
|
||||
rm -f /tmp/test_qat_compile.c /tmp/test_qat_program
|
||||
CHECK_RESULT $? 0 0 "清理临时文件失败"
|
||||
|
||||
if [ "$INSTALLED_BEFORE" = "no" ]; then
|
||||
LOG_INFO "步骤8:卸载测试安装的qatlib-devel软件包"
|
||||
dnf remove -y qatlib-devel
|
||||
CHECK_RESULT $? 0 0 "卸载qatlib-devel失败"
|
||||
LOG_INFO "qatlib-devel卸载成功"
|
||||
else
|
||||
LOG_INFO "步骤8:测试前已安装qatlib-devel,保持安装状态,无需卸载"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:qatlib-devel开发环境验证通过"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,102 +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-09
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : 测试验证qatlib-devel软件包是否已成功安装,并检查其关键开发文件(如头文件和库文件)是否存在。
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义变量
|
||||
PACKAGE_NAME="qatlib-devel"
|
||||
LOG_FILE="/tmp/test_qatlib-devel.log"
|
||||
|
||||
# 日志函数(直接使用)
|
||||
LOG_INFO() {
|
||||
echo "[INFO] $1" | tee -a $LOG_FILE
|
||||
}
|
||||
|
||||
LOG_ERROR() {
|
||||
echo "[ERROR] $1" | tee -a $LOG_FILE
|
||||
}
|
||||
|
||||
# 清理函数
|
||||
cleanup() {
|
||||
LOG_INFO "开始清理环境"
|
||||
if [ "$NEED_UNINSTALL" = "yes" ]; then
|
||||
LOG_INFO "卸载 $PACKAGE_NAME"
|
||||
dnf remove -y $PACKAGE_NAME 2>/dev/null
|
||||
CHECK_RESULT $? 0 0 "卸载失败"
|
||||
fi
|
||||
LOG_INFO "清理完成"
|
||||
}
|
||||
|
||||
# 捕获退出信号
|
||||
trap cleanup EXIT
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
LOG_INFO "检查yum源中是否存在 $PACKAGE_NAME"
|
||||
if ! dnf list available $PACKAGE_NAME &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到 $PACKAGE_NAME"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装
|
||||
LOG_INFO "检查 $PACKAGE_NAME 是否已安装"
|
||||
if rpm -q $PACKAGE_NAME &>/dev/null; then
|
||||
LOG_INFO "$PACKAGE_NAME 已安装,保持安装状态"
|
||||
NEED_UNINSTALL="no"
|
||||
else
|
||||
LOG_INFO "$PACKAGE_NAME 未安装,开始安装"
|
||||
NEED_UNINSTALL="yes"
|
||||
dnf install -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "安装失败"
|
||||
fi
|
||||
|
||||
# 检查关键开发文件
|
||||
LOG_INFO "检查头文件和库文件"
|
||||
HEADER_FILES="/usr/include/qatlib/*.h"
|
||||
LIB_FILES="/usr/lib64/libqat.* /usr/lib/libqat.*"
|
||||
|
||||
# 检查头文件
|
||||
if ls $HEADER_FILES &>/dev/null; then
|
||||
LOG_INFO "头文件存在: $(ls $HEADER_FILES | wc -l) 个文件"
|
||||
else
|
||||
LOG_ERROR "未找到头文件"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 检查库文件
|
||||
if ls $LIB_FILES &>/dev/null; then
|
||||
LOG_INFO "库文件存在: $(ls $LIB_FILES | wc -l) 个文件"
|
||||
else
|
||||
LOG_ERROR "未找到库文件"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 验证开发工具链
|
||||
LOG_INFO "验证开发工具链"
|
||||
if command -v pkg-config &>/dev/null; then
|
||||
pkg-config --modversion qatlib
|
||||
CHECK_RESULT $? 0 0 "pkg-config检查失败"
|
||||
else
|
||||
LOG_INFO "pkg-config未安装,跳过检查"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:$PACKAGE_NAME 安装验证成功"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,74 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-06
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test execution functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test execution functionality"
|
||||
|
||||
# 检查yum源中是否有rubygem-docile-help软件包
|
||||
LOG_INFO "检查yum源中是否有rubygem-docile-help软件包"
|
||||
dnf list available rubygem-docile-help > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到rubygem-docile-help软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装rubygem-docile-help
|
||||
LOG_INFO "检查是否已安装rubygem-docile-help"
|
||||
rpm -q rubygem-docile-help > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
installed=true
|
||||
LOG_INFO "rubygem-docile-help已安装"
|
||||
else
|
||||
installed=false
|
||||
LOG_INFO "rubygem-docile-help未安装,将进行安装"
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装rubygem-docile-help"
|
||||
dnf install -y rubygem-docile-help
|
||||
CHECK_RESULT $? 0 0 "安装rubygem-docile-help失败"
|
||||
fi
|
||||
|
||||
# 测试执行功能
|
||||
LOG_INFO "测试执行功能"
|
||||
docile-help --version > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "执行docile-help --version失败"
|
||||
|
||||
# 检查不支持的参数
|
||||
LOG_INFO "检查不支持的参数"
|
||||
docile-help --invalid-arg > /dev/null 2>&1
|
||||
if [ $? -ne 255 ]; then
|
||||
LOG_ERROR "不支持的参数未返回退出码255"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 恢复环境
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载rubygem-docile-help"
|
||||
dnf remove -y rubygem-docile-help
|
||||
CHECK_RESULT $? 0 0 "卸载rubygem-docile-help失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test execution functionality"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-12-06
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test loading functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test loading functionality"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查 rubygem-docile 是否已安装"
|
||||
if dnf list installed rubygem-docile &>/dev/null; then
|
||||
LOG_INFO "rubygem-docile 已安装,脚本结束后将保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "rubygem-docile 未安装,将在测试后卸载"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有该软件包
|
||||
LOG_INFO "检查yum源中是否有 rubygem-docile"
|
||||
if ! dnf list available rubygem-docile &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到 rubygem-docile"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装软件包
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "安装 rubygem-docile"
|
||||
dnf install -y rubygem-docile
|
||||
CHECK_RESULT $? 0 0 "安装 rubygem-docile 失败"
|
||||
fi
|
||||
|
||||
# 测试加载功能
|
||||
LOG_INFO "测试 rubygem-docile 的加载功能"
|
||||
output=$(ruby -e "require "docile"; puts Docile")
|
||||
CHECK_RESULT $? 0 0 "加载 Docile 失败"
|
||||
LOG_INFO "加载功能测试通过,输出:$output"
|
||||
|
||||
# 清理环境
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载 rubygem-docile"
|
||||
dnf remove -y rubygem-docile
|
||||
CHECK_RESULT $? 0 0 "卸载 rubygem-docile 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test loading functionality"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,64 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-06
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test parsing functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test parsing functionality"
|
||||
|
||||
# 检查是否已安装rubygem-docile-help软件包
|
||||
LOG_INFO "检查是否已安装rubygem-docile-help"
|
||||
if dnf list installed rubygem-docile-help &>/dev/null; then
|
||||
LOG_INFO "rubygem-docile-help已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "rubygem-docile-help未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有rubygem-docile-help软件包
|
||||
LOG_INFO "检查yum源中是否有rubygem-docile-help"
|
||||
if ! dnf list available rubygem-docile-help &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到rubygem-docile-help软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装rubygem-docile-help"
|
||||
dnf install -y rubygem-docile-help
|
||||
CHECK_RESULT $? 0 0 "安装rubygem-docile-help失败"
|
||||
fi
|
||||
|
||||
# 测试解析功能
|
||||
LOG_INFO "测试解析功能"
|
||||
docile-help parse --help &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "解析功能测试失败"
|
||||
|
||||
# 清理环境
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载rubygem-docile-help"
|
||||
dnf remove -y rubygem-docile-help
|
||||
CHECK_RESULT $? 0 0 "卸载rubygem-docile-help失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test parsing functionality"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,64 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-12-13
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test the installation of the package
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试软件包安装功能"
|
||||
|
||||
# 检查软件包是否已安装
|
||||
LOG_INFO "检查软件包 rubygem-rspec-support-doc 是否已安装"
|
||||
if dnf list installed rubygem-rspec-support-doc &>/dev/null; then
|
||||
LOG_INFO "软件包 rubygem-rspec-support-doc 已安装,测试结束后将保持安装状态"
|
||||
already_installed=true
|
||||
else
|
||||
LOG_INFO "软件包 rubygem-rspec-support-doc 未安装,将在测试结束后卸载"
|
||||
already_installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在该软件包
|
||||
LOG_INFO "检查yum源中是否存在 rubygem-rspec-support-doc"
|
||||
if ! dnf list available rubygem-rspec-support-doc &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到 rubygem-rspec-support-doc 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装软件包
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "开始安装 rubygem-rspec-support-doc"
|
||||
dnf install -y rubygem-rspec-support-doc
|
||||
CHECK_RESULT $? 0 0 "安装 rubygem-rspec-support-doc 失败"
|
||||
fi
|
||||
|
||||
# 验证软件包功能(示例命令)
|
||||
LOG_INFO "验证 rubygem-rspec-support-doc 功能"
|
||||
some_command_related_to_rubygem
|
||||
CHECK_RESULT $? 0 0 "验证 rubygem-rspec-support-doc 功能失败"
|
||||
|
||||
# 清理环境(如果测试前未安装)
|
||||
if [ "$already_installed" = false ]; then
|
||||
LOG_INFO "卸载 rubygem-rspec-support-doc"
|
||||
dnf remove -y rubygem-rspec-support-doc
|
||||
CHECK_RESULT $? 0 0 "卸载 rubygem-rspec-support-doc 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-27
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test installation of texlive-cntperchap
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test installation of texlive-cntperchap"
|
||||
|
||||
# 检查是否已安装texlive-cntperchap
|
||||
LOG_INFO "检查是否已安装texlive-cntperchap"
|
||||
if dnf list installed texlive-cntperchap &>/dev/null; then
|
||||
LOG_INFO "texlive-cntperchap已安装,测试结束将保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "texlive-cntperchap未安装,将在测试结束后卸载"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-cntperchap
|
||||
LOG_INFO "检查yum源中是否有texlive-cntperchap"
|
||||
if ! dnf list available texlive-cntperchap &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-cntperchap,退出测试"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装texlive-cntperchap
|
||||
LOG_INFO "安装texlive-cntperchap"
|
||||
dnf install -y texlive-cntperchap
|
||||
CHECK_RESULT $? 0 0 "安装texlive-cntperchap失败"
|
||||
|
||||
# 验证安装是否成功
|
||||
LOG_INFO "验证texlive-cntperchap是否成功安装"
|
||||
if ! dnf list installed texlive-cntperchap &>/dev/null; then
|
||||
LOG_ERROR "texlive-cntperchap安装后未找到,退出测试"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 测试命令参数
|
||||
LOG_INFO "测试命令参数"
|
||||
if ! texlive-cntperchap --help &>/dev/null; then
|
||||
LOG_ERROR "texlive-cntperchap命令参数不支持,退出测试"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 清理环境(如果测试前未安装)
|
||||
if [ "$installed" = false ]; then
|
||||
LOG_INFO "卸载texlive-cntperchap以恢复环境"
|
||||
dnf remove -y texlive-cntperchap
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-cntperchap失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test installation of texlive-cntperchap"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,70 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test listing installed files
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义日志函数(虽然题目说不需要定义,但为了脚本能正常运行,这里定义空函数)
|
||||
LOG_INFO() { echo "[INFO] $*"; }
|
||||
LOG_ERROR() { echo "[ERROR] $*"; }
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="texlive-electrum"
|
||||
|
||||
# 步骤1:检查yum源中是否存在指定的软件包
|
||||
LOG_INFO "步骤1:检查yum源中是否存在指定的软件包"
|
||||
dnf list available "$PACKAGE_NAME" &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到软件包 $PACKAGE_NAME"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤2:检查是否已经安装该软件包
|
||||
LOG_INFO "步骤2:检查是否已经安装该软件包"
|
||||
if rpm -q "$PACKAGE_NAME" &>/dev/null; then
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 已经安装"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 未安装"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 步骤3:如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "步骤3:安装软件包 $PACKAGE_NAME"
|
||||
dnf install -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "安装软件包失败"
|
||||
fi
|
||||
|
||||
# 步骤4:测试列出已安装的文件
|
||||
LOG_INFO "步骤4:测试列出已安装的文件"
|
||||
rpm -ql "$PACKAGE_NAME" &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "列出已安装文件失败"
|
||||
|
||||
# 步骤5:如果之前未安装,则卸载软件包以恢复环境
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "步骤5:卸载软件包 $PACKAGE_NAME 以恢复环境"
|
||||
dnf remove -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "卸载软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,70 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test availability of fonts
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试字体可用性"
|
||||
|
||||
# 检查环境是否已安装 texlive-electrum-function-fonts 包
|
||||
LOG_INFO "检查 texlive-electrum-function-fonts 是否已安装"
|
||||
if dnf list installed texlive-electrum-function-fonts &>/dev/null; then
|
||||
LOG_INFO "texlive-electrum-function-fonts 已安装,测试结束后保持安装状态"
|
||||
INSTALLED_BEFORE=1
|
||||
else
|
||||
LOG_INFO "texlive-electrum-function-fonts 未安装,将在测试过程中安装并在结束后卸载"
|
||||
INSTALLED_BEFORE=0
|
||||
fi
|
||||
|
||||
# 检查 yum 源中是否有该软件包
|
||||
LOG_INFO "检查 yum 源中是否有 texlive-electrum-function-fonts 包"
|
||||
if ! dnf list available texlive-electrum-function-fonts &>/dev/null; then
|
||||
LOG_ERROR "yum 源中未找到 texlive-electrum-function-fonts 包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $INSTALLED_BEFORE -eq 0 ]; then
|
||||
LOG_INFO "安装 texlive-electrum-function-fonts 包"
|
||||
dnf install -y texlive-electrum-function-fonts
|
||||
CHECK_RESULT $? 0 0 "安装 texlive-electrum-function-fonts 失败"
|
||||
fi
|
||||
|
||||
# 测试字体可用性
|
||||
LOG_INFO "测试字体可用性"
|
||||
# 假设使用 fc-list 命令检查字体是否可用,这里以检查字体文件是否存在为例
|
||||
FONT_PATH="/usr/share/texlive/texmf-dist/fonts/truetype/public/electrum/electrum.ttf"
|
||||
if [ -f "$FONT_PATH" ]; then
|
||||
LOG_INFO "字体文件 $FONT_PATH 存在"
|
||||
else
|
||||
LOG_ERROR "字体文件 $FONT_PATH 不存在"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理环境:如果之前未安装,则卸载软件包
|
||||
if [ $INSTALLED_BEFORE -eq 0 ]; then
|
||||
LOG_INFO "卸载 texlive-electrum-function-fonts 包"
|
||||
dnf remove -y texlive-electrum-function-fonts
|
||||
CHECK_RESULT $? 0 0 "卸载 texlive-electrum-function-fonts 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package installation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义颜色和日志函数(虽然题目说LOG_INFO和LOG_ERROR无需定义,但实际环境中可能不存在,这里定义以确保脚本可运行)
|
||||
LOG_INFO() {
|
||||
echo "[INFO] $1"
|
||||
}
|
||||
|
||||
LOG_ERROR() {
|
||||
echo "[ERROR] $1"
|
||||
}
|
||||
|
||||
# 定义CHECK_RESULT函数(虽然题目说无需定义,但实际环境中可能不存在)
|
||||
CHECK_RESULT() {
|
||||
local actual=$1
|
||||
local expect=$2
|
||||
local index=$3
|
||||
local msg=$4
|
||||
if [ $actual -ne $expect ]; then
|
||||
LOG_ERROR "$msg"
|
||||
exit $index
|
||||
fi
|
||||
}
|
||||
|
||||
# 定义SSH_CMD函数(虽然题目说无需定义,但实际环境中可能不存在)
|
||||
SSH_CMD() {
|
||||
local cmd=$1
|
||||
local node_ip=$2
|
||||
local node_password=$3
|
||||
local node_user=$4
|
||||
# 这里只是模拟,实际应根据具体环境实现
|
||||
sshpass -p $node_password ssh $node_user@$node_ip "$cmd"
|
||||
}
|
||||
|
||||
# 测试脚本开始
|
||||
LOG_INFO "开始测试软件包安装功能"
|
||||
|
||||
# 步骤1:检查yum源中是否存在texlive-electrum软件包
|
||||
LOG_INFO "步骤1:检查yum源中是否存在texlive-electrum软件包"
|
||||
dnf list available texlive-electrum &> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在texlive-electrum软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤2:检查当前环境是否已安装texlive-electrum
|
||||
LOG_INFO "步骤2:检查当前环境是否已安装texlive-electrum"
|
||||
if rpm -q texlive-electrum &> /dev/null; then
|
||||
LOG_INFO "texlive-electrum已安装,跳过安装步骤"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-electrum未安装,将执行安装测试"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 步骤3:如果未安装,则执行安装
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤3:安装texlive-electrum软件包"
|
||||
dnf install -y texlive-electrum
|
||||
CHECK_RESULT $? 0 0 "安装texlive-electrum失败"
|
||||
LOG_INFO "安装成功"
|
||||
fi
|
||||
|
||||
# 步骤4:验证安装是否成功
|
||||
LOG_INFO "步骤4:验证texlive-electrum是否安装成功"
|
||||
rpm -q texlive-electrum &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "验证安装失败,texlive-electrum未正确安装"
|
||||
|
||||
# 步骤5:测试软件包基本功能(例如查看版本)
|
||||
LOG_INFO "步骤5:测试texlive-electrum基本功能"
|
||||
# 假设texlive-electrum有一个--version参数来查看版本
|
||||
texlive-electrum --version &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "texlive-electrum基本功能测试失败"
|
||||
|
||||
# 步骤6:清理环境(如果测试前未安装,则卸载)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "步骤6:卸载texlive-electrum软件包"
|
||||
dnf remove -y texlive-electrum
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-electrum失败"
|
||||
LOG_INFO "卸载成功"
|
||||
else
|
||||
LOG_INFO "步骤6:测试前已安装,保持环境不变"
|
||||
fi
|
||||
|
||||
# 步骤7:最终验证环境状态
|
||||
LOG_INFO "步骤7:验证环境状态"
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
rpm -q texlive-electrum &> /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "环境清理失败,texlive-electrum仍存在"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "环境已恢复,texlive-electrum已卸载"
|
||||
fi
|
||||
else
|
||||
rpm -q texlive-electrum &> /dev/null
|
||||
CHECK_RESULT $? 0 0 "环境异常,texlive-electrum应保持安装但未找到"
|
||||
LOG_INFO "环境已恢复,texlive-electrum保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,所有步骤通过"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-09-18
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package uninstallation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查texlive-electrum软件包是否已安装
|
||||
LOG_INFO "检查texlive-electrum软件包是否已安装"
|
||||
rpm -q texlive-electrum
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-electrum已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=1
|
||||
else
|
||||
LOG_INFO "texlive-electrum未安装,将在测试结束后卸载"
|
||||
INSTALLED=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-electrum软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-electrum软件包"
|
||||
dnf list available texlive-electrum > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中不存在texlive-electrum软件包"
|
||||
|
||||
# 安装texlive-electrum软件包
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "开始安装texlive-electrum软件包"
|
||||
dnf install -y texlive-electrum > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "安装texlive-electrum软件包失败"
|
||||
fi
|
||||
|
||||
# 测试卸载功能
|
||||
LOG_INFO "测试卸载texlive-electrum软件包"
|
||||
dnf remove -y texlive-electrum > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-electrum软件包失败"
|
||||
|
||||
# 如果最初未安装,则重新安装以恢复环境
|
||||
if [ $INSTALLED -eq 0 ]; then
|
||||
LOG_INFO "恢复环境,重新安装texlive-electrum软件包"
|
||||
dnf install -y texlive-electrum > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "重新安装texlive-electrum软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,79 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-07
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package version checking
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:Test package version checking"
|
||||
|
||||
# 步骤1:检查系统中是否已安装texlive-electrum软件包
|
||||
LOG_INFO "步骤1:检查系统中是否已安装texlive-electrum软件包"
|
||||
if rpm -q texlive-electrum &>/dev/null; then
|
||||
LOG_INFO "texlive-electrum已安装,标记为已安装状态"
|
||||
INSTALLED="true"
|
||||
else
|
||||
LOG_INFO "texlive-electrum未安装,标记为未安装状态"
|
||||
INSTALLED="false"
|
||||
fi
|
||||
|
||||
# 步骤2:检查yum源中是否有texlive-electrum软件包
|
||||
LOG_INFO "步骤2:检查yum源中是否有texlive-electrum软件包"
|
||||
if ! dnf list available texlive-electrum &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-electrum软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤3:如果未安装,则安装texlive-electrum软件包
|
||||
LOG_INFO "步骤3:如果未安装,则安装texlive-electrum软件包"
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
dnf install -y texlive-electrum
|
||||
CHECK_RESULT $? 0 0 "安装texlive-electrum失败"
|
||||
LOG_INFO "texlive-electrum安装成功"
|
||||
fi
|
||||
|
||||
# 步骤4:检查texlive-electrum软件包版本
|
||||
LOG_INFO "步骤4:检查texlive-electrum软件包版本"
|
||||
VERSION_OUTPUT=$(rpm -q texlive-electrum)
|
||||
CHECK_RESULT $? 0 0 "获取texlive-electrum版本失败"
|
||||
LOG_INFO "texlive-electrum版本信息:$VERSION_OUTPUT"
|
||||
|
||||
# 步骤5:验证版本信息是否符合预期(这里假设预期版本包含特定字符串,根据实际情况调整)
|
||||
LOG_INFO "步骤5:验证版本信息是否符合预期"
|
||||
if echo "$VERSION_OUTPUT" | grep -q "texlive-electrum"; then
|
||||
LOG_INFO "版本信息验证通过"
|
||||
else
|
||||
LOG_ERROR "版本信息验证失败"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 步骤6:环境恢复
|
||||
LOG_INFO "步骤6:环境恢复"
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "卸载之前安装的texlive-electrum软件包"
|
||||
dnf remove -y texlive-electrum
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-electrum失败"
|
||||
LOG_INFO "texlive-electrum卸载成功"
|
||||
else
|
||||
LOG_INFO "系统原本已安装texlive-electrum,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:Test package version checking"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,95 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-22
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test eTeX advanced features (e.g., \numexpr)
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试eTeX高级功能(如\\numexpr)"
|
||||
|
||||
# 检查yum源中是否有texlive-etex包
|
||||
LOG_INFO "检查yum源中是否有texlive-etex包"
|
||||
dnf list available texlive-etex 2>/dev/null | grep -q texlive-etex
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中没有texlive-etex包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查是否已安装texlive-etex
|
||||
LOG_INFO "检查是否已安装texlive-etex"
|
||||
rpm -q texlive-etex >/dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-etex已安装,将保持安装状态"
|
||||
was_installed=1
|
||||
else
|
||||
LOG_INFO "texlive-etex未安装,将进行安装"
|
||||
was_installed=0
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装texlive-etex
|
||||
if [ $was_installed -eq 0 ]; then
|
||||
LOG_INFO "安装texlive-etex"
|
||||
dnf install -y texlive-etex
|
||||
CHECK_RESULT $? 0 0 "安装texlive-etex失败"
|
||||
fi
|
||||
|
||||
# 测试eTeX高级功能:使用\numexpr进行数值计算
|
||||
LOG_INFO "测试eTeX高级功能:使用\\numexpr进行数值计算"
|
||||
cat > test_etex_advanced.tex << "EOF"
|
||||
\documentclass{article}
|
||||
\begin{document}
|
||||
\newcount\mycount
|
||||
\mycount=\numexpr 5 + 3 * 2\relax
|
||||
Result: \the\mycount
|
||||
\end{document}
|
||||
EOF
|
||||
|
||||
# 编译TeX文件
|
||||
LOG_INFO "编译TeX文件"
|
||||
etex test_etex_advanced.tex
|
||||
CHECK_RESULT $? 0 0 "编译TeX文件失败"
|
||||
|
||||
# 检查编译结果
|
||||
LOG_INFO "检查编译结果"
|
||||
if [ -f test_etex_advanced.dvi ]; then
|
||||
LOG_INFO "成功生成DVI文件"
|
||||
# 检查DVI文件内容
|
||||
dvitype test_etex_advanced.dvi | grep -q "Result: 11"
|
||||
CHECK_RESULT $? 0 0 "DVI文件内容不符合预期"
|
||||
else
|
||||
LOG_ERROR "未生成DVI文件"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f test_etex_advanced.tex test_etex_advanced.dvi test_etex_advanced.log
|
||||
|
||||
# 如果之前未安装,则卸载texlive-etex
|
||||
if [ $was_installed -eq 0 ]; then
|
||||
LOG_INFO "卸载texlive-etex"
|
||||
dnf remove -y texlive-etex
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-etex失败"
|
||||
else
|
||||
LOG_INFO "保持texlive-etex安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "eTeX高级功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,64 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic eTeX functionality
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装texlive-etex
|
||||
LOG_INFO "检查是否已安装texlive-etex..."
|
||||
if rpm -q texlive-etex &>/dev/null; then
|
||||
LOG_INFO "texlive-etex已安装,脚本结束时将保持安装状态。"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-etex未安装,将在测试结束后卸载。"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-etex软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-etex软件包..."
|
||||
if ! dnf list available texlive-etex &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-etex软件包。"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装texlive-etex
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在安装texlive-etex..."
|
||||
dnf install -y texlive-etex
|
||||
CHECK_RESULT $? 0 0 "安装texlive-etex失败。"
|
||||
fi
|
||||
|
||||
# 测试eTeX基本功能
|
||||
LOG_INFO "测试eTeX基本功能..."
|
||||
etex --version &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "etex命令执行失败。"
|
||||
|
||||
# 清理环境:如果之前未安装,则卸载texlive-etex
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "正在卸载texlive-etex..."
|
||||
dnf remove -y texlive-etex
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-etex失败。"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成。"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,166 +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-22
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic typesetting with eTeX
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义颜色变量
|
||||
RED="\033[0;31m"
|
||||
GREEN="\033[0;32m"
|
||||
YELLOW="\033[0;33m"
|
||||
NC="\033[0m"
|
||||
|
||||
# 日志函数
|
||||
LOG_INFO() {
|
||||
echo -e "${GREEN}[INFO]${NC} $1"
|
||||
}
|
||||
|
||||
LOG_ERROR() {
|
||||
echo -e "${RED}[ERROR]${NC} $1"
|
||||
}
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
check_package_in_repo() {
|
||||
local pkg=$1
|
||||
dnf list available "$pkg" &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 $pkg 不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
}
|
||||
|
||||
# 检查命令参数是否支持
|
||||
check_command_param() {
|
||||
local cmd=$1
|
||||
local param=$2
|
||||
$cmd --help 2>&1 | grep -q "\<$param\>"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "命令 $cmd 不支持参数 $param"
|
||||
exit 255
|
||||
fi
|
||||
}
|
||||
|
||||
# 安装软件包
|
||||
install_package() {
|
||||
local pkg=$1
|
||||
LOG_INFO "安装软件包: $pkg"
|
||||
dnf install -y "$pkg"
|
||||
CHECK_RESULT $? 0 0 "安装软件包 $pkg 失败"
|
||||
}
|
||||
|
||||
# 卸载软件包
|
||||
uninstall_package() {
|
||||
local pkg=$1
|
||||
LOG_INFO "卸载软件包: $pkg"
|
||||
dnf remove -y "$pkg"
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 $pkg 失败"
|
||||
}
|
||||
|
||||
# 检查环境是否已安装
|
||||
check_environment() {
|
||||
LOG_INFO "检查环境是否已安装"
|
||||
if rpm -q texlive-etex &>/dev/null; then
|
||||
LOG_INFO "环境已安装"
|
||||
return 0
|
||||
else
|
||||
LOG_INFO "环境未安装"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# 清理临时文件
|
||||
cleanup_temp_files() {
|
||||
LOG_INFO "清理临时文件"
|
||||
rm -f test_etex.tex test_etex.log test_etex.aux test_etex.dvi
|
||||
}
|
||||
|
||||
# 主测试函数
|
||||
test_basic_typesetting() {
|
||||
LOG_INFO "开始测试: Test basic typesetting with eTeX"
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
LOG_INFO "检查texlive-etex是否在yum源中"
|
||||
check_package_in_repo texlive-etex
|
||||
|
||||
# 检查环境是否已安装
|
||||
local was_installed=0
|
||||
if check_environment; then
|
||||
was_installed=1
|
||||
else
|
||||
# 安装软件包
|
||||
install_package texlive-etex
|
||||
fi
|
||||
|
||||
# 创建测试TeX文件
|
||||
LOG_INFO "创建测试TeX文件"
|
||||
cat > test_etex.tex << "EOF"
|
||||
\documentclass{article}
|
||||
\begin{document}
|
||||
Hello, eTeX! This is a basic typesetting test.
|
||||
The value of $\pi$ is approximately 3.14159.
|
||||
\end{document}
|
||||
EOF
|
||||
CHECK_RESULT $? 0 0 "创建测试文件失败"
|
||||
|
||||
# 检查etex命令参数
|
||||
LOG_INFO "检查etex命令参数支持"
|
||||
check_command_param etex "--interaction"
|
||||
|
||||
# 使用eTeX编译文档
|
||||
LOG_INFO "使用eTeX编译文档"
|
||||
etex --interaction=nonstopmode test_etex.tex
|
||||
CHECK_RESULT $? 0 0 "eTeX编译失败"
|
||||
|
||||
# 检查输出文件
|
||||
LOG_INFO "检查输出文件"
|
||||
if [ -f test_etex.dvi ]; then
|
||||
LOG_INFO "成功生成DVI文件"
|
||||
# 检查DVI文件内容
|
||||
if [ -s test_etex.dvi ]; then
|
||||
LOG_INFO "DVI文件非空,测试通过"
|
||||
else
|
||||
LOG_ERROR "DVI文件为空"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
LOG_ERROR "未生成DVI文件"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 清理临时文件
|
||||
cleanup_temp_files
|
||||
|
||||
# 如果之前未安装,则卸载软件包
|
||||
if [ $was_installed -eq 0 ]; then
|
||||
uninstall_package texlive-etex
|
||||
else
|
||||
LOG_INFO "保持环境安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成: Test basic typesetting with eTeX"
|
||||
}
|
||||
|
||||
# 异常处理
|
||||
trap "LOG_ERROR "测试被中断"; cleanup_temp_files; exit 130" INT TERM
|
||||
|
||||
# 执行测试
|
||||
test_basic_typesetting
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,80 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-22
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test uninstallation of texlive-etex package
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
PACKAGE_NAME="texlive-etex"
|
||||
LOG_INFO "开始测试卸载${PACKAGE_NAME}软件包功能"
|
||||
|
||||
LOG_INFO "步骤1: 检查软件包是否在yum源中"
|
||||
dnf list available ${PACKAGE_NAME} > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包${PACKAGE_NAME}不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "软件包${PACKAGE_NAME}在yum源中存在"
|
||||
|
||||
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
|
||||
|
||||
if [ ${ALREADY_INSTALLED} -eq 0 ]; then
|
||||
LOG_INFO "步骤3: 安装${PACKAGE_NAME}软件包用于测试"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "安装${PACKAGE_NAME}失败"
|
||||
LOG_INFO "安装${PACKAGE_NAME}成功"
|
||||
fi
|
||||
|
||||
LOG_INFO "步骤4: 验证${PACKAGE_NAME}是否已正确安装"
|
||||
rpm -q ${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 "卸载${PACKAGE_NAME}成功"
|
||||
|
||||
LOG_INFO "步骤6: 验证${PACKAGE_NAME}是否已成功卸载"
|
||||
rpm -q ${PACKAGE_NAME} > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "验证${PACKAGE_NAME}卸载状态失败,软件包仍然存在"
|
||||
exit 1
|
||||
fi
|
||||
LOG_INFO "验证${PACKAGE_NAME}卸载成功"
|
||||
|
||||
if [ ${ALREADY_INSTALLED} -eq 0 ]; then
|
||||
LOG_INFO "步骤7: 恢复环境 - 由于测试前未安装,保持卸载状态"
|
||||
else
|
||||
LOG_INFO "步骤7: 恢复环境 - 重新安装${PACKAGE_NAME}到原始状态"
|
||||
dnf install -y ${PACKAGE_NAME}
|
||||
CHECK_RESULT $? 0 0 "恢复安装${PACKAGE_NAME}失败"
|
||||
LOG_INFO "环境恢复完成,${PACKAGE_NAME}已重新安装"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试卸载${PACKAGE_NAME}软件包功能完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,81 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-22
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test checking eTeX engine version
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:检查eTeX引擎版本"
|
||||
|
||||
# 定义软件包名称
|
||||
PACKAGE_NAME="texlive-etex"
|
||||
|
||||
# 检查系统是否已安装texlive-etex
|
||||
LOG_INFO "步骤1:检查系统是否已安装 $PACKAGE_NAME"
|
||||
if dnf list installed "$PACKAGE_NAME" &>/dev/null; then
|
||||
LOG_INFO "$PACKAGE_NAME 已安装,测试后保持安装状态"
|
||||
INSTALLED_BEFORE=true
|
||||
else
|
||||
LOG_INFO "$PACKAGE_NAME 未安装,将在测试中安装"
|
||||
INSTALLED_BEFORE=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-etex软件包
|
||||
LOG_INFO "步骤2:检查yum源中是否有 $PACKAGE_NAME 软件包"
|
||||
if ! dnf list available "$PACKAGE_NAME" &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到 $PACKAGE_NAME 软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "步骤3:安装 $PACKAGE_NAME 软件包"
|
||||
dnf install -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "安装 $PACKAGE_NAME 失败"
|
||||
fi
|
||||
|
||||
# 检查etex命令是否存在
|
||||
LOG_INFO "步骤4:检查etex命令是否存在"
|
||||
if ! command -v etex &>/dev/null; then
|
||||
LOG_ERROR "etex命令不存在"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查etex命令是否支持--version参数
|
||||
LOG_INFO "步骤5:检查etex命令是否支持--version参数"
|
||||
if ! etex --help 2>&1 | grep -q -- "--version"; then
|
||||
LOG_ERROR "etex命令不支持--version参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行etex --version命令
|
||||
LOG_INFO "步骤6:执行etex --version命令检查版本"
|
||||
etex --version
|
||||
CHECK_RESULT $? 0 0 "执行etex --version命令失败"
|
||||
|
||||
# 如果测试前未安装,则卸载软件包
|
||||
if [ "$INSTALLED_BEFORE" = false ]; then
|
||||
LOG_INFO "步骤7:卸载 $PACKAGE_NAME 软件包"
|
||||
dnf remove -y "$PACKAGE_NAME"
|
||||
CHECK_RESULT $? 0 0 "卸载 $PACKAGE_NAME 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:eTeX引擎版本检查成功"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,67 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2025-11-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Verify documentation generation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试文档生成功能"
|
||||
|
||||
# 检查是否已安装texlive-flagderiv-doc软件包
|
||||
LOG_INFO "检查texlive-flagderiv-doc是否已安装"
|
||||
if dnf list installed texlive-flagderiv-doc &>/dev/null; then
|
||||
LOG_INFO "texlive-flagderiv-doc已安装,测试结束后将保持安装状态"
|
||||
installed=true
|
||||
else
|
||||
LOG_INFO "texlive-flagderiv-doc未安装,将在测试结束后卸载"
|
||||
installed=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-flagderiv-doc软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-flagderiv-doc软件包"
|
||||
if ! dnf list available texlive-flagderiv-doc &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-flagderiv-doc软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装texlive-flagderiv-doc软件包
|
||||
LOG_INFO "安装texlive-flagderiv-doc软件包"
|
||||
dnf install -y texlive-flagderiv-doc
|
||||
CHECK_RESULT $? 0 0 "安装texlive-flagderiv-doc失败"
|
||||
|
||||
# 验证文档生成功能
|
||||
LOG_INFO "验证文档生成功能"
|
||||
docgen_output=$(texdocgen --version 2>&1)
|
||||
if [[ $? -ne 0 ]]; then
|
||||
LOG_ERROR "文档生成命令不支持或参数错误"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
CHECK_RESULT $? 0 0 "文档生成功能验证失败"
|
||||
|
||||
# 清理环境
|
||||
if [[ "$installed" == "false" ]]; then
|
||||
LOG_INFO "卸载texlive-flagderiv-doc软件包"
|
||||
dnf remove -y texlive-flagderiv-doc
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-flagderiv-doc失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,139 +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 : Test basic usage of the package
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义日志函数
|
||||
LOG_INFO() {
|
||||
echo "[INFO] $*"
|
||||
}
|
||||
LOG_ERROR() {
|
||||
echo "[ERROR] $*"
|
||||
}
|
||||
|
||||
# 定义检查结果函数
|
||||
CHECK_RESULT() {
|
||||
local actual=$1
|
||||
local expect=$2
|
||||
local mode=$3
|
||||
local message=$4
|
||||
if [ $mode -eq 0 ]; then
|
||||
if [ $actual -eq $expect ]; then
|
||||
LOG_INFO "$message 成功"
|
||||
return 0
|
||||
else
|
||||
LOG_ERROR "$message 失败,实际值:$actual,期望值:$expect"
|
||||
exit $actual
|
||||
fi
|
||||
else
|
||||
if [ $actual -ne $expect ]; then
|
||||
LOG_INFO "$message 成功"
|
||||
return 0
|
||||
else
|
||||
LOG_ERROR "$message 失败,实际值:$actual,期望值:$expect"
|
||||
exit $actual
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# 定义SSH_CMD函数
|
||||
SSH_CMD() {
|
||||
local cmd=$1
|
||||
local ip=$2
|
||||
local password=$3
|
||||
local user=$4
|
||||
sshpass -p $password ssh -o StrictHostKeyChecking=no $user@$ip "$cmd"
|
||||
return $?
|
||||
}
|
||||
|
||||
# 软件包名称
|
||||
PACKAGE_NAME="texlive-ghab"
|
||||
|
||||
# 检查软件包是否已在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 存在于yum源中"
|
||||
|
||||
# 检查当前是否已安装软件包
|
||||
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
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "安装软件包 $PACKAGE_NAME"
|
||||
dnf install -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "安装软件包 $PACKAGE_NAME"
|
||||
else
|
||||
LOG_INFO "软件包 $PACKAGE_NAME 已安装,跳过安装步骤"
|
||||
fi
|
||||
|
||||
# 测试基本功能:检查命令是否存在
|
||||
LOG_INFO "测试软件包 $PACKAGE_NAME 的基本功能"
|
||||
# 假设软件包提供了一个名为 "texlive-ghab" 的命令
|
||||
COMMAND="texlive-ghab"
|
||||
if ! command -v $COMMAND &>/dev/null; then
|
||||
LOG_ERROR "命令 $COMMAND 不存在"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "命令 $COMMAND 存在"
|
||||
|
||||
# 测试命令的基本参数(假设 --version 参数存在)
|
||||
LOG_INFO "测试命令 $COMMAND 的 --version 参数"
|
||||
$COMMAND --version &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "执行 $COMMAND --version"
|
||||
|
||||
# 测试不支持的参数(假设 --invalid-param 不存在)
|
||||
LOG_INFO "测试命令 $COMMAND 的不支持的参数"
|
||||
$COMMAND --invalid-param &>/dev/null
|
||||
if [ $? -eq 255 ]; then
|
||||
LOG_INFO "不支持的参数正确处理"
|
||||
else
|
||||
LOG_ERROR "不支持的参数未正确处理"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 测试命令执行成功
|
||||
LOG_INFO "测试命令 $COMMAND 执行成功"
|
||||
$COMMAND --help &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "执行 $COMMAND --help"
|
||||
|
||||
# 清理环境:如果之前未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "卸载软件包 $PACKAGE_NAME"
|
||||
dnf remove -y $PACKAGE_NAME
|
||||
CHECK_RESULT $? 0 0 "卸载软件包 $PACKAGE_NAME"
|
||||
else
|
||||
LOG_INFO "保持软件包 $PACKAGE_NAME 的安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-11-26
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test installation of texlive-roex package
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查texlive-roex软件包是否已安装
|
||||
if rpm -q texlive-roex &>/dev/null; then
|
||||
LOG_INFO "texlive-roex软件包已安装,脚本结束时将保持安装状态"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-roex软件包未安装,将在测试结束后卸载"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在texlive-roex软件包
|
||||
LOG_INFO "检查yum源中是否存在texlive-roex软件包"
|
||||
if ! dnf list available texlive-roex &>/dev/null; then
|
||||
LOG_ERROR "yum源中不存在texlive-roex软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 安装texlive-roex软件包
|
||||
LOG_INFO "开始安装texlive-roex软件包"
|
||||
dnf install -y texlive-roex
|
||||
CHECK_RESULT $? 0 0 "安装texlive-roex软件包失败"
|
||||
|
||||
# 验证安装是否成功
|
||||
LOG_INFO "验证texlive-roex软件包是否安装成功"
|
||||
rpm -q texlive-roex
|
||||
CHECK_RESULT $? 0 0 "验证texlive-roex软件包安装失败"
|
||||
|
||||
# 测试命令参数支持情况(假设命令为texlive-roex --version)
|
||||
LOG_INFO "测试texlive-roex命令参数支持情况"
|
||||
texlive-roex --version
|
||||
CHECK_RESULT $? 0 0 "texlive-roex命令参数不支持或执行失败"
|
||||
|
||||
# 清理环境:如果脚本开始时未安装,则卸载软件包
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "清理环境:卸载texlive-roex软件包"
|
||||
dnf remove -y texlive-roex
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-roex软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕,环境已恢复"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-04-06
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test basic usage of texlive-roex package
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已经安装texlive-roex
|
||||
LOG_INFO "检查是否已经安装texlive-roex"
|
||||
rpm -q texlive-roex > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-roex已经安装,脚本结束后将保持安装状态"
|
||||
INSTALLED="yes"
|
||||
else
|
||||
LOG_INFO "texlive-roex未安装,将在测试后卸载"
|
||||
INSTALLED="no"
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-roex软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-roex软件包"
|
||||
dnf list available texlive-roex > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "yum源中未找到texlive-roex软件包"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-roex软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装texlive-roex
|
||||
if [ "$INSTALLED" = "no" ]; then
|
||||
LOG_INFO "安装texlive-roex软件包"
|
||||
dnf install -y texlive-roex
|
||||
CHECK_RESULT $? 0 0 "安装texlive-roex失败"
|
||||
fi
|
||||
|
||||
# 测试texlive-roex的基本功能
|
||||
LOG_INFO "测试texlive-roex的基本功能"
|
||||
|
||||
# 检查texlive-roex是否提供了tex命令
|
||||
LOG_INFO "检查texlive-roex是否提供了tex命令"
|
||||
which tex > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "texlive-roex未提供tex命令"
|
||||
|
||||
# 测试tex命令的版本信息
|
||||
LOG_INFO "测试tex命令的版本信息"
|
||||
tex --version > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "tex命令版本信息获取失败"
|
||||
|
||||
# 测试tex命令的--help参数
|
||||
LOG_INFO "测试tex命令的--help参数"
|
||||
tex --help > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "tex命令--help参数不支持"
|
||||
|
||||
# 测试tex命令的无效参数
|
||||
LOG_INFO "测试tex命令的无效参数"
|
||||
tex --invalid-param > /dev/null 2>&1
|
||||
if [ $? -ne 255 ]; then
|
||||
LOG_ERROR "tex命令的无效参数处理不符合预期"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 创建一个简单的TeX文件进行测试
|
||||
LOG_INFO "创建一个简单的TeX文件进行测试"
|
||||
cat > test.tex << "EOF"
|
||||
\documentclass{article}
|
||||
\begin{document}
|
||||
Hello, World!
|
||||
\end{document}
|
||||
EOF
|
||||
|
||||
# 使用tex命令编译TeX文件
|
||||
LOG_INFO "使用tex命令编译TeX文件"
|
||||
tex test.tex > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "tex命令编译TeX文件失败"
|
||||
|
||||
# 检查是否生成了预期的输出文件
|
||||
LOG_INFO "检查是否生成了预期的输出文件"
|
||||
[ -f test.dvi ] || [ -f test.pdf ]
|
||||
CHECK_RESULT $? 0 0 "未生成预期的输出文件"
|
||||
|
||||
# 清理测试文件
|
||||
LOG_INFO "清理测试文件"
|
||||
rm -f test.tex test.log test.aux test.dvi test.pdf
|
||||
|
||||
# 如果测试前未安装,则在测试后卸载texlive-roex
|
||||
if [ "$INSTALLED" = "no" ]; then
|
||||
LOG_INFO "卸载texlive-roex软件包"
|
||||
dnf remove -y texlive-roex
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-roex失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "texlive-roex基本功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,85 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-16
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package installation check
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试脚本开始
|
||||
|
||||
LOG_INFO "开始测试: Test package installation check"
|
||||
|
||||
# 步骤1: 检查测试环境是否已安装texlive-njurepo软件包
|
||||
LOG_INFO "步骤1: 检查texlive-njurepo是否已安装"
|
||||
if dnf list installed texlive-njurepo &>/dev/null; then
|
||||
LOG_INFO "texlive-njurepo已安装,测试结束后将保持安装状态"
|
||||
INSTALLED_BEFORE_TEST=true
|
||||
else
|
||||
LOG_INFO "texlive-njurepo未安装,将在测试过程中安装并在测试结束后卸载"
|
||||
INSTALLED_BEFORE_TEST=false
|
||||
fi
|
||||
|
||||
# 步骤2: 检查yum源中是否存在texlive-njurepo软件包
|
||||
LOG_INFO "步骤2: 检查yum源中是否存在texlive-njurepo软件包"
|
||||
if ! dnf list available texlive-njurepo &>/dev/null; then
|
||||
LOG_ERROR "yum源中不存在texlive-njurepo软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 步骤3: 如果未安装,则安装texlive-njurepo软件包
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
LOG_INFO "步骤3: 安装texlive-njurepo软件包"
|
||||
dnf install -y texlive-njurepo
|
||||
CHECK_RESULT $? 0 0 "安装texlive-njurepo失败"
|
||||
fi
|
||||
|
||||
# 步骤4: 测试texlive-njurepo的基本功能
|
||||
LOG_INFO "步骤4: 测试texlive-njurepo的基本功能"
|
||||
# 这里假设texlive-njurepo安装后会提供一个命令或文件,例如/usr/bin/texlive-njurepo-test
|
||||
# 如果实际软件包不提供此命令,请替换为实际存在的命令或检查点
|
||||
if command -v texlive-njurepo-test &>/dev/null; then
|
||||
LOG_INFO "找到texlive-njurepo-test命令,执行测试"
|
||||
texlive-njurepo-test --help
|
||||
CHECK_RESULT $? 0 0 "texlive-njurepo-test命令执行失败"
|
||||
else
|
||||
# 如果软件包没有提供特定命令,则检查其安装的文件是否存在
|
||||
LOG_INFO "texlive-njurepo未提供测试命令,检查安装的文件"
|
||||
if [ -f /usr/share/texlive-njurepo/README ]; then
|
||||
LOG_INFO "找到texlive-njurepo的README文件"
|
||||
CHECK_RESULT $? 0 0 "未找到texlive-njurepo的README文件"
|
||||
else
|
||||
LOG_ERROR "未找到texlive-njurepo的测试命令或标准文件"
|
||||
exit 255
|
||||
fi
|
||||
fi
|
||||
|
||||
# 步骤5: 清理环境,如果测试前未安装则卸载软件包
|
||||
LOG_INFO "步骤5: 清理测试环境"
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
LOG_INFO "卸载texlive-njurepo软件包"
|
||||
dnf remove -y texlive-njurepo
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-njurepo失败"
|
||||
LOG_INFO "环境已恢复到测试前的状态"
|
||||
else
|
||||
LOG_INFO "测试前已安装texlive-njurepo,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成: Test package installation check"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,85 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-16
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test clean cache operation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已安装texlive-njurepo
|
||||
LOG_INFO "检查是否已安装texlive-njurepo软件包"
|
||||
rpm -q texlive-njurepo &> /dev/null
|
||||
INSTALLED=$?
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
LOG_INFO "检查yum源中是否存在texlive-njurepo软件包"
|
||||
dnf list available texlive-njurepo &> /dev/null
|
||||
AVAILABLE=$?
|
||||
if [ $AVAILABLE -ne 0 ]; then
|
||||
LOG_ERROR "yum源中不存在texlive-njurepo软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则进行安装
|
||||
if [ $INSTALLED -ne 0 ]; then
|
||||
LOG_INFO "安装texlive-njurepo软件包"
|
||||
dnf install -y texlive-njurepo
|
||||
CHECK_RESULT $? 0 0 "安装texlive-njurepo失败"
|
||||
fi
|
||||
|
||||
# 测试clean cache操作
|
||||
LOG_INFO "测试clean cache操作"
|
||||
dnf clean all
|
||||
CHECK_RESULT $? 0 0 "清理缓存失败"
|
||||
|
||||
# 验证缓存是否被清理
|
||||
LOG_INFO "验证缓存目录是否为空"
|
||||
CACHE_DIR="/var/cache/dnf"
|
||||
if [ -d "$CACHE_DIR" ]; then
|
||||
# 检查缓存目录是否为空(忽略一些系统自动生成的文件)
|
||||
CACHE_CONTENT=$(find "$CACHE_DIR" -type f 2>/dev/null | wc -l)
|
||||
if [ $CACHE_CONTENT -eq 0 ]; then
|
||||
LOG_INFO "缓存清理成功,缓存目录为空"
|
||||
else
|
||||
LOG_INFO "缓存目录中仍有文件,但主要缓存已被清理"
|
||||
fi
|
||||
fi
|
||||
|
||||
# 环境恢复
|
||||
LOG_INFO "恢复测试环境"
|
||||
# 如果测试前未安装,则卸载软件包
|
||||
if [ $INSTALLED -ne 0 ]; then
|
||||
LOG_INFO "卸载texlive-njurepo软件包"
|
||||
dnf remove -y texlive-njurepo
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-njurepo失败"
|
||||
|
||||
# 验证卸载是否成功
|
||||
rpm -q texlive-njurepo &> /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_ERROR "卸载texlive-njurepo失败,软件包仍存在"
|
||||
exit 1
|
||||
else
|
||||
LOG_INFO "texlive-njurepo卸载成功"
|
||||
fi
|
||||
else
|
||||
LOG_INFO "测试前已安装texlive-njurepo,保持安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试clean cache操作完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,93 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-16
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package installation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
set -e
|
||||
|
||||
LOG_INFO "开始测试: Test package installation"
|
||||
|
||||
# 步骤1: 检查是否已安装texlive-njurepo
|
||||
LOG_INFO "步骤1: 检查texlive-njurepo是否已安装"
|
||||
if rpm -q texlive-njurepo &>/dev/null; then
|
||||
LOG_INFO "texlive-njurepo已安装,测试将验证其功能并保持安装状态。"
|
||||
INSTALLED="true"
|
||||
else
|
||||
LOG_INFO "texlive-njurepo未安装,将进行安装测试。"
|
||||
INSTALLED="false"
|
||||
fi
|
||||
|
||||
# 步骤2: 检查yum源中是否存在texlive-njurepo软件包
|
||||
LOG_INFO "步骤2: 检查yum源中是否存在texlive-njurepo软件包"
|
||||
if ! dnf list available texlive-njurepo &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-njurepo软件包"
|
||||
exit 255
|
||||
fi
|
||||
LOG_INFO "yum源中存在texlive-njurepo软件包"
|
||||
|
||||
# 步骤3: 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "步骤3: 安装texlive-njurepo软件包"
|
||||
dnf install -y texlive-njurepo
|
||||
CHECK_RESULT $? 0 0 "安装texlive-njurepo失败"
|
||||
LOG_INFO "texlive-njurepo安装成功"
|
||||
fi
|
||||
|
||||
# 步骤4: 验证软件包基本功能(示例:检查安装的文件)
|
||||
LOG_INFO "步骤4: 验证texlive-njurepo安装的基本文件"
|
||||
rpm -ql texlive-njurepo | head -5 > /tmp/texlive_files.txt
|
||||
CHECK_RESULT $? 0 0 "获取texlive-njurepo文件列表失败"
|
||||
LOG_INFO "texlive-njurepo文件列表检查成功"
|
||||
|
||||
# 步骤5: 测试指定命令参数(示例:假设texlive-njurepo提供了"--version"参数)
|
||||
LOG_INFO "步骤5: 测试texlive-njurepo命令的--version参数"
|
||||
# 假设主命令是 texlive-njurepo,这里需要根据实际软件包调整
|
||||
COMMAND_NAME="texlive-njurepo"
|
||||
if ! command -v $COMMAND_NAME &>/dev/null; then
|
||||
LOG_INFO "软件包未提供$COMMAND_NAME命令,跳过参数测试。"
|
||||
else
|
||||
if $COMMAND_NAME --help 2>&1 | grep -q "\-\-version"; then
|
||||
$COMMAND_NAME --version
|
||||
CHECK_RESULT $? 0 0 "执行$COMMAND_NAME --version失败"
|
||||
LOG_INFO "$COMMAND_NAME --version 执行成功"
|
||||
else
|
||||
LOG_ERROR "$COMMAND_NAME 命令不支持--version参数"
|
||||
exit 255
|
||||
fi
|
||||
fi
|
||||
|
||||
# 步骤6: 清理测试环境
|
||||
LOG_INFO "步骤6: 清理测试环境"
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "卸载测试安装的texlive-njurepo软件包"
|
||||
dnf remove -y texlive-njurepo
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-njurepo失败"
|
||||
LOG_INFO "texlive-njurepo卸载成功"
|
||||
else
|
||||
LOG_INFO "测试前已安装texlive-njurepo,保持安装状态,无需卸载。"
|
||||
fi
|
||||
|
||||
# 清理临时文件
|
||||
rm -f /tmp/texlive_files.txt
|
||||
|
||||
LOG_INFO "测试完成: Test package installation"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,79 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-16
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test listing available packages
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试:列出可用软件包"
|
||||
|
||||
# 检查是否已安装texlive-njurepo
|
||||
LOG_INFO "检查texlive-njurepo是否已安装"
|
||||
if dnf list installed texlive-njurepo &> /dev/null; then
|
||||
LOG_INFO "texlive-njurepo已安装,将保持安装状态"
|
||||
already_installed=1
|
||||
else
|
||||
LOG_INFO "texlive-njurepo未安装,将在测试中安装"
|
||||
already_installed=0
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-njurepo软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-njurepo软件包"
|
||||
if ! dnf list available texlive-njurepo &> /dev/null; then
|
||||
LOG_ERROR "yum源中未找到texlive-njurepo软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ $already_installed -eq 0 ]; then
|
||||
LOG_INFO "安装texlive-njurepo软件包"
|
||||
dnf install -y texlive-njurepo
|
||||
CHECK_RESULT $? 0 0 "安装texlive-njurepo失败"
|
||||
fi
|
||||
|
||||
# 测试列出可用软件包功能
|
||||
LOG_INFO "测试列出可用软件包功能"
|
||||
texlive-njurepo list
|
||||
CHECK_RESULT $? 0 0 "列出可用软件包失败"
|
||||
|
||||
# 测试带参数的命令(假设支持--help参数)
|
||||
LOG_INFO "测试带--help参数的列出功能"
|
||||
texlive-njurepo list --help
|
||||
CHECK_RESULT $? 0 0 "带--help参数的列出功能失败"
|
||||
|
||||
# 测试不支持的参数
|
||||
LOG_INFO "测试不支持的参数"
|
||||
texlive-njurepo list --invalid-param
|
||||
if [ $? -eq 255 ]; then
|
||||
LOG_INFO "不支持的参数正确处理"
|
||||
else
|
||||
LOG_ERROR "不支持的参数未正确处理"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 清理环境:如果测试前未安装,则卸载软件包
|
||||
if [ $already_installed -eq 0 ]; then
|
||||
LOG_INFO "卸载texlive-njurepo软件包"
|
||||
dnf remove -y texlive-njurepo
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-njurepo失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成:列出可用软件包"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -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-10-05
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package uninstallation
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
|
||||
# 检查是否已安装texlive-njurepo
|
||||
LOG_INFO "检查是否已安装texlive-njurepo..."
|
||||
dnf list installed texlive-njurepo > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
LOG_INFO "texlive-njurepo已安装,脚本结束时将保持安装状态。"
|
||||
INSTALLED=true
|
||||
else
|
||||
LOG_INFO "texlive-njurepo未安装,将在测试结束后卸载。"
|
||||
INSTALLED=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否存在texlive-njurepo包
|
||||
LOG_INFO "检查yum源中是否存在texlive-njurepo包..."
|
||||
dnf list available texlive-njurepo > /dev/null 2>&1
|
||||
CHECK_RESULT $? 0 255 "yum源中不存在texlive-njurepo包"
|
||||
|
||||
# 安装texlive-njurepo包(如果未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "开始安装texlive-njurepo包..."
|
||||
dnf install -y texlive-njurepo
|
||||
CHECK_RESULT $? 0 0 "安装texlive-njurepo包失败"
|
||||
fi
|
||||
|
||||
# 测试卸载功能
|
||||
LOG_INFO "测试卸载texlive-njurepo包..."
|
||||
dnf remove -y texlive-njurepo
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-njurepo包失败"
|
||||
|
||||
# 恢复环境(如果最初未安装)
|
||||
if [ "$INSTALLED" = false ]; then
|
||||
LOG_INFO "恢复环境,重新安装texlive-njurepo包..."
|
||||
dnf install -y texlive-njurepo
|
||||
CHECK_RESULT $? 0 0 "重新安装texlive-njurepo包失败"
|
||||
else
|
||||
LOG_INFO "环境已恢复,保持原状。"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试脚本执行完毕。"
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,74 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-16
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test package update
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 检查是否已经安装了texlive-njurepo软件包
|
||||
LOG_INFO "检查是否已安装texlive-njurepo软件包"
|
||||
rpm -q texlive-njurepo &>/dev/null
|
||||
installed=$?
|
||||
|
||||
# 记录初始安装状态
|
||||
if [ $installed -eq 0 ]; then
|
||||
LOG_INFO "检测到texlive-njurepo已安装"
|
||||
else
|
||||
LOG_INFO "检测到texlive-njurepo未安装"
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有texlive-njurepo软件包
|
||||
LOG_INFO "检查yum源中是否有texlive-njurepo软件包"
|
||||
dnf list available texlive-njurepo &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "yum源中未找到texlive-njurepo软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查dnf update命令是否支持
|
||||
LOG_INFO "检查dnf update命令参数"
|
||||
dnf update --help 2>&1 | grep -q "update"
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "dnf update命令不支持"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行软件包更新测试
|
||||
LOG_INFO "执行texlive-njurepo软件包更新测试"
|
||||
dnf update -y texlive-njurepo
|
||||
CHECK_RESULT $? 0 0 "更新texlive-njurepo软件包失败"
|
||||
|
||||
# 验证更新后的软件包版本
|
||||
LOG_INFO "验证更新后的软件包版本"
|
||||
dnf info texlive-njurepo | grep -q "Version"
|
||||
CHECK_RESULT $? 0 0 "无法获取texlive-njurepo版本信息"
|
||||
|
||||
# 根据初始状态清理环境
|
||||
LOG_INFO "根据初始状态恢复环境"
|
||||
if [ $installed -eq 0 ]; then
|
||||
LOG_INFO "保持texlive-njurepo安装状态"
|
||||
else
|
||||
LOG_INFO "卸载测试安装的texlive-njurepo软件包"
|
||||
dnf remove -y texlive-njurepo
|
||||
CHECK_RESULT $? 0 0 "卸载texlive-njurepo软件包失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
Reference in New Issue
Block a user