From 2d8802b51976e3c3cc1b180962ee30daf2fe2629 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Sat, 26 Sep 2020 11:53:07 +0200 Subject: tests: Add and use Add the build option RTEMS_TEST_VERBOSITY to control the verbosity of test suites using the RTEMS Test Framework. --- spec/build/testsuites/grp.yml | 2 ++ spec/build/testsuites/optverbosity.yml | 34 +++++++++++++++++++++++++++++++ spec/build/testsuites/testopts.yml | 13 ++++++++++++ testsuites/smptests/smpmulticast01/init.c | 3 ++- testsuites/validation/ts-validation-0.c | 3 ++- 5 files changed, 53 insertions(+), 2 deletions(-) create mode 100644 spec/build/testsuites/optverbosity.yml create mode 100644 spec/build/testsuites/testopts.yml diff --git a/spec/build/testsuites/grp.yml b/spec/build/testsuites/grp.yml index 5c6457f06d..fa2bad1016 100644 --- a/spec/build/testsuites/grp.yml +++ b/spec/build/testsuites/grp.yml @@ -62,6 +62,8 @@ links: uid: tmtests/grp - role: build-dependency uid: validation/grp +- role: build-dependency + uid: testopts type: build use-after: - rtemscpu diff --git a/spec/build/testsuites/optverbosity.yml b/spec/build/testsuites/optverbosity.yml new file mode 100644 index 0000000000..0822caf3c7 --- /dev/null +++ b/spec/build/testsuites/optverbosity.yml @@ -0,0 +1,34 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +actions: +- get-string: null +- script: | + verbosities = { + "Verbose": "T_VERBOSE", + "Normal": "T_NORMAL", + "Quiet": "T_QUIET", + } + name = self.data["name"] + try: + conf.define(name, verbosities[value], quote=False) + except KeyError: + conf.fatal("The value of {} shall be one of {}".format( + name, verbosities.keys())) +build-type: option +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +default: Normal +default-by-variant: [] +description: | + Sets the test verbosity of the RTEMS Test Framework. Valid values are + "Verbose", "Normal", and "Quiet". For normal tests runs you can use a + verbosity of "Normal". If you need a more detailed output, then you can set + it to "Verbose". For example, in case a regression ocurred. Reducing the + verbosity level can significantly reduce the test duration especially on + targets with a slow serial output device. All verbosity levels produce + enough output to notice failed test cases. In particular, the begin and end + of test information is not affected by the verbosity level. +enabled-by: true +format: '{}' +links: [] +name: RTEMS_TEST_VERBOSITY +type: build diff --git a/spec/build/testsuites/testopts.yml b/spec/build/testsuites/testopts.yml new file mode 100644 index 0000000000..8b6ab38f56 --- /dev/null +++ b/spec/build/testsuites/testopts.yml @@ -0,0 +1,13 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +build-type: config-header +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +guard: _RTEMS_TESTOPTS_H +include-headers: [] +install-path: ${BSP_INCLUDEDIR}/rtems +links: +- role: build-dependency + uid: optverbosity +target: cpukit/include/rtems/testopts.h +type: build diff --git a/testsuites/smptests/smpmulticast01/init.c b/testsuites/smptests/smpmulticast01/init.c index f5ed70952a..3d2412427c 100644 --- a/testsuites/smptests/smpmulticast01/init.c +++ b/testsuites/smptests/smpmulticast01/init.c @@ -34,6 +34,7 @@ #include #include +#include #include #define CPU_COUNT 32 @@ -43,7 +44,7 @@ const char rtems_test_name[] = "SMPMULTICAST 1"; static const T_config config = { .name = "SMPMultiCast", .putchar = T_putchar_default, - .verbosity = T_VERBOSE, + .verbosity = RTEMS_TEST_VERBOSITY, .now = T_now_clock }; diff --git a/testsuites/validation/ts-validation-0.c b/testsuites/validation/ts-validation-0.c index 3e60fb6ab8..0d641637ee 100644 --- a/testsuites/validation/ts-validation-0.c +++ b/testsuites/validation/ts-validation-0.c @@ -49,6 +49,7 @@ #include #include +#include /** * @defgroup RTEMSTestSuiteTestsuitesValidation0 spec:/testsuites/validation-0 @@ -88,7 +89,7 @@ static const T_config test_config = { .buf = buffer, .buf_size = sizeof( buffer ), .putchar = rtems_put_char, - .verbosity = T_VERBOSE, + .verbosity = RTEMS_TEST_VERBOSITY, .now = T_now_clock, .action_count = T_ARRAY_SIZE( actions ), .actions = actions -- cgit v1.2.3