[PATCH 2/2] libmisc/testsupport: Add RTEMS version, build and tools to the tests.
Sebastian Huber
sebastian.huber at embedded-brains.de
Mon Nov 6 06:12:37 UTC 2017
On 05/11/17 08:45, Chris Johns wrote:
> diff --git a/cpukit/libmisc/testsupport/test.h b/cpukit/libmisc/testsupport/test.h
> index d9ac6caf91..258667a923 100644
> --- a/cpukit/libmisc/testsupport/test.h
> +++ b/cpukit/libmisc/testsupport/test.h
> @@ -18,6 +18,7 @@
> #include <rtems.h>
> #include <rtems/printer.h>
> #include <rtems/score/atomic.h>
> +#include <rtems/score/cpuopts.h>
This is available via <rtems.h>.
> #include <rtems/score/smpbarrier.h>
>
> #ifdef __cplusplus
> @@ -58,6 +59,98 @@ void rtems_test_fatal_extension(
> { NULL, NULL, NULL, NULL, NULL, NULL, NULL, rtems_test_fatal_extension }
>
> /**
> + * @brief Build of the kernel. Print the test's build state and tools.
> + */
> +#define TEST_BUILD_DEFAULT "default"
> +#if RTEMS_POSIX
> + #define TEST_BUILD_DEFAULT ""
> + #define TEST_BUILD_POSIX "posix "
> +#else
> + #define TEST_BUILD_POSIX
> +#endif
> +#if RTEMS_SMP
> + #define TEST_BUILD_DEFAULT ""
> + #define TEST_BUILD_SMP "smp "
> +#else
> + #define TEST_BUILD_SMP
> +#endif
> +#if RTEMS_MULTIPROCESSING
> + #define TEST_BUILD_DEFAULT ""
> + #define TEST_BUILD_MP "mp "
> +#else
> + #define TEST_BUILD_MP
> +#endif
> +#if RTEMS_PARAVIRT
> + #define TEST_BUILD_DEFAULT ""
> + #define TEST_BUILD_PARAVIRT "paravirt "
> +#else
> + #define TEST_BUILD_PARAVIRT
> +#endif
> +#if RTEMS_NETWORKING
> + #define TEST_BUILD_DEFAULT ""
> + #define TEST_BUILD_NETWORKING "legacy-net "
> +#else
> + #define TEST_BUILD_NETWORKING
> +#endif
> +#if RTEMS_DEBUG
> + #define TEST_BUILD_DEFAULT ""
> + #define TEST_BUILD_DEBUG "debug "
> +#else
> + #define TEST_BUILD_DEBUG
> +#endif
> +#if RTEMS_PROFILING
> + #define TEST_BUILD_DEFAULT ""
> + #define TEST_BUILD_PROFILING "profiling "
> +#else
> + #define TEST_BUILD_PROFILING
> +#endif
These defines are only used in one source file. I would move this to the
source file.
> +
> +#define TEST_BUILD_STRING \
> + "*** TEST BUILD: " TEST_BUILD_DEFAULT \
> + TEST_BUILD_POSIX \
> + TEST_BUILD_SMP \
> + TEST_BUILD_MP \
> + TEST_BUILD_PARAVIRT \
> + TEST_BUILD_NETWORKING \
> + TEST_BUILD_DEBUG \
> + TEST_BUILD_PROFILING \
> + "\n"
> +
> +/**
> + * @brief Tools being used to build the kernel and tests.
> + */
> +#define TEST_TOOLS_STRING "*** TEST TOOLS: " __VERSION__ "\n"
> +
> +/**
> + * @brief Test states.
> + */
> +#if (TEST_STATE_EXPECTED_FAIL && TEST_STATE_USER_INPUT) || \
> + (TEST_STATE_EXPECTED_FAIL && TEST_STATE_INDETERMINATE) || \
> + (TEST_STATE_EXPECTED_FAIL && TEST_STATE_BENCHMARK) || \
> + (TEST_STATE_USER_INPUT && TEST_STATE_INDETERMINATE) || \
> + (TEST_STATE_USER_INPUT && TEST_STATE_BENCHMARK) || \
> + (TEST_STATE_INDETERMINATE && TEST_STATE_BENCHMARK)
> + #error Test states must be unique
> +#endif
Maybe we should separate the test classification from the actual output
and use an enum:
typedef enum {
RTEMS_TEST_TYPE_USER_INPUT,
RTEMS_TEST_TYPE_BENCHMARK,
...
} rtems_test_type;
--
Sebastian Huber, embedded brains GmbH
Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail : sebastian.huber at embedded-brains.de
PGP : Public key available on request.
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
More information about the devel
mailing list