[PATCH] libtest: Move parts to extra files

Joel Sherrill joel at rtems.org
Fri Nov 3 13:54:26 UTC 2023


Seems ok.

On Fri, Nov 3, 2023 at 3:58 AM Sebastian Huber <
sebastian.huber at embedded-brains.de> wrote:

> Move the RTEMS test printer and rtems_test_exit() to separate files, to
> remove dependencies from the begin/end test messsage support.
>
> Update #4963.
> ---
>  cpukit/libtest/testbeginend.c      | 28 -------------
>  cpukit/libtest/testexit.c          | 47 ++++++++++++++++++++++
>  cpukit/libtest/testprinter.c       | 63 ++++++++++++++++++++++++++++++
>  spec/build/cpukit/librtemstest.yml |  2 +
>  4 files changed, 112 insertions(+), 28 deletions(-)
>  create mode 100644 cpukit/libtest/testexit.c
>  create mode 100644 cpukit/libtest/testprinter.c
>
> diff --git a/cpukit/libtest/testbeginend.c b/cpukit/libtest/testbeginend.c
> index eca8712b35..d520a45e62 100644
> --- a/cpukit/libtest/testbeginend.c
> +++ b/cpukit/libtest/testbeginend.c
> @@ -42,13 +42,8 @@
>
>  #include <rtems/test-info.h>
>  #include <rtems/test-printer.h>
> -#include <rtems/bspIo.h>
>  #include <rtems/version.h>
>
> -rtems_printer rtems_test_printer = {
> -  .printer = rtems_printk_printer
> -};
> -
>  static const char* const test_state_strings[] =
>  {
>    "EXPECTED_PASS",
> @@ -102,26 +97,3 @@ int rtems_test_end(const char* name)
>      "\n*** END OF TEST %s ***\n\n", name
>    );
>  }
> -
> -void rtems_test_exit(int status)
> -{
> -  (void) status;
> -  rtems_shutdown_executive(0);
> -}
> -
> -int rtems_test_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;
> -}
> diff --git a/cpukit/libtest/testexit.c b/cpukit/libtest/testexit.c
> new file mode 100644
> index 0000000000..89f0dc341a
> --- /dev/null
> +++ b/cpukit/libtest/testexit.c
> @@ -0,0 +1,47 @@
> +/* SPDX-License-Identifier: BSD-2-Clause */
> +
> +/**
> + * @file
> + *
> + * @ingroup RTEMSTestFrameworkImpl
> + *
> + * @brief This source file contains the implementation of
> + *   rtems_test_exit().
> + */
> +
> +/*
> + * Copyright (c) 2017 Chris Johns <chrisj at rtems.org>. All rights
> reserved.
> + *
> + * 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.
> + */
> +
> +#ifdef HAVE_CONFIG_H
> +#include "config.h"
> +#endif
> +
> +#include <rtems/test-info.h>
> +
> +void rtems_test_exit(int status)
> +{
> +  (void) status;
> +  rtems_shutdown_executive(0);
> +}
> diff --git a/cpukit/libtest/testprinter.c b/cpukit/libtest/testprinter.c
> new file mode 100644
> index 0000000000..b2b782bf4b
> --- /dev/null
> +++ b/cpukit/libtest/testprinter.c
> @@ -0,0 +1,63 @@
> +/* SPDX-License-Identifier: BSD-2-Clause */
> +
> +/**
> + * @file
> + *
> + * @ingroup RTEMSTestFrameworkImpl
> + *
> + * @brief This source file contains the definition of
> ::rtems_test_printer and
> + *   the implementation of rtems_test_printf().
> + */
> +
> +/*
> + * Copyright (c) 2017 Chris Johns <chrisj at rtems.org>. All rights
> reserved.
> + *
> + * 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.
> + */
> +
> +#ifdef HAVE_CONFIG_H
> +#include "config.h"
> +#endif
> +
> +#include <rtems/test-printer.h>
> +#include <rtems/bspIo.h>
> +
> +rtems_printer rtems_test_printer = {
> +  .printer = rtems_printk_printer
> +};
> +
> +int rtems_test_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;
> +}
> diff --git a/spec/build/cpukit/librtemstest.yml
> b/spec/build/cpukit/librtemstest.yml
> index fc268f8971..fbce36aace 100644
> --- a/spec/build/cpukit/librtemstest.yml
> +++ b/spec/build/cpukit/librtemstest.yml
> @@ -42,11 +42,13 @@ source:
>  - cpukit/libtest/t-test.c
>  - cpukit/libtest/testbeginend.c
>  - cpukit/libtest/testbusy.c
> +- cpukit/libtest/testexit.c
>  - cpukit/libtest/testextension.c
>  - cpukit/libtest/testgcovcpufatalhalt.c
>  - cpukit/libtest/testgcovbspreset.c
>  - cpukit/libtest/testgcovdumpinfo.c
>  - cpukit/libtest/testparallel.c
> +- cpukit/libtest/testprinter.c
>  - cpukit/libtest/testrun.c
>  - cpukit/libtest/testwrappers.c
>  target: rtemstest
> --
> 2.35.3
>
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20231103/b0b5f6f4/attachment.htm>


More information about the devel mailing list