diff --git a/docs/system_base/dosfstools/tc_service_dosfstools_fun001.yaml b/docs/system_base/dosfstools/tc_service_dosfstools_fun001.yaml new file mode 100644 index 0000000000000000000000000000000000000000..d5b1a335b867139cc65b1a5c352dd66c32f7bab6 --- /dev/null +++ b/docs/system_base/dosfstools/tc_service_dosfstools_fun001.yaml @@ -0,0 +1,25 @@ +作者: xufei +优先级: P1 +支持架构: noarch +执行方式: 自动 +测试类型: 功能测试 +通用标签: local,dosfstools +用例描述: dosfstools基本功能测试 +修改人: xufei + +前置条件: +- 安装dosfstools软件包 + +测试步骤: +- 使用dd命令创建100k大小的测试文件/tmp/300k +- 使用mke2fs命令格式化测试文件 +- 使用mkdosfs命令创建FAT文件系统,指定卷标为test +- 使用file命令验证测试文件格式信息 +- 使用dosfsck命令检查和修复FAT文件系统 + +期望结果: +- dd命令执行成功,创建测试文件 +- mke2fs命令执行成功 +- mkdosfs命令执行成功 +- file命令输出中包含"mkfs.fat"字符串 +- dosfsck命令执行成功 diff --git a/docs/system_base/dosfstools/tc_service_dosfstools_fun002.yaml b/docs/system_base/dosfstools/tc_service_dosfstools_fun002.yaml new file mode 100644 index 0000000000000000000000000000000000000000..716bfecb78a719cac77b5cb93977cc3f046c70f3 --- /dev/null +++ b/docs/system_base/dosfstools/tc_service_dosfstools_fun002.yaml @@ -0,0 +1,29 @@ +作者: xufei +优先级: P1 +支持架构: noarch +执行方式: 自动 +测试类型: 功能测试 +通用标签: local,dosfstools +用例描述: e2fsprogs文件系统工具功能测试 +修改人: xufei + +前置条件: +- 安装e2fsprogs软件包 + +测试步骤: +- 使用dd命令创建10M大小的测试文件/tmp/test_fs.img +- 使用mkfs.ext4命令创建ext4文件系统,设置卷标为TEST_LABEL +- 使用fsck.ext4命令进行基本文件系统检查 +- 使用dd命令写入随机数据损坏文件系统 +- 使用fsck.ext4命令自动修复损坏的文件系统 +- 使用e2label命令修改文件系统卷标为NEW_LABEL +- 使用blkid命令验证文件系统卷标是否修改成功 + +期望结果: +- dd命令执行成功,创建测试文件 +- mkfs.ext4命令执行成功 +- fsck.ext4基本检查命令执行成功 +- 文件系统成功损坏 +- fsck.ext4修复命令执行成功 +- e2label命令执行成功 +- blkid命令输出中包含"NEW_LABEL"字符串 diff --git a/tests/system_base/dosfstools/tc_service_dosfstools_fun001.py b/tests/system_base/dosfstools/tc_service_dosfstools_fun001.py new file mode 100644 index 0000000000000000000000000000000000000000..92350bcde0fbd51c2ef8b37a7a280951cd1d1e68 --- /dev/null +++ b/tests/system_base/dosfstools/tc_service_dosfstools_fun001.py @@ -0,0 +1,45 @@ +""" +@File: tc_service_dosfstools_fun001.py +@Time: 2026/2/27 15:30:20 +@Author: xufei +@Version: 1.0 +@Contact: xufei@inspur.com +@License: Mulan PSL v2 +@Modify: xufei +""" +import subprocess +import time + +from common.basetest import LocalTest + + +class Test(LocalTest): + """ + See tc_service_dosfstools_fun001.yaml for details + + :avocado: tags=P1,noarch,local,dosfstools + """ + PARAM_DIC = {"pkg_name": "dosfstools"} + + def setUp(self): + super().setUp(self.PARAM_DIC) + + def test(self): + code, result = self.cmd('dd if=/dev/zero of=/tmp/300k bs=1k count=100') + self.assertFalse(code, "dd command execution failed") + + self.cmd('echo y | mke2fs /tmp/300k') + + code, result = self.cmd('mkdosfs -n test /tmp/300k') + self.assertFalse(code, "mkdosfs command execution failed") + + code, result = self.cmd('file /tmp/300k | grep mkfs.fat') + self.assertFalse(code, "not display mkfs.fat") + + code, result = self.cmd('dosfsck -v -a /tmp/300k') + self.assertFalse(code, "dosfsck command execution failed") + + def tearDown(self): + super().tearDown(self.PARAM_DIC) + self.cmd('rm -rf /tmp/300k') + diff --git a/tests/system_base/dosfstools/tc_service_dosfstools_fun002.py b/tests/system_base/dosfstools/tc_service_dosfstools_fun002.py new file mode 100644 index 0000000000000000000000000000000000000000..9705dc29f645133beb61f1a17e424000ca8bd1bd --- /dev/null +++ b/tests/system_base/dosfstools/tc_service_dosfstools_fun002.py @@ -0,0 +1,52 @@ +""" +@File: tc_service_dosfstools_fun002.py +@Time: 2026/2/27 15:30:20 +@Author: xufei +@Version: 1.0 +@Contact: xufei@inspur.com +@License: Mulan PSL v2 +@Modify: xufei +""" +import subprocess +import time + +from common.basetest import LocalTest + + +class Test(LocalTest): + """ + See tc_service_dosfstools_fun002.yaml for details + + :avocado: tags=P1,noarch,local,dosfstools + """ + PARAM_DIC = {"pkg_name": "e2fsprogs"} + + def setUp(self): + super().setUp(self.PARAM_DIC) + + def test(self): + self.cmd('dd if=/dev/zero of=/tmp/test_fs.img bs=1M count=10') + + code, result = self.cmd('mkfs.ext4 -L TEST_LABEL /tmp/test_fs.img') + self.assertFalse(code, "Failed to create ext4 filesystem") + + code, result = self.cmd('fsck.ext4 -n /tmp/test_fs.img') + self.assertFalse(code, "Basic filesystem check failed") + + self.cmd('echo "Corrupting filesystem for testing..."') + + self.cmd('dd if=/dev/urandom of=/tmp/test_fs.img bs=1k seek=100 count=10 conv=notrunc') + + code, result = self.cmd('fsck.ext4 -p /tmp/test_fs.img') + self.assertFalse(code, "Failed to repair corrupted filesystem") + + code, result = self.cmd('e2label /tmp/test_fs.img NEW_LABEL') + self.assertFalse(code, "Failed to change filesystem label") + + code, result = self.cmd('blkid -o value -s LABEL /tmp/test_fs.img | grep "NEW_LABEL"') + self.assertFalse(code, "Filesystem label not changed correctly") + + def tearDown(self): + super().tearDown(self.PARAM_DIC) + self.cmd('rm -rf /tmp/test_fs.img') +