report: allow test runners to inject arbitrary values
Per Ted's request, add to the test section reporting code the ability
for test runners to point to a file containing colon-separated key value
pairs. These key value pairs will be recorded in the report file as
extra properties.
Requested-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Zorro Lang <zlang@redhat.com>
Signed-off-by: Zorro Lang <zlang@kernel.org>
diff --git a/README b/README
index 1ca5064..4ee877a 100644
--- a/README
+++ b/README
@@ -268,6 +268,9 @@
this option is supported for all filesystems currently only -overlay is
expected to run without issues. For other filesystems additional patches
and fixes to the test suite might be needed.
+ - Set REPORT_VARS_FILE to a file containing colon-separated name-value pairs
+ that will be recorded in the test section report. Names must be unique.
+ Whitespace surrounding the colon will be removed.
______________________
USING THE FSQA SUITE
diff --git a/common/report b/common/report
index db15aec..23ddbb0 100644
--- a/common/report
+++ b/common/report
@@ -49,9 +49,19 @@
REPORT_VARS["${bdev_var}_ZONES"]="$(cat "$sysfs_bdev/queue/nr_zones" 2>/dev/null)"
}
+__import_report_vars() {
+ local fname="$1"
+
+ while IFS=':' read key value; do
+ REPORT_VARS["${key%% }"]="${value## }"
+ done < "$1"
+}
+
# Fill out REPORT_VARS with tidbits about our test runner configuration.
# Caller is required to declare REPORT_VARS to be an associative array.
__generate_report_vars() {
+ test "$REPORT_VARS_FILE" && __import_report_vars "$REPORT_VARS_FILE"
+
REPORT_VARS["ARCH"]="$(uname -m)"
REPORT_VARS["KERNEL"]="$(uname -r)"
REPORT_VARS["CPUS"]="$(getconf _NPROCESSORS_ONLN 2>/dev/null)"