From e6df806a3f46b5488e5e383add9cda43e0059dbe Mon Sep 17 00:00:00 2001 From: Chris Johns Date: Wed, 8 Nov 2017 13:27:25 +1100 Subject: tests: Use ld to map (wrap) printf, puts and putchar to tester functions. - Remove the macro defines and the need for tmacro.h by remapping the symbols using ld's wrap option. - Remove FLUSH_OUTPUT, it was empty. - Move rtems_test_exit to libmisc/testsupport as a function. Update #3199. --- cpukit/libmisc/testsupport/testwrappers.c | 48 +++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 cpukit/libmisc/testsupport/testwrappers.c (limited to 'cpukit/libmisc/testsupport/testwrappers.c') diff --git a/cpukit/libmisc/testsupport/testwrappers.c b/cpukit/libmisc/testsupport/testwrappers.c new file mode 100644 index 0000000000..c86c4cc3f8 --- /dev/null +++ b/cpukit/libmisc/testsupport/testwrappers.c @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2017 Chris Johns . All rights reserved. + * + * 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. + */ + +#ifdef HAVE_CONFIG_H + #include "config.h" +#endif + +#include + +int __wrap_printf(const char* format, ...); +int __wrap_puts(const char *str); +int __wrap_putchar(int c); + +int __wrap_printf( + const char* format, + ... +) +{ + va_list ap; + int len; + va_start(ap, format); + len = rtems_vprintf( + &rtems_test_printer, + format, + ap + ); + va_end(ap); + return len; +} + +int __wrap_puts( + const char *str +) +{ + return rtems_test_printf( "%s\n", str ); +} + +int __wrap_putchar( + int c +) +{ + return rtems_test_printf( "%c", c ); +} -- cgit v1.2.3