summaryrefslogtreecommitdiffstats
path: root/cpukit/libmisc/testsupport/testwrappers.c
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2017-11-08 13:27:25 +1100
committerChris Johns <chrisj@rtems.org>2017-11-11 16:14:59 +1100
commite6df806a3f46b5488e5e383add9cda43e0059dbe (patch)
tree560dabf7fec58d1d33cfaf419842ddbd085d8c16 /cpukit/libmisc/testsupport/testwrappers.c
parenttests: Use rtems_test_begin and rtems_test_end. (diff)
downloadrtems-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.c48
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 );
+}