diff options
Diffstat (limited to 'testsuites')
-rw-r--r-- | testsuites/fstests/fsdosfsformat01/init.c | 71 | ||||
-rw-r--r-- | testsuites/fstests/fsdosfssync01/init.c | 7 | ||||
-rw-r--r-- | testsuites/libtests/termios02/init.c | 41 | ||||
-rw-r--r-- | testsuites/libtests/termios02/termios02.scn | 6 |
4 files changed, 93 insertions, 32 deletions
diff --git a/testsuites/fstests/fsdosfsformat01/init.c b/testsuites/fstests/fsdosfsformat01/init.c index 1af9be8cf5..6299c9b50a 100644 --- a/testsuites/fstests/fsdosfsformat01/init.c +++ b/testsuites/fstests/fsdosfsformat01/init.c @@ -159,7 +159,7 @@ static void test( void ) const char dev_name[] = "/dev/rda"; const char mount_dir[] = "/mnt"; msdos_format_request_param_t rqdata; - + rtems_blkdev_bnum media_block_count; memset( &rqdata, 0, sizeof( rqdata ) ); @@ -217,23 +217,30 @@ static void test( void ) rv = msdos_format( dev_name, &rqdata ); rtems_test_assert( rv != 0 ); + /* Optimized for read/write speed */ rqdata.OEMName = NULL; rqdata.VolLabel = NULL; - rqdata.sectors_per_cluster = 16; /* Invalid number of sectors per cluster for FAT12 */ - rqdata.fat_num = 1; - rqdata.files_per_root_dir = 32; + rqdata.sectors_per_cluster = 8; + rqdata.fat_num = 0; + rqdata.files_per_root_dir = 0; rqdata.media = 0; /* Media code. 0 == Default */ rqdata.quick_format = true; rqdata.skip_alignment = false; rv = msdos_format( dev_name, &rqdata ); - rtems_test_assert( rv != 0 ); + rtems_test_assert( rv == 0 ); + test_disk_params( dev_name, + mount_dir, + SECTOR_SIZE, + SECTOR_SIZE * rqdata.sectors_per_cluster, + rqdata.sectors_per_cluster ); - /* Optimized for read/write speed */ + /* The same disk formatted with FAT16 because sectors per cluster is too high + * for FAT12 */ rqdata.OEMName = NULL; rqdata.VolLabel = NULL; - rqdata.sectors_per_cluster = 8; - rqdata.fat_num = 0; - rqdata.files_per_root_dir = 0; + rqdata.sectors_per_cluster = 16; + rqdata.fat_num = 1; + rqdata.files_per_root_dir = 32; rqdata.media = 0; /* Media code. 0 == Default */ rqdata.quick_format = true; rqdata.skip_alignment = false; @@ -275,7 +282,7 @@ static void test( void ) dev_name, SECTOR_SIZE, 1024, - ( FAT16_MAX_CLN * FAT16_DEFAULT_SECTORS_PER_CLUSTER ) - 1L, + ( FAT12_MAX_CLN * FAT12_DEFAULT_SECTORS_PER_CLUSTER ) + 1L, 0 ); rtems_test_assert( RTEMS_SUCCESSFUL == sc ); @@ -291,7 +298,11 @@ static void test( void ) rqdata.skip_alignment = true; rv = msdos_format( dev_name, &rqdata ); rtems_test_assert( rv == 0 ); - test_disk_params( dev_name, mount_dir, SECTOR_SIZE, SECTOR_SIZE, 1 ); + test_disk_params( dev_name, + mount_dir, + SECTOR_SIZE, + rqdata.sectors_per_cluster * SECTOR_SIZE, + rqdata.sectors_per_cluster ); rv = unlink( dev_name ); rtems_test_assert( rv == 0 ); @@ -361,6 +372,44 @@ static void test( void ) rv = unlink( dev_name ); rtems_test_assert( rv == 0 ); + /* Format some disks from 1MB up to 128GB */ + rqdata.OEMName = NULL; + rqdata.VolLabel = NULL; + rqdata.sectors_per_cluster = 64; + rqdata.fat_num = 0; + rqdata.files_per_root_dir = 0; + rqdata.media = 0; + rqdata.quick_format = true; + rqdata.skip_alignment = false; + for ( + media_block_count = 1 * 1024 * ( 1024 / SECTOR_SIZE ); + media_block_count <= 128 * 1024 * 1024 * ( 1024 / SECTOR_SIZE ); + media_block_count *= 2 + ) { + sc = rtems_sparse_disk_create_and_register( + dev_name, + SECTOR_SIZE, + 64, + media_block_count, + 0 + ); + rtems_test_assert( sc == RTEMS_SUCCESSFUL ); + + 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 ); + } + /* FAT32 */ sc = rtems_sparse_disk_create_and_register( diff --git a/testsuites/fstests/fsdosfssync01/init.c b/testsuites/fstests/fsdosfssync01/init.c index 72481b29b8..fc38e2cfd9 100644 --- a/testsuites/fstests/fsdosfssync01/init.c +++ b/testsuites/fstests/fsdosfssync01/init.c @@ -89,6 +89,11 @@ static void check_file_size(const char *file, off_t size) static void test(const char *rda, const char *mnt, const char *file) { + static const msdos_format_request_param_t rqdata = { + .quick_format = true, + .sync_device = true + }; + rtems_status_code sc; int disk_fd; int rv; @@ -99,7 +104,7 @@ static void test(const char *rda, const char *mnt, const char *file) disk_fd = open(rda, O_RDWR); rtems_test_assert(disk_fd >= 0); - rv = msdos_format(rda, NULL); + rv = msdos_format(rda, &rqdata); rtems_test_assert(rv == 0); rv = mount_and_make_target_path( diff --git a/testsuites/libtests/termios02/init.c b/testsuites/libtests/termios02/init.c index 7659314960..e944bca9af 100644 --- a/testsuites/libtests/termios02/init.c +++ b/testsuites/libtests/termios02/init.c @@ -47,56 +47,63 @@ rtems_task Init( tcdrain(2); rtems_test_assert( !sc ); - puts( "" ); + puts( "" ); /***** TEST TCFLOW *****/ puts( "tcflow(stdin, TCOOFF) - ENOTSUP" ); + errno = 0; sc = tcflow( 0, TCOOFF ); rtems_test_assert( sc == -1 ); - rtems_test_assert( errno = ENOTSUP ); + rtems_test_assert( errno == ENOTSUP ); puts( "tcflow(stdin, TCOON) - ENOTSUP" ); + errno = 0; sc = tcflow( 0, TCOON ); rtems_test_assert( sc == -1 ); - rtems_test_assert( errno = ENOTSUP ); + rtems_test_assert( errno == ENOTSUP ); puts( "tcflow(stdin, TCIOFF) - ENOTSUP" ); + errno = 0; sc = tcflow( 0, TCIOFF ); rtems_test_assert( sc == -1 ); - rtems_test_assert( errno = ENOTSUP ); + rtems_test_assert( errno == ENOTSUP ); puts( "tcflow(stdin, TCION) - ENOTSUP" ); + errno = 0; sc = tcflow( 0, TCION ); rtems_test_assert( sc == -1 ); - rtems_test_assert( errno = ENOTSUP ); + rtems_test_assert( errno == ENOTSUP ); puts( "tcflow(stdin, 22) - EINVAL" ); + errno = 0; sc = tcflow( 0, 22 ); rtems_test_assert( sc == -1 ); - rtems_test_assert( errno = EINVAL ); + rtems_test_assert( errno == EINVAL ); - puts( "" ); + puts( "" ); /***** TEST TCFLUSH *****/ - puts( "tcflush(stdin, TCIFLUSH) - ENOTSUP" ); + puts( "tcflush(stdin, TCIFLUSH) - OK" ); + errno = 0; sc = tcflush( 0, TCIFLUSH ); - rtems_test_assert( sc == -1 ); - rtems_test_assert( errno = ENOTSUP ); + rtems_test_assert( sc == 0 ); + rtems_test_assert( errno == 0 ); - puts( "tcflush(stdin, TCOFLUSH) - ENOTSUP" ); + puts( "tcflush(stdin, TCOFLUSH) - OK" ); sc = tcflush( 0, TCOFLUSH ); - rtems_test_assert( sc == -1 ); - rtems_test_assert( errno = ENOTSUP ); + rtems_test_assert( sc == 0 ); + rtems_test_assert( errno == 0 ); - puts( "tcflush(stdin, TCIOFLUSH) - ENOTSUP" ); + puts( "tcflush(stdin, TCIOFLUSH) - OK" ); sc = tcflush( 0, TCIOFLUSH ); - rtems_test_assert( sc == -1 ); - rtems_test_assert( errno = ENOTSUP ); + rtems_test_assert( sc == 0 ); + rtems_test_assert( errno == 0 ); puts( "tcflush(stdin, 22) - EINVAL" ); + errno = 0; sc = tcflush( 0, 22 ); rtems_test_assert( sc == -1 ); - rtems_test_assert( errno = EINVAL ); + rtems_test_assert( errno == EINVAL ); puts( "" ); diff --git a/testsuites/libtests/termios02/termios02.scn b/testsuites/libtests/termios02/termios02.scn index 5e29a9cc65..9b38d69ba1 100644 --- a/testsuites/libtests/termios02/termios02.scn +++ b/testsuites/libtests/termios02/termios02.scn @@ -10,9 +10,9 @@ tcflow(stdin, TCIOFF) - ENOTSUP tcflow(stdin, TCION) - ENOTSUP tcflow(stdin, 22) - EINVAL -tcflush(stdin, TCIFLUSH) - ENOTSUP -tcflush(stdin, TCOFLUSH) - ENOTSUP -tcflush(stdin, TCIOFLUSH) - ENOTSUP +tcflush(stdin, TCIFLUSH) - OK +tcflush(stdin, TCOFLUSH) - OK +tcflush(stdin, TCIOFLUSH) - OK tcflush(stdin, 22) - EINVAL tcgetpgrp( 1 ) - OK |