summaryrefslogtreecommitdiffstats
path: root/testsuites/libtests/block02
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2018-07-30 06:39:09 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-08-07 07:17:16 +0200
commit24b94c47713bbaadd8b8a876a2e7c7f3a9def5d8 (patch)
treeefcbf3a2cd173820310dea2b7b7677329bc1a4e4 /testsuites/libtests/block02
parentrfs: Remove erroneous call of rtems_disk_release() (diff)
downloadrtems-24b94c47713bbaadd8b8a876a2e7c7f3a9def5d8.tar.bz2
ramdisk: Use rtems_blkdev_create()
Update #3358.
Diffstat (limited to 'testsuites/libtests/block02')
-rw-r--r--testsuites/libtests/block02/init.c57
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