summaryrefslogtreecommitdiffstats
path: root/tests/functions.sh
diff options
context:
space:
mode:
authorRuediger Meier2014-05-10 02:00:53 +0200
committerRuediger Meier2014-05-10 05:56:43 +0200
commiteac40eb009fe818040c8e3fc4af216bef58e15a5 (patch)
treebca2e189c7535de84230d7613a7f0313abbf472f /tests/functions.sh
parenttests: call ts_init_env as early as possible (diff)
downloadkernel-qcow2-util-linux-eac40eb009fe818040c8e3fc4af216bef58e15a5.tar.gz
kernel-qcow2-util-linux-eac40eb009fe818040c8e3fc4af216bef58e15a5.tar.xz
kernel-qcow2-util-linux-eac40eb009fe818040c8e3fc4af216bef58e15a5.zip
tests: allow test options to be overridden by env
Specially for automated builds the user may want to have some fine granulated influence like export TS_OPT_libmount_verbose="yes" export TS_OPT_ipcs_fake="yes" export TS_OPT_ipcs_limits2_fake="no" if <big endian> then export TS_OPT_hexdump_fake="yes" fi make check Even for interactive developers this could be useful for example to debug just one particuar test while having a regular run with stress: TS_OPT_script_verbose="yes" \ TS_OPT_script_memcheck="yes" \ ../tests/run.sh --parallel=256 --srcdir=.. --builddir=. --nonroot Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
Diffstat (limited to 'tests/functions.sh')
-rw-r--r--tests/functions.sh15
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/functions.sh b/tests/functions.sh
index e76408baf..0366f163b 100644
--- a/tests/functions.sh
+++ b/tests/functions.sh
@@ -97,6 +97,21 @@ function ts_log {
function ts_has_option {
NAME="$1"
ALL="$2"
+
+ # user may set options by env for a single test or whole component
+ # e.g. TS_OPT_ipcs_limits2_fake="yes" or TS_OPT_ipcs_fake="yes"
+ eval local env_opt_test=\$TS_OPT_${TS_COMPONENT}_${TS_TESTNAME}_${NAME}
+ eval local env_opt_comp=\$TS_OPT_${TS_COMPONENT}_${NAME}
+ if [ "$env_opt_test" = "yes" \
+ -o "$env_opt_comp" = "yes" -a "$env_opt_test" != "no" ]; then
+ echo "yes"
+ return
+ elif [ "$env_opt_test" = "no" \
+ -o "$env_opt_comp" = "no" -a "$env_opt_test" != "yes" ]; then
+ return
+ fi
+
+ # or just check the global command line options
echo -n $ALL | sed 's/ //g' | awk 'BEGIN { FS="="; RS="--" } /('$NAME'$|'$NAME'=)/ { print "yes" }'
}