summaryrefslogtreecommitdiffstats
path: root/testsuites/libtests
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
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')
-rw-r--r--testsuites/libtests/block01/init.c12
-rw-r--r--testsuites/libtests/block02/init.c57
-rw-r--r--testsuites/libtests/block03/init.c49
-rw-r--r--testsuites/libtests/block04/init.c49
-rw-r--r--testsuites/libtests/block07/init.c53
5 files changed, 140 insertions, 80 deletions
diff --git a/testsuites/libtests/block01/init.c b/testsuites/libtests/block01/init.c
index 92dbfc9aba..04b2ef4986 100644
--- a/testsuites/libtests/block01/init.c
+++ b/testsuites/libtests/block01/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>
@@ -35,9 +35,6 @@
const char rtems_test_name[] = "BLOCK 1";
-/* forward declarations to avoid warnings */
-static rtems_task Init(rtems_task_argument argument);
-
#define ASSERT_SC(sc) rtems_test_assert((sc) == RTEMS_SUCCESSFUL)
#define ASSERT_SC_EQ(sc, sc_expected) rtems_test_assert((sc) == (sc_expected))
@@ -46,6 +43,11 @@ static rtems_task Init(rtems_task_argument argument);
#define BLOCK_COUNT 16U
+static const rtems_driver_address_table ramdisk_ops = {
+ .initialization_entry = NULL,
+ RTEMS_GENERIC_BLOCK_DEVICE_DRIVER_ENTRIES
+};
+
static void test_block_io_control_api(dev_t dev, ramdisk *rd)
{
rtems_status_code sc = RTEMS_SUCCESSFUL;
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
diff --git a/testsuites/libtests/block03/init.c b/testsuites/libtests/block03/init.c
index c66a52049f..2bab878134 100644
--- a/testsuites/libtests/block03/init.c
+++ b/testsuites/libtests/block03/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 3";
+#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 3";
#define ASSERT_SC(sc) rtems_test_assert((sc) == RTEMS_SUCCESSFUL)
@@ -124,22 +124,38 @@ static void task_high(rtems_task_argument arg)
rtems_task_delete(RTEMS_SELF);
}
+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;
+ int fd;
+ int rv;
+
+ sc = ramdisk_register(media_block_size, media_block_count, false, disk);
+ ASSERT_SC(sc);
+
+ fd = open(disk, O_RDWR);
+ rtems_test_assert(fd >= 0);
+
+ rv = rtems_disk_fd_get_disk_device(fd, dd);
+ rtems_test_assert(rv == 0);
+
+ rv = close(fd);
+ rtems_test_assert(rv == 0);
+}
+
static rtems_task Init(rtems_task_argument argument)
{
rtems_status_code sc = RTEMS_SUCCESSFUL;
rtems_bdbuf_buffer *bd = NULL;
- dev_t dev = 0;
TEST_BEGIN();
- sc = rtems_disk_io_initialize();
- ASSERT_SC(sc);
-
- sc = ramdisk_register(BLOCK_SIZE, BLOCK_COUNT, false, "/dev/rda", &dev);
- ASSERT_SC(sc);
-
- dd = rtems_disk_obtain(dev);
- rtems_test_assert(dd != NULL);
+ do_ramdisk_register(BLOCK_SIZE, BLOCK_COUNT, "/dev/rda", &dd);
sc = rtems_task_create(
rtems_build_name(' ', 'L', 'O', 'W'),
@@ -187,8 +203,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 2
#define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION
diff --git a/testsuites/libtests/block04/init.c b/testsuites/libtests/block04/init.c
index 1b5d114029..891552d461 100644
--- a/testsuites/libtests/block04/init.c
+++ b/testsuites/libtests/block04/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 4";
+#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 4";
#define ASSERT_SC(sc) rtems_test_assert((sc) == RTEMS_SUCCESSFUL)
@@ -107,21 +107,37 @@ static void task_high(rtems_task_argument arg)
exit(0);
}
+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;
+ int fd;
+ int rv;
+
+ sc = ramdisk_register(media_block_size, media_block_count, false, disk);
+ ASSERT_SC(sc);
+
+ fd = open(disk, O_RDWR);
+ rtems_test_assert(fd >= 0);
+
+ rv = rtems_disk_fd_get_disk_device(fd, dd);
+ rtems_test_assert(rv == 0);
+
+ rv = close(fd);
+ rtems_test_assert(rv == 0);
+}
+
static rtems_task Init(rtems_task_argument argument)
{
rtems_status_code sc = RTEMS_SUCCESSFUL;
- dev_t dev = 0;
TEST_BEGIN();
- sc = rtems_disk_io_initialize();
- ASSERT_SC(sc);
-
- sc = ramdisk_register(BLOCK_SIZE, BLOCK_COUNT, false, "/dev/rda", &dev);
- ASSERT_SC(sc);
-
- dd = rtems_disk_obtain(dev);
- rtems_test_assert(dd != NULL);
+ do_ramdisk_register(BLOCK_SIZE, BLOCK_COUNT, "/dev/rda", &dd);
sc = rtems_task_create(
rtems_build_name(' ', 'L', 'O', 'W'),
@@ -159,8 +175,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 2
#define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION
diff --git a/testsuites/libtests/block07/init.c b/testsuites/libtests/block07/init.c
index 914dd35a90..e0f7ecc031 100644
--- a/testsuites/libtests/block07/init.c
+++ b/testsuites/libtests/block07/init.c
@@ -7,12 +7,13 @@
*/
/*
- * Copyright (c) 2009
- * embedded brains GmbH
- * Obere Lagerstr. 30
- * D-82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
+ * Copyright (c) 2009, 2018 embedded brains GmbH. All rights reserved.
+ *
+ * embedded brains GmbH
+ * Dornierstr. 4
+ * 82178 Puchheim
+ * Germany
+ * <rtems@embedded-brains.de>
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
@@ -27,19 +28,16 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
+#include <unistd.h>
#include "tmacros.h"
#include <rtems.h>
#include <rtems/ramdisk.h>
#include <rtems/bdbuf.h>
-#include <rtems/diskdevs.h>
const char rtems_test_name[] = "BLOCK 7";
-/* forward declarations to avoid warnings */
-static rtems_task Init(rtems_task_argument argument);
-
#define ASSERT_SC(sc) rtems_test_assert((sc) == RTEMS_SUCCESSFUL)
#define PRIORITY_INIT 1
@@ -158,23 +156,39 @@ static void task_high(rtems_task_argument arg)
rtems_task_delete(RTEMS_SELF);
}
+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;
+ int fd;
+ int rv;
+
+ sc = ramdisk_register(media_block_size, media_block_count, false, disk);
+ ASSERT_SC(sc);
+
+ fd = open(disk, O_RDWR);
+ rtems_test_assert(fd >= 0);
+
+ rv = rtems_disk_fd_get_disk_device(fd, dd);
+ rtems_test_assert(rv == 0);
+
+ rv = close(fd);
+ rtems_test_assert(rv == 0);
+}
+
static rtems_task Init(rtems_task_argument argument)
{
rtems_status_code sc = RTEMS_SUCCESSFUL;
rtems_task_priority cur_prio = 0;
rtems_bdbuf_buffer *bd = NULL;
- dev_t dev = 0;
TEST_BEGIN();
- sc = rtems_disk_io_initialize();
- ASSERT_SC(sc);
-
- sc = ramdisk_register(BLOCK_SIZE_A, BLOCK_COUNT, false, "/dev/rda", &dev);
- ASSERT_SC(sc);
-
- dd = rtems_disk_obtain(dev);
- rtems_test_assert(dd != NULL);
+ do_ramdisk_register(BLOCK_SIZE_A, BLOCK_COUNT, "/dev/rda", &dd);
sc = rtems_task_create(
rtems_build_name(' ', 'L', 'O', 'W'),
@@ -265,7 +279,6 @@ static rtems_task Init(rtems_task_argument argument)
#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 4
#define CONFIGURE_MAXIMUM_TASKS 4
-#define CONFIGURE_MAXIMUM_DRIVERS 2
#define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION