summaryrefslogtreecommitdiff
path: root/cpukit
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2023-09-22 14:14:14 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2023-09-26 08:04:30 +0200
commitee63681aeb6645f765eaeab1f42ef149ffcfbf2a (patch)
treeb02542b9659dbb170947db493020920a9aa95b8b /cpukit
parent3f3c646dea6e536ddb3f997309f419365df108cf (diff)
tests: Add header for RTEMS test printer
The <rtems/test-info.h> header file is required for every RTEMS test program. Move the RTEMS test printer support to a dedicated header file <rtems/test-printer.h>. This removes an unnecessary dependency to the RTEMS printer support in <rtems/test-info.h>. Tests using the RTEMS Testing Framework no longer depend on the <rtems/printer.h>.
Diffstat (limited to 'cpukit')
-rw-r--r--cpukit/include/rtems/test-info.h18
-rw-r--r--cpukit/include/rtems/test-printer.h69
-rw-r--r--cpukit/libtest/testbeginend.c1
-rw-r--r--cpukit/libtest/testwrappers.c2
4 files changed, 73 insertions, 17 deletions
diff --git a/cpukit/include/rtems/test-info.h b/cpukit/include/rtems/test-info.h
index c1b41ccc6e..a5c00c423a 100644
--- a/cpukit/include/rtems/test-info.h
+++ b/cpukit/include/rtems/test-info.h
@@ -3,10 +3,9 @@
/**
* @file
*
- * @ingroup RTEMSTestFramework
+ * @ingroup RTEMSTest
*
- * @brief This header file provides interfaces of the
- * RTEMS Test Framework.
+ * @brief This header file provides interfaces of the RTEMS Test Support.
*/
/*
@@ -38,7 +37,6 @@
#define _RTEMS_TEST_H
#include <rtems.h>
-#include <rtems/printer.h>
#include <rtems/score/atomic.h>
#include <rtems/score/smpbarrier.h>
@@ -62,11 +60,6 @@ extern "C" {
extern const char rtems_test_name[];
/**
- * @brief Each test must define a printer.
- */
-extern rtems_printer rtems_test_printer;
-
-/**
* @brief Fatal extension for tests.
*/
void rtems_test_fatal_extension(
@@ -134,13 +127,6 @@ int rtems_test_end(const char* name);
*/
RTEMS_NO_RETURN void rtems_test_exit(int status);
-/**
- * @brief Prints via the RTEMS printer.
- *
- * @return As specified by printf().
- */
-int rtems_test_printf(const char* format, ...) RTEMS_PRINTFLIKE(1, 2);
-
#define RTEMS_TEST_PARALLEL_PROCESSOR_MAX 32
typedef struct rtems_test_parallel_job rtems_test_parallel_job;
diff --git a/cpukit/include/rtems/test-printer.h b/cpukit/include/rtems/test-printer.h
new file mode 100644
index 0000000000..6625aa5a29
--- /dev/null
+++ b/cpukit/include/rtems/test-printer.h
@@ -0,0 +1,69 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
+/**
+ * @file
+ *
+ * @ingroup RTEMSTest
+ *
+ * @brief This header file provides interfaces of the RTEMS Test Support.
+ */
+
+/*
+ * Copyright (C) 2014, 2023 embedded brains GmbH & Co. KG
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef _RTEMS_TEST_PRINTER_H
+#define _RTEMS_TEST_PRINTER_H
+
+#include <rtems/printer.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+/**
+ * @addtogroup RTEMSTest
+ *
+ * @{
+ */
+
+/**
+ * @brief Provides an RTEMS printer for tests.
+ */
+extern rtems_printer rtems_test_printer;
+
+/**
+ * @brief Prints via the RTEMS test printer.
+ *
+ * @return Returns the count of output characters as specified by printf().
+ */
+int rtems_test_printf( const char *format, ... ) RTEMS_PRINTFLIKE( 1, 2 );
+
+/** @} */
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* _RTEMS_TEST_PRINTER_H */
diff --git a/cpukit/libtest/testbeginend.c b/cpukit/libtest/testbeginend.c
index 546fdf65ff..eca8712b35 100644
--- a/cpukit/libtest/testbeginend.c
+++ b/cpukit/libtest/testbeginend.c
@@ -41,6 +41,7 @@
#endif
#include <rtems/test-info.h>
+#include <rtems/test-printer.h>
#include <rtems/bspIo.h>
#include <rtems/version.h>
diff --git a/cpukit/libtest/testwrappers.c b/cpukit/libtest/testwrappers.c
index 3c6e8fccc3..2316208f7c 100644
--- a/cpukit/libtest/testwrappers.c
+++ b/cpukit/libtest/testwrappers.c
@@ -29,7 +29,7 @@
#include "config.h"
#endif
-#include <rtems/test-info.h>
+#include <rtems/test-printer.h>
int __wrap_printf(const char* format, ...);
int __wrap_puts(const char *str);