File indexing completed on 2025-05-11 08:24:32
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029 #ifdef HAVE_CONFIG_H
0030 #include "config.h"
0031 #endif
0032
0033 #include <tmacros.h>
0034 #include "test_support.h"
0035 #include <errno.h>
0036 #include <unistd.h>
0037 #include <sys/types.h>
0038 #include <sys/stat.h>
0039 #include <sys/ioctl.h>
0040 #include <fcntl.h>
0041 #include "test_driver.h"
0042 #include <rtems/devnull.h>
0043
0044 const char rtems_test_name[] = "DEVICEIO 1";
0045
0046 static rtems_task Init(
0047 rtems_task_argument argument
0048 )
0049 {
0050 int status;
0051 int fdr = 0, fdw = 0;
0052 char buf[10];
0053
0054 TEST_BEGIN();
0055
0056 puts( "Init - attempt to open the /dev/test WR mode -- OK" );
0057 fdw = open( "/dev/test", O_WRONLY );
0058 rtems_test_assert( fdw != -1 );
0059
0060 puts( "Init - attempt to write to /dev/test - expect ENOSYS" );
0061 status = write( fdw, "data", 10 );
0062 rtems_test_assert( status == -1 );
0063 rtems_test_assert( errno == ENOSYS );
0064
0065 puts( "Init - attempt to open the /dev/test RD mode -- OK" );
0066 fdr = open( "/dev/test", O_RDONLY );
0067 rtems_test_assert( fdr != -1 );
0068
0069 puts( "Init - attempt to read from /dev/test - expect ENOSYS" );
0070 status = read( fdr, buf, 10 );
0071 rtems_test_assert( status == -1 );
0072 rtems_test_assert( errno == ENOSYS );
0073
0074 puts( "Init - attempt ioctl on the device - expect ENOSYS" );
0075 status = ioctl( fdr, -1 );
0076 rtems_test_assert( status == -1 );
0077 rtems_test_assert( errno == ENOSYS );
0078
0079 TEST_END();
0080 rtems_test_exit(0);
0081 }
0082
0083
0084
0085 #define CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER
0086 #define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
0087 #define CONFIGURE_APPLICATION_EXTRA_DRIVERS TEST_DRIVER_TABLE_ENTRY
0088
0089 #define CONFIGURE_MAXIMUM_FILE_DESCRIPTORS 5
0090
0091 #define CONFIGURE_MAXIMUM_TASKS 1
0092 #define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION
0093
0094 #define CONFIGURE_RTEMS_INIT_TASKS_TABLE
0095
0096 #define CONFIGURE_INIT
0097 #include <rtems/confdefs.h>
0098