forked from Imagelibrary/rtems
libtests/block11: Use custom device driver
This commit is contained in:
@@ -54,6 +54,8 @@ static const char rda [] = "/dev/rda";
|
|||||||
|
|
||||||
static const char rda1 [] = "/dev/rda1";
|
static const char rda1 [] = "/dev/rda1";
|
||||||
|
|
||||||
|
static const char dev_invalid [] = "/dev/invalid";
|
||||||
|
|
||||||
static const char not_exist [] = "not_exist";
|
static const char not_exist [] = "not_exist";
|
||||||
|
|
||||||
static const char not_blkdev [] = "not_blkdev";
|
static const char not_blkdev [] = "not_blkdev";
|
||||||
@@ -64,6 +66,29 @@ static long area_a [AREA_SIZE / sizeof(long)];
|
|||||||
|
|
||||||
static long area_b [AREA_SIZE / sizeof(long)];
|
static long area_b [AREA_SIZE / sizeof(long)];
|
||||||
|
|
||||||
|
static rtems_status_code invalid_initialize(
|
||||||
|
rtems_device_major_number major,
|
||||||
|
rtems_device_minor_number minor,
|
||||||
|
void *arg
|
||||||
|
)
|
||||||
|
{
|
||||||
|
rtems_status_code sc;
|
||||||
|
|
||||||
|
sc = rtems_io_register_name(&dev_invalid[0], major, 0);
|
||||||
|
ASSERT_SC(sc);
|
||||||
|
|
||||||
|
return sc;
|
||||||
|
}
|
||||||
|
|
||||||
|
static rtems_status_code invalid_control(
|
||||||
|
rtems_device_major_number major,
|
||||||
|
rtems_device_minor_number minor,
|
||||||
|
void *arg
|
||||||
|
)
|
||||||
|
{
|
||||||
|
return RTEMS_INVALID_NUMBER;
|
||||||
|
}
|
||||||
|
|
||||||
static void area_init(long *area)
|
static void area_init(long *area)
|
||||||
{
|
{
|
||||||
size_t i;
|
size_t i;
|
||||||
@@ -235,6 +260,7 @@ static void test_blkdev_imfs_errors(void)
|
|||||||
int rv;
|
int rv;
|
||||||
ramdisk *rd;
|
ramdisk *rd;
|
||||||
void *opaque;
|
void *opaque;
|
||||||
|
struct stat st;
|
||||||
|
|
||||||
rd = ramdisk_allocate(NULL, BLOCK_SIZE, BLOCK_COUNT, false);
|
rd = ramdisk_allocate(NULL, BLOCK_SIZE, BLOCK_COUNT, false);
|
||||||
rtems_test_assert(rd != NULL);
|
rtems_test_assert(rd != NULL);
|
||||||
@@ -298,7 +324,10 @@ static void test_blkdev_imfs_errors(void)
|
|||||||
);
|
);
|
||||||
rtems_test_assert(sc == RTEMS_INVALID_ID);
|
rtems_test_assert(sc == RTEMS_INVALID_ID);
|
||||||
|
|
||||||
rv = mknod(not_blkdev, S_IFREG | S_IRWXU | S_IRWXG | S_IRWXO, 0);
|
rv = lstat(&dev_invalid[0], &st);
|
||||||
|
rtems_test_assert(rv == 0);
|
||||||
|
|
||||||
|
rv = mknod(not_blkdev, S_IFREG | S_IRWXU | S_IRWXG | S_IRWXO, st.st_rdev);
|
||||||
rtems_test_assert(rv == 0);
|
rtems_test_assert(rv == 0);
|
||||||
|
|
||||||
sc = rtems_blkdev_create_partition(
|
sc = rtems_blkdev_create_partition(
|
||||||
@@ -309,7 +338,7 @@ static void test_blkdev_imfs_errors(void)
|
|||||||
);
|
);
|
||||||
rtems_test_assert(sc == RTEMS_INVALID_NODE);
|
rtems_test_assert(sc == RTEMS_INVALID_NODE);
|
||||||
|
|
||||||
rv = mknod(invalid_blkdev, S_IFBLK | S_IRWXU | S_IRWXG | S_IRWXO, 0);
|
rv = mknod(invalid_blkdev, S_IFBLK | S_IRWXU | S_IRWXG | S_IRWXO, st.st_rdev);
|
||||||
rtems_test_assert(rv == 0);
|
rtems_test_assert(rv == 0);
|
||||||
|
|
||||||
sc = rtems_blkdev_create_partition(
|
sc = rtems_blkdev_create_partition(
|
||||||
@@ -391,10 +420,14 @@ static rtems_task Init(rtems_task_argument argument)
|
|||||||
|
|
||||||
#define CONFIGURE_INIT
|
#define CONFIGURE_INIT
|
||||||
|
|
||||||
#define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
|
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||||
#define CONFIGURE_APPLICATION_NEEDS_LIBBLOCK
|
#define CONFIGURE_APPLICATION_NEEDS_LIBBLOCK
|
||||||
|
|
||||||
|
#define CONFIGURE_APPLICATION_EXTRA_DRIVERS \
|
||||||
|
{ .initialization_entry = invalid_initialize, \
|
||||||
|
.control_entry = invalid_control }
|
||||||
|
|
||||||
#define CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEM
|
#define CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEM
|
||||||
#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 5
|
#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 5
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user