From 123ee1da8f5ded6e031ba929c2a43d0bc52f28d8 Mon Sep 17 00:00:00 2001 From: sdu-xinglindu <1783674677@qq.com> Date: Sun, 28 May 2023 14:16:16 +0800 Subject: [PATCH 1/3] cpio --- cpio/testcase/cpio.sh | 71 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100755 cpio/testcase/cpio.sh diff --git a/cpio/testcase/cpio.sh b/cpio/testcase/cpio.sh new file mode 100755 index 0000000..f36a7e8 --- /dev/null +++ b/cpio/testcase/cpio.sh @@ -0,0 +1,71 @@ +#!/bin/bash +############################################################################### +# @用例ID: 20230528-141338-315009951 +# @用例名称: cpio +# @用例级别: 3 +# @用例标签: +# @用例类型: 功能 +############################################################################### +[ -z "$TST_TS_TOPDIR" ] && { + TST_TS_TOPDIR="$(realpath "$(dirname "$0")/..")" + export TST_TS_TOPDIR +} +source "${TST_TS_TOPDIR}/tst_common/lib/common.sh" || exit 1 +############################################################################### + +g_tmpdir="$(mktemp -d)" + + +tc_setup() { + msg "this is tc_setup" + # @预置条件:系统正常运行,且已安装 cpio + assert_true yum install -y cpio + + # @预置条件: + return 0 +} + +do_test() { + msg "this is do_test" + + # 创建一个临时目录 + tmpdir="$(mktemp -d)" + + # 在临时目录中创建一些文件和目录 + mkdir "${tmpdir}/dir1" + echo "This is file1" > "${tmpdir}/dir1/file1.txt" + mkdir "${tmpdir}/dir2" + echo "This is file2" > "${tmpdir}/dir2/file2.txt" + + # @测试步骤:1 创建 cpio 归档文件 + # @预期结果:1 确保成功创建 cpio 归档文件 + assert_true find "${tmpdir}" | cpio -o > "${tmpdir}/archive.cpio" + + # @测试步骤:2 解压 cpio 归档文件 + # @预期结果:2 确保成功解压 cpio 归档文件并恢复原始文件和目录 + assert_true mkdir "${tmpdir}/extract" + assert_true cd "${tmpdir}/extract" + assert_true cpio -i < "${tmpdir}/archive.cpio" + + # 验证解压后的文件和目录是否正确恢复 + assert_true [ -f "${tmpdir}/extract/dir1/file1.txt" ] + assert_true [ -f "${tmpdir}/extract/dir2/file2.txt" ] + + # @测试步骤:3 使用 cpio 命令列出归档文件内容 + # @预期结果:3 确保成功列出归档文件中的文件和目录列表 + assert_true cpio -it < "${tmpdir}/archive.cpio" | grep -E "dir1|dir2" + + return 0 +} + +tc_teardown() { + msg "this is tc_teardown" + # 清理临时目录 + assert_true rm -rf "${tmpdir}" + rm -rfv "$g_tmpdir" || return 1 + return 0 +} + +############################################################################### +tst_main "$@" +############################################################################### -- Gitee From 9ded2c464e104d426c877cee1a6dab5951445ed2 Mon Sep 17 00:00:00 2001 From: sdu-xinglindu <1783674677@qq.com> Date: Sun, 28 May 2023 16:11:36 +0800 Subject: [PATCH 2/3] cpio_2 --- cpio/testcase/cpio.sh | 34 +++++++++++++++++++++++++++------- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/cpio/testcase/cpio.sh b/cpio/testcase/cpio.sh index f36a7e8..83e9965 100755 --- a/cpio/testcase/cpio.sh +++ b/cpio/testcase/cpio.sh @@ -39,25 +39,45 @@ do_test() { # @测试步骤:1 创建 cpio 归档文件 # @预期结果:1 确保成功创建 cpio 归档文件 - assert_true find "${tmpdir}" | cpio -o > "${tmpdir}/archive.cpio" + find "${tmpdir}" | cpio -o > "${tmpdir}/archive.cpio" + if [ $? -eq 0 ]; then + echo "CPIO archive creation successful" + else + echo "CPIO archive creation failed" + fi # @测试步骤:2 解压 cpio 归档文件 # @预期结果:2 确保成功解压 cpio 归档文件并恢复原始文件和目录 - assert_true mkdir "${tmpdir}/extract" - assert_true cd "${tmpdir}/extract" - assert_true cpio -i < "${tmpdir}/archive.cpio" + mkdir "${tmpdir}/extract" + cd "${tmpdir}/extract" + cpio -i < "${tmpdir}/archive.cpio" + if [ $? -eq 0 ]; then + echo "CPIO archive extraction successful" + else + echo "CPIO archive extraction failed" + fi # 验证解压后的文件和目录是否正确恢复 - assert_true [ -f "${tmpdir}/extract/dir1/file1.txt" ] - assert_true [ -f "${tmpdir}/extract/dir2/file2.txt" ] + if [ -f "${tmpdir}/extract/dir1/file1.txt" ] && [ -f "${tmpdir}/extract/dir2/file2.txt" ]; then + echo "Files and directories successfully restored" + else + echo "File and directory restoration failed" + fi # @测试步骤:3 使用 cpio 命令列出归档文件内容 # @预期结果:3 确保成功列出归档文件中的文件和目录列表 - assert_true cpio -it < "${tmpdir}/archive.cpio" | grep -E "dir1|dir2" + cpio -it < "${tmpdir}/archive.cpio" | grep -E "dir1|dir2" + if [ $? -eq 0 ]; then + echo "CPIO archive content listing successful" + else + echo "CPIO archive content listing failed" + fi return 0 } + + tc_teardown() { msg "this is tc_teardown" # 清理临时目录 -- Gitee From c72068c7a1170e947d9d6bfa41e355a00375b3c8 Mon Sep 17 00:00:00 2001 From: sdu-xinglindu <1783674677@qq.com> Date: Sun, 28 May 2023 16:20:02 +0800 Subject: [PATCH 3/3] cpio_3 --- cpio/testcase/cpio.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cpio/testcase/cpio.sh b/cpio/testcase/cpio.sh index 83e9965..2e0bd14 100755 --- a/cpio/testcase/cpio.sh +++ b/cpio/testcase/cpio.sh @@ -44,6 +44,7 @@ do_test() { echo "CPIO archive creation successful" else echo "CPIO archive creation failed" + return 1 fi # @测试步骤:2 解压 cpio 归档文件 @@ -55,6 +56,7 @@ do_test() { echo "CPIO archive extraction successful" else echo "CPIO archive extraction failed" + return 1 fi # 验证解压后的文件和目录是否正确恢复 @@ -62,6 +64,7 @@ do_test() { echo "Files and directories successfully restored" else echo "File and directory restoration failed" + return 1 fi # @测试步骤:3 使用 cpio 命令列出归档文件内容 @@ -71,6 +74,7 @@ do_test() { echo "CPIO archive content listing successful" else echo "CPIO archive content listing failed" + return 1 fi return 0 -- Gitee