[PATCH v3] tests: Add and use <rtems/testopts.h>
Sebastian Huber
sebastian.huber at embedded-brains.de
Wed Sep 30 06:36:14 UTC 2020
Add the build option RTEMS_TEST_VERBOSITY to control the verbosity of
test suites using the RTEMS Test Framework.
---
v2 and v3:
Improve option comment.
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 <string.h>
#include <rtems/test.h>
+#include <rtems/testopts.h>
#include <tmacros.h>
#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 <rtems/sysinit.h>
#include <rtems/test.h>
+#include <rtems/testopts.h>
/**
* @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
--
2.26.2
More information about the devel
mailing list