Files
rtems/testsuites/sptests/spfatal_support/system.h
Chris Johns 24d0ee57a4 cpukit, testsuite: Add rtems_printf and rtems_printer support.
This change adds rtems_printf and related functions and wraps the
RTEMS print plugin support into a user API. All references to the
plugin are removed and replaced with the rtems_printer interface.

Printk and related functions are made to return a valid number of
characters formatted and output.

The function attribute to check printf functions has been added
to rtems_printf and printk. No changes to remove warrnings are part
of this patch set.

The testsuite has been moved over to the rtems_printer. The testsuite
has a mix of rtems_printer access and direct print control via the
tmacros.h header file. The support for begink/endk has been removed
as it served no purpose and only confused the code base. The testsuite
has not been refactored to use rtems_printf. This is future work.
2016-05-25 15:47:34 +10:00

92 lines
2.1 KiB
C

/* system.h
*
* This include file contains information that is included in every
* function in the test set.
*
* COPYRIGHT (c) 1989-2009.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.org/license/LICENSE.
*/
/*
* Some of the fatal error cases require the ability to peek inside RTEMS
*/
#define TESTS_USE_PRINTK
#include "tmacros.h"
#include <rtems.h>
/* functions */
rtems_task Init(
rtems_task_argument argument
);
void Fatal_extension(
rtems_fatal_source source,
bool is_internal,
rtems_fatal_code error
);
void Put_Error(
uint32_t source,
uint32_t error
);
void Put_Source( rtems_fatal_source source );
void force_error(void);
/* need some prototypes for test cases */
rtems_device_driver consume_semaphores_initialize(
rtems_device_major_number major RTEMS_UNUSED,
rtems_device_minor_number minor RTEMS_UNUSED,
void *pargp RTEMS_UNUSED
);
#define CONSUME_SEMAPHORE_DRIVERS \
{ consume_semaphores_initialize, NULL, NULL, NULL, NULL, NULL }
#include "testcase.h"
/* configuration information */
extern rtems_extensions_table initial_extensions;
#define CONFIGURE_INITIAL_EXTENSIONS \
{ \
NULL, /* create */ \
NULL, /* start */ \
NULL, /* restart */ \
NULL, /* delete */ \
NULL, /* switch */ \
NULL, /* begin */ \
NULL, /* exitted */ \
Fatal_extension /* fatal */ \
}, \
RTEMS_TEST_INITIAL_EXTENSION
/* extra parameters may be in testcase.h */
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
/* always need an Init task, some cases need more tasks */
#ifndef SPFATAL_TEST_CASE_EXTRA_TASKS
#define SPFATAL_TEST_CASE_EXTRA_TASKS 0
#endif
#define CONFIGURE_MAXIMUM_TASKS \
(SPFATAL_TEST_CASE_EXTRA_TASKS + 1)
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
#include <rtems/confdefs.h>
/* global variables */
/* end of include file */