[PATCH v2] tests: Add and use <rtems/testopts.h>
Sebastian Huber
sebastian.huber at embedded-brains.de
Wed Sep 30 06:09:34 UTC 2020
Add the build option RTEMS_TEST_VERBOSITY to control the verbosity of
test suites using the RTEMS test framework.
---
v2:
Improve option comment.
spec/build/testsuites/grp.yml | 2 ++
spec/build/testsuites/optverbosity.yml | 31 +++++++++++++++++++++++
spec/build/testsuites/testopts.yml | 13 ++++++++++
testsuites/smptests/smpmulticast01/init.c | 3 ++-
testsuites/validation/ts-validation-0.c | 3 ++-
5 files changed, 50 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..2b383ae55d
--- /dev/null
+++ b/spec/build/testsuites/optverbosity.yml
@@ -0,0 +1,31 @@
+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. 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.
+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