From 5e4bab7769c6d6cb791a2f8b2c3bd6f47ae1a010 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 3 Aug 2018 22:21:20 +0200 Subject: libtests/block12: Use rtems_blkdev_create() Update #3358. --- testsuites/libtests/block12/init.c | 43 ++++++++++++++++++++++---------------- 1 file changed, 25 insertions(+), 18 deletions(-) (limited to 'testsuites') diff --git a/testsuites/libtests/block12/init.c b/testsuites/libtests/block12/init.c index 036a4e92e6..ddc27958aa 100644 --- a/testsuites/libtests/block12/init.c +++ b/testsuites/libtests/block12/init.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 2012 embedded brains GmbH. All rights reserved. + * Copyright (c) 2012, 2018 embedded brains GmbH. All rights reserved. * * embedded brains GmbH - * Obere Lagerstr. 30 + * Dornierstr. 4 * 82178 Puchheim * Germany * @@ -18,8 +18,12 @@ #include "tmacros.h" +#include +#include #include +#include #include +#include #include #include @@ -28,6 +32,8 @@ const char rtems_test_name[] = "BLOCK 12"; #define BLOCK_COUNT 15 +#define DISK_PATH "/disk" + static int block_access_counts [BLOCK_COUNT]; static int expected_block_access_counts [BLOCK_COUNT] = { @@ -59,8 +65,7 @@ static int test_disk_ioctl(rtems_disk_device *dd, uint32_t req, void *arg) rtems_blkdev_request_done(breq, RTEMS_SUCCESSFUL); } else { - errno = EINVAL; - rv = -1; + rv = rtems_blkdev_ioctl(dd, req, arg); } return rv; @@ -85,24 +90,27 @@ static void do_read_sequence(rtems_disk_device *dd) static void test(void) { rtems_status_code sc; - dev_t dev = 0; + int fd; + int rv; rtems_disk_device *dd; - sc = rtems_disk_io_initialize(); - rtems_test_assert(sc == RTEMS_SUCCESSFUL); - - sc = rtems_disk_create_phys( - dev, + sc = rtems_blkdev_create( + DISK_PATH, 1, BLOCK_COUNT, test_disk_ioctl, - NULL, NULL ); rtems_test_assert(sc == RTEMS_SUCCESSFUL); - dd = rtems_disk_obtain(dev); - rtems_test_assert(dd != NULL); + fd = open(DISK_PATH, 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); do_read_sequence(dd); rtems_bdbuf_purge_dev(dd); @@ -116,11 +124,8 @@ static void test(void) ) == 0 ); - sc = rtems_disk_release(dd); - rtems_test_assert(sc == RTEMS_SUCCESSFUL); - - sc = rtems_disk_delete(dev); - rtems_test_assert(sc == RTEMS_SUCCESSFUL); + rv = unlink(DISK_PATH); + rtems_test_assert(rv == 0); } static void Init(rtems_task_argument arg) @@ -138,6 +143,8 @@ static void Init(rtems_task_argument arg) #define CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER #define CONFIGURE_APPLICATION_NEEDS_LIBBLOCK +#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 4 + #define CONFIGURE_BDBUF_BUFFER_MIN_SIZE 1 #define CONFIGURE_BDBUF_BUFFER_MAX_SIZE 1 #define CONFIGURE_BDBUF_CACHE_MEMORY_SIZE BLOCK_COUNT -- cgit v1.2.3