diff options
author | Chris Johns <chrisj@rtems.org> | 2017-11-08 13:27:25 +1100 |
---|---|---|
committer | Chris Johns <chrisj@rtems.org> | 2017-11-11 16:14:59 +1100 |
commit | e6df806a3f46b5488e5e383add9cda43e0059dbe (patch) | |
tree | 560dabf7fec58d1d33cfaf419842ddbd085d8c16 /cpukit/libmisc/testsupport/testwrappers.c | |
parent | tests: Use rtems_test_begin and rtems_test_end. (diff) | |
download | rtems-e6df806a3f46b5488e5e383add9cda43e0059dbe.tar.bz2 |
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.
Diffstat (limited to 'cpukit/libmisc/testsupport/testwrappers.c')
-rw-r--r-- | cpukit/libmisc/testsupport/testwrappers.c | 48 |
1 files changed, 48 insertions, 0 deletions
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 <chrisj@rtems.org>. 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 <rtems/test.h> + +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 ); +} |