File indexing completed on 2025-05-11 08:24:21
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
0030
0031
0032
0033
0034
0035
0036 #ifdef HAVE_CONFIG_H
0037 #include "config.h"
0038 #endif
0039
0040 #include <rtems/test-info.h>
0041 #include <rtems/test-printer.h>
0042 #include <rtems/test.h>
0043
0044 #include <stdlib.h>
0045
0046 static char buffer[ 512 ];
0047
0048 static const T_action actions[] = {
0049 T_report_hash_sha256,
0050 T_check_task_context,
0051 T_check_file_descriptors,
0052 T_check_rtems_barriers,
0053 T_check_rtems_extensions,
0054 T_check_rtems_message_queues,
0055 T_check_rtems_partitions,
0056 T_check_rtems_periods,
0057 T_check_rtems_regions,
0058 T_check_rtems_semaphores,
0059 T_check_rtems_tasks,
0060 T_check_rtems_timers,
0061 T_check_posix_keys
0062 };
0063
0064 static const T_config config = {
0065 .name = rtems_test_name,
0066 .buf = buffer,
0067 .buf_size = sizeof( buffer ),
0068 .putchar = T_putchar_default,
0069 .verbosity = T_NORMAL,
0070 .now = T_now_clock,
0071 .allocate = malloc,
0072 .deallocate = free,
0073 .action_count = T_ARRAY_SIZE( actions ),
0074 .actions = actions
0075 };
0076
0077 static int printer(void *context, const char *fmt, va_list ap)
0078 {
0079 (void) context;
0080 return T_vprintf(fmt, ap);
0081 }
0082
0083 void rtems_test_run(
0084 rtems_task_argument arg,
0085 const RTEMS_TEST_STATE state
0086 )
0087 {
0088 rtems_print_printer previous_printer;
0089 int exit_code;
0090
0091 (void) arg;
0092
0093 rtems_test_begin( rtems_test_name, state );
0094 T_register();
0095
0096 previous_printer = rtems_test_printer.printer;
0097 rtems_test_printer.printer = printer;
0098
0099 exit_code = T_main( &config );
0100
0101 rtems_test_printer.printer = previous_printer;
0102
0103 if ( exit_code == 0 ) {
0104 rtems_test_end( rtems_test_name );
0105 }
0106
0107 rtems_test_exit( 0 );
0108 }