]> www.infradead.org Git - mtd-utils.git/commitdiff
tests: ubifs_tools: fsck_tests: Add authentication refusing test
authorZhihao Cheng <chengzhihao1@huawei.com>
Mon, 11 Nov 2024 09:08:19 +0000 (17:08 +0800)
committerDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>
Mon, 11 Nov 2024 09:32:46 +0000 (10:32 +0100)
Authenticated UBIFS image is not supported in fsck, add testcase
to check that.

Signed-off-by: Zhihao Cheng <chengzhihao1@huawei.com>
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
.gitignore
configure.ac
tests/ubifs_tools-tests/Makemodule.am
tests/ubifs_tools-tests/fsck_tests/authentication_refuse.sh.in [new file with mode: 0755]

index de0fce1f73283ec9b49f1e3174aeee41a1b9f593..799290a4d8ad83472a5883f2cabdb639007fec8f 100644 (file)
@@ -114,6 +114,7 @@ tests/fs-tests/stress/fs_stress01.sh
 tests/ubi-tests/runubitests.sh
 tests/ubi-tests/ubi-stress-test.sh
 tests/ubifs_tools-tests/lib/common.sh
+tests/ubifs_tools-tests/fsck_tests/authentication_refuse.sh
 
 #
 # Files generated by autotools
index 7fd4b76474423145258140c0ccd2fa32fa6c13f8..45f51abb678316dbf14ece78dc3c7bd4745a44eb 100644 (file)
@@ -293,7 +293,8 @@ AC_CONFIG_FILES([tests/fs-tests/fs_help_all.sh
        tests/fs-tests/stress/fs_stress01.sh
        tests/ubi-tests/runubitests.sh
        tests/ubi-tests/ubi-stress-test.sh
-       tests/ubifs_tools-tests/lib/common.sh])
+       tests/ubifs_tools-tests/lib/common.sh
+       tests/ubifs_tools-tests/fsck_tests/authentication_refuse.sh])
 
 AC_OUTPUT([Makefile])
 
index 265c9cc766b6c7e76e82a92c0f301d793d47c1e3..6b533982d22c0df853ed4d8c0743ce7131a2e10f 100644 (file)
@@ -1,2 +1,3 @@
 test_SCRIPTS += \
-       tests/ubifs_tools-tests/lib/common.sh
+       tests/ubifs_tools-tests/lib/common.sh \
+       tests/ubifs_tools-tests/fsck_tests/authentication_refuse.sh
diff --git a/tests/ubifs_tools-tests/fsck_tests/authentication_refuse.sh.in b/tests/ubifs_tools-tests/fsck_tests/authentication_refuse.sh.in
new file mode 100755 (executable)
index 0000000..268a7de
--- /dev/null
@@ -0,0 +1,66 @@
+#!/bin/sh
+# Copyright (c), 2024, Huawei Technologies Co, Ltd.
+# Author: Zhihao Cheng <chengzhihao1@huawei.com>
+#
+# Test Description:
+# Refuse checking authenticated UBIFS image
+# Running time: 10s
+
+TESTBINDIR=@TESTBINDIR@
+source $TESTBINDIR/common.sh
+
+ID="0xec,0xa1,0x00,0x15" # 128M 128KB 2KB 512-sub-page
+
+function run_test()
+{
+       echo "Do authentication_refused test"
+
+       modprobe nandsim id_bytes=$ID
+       mtdnum="$(find_mtd_device "$nandsim_patt")"
+       flash_eraseall /dev/mtd$mtdnum
+
+       modprobe ubi mtd="$mtdnum,2048" || fatal "modprobe ubi fail"
+       ubimkvol -N vol_test -m -n 0 /dev/ubi$UBI_NUM || fatal "mkvol fail"
+       modprobe ubifs || fatal "modprobe ubifs fail"
+
+       mount_ubifs $DEV $MNT "authentication" || fatal "mount ubifs failed"
+       fsstress -d $MNT/fsstress -l0 -p4 -n10000 &
+       sleep $((RANDOM % 5))
+
+       ps -e | grep -w fsstress > /dev/null 2>&1
+       while [ $? -eq 0 ]
+       do
+               killall -9 fsstress > /dev/null 2>&1
+               sleep 1
+               ps -e | grep -w fsstress > /dev/null 2>&1
+       done
+
+       while true
+       do
+               res=`mount | grep "$MNT"`
+               if [[ "$res" == "" ]]
+               then
+                       break;
+               fi
+               umount $MNT
+               sleep 0.1
+       done
+
+       fsck.ubifs -a $DEV # 'fsck.ubifs $DEV' is fine too.
+       res=$?
+       if [[ $res == $FSCK_OK ]]
+       then
+               fatal "fsck should not be success!"
+       fi
+
+       modprobe -r ubifs
+       modprobe -r ubi
+       modprobe -r nandsim
+}
+
+start_t=$(date +%s)
+run_test
+end_t=$(date +%s)
+time_cost=$(( end_t - start_t ))
+echo "Success, cost $time_cost seconds"
+exit 0