diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-07-30 06:39:09 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-08-07 07:17:16 +0200 |
commit | 24b94c47713bbaadd8b8a876a2e7c7f3a9def5d8 (patch) | |
tree | efcbf3a2cd173820310dea2b7b7677329bc1a4e4 /testsuites/libtests/block02 | |
parent | rfs: Remove erroneous call of rtems_disk_release() (diff) | |
download | rtems-24b94c47713bbaadd8b8a876a2e7c7f3a9def5d8.tar.bz2 |
ramdisk: Use rtems_blkdev_create()
Update #3358.
Diffstat (limited to 'testsuites/libtests/block02')
-rw-r--r-- | testsuites/libtests/block02/init.c | 57 |
1 files changed, 34 insertions, 23 deletions
diff --git a/testsuites/libtests/block02/init.c b/testsuites/libtests/block02/init.c index c550517e21..983f876bcd 100644 --- a/testsuites/libtests/block02/init.c +++ b/testsuites/libtests/block02/init.c @@ -7,10 +7,10 @@ */ /* - * Copyright (c) 2009-2012 embedded brains GmbH. All rights reserved. + * Copyright (c) 2009, 2018 embedded brains GmbH. All rights reserved. * * embedded brains GmbH - * Obere Lagerstr. 30 + * Dornierstr. 4 * 82178 Puchheim * Germany * <rtems@embedded-brains.de> @@ -30,12 +30,12 @@ #include <rtems/bspIo.h> #include <rtems/ramdisk.h> #include <rtems/bdbuf.h> -#include <rtems/diskdevs.h> -const char rtems_test_name[] = "BLOCK 2"; +#include <sys/stat.h> +#include <fcntl.h> +#include <unistd.h> -/* forward declarations to avoid warnings */ -static rtems_task Init(rtems_task_argument argument); +const char rtems_test_name[] = "BLOCK 2"; #define ASSERT_SC(sc) rtems_test_assert((sc) == RTEMS_SUCCESSFUL) @@ -130,29 +130,39 @@ static void task_high(rtems_task_argument arg) rtems_task_delete(RTEMS_SELF); } -static rtems_task Init(rtems_task_argument argument) +static void do_ramdisk_register( + uint32_t media_block_size, + rtems_blkdev_bnum media_block_count, + const char *disk, + rtems_disk_device **dd +) { - rtems_status_code sc = RTEMS_SUCCESSFUL; - rtems_bdbuf_buffer *bd = NULL; - dev_t dev_a = 0; - dev_t dev_b = 0; + rtems_status_code sc; + int fd; + int rv; - TEST_BEGIN(); - - sc = rtems_disk_io_initialize(); + sc = ramdisk_register(media_block_size, media_block_count, false, disk); ASSERT_SC(sc); - sc = ramdisk_register(BLOCK_SIZE_A, BLOCK_COUNT_A, false, "/dev/rda", &dev_a); - ASSERT_SC(sc); + fd = open(disk, O_RDWR); + rtems_test_assert(fd >= 0); - sc = ramdisk_register(BLOCK_SIZE_B, BLOCK_COUNT_B, false, "/dev/rdb", &dev_b); - ASSERT_SC(sc); + rv = rtems_disk_fd_get_disk_device(fd, dd); + rtems_test_assert(rv == 0); - dd_a = rtems_disk_obtain(dev_a); - rtems_test_assert(dd_a != NULL); + rv = close(fd); + rtems_test_assert(rv == 0); +} - dd_b = rtems_disk_obtain(dev_b); - rtems_test_assert(dd_b != NULL); +static rtems_task Init(rtems_task_argument argument) +{ + rtems_status_code sc = RTEMS_SUCCESSFUL; + rtems_bdbuf_buffer *bd = NULL; + + TEST_BEGIN(); + + do_ramdisk_register(BLOCK_SIZE_A, BLOCK_COUNT_A, "/dev/rda", &dd_a); + do_ramdisk_register(BLOCK_SIZE_B, BLOCK_COUNT_B, "/dev/rdb", &dd_b); sc = rtems_task_create( rtems_build_name(' ', 'L', 'O', 'W'), @@ -200,8 +210,9 @@ static rtems_task Init(rtems_task_argument argument) #define CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER #define CONFIGURE_APPLICATION_NEEDS_LIBBLOCK +#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 4 + #define CONFIGURE_MAXIMUM_TASKS 3 -#define CONFIGURE_MAXIMUM_DRIVERS 3 #define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION |