From 24d0ee57a4d95f99be6e7e60bd162a30daf0638d Mon Sep 17 00:00:00 2001 From: Chris Johns Date: Fri, 20 May 2016 18:39:50 +1000 Subject: 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. --- testsuites/samples/capture/init.c | 2 ++ testsuites/samples/hello/init.c | 2 ++ testsuites/samples/paranoia/init.c | 2 ++ 3 files changed, 6 insertions(+) (limited to 'testsuites/samples') diff --git a/testsuites/samples/capture/init.c b/testsuites/samples/capture/init.c index a10ccc5ba2..557e8094c2 100644 --- a/testsuites/samples/capture/init.c +++ b/testsuites/samples/capture/init.c @@ -27,6 +27,7 @@ rtems_task Init(rtems_task_argument argument); static void notification(int fd, int seconds_remaining, void *arg); const char rtems_test_name[] = "CAPTURE ENGINE"; +rtems_printer rtems_test_printer; volatile int can_proceed = 1; @@ -46,6 +47,7 @@ rtems_task Init( rtems_task_priority old_priority; rtems_mode old_mode; + rtems_print_printer_printf(&rtems_test_printer); rtems_test_begin(); status = rtems_shell_wait_for_input( diff --git a/testsuites/samples/hello/init.c b/testsuites/samples/hello/init.c index d8fe4507a7..ea9af89940 100644 --- a/testsuites/samples/hello/init.c +++ b/testsuites/samples/hello/init.c @@ -22,11 +22,13 @@ rtems_task Init(rtems_task_argument argument); const char rtems_test_name[] = "HELLO WORLD"; +rtems_printer rtems_test_printer; rtems_task Init( rtems_task_argument ignored ) { + rtems_print_printer_printf(&rtems_test_printer); rtems_test_begin(); printf( "Hello World\n" ); rtems_test_end(); diff --git a/testsuites/samples/paranoia/init.c b/testsuites/samples/paranoia/init.c index 3718af4cfd..ac7c2148c0 100644 --- a/testsuites/samples/paranoia/init.c +++ b/testsuites/samples/paranoia/init.c @@ -19,6 +19,7 @@ extern int paranoia(int, char **); const char rtems_test_name[] = "PARANOIA"; +rtems_printer rtems_test_printer; char *args[2] = { "paranoia", 0 }; @@ -35,6 +36,7 @@ rtems_task Init( M68KFPSPInstallExceptionHandlers (); #endif + rtems_print_printer_printf(&rtems_test_printer); rtems_test_begin(); paranoia(1, args); rtems_test_end(); -- cgit v1.2.3