@ -12,11 +12,15 @@
# fs-test.sb.ext4.out: Summary: PASS: 23 FAIL: 0
# fs-test.ext4.out: Summary: PASS: 23 FAIL: 0
# fs-test.fs.ext4.out: Summary: PASS: 23 FAIL: 0
# FAT tests:
# fs-test.sb.fat.out: Summary: PASS: 23 FAIL: 0
# fs-test.fat.out: Summary: PASS: 20 FAIL: 3
# fs-test.fs.fat.out: Summary: PASS: 20 FAIL: 3
# Total Summary: TOTAL PASS: 132 TOTAL FAIL: 6
# FAT16 tests:
# fs-test.sb.fat16.out: Summary: PASS: 23 FAIL: 0
# fs-test.fat16.out: Summary: PASS: 20 FAIL: 3
# fs-test.fs.fat16.out: Summary: PASS: 20 FAIL: 3
# FAT32 tests:
# fs-test.sb.fat32.out: Summary: PASS: 23 FAIL: 0
# fs-test.fat32.out: Summary: PASS: 20 FAIL: 3
# fs-test.fs.fat32.out: Summary: PASS: 20 FAIL: 3
# Total Summary: TOTAL PASS: 195 TOTAL FAIL: 12
# pre-requisite binaries list.
PREREQ_BINS = "md5sum mkfs mount umount dd fallocate mkdir"
@ -41,7 +45,7 @@ SMALL_FILE="1MB.file"
BIG_FILE = "2.5GB.file"
# $MD5_FILE will have the expected md5s when we do the test
# They shall have a suffix which represents their file system (ext4/fat)
# They shall have a suffix which represents their file system (ext4/fat16/... )
MD5_FILE = " ${ OUT_DIR } /md5s.list "
# $OUT shall be the prefix of the test output. Their suffix will be .out
@ -104,15 +108,25 @@ function prepare_env() {
}
# 1st parameter is the name of the image file to be created
# 2nd parameter is the filesystem - fat ext4 etc
# 2nd parameter is the filesystem - fat16 ext4 etc
# -F cant be used with fat as it means something else.
function create_image( ) {
# Create image if not already present - saves time, while debugging
if [ " $2 " = "ext4" ] ; then
case " $2 " in
fat16)
MKFS_OPTION = "-F 16"
FS_TYPE = "fat"
; ;
fat32)
MKFS_OPTION = "-F 32"
FS_TYPE = "fat"
; ;
ext4)
MKFS_OPTION = "-F"
else
MKFS_OPTION = ""
fi
FS_TYPE = "ext4"
; ;
esac
if [ ! -f " $1 " ] ; then
fallocate -l 3G " $1 " & > /dev/null
if [ $? -ne 0 ] ; then
@ -123,8 +137,8 @@ function create_image() {
exit $?
fi
fi
mkfs -t " $2 " $MKFS_OPTION " $1 " & > /dev/null
if [ $? -ne 0 -a " $2 " = "fat" ] ; then
mkfs -t " $FS_TYPE " $MKFS_OPTION " $1 " & > /dev/null
if [ $? -ne 0 -a " $FS_TYPE " = "fat" ] ; then
# If we fail and we did fat, try vfat.
mkfs -t vfat $MKFS_OPTION " $1 " & > /dev/null
fi
@ -136,7 +150,7 @@ function create_image() {
}
# 1st parameter is image file
# 2nd parameter is file system type - fat/ext4
# 2nd parameter is file system type - fat16 /ext4/...
# 3rd parameter is name of small file
# 4th parameter is name of big file
# 5th parameter is fs/nonfs/sb - to dictate generic fs commands or
@ -149,7 +163,7 @@ function test_image() {
length = "0x00100000"
case " $2 " in
fat)
fat* )
FPATH = ""
PREFIX = "fat"
WRITE = "write"
@ -550,7 +564,7 @@ TOTAL_PASS=0
# In each loop, for a given file system image, we test both the
# fs command, like load/size/write, the file system specific command
# like: ext4load/ext4size/ext4write and the sb load/ls/save commands.
for fs in ext4 fat; do
for fs in ext4 fat16 fat32 ; do
echo " Creating $fs image if not already present. "
IMAGE = ${ IMG } .${ fs } .img
@ -563,11 +577,14 @@ for fs in ext4 fat; do
# Lets mount the image and test sb hostfs commands
mkdir -p " $MOUNT_DIR "
if [ " $fs " = "fat" ] ; then
case " $fs " in
fat*)
uid = "uid=`id -u`"
else
; ;
*)
uid = ""
fi
; ;
esac
sudo mount -o loop,rw,$uid " $IMAGE " " $MOUNT_DIR "
sudo chmod 777 " $MOUNT_DIR "