diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2023-09-22 14:14:14 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2023-09-26 08:04:30 +0200 |
commit | ee63681aeb6645f765eaeab1f42ef149ffcfbf2a (patch) | |
tree | b02542b9659dbb170947db493020920a9aa95b8b /cpukit | |
parent | 3f3c646dea6e536ddb3f997309f419365df108cf (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.h | 18 | ||||
-rw-r--r-- | cpukit/include/rtems/test-printer.h | 69 | ||||
-rw-r--r-- | cpukit/libtest/testbeginend.c | 1 | ||||
-rw-r--r-- | cpukit/libtest/testwrappers.c | 2 |
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); |