Lines Matching +full:pre +full:- +full:verified
2 # SPDX-License-Identifier: GPL-2.0+
6 # Invoke this test script from U-Boot base directory as ./test/fs/fs-test.sh
10 # fs-test.sb.ext4 Summary: PASS: 24 FAIL: 0
11 # fs-test.nonfs.ext4 Summary: PASS: 24 FAIL: 0
12 # fs-test.fs.ext4 Summary: PASS: 24 FAIL: 0
14 # fs-test.sb.fat16 Summary: PASS: 24 FAIL: 0
15 # fs-test.nonfs.fat16 Summary: PASS: 24 FAIL: 0
16 # fs-test.fs.fat16 Summary: PASS: 24 FAIL: 0
18 # fs-test.sb.fat32 Summary: PASS: 24 FAIL: 0
19 # fs-test.nonfs.fat32 Summary: PASS: 24 FAIL: 0
20 # fs-test.fs.fat32 Summary: PASS: 24 FAIL: 0
21 # --------------------------------------------
23 # --------------------------------------------
25 # pre-requisite binaries list.
32 # Location of generated sandbox u-boot
33 UBOOT="./sandbox/u-boot"
52 OUT="${OUT_DIR}/fs-test"
65 if [ ! -x "`which $prereq`" ]; then
72 if [ ! -c /dev/urandom ]; then
81 rm -rf "$OUT_DIR"
87 # Generate sandbox U-Boot - gleaned from /test/dm/test-dm.sh
90 NUM_CPUS=$(cat /proc/cpuinfo |grep -c processor)
92 make O=sandbox -s -j${NUM_CPUS}
94 # Check if U-Boot exists
95 if [ ! -x "$UBOOT" ]; then
106 rm -f ${MD5_FILE}.* ${OUT}.*
107 mkdir -p ${OUT_DIR}
111 # 2nd parameter is the filesystem - fat16 ext4 etc
112 # -F cant be used with fat as it means something else.
114 # Create image if not already present - saves time, while debugging
117 MKFS_OPTION="-F 16"
121 MKFS_OPTION="-F 32"
125 MKFS_OPTION="-F"
130 if [ ! -f "$1" ]; then
131 fallocate -l 3G "$1" &> /dev/null
132 if [ $? -ne 0 ]; then
133 echo fallocate failed - using dd instead
135 if [ $? -ne 0 ]; then
140 mkfs -t "$FS_TYPE" $MKFS_OPTION "$1" &> /dev/null
141 if [ $? -ne 0 -a "$FS_TYPE" = "fat" ]; then
143 mkfs -t vfat $MKFS_OPTION "$1" &> /dev/null
145 if [ $? -ne 0 ]; then
153 # 2nd parameter is file system type - fat16/ext4/...
156 # 5th parameter is fs/nonfs/sb - to dictate generic fs commands or
199 SUFFIX="fs -"
218 # In u-boot commands, <interface> stands for host or hostfs
226 # Test Case 1 - ls
232 # host size hostfs - $3 for hostfs commands.
234 # Test Case 2a - size of small file
238 # Test Case 2b - size of small file via a path using '..'
244 # Test Case 3 - size of big file
253 # Test Case 4a - Read full 1MB of small file
256 # Test Case 4b - Read full 1MB of small file
260 # Test Case 5a - First 1MB of big file
263 # Test Case 5b - First 1MB of big file
268 # Test Case 6a - Last 1MB of big file
271 # Test Case 6b - Last 1MB of big file
276 # Test Case 7a - One from the last 1MB chunk of 2GB
279 # Test Case 7b - One from the last 1MB chunk of 2GB
284 # Test Case 8a - One from the start 1MB chunk from 2GB
287 # Test Case 8b - One from the start 1MB chunk from 2GB
292 # Test Case 9a - One 1MB chunk crossing the 2GB boundary
295 # Test Case 9b - One 1MB chunk crossing the 2GB boundary
300 # Test Case 10 - 2MB chunk from the last 1MB of big file
308 # Test Case 11a - Check that the write succeeded
312 # Test Case 11b - Check md5 of written to is same as the one read from
320 # Test Case 12 - Check directory traversal
326 # Test Case 13a - Check directory traversal
330 # Test Case 13b - Check md5 of written to is same as the one read from
335 # Test Case 13c - Check md5 of written to is same as the one read from
353 mkdir -p "$MOUNT_DIR"
354 sudo mount -o loop,rw "$1" "$MOUNT_DIR"
357 sudo mkdir -p "$MOUNT_DIR/SUBDIR"
363 if [ ! -f "${GB2p5}" ]; then
373 if [ ! -f "${MB1}" ]; then
380 sudo rm -f "${MB1}.w"
381 sudo rm -f "${MB1}.w2"
416 if [ $? -eq 0 ]; then
417 echo pass - "$1"
420 echo FAIL - "$1"
433 # md5sum in u-boot has output of form:
436 md5_src=`grep -A2 "$1" "$2" | grep "md5 for" | tr -d '\r'`
441 # - <md5>
443 md5_dst=`sed -n $4p $3`
465 grep -A7 "Test Case 1 " "$1" | egrep -iq "2621440000 *$4"
469 grep -A7 "Test Case 1 " "$1" | egrep -iq "1048576 *$3"
473 egrep -A3 "Test Case 2a " "$1" | grep -q "filesize=100000"
476 egrep -A3 "Test Case 2b " "$1" | grep -q "filesize=100000"
480 egrep -A3 "Test Case 3 " "$1" | grep -q "filesize=9c400000"
484 grep -A4 "Test Case 4a " "$1" | grep -q "filesize=100000"
489 grep -A4 "Test Case 5a " "$1" | grep -q "filesize=100000"
494 grep -A4 "Test Case 6a " "$1" | grep -q "filesize=100000"
499 grep -A4 "Test Case 7a " "$1" | grep -q "filesize=100000"
505 grep -A4 "Test Case 8a " "$1" | grep -q "filesize=100000"
511 grep -A4 "Test Case 9a " "$1" | grep -q "filesize=100000"
517 grep -A5 "Test Case 10 " "$1" | grep -q "filesize=100000"
521 grep -A2 "Test Case 11a " "$1" | grep -q '1048576 bytes written'
522 pass_fail "TC11: 1MB write to $3.w - write succeeded"
524 "TC11: 1MB write to $3.w - content verified"
527 grep -A4 "Test Case 12 " "$1" | grep -q 'Unable to write'
528 pass_fail "TC12: 1MB write to . - write denied"
531 grep -A2 "Test Case 13a " "$1" | grep -q '1048576 bytes written'
532 pass_fail "TC13: 1MB write to ./$3.w2 - write succeeded"
534 "TC13: 1MB read from ./$3.w2 - content verified"
536 "TC13: 1MB read from $3.w2 - content verified"
552 grep -v -e "File System is consistent\|update journal finished" \
553 -e "reading .*\.file\|writing .*\.file.w" \
560 echo "--------------------------------------------"
591 mkdir -p "$MOUNT_DIR"
594 uid="uid=`id -u`"
600 sudo mount -o loop,rw,$uid "$IMAGE" "$MOUNT_DIR"
613 echo "--------------------------------------------"
620 echo "--------------------------------------------"
621 if [ $TOTAL_FAIL -eq 0 ]; then