summaryrefslogtreecommitdiffstats
path: root/testsuites
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2017-09-06 10:12:06 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2017-09-06 10:20:46 +0200
commitfae59c9b4248e5511d1ea469624aa9842fc289e1 (patch)
tree524139be7f6d630b168319acd777e94a724542b5 /testsuites
parentFix integer overflow problems in times() (diff)
downloadrtems-fae59c9b4248e5511d1ea469624aa9842fc289e1.tar.bz2
dosfs: Support a cluster size of 64KiB
Close #3003.
Diffstat (limited to 'testsuites')
-rw-r--r--testsuites/fstests/fsdosfsformat01/init.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/testsuites/fstests/fsdosfsformat01/init.c b/testsuites/fstests/fsdosfsformat01/init.c
index f11ef056c3..b7df74883a 100644
--- a/testsuites/fstests/fsdosfsformat01/init.c
+++ b/testsuites/fstests/fsdosfsformat01/init.c
@@ -469,6 +469,34 @@ static void test( void )
rv = unlink( dev_name );
rtems_test_assert( rv == 0 );
+
+ /* FAT32 with cluster size of 64KiB */
+
+ sc = rtems_sparse_disk_create_and_register(
+ dev_name,
+ SECTOR_SIZE,
+ 1024,
+ 16777216, /* 8GiB */
+ 0
+ );
+ rtems_test_assert( sc == RTEMS_SUCCESSFUL );
+
+ memset( &rqdata, 0, sizeof( rqdata ) );
+ rqdata.sectors_per_cluster = 128;
+ rqdata.quick_format = true;
+ rv = msdos_format( dev_name, &rqdata );
+ rtems_test_assert( rv == 0 );
+
+ test_disk_params(
+ dev_name,
+ mount_dir,
+ SECTOR_SIZE,
+ SECTOR_SIZE * rqdata.sectors_per_cluster,
+ rqdata.sectors_per_cluster
+ );
+
+ rv = unlink( dev_name );
+ rtems_test_assert( rv == 0 );
}
static void Init( rtems_task_argument arg )