[PATCH 1/1] of: unittest: config option - print pass message at same level as fail

From: frowand . list
Date: Wed Feb 02 2022 - 14:45:28 EST


From: Frank Rowand <frank.rowand@xxxxxxxx>

Printing the devicetree unittest pass message for each passed test
creates much console verbosity. The existing pass messages are
printed at loglevel KERN_DEBUG so they will not print by default.

The test community expects either a pass or a fail message for each
test in a test suite. The messages are typically post-processed to
report pass/fail results.

The pass messages can currently be reported by enabling KERN_DEBUG
loglevel for the console, but this also results in other additional
messages. Create OF_UNITTEST_SHOW_PASS to enable printing the pass
messages at the same loglevel as the fail messages.

Signed-off-by: Frank Rowand <frank.rowand@xxxxxxxx>
---
drivers/of/Kconfig | 10 ++++++++++
drivers/of/unittest.c | 5 ++++-
2 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/drivers/of/Kconfig b/drivers/of/Kconfig
index 80b5fd44ab1c..6ad05df4f7d4 100644
--- a/drivers/of/Kconfig
+++ b/drivers/of/Kconfig
@@ -25,6 +25,16 @@ config OF_UNITTEST

If unsure, say N here, but this option is safe to enable.

+config OF_UNITTEST_SHOW_PASS
+ bool "Device Tree runtime unit tests, report each pass"
+ depends on OF_UNITTEST
+ help
+ The messages reporting an individual test pass are normally
+ printed at loglevel KERN_DEBUG. Enable this option to print
+ the PASS messages at the same loglevel as the FAIL messages.
+
+ If unsure, say N here, but this option is safe to enable.
+
config OF_ALL_DTBS
bool "Build all Device Tree Blobs"
depends on COMPILE_TEST
diff --git a/drivers/of/unittest.c b/drivers/of/unittest.c
index 70992103c07d..efcec1c6c895 100644
--- a/drivers/of/unittest.c
+++ b/drivers/of/unittest.c
@@ -44,7 +44,10 @@ static struct unittest_results {
pr_err("FAIL %s():%i " fmt, __func__, __LINE__, ##__VA_ARGS__); \
} else { \
unittest_results.passed++; \
- pr_debug("pass %s():%i\n", __func__, __LINE__); \
+ if (IS_ENABLED(CONFIG_OF_UNITTEST_SHOW_PASS)) \
+ pr_err("pass %s():%i\n", __func__, __LINE__); \
+ else \
+ pr_debug("pass %s():%i\n", __func__, __LINE__); \
} \
failed; \
})
--
Frank Rowand <frank.rowand@xxxxxxxx>