[LTP] [RFC PATCH v3 2/5] tst_test.sh: Introduce TST_NO_DEFAULT_RUN
Petr Vorel
pvorel@suse.cz
Tue Apr 3 17:47:14 CEST 2018
TST_NO_DEFAULT_RUN is somehow similar to TST_NO_DEFAULT_MAIN. It's meant
to be used for libraries and tools using tst_test.sh. It helps to use
part of test framework functionality without wanting to run test.
Signed-off-by: Petr Vorel <pvorel@suse.cz>
---
testcases/lib/tst_test.sh | 100 +++++++++++++++++++++++-----------------------
1 file changed, 51 insertions(+), 49 deletions(-)
diff --git a/testcases/lib/tst_test.sh b/testcases/lib/tst_test.sh
index 78bd328a2..7cdaa1f7f 100644
--- a/testcases/lib/tst_test.sh
+++ b/testcases/lib/tst_test.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (c) Linux Test Project, 2014-2017
+# Copyright (c) Linux Test Project, 2014-2018
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -371,67 +371,69 @@ tst_run()
tst_do_exit
}
-if TST_TEST_PATH=$(which $0) 2>/dev/null; then
- if ! grep -q tst_run "$TST_TEST_PATH"; then
- tst_brk TBROK "Test $0 must call tst_run!"
+if [ -z "$TST_NO_DEFAULT_RUN" ]; then
+ if TST_TEST_PATH=$(which $0) 2>/dev/null; then
+ if ! grep -q tst_run "$TST_TEST_PATH"; then
+ tst_brk TBROK "Test $0 must call tst_run!"
+ fi
fi
-fi
-
-if [ -z "$TST_ID" ]; then
- filename=$(basename $0)
- TST_ID=${filename%%.*}
-fi
-export TST_ID="$TST_ID"
-
-if [ -z "$TST_TESTFUNC" ]; then
- tst_brk TBROK "TST_TESTFUNC is not defined"
-fi
-if [ -n "$TST_CNT" ]; then
- if ! tst_is_int "$TST_CNT"; then
- tst_brk TBROK "TST_CNT must be integer"
+ if [ -z "$TST_ID" ]; then
+ filename=$(basename $0)
+ TST_ID=${filename%%.*}
fi
+ export TST_ID="$TST_ID"
- if [ "$TST_CNT" -le 0 ]; then
- tst_brk TBROK "TST_CNT must be > 0"
+ if [ -z "$TST_TESTFUNC" ]; then
+ tst_brk TBROK "TST_TESTFUNC is not defined"
fi
-fi
-if [ -n "$TST_POS_ARGS" ]; then
- if ! tst_is_int "$TST_POS_ARGS"; then
- tst_brk TBROK "TST_POS_ARGS must be integer"
+ if [ -n "$TST_CNT" ]; then
+ if ! tst_is_int "$TST_CNT"; then
+ tst_brk TBROK "TST_CNT must be integer"
+ fi
+
+ if [ "$TST_CNT" -le 0 ]; then
+ tst_brk TBROK "TST_CNT must be > 0"
+ fi
fi
- if [ "$TST_POS_ARGS" -le 0 ]; then
- tst_brk TBROK "TST_POS_ARGS must be > 0"
+ if [ -n "$TST_POS_ARGS" ]; then
+ if ! tst_is_int "$TST_POS_ARGS"; then
+ tst_brk TBROK "TST_POS_ARGS must be integer"
+ fi
+
+ if [ "$TST_POS_ARGS" -le 0 ]; then
+ tst_brk TBROK "TST_POS_ARGS must be > 0"
+ fi
fi
-fi
-if [ -z "$LTPROOT" ]; then
- export LTPROOT="$PWD"
- export TST_DATAROOT="$LTPROOT/datafiles"
-else
- export TST_DATAROOT="$LTPROOT/testcases/data/$TST_ID"
-fi
+ if [ -z "$LTPROOT" ]; then
+ export LTPROOT="$PWD"
+ export TST_DATAROOT="$LTPROOT/datafiles"
+ else
+ export TST_DATAROOT="$LTPROOT/testcases/data/$TST_ID"
+ fi
-TST_ARGS="$@"
+ TST_ARGS="$@"
-while getopts ":hi:$TST_OPTS" tst_name; do
- case $tst_name in
- 'h') TST_PRINT_HELP=1;;
- *);;
- esac
-done
+ while getopts ":hi:$TST_OPTS" tst_name; do
+ case $tst_name in
+ 'h') TST_PRINT_HELP=1;;
+ *);;
+ esac
+ done
-shift $((OPTIND - 1))
+ shift $((OPTIND - 1))
-if [ -n "$TST_POS_ARGS" ]; then
- if [ -z "$TST_PRINT_HELP" -a $# -ne "$TST_POS_ARGS" ]; then
- tst_brk TBROK "Invalid number of positional paramters:"\
- "have ($@) $#, expected ${TST_POS_ARGS}"
- fi
-else
- if [ -z "$TST_PRINT_HELP" -a $# -ne 0 ]; then
- tst_brk TBROK "Unexpected positional arguments '$@'"
+ if [ -n "$TST_POS_ARGS" ]; then
+ if [ -z "$TST_PRINT_HELP" -a $# -ne "$TST_POS_ARGS" ]; then
+ tst_brk TBROK "Invalid number of positional paramters:"\
+ "have ($@) $#, expected ${TST_POS_ARGS}"
+ fi
+ else
+ if [ -z "$TST_PRINT_HELP" -a $# -ne 0 ]; then
+ tst_brk TBROK "Unexpected positional arguments '$@'"
+ fi
fi
fi
--
2.16.2
More information about the ltp
mailing list