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.
This commit is contained in:
Chris Johns
2016-05-20 18:39:50 +10:00
parent b1860df53d
commit 24d0ee57a4
90 changed files with 806 additions and 561 deletions

View File

@@ -24,7 +24,7 @@ extern "C" {
*/
#if defined(TESTS_USE_PRINTK)
#include <rtems/bspIo.h>
#include <rtems/print.h>
#undef printf
#define printf(...) \
@@ -54,9 +54,9 @@ extern "C" {
do { \
} while (0)
#define TEST_BEGIN() rtems_test_begink()
#define TEST_BEGIN() printk(TEST_BEGIN_STRING)
#define TEST_END() rtems_test_endk()
#define TEST_END() printk(TEST_END_STRING)
/*
* BUFFER TEST OUTPUT
@@ -156,9 +156,9 @@ extern "C" {
fflush(stdout); \
} while (0)
#define TEST_BEGIN() rtems_test_begin()
#define TEST_BEGIN() printf(TEST_BEGIN_STRING)
#define TEST_END() rtems_test_end()
#define TEST_END() printf(TEST_END_STRING)
/*
* USE IPRINT
@@ -205,11 +205,9 @@ extern "C" {
fflush(stdout); \
} while (0)
#define TEST_BEGIN() \
rtems_test_begin_with_plugin((rtems_printk_plugin_t) fiprintf, stderr)
#define TEST_BEGIN() fiprintf( stderr, TEST_BEGIN_STRING)
#define TEST_END() \
rtems_test_end_with_plugin((rtems_printk_plugin_t) fiprintf, stderr)
#define TEST_END() fiprintf( stderr, TEST_END_STRING)
#endif