File indexing completed on 2025-05-11 08:24:46
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 #define CONFIGURE_INIT
0034 #include "system.h"
0035
0036 const char rtems_test_name[] = "SP EVENT ERROR 3";
0037
0038 rtems_task Init(
0039 rtems_task_argument argument
0040 )
0041 {
0042 rtems_event_set event_out;
0043 rtems_time_of_day time;
0044 struct timeval tv;
0045 time_t seconds;
0046 rtems_status_code status;
0047
0048 TEST_BEGIN();
0049
0050 status = rtems_event_receive(
0051 RTEMS_EVENT_16,
0052 RTEMS_NO_WAIT,
0053 RTEMS_NO_TIMEOUT,
0054 NULL
0055 );
0056 fatal_directive_status(
0057 status,
0058 RTEMS_INVALID_ADDRESS,
0059 "rtems_event_receive NULL param"
0060 );
0061 puts( "TA1 - rtems_event_receive - NULL param - RTEMS_INVALID_ADDRESS" );
0062
0063 status = rtems_event_receive(
0064 RTEMS_EVENT_16,
0065 RTEMS_NO_WAIT,
0066 RTEMS_NO_TIMEOUT,
0067 &event_out
0068 );
0069 fatal_directive_status(
0070 status,
0071 RTEMS_UNSATISFIED,
0072 "rtems_event_receive unsatisfied (ALL)"
0073 );
0074 puts( "TA1 - rtems_event_receive - RTEMS_UNSATISFIED ( all conditions )" );
0075
0076 status = rtems_event_receive(
0077 RTEMS_EVENT_16,
0078 RTEMS_EVENT_ANY | RTEMS_NO_WAIT,
0079 RTEMS_NO_TIMEOUT,
0080 &event_out
0081 );
0082 fatal_directive_status(
0083 status,
0084 RTEMS_UNSATISFIED,
0085 "rtems_event_receive unsatisfied (ANY)"
0086 );
0087 puts( "TA1 - rtems_event_receive - RTEMS_UNSATISFIED ( any condition )" );
0088
0089 puts( "TA1 - rtems_event_receive - timeout in 3 seconds" );
0090 status = rtems_event_receive(
0091 RTEMS_EVENT_16,
0092 RTEMS_DEFAULT_OPTIONS,
0093 3 * rtems_clock_get_ticks_per_second(),
0094 &event_out
0095 );
0096 fatal_directive_status(
0097 status,
0098 RTEMS_TIMEOUT,
0099 "rtems_event_receive"
0100 );
0101 puts( "TA1 - rtems_event_receive - woke up with RTEMS_TIMEOUT" );
0102
0103 status = rtems_event_send( 100, RTEMS_EVENT_16 );
0104 fatal_directive_status(
0105 status,
0106 RTEMS_INVALID_ID,
0107 "rtems_event_send with illegal id"
0108 );
0109 puts( "TA1 - rtems_event_send - RTEMS_INVALID_ID" );
0110
0111 puts( "TA1 - rtems_task_wake_after - sleep 1 second - RTEMS_SUCCESSFUL" );
0112 status = rtems_task_wake_after( rtems_clock_get_ticks_per_second() );
0113 directive_failed( status, "rtems_task_wake_after" );
0114
0115 build_time( &time, 2, 5, 1988, 8, 30, 45, 0 );
0116 print_time( "TA1 - rtems_clock_set - ", &time, "" );
0117 status = rtems_clock_set( &time );
0118 directive_failed( status, "rtems_clock_set" );
0119 puts( " - RTEMS_SUCCESSFUL" );
0120
0121 status = rtems_clock_get_tod_timeval( &tv );
0122 directive_failed( status, "clock_get_tod_timeval OK" );
0123
0124 seconds = tv.tv_sec;
0125 printf( "TA1 - current time - %s\n", ctime(&seconds) );
0126
0127 TEST_END();
0128 }